]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Remove nested functions from USB iterators.
[grub2.git] / ChangeLog
CommitLineData
5fdbaed1
CW
12013-01-21 Colin Watson <cjwatson@ubuntu.com>
2
3 Remove nested functions from USB iterators.
4
5 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
6 (grub_usb_controller_iterate_hook_t): Likewise.
7 (grub_usb_iterate): Add hook_data argument.
8 (grub_usb_controller_iterate): Likewise.
9 (struct grub_usb_controller_dev.iterate): Likewise.
10
11 Update all implementations and callers.
12
4250985a
VS
132013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
16 margin when not needed.
17
7d8848f3
VS
182013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19
bc136973 20 Make color variables global instead of it being per-terminal.
7d8848f3
VS
21
222013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23
bc136973
VS
24 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
25 asterisk.
7d8848f3 26
ed12a003
CW
272013-01-21 Colin Watson <cjwatson@ubuntu.com>
28
29 Fix powerpc and sparc64 build failures caused by un-nesting memory
30 map iterators.
31
6a0db449
CW
322013-01-21 Colin Watson <cjwatson@ubuntu.com>
33
34 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
35 parameter declarations.
36
ccd86b21
VS
372013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
40
822b726b
VS
412013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
42
43 Improve spkmomdem reliability by adding a separator between bytes.
44
115c2cc1
CW
452013-01-21 Colin Watson <cjwatson@ubuntu.com>
46
47 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
48 an Acer registration utility with several sightings in the wild.
49 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
50
fc524edf
CW
512013-01-21 Colin Watson <cjwatson@ubuntu.com>
52
53 Remove nested functions from filesystem directory iterators.
54
55 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
56 (struct grub_fs.dir): Add hook_data argument.
57
58 Update all implementations and callers.
59
53d3e4e3
CW
602013-01-21 Colin Watson <cjwatson@ubuntu.com>
61
62 * docs/grub.texi (Multi-boot manual config): Fix typo for
63 "recommended".
64
c821711f
LL
652013-01-20 Leif Lindholm <leif.lindholm@arm.com>
66
67 * util/grub-mkimage.c (main): Postpone freeing arguments.output
68 until after its use in generate_image.
69
6a0debbd
CW
702013-01-20 Colin Watson <cjwatson@ubuntu.com>
71
72 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
73 initrd size to addr_min, since the initrd will be allocated after
74 this address.
75
f41e08db
AB
762013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
77
78 * conf/Makefile.common: Fix autogen rules to pass definition
79 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
80
77529e0f
LL
812013-01-20 Leif Lindholm <leif.lindholm@arm.com>
82
83 * include/grub/elf.h: Update ARM definitions based on binutils.
84
b879aa7b
VS
852013-01-20 Aleš Nesrsta <starous@volny.cz>
86
87 Split long USB transfers into short ones.
88
8eb8284d
AB
892013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
90
91 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
92 is interrupted by ESC.
93
08dad2dc
VS
942013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * util/grub-script-check.c (main): Uniform the error message.
97
6c724b85
CW
982013-01-20 Colin Watson <cjwatson@ubuntu.com>
99
100 Remove nested functions from ELF iterators.
101
25239370
CW
1022013-01-20 Colin Watson <cjwatson@ubuntu.com>
103
104 Remove nested functions from device iterators.
105
106 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
107 (grub_arc_iterate_devs): Add hook_data argument.
108 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
109 (struct grub_ata_dev.iterate): Add hook_data argument.
110 * include/grub/device.h (grub_device_iterate_hook_t): New type.
111 (grub_device_iterate): Add hook_data argument.
112 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
113 (struct grub_disk_dev.iterate): Add hook_data argument.
114 (grub_disk_dev_iterate): Likewise.
115 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
116 Likewise.
117 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
118 Likewise.
119 * include/grub/partition.h (grub_partition_iterate_hook_t): New
120 type.
121 (struct grub_partition_map.iterate): Add hook_data argument.
122 (grub_partition_iterate): Likewise.
123 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
124 (struct grub_scsi_dev.iterate): Add hook_data argument.
125
126 Update all callers.
127
6c0314d6
CW
1282013-01-20 Colin Watson <cjwatson@ubuntu.com>
129
130 Fix typos for "developer" and "development".
131
600dc5f1
VS
1322013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
133
134 Add license header to spkmodem-recv.c.
135
17334a6b
VS
1362013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
137
138 Rewrite spkmodem to use PIT for timing. Double the speed.
139
7d462559
VS
1402013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
141
142 Add new command pcidump.
143
b78d6c32
VS
1442013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
145
146 New terminal outputs using serial: morse and spkmodem.
147
34f71cb8
VS
1482013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
149
150 Improve bidi handling in entry editor.
151
4542e71b
VS
1522013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
155 argument to prevent name collision.
156
09fd6d82
CW
1572013-01-15 Colin Watson <cjwatson@ubuntu.com>
158
159 Remove nested functions from script reading and parsing.
160
161 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
162 getline_data argument, passed to getline.
163 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
164 getline_data argument, passed to grub_parser_split_cmdline.
165 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
166 lexerstate->getline_data to lexerstate->getline.
167 (grub_script_lexer_init): Add getline_data argument, saved in
168 lexerstate->getline_data.
169 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
170 argument, passed to grub_script_parse.
171 * grub-core/script/script.c (grub_script_parse): Add getline_data
172 argument, passed to grub_script_lexer_init.
173 * include/grub/parser.h (grub_parser_split_cmdline): Update
174 prototype. Update all callers to pass appropriate getline data.
175 (struct grub_parser.parse_line): Likewise.
176 (grub_rescue_parse_line): Likewise.
177 * include/grub/reader.h (grub_reader_getline_t): Add void *
178 argument.
179 * include/grub/script_sh.h (struct grub_lexer_param): Add
180 getline_data member.
181 (grub_script_parse): Update prototype. Update all callers to pass
182 appropriate getline data.
183 (grub_script_lexer_init): Likewise.
184 (grub_normal_parse_line): Likewise.
185
186 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
187 data argument.
188 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
189 static instead of nested. Rename to ...
190 (grub_parser_execute_getline): ... this.
191 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
192 data argument.
193 * grub-core/normal/main.c (read_config_file: getline): Make static
194 instead of nested. Rename to ...
195 (read_config_file_getline): ... this.
196 (grub_normal_read_line): Add unused data argument.
197 * grub-core/script/execute.c (grub_script_execute_sourcecode:
198 getline): Make static instead of nested. Rename to ...
199 (grub_script_execute_sourcecode_getline): ... this.
200 * util/grub-script-check.c (main: get_config_line): Make static
201 instead of nested.
202
d0d4b8a0
CW
2032013-01-15 Colin Watson <cjwatson@ubuntu.com>
204
205 Remove nested functions from memory map iterators.
206
207 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
208 argument, passed to hook.
209 * grub-core/kern/i386/coreboot/mmap.c
210 (grub_linuxbios_table_iterate): Likewise.
211 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
212 instead of nested.
213 (grub_machine_mmap_iterate): Add hook_data argument.
214 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
215 Add hook_data argument, passed to hook.
216 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
217 Likewise.
218 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
219 Likewise.
220 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
221 Likewise.
222 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
223 Likewise.
224 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
225 Likewise.
226 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
227 Likewise.
228 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
229 (grub_machine_mmap_iterate): Likewise.
230 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
231 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
232 prototype.
233 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
234 Remove NESTED_FUNC_ATTR from here and from all users.
235 (grub_mmap_iterate): Update prototype.
236 (grub_efi_mmap_iterate): Update prototype. Update all callers to
237 pass appropriate hook data.
238 (grub_machine_mmap_iterate): Likewise.
239
240 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
241 static instead of nested.
242 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
243 Rename to ...
244 (lsmmap_hook): ... this.
245 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
246 Likewise.
247 (grub_efiemu_mmap_fill: fill_hook): Likewise.
248 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
249 heap_init): Likewise.
250 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
251 Rename to ...
252 (mmap_iterate_hook): ... this.
253 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
254 Likewise.
255 * grub-core/lib/ieee1275/relocator.c
256 (grub_relocator_firmware_get_max_events: count): Likewise.
257 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
258 to ...
259 (grub_relocator_firmware_fill_events_iter): ... this.
260 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
261 hook): Likewise. Rename to ...
262 (grub_relocator_alloc_chunk_align_iter): ... this.
263 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
264 Rename to ...
265 (generate_e820_mmap_iter): ... this.
266 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
267 Rename to ...
268 (count_hook): ... this.
269 (grub_linux_boot: hook): Likewise. Rename to ...
270 (grub_linux_boot_mmap_find): ... this.
271 (grub_linux_boot: hook_fill): Likewise. Rename to ...
272 (grub_linux_boot_mmap_fill): ... this.
273 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
274 hook): Likewise. Rename to ...
275 (grub_fill_multiboot_mmap_iter): ... this.
276 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
277 hook): Likewise. Rename to ...
278 (count_hook): ... this.
279 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
280 hook): Likewise. Rename to ...
281 (grub_fill_multiboot_mmap_iter): ... this.
282 * grub-core/loader/powerpc/ieee1275/linux.c
283 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
284 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
285 Likewise. Rename to ...
286 (alloc_phys_choose): ... this.
287 (determine_phys_base: get_physbase): Likewise.
288 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
289 find_hook): Likewise.
290 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
291 (malloc_hook: count_hook): Likewise.
292 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
293 Likewise. Rename to ...
294 (lower_hook): ... this.
295 (grub_mmap_get_upper: hook): Likewise. Rename to ...
296 (upper_hook): ... this.
297 (grub_mmap_get_post64: hook): Likewise. Rename to ...
298 (post64_hook): ... this.
299 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
300 Likewise. Rename to ...
301 (lower_hook): ... this.
302 (grub_mmap_get_upper: hook): Likewise. Rename to ...
303 (upper_hook): ... this.
304 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
305 (grub_mmap_iterate: fill_hook): Likewise.
306 (fill_mask): Pass addr and mask within a single struct.
307 (grub_cmd_badram: hook): Make static instead of nested. Rename
308 to ...
309 (badram_iter): ... this.
310 (grub_cmd_cutmem: hook): Likewise. Rename to ...
311 (cutmem_iter): ... this.
312
22099030
VS
3132013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
316 delimit path in strings using quotes.
317 * util/getroot.c (grub_guess_root_devices): Likewise.
318 (grub_make_system_path_relative_to_its_root): Likewise.
319 * util/grub-probe.c (probe): Likewise.
320 * util/ieee1275/ofpath.c (find_obppath): Likewise.
321 (xrealpath): Likewise.
322
4a9950ec
VS
3232013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
324
325 Fix compilation with older compilers.
326
327 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
328 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
329 declarations.
330 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
331 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
332 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
333 identifier with b.
334 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
335 * include/grub/crypto.h: Add type defines.
336 * util/import_gcrypth.sed: Remove duplicate type defines.
337
adcc6020
VS
3382013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
339
340 New command list_trusted.
341
342 * grub-core/commands/verify.c (grub_cmd_list): New function.
343
a4528937
CW
3442013-01-13 Colin Watson <cjwatson@ubuntu.com>
345
346 * util/grub-mkimage.c (generate_image): Fix "size of public key"
347 info message.
348
ca3a7446
CW
3492013-01-13 Colin Watson <cjwatson@ubuntu.com>
350
351 Remove nested functions from PCI iterators.
352
353 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
354 passed to hook. Update all callers to pass appropriate hook data.
355 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
356 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
357 Remove NESTED_FUNC_ATTR from here and from all users.
358 (grub_pci_iterate): Update prototype.
359 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
360 instead of nested. Rename to ...
361 (grub_cs5536_find_iter): ... this.
362 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
363 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
364 Likewise.
365 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
366 Likewise.
367 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
368 Likewise.
369 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
370 Likewise.
371 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
372 * grub-core/video/radeon_fuloong2e.c
373 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
374 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
375 find_card): Likewise.
376 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
377 Likewise.
378
f8e98fee
VS
3792013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
380
381 * grub-core/commands/verify.c: Mark messages for translating.
382
055b36b6
VS
3832013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
386 fatal.
387
f7ff879b
VS
3882013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
391 fatal.
392
3932013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
394
395 * autogen.sh: Do not try to delete nonexistant files.
396 * util/import_gcrypth.sed: Add some missing header removals.
397
01323d49
CW
3982013-01-12 Colin Watson <cjwatson@ubuntu.com>
399
400 Clean up dangling references to grub-setup.
401 Fixes Ubuntu bug #1082045.
402
403 * docs/grub.texi (Images): Refer generally to grub-install rather
404 than directly to grub-setup.
405 (Installing GRUB using grub-install): Remove direct reference to
406 grub-setup.
407 (Device map) Likewise.
408 (Invoking grub-install): Likewise.
409 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
410 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
411 * util/grub-install.in (usage): Likewise.
412
413 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
414 Apply to grub-bios-setup and grub-sparc64-setup rather than to
415 grub-setup.
416 * configure.ac: Remove grub_setup output variable.
417
418 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
419 to grub-bios-setup.
420 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
421 grub-setup to grub-sparc64-setup.
422
5e3b8dcb
VS
4232013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
424
425 Import gcrypt public-key cryptography and implement signature checking.
426
535714bd
VS
4272013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * grub-core/fs/ntfs.c: Ue more appropriate types.
430 * grub-core/fs/ntfscomp.c: Likewise.
431 * include/grub/ntfs.h: Likewise.
432
3e4f3566
VS
4332013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
434
435 Support Apple FAT binaries on non-Apple platforms.
436
437 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
438 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
439 Likewise.
440 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
441 Apple FAT binaries.
442
4dedb13f
VS
4432013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
446 sector devices.
447
f8861eaf
CW
4482013-01-07 Colin Watson <cjwatson@ubuntu.com>
449
450 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
451 explicitly zeroing elements.
452 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
453 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
454 of elements in a structure already allocated using grub_zalloc.
455 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
456
86065b0a
CW
4572013-01-07 Colin Watson <cjwatson@ubuntu.com>
458
459 * docs/grub.texi (grub_cpu): New subsection.
460 (grub_platform): Likewise.
461
c6f1e92f
VS
4622013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
465
f797ec85
VS
4662013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
469 divisions.
470
033d0b4b
VS
4712013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
474 * grub-core/fs/ntfscomp.c: Likewise.
475 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
476 (grub_ntfs_comp): Likewise.
477
21d1b9a0
VS
4782013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
479
480 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
481 Rename to ...
482 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
483 of groups_per_block. All users updated.
484
10ca8645
VS
4852013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
488 grub_error properly.
489 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
490 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
491
a4c3ed4c
VS
4922013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
495 always in /boot/zfs.
496 Reported by: Yuta Satoh.
497
0b716507
YS
4982013-01-03 Yuta Satoh <nigoro>
499
500 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
501 ${grub_probe}
502
00c05e22
VS
5032013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * configure.ac: Extend -Wno-trampolines to host.
506
dadddb76
VS
5072013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
510 entry->len = 0.
511
54ce53ca
CW
5122013-01-03 Colin Watson <cjwatson@ubuntu.com>
513
514 * docs/grub.texi (Invoking grub-mkrelpath): New section.
515 (Invoking grub-script-check): Likewise.
516
8912efca
CW
5172013-01-03 Colin Watson <cjwatson@ubuntu.com>
518
519 * docs/grub.texi (Invoking grub-mount): New section.
520 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
521
c3fc8394
CW
5222013-01-02 Colin Watson <cjwatson@ubuntu.com>
523
524 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
525 test failures, so that a failing unit test correctly causes 'make
526 check' to fail.
527
45d26abb
CW
5282013-01-02 Colin Watson <cjwatson@ubuntu.com>
529
530 Fix failing printf test.
531
532 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
533 '$' in the correct order when collecting type information.
534
971dd2c6
CW
5352013-01-02 Colin Watson <cjwatson@ubuntu.com>
536
537 * docs/grub.texi (configfile): Explain environment variable
538 handling.
539 (source): New section.
540 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
541
5c67ea6c
CW
5422012-12-31 Colin Watson <cjwatson@ubuntu.com>
543
544 Remove several trivially-unnecessary uses of nested functions.
545
546 * grub-core/commands/i386/pc/sendkey.c
547 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
548 instead of nested.
549 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
550 Rename to ...
551 (legacy_file_getline): ... this.
552 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
553 Likewise.
554 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
555 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
556 to ...
557 (probe_dummy_iter): ... this.
558 * grub-core/kern/i386/coreboot/mmap.c
559 (grub_linuxbios_table_iterate: check_signature): Likewise.
560 * grub-core/kern/parser.c (grub_parser_split_cmdline:
561 check_varstate): Likewise. Mark inline.
562 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
563 an additional parameter.
564 (find_long: fnd_long): Likewise. Pass two additional parameters.
565 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
566 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
567 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
568 Likewise. Rename to ...
569 (grub_cmos_find_port_iter): ... this.
570 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
571 Rename to ...
572 (find_rtc_iter): ... this.
573
574 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
575 function directly into the function body, since it is only called
576 once.
577
33a68ac6
CW
5782012-12-30 Colin Watson <cjwatson@ubuntu.com>
579
580 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
581 __attribute__ ((unused)).
582 * grub-core/video/bochs.c (find_card): Likewise.
583 * grub-core/video/cirrus.c (find_card): Likewise.
584 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
585 * grub-core/video/sis315pro.c (find_card): Likewise.
586 * grub-core/video/sm712.c (find_card): Likewise.
587
608b647a
CW
5882012-12-28 Colin Watson <cjwatson@ubuntu.com>
589
590 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
591 Fixes Savannah bug #37821.
592
fd49ceb3
CW
5932012-12-28 Colin Watson <cjwatson@ubuntu.com>
594
595 Apply program name transformations at build-time rather than at
596 run-time. Fixes Debian bug #696465.
597
598 * acinclude.m4 (grub_TRANSFORM): New macro.
599 * configure.ac: Create output variables with transformed names for
600 most programs.
601 * util/bash-completion.d/grub-completion.bash.in: Use
602 pre-transformed variables for program names.
603 * util/grub-install.in: Likewise.
604 * util/grub-kbdcomp.in: Likewise.
605 * util/grub-mkconfig.in: Likewise.
606 * util/grub-mkconfig_lib.in: Likewise.
607 * util/grub-mknetdir.in: Likewise.
608 * util/grub-mkrescue.in: Likewise.
609 * util/grub-mkstandalone.in: Likewise.
610 * util/grub-reboot.in: Likewise.
611 * util/grub-set-default.in: Likewise.
612 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
613 * tests/util/grub-shell-tester.in: Remove unused assignment.
614 * tests/util/grub-shell.in: Likewise.
615 * util/grub.d/00_header.in: Likewise.
616
7024b3c0
CW
6172012-12-28 Colin Watson <cjwatson@ubuntu.com>
618
619 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
620
621 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
622 HAVE_RAW_DECL_GETS.
623 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
624
e3501b13
VS
6252012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
628 Reported by: Eriks Latosheks <foresterlv>.
629
b40c88a9
VS
6302012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * docs/grub.texi (Network): Update instructions on generating netboot
633 image.
634
ce96d01c
VS
6352012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
638 around device name if necessarry.
639
0f596201
PFS
6402012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
641
642 * util/grub-install.in: Follow the symbolic link parameter added
643 to the file command.
644
600d5bdb
AB
6452012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
646
647 * util/grub-install.in: Remove stale TODO.
648
64ebd2f4
PFS
6492012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
650
651 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
652 dynamic allocation for the bootpath buffer.
653
74b2fe3e
DTB
6542012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
655
656 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
657 window too small.
658
969b804f
VS
6592012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
662 argument rather than font name. All users updated.
663 (grub_gfxterm_set_window): Likewise.
664
b9f5ebd6
VT
6652012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
666
667 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
668 from working.
669
258f43b7
VS
6702012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * util/getroot.c (convert_system_partition_to_system_disk): Support
673 nbd disks.
674
cc1ce5f9
VS
6752012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
678 infinite loop on corrupted FS.
679
e77a16ca
VS
6802012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
681
682 Fix big-endian mtime.
683
684 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
685 together sec and usec.
686 (grub_ufs_dir): Use correct byteswapping for UFS time.
687
d9c48c7b
VS
6882012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
689
690 Support big-endian UFS1.
691
692 * Makefile.util.def (libgrubmods): Add ufs_be.c
693 * grub-core/Makefile.core.def (ufs1_be): New module.
694 * grub-core/fs/ufs_be.c: New file.
695 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
696 the file.
697
2f9f40ba
LL
6982012-11-28 Leif Lindholm <leif.lindholm@arm.com>
699
700 * include/grub/types.h: Fix functionality unaffecting typo in
701 GRUB_TARGET_WORDSIZE conditional macro.
702
48ff0889
PFS
7032012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
704
705 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
706
03711240
GS
7072012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
708
709 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
710 that /netbsd appears first (when it exists).
711
a31b11bd
CJ
7122012-10-12 Christoph Junghans <ottxor@gentoo.org>
713
714 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
715 Fixes Savannah bug #37558.
716
e8a5d5d4
CW
7172012-10-12 Colin Watson <cjwatson@ubuntu.com>
718
719 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
720 description of extract_entries_configfile.
721
7222012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
723
724 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
725 preferred_address.
726 (grub_cmd_linux): Likewise.
727 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
728 preferred_lifetime. Update all users.
729
288c757d
CW
7302012-09-26 Colin Watson <cjwatson@ubuntu.com>
731
732 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
733 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
734
0d35da3f
CW
7352012-09-26 Colin Watson <cjwatson@ubuntu.com>
736
737 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
738 errors from grub-probe to /dev/null, not stdout.
739
b78c3127
VS
7402012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
743 sector 1.
744
473959f0
CW
7452012-09-24 Colin Watson <cjwatson@ubuntu.com>
746
747 * util/grub-install.in: Make the error message if $source_dir
748 doesn't exist more useful.
749
794c8c33
CW
7502012-09-22 Colin Watson <cjwatson@ubuntu.com>
751
752 Fix grub-emu build on FreeBSD.
753
754 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
755 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
756 headers on Linux.
757 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
758 implementation is currently Linux-specific.
759 * util/getroot.c (exec_pipe): Define only on Linux or when either
760 libzfs or libnvpair is unavailable.
761 (find_root_devices_from_poolname): Remove unused path variable.
762
86d08fdb
CW
7632012-09-19 Colin Watson <cjwatson@ubuntu.com>
764
765 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
766 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
767 should fit before end == 63.
768
735abf54
CW
7692012-09-19 Colin Watson <cjwatson@ubuntu.com>
770
771 * util/grub-setup.c (write_rootdev): Remove unused core_img
772 parameter. Update all callers.
773 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
774 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
775 GRUB_SETUP_BIOS.
776
140acd3c
VS
7772012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * util/grub-mkconfig_lib.in (grub_tab): New variable.
780 (grub_add_tab): New function.
781 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
782 * util/grub.d/10_illumos.in: Likewise.
783 * util/grub.d/10_kfreebsd.in: Likewise.
784 * util/grub.d/10_linux.in: Likewise.
785 * util/grub.d/10_netbsd.in: Likewise.
786 * util/grub.d/10_windows.in: Likewise.
787 * util/grub.d/10_xnu.in: Likewise.
788 * util/grub.d/20_linux_xen.in: Likewise.
789 * util/grub.d/30_os-prober.in: Likewise.
790
7ddffdad
VS
7912012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
794 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
795 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
796 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
797 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
798 ieee1275-nocursor.
799 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
800 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
801
4e092454
VS
8022012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
805 le-conversion.
806 Reported by: BURETTE, Bernard.
807
735abf54 8082012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
809
810 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
811 from comment.
812
dfd39dbd
CW
8132012-09-14 Colin Watson <cjwatson@ubuntu.com>
814
815 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
816 IEEE1275 machines. Fixes powerpc-emu compilation.
817 * include/grub/terminfo.h: Likewise.
818
3bfa763c
VS
8192012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
822 a const pointer.
823 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
824 const pointer.
825 (efiemu_set_variable): Make vendor_guid a const pointer.
826
250e475b
VS
8272012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
828
829 Don't require grub-mkconfig_lib to generate manpages for programs.
830
831 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
832 dependencies, don't add grub-mkconfig_lib.
833 (program): Pass empty adddeps.
834 (script): Pass grub-mkconfig_lib as adddeps.
835
592fd0e4
VS
8362012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
837
838 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
839 * util/getroot.c (grub_find_device): Likewise.
840 (get_mdadm_uuid): Likewise.
841 (grub_util_is_imsm): Likewise.
842 (grub_util_pull_device): Likewise.
843 * util/grub-probe.c (probe): Likewise.
844
801a3027
BG
8452012-09-10 Benoit Gschwind <gschwind>
846
847 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
848 (devs): Add devpath_8.
849
c5052c81
PJ
8502012-09-08 Peter Jones <pjones@redhat.com>
851
852 * grub-core/Makefile.core.def (efifwsetup): New module.
853 * grub-core/commands/efi/efifwsetup.c: New file.
854 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
855 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
856 New define.
857 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
858
8e832f71
JS
8592012-09-05 Jiri Slaby <jslaby@suse.cz>
860
861 * configure.ac: Add SuSe path.
862
f0f55752
CW
8632012-09-05 Colin Watson <cjwatson@ubuntu.com>
864
865 * NEWS: Fix typo.
866
ecadc4c2
CW
8672012-09-05 Colin Watson <cjwatson@ubuntu.com>
868
869 * util/import_gcry.py: Sort cipher_files, to make build system
870 generation more deterministic.
871
64498f25
VS
8722012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
875 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
876 (grub_set_datetime): Likewise.
877
9cc836a2
VS
8782012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
881 warnings.
882
bcfcea01
VS
8832012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
884
885 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
886
a4099485
VS
8872012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
888
889 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
890
265c162a
CW
8912012-09-04 Colin Watson <cjwatson@ubuntu.com>
892
893 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
894 required for checkouts from bzr, but it may be useful for users or
895 distributors wishing to update translations against a tarball
896 distribution, and it can be helpful for the tarball to be a superset
897 of what's in bzr.
898
3d171e95
CW
8992012-09-04 Colin Watson <cjwatson@ubuntu.com>
900
901 * Makefile.am (EXTRA_DIST): Add
902 grub-core/tests/boot/linux.init-mips.S,
903 grub-core/tests/boot/linux.init-ppc.S, and
904 grub-core/tests/boot/linux-ppc.cfg.
905
f2c2503e
CW
9062012-09-04 Colin Watson <cjwatson@ubuntu.com>
907
908 * grub-core/mmap/mips/loongson: Remove empty directory.
909
9102012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
911
912 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
913 gone.
914
ab2163d5
CW
9152012-09-04 Colin Watson <cjwatson@ubuntu.com>
916
917 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
918 grub-sparc64-setup.
919
ce938140
GS
9202012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
921
922 * configure.ac: Strengthen the test for working -nostdinc -isystem.
923
529f58a5
GS
9242012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
925
926 * po/POTFILES.in: Regenerated.
927
16cf79e9
GS
9282012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
929
930 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
931 (NetBSD): New subsection.
932
39b27f1e 9332012-07-22 Ales Nesrsta <starous@volny.cz>
934
935 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
936 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
937
a885261b
VS
9382012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
939
940 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
941 * util/grub.d/10_hurd.in: Add missing quoting.
942 * util/grub.d/10_illumos.in: Likewise.
943 * util/grub.d/10_kfreebsd.in: Likewise.
944 * util/grub.d/10_linux.in: Likewise.
945 * util/grub.d/20_linux_xen.in: Likewise.
946
7bd29c01
VS
9472012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
948
949 New command `lsefi'.
950
951 * grub-core/Makefile.core.def (lsefi): New module.
952 * grub-core/commands/efi/lsefi.c: New file.
953 * include/grub/efi/api.h: Add more GUIDs.
954
ac625d8f
VS
9552012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
958 (grub_bsd_elf32_hook): Likewise.
959 (grub_bsd_elf64_size_hook): Likewise.
960 (grub_bsd_elf64_hook): Likewise.
961 (grub_bsd_load_elf): Likewise.
962
e73bb801
VS
9632012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
966 if hash function is unavailable.
967 (dec_stream_header): Likewise.
968
e81db8b5
VS
9692012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
970
971 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
972 filter state.
973
d187a1c3
VS
9742012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
975
976 Fix coreboot compilation.
977
978 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
979 (grub_vga_text_init_real): ... this.
980 (grub_vga_text_fini): Rename to ...
981 (grub_vga_text_fini_real): ... this.
982
91a05f64
VS
9832012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
986
6af96df7
VS
9872012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * grub-core/lib/legacy_parse.c: Support clear and testload.
990
4d569e12
VS
9912012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
992
993 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
994
073b57bb
VS
9952012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
996
997 * grub-core/fs/ext2.c: Experimental support for 64-bit.
998
a706f4cc
VS
9992012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/net/tftp.c (ack): Fix endianness problem.
1002 (tftp_receive): Likewise.
1003 Reported by: Michael Davidsaver.
1004
e7850aa9
VS
10052012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 * gentpl.py: Make mans depend on grub-mkconfig_lib.
1008
10092012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
1012 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
1013 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
1014
35692881
VS
10152012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
1018 efi_mmap_size.
1019 Reported by: Stuart Hayes.
1020
c35fc5bd
VS
10212012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
1024
1025 * grub-core/Makefile.core.def (mda_text): New module.
1026 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
1027 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
1028 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
1029 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
1030 here.
1031 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
1032 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
1033 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
1034 here.
1035 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
1036 to ..
1037 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
1038 ... here
1039 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
1040 here.
1041 * grub-core/term/i386/vga_common.c: Removed.
1042 * include/grub/i386/vga_common.h: Likewise.
1043 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
1044 (grub_vga_cr_bw_read): Likewise.
1045 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
1046 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
1047 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
1048 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
1049 grub_vga_cr_read/grub_vga_cr_write.
1050 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
1051
5f91f701
VS
10522012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 * configure.ac: Bump version to 2.00.
1055 * grub-core/normal/main.c (features): Add feature_200_final.
1056
0c4f85f6
VS
10572012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10582012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
1059
1060 * NEWS: Fix unclarity and language mistakes.
1061
f923ad22
VS
10622012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
1065 additional size to 3 pages.
1066 Reported by: Stuart Hayes.
1067
d22029ba
VS
10682012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * NEWS: Add 2.00 entry.
1071
58eee08f
VS
10722012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
1075 put explicit "/" for empty path.
1076 (wildcard_expand): Improve dprintf.
1077
c59bdff7
VS
10782012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
1081 it's equal to currnode. This can happen with "" symlink.
1082
5e6a440a
YB
10832012-06-27 Yves Blusseau <blusseau@zetam.org>
1084
1085 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
1086 echo shell command by printf command.
1087
73a68bcb
VS
10882012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
1091 the value returned by firmware is the maximal position, not diumension.
1092 (grub_terminfo_output_state): Use a more sane fallback.
1093
392a603b
VS
10942012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
1097
42d0867f
VS
10982012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
1101 frequency to 150 MHz.
1102
489509f4
VS
11032012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 Apple fixes.
1106
1107 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
1108 __APPLE_
1109 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
1110 definition.
1111 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
1112
9f3fc883
VS
11132012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 Handle slash in HFS label.
1116
1117 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
1118 (grub_hfs_dir): Tanslate slash.
1119 (grub_hfs_label): Don't translate slash.
1120
54853fd7
VS
11212012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
1124 network protocol listing since it introduces problematic dependency on
1125 net module.
1126
4dc02ddf
VS
11272012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
1130
c50c867d
VS
11312012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 Init video early on yeeloong to avoid being rebooted by watchdog.
1134
1135 * grub-core/Makefile.am (gensm712): New target.
1136 (sm712_start.S): Likewise.
1137 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
1138 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
1139 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
1140 description.
1141 * include/grub/vga.h: Move registry definitions to...
1142 * include/grub/vgaregs.h: ... here.
1143
5f92c8a1
VS
11442012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
1147 signedness.
1148
e9e6f111
VS
11492012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
1152 platforms with firmware disk drivers in the core.
1153
754ad9eb
VS
11542012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
1157 informative verbose message.
1158 (read_lv): Handle 64-bit segment size.
1159
315654c2
VS
11602012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
1163
fb022c79
VS
11642012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
1167 character but still remove trainling spaces.
1168 (grub_fat_label): Ignore archive flag.
1169
8645f72c
VS
11702012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
1173 cast between linux_kernel_header and linux_kernel_params.
1174
36498496
VS
11752012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
1178 type for size.
1179 (grub_raid6_recover_func_t): Likewise.
1180 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
1181 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1182
0b5ea6b8
VS
11832012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
1186
650cfcfe
GS
11872012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
1188
1189 Fix overflow.
1190
1191 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
1192 [__NetBSD__]: Add explicit cast before bitshift.
1193
8a4d6a44
VS
11942012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * configure.ac: Bump to 2.00~rc1.
1197
2fb97ed3
VS
11982012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
1201 half of $a0.
1202
1fa097dc
VS
12032012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12042012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
1205
1206 * docs/grub.texi: Fix search syntax.
1207 (Multi-boot manual config): Put msdos rather than GPT example.
1208 Grammar corrections.
1209
c890ba78
VS
12102012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
1213
0f92dca7
VS
12142012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
1217
3988c4a0
VS
12182012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
1221 message on double free. Put the value of magic in case of mismatch.
1222
9e86d4c5
VS
12232012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 Speed-up video on yeeloong.
1226
1227 * grub-core/video/sm712.c (framebuffer): Remove render_target and
1228 add cached_ptr.
1229 (grub_video_sm712_video_fini): Unmap cached_ptr.
1230 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
1231 (grub_video_sm712_set_active_render_target): Removed.
1232 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1233 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
1234 sync caches.
1235
ed24c312
VS
12362012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 Avoid flushing the same line multiple times on loongson.
1239
1240 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
1241 Step in 32 bytes and not 1 byte.
1242 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
1243 Likewise.
1244
d1718e7d
VS
12452012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
1248 subvolumes.
1249
982f1909
VS
12502012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 Implement flow control for http.
1253
1254 * grub-core/net/http.c (parse_line): Handle response 206.
1255 (http_receive): Stall if too many packets are in the queue.
1256 (http_establish): Fix range header.
1257 (http_seek): Fix double free.
1258 (http_close): Likewise.
1259 (http_packets_pulled): New function.
1260 (grub_http_protocol): Set http_seek
1261 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
1262 (ack_real): Set window depending on i_stall.
1263 (grub_net_send_tcp_packet): Likewise.
1264 (grub_net_tcp_stall): New function.
1265 (grub_net_tcp_unstall): Likewise.
1266 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
1267 (grub_net_tcp_unstall): Likewise.
1268
bd407d6e
VS
12692012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * grub-core/net/tftp.c: Decrease stall to 50 packets.
1272
c7564b8e
VS
12732012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
1276
a3706162
VS
12772012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * tests/util/grub-shell.in: Fix a typo.
1280
b27069e0
VS
12812012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 Implement flow control for tftp.
1284
1285 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
1286 packets but stop only if stop condition is satisfied.
1287 (grub_net_fs_read_real): Call packets_pulled after real read. Use
1288 `stall' instead of `eof' as stop condition.
1289 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
1290 (http_err): Likewise.
1291 * grub-core/net/tftp.c (ack): Replace the first argument with data
1292 instead of socket.
1293 (tftp_receive): Stall if too many packets are in wait queue.
1294 (tftp_packets_pulled): New function.
1295 (grub_tftp_protocol): Set packets_pulled.
1296 * include/grub/net.h (grub_net_packets): New field count.
1297 (grub_net_put_packet): Increment count.
1298 (grub_net_remove_packet): Likewise.
1299 (grub_net_app_protocol): New field `packets_pulled'.
1300 (grub_net): New field `stall'.
1301
6b9cfac6
VS
13022012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
1305 sync part to handle them.
1306
f35abd81
VS
13072012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
1310 * grub-core/net/drivers/ieee1275/ofnet.c
1311 (grub_ieee1275_net_config_real): Likewise.
1312
0e7ec820
VS
13132012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
1316 the direct route for server/gateway.
1317
9d611a31
VS
13182012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
1321 IP address to server name since we may not hame the DNS.
1322
418f45ab
VS
13232012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
1326 freeing random buffer on failure.
1327 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
1328
44a0efc1
VS
13292012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
1332
531e2241
VS
13332012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
1336 reserved bytes.
1337 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
1338 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
1339 Handle malloc error correctly.
1340
cde393c9
VS
13412012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
1344 blocks.
1345
538478d0
VS
13462012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
1349 increment.
1350
9b55efe0
VS
13512012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
1354 none is explicitly specified.
1355
9eb832c3
VS
13562012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
1359 while reallocating.
1360
d6b7c7c9
VS
13612012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 Respect netmask from bootp/dhcp.
1364
1365 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
1366 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
1367 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
1368 into ...
1369 (grub_net_add_ipv4_local): ... this.
1370 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
1371 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
1372 (grub_net_add_ipv4_local): New proto.
1373
67caf9eb
VS
13742012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
1377 determining EFI memory map size.
1378
43657558
VS
13792012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
1382
eb6d0dd3
VS
13832012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
1386 when looking for partition separator.
1387
31230544
VS
13882012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1389
1390 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1391 Escape commas.
1392
918a2517
VS
13932012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1394
1395 Restructure FAT driver to avoid hook in label reading as it hits a
1396 GCC bug.
1397
1398 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
1399 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
1400 (grub_fat_iterate_dir): Split into ...
1401 (grub_fat_iterate_init): ... this, ...
1402 (grub_fat_iterate_fini): ... this, ...
1403 (grub_fat_iterate_dir_next): ... and this. All users updated.
1404
9f1d654e
VS
14052012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1408 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
1409 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1410 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
1411 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
1412 New fields last_key and last_key_time.
1413 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
1414 extended key-esc into extended key-extended key.
1415
52f0f643
VS
14162012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 Avoid unnecessary memcpy of whole video buffer.
1419
1420 * grub-core/video/fb/video_fb.c (dirty): New struct.
1421 (framebuffer): Add members current_dirty and previous_dirty.
1422 (dirty): New function.
1423 (grub_video_fb_fill_rect): Update dirty.
1424 (common_blitter): Likewise.
1425 (grub_video_fb_scroll): Likewise.
1426 (doublebuf_blit_update_screen): Copy only dirty part.
1427 (doublebuf_pageflipping_update_screen): Likewise.
1428 (grub_video_fb_doublebuf_blit_init): Init dirty.
1429 (doublebuf_pageflipping_init): Likewise.
1430 (grub_video_fb_setup): Likewise.
1431
e169a180
VS
14322012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
1435 poll rate.
1436
48556879
VS
14372012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 Fix wildcard regexp dot and other special characters handling.
1440 Reported by: Robert Mabee.
1441
1442 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
1443 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
1444 (split_path): Trigger expansion on '?'.
1445 (unescape): New function.
1446 (wildcard_expand): Unescape parts copied without globbing.
1447 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
1448 (grub_script_arglist_to_argv): Don't unescape expansions.
1449
0494408e
VS
14502012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 * include/grub/net.h (grub_net_card): New member txbufsize.
1453 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
1454 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1455 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
1456 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
1457 txbufsize.
1458 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
1459 compatible property to check for macs. Set
1460 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1461 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
1462 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
1463 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
1464 (send_card_buffer): Use txbuf.
1465 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
1466 nested function out of the parent while on it.
1467
cc35fe8f
VS
14682012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
1471 presence check.
1472 (grub_ieee1275_net_config_real): Fix config pointer.
1473
970a0a09
VS
14742012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
1477 filename parsing to non-block devices.
1478
3e19bf87
VS
14792012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * grub-core/kern/device.c (grub_device_open): Remove dead code.
1482
c62d1a0c
VS
14832012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
1486 All users updated.
1487
ef76bec3
VS
14882012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
1491 UUID search command even if hints probing failed.
1492
14932012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
1494
1495 * po/POTFILES.in: Regenerated.
1496
70aaf305
VS
14972012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 Speed-up video on fuloong.
1500
1501 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
1502 New function.
1503 (grub_pci_device_unmap_range): Handle non-cached address.
1504 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
1505 add direct_ptr.
1506 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
1507 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
1508 (grub_video_sis315pro_set_active_render_target): Removed.
1509 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
1510 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1511 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
1512 sync caches.
1513 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
1514 New proto.
1515
10400f0b
VS
15162012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * docs/grub.texi (Multi-boot manual config): New section.
1519
ba67e2c6
VS
15202012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 Avoid slow read-back from VRAM.
1523
1524 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
1525 Move from here ...
1526 * grub-core/video/fb/video_fb.c
1527 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
1528 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
1529 (front_target): Remove front_target. Add pages.
1530 (grub_video_fb_init): Skip setting front_pages.
1531 (grub_video_fb_fini): Likewise.
1532 (doublebuf_blit_update_screen): Use pages.
1533 (grub_video_fb_doublebuf_blit_init): Likewise.
1534 (doublebuf_pageflipping_init): Allocate offscreen buffer.
1535 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
1536 (grub_video_fb_setup): Prefer doublebuffing.
1537
377c98cb
VS
15382012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
1541 gzio.
1542
eac49cff
VS
15432012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 Add loongson tests.
1546
1547 * tests/util/grub-shell.in: Handle loongson.
1548 * tests/partmap_test.in: Add loongson to the list of platform using ATA
1549 drivers.
1550 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
1551 Reboot instead of shutdown if REBOOT is defined.
1552
0321415e
VS
15532012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
1556 sized ports since unlike on real hardware qemu supports only 32-bit
1557 regs.
1558
3f2bdd8f
VS
15592012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 * Makefile.util.def (grub-mkrescue): Enable on loongson.
1562 * util/grub-mkrescue.in: Handle loongson.
1563
29a049c9
VS
15642012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
1567 Set is_part appropriately.
1568 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
1569 names. Canonicalize partition without full disk.
1570
4abde346
VS
15712012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 Revert usb-quiesce since it's wrong.
1574
1575 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
1576 (grub_ofdisk_init): Don't do quiesce.
1577
61f1d93b
VS
15782012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
1581 PowerMac workaround to Xserves as well.
1582 Information supplied by: Benjamin Herrenschmidt.
1583
a09eb541
VS
15842012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 Don't assume that beginning address is also the entry point on ppc.
1587
1588 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
1589 (grub_linux_boot): Use linux_entry.
1590 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
1591 (grub_linux_load64): Likewise.
1592
505b3c9b
VS
15932012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
1596
cbe0b4ef
VS
15972012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
1600 needlessly lose the console.
1601
3006e981
VS
16022012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
1605 space.
1606
4e5a96b0
VS
16072012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1608
7da036bb
VS
1609 Remove non-functional EFI grub_get_rtc. Put a better fatal message
1610 than current grub_get_rtc() not implemented when booted with
1611 coreboot without TSC.
1612
1613 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
1614 Add machine/time.h to kernel headers on loongson.
1615 * grub-core/Makefile.core.def (kernel): Remove
1616 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
1617 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
1618 (grub_get_rtc): Likewise.
1619 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
1620 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
1621 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
1622 * grub-core/kern/i386/tsc.c (grub_tsc_init)
1623 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
1624 rather than installing known non-working time source.
1625 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
1626 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
1627 * include/grub/time.h: Don't include machine/time.h.
1628 * include/grub/efi/time.h: Removed.
1629 * include/grub/i386/efi/time.h: Likewise.
1630 * include/grub/i386/ieee1275/time.h: Likewise.
1631 * include/grub/powerpc/ieee1275/time.h: Likewise.
1632 * include/grub/sparc64/ieee1275/time.h: Likewise.
1633 * include/grub/x86_64/efi/time.h: Likewise.
1634
16352012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
1638
1639 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
1640 value.
1641 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
1642 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
1643 with dotless variants when any combining above is present.
1644
5561c22d
VS
16452012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
1648 text and not binary.
1649
96f7e60e
VS
16502012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 Stop polling as soon as we have the packet we were waiting for.
1653
1654 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
1655 All users updated.
1656 * grub-core/net/arp.c (have_pending): New var.
1657 (pending_req): Likewise.
1658 (grub_net_arp_send_request): Fill pending_req and use have_pending as
1659 stop indicator.
1660 (grub_net_arp_receive): Set have_pending.
1661 * grub-core/net/dns.c (recv_data): New field stop.
1662 (recv_hook): Set stop.
1663 (grub_net_dns_lookup): Init stop and use as stop condition.
1664 * grub-core/net/http.c (http_establish): Use headers_recv as stop
1665 condition.
1666 * grub-core/net/net.c (grub_net_poll_cards): New argument
1667 stop_condition. Stop when it goes true.
1668 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
1669 indicator.
1670 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
1671
3e747239
VS
16722012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 Keep TX and RX buffers on EFI rather than always allocate new ones.
1675
1676 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
1677 card. All users updated.
1678 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
1679 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
1680 (get_card_packet): Likewise.
1681 (grub_efinet_findcards): Init new fields.
1682
f695e99a
VS
16832012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1684
1685 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
1686 compilation error on sparc64.
1687
9e5e66d1
VS
16882012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 Use ITC on IA64 rather than broken routine based on daytime.
1691
1692 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
1693 ia64.
1694 (grub_get_rtc) [__ia64__]: Likewise.
1695 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
1696 (get_itc): New function.
1697 (grub_rtc_get_time_ms): Likewise.
1698 (grub_machine_init): Calibrate ITC.
1699 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
1700 Keep only on non-ia64. Don't export since it's broken and used only
1701 if TSC is unavailable.
1702
a1767404
VS
17032012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
1706 even if it's used.
1707 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
1708 Skip if parent is unused.
1709
34b2bced
VS
17102012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
1713
5e619f40
VS
17142012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 Fix wildcard escaping.
1717
1718 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
1719 * grub-core/script/execute.c (wildcard_escape): .. to here.
1720 Don't escape dot.
1721 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
1722 * grub-core/script/execute.c (wildcard_unescape): .. to here.
1723 Don't escape dot.
1724 * grub-core/script/execute.c (gettext_append): Always escape.
1725 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
1726 * grub-core/script/yylex.l: Don't cut away the escaping.
1727 * tests/grub_script_echo1.in: Add tests with wildcard.
1728
c8ca5855
VS
17292012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
1732 (ftdi_hw_configure): Likewise.
1733 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
1734 define.
1735 (real_config): Handle 1.5 stop bits.
1736 (pl2303_hw_configure): Likewise.
1737
7183452c
VS
17382012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * Makefile.am: Add ppc linux bootcheck.
1741 * grub-core/tests/boot/linux-ppc.cfg: New file.
1742 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
1743
f57c84cd
VS
17442012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 * tests/grub_script_expansion.in: Skip network protocols.
1747
ecfc6207
VS
17482012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
1751
8d03d284
VS
17522012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
1755 --rom-directory.
1756 Add -graft-points.
1757
61c42af0
VS
17582012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 ESCC serial driver for conducting sautomated tests in qemu.
1761 Not tested on real hardware.
1762
1763 * include/grub/serial.h (grub_serial_port): New field escc_desc.
1764 * grub-core/term/ieee1275/escc.c: New file.
1765 * grub-core/Makefile.core.def (escc): New module.
1766
08fd1291
VS
17672012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
1770 invalid on error.
1771 (serial_hw_fetch): Don't read invalid handle.
1772 (serial_hw_put): Don't write into invalid handle.
1773
08dafeea
VS
17742012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 Add a 1.5 stop bits value.
1777
1778 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
1779 * include/grub/serial.h (grub_serial_stop_bits_t): Add
1780 GRUB_SERIAL_STOP_BITS_1_5.
1781
9068fdcf
VS
17822012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
1785 value rather than let it uninited.
1786
f4d5820f
VS
17872012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 * grub-core/commands/wildcard.c (+check_file): New function.
1790 (wildcard_expand): Don't expand to non-existing files, expand with
1791 suffix and not attempt to expand if not needed.
1792
3d2de9a7
VS
17932012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
1796 out of partitions containing other partitions.
1797
c5c81ff9
VS
17982012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
1801 on some qemu versions with GRUB.
1802
1803 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
1804 define.
1805 (grub_openbsd_bootarg_pcibios): New struct.
1806 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
1807 Add PCIINFO.
1808
08a14e0b
VS
18092012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * tests/util/grub-shell.in: Trim firmware output on EFI.
1812
cede3ca3
VS
18132012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
1816 and coreboot since it's already in kernel.
1817
558d3a60
VS
18182012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
1821 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1822 to here. New return value start. All users updated.
1823 Recursively scan linear mappings.
1824 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
1825 proto.
1826 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1827 Use grub_util_get_dm_node_linear_info.
1828 * util/getroot.c (convert_system_partition_to_system_disk): Use
1829 grub_util_info rather than grub_dprintf.
1830 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
1831
60fde14d
VS
18322012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1835
1836 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1837 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1838
24bd8838
VS
18392012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * include/grub/types.h (grub_set_unaligned64): New function.
1842 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1843 (setup): Likewise.
1844
7bc06a49
VS
18452012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1848 (grub_ofdisk_fini): Quiesce USB devices.
1849
49cea015
VS
18502012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1853 caches.
1854
8dcbe03b
VS
18552012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1858
5b258735
VS
18592012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 * grub-core/disk/pata.c (grub_pata_pio_read)
1862 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1863 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1864
37ba07eb
VS
18652012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 Extend automated tests to qemu-mips.
1868
1869 * Makefile.am: reorganise tests and enable qemu-mips.
1870 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1871 * grub-core/tests/boot/linux.init-mips.S: New file.
1872 * tests/partmap_test.in: Handle ata0 disks.
1873 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1874 non-pc i386.
1875
070038f8
VS
18762012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1879 ia64.
1880 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1881 quotes while on it.
1882
004be2cd
VS
18832012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1886 (grub_halt): Likewise.
1887 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1888
b1622487
VS
18892012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * grub-core/term/serial.c (grub_serial_register)
1892 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1893 the behaviour in line with x86 platforms.
1894
b7b4ab33
VS
18952012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1898 (grub_ata_strncpy): Likewise.
1899 (grub_ata_identify): Add missing byteswaps.
1900
5e3535ae
VS
19012012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1904 byte-swap.
1905 (screen_read_char): Likewise.
1906 (grub_vga_text_cls): Likewise.
1907
c21b17e6
VS
19082012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1911 filenames.
1912 (make_file_path): Likewise.
1913
bf293dec
VS
19142012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1917 machines.
1918 Tested by: Paulo Flabiano Smorigo.
1919 Crucial information about API supplied by: Coleen <Last name unknown>.
1920 Reviewed by: Coleen <Last name unknown>.
1921
81f6ef0e
VS
19222012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * util/grub-mkimage.c: Disable -Wcast-align.
1925
7284143a
VS
19262012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1929 as they are fatal.
1930
b99f3e00
VS
19312012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1934
944f752d
VS
19352012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * util/grub-probe.c (escape_of_path): Fix double free.
1938
6cce6f38
VS
19392012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * grub-core/commands/videoinfo.c (hook): Show pitch.
1942
1e1eb50e
VS
19432012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1946
1c715b5a
VS
19472012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1950 (probe): Add ieee1275 to OFW devices.
1951
007ae52d
VS
19522012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1955
4557a36d
VS
19562012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 Handle IBM OFW path.
1959
1960 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1961 available.
1962 (of_path_of_scsi): Handle vdevice.
1963
efbeefe9
VS
19642012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1967 Allocate in multiples of 16 to avoid adding a few bytes free region the
1968 windows bugs upon.
1969
15a940bb
VS
19702012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1973 Allocate in multiples of 16 to avoid adding a few bytes free region the
1974 windows bugs upon.
1975 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1976
6e5efd60
VS
19772012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
1980 resolutions.
1981 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
1982 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
1983
0d3d137e
IS
19842012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
1985
1986 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
1987
45dbe300
VS
19882012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
1991 resulted in \\ at the end of the line.
1992
6d8db947
VS
19932012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
1996 (grub_parser_cmdline_state): Likewise.
1997 (grub_parser_split_cmdline): Likewise.
1998
de89d338
VS
19992012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
2002 /dev/root and /dev/dm-*.
2003
00d41dee
VS
20042012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
2007 fix partially stale display.
2008
f95d1f11
VS
20092012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2010
2011 * grub-core/normal/menu_entry.c (backward_char): Use right line for
2012 substraction.
2013
6297e197
VS
20142012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
2017 Fix MBR remapping workaround.
2018 (grub_util_biosdisk_read) [__linux__]: Likewise.
2019
8a7ecad3
VS
20202012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * util/grub-install.in: Check for ieee1275 and not ieee1276.
2023
2b34f944
VS
20242012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * configure.ac: Bump to beta6.
2027
684aef11
CW
20282012-05-31 Christer Weinigel <christer@weinigel.se>
2029
2030 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
2031
05b0bb91
VS
20322012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
2035 (grub_cmd_linux): Likewise.
2036
bda36bfa
CW
20372012-05-31 Christer Weinigel <christer@weinigel.se>
2038
2039 Fix EHCI low-speed.
2040
2041 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
2042 (GRUB_EHCI_MULT_TWO): Likewise.
2043 (GRUB_EHCI_MULT_THREE): Likewise.
2044 (GRUB_EHCI_CMASK_MASK): New enum value.
2045 (GRUB_EHCI_SMASK_MASK): Likewise.
2046 (GRUB_EHCI_CMASK_OFF): Likewise.
2047 (GRUB_EHCI_SMASK_OFF): Likewise.
2048 (grub_ehci_pci_iter): Enable periodic schedule.
2049 (grub_ehci_parse_notrun): Likewise.
2050 (grub_ehci_restore_hw): Likewise.
2051 (grub_ehci_setup_qh): Set flags for low speed transfers.
2052 (grub_ehci_find_qh): Use periodic list for low speed.
2053 (grub_ehci_setup_transfer): Check periodic queue as well.
2054 (grub_ehci_check_transfer): Likewise.
2055 (grub_ehci_cancel_transfer): Cancel periodic transfer.
2056
e12bcb1c
PFS
20572012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2058
2059 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
2060 parameter is used.
2061
bcc75fb3
PJ
20622012-05-31 Peter Jones <pjones@redhat.com>
2063
2064 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
2065 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
2066 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
2067
f19cb95e
VS
20682012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
2071 uninited variable. Allocate at least setup_sects.
2072
a4e5ca80
VS
20732012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 Fix handling of EFI with big memory maps.
2076
2077 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
2078 (real_mode_mem): Likewise.
2079 (real_mode_target): Likewise.
2080 (real_mode_pages): Likewise.
2081 (prot_mode_pages): Likewise.
2082 (linux_params): New var.
2083 (linux_cmdline): Likewise.
2084 (free_pages): Don't set real mode variables.
2085 (allocate_pages): Don't allocate real mode memory.
2086 (grub_e820_add_region): Remove the limit.
2087 (grub_linux_boot): Allocate and copy real mode memory.
2088 (grub_linux_unload): Free linux_cmdline.
2089 (grub_cmd_linux): Use temporary storage for parameters.
2090 (grub_cmd_initrd): Likewise.
2091 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
2092 (linux_kernel_params): Make it 1K big.
2093
ddb73558
VS
20942012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * Makefile.util.def: Remove -Wno-format.
2097 * grub-core/Makefile.core.def: Likewise.
2098
1c4afb60
VS
20992012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * tests/cmp_unit_test.c: Add missing failure message.
2102 * tests/example_unit_test.c: Likewise.
2103 * tests/printf_unit_test.c: Likewise.
2104
941e3a6d
VS
21052012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
2108 relaxation of protective MBR requirements.
2109
b105df76
VS
21102012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * configure.ac: Add condition for COND_HOST_XNU.
2113 * Makefile.util.def (10_xnu): New script.
2114 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
2115
84e1569e
VS
21162012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
2119 objconv bug.
2120
130c0f77
VS
21212012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
2124 Binary on other platforms stays identical.
2125
6fd0b143
VS
21262012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2127
2128 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
2129 Apple.
2130
0af1751d
VS
21312012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
2134
176d5f7d
VS
21352012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
2138 rather than defining size_t ourselves to avoid conflict.
2139
7de5e20a
VS
21402012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
2143 initialisation to avoid __bzero reference.
2144
f7143efe
VS
21452012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
2148 version.
2149 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
2150 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
2151 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
2152 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
2153 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
2154
e6ad0555
VS
21552012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
2158 * grub-core/kern/misc.c: Likewise.
2159 * grub-core/loader/i386/xnu.c: Likewise.
2160 * include/grub/i386/tsc.h: Likewise.
2161 * include/grub/symbol.h: Likewise.
2162
4a5a3c4a
VS
21632012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
2166 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
2167 on older compiler.
2168
037f6d90
VS
21692012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2172 Implement Apple flavour.
2173 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
2174
f7194551
VS
21752012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
2178 (memmove) [__APPLE__]: Likewise.
2179 (memcpy) [__APPLE__]: Likewise.
2180 (memset) [__APPLE__]: Likewise.
2181 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
2182 (memmove) [__APPLE__]: Likewise.
2183 (memcpy) [__APPLE__]: Likewise.
2184 (memset) [__APPLE__]: Likewise.
2185
85a730ca
VS
21862012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
2189 dependency discard.
2190
40e80b94
VS
21912012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/normal/main.c (read_config_file): Provide config_file and
2194 config_directory.
2195 * util/grub.d/41_custom.in: Use config_directoy when available.
2196
9da59c32
VS
21972012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
2200 (grub_bfs_dir): Likewise.
2201
2787ae53
PJ
22022012-05-27 Peter Jones <pjones@redhat.com>
2203
2204 The old code gives arguments to a printf function which can't work
2205 correctly, and the compiler complains.
2206
2207 * grub-core/tests/example_functional_test.c (example_test): Add
2208 missing text.
2209 * grub-core/tests/lib/test.c (add_failure): Rewrite.
2210 * include/grub/test.h (grub_test_assert_helper): New declaration.
2211 (grub_test_assert): Use grub_test_assert_helper.
2212
526ef13d
VS
22132012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
2216 (exfctest): ... this to avoid overlong filenames.
2217 All users updated.
2218
20dd511c
VS
22192012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 Handle "." and ".." on squashfs.
2222
2223 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
2224 Make inode numbers into stack.
2225 (grub_squash_read_symlink): Use stack.
2226 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
2227 (make_root_node): Fill stack.
2228 (grub_squash_open): Use stack.
2229
1d80c62a
VS
22302012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
2233 freeing.
2234
d336f652
VS
22352012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
2238 stderr on test calls.
2239
8b43f587
VS
22402012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
2243
80a3dc3f
VS
22442012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
2247
47e297d4
VS
22482012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
2251 "..".
2252
df042ccb
VS
22532012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
2256 (grub_hfsplus_iterate_dir): Add "." and "..".
2257
fc977f48
VS
22582012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * grub-core/fs/cpio.c (canonicalize): Handle "..".
2261 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
2262
f3250e5f
VS
22632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
2266 (find_path): Handle "." and "..".
2267
fd8ed4c5
VS
22682012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
2271 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
2272 (grub_affs_iterate_dir): Handle hardlinks.
2273
4ce776d2
MG
22742012-05-26 Matthew Garrett <mjg@redhat.com>
2275
2276 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
2277 (grub_efi_console_fini): Likewise.
2278 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
2279 (grub_video_gop_fill_mode_info): Rename to ...
2280 (grub_video_gop_fill_real_mode_info): ... this.
2281 (grub_video_gop_fill_mode_info): New function.
2282 (grub_video_gop_setup): Setup double framebuffer.
2283 (grub_video_gop_get_info_and_fini): Use original framebuffer.
2284 Free offscreen.
2285 (grub_video_gop_swap_buffers): Copy framebuffer.
2286 (grub_video_gop_fini): Free offscreen buffer.
2287 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
2288 New enum.
2289 (grub_efi_gop_blt_pixel): New struct.
2290
683031ba
VS
22912012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * gentpl.py: Remove error disabling for objconv.
2294
c2deb798
VS
22952012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * configure.ac: Remove -Wunitialized as it's not available on older
2298 compilers.
2299
23002012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
2301
2302 Fix extent overflow comparator.
2303
2304 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
2305 (grub_hfsplus_read_block): Set type.
2306 (grub_hfsplus_cmp_extkey): Compare type.
2307
d6b1fd36
VS
23082012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
2311
0a9aa0f6
VS
23122012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
2315 than 0.
2316
8360e159
VS
23172012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
2320 (dejavu_bold_14.pf2): New target.
2321
501b9e4b
VS
23222012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * configure.ac: Fix djvu font detection.
2325
7026b0e2
VS
23262012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
2329 ext* instead of ext2.
2330
c2a51ade
VS
23312012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
2334 name with \0.
2335
8f803a5d
JU
23362012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
2337
2338 * docs/grub-dev.texi: Remove dot from .png.
2339
13c6353f
VS
23402012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
2343 protective entry in any slot.
2344 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
2345 if protective entry is found in any slot.
2346
2347 Protective entry in non-first slot make no sense but is a widespread
2348 brain damage.
2349
4cf6be1b
VS
23502012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
2353
937d1c44
VS
23542012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
2357 with old reiserfs.
2358 (grub_reiserfs_open): Don't free root.
2359
021d90ec
VS
23602012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
2363 after freeing for safety.
2364
967b2b64
VS
23652012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
2368 Reported by: Jordan Uggla.
2369
34274d02
JU
23702012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
2371
967b2b64
VS
2372 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
2373 actual implementation. Specifically, clarify that the grub menu will
2374 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
2375 passed.
34274d02 2376
dcaaae9d
BH
23772012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
2378
2379 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
2380 of r0.
2381
7086ad52
VS
23822012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 Remove unjustified hard dependency of normal.mod on gfxterm.
2385
2386 * include/grub/term.h (grub_term_output): New member fullscreen.
2387 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
2388 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
2389 (grub_gfxterm): Set .fullscreen.
2390 * grub-core/normal/menu.c (menu_init): Use fullscreen.
2391 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
2392
37ed2c9b
VS
23932012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
2396 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 2397 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 2398
a4469c88
VS
23992012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
2402
4e461486
VS
24032012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2406 a bad FS.
2407
aa78f5c4
VS
24082012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
2411 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
2412
197626b5
VS
24132012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
2416 (grub_jfs_mount): Fill caseins.
2417 (grub_jfs_find_file): Respect caseins.
2418
8ad3f28c
VS
24192012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
2422 through UTF-16.
2423
0c6c324e
VS
24242012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
2427 New argument origpath. All users updated.
2428
c6666ba6
VS
24292012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
2432 (read_attr): Ensure that we read start of possibly compressed block.
2433
e28e5fe5
VS
24342012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
2437 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
2438 All users updated.
2439
5fc23ab2
VS
24402012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
2443 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
2444 (dejavu.pf2): Replace with ...
2445 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
2446 this.
2447
79dbc21c
VS
24482012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * util/grub.d/20_linux_xen.in: Add missing line.
2451
d2fcfb0c
VS
24522012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
2455 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
2456 (grub_utf16_to_utf8): Likewise.
2457
5560e9d6
VS
24582012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
2461 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
2462 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2463 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
2464 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2465 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
2466
24672012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
2468
2469 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2470 a bad FS.
2471
5560e9d6 24722012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
2473
2474 * grub-core/fs/udf.c (read_string): Bail out on size=0.
2475 (grub_udf_read_symlink): Handle read_string failure.
2476
5eae3175
VS
24772012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
2480 comment.
2481
c1ad82db
VS
24822012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 Fix handling of UDF symlinks.
2485
2486 * grub-core/fs/udf.c (read_string): New argument outbuf.
2487 All users updated.
2488 (grub_ufs_read_symlink): Rename to ...
2489 (grub_udf_read_symlink): ... this. All users updated.
2490 Handle symlinks with more than one component.
2491
33eca6e0
VS
24922012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
2495 symlinks. Replace leading colon with a slash.
2496
57f4a70b
VS
24972012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
2500 filename.
2501
38c8ee20
VS
25022012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
2505 match in inner node.
2506
2e57f28f
VS
25072012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
2510 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
2511 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
2512 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
2513 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
2514 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
2515 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
2516 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
2517 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
2518
fe8c2f11
VS
25192012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 Use grub-probe and not cmp to check that disk is empty.
2522
2523 * util/grub-install.in: Use grub-probe for zero-check.
2524 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
2525 (probe): Handle PRINT_ZERO_CHECK.
2526 (argp_parser): Handle -t zero_check.
2527
25282012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
2529
2530 Flush block cache on adding disk to device map.
2531
2532 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
2533 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
2534 adding.
2535 (read_device_map): Likewise.
2536 (open_device): Flush on opening.
2537
690434e8
VS
25382012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
2541 (handle_symlink): Fix off-by-one error.
2542 Canonicalize the target.
2543 (grub_cpio_dir): Canonicalize the name.
2544 Fix memory leak.
2545 Set directory.
2546 (grub_cpio_open): Canonicalize the name.
2547
742d2be6
VS
25482012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
2551 handling.
2552
3244fe96
VS
25532012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2554
2555 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
2556 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
2557
8aeb1837
VS
25582012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
2561 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 2562 All users updated.
8aeb1837 2563
9133fd05
VS
25642012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
2567 counterpart.
2568
6d521c5b
VS
25692012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 Fix UFS1 big file support.
2572
2573 * grub-core/fs/ufs.c (INODE): Removed.
2574 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
2575 64-bit.
2576 (INODE_MODE): Simplify.
2577 (grub_ufs_inode): Use uint64_t for size and not int64_t.
2578 (grub_ufs_lookup_symlink): Don't use INODE.
2579
21b82e17
VS
25802012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 Fix minixfs with non-power-of-two blocks since it's supported by minix.
2583
2584 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
2585 (grub_minix_data): Replace log_block_size with block_size.
2586 (grub_minix_read_file): Use block_size but avoid 64-bit division.
2587 (grub_minix_mount): Fill block_size.
2588
25892012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
2590
2591 * configure.ac: Bump to beta5.
2592
f417ed04
VS
25932012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 Fix wrapped HFS+ handling.
2596
2597 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
2598 blocks_start. All users updated.
2599 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
2600 wrapping offset.
2601 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
2602
607d282b
VS
26032012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 Fix long symlinks on reiserfs.
2606
2607 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
2608 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
2609 (grub_reiserfs_iterate_dir): Save size for non-directories.
2610 (grub_reiserfs_open): Don't reread stat block as we already know the
2611 size.
2612 (grub_reiserfs_read): Split into...
2613 (grub_reiserfs_read_real): ... and ...
2614 (grub_reiserfs_read): ...this.
2615
ae16024d
VS
26162012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 Fix non-indexed JFS.
2619
2620 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
2621 (grub_jfs_data): New field namecomponentlen.
2622 (grub_jfs_mount): Fill namecomponentlen.
2623 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
2624
eea1e26e
VS
26252012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
2628 * tests/grub_script_echo1.in: Add tests.
2629
df760f77
VS
26302012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * util/grub-install.in: Ignore empty devicetree directory.
2633
5efb817d
B
26342012-05-08 Bean <bean123ch@gmail.com>
2635
2636 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
2637 All users updated.
2638 (free_rsm): Free header as well.
2639 (free_old_fragments): Fix memory leak.
2640 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
2641 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
2642 (destroy_pq): Likewise.
2643 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2644
668ea6d2
VS
26452012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
2648 resulting hash as a precaution.
2649
1739b1fe
VS
26502012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
2653 '_' in variable names.
2654 * grub-core/net/net.c (grub_net_network_level_interface_register):
2655 Likewise.
2656
6ae485aa
VS
26572012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 Fix AFFS with non-512B blocks.
2660
2661 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
2662 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
2663 (grub_affs_data): Replace blocksize with log_blocksize.
2664 (grub_affs_read_block): Fix non-512B blocks.
2665 (grub_affs_read_symlink): Likewise.
2666 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
2667 (grub_affs_read): Fix non-512B blocks.
2668 (grub_affs_label): Likewise.
2669 (grub_affs_mtime): Likewise.
2670 (grub_affs_mount): Fix block detection routine.
2671
d20fab84
VS
26722012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 Add filesystem mtime to AFFS.
2675
2676 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
2677 (aftime2ctime): New function.
2678 (grub_affs_dir): Use aftime2ctime.
2679 (grub_affs_label): Fix return value.
2680 (grub_affs_mtime): New function.
2681 (grub_affs_fs): Add mtime.
2682
e87b10f5
VS
26832012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
2686 UTF-8.
2687
7dceec9b
VS
26882012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
2691 UTF-8.
2692
2f48221f
VS
26932012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
2696
dacd85cf
VS
26972012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
2700 flags.
2701 (FLAGS_CASE_SENSITIVE): New enum value.
2702 (cache_entry): New struct.
2703 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
2704 cache_size and cache.
2705 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
2706 Add log_blocksize and fshelp_flags.
2707 (grub_sfs_read_extent): Handle non-512 blocks.
2708 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
2709 (grub_sfs_read_file): Handle non-512 blocks.
2710 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
2711 fshelp_flags.
2712 (grub_sfs_read_symlink): Handle non-512 blocks.
2713 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
2714 (grub_sfs_dir): Free cache.
2715 (grub_sfs_close): Likewise.
2716
24e9a854
VS
27172012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
2720 filesystems.
2721
62ace64d
VS
27222012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
2725
83b2e89c
VS
27262012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
2729
75ccaea3
VS
27302012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
2733 (grub_sfs_read_extent): Likewise.
2734 (grub_sfs_read_block): Likewise.
2735 (grub_sfs_mount): Likewise.
2736 (grub_sfs_iterate_dir): Likewise.
2737 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
2738 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2739
1b8463f2
VS
27402012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 Fix errors on compressed NTFS with 512B clusters.
2743
2744 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
2745 types.
2746 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
2747 not 0.
2748 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
2749 Relax check for inline extents.
2750 (ntfscomp): Return correct -1 on error and not 0.
2751
4f8e368f
VS
27522012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * util/grub-install.in: Fix handling of prefix containing spaces.
2755
6f5d5ee8
VS
27562012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
2759 (grub_squash_read_data): Fix offset byte-swapping.
2760
ce41ab7a
VS
27612012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
2764 per common usage and preffered in several parts of code.
2765 (grub_memcmp): Likewise.
2766 (grub_strncmp): Likewise.
2767 * include/grub/misc.h (grub_strcasecmp): Likewise.
2768 (grub_strncasecmp): Likewise.
2769 * Makefile.util.def (cmp_test): New test.
2770 (grub_script_strcmp): Likewise.
2771 * tests/cmp_unit_test.c: New file.
2772 * tests/grub_script_strcmp.in: Likewise.
2773 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2774
49717bf4
VS
27752012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * include/grub/pci.h: Move enums into no-asm part.
2778
0a308f64
VS
27792012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
2782
1796965f
ST
27832012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2784
2785 * util/getroot.c (find_hurd_root_device): Try to make error message
2786 and comments to translators clearer.
2787
4e9b2819
VS
27882012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
2791
076aeb50
VS
27922012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
2795 btrfs.
2796
19424d94
VS
27972012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * docs/grub.cfg: Update.
2800
ebb73076
VS
28012012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 * docs/grub.texi (PXE): Remove not present variables.
2804
9a1b669c
VS
28052012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * grub-core/net/net.c (defserver_set_env): New function.
2808 (defserver_get_env): Likewise.
2809 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2810
d38bf7d3
VS
28112012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
2814 entries.
2815
28162012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
2817
2818 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
2819 * grub-core/kern/emu/hostdisk.c: Likewise.
2820
e5e4ca48
ST
28212012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2822
2823 Handle hurd userspace partitions.
2824
2825 * util/getroot.c (find_hurd_root_device): New function.
2826 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2827
56bb5dd5
VS
28282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
2831 names.
2832 Reported by: Bastian Blank.
2833
9e8bc27a
VS
28342012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2837 crossing page boundary.
2838
aa01499d
VS
28392012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 Fix B-tree search in BFS, especially in presence of non-ASCII
2842 characters.
2843
2844 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2845 (find_in_b_tree): Use standard bsearch + btree algorithm.
2846
57006035
VS
28472012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2850 and so on.
2851
9d34bb85
MG
28522012-05-03 Matthew Garrett <mjg@redhat.com>
28532012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 Suspend broadcom cards in order to stop their DMA.
2856
2857 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2858 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2859 (pci): Don't build on x86 EFI.
2860 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2861 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2862 New function.
2863 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2864 stop_broadcom if running on EFI.
2865 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2866 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2867 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2868 (grub_pci_find_capability): New proto.
2869
01aab997
VS
28702012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * docs/grub.texi: Remove dot from the extension as it apparently
2873 doesn't work with some makeinfo versions.
2874
fbd8dca6
VS
28752012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2878 with GRUB expectance.
2879
dab797f4
VS
28802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2883
1516bfb4
VS
28842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2887 zero after directory block since last entry may be not 0-terminated if
2888 it ends on block boundary. Use continue instead of if spanning whole
2889 loop.
2890
a3a0eace
VS
28912012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 Support 4K sectors UDF inline files.
2894
2895 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2896 (grub_udf_extended_file_entry): Likewise.
2897 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2898 All users updated.
2899 (get_fshelp_size): New function.
2900 (grub_udf_read_icb): Read whole block.
2901 (grub_udf_iterate_dir): Likewise.
2902 (grub_udf_dir): Likewise.
2903 (grub_udf_open): Likewise.
2904
c82f16c1
VS
29052012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2908
59fd2aac
VS
29092012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2912 inline symlinks in addition to workaround.
2913
3b4afb4d
VS
29142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2917
f45c794a
VS
29182012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2921
f25cecbd
VS
29222012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2925
bb9a34e8
VS
29262012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 Fix reiserfs big seek times.
2929
2930 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2931 exact. All users updated.
2932 (grub_reiserfs_read): Use nearest btree search for seeking.
2933 Fix return value on error.
2934
dc478aea
VS
29352012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2938 entries.
2939 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2940 * docs/grub.texi: Update menuentry description.
2941
8db10f47
VS
29422012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2945 crash when embedding onto filesystem.
2946
bcb288ed
VS
29472012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2950 name.
2951
a626fdd7
VS
29522012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2955
b2f68477
VS
29562012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2959 commit.
2960
ba15b2af
B
29612012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29622012-05-01 Bean <bean123ch@gmail.com>
2963
2964 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2965
a188012e
VS
29662012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2967
2968 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2969 Special behaviour for len = 0 to read whole file isn't used anywhere and
2970 can cause buffer ovewrflows in several places.
2971
f0a53ed2
VS
29722012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2975
5ed554f0
VS
29762012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 Handle RAIDZ on non-512B sectors.
2979
2980 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
2981 max_children_ashift.
2982 (fill_vdev_info_real): Fill max_children_ashift.
2983 (read_device): Use max_children_ashift.
2984
ddc58357
VS
29852012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
2988
e3282399
VS
29892012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
2992 disk names.
2993 * docs/grub.texi: Update device.map parts.
2994
ee618bd4
VS
29952012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 Don't scan into non-diskfilter devices having diskfilter names.
2998
2999 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
3000 (scan_disk): New argument accept_diskfilter. Fix recursion depth
3001 handling.
3002 (scan_disk_hook): New function.
3003
bdf88864
B
30042012-04-29 Bean <bean123ch@gmail.com>
3005
3006 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
3007 allocation.
3008
32745f51
MK
30092012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
3010
3011 * configure.ac: Detect starfield theme font path
3012 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
3013
bc95c8c0
VS
30142012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
3017 geometry on serial consoles.
3018
147fbcab
VS
30192012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
3022 because of network consoles.
3023
0f42c889
VS
30242012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
3027 handling.
3028
4a3594c9
VS
30292012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
3032 falls on Q syndrom.
3033
5cb53879
VS
30342012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
3037 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
3038
b282dfe5
VS
30392012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
3042 Allocate at lest 8192 for temporary buffer as required for lzo.
3043
daa59f47
VS
30442012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
3047 to cluster_bits, since it's already added in.
3048 (grub_fat_read_data): Likewise.
3049
986748ce
VS
30502012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
3053 as long as cluster size is multiple of 512 bytes.
3054
a20f6ad0
VS
30552012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * util/grub-mkrescue.in: Fix locale directory.
3058
385f9abb
VS
30592012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 * grub-core/kern/emu/hostdisk.c (map): Make static.
3062
1c557d30
B
30632012-04-23 Bean <bean123ch@gmail.com>
3064
3065 * util/grub-fstest.c (fstest): Add missing break.
3066
524b5d3a
ST
30672012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
3068
3069 Fix hurd build.
3070
3071 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
3072 not define nr variable.
fe4824e9 3073 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
3074 find_root_devices_from_poolname, find_root_devices_from_libzfs,
3075 grub_find_device): Do not define.
524b5d3a 3076
9a06490c
VS
30772012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 Fix kfreebsd compile and behaviour.
3080
3081 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
3082 format-security.
3083 * util/getroot.c: Fix wait.h include.
3084 (grub_guess_root_devices): Error if grub_find_device fails.
3085 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
3086 (grub_util_get_dev_abstraction): Likewise.
3087 (grub_util_pull_device): Likewise.
3088 (grub_util_get_grub_dev): Likewise.
3089 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
3090
48143d96
VS
30912012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 Fix and unify wholedisk detection.
3094
3095 * util/getroot.c (convert_system_partition_to_system_disk): New argument
3096 is_part. All users updated.
3097 (device_is_wholedisk): Removed.
3098 (grub_util_biosdisk_get_grub_dev): Use is_part.
3099
ebbd24f3
VS
31002012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
3103 mode.
3104
56f7aa1e
VS
31052012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 * configure.ac: Bump to beta4.
3108
9c815e01
VS
31092012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
3112 --fs-uuid --set UUID syntax.
3113
59e2651a
VS
31142012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
3117 disunification.
3118
54e03cfc
VS
31192012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
3122
81092a75
MK
31232012-04-18 Mads Kiilerich <mads@kiilerich.com>
3124
3125 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
3126
f8315e14
MG
31272012-04-18 Mike Gilbert <floppym@gentoo.org>
3128
3129 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
3130
1501ac21
B
31312012-04-18 Bean <bean123ch@gmail.com>
3132
3133 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
3134 place.
3135
cb7f944e
VS
31362012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
3139 users updated.
3140 (grub_util_biosdisk_read): Handle Linux partitions not exactly
3141 corresponding to GRUB partitions.
3142 (grub_util_biosdisk_write): Likewise.
3143
b72d44a1
VS
31442012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 Scan mdraid before LVM.
3147
3148 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
3149 (grub_diskfilter_register_front): ... this.
3150 (grub_diskfilter_register_back): New function.
3151 All users of grub_diskfilter_register updated.
3152
33d918b8
VS
31532012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 * util/grub-install.in: Fix an automatic target detection bug.
3156
c6ca973d
VS
31572012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 * util/grub-install.in: New option --efi-directory.
3160
b41be562
VS
31612012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
3164 boot services if we have no other choice.
3165
31662012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * util/grub-mknetdir.in: Rename --override-directory to --directory and
3169 document it.
3170 * tests/util/grub-shell.in: Update to --directory.
3171
e0595a73
VS
31722012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
3175
4ed80652
VS
31762012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
3179 (grub_minix_read_file): Likewise.
3180 (grub_minix_read_inode): Likewise.
3181 (grub_minix_find_file): Likewise.
3182 (grub_minix_dir): Likewise.
3183
56008077
VS
31842012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * util/grub-setup.c (setup): Fix partition handling and blocklist
3187 check.
3188
ee520775
VS
31892012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
3192 redundant buggy overlap check.
3193
16fc9293
VS
31942012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
3197 and grub-mknetdir.
3198
9bab65c4
VS
31992012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
3202 kh.loadflags on pre-2.00 kernels.
3203
3c491b47
VS
32042012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 Terminate UNDI and PXE before launching the payload to avoid problems
3207 with DMA.
3208
3209 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
3210 (grub_loader_flags): ... this. All users updated.
3211 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
3212 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
3213 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
3214 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
3215 function.
3216 (grub_pxe_restore): Likewise.
3217 (fini_hnd): New var.
3218 (GRUB_MOD_INIT): Register shutdown hook.
3219 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
3220 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
3221 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
3222 (grub_loader_set): Rename second argument to flags.
3223
851ffada
VS
32242012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
3227 written bytes.
3228 (grub_get_num_of_utf8_bytes): New function.
3229 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
3230 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
3231 executing it.
3232 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
3233 (grub_ucs4_to_utf8): Change return type.
3234
491c57a8
VS
32352012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
3238 warning.
851ffada
VS
3239 * grub-core/fs/bfs.c (hop_level): Likewise.
3240 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 3241
756773df
VS
32422012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 * grub-core/lib/adler32.c: Recode due to license unclearness.
3245
fd556a96
VS
32462012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
3249 (test_header): Likewise.
3250
9f9d3f69
VS
32512012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 Fix --help formatting.
3254
3255 * util/grub-mkconfig_lib.in (print_option_help): New function.
3256 (grub_fmt): Likewise.
3257 * util/grub-install.in: Use print_option_help and grub_fmt.
3258 * util/grub-kbdcomp.in: Likewise.
3259 * util/grub-mkconfig.in: Likewise.
3260 * util/grub-mknetdir.in: Likewise.
3261 * util/grub-mkrescue.in: Likewise.
3262 * util/grub-mkstandalone.in: Likewise.
3263 * util/grub-reboot.in: Likewise.
3264 * util/grub-set-default.in: Likewise.
3265 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3266
561ec77e
VS
32672012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 * linguas.sh: Remove autogenerated *.po.
3270
7ec2b021
VS
32712012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3272
3273 * po/README: Move language fetcing to ...
3274 * linguas.sh: ... here.
3275 * po/README: Point to linguas.sh.
3276
a88f3270
VS
32772012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3278
3279 * po/README: Exclude ko.po due to disclaimer problems.
3280
d61357ce
VS
32812012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
3284 len = 0.
3285 (grub_gettext_translate_real): Handle 0th string.
3286 (grub_gettext_translate): Ensure that "" isn't translated.
3287
505e41dc
VS
32882012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
3291 TRANSLATORS comment.
3292 (grub_diskfilter_print_partmap): Propagate changing of error into
3293 warning.
3294
e44092db
VS
32952012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
3298 to uint64_t to prevent overflow.
3299 (grub_diskfilter_lv): Increase start_extent and extent_count
3300 to uint64_t to prevent overflow.
3301
9b83956a
VS
33022012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * configure.ac: Increase version.
3305
da0d5b3f
VS
33062012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
3309
3310 * po/Rules-translit: New file.
3311 * po/arabic.sed: Likewise.
3312 * po/cyrillic.sed: Likewise.
3313 * po/greek.sed: Likewise.
3314 * po/hebrew.sed: Likewise.
3315 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
3316 * po/Makefile.in.in: Add extra_dist4.
3317
ac66b453
VS
33182012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 Handle big-endian minixfs (fixes minixfs tests on bigendian).
3321
3322 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
3323 modify names. Introduce MODE_BIGENDIAN.
3324 * grub-core/fs/minix_be.c: New file.
3325 * grub-core/fs/minix2_be.c: Likewise
3326 * grub-core/fs/minix3_be.c: Likewise.
3327 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
3328 minix3_be.
3329 * grub-core/Makefile.core.def (minix_be): New module.
3330 (minix2_be): Likewise.
3331 (minix3_be): Likewise.
3332
33332012-04-01 Felix <email@hamburg.de>
3334
3335 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
3336 (devs): Add MBP 2011.
3337
0a2d5a82
VS
33382012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3339
3340 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
3341
d1625889
VS
33422012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * grub-core/normal/cmdline.c (print_completion): New field
3345 prompt_len.
3346 (grub_cmdline_get): Handle width properly.
3347
6d36a236
VS
33482012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * grub-core/commands/lsacpi.c (options): Add missing terminator.
3351
9576977e
VS
33522012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 3355 after 29th of February.
9576977e 3356
d73ff15d
VS
33572012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 Fix exfat endianness handling.
3360
3361 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
3362 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
3363 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
3364 Byte-swap utf16 when necessary.
3365 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
3366
bbb39a45
AB
33672012-03-31 Anton Blanchard <anton@samba.org>
33682012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 Fix btrfs endianness handling.
3371
3372 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
3373 (lower_bound): Make root uint64_t. Use root in le.
3374 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
3375 (find_path): Fix template key init.
3376 (grub_btrfs_dir): Fix mtime byteswap.
3377 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
3378
354e0af7
VS
33792012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
3382 recursion_depth. Break infinite resursions. All users updated.
3383
4e75f21c
VS
33842012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
3387 after free.
3388 Reported by: Peter Jones.
3389
25581802
AB
33902012-03-31 Anton Blanchard <anton@samba.org>
3391
3392 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
3393 8 bit values.
3394
08fbf92e
VS
33952012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * util/grub-install.in: Fix nvram call for PreP.
3398
5d1182a6
VS
33992012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
3402 the error when some elements are missing into a warning.
3403
3f8cdd90
VS
34042012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
3407
51006716
CW
34082012-03-28 Colin Watson <cjwatson@ubuntu.com>
3409
3410 * docs/grub.texi (Invoking grub-probe): New section.
3411 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
3412
e1bd676b
VS
34132012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 Fix tab and wide character handling in editor and menu.
3416
3417 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
3418 agglomerate control characters with combining marks.
3419 (bidi_line_wrap): Allow break on tab.
3420 (grub_unicode_get_comb_start): New function.
3421 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
3422 and tab correctly.
3423 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
3424 with a space.
3425 * grub-core/normal/term.c (print_ucs4_terminal): New argument
3426 fixed_tab_size. All users updated.
3427 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
3428 (grub_term_getcharwidth): Handle \t.
3429 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
3430 and copy.
3431
22e6a774
VS
34322012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 Handle big-endian mdraid.
3435
3436 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
3437 * grub-core/Makefile.core.def (mdraid09_be): New module.
3438 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
3439 rather than grub_le_to_cpu* and grub_cpu_to_le*.
3440 * grub-core/disk/mdraid_linux_be.c: New file.
3441
3c0eae66
VS
34422012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
3445
b6cf74c9
VS
34462012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3449 missing quotes which caused confusion among translators.
3450
83c93b9c
VS
34512012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 * util/grub-mkconfig_lib.in: Fix typo.
3454
ac6fd218
VS
34552012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
3458 spaces.
3459 * tests/grub_script_leading_whitespace.in: New file.
3460 * Makefile.util.def (grub_script_leading_whitespace): New test.
3461
ba287dd8
VS
34622012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
3465 to work.
3466
d2d58d0a
VS
34672012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
3470 starts with control character.
3471
0382d9bb
VS
34722012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
3475 overflow.
3476 (grub_gdb_outbuf): Likewise.
3477
d83ff9f9
VS
34782012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
3481 zero terminator. Fixes a crash.
3482
2282da4a
VS
34832012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
3486 beyond 4 GiB.
3487 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
3488 images independently of preffered adderss field.
3489
0ae4f0bd
VS
34902012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
3493 * grub-core/commands/regexp.c: Likewise.
3494 * grub-core/loader/i386/linux.c: Likewise.
3495 * grub-core/partmap/msdos.c: Likewise.
3496 * grub-core/script/execute.c: Likewise.
3497 * grub-core/term/gfxterm.c: Likewise.
3498
546fbe9b
VS
34992012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 Add variable parsing in $"..." and fix several mismatches with bash.
3502
3503 * Makefile.util.def (grub_script_gettext): New test.
3504 * grub-core/script/execute.c (parse_string): New function.
3505 (gettext_append): Likewise.
3506 (grub_script_arglist_to_argv): Use gettext_append.
3507 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
3508 * tests/grub_script_gettext.in: New file.
3509
9fdb2d7b
VS
35102012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 Fix handling of leading spaces in scripts.
3513
3514 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
3515 spaces.
3516 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
3517 other than skipping \r. All users updated.
3518 * tests/grub_script_echo1.in: Add space-related tests.
3519 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
3520
1a1ac4f6
VS
35212012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3522
3523 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
3524
b63d89b6
VS
35252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 * configure.ac: Bump up the version to beta2.
3528
17f38c0f
VS
35292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 Fix gettext reload bugs (e.g. inability to disable gettext
3532 once enabled).
3533
3534 * grub-core/gettext/gettext.c: Encapsulate all static variables in
3535 main_context and secondary_context. All functions updated.
3536 (grub_gettext_translate): Rename to ...
3537 (grub_gettext_translate_real): ... this. Return NULL on failed
3538 translate.
3539 (grub_gettext_translate): Handle secondary context.
3540 (grub_gettext_delete_list): Close file and zero-out the context.
3541 (grub_mofile_open): Don't call grub_gettext_delete_list.
3542 Don't close file.
3543 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
3544 if locale="" to avoid pointless error message.
3545 (grub_gettext_env_write_lang): Update lang even if load fails.
3546 Handle secondary context.
3547 (grub_gettext_reread_prefix): New function.
3548 (read_main): Likewise.
3549 (read_secondary): Likewise.
3550 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
3551 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
3552 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
3553 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
3554
8e56f870
VS
35552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 * configure.ac: Decrease warning level to avoid spurious warnings and
3558 to be able to compile with GCC 4.2.
3559 * Makefile.util.def: Remove -Wno-error=logical-op.
3560
82f6d455
WB
35612012-03-10 William Bittner <william.bittner@gmail.com>
3562
3563 * util/import_unicode.py: Add missing brackets around string for
3564 python 3 support.
3565
1ecd61a4
VS
35662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3567
3568 Fix efi chainloader on network root.
3569
3570 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
3571 network devices.
3572 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
3573 New function.
3574
14361ee8
VS
35752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
3578 unused show_text member.
3579 * docs/grub.texi: Document "text" property.
3580
922aabf3
VS
35812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
3584 in dprintf.
3585
ec316771
VS
35862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 Fix IMSM handling on Fedora.
3589
3590 * util/getroot.c (grub_util_is_imsm): New function.
3591 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
3592
0f021838
VS
35932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 * Makefile.am: Strip gold section.
3596 * conf/Makefile.common: Likewise.
3597 * gentpl.py: Likewise.
3598 * grub-core/Makefile.core.def: Likewise.
3599 * grub-core/genmod.sh.in: Likewise.
3600
1039c8eb
VS
36012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
3604 * util/grub.d/20_linux_xen.in: Likewise.
3605 Based on Debian patch.
3606
6dd412cd
VS
36072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 * util/grub.d/10_linux.in: Fix syntax error resulting in
3610 Richard Laager's patch.
3611 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
3612
3fd8bae5
VS
36132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
3616 dependencies.
3617
7eea1671
RL
36182012-03-10 Richard Laager <rlaager@wiktel.com>
3619
3620 * util/grub.d/10_linux.in: Fix ZFS root passing.
3621
e8e0566b
VS
36222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3625 * grub-core/commands/xnu_uuid.c: Likewise.
3626 * grub-core/loader/efi/appleloader.c: Likewise.
3627 * grub-core/script/execute.c: Likewise.
3628 * grub-core/script/main.c: Likewise.
3629 * util/grub-mkfont.c: Likewise.
3630
1acc5b1f
VS
36312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 * util/grub-mkfont.c (options): Use more appropriate "select" that
3634 "set" for face index.
3635
35d70620
VS
36362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * util/grub-editenv.c (options): Gettextize command summaries.
3639
c9eb96b5
VS
36402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
3643 "out of memory" error messagge.
3644
1f493136
VS
36452012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
3648 of diskfilter for diskfilter on diskfilter support.
3649
6d790129
VS
36502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
3653
005f46c9
VS
36542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * util/grub-install.in: Check for themes/starfield/theme.txt and not
3657 themes/starfield.
3658
c8f778a0
VS
36592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
3662
de1e64eb
VS
36632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
3666
c6d54211
VS
36672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
3670 of error message.
3671
dd390777
VS
36722012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
3675
5fd1c522
VS
36762012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
3679 message.
c6d54211 3680 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 3681
fae01f6c
VS
36822012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
3685 Gettextize.
3686 * util/grub-mount.c (options): Likewise.
3687
292fdaff
VS
36882012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3689
3690 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
3691 gettextize.
3692 * grub-core/commands/search_wrap.c (options): Likewise.
3693
ecdbae77
VS
36942012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
3697
52bfedfa
VS
36982012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3699
3700 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
3701 size calculation.
3702 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
3703 none is known.
3704
55b20e58
VS
37052012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
3708 "temporary" since it's used in identifier and is limited in space.
3709
fda9d101
VS
37102012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * po/POTFILES.in: Regenerate. Include *.h since they contain
3713 translatable strings as well.
3714
6a0295e2
VS
37152012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3718 byte-swap on big-endian.
3719 Reported by: Lennart Sorensen
3720
807fb77c
VS
37212012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
3724 (allocate_pages): Improve dprintf.
3725 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
3726 code32_start. Fill code32_start and kernel_alignment in params.
3727 (grub_cmd_initrd): Use prot_init_space.
3728
61ac50ba
VS
37292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
3732
abdd26dd
VS
37332012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * util/grub-install.in: Add missing dot at the end of sentence.
3736
6e69da9c
VS
37372012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3740 * grub-core/commands/videotest.c: Likewise.
3741 * grub-core/loader/i386/linux.c: Likewise.
3742
4a929343
VS
37432012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
3746 sentence.
3747 Reported by: Milo Casagrande.
3748
bb51c6c6
VS
37492012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3750
3751 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
3752 * grub-core/commands/gptsync.c: Likewise.
3753 * grub-core/commands/hashsum.c: Likewise.
3754 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3755 * grub-core/commands/legacycfg.c: Likewise.
3756 * grub-core/io/gzio.c: Likewise.
3757 * grub-core/net/net.c: Likewise.
3758 * grub-core/term/gfxterm.c: Likewise.
3759 * grub-core/term/terminfo.c: Likewise.
3760 * grub-core/tests/test_blockarg.c: Likewise.
3761 * grub-core/video/video.c: Likewise.
3762 * util/grub-install.in: Likewise.
3763 * util/grub-mkfont.c: Likewise.
3764
b2b149cb
VS
37652012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
3768
c7c080ad
VS
37692012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 3772 Reported by: David Prévot.
c7c080ad 3773
f2e243c0
VS
37742012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
3777 description.
3778
09963c76
VS
37792012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 * util/grub-script-check.c (main): Fix a syntax error message which was
3782 unclear.
3783
a50514a8
VS
37842012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
3787
4650daec
VS
37882012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
3791 messages.
3792
37932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
3794
3795 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
3796 without argument.
3797 * util/grub-mount.c (options): Likewise.
3798
bbc5a342
VS
37992012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3800
3801 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
3802
ef292a87
VS
38032012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * grub-core/net/http.c: Add TRANSLATORS comments.
3806 * grub-core/normal/cmdline.c: Likewise.
3807 * grub-core/normal/misc.c: Likewise.
3808 * grub-core/partmap/msdos.c: Likewise.
3809 * grub-core/parttool/msdospart.c: Likewise.
3810 * grub-core/script/execute.c: Likewise.
3811 * grub-core/script/main.c: Likewise.
3812 * grub-core/term/terminfo.c: Likewise.
3813 * grub-core/video/bitmap.c: Likewise.
3814 * util/grub-install.in: Likewise.
3815 * util/grub-mkimage.c: Likewise.
3816 * util/grub-mklayout.c: Likewise.
3817 * util/grub-setup.c: Likewise.
3818
0fc19bd0
VS
38192012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
3822 with similar messages in grub-fstest.
3823
d95862ef
VS
38242012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3825
3826 * util/grub-install.in: Unify "option requires an argument" message
3827 with similar messages in other files.
3828 * util/grub-mkconfig.in: Likewise.
3829
b7308f90
VS
38302012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 * util/grub-set-default.in: Replace printf with gettext_printf (the
3833 string in in question is already translated from grub-reboot)
3834
559dc587
VS
38352012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * configure.ac: Bump up the version to beta1.
3838
1a11761f
VS
38392012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3842 case when min_align = 0.
3843
24539abd
VS
38442012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3847 and fix a case when line_start overflows.
3848
32bd735b
VS
38492012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 * util/grub-reboot.in (usage): Mention id posibility.
3852 * util/grub-set-default.in (usage): Likewise.
3853
1a2fd1e6
VS
38542012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3857 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3858 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3859 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3860 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3861 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3862 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3863
90eeab76
VS
38642012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 * grub-core/commands/menuentry.c (options): Remove
3867 GRUB_ARG_OPTION_REPEATABLE.
3868 Reported by: Andreas Vogel
3869
5ad1be82
AV
38702012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3871
3872 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3873
cb055286
HE
38742012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3875
3876 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3877 error.
3878
93b1cd79
VS
38792012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 Use sort -V by the idea of Georgi Georgiev.
3882
3883 * util/grub-mkconfig_lib.in (version_sort): New function.
3884 (version_test_numeric): Use version_sort.
3885
0cdc126c
VS
38862012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 Use submenus in grub-mkconfig.
3889
3890 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3891 * util/grub-mkconfig_lib.in (grub_quote): New function.
3892 (gettext_printf): Use gettext and not gettext_quoted to fix several
3893 messages.
3894 * util/grub.d/10_hurd.in: Use submenus.
3895 * util/grub.d/10_kfreebsd.in: Likewise.
3896 * util/grub.d/10_linux.in: Likewise.
3897 * util/grub.d/10_netbsd.in: Likewise.
3898 * util/grub.d/20_linux_xen.in: Likewise.
3899 * util/grub.d/30_os-prober.in: Likewise.
3900 * util/grub.d/10_illumos.in: Add missing quoting.
3901 * util/grub.d/10_windows.in: Likewise.
3902
d9bef9bc
VS
39032012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 Fix menu title instability bug.
3906
3907 * grub-core/commands/menuentry.c (options): New option --id.
3908 (grub_normal_add_menu_entry): New argument id. All users updated.
3909 (grub_cmd_menuentry): Handle --id.
3910 (grub_menu_init): Accept unknown arguments.
3911 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3912 feature_menuentry_options.
3913 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3914 saved_entry.
3915 (get_entry_number): Match with id as well.
3916 * include/grub/menu.h (grub_menu_entry): New member id.
3917 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3918 * util/grub.d/00_header.in: Define menuentry_id_option.
3919 * util/grub.d/10_hurd.in: Define id.
3920 * util/grub.d/10_illumos.in: Likewise.
3921 * util/grub.d/10_kfreebsd.in: Likewise.
3922 * util/grub.d/10_linux.in: Likewise.
3923 * util/grub.d/10_netbsd.in: Likewise.
3924 * util/grub.d/10_windows.in: Likewise.
3925 * util/grub.d/20_linux_xen.in: Likewise.
3926 * util/grub.d/30_os-prober.in: Likewise.
3927
39282012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
3929
3930 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3931 "scope" with "body".
3932
7c8d0ce7
VS
39332012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3936 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3937 prot_size and prot_file_size.
3938
49de079b
VS
39392012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3942 All users updated. If easily=1 require raid-5/-6 to be full.
3943 (is_node_readable): Likewise.
3944 (scan_devices): Scan incomplete but readable LVs at the end.
3945 (grub_diskfilter_memberlist): Pull missing devices.
3946 (insert_array): Skip scanning until device is complete or scan is
3947 done otherwise.
3948 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3949 check.
3950 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3951 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3952
aff05d45
MG
39532012-03-03 Matthew Garrett <mjg@redhat.com>
39542012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 Avoid EFI boot services when loading Linux.
3957
3958 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3959 avoid_efi_bootservices. All users updated.
3960 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3961 argument avoid_efi_bootservices. All users updated.
3962 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3963 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3964 align, min_align, relocatable, prefered_address. All users updated.
3965 Allocate avoiding boot services if kernel is relocatable.
3966 (grub_cmd_linux): Check if kernel is relocatable.
3967 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3968 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3969 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3970 avoid_efi_boot_services.
3971 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3972 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3973 (linux_kernel_params): Likewise.
3974
3935dde2
MG
39752012-03-03 Matthew Garrett <mjg@redhat.com>
39762012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 Use EDID on EFI.
3979
3980 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
3981 datasize_out.
3982 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
3983 modes. Set gop_handle.
3984 (grub_video_gop_get_edid): New function.
3985 (grub_gop_get_preferred_mode): Likewise.
3986 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
3987 (grub_video_efi_gop_adapter): Set .get_edid.
3988 * include/grub/efi/edid.h: New file.
3989 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
3990
32107ec0
VS
39912012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * util/grub-install.in: Load efivars unconditionally.
3994
e70a2c50
VS
39952012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 * po/Rules-piglatin: Change suffix from .po-update-en to
3998 .po-update-en-piglatin.
3999
8f9cace1
VS
40002012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 Add a pig farm.
4003
4004 * po/piglatin.sed: New file.
4005 * po/en@piglatin.header: Likewise.
4006 * po/Rules-piglatin: Likewise.
4007 * po/README: Add en@piglatin to autogenerated languages.
4008
8f95d002
VS
40092012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
4012 "Command for ...".
4013 * grub-core/commands/hdparm.c (options): Use "Display" rather than
4014 "Check" since we don't check anything.
4015 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
4016 is 64-bit one.
4017 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
4018 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
4019 (grub_md_sha512_real): Likewise.
4020
805a8dcc
VS
40212012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * grub-core/commands/gptsync.c: Fix typographic quoting.
4024 * grub-core/commands/ieee1275/suspend.c: Likewise.
4025 * grub-core/commands/parttool.c: Likewise.
4026 * grub-core/commands/search_wrap.c: Likewise.
4027 * grub-core/commands/videoinfo.c: Likewise.
4028 * grub-core/gfxmenu/gui_label.c: Likewise.
4029 * grub-core/hello/hello.c: Likewise.
4030 * grub-core/kern/emu/main.c: Likewise.
4031 * grub-core/net/net.c: Likewise.
4032 * grub-core/normal/menu.c: Likewise.
4033 * grub-core/normal/menu_text.c: Likewise.
4034 * grub-core/normal/misc.c: Likewise.
4035 * util/grub-editenv.c: Likewise.
4036 * util/grub-install.in: Likewise.
4037 * util/grub-kbdcomp.in: Likewise.
4038 * util/grub-mkconfig.in: Likewise.
4039 * util/grub-mknetdir.in: Likewise.
4040 * util/grub-mkrescue.in: Likewise.
4041 * util/grub-mkstandalone.in: Likewise.
4042 * util/grub-reboot.in: Likewise.
4043 * util/grub-set-default.in: Likewise.
4044 * util/grub-setup.c: Likewise.
4045 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4046
40211ab8
VS
40472012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
4050 * grub-core/commands/keystatus.c: Likewise.
4051 * grub-core/commands/loadenv.c: Likewise.
4052 * grub-core/commands/probe.c: Likewise.
4053 * grub-core/commands/regexp.c: Likewise.
4054 * grub-core/commands/true.c: Likewise.
4055 * grub-core/commands/videoinfo.c: Likewise.
4056 * grub-core/disk/cryptodisk.c: Likewise.
4057 * grub-core/disk/ldm.c: Likewise.
4058 * grub-core/disk/loopback.c: Likewise.
4059 * grub-core/disk/luks.c: Likewise.
4060 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4061 * grub-core/kern/disk.c: Likewise.
4062 * grub-core/kern/emu/hostdisk.c: Likewise.
4063
0c7d99c7
VS
40642012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
4067 * util/grub-install.in: Add missing quote in the comment.
4068
e7d2559b
VS
40692012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
4072 * grub-core/commands/lsmmap.c: Likewise.
4073 * grub-core/commands/minicmd.c: Likewise.
4074 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
4075 * grub-core/commands/regexp.c: Likewise.
4076 * grub-core/gdb/gdb.c: Likewise.
4077 * grub-core/term/gfxterm.c: Likewise.
4078 * util/grub-mkconfig.in: Likewise.
4079 * util/grub-mkfont.c: Likewise.
4080 * util/grub-mklayout.c: Likewise.
4081 * util/grub-mknetdir.in: Likewise.
4082 * util/grub-mkrescue.in: Likewise.
4083 * util/grub.d/30_os-prober.in: Likewise.
4084
49ce9e50
VS
40852012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
4088 with "Direct color" and "Packed" with "Packed pixel".
4089 (grub_cmd_videoinfo): Simplify legend.
4090
e4b791fa
VS
40912012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
4094 absolutely unclear error message.
4095
fd1265cb
VS
40962012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4097
4098 * util/grub-mkstandalone.in: Remove confusing leftover print.
4099
8822a8a0
VS
41002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
4103 comments.
4104 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
4105 (GRUB_MOD_INIT): Likewise.
4106 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
4107 VGA mode.
4108 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
4109 comments.
4110 * util/grub-install.in (usage): Likewise.
4111 Spell ID in whole letters.
4112 Add missing ending dot.
4113 Quote variables.
4114 * util/grub-reboot.in: Fix capitalisation.
4115 * util/grub-set-default.in: Likewise.
4116
937fd0cc
VS
41172012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
4120 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
4121 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
4122 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
4123 Disable -Werror for -Wdeprecated-declarations.
4124 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
4125 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
4126 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
4127 (grub_util_get_grub_dev): Make luks handling dependent on
4128 HAVE_DEVICE_MAPPER and not __linux__.
4129 (get_win32_path): Fix format security.
4130 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
4131 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
4132 Don't try grub_find_zpool_from_dir.
4133 (grub_make_system_path_relative_to_its_root) [!__linux__]:
4134 #ifdef-out paresdir.
4135
1bab1ae3
VS
41362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * util/grub-pe2elf.c (usage): Add missing noreturn.
4139 (write_section_data): Rename name to shname to avoid shadowing.
4140 (write_symbol_table): Rename name to symname to avoid shadowing.
4141 Fix write_reloc_section call.
4142
ef023e42
VS
41432012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
4146 to ensure that it's after the last byte of .text.
4147
48afcb75
VS
41482012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * util/ieee1275/ofpath.c (my_isdigit): New function.
4151 (trailing_digits): Use my_isdigit.
4152 (strip_trailing_digits): Likewise.
4153
88d51eff
VS
41542012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
4157 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
4158
17edc2ba
VS
41592012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 * grub-core/kern/i386/pc/startup.S: Define __start.
4162
ad5518d7
VS
41632012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
4166 strip already transforms he format.
4167
9e95e1bf
VS
41682012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
4171
9cc3ee5c
VS
41722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * util/grub-install.in: Add missing gettext init.
4175 * util/grub-kbdcomp.in: Likewise.
4176 * util/grub-mkconfig.in: Likewise.
4177 * util/grub-mknetdir.in: Likewise.
4178 * util/grub-mkrescue.in: Likewise.
4179 * util/grub-mkstandalone.in: Likewise.
4180 * util/grub-reboot.in: Likewise.
4181 * util/grub-set-default.in: Likewise.
4182 * util/grub.d/00_header.in: Likewise.
4183 * util/grub.d/10_hurd.in: Likewise.
4184 * util/grub.d/10_windows.in: Likewise.
4185 * util/grub.d/30_os-prober.in: Likewise.
4186 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4187
49e08a06
VS
41882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 * po/Rules-swiss: Fix header comment.
4191
3809cb41
AV
41922012-02-29 Andreas Vogel <anvoit>
4193
4194 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
4195 resulted in leak of arguments.
4196
fa6ec573
VS
41972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * grub-core/boot/i386/pc/startup_raw.S: Use separate
4200 reed_solomon_size const definition instead of computing it since
4201 Apple assembler doesn't support the later.
4202
22899b9c
VS
42032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * gentpl.py (kernel): Rewrite Apple part.
4206
a132afc3
VS
42072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 * include/grub/kernel.h (FOR_MODULES): Check module magic.
4210
9d742bd4
VS
42112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 * util/grub-mkimagexx.c (locate_sections): Support non-standard
4214 ELF section gap.
4215 (load_image): Likewise.
4216
f04a9a21
VS
42172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * configure.ac: Fix a typo in previous commit.
4220
46cf439c
VS
42212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 Don't add -Wl,-N on Apple platform.
4224
4225 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
4226 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
4227
c4c48c54
VS
42282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 * grub-core/Makefile.core.def (lzma_decompress): Use
4231 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
4232
31a12124
VS
42332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 * grub-core/genmod.sh.in: Rewrite the Apple part.
4236
4f3aa1af
VS
42372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
4240 comparison.
4241
7bd8b0c7
VS
42422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * acinclude.m4 (grub_CHECK_PIC): New test.
4245 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
4246
97304d7c
VS
42472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
4250 to avoid the warning.
4251
fb883812
VS
42522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
4255 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
4256 after. All users updated.
4257
a121c964
VS
42582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4259
4260 Use the common size routine in hostfs so we can read disks as well.
4261
4262 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
4263 (grub_util_get_fd_size): ... this. Return size in bytes.
4264 All users updated.
4265 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
4266 grub_util_get_fd_size.
4267
c66d6410
VS
42682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
4271 Add blocksize retrieval.
4272
dfc8aeb0
VS
42732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 * configure.ac: Restore CFLAGS after efiemu check.
4276
403e25a5
VS
42772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
4280 Apple bug.
4281
382775d1
VS
42822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
4285
6fd4e6e4
VS
42862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
4289 (grub_cmd_halt): Likewise.
4290
bea359d6
VS
42912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
4294 for local arithmetics.
4295 Break %sp init into 2 instructions.
4296 Add 0 byte at the end.
4297
32eb6ee1
VS
42982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * grub-core/disk/diskfilter.c (read_segment): Initialise err
4301 before loops.
4302
e8377389
VS
43032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
4306 for context.
4307
8cb17de7
VS
43082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * grub-core/disk/ldm.c (make_vg): Init part.name.
4311 (grub_ldm_detect): Silence spurious warning.
4312 (grub_util_is_ldm): Likewise.
4313
595717e6
VS
43142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
4317 sane value to avoid a spurious warning.
4318
c4b7e588
VS
43192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
4322 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
4323
59824957
VS
43242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
4327 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
4328
70115b99
VS
43292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
4332 hardcoding the relevant info.
4333
56733740
VS
43342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
4337 missing const qualifiers.
4338 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
4339
43481481
VS
43402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * util/getroot.c [__APPLE__]: Add missing includes.
4343 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
4344
3cb38f01
VS
43452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * util/grub-mkimage.c (generate_image): Silence spurious warning.
4348
d9dbf11e
VS
43492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
4352 avoid conflicts.
4353
0c42a45d
VS
43542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
4357
46c34eb0
VS
43582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4359
4360 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
4361 and grub_file_close call.
4362
99ce1597
VS
43632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 Add LZSS Mach-O support (needed for new xnu kernelcache).
4366
4367 * grub-core/Makefile.core.def (xnu): Add file lzss.c
4368 * grub-core/loader/lzss.c: New file.
4369 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
4370 on Mach-O open failure.
4371 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
4372 Don't free cmdsXX in uncompressedXX is set.
4373 (grub_macho_file): Init new fields.
4374 New argument is_64bit. All users updated.
4375 Handle compressed. Error out if no suitable architecture is found.
4376 Don't close file.
4377 (grub_macho_open): New argument is_64bit. All users updated.
4378 * grub-core/loader/macho32.c: Add defines for new fields.
4379 * grub-core/loader/macho64.c: Likewise.
4380 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
4381 (grub_macho_parse): Handle compressed.
4382 Defer actual processing if compressed.
4383 (grub_macho_cmds_iterate): Decompress if compressed. New argument
4384 "filename". All users updated.
4385 (grub_macho_size): New argument "filename". All users updated.
4386 (grub_macho_get_entry_point): Likewise.
4387 (grub_macho_load): Handle compressed.
4388 * include/grub/macho.h (grub_macho_lzss_header): New struct.
4389 (GRUB_MACHO_LZSS_OFFSET): New define.
4390 (grub_decompress_lzss): New proto.
4391 * include/grub/machoload.h (grub_macho_file): New fields to handle
4392 compressed.
4393 (grub_macho_contains_macho64): Remove proto.
4394 (grub_macho_contains_macho32): Likewise.
4395 * util/grub.d/30_os-prober.in: Use kernel cache if available.
4396
ebd17d6f
VS
43972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
4400
2702b4e4
VS
44012012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4402
4403 Fix make dist.
4404
4405 * Makefile.am (starfield_theme_files): New var.
4406 (starfield_DATA): Use starfield_theme_files.
4407 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
4408 Add bootcheck-related files.
4409 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
4410 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
4411 and font_char_metrics.txt.
4412 * grub-core/Makefile.core.def (kernel): Update extra_dist.
4413 (setjmp): Add lib/ia64/longjmp.S.
4414 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
4415 * po/POTFILES.in: Regenerate.
4416 * po/Rules-swiss: use DISTFILES.common.extra2 and not
4417 DISTFILES.common.extra1.
4418 * util/devicemap.c: Removed.
4419 * grub-core/lib/i386/relocator_backward.S: Likewise.
4420 * util/import_gcry.py: Remove unused files. Add extra_dist for
4421 ChangeLog.
4422
cf1adfdf
VS
44232012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * grub-core/gettext/gettext.c (grub_mofile_open): Call
4426 grub_gettext_delete_list before changing grub_gettext_max to avoid
4427 running out of array bounds.
4428
44292012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
4430
4431 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
4432 grub_vga_text_init/grub_vga_text_fini.
4433
cf1adfdf 44342012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
4435
4436 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
4437
541d92e9
VS
44382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * configure.ac: Bump to 2.00~beta0.
4441
7931dddf
VS
44422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
4445 missing initialisation.
4446
f1b16fa3
VS
44472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4448
4449 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
4450
83ddae23
VS
44512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 Support v2 xnu boot arguments.
4454
4455 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
4456 New argument fsbfreq_out.
4457 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
4458 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
4459 be used.
4460 * grub-core/loader/machoXX.c (grub_macho_load): New argument
4461 darwin_version.
4462 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
4463 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
4464 (grub_xnu_boot_params): Rename to ...
4465 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
4466 (grub_xnu_boot_params_v2): New struct.
4467
dc693fe6
VS
44682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
4471 zeroing of CRC field before computing CRC.
4472
5a6e39c2
VS
44732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
4476 Change order of allocations to decrease fragmentation.
4477
6c21f5d7
VS
44782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
4481
cfe456dc
CW
44822012-02-27 Colin Watson <cjwatson@ubuntu.com>
4483
4484 Use write-combining MTRR to speed up video with buggy BIOSes.
4485
4486 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
4487 (cpuid): New define.
4488 (rdmsr): Likewise.
4489 (wrmsr): Likewise.
4490 (mtrr_base): Likewise.
4491 (mtrr_mask): Likewise.
4492 (grub_vbe_enable_mtrr_entry): New function.
4493 (grub_vbe_enable_mtrr): Likewise.
4494 (grub_vbe_disable_mtrr): Likewise.
4495 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
4496 control off to BIOS.
4497 (grub_video_vbe_init): Fill mtrr.
4498 (grub_video_vbe_fini): Disable mtrr.
4499 (grub_video_vbe_get_info_and_fini): Likewise.
4500 (grub_video_vbe_setup): Enable mtrr.
4501
e3c78337
CW
45022012-02-27 Colin Watson <cjwatson@ubuntu.com>
4503
4504 * include/grub/partition.h (grub_partition_map): Change prototype of
4505 embed to take a maximum value for nsectors.
4506 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
4507 * include/grub/fs.h (grub_fs): Likewise.
4508 * grub-core/partmap/msdos.c (embed_signatures): New array.
4509 (pc_partition_map_embed): Check for and avoid sectors matching any
4510 of the signatures in embed_signatures, up to max_nsectors.
4511 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
4512 returned sector map to max_nsectors.
4513 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
4514 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
4515 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
4516 * util/grub-setup.c (setup): Allow for the embedding area being
4517 split into multiple blocklists. Tell dest_partmap->embed the
4518 maximum number of sectors we care about.
4519
45202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
4523 Specify blocklist_install and reserver_first_sector for all fs.
4524 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
4525 blocklists.
4526
984b973f
VS
45272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * util/grub-install.in: Clarify strings.
4530 Fix source dir check.
4531
f122e0d6
RL
45322012-02-27 Richard Laager <rlaager@wiktel.com>
4533
4534 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
4535 "zfs" and "fuse.zfs" as synonyms.
4536
071114bb
VS
45372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * configure.ac: Put platform and target_cpu substitutions back since
4540 they are used for directories.
4541
817e6abc
RL
45422012-02-27 Richard Laager <rlaager@wiktel.com>
45432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * util/grub.d/10_linux.in: Add ZFS-related arguments.
4546 * util/grub.d/20_linux_xen.in: Likewise.
4547
897b7419
RL
45482012-02-27 Richard Laager <rlaager@wiktel.com>
4549
4550 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
4551 with full paths.
4552
a414bd15
RL
45532012-02-27 Richard Laager <rlaager@wiktel.com>
4554
4555 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
4556 unescape.
4557
30ac48c4
VS
45582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 Don't use insecure popen in getroot.
4561
4562 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
4563 (exec_pipe): ... here.
4564 (find_root_devices_from_poolname): Use exec_pipe.
4565
53f13848
VS
45662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 Remove platform and target_cpu replacement.
4569
4570 * configure.ac: Remove platform and target_cpu substitutions.
4571 * tests/util/grub-shell.in: Use modinfo.
4572 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
4573 explicitly.
4574
90cb2803
VS
45752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4576
4577 Autodetect platform in grub-install but allow override.
4578
4579 * util/grub-install.in: Autodetect platform. Support --target and
4580 --directory. Read platform from modinfo.sh.
4581
b9136427
VS
45822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 Support btrfs multi-volume probe.
4585
4586 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
4587 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
4588 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
4589 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
4590 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
4591 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
4592 grub_find_root_devices_from_btrfs if on btrfs.
4593
c36e5cd1
VS
45942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 Remove any awareness of *.c util files about target.
4597
4598 * Makefile.util.def (grub-setup): Split to ...
4599 (grub-bios-setup): ... and this.
4600 (grub-sparc64-setup): ... and this.
4601 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
4602 * docs/man/grub-setup.h2m: Split into ...
4603 * docs/man/grub-sparc64-setup.h2m: ... this.
4604 * docs/man/grub-bios-setup.h2m: ... and this.
4605 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
4606 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
4607 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
4608 (grub_target_addr_t): Remove.
4609 (grub_target_size_t): Remove.
4610 (grub_target_ssize_t): Remove.
4611 * util/grub-install.in: Use new grub-*-setup.
4612 * util/grub-mkimagexx.c (Elf_Word): New define.
4613 (Elf_Half): Likewise.
4614 (Elf_Section): Likewise.
4615 (ELF_ST_TYPE): Likewise.
4616 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
4617 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
4618
584b2f8a
VS
46192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 Replace grub_target_addr with more appropriate types.
4622
4623 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
4624 grub_target_addr with grub_addr.
4625 * grub-core/commands/iorw.c (grub_cmd_read): Replace
4626 grub_target_addr with grub_port.
4627 (grub_cmd_write): Likewise.
4628 * grub-core/commands/memrw.c (grub_cmd_read): Replace
4629 grub_target_addr with grub_addr.
4630 (grub_cmd_write): Likewise.
4631 * grub-core/video/efi_uga.c (find_line_len): Likewise.
4632
5a0dc6fb
VS
46332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
4636 const qualifier for vendor_guid.
4637
786aff6e
VS
46382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
4641 const qualifier.
4642 (efiemu_memequal): Likewise.
4643 (find_variable): Likewise.
4644
49017b17
VS
46452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 Fix missing console prototype on qemu-mips.
4648
4649 * include/grub/mips/qemu_mips/console.h: New file.
4650
c5988629
MG
46512012-02-27 Matthew Garrett <mjg@redhat.com>
46522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
4655 * include/grub/efi/efi.h: Likewise.
4656 * include/grub/efi/api.h: Add guid for EFI-specified variables.
4657 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
4658 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
4659 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
4660 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
4661 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
4662
e33f8d69
MG
46632012-02-27 Matthew Garrett <mjg@redhat.com>
4664
4665 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
4666
fb312cd9
VS
46672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4668
4669 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
4670 error.
4671
7134247c
VS
46722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 * configure.ac: Remove inappropriate use of program_transform_name
4675 on grubdir and bootdir but allow explicit specification of those
4676 variables.
4677
6a313124
VS
46782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * util/grub-mknetdir.in (grub_prefix): Removed.
4681 (subdir): Use @bootdirname@ and @grubdirname@.
4682
2311c5ca
VS
46832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
4686
7d5d60f7
VS
46872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * po/POTFILES.in: Regenerated.
4690
8151bc82
VS
46912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 Remove improper use of program_transform_name on pkglibrootdir.
4694
4695 * configure.ac (pkglibrootdir): Removed.
4696 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
4697 * util/grub-mkimage.c: Likewise.
4698
b4a6a533
VS
46992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
4702 warning.
4703
668f304f
VS
47042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 * util/grub-install.in: Use file identifier if no UUID is available
4707 or user explicitly prompted for it.
4708
665f2341
NP
47092012-02-27 Navdeep Parhar <nparhar@gmail.com>
4710
4711 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
4712 (freebsd_get_zfs): New function.
4713 (grub_freebsd_boot): Pass zfs UUID.
4714 (grub_cmd_freebsd): Set zfs UUID.
4715
8151bc82 47162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
4717
4718 * conf/Makefile.common (platformdir): Base on pkglibdir and not
4719 pkglibrootdir.
4720
e4c498a1
MG
47212012-02-27 Mike Gilbert <floppym@gentoo.org>
4722
4723 Add configure flag to control libzfs integration.
4724
4725 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
4726
1e9a9a3f
VS
47272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
4730 device.
4731 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
4732 small devices.
4733
036985b8
VS
47342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 Remove grub_{modname}_init and grub_{modname}_fini. They should never
4737 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
4738 be used on non-modules.
4739
4740 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
4741 Rename to grub_boot_init.
4742 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
4743 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
4744 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
4745 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
4746 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
4747 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
4748 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
4749 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
4750 includes.
4751 (grub_machine_init): Remove empty inits.
4752 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
4753 includes.
4754 (grub_machine_init): Remove empty inits.
4755 * grub-core/term/arc/console.c: Remove explicit proto.
4756 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
4757 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
4758 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4759 grub_at_keyboard_fini.
4760 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
4761 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
4762 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4763 grub_gfxterm_fini.
4764 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
4765 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
4766 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4767 grub_vgatext_fini.
4768 * grub-core/term/ieee1275/console.c: Remove explicit proto.
4769 * grub-core/term/serial.c (GRUB_MOD_INIT)
4770 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
4771 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4772 grub_serial_fini.
4773 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
4774 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
4775 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4776 grub_terminfo_fini.
4777 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
4778 (GRUB_MOD_FINI): Likewise.
4779 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
4780 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
4781 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4782 grub_video_radeon_fuloong2e_fini.
4783 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
4784 [LOONGSON]: Rename to grub_video_sis315pro_init.
4785 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4786 grub_video_sis315pro_fini.
4787 * grub-core/video/sm712.c (GRUB_MOD_INIT)
4788 [LOONGSON]: Rename to grub_video_sm712_init.
4789 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4790 grub_video_sm712_fini.
4791 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
4792 (grub_at_keyboard_fini): Likewise.
4793 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
4794 Don't declare grub_{modname}_init.
4795 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
4796 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
4797 New proto.
4798 (grub_keylayouts_fini) [!EMU]: Likewise.
4799 * include/grub/serial.h (grub_serial_init) [!EMU]:
4800 New proto.
4801 (grub_serial_fini) [!EMU]: Likewise.
4802 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
4803 New proto.
4804 (grub_terminfo_fini) [!EMU]: Likewise.
4805 * include/grub/video.h (grub_font_init) [!EMU]:
4806 New proto.
4807 (grub_font_fini) [!EMU]: Likewise.
4808 (grub_gfxterm_init) [!EMU]: Likewise.
4809 (grub_gfxterm_fini) [!EMU]: Likewise.
4810 (grub_video_sm712_init) [!EMU]: Likewise.
4811 (grub_video_sm712_fini) [!EMU]: Likewise.
4812 (grub_video_sis315pro_init) [!EMU]: Likewise.
4813 (grub_video_sis315pro_fini) [!EMU]: Likewise.
4814 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
4815 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
4816
d5534665
VS
48172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4818
4819 Make nand a prefix for nand devices.
4820
4821 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
4822
10133b5f
VS
48232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
4826 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
4827
8e307a62
VS
48282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * include/grub/env.h (grub_env_find): Remove prototype.
4831 * grub-core/kern/env.c (grub_env_find): Make static.
4832 (grub_env_set): Remove useless set.
4833
a4c65f34
VS
48342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * grub-core/kern/i386/realmode.S: Remove useless align.
4837
d87893d5
VS
48382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * include/grub/dl.h (grub_dl_load_file): Don't export.
4841
50159add
VS
48422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4845 grub_dprintf.
4846
b2582b84
VS
48472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4850 grub_errors.
4851 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4852 not reloading whole superblock but only the part which is really needed.
4853 Remove useless grub_errors.
4854 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4855 grub_errors.
4856
e2a83395
VS
48572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 Don't export grub_get_rtc.
4860
4861 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4862 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4863
e7d2a906
VS
48642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4867
6cf1363b
VS
48682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 4871 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 4872
eece3349
VS
48732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 Remove prio_list.
4876
4877 * include/grub/list.h (grub_prio_list): Removed.
4878 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4879 GRUB_COMMAND_PRIO_MASK.
4880 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4881 GRUB_COMMAND_FLAG_ACTIVE.
4882 (grub_prio_list_insert): Removed.
4883 (grub_prio_list_remove): Likewise.
4884 (GRUB_AS_PRIO_LIST): Likewise.
4885 (GRUB_AS_PRIO_LIST_P): Likewise.
4886 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4887 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4888 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4889 * grub-core/kern/command.c (grub_register_command_prio): Inline
4890 the prio_list code.
4891 (grub_unregister_command): Likewise.
4892
94f064b4
VS
48932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 Fix interrupt mixup from previous commit.
4896
4897 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4898 (grub_realidt): New var.
4899 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4900 Load idt.
4901 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4902 New declaration.
4903 (grub_relocator16_boot): Set grub_relocator16_idt.
4904 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4905 (LOCAL(realidt)): ... this.
4906 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4907 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4908 (grub_realidt): New variable.
4909
27317084
VS
49102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4913 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4914 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4915 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4916 Gettextize.
4917 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4918 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4919 * po/POTFILES.in: Regenerate.
4920
47b40053
VS
49212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4924 errors.
4925
2b343101
VS
49262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4929 \0.
4930 (add_length): Likewise.
4931
ff27c3dd
LK
49322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
49332012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4934
4935 GDB serial and backtrace support.
4936
4937 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4938 (prot_to_real): Likewise.
4939 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4940 * grub-core/Makefile.core.def (backtrace): New module.
4941 (gdb): Likewise.
4942 * grub-core/gdb/cstub.c: New file.
4943 * grub-core/gdb/gdb.c: Likewise.
4944 * grub-core/gdb/i386/idt.c: Likewise.
4945 * grub-core/gdb/i386/machdep.S: Likewise.
4946 * grub-core/gdb/i386/signal.c: Likewise.
4947 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 4948 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
4949 * include/grub/backtrace.h: Likewise.
4950 * include/grub/gdb.h: Likewise.
4951 * include/grub/i386/gdb.h: Likewise.
4952
49532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
4954
4955 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4956 New function.
4957 (add_length): Likewise.
4958 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4959 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4960 proto.
4961 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4962 __argp_get_display_len.
4963
ff27c3dd 49642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
4965
4966 $"..." support in scripts.
4967
4968 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4969 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4970 * grub-core/script/yylex.l: Likewise.
4971 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4972 value.
4973
ff27c3dd 49742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
4975
4976 * gentpl.py: Remove obsolete pkglib_DATA handling.
4977
ff27c3dd 49782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
4979
4980 Don't transform PACKAGE_TARNAME following a discussion on autoconf
4981 mailing list.
4982
4983 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
4984 * util/grub-kbdcomp.in: Likewise.
4985 * util/grub-mkconfig.in: Likewise.
4986 * util/grub-mkconfig_lib.in: Likewise.
4987 * util/grub-mknetdir.in: Likewise.
4988 * util/grub-mkrescue.in: Likewise.
4989 * util/grub-mkstandalone.in: Likewise.
4990 * util/grub-reboot.in: Likewise.
4991 * util/grub-set-default.in: Likewise.
4992 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4993
ff27c3dd 49942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
4995
4996 Remove GRUB_PREFIX.
4997
4998 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
4999 * util/grub.d/00_header.in: Compute prefix in the only place it's still
5000 used for backward compatibility.
5001
ff27c3dd 50022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
5003
5004 Add new all_video module.
5005
5006 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
5007 * grub-core/Makefile.core.def (all_video): New module.
5008 * grub-core/genmoddep.awk: Generate dependency of all_video from
5009 video.lst.
5010 * grub-core/lib/fake_module.c: New file.
5011 * grub-core/normal/main.c (features): Add feature_all_video_module.
5012 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
5013 don't do explicit search again.
47454da5 5014 insmod all_video in load_video if available.
22c7ce85 5015
ff27c3dd 50162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
5017
5018 Another round of string clarification and adding TRANSLATORS comments.
5019
ff27c3dd 50202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
5021
5022 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
5023
ff27c3dd 50242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
5025
5026 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
5027 to grub_ssize_t.
5028 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
5029 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
5030
ff27c3dd 50312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
5032
5033 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
5034 trailing newline implicitly. All users updated.
5035
ff27c3dd 50362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
5037
5038 Implement serial on IEEE1275 and EFI.
5039
5040 * docs/grub.texi (Platform-specific limitations): Fix the columen video
5041 on emu. Mention arc and emu as the only platforms without serial
5042 support.
5043 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
5044 ieee1275 platforms.
5045 * grub-core/term/efi/serial.c: New file.
5046 * grub-core/term/ieee1275/serial.c: Likewise.
5047 * grub-core/term/serial.c (grub_serial_find): Disable direct port
5048 specification if no ns8250 driver is available.
5049 (grub_cmd_serial): Likewise.
5050 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
5051 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
5052 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
5053 (grub_efi_parity_type_t): New type.
5054 (grub_efi_stop_bits_t): Likewise.
5055 (grub_efi_serial_io_interface): New struct.
5056 * include/grub/serial.h (grub_serial_port): Make 'broken' field
5057 available for all interfaces.
5058 Add EFI and IEEE1275 fields.
5059 (grub_ofserial_init): New proto.
5060 (grub_efiserial_init): Likeiwse.
5061 * util/grub.d/00_header.in: Don't check for the presence of serial
5062 module.
5063
ff27c3dd 50642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
5065
5066 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
5067 name as if it was an alias.
5068
114076ef
VS
50692012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * grub-core/commands/lsacpi.c (options): Fix typo.
5072
6a656b0e
VS
50732012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 Convert grub-emu to argp.
5076
5077 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
5078 emu.
5079 * util/argp_common.c: Rename to ...
5080 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
5081 Add missing includes.
5082 * grub-core/kern/emu/main.c: Convert to argp.
5083 * po/POTFILES.in: Regenerate.
5084 * util/grub-install.in (usage): Make first letter lowcase in messages
5085 for uniformity.
5086 * util/grub-setup.c (options): Likewise.
5087
1e3f8ae8
VS
50882012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
5091 Put back accidently commented-out code.
5092
ed167a80
VS
50932012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
5096 loop check using Brent algorithm.
5097 (grub_hfsplus_btree_search): Likewise.
5098
6753c0ec
VS
50992012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 * util/grub-install.in: Fix usage of wrong device for PreP install.
5102
4e27343f
VS
51032012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 * conf/Makefile.common (CFLAGS_GNULIB): Add
5106 -Wno-unsafe-loop-optimizations.
5107 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
5108 on tools.
5109 * grub-core/commands/legacycfg.c: Add pragma to skip
5110 -Wunsafe-loop-optimizations.
5111 (check_password_md5_real): Fix loop counter type.
5112 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
5113 reading.
5114 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
5115 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
5116 loop condition.
5117 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
5118 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
5119 * grub-core/net/net.c (grub_net_route_address): Add safety loop
5120 condition.
5121 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
5122 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
5123 avoid possible infinite loops.
5124 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
5125 and -Wunsafe-loop-optimizations.
5126 * grub-core/script/yylex.l: Likewise.
5127 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
5128 (print_glyphs): Avoid infinite loops.
5129 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
5130
697f18b0
GS
51312012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
5132
5133 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
5134 to avoid infinite loop.
5135 (disp_acpi_rsdt_table): Likewise.
5136
274416e8
VS
51372012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 * grub-core/font/font.c (grub_font_load): Add support for default
5140 path for fonts ($prefix/fonts).
5141 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
5142 for checking if string is a path.
5143 * grub-core/normal/main.c (features): Add feature_default_font_path.
5144 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
5145 * util/grub.d/00_header.in: Use default directory if possible.
5146 * util/grub-install.in: Install unicode.pf2.
5147
b3e08622
VS
51482012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
5151 * po/Rules-swiss: New file.
5152 * po/swiss.sed: Likewise.
5153
fe42ce09
VS
51542012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5155
5156 * grub-core/fs/btrfs.c (find_device): Fix typos.
5157 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
5158 * util/grub-mkrelpath.c (argp_parser): Likewise.
5159 Reported by: Yuri Chornoivan.
5160
72f1d065
DO
51612012-02-23 Dalet Omega <daletomega@gmail.com>
5162
5163 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
5164 for usual informative messages.
5165
c5884973
DO
51662012-02-23 Dalet Omega <daletomega@gmail.com>
5167
5168 Starfield theme.
5169
5170 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
5171 * conf/Makefile.common: Define starfielddir.
5172 * configure.ac: Configure starfield.
5173 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
5174 * themes/starfield/README: Likewise.
5175 * themes/starfield/blob_w.png: Likewise.
5176 * themes/starfield/boot_menu_c.png: Likewise.
5177 * themes/starfield/boot_menu_e.png: Likewise.
5178 * themes/starfield/boot_menu_n.png: Likewise.
5179 * themes/starfield/boot_menu_ne.png: Likewise.
5180 * themes/starfield/boot_menu_nw.png: Likewise.
5181 * themes/starfield/boot_menu_s.png: Likewise.
5182 * themes/starfield/boot_menu_se.png: Likewise.
5183 * themes/starfield/boot_menu_sw.png: Likewise.
5184 * themes/starfield/boot_menu_w.png: Likewise.
5185 * themes/starfield/slider_c.png: Likewise.
5186 * themes/starfield/slider_n.png: Likewise.
5187 * themes/starfield/slider_s.png: Likewise.
5188 * themes/starfield/src/blob_nw.xcf: Likewise.
5189 * themes/starfield/src/bootmenu/: Likewise.
5190 * themes/starfield/src/bootmenu/center.xcf: Likewise.
5191 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
5192 * themes/starfield/src/bootmenu/side.xcf: Likewise.
5193 * themes/starfield/src/slider_c.xcf: Likewise.
5194 * themes/starfield/src/slider_n.xcf: Likewise.
5195 * themes/starfield/src/slider_s.xcf: Likewise.
5196 * themes/starfield/src/terminalbox/: Likewise.
5197 * themes/starfield/src/terminalbox/center.xcf: Likewise.
5198 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
5199 * themes/starfield/src/terminalbox/side.xcf: Likewise.
5200 * themes/starfield/starfield.png: Likewise.
5201 * themes/starfield/terminal_box_c.png: Likewise.
5202 * themes/starfield/terminal_box_e.png: Likewise.
5203 * themes/starfield/terminal_box_n.png: Likewise.
5204 * themes/starfield/terminal_box_ne.png: Likewise.
5205 * themes/starfield/terminal_box_nw.png: Likewise.
5206 * themes/starfield/terminal_box_s.png: Likewise.
5207 * themes/starfield/terminal_box_se.png: Likewise.
5208 * themes/starfield/terminal_box_sw.png: Likewise.
5209 * themes/starfield/terminal_box_w.png: Likewise.
5210 * themes/starfield/theme.txt: Likewise.
5211
17d73325
VS
52122012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * util/grub.d/00_header.in: Add missing export theme.
5215
dbebaf92
VS
52162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
5219 already included.
5220 Reported by: Eren D.
5221
3d68bffb
VS
52222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * conf/Makefile.common (grubdatadir): Removed.
5225 (Makefile.am): Move eveything grubdata to pkgdata.
5226
4b59234d
VS
52272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * grub-core/commands/acpihalt.c (get_sleep_type):
5230 Remove unused variable.
5231
463dcadc
VS
52322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
5235 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
5236 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
5237 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
5238 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
5239 i18n with gettext no-op.
5240 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
5241 GRUB_ACPI_OPCODE_STRING_CONST.
5242 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
5243 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
5244
e5b90c82
VS
52452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * po/POTFILES.in: Regenerate.
5248
2a704ca9
VS
52492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
5252 -Wno-error=missing-noreturn.
5253
84f9d341
VS
52542012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
5257 condition to avoid possibly infinite loops.
5258 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
5259 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
5260
d46683f9
VS
52612012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
5264 condition to avoid possibly infinite loops.
5265
c44866b2
VS
52662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
5269 on show_error.
5270
96790539
VS
52712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
5274
1ba7e295
VS
52752012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
5278
21ffe8f1
VS
52792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 * util/bin2h.c (usage): Add missing attribute noreturn.
5282
0ccb6b3c
VS
52832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
5286 if the size isn't divisible by 512.
5287
b00d7fb6
VS
52882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 Make list_push and list_remove functions rather than inline functions
5291 to decrease size and avoid aliasing violations.
5292
5293 * include/grub/list.h (grub_list_push): Move to ...
5294 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
5295 * include/grub/list.h (grub_list_remove): Move to ...
5296 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
5297
9d369087
VS
52982012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
5301 and -Wunused-result.
5302
af0250d9
VS
53032012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
5306 Reported by: Seth Goldberg
5307
aad32b14
VS
53082012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
5311
ac96441c
ST
53122012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
5313
5314 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
5315 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
5316 command line.
5317 * docs/grub.texi (Simple configuration): Document
5318 GRUB_CMDLINE_GNUMACH.
5319
53202012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
5321
5322 * conf/Makefile.common (platform_SCRIPTS): New variable.
5323 (platform_PROGRAMS): Likewise.
5324 * gentpl.py: Mark *,module and *.image for install.
5325 * grub-core/gdb_grub.in: Add a notice of expected environment.
5326 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
5327 (gmodule.pl): Likewise.
5328
ac96441c 53292012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
5330
5331 Replace grub_checkkey with grub_getkey_noblock.
5332
5333 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
5334 (grub_getkey_noblock): ... this. All users updated.
5335
ac96441c 53362012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
5337
5338 * grub-core/kern/emu/console.c: Move to ...
5339 * grub-core/term/emu/console.c: ...here.
5340 (grub_ncurses_getkey): Fix return value if no key is detected.
5341
e51b5666
VS
53422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
5345 (grub_unit_test_fini): Likewise.
5346 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
5347
53482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5349
5350 * include/grub/test.h (GRUB_UNIT_TEST)
5351
d9a62292
VS
53522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * grub-core/script/execute.c (grub_script_break): Clarify logic.
5355 Better error handling.
5356 (grub_script_return): Likewise.
5357 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5358
77c9182f
VS
53592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
5362 rimplicit redifinition.
5363
edb13cf9
VS
53642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
5367 GRUB.
5368
a9e9dc7c
VS
53692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5370
5371 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
5372 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
5373 prompt here.
5374
b4ba8e02
VS
53752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
5378 as GRUB_ERR_BUG. Don't malloc if no device is available.
5379
dded5540
VS
53802012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
5383 Mark calling with invalid term as GRUB_ERR_BUG.
5384
0cf69874
VS
53852012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
5388 packets rather than raising an error.
5389
59bfe502
VS
53902012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
5393 in if.
5394
db5fc596
VS
53952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5396
5397 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
5398 diagnostic to dprintf.
5399 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5400
e4b7f404
VS
54012012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
5404 device name.
5405
e7b02f9e
VS
54062012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
5409 (grub_ntfs_iterate_dir): Likewise.
5410
0331e102
VS
54112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 Efiemu stylistic fixes and gettext.
5414
5415 * grub-core/efiemu/i386/loadcore32.c
5416 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
5417 * grub-core/efiemu/i386/loadcore64.c
5418 (grub_arch_efiemu_relocate_symbols64): Likewise.
5419 * grub-core/efiemu/i386/pc/cfgtables.c
5420 (grub_machine_efiemu_init_tables): Likewise.
5421 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
5422 (grub_efiemu_loadcore_initXX): Add a filename argument.
5423 All users updated.
5424 Improved error message.
5425 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
5426 Add a filename argument.
5427 All users updated.
5428 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
5429 Reclassify double relocation as GRUB_ERR_BUG.
5430
306fc074
VS
54312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
5434 handling.
5435
794d8ef2
VS
54362012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
5439 on partition.
5440
54412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
5442
5443 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
5444
794d8ef2 54452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
5446
5447 Improve string. Gettextize.
5448
78dde88e
VS
54492012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
5452 utils.
5453 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
5454
4786a90f
VS
54552012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5456
5457 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
5458 [GRUB_UTIL]: New function.
5459 (insert_array) [GRUB_UTIL]: Store partmaps.
5460 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
5461 partmaps.
5462 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
5463 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
5464 (probe_abstraction): Print diskfilter and not raid.
5465 Reported by: Lennart Sorensen
5466
0b6225bd
VS
54672012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
5470 * util/grub-mkimagexx.c (MASK3): New define.
5471 (add_value_to_slot_20b): Use MASK3.
5472 (add_value_to_slot_21): Likewise.
5473 (relocate_addresses): Fix format specification.
5474 (load_image): Explicitly init symtab_section.
5475
b055f8f6
VS
54762012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
5479 (grub_util_biosdisk_get_grub_dev): Fix format specification.
5480
b77c2fb7
VS
54812012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
5484 on powerpc.
5485 Reported by: Lennart Sorensen
5486
e3ec28ab
VS
54872012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 * gentpl.py: Add missing license header.
5490 * docs/grub.texi: Update copyright year.
5491
c8d9ead6
GS
54922012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
5493
5494 Source grub-mkconfig_lib from the build directory at build time.
5495 Suggested by: Vladimir Serbinenko.
5496
5497 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
5498 * util/grub-install.in: Define pkgdatadir if not already set, and source
5499 grub-mkconfig_lib from there.
5500 * util/grub-kbdcomp.in: Likewise.
5501 * util/grub-mkconfig.in: Likewise.
5502 * util/grub-mknetdir.in: Likewise.
5503 * util/grub-mkrescue.in: Likewise.
5504 * util/grub-mkstandalone.in: Likewise.
5505 * util/grub-reboot.in: Likewise.
5506 * util/grub-set-default.in: Likewise.
5507 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5508
ebcecdf1
VS
55092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 Increase warning level.
5512
5513 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
5514 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
5515 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
5516 (TARGET_CFLAGS): Likewise.
5517 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
5518 * grub-core/Makefile.core.def (decompressor_xz): Add
5519 -Wno-unreachable-code.
5520 (normal): Add -Wno-redundant-decls.
5521 (xzio): Add -Wno-unreachable-code.
5522 (lzopio): Add -Wno-redundant-decls -Wno-error.
5523 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
5524 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
5525 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
5526 * grub-core/kern/dl.c: Add exception to -Wcast-align.
5527 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
5528 * grub-core/kern/i386/coreboot/init.c: Add exception to
5529 -Wsuggest-attribute=noreturn.
5530 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
5531 * grub-core/kern/ia64/dl_helper.c: Likewise.
5532 * grub-core/kern/mips/dl.c: Likewise.
5533 * grub-core/kern/sparc64/dl.c: Likewise.
5534 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
5535 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
5536 (memcmp): Likewise.
5537 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
5538 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
5539 * grub-core/loader/mips/linux.c: Likewise.
5540 * grub-core/loader/multiboot_elfxx.c: Likewise.
5541 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
5542 * grub-core/video/sm712.c: Add exception to -Wcast-align.
5543 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
5544 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
5545 fixme.
5546 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
5547 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
5548 Fix prototype.
5549
37bb97fe
VS
55502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
5553 address.
5554
29a3550b
VS
55552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5556
5557 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
5558 Avoid improper use of strings.
5559 (grub_cmd_legacy_initrdnounzip): Likewise.
5560
dfdffd0d
VS
55612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * include/grub/emu/misc.h (grub_util_warn): Add missing format
5564 attribute.
5565 (grub_util_info): Likewise.
5566 (grub_util_error): Likewise.
5567
102fae4a
VS
55682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
5571 * util/grub-fstest.c (fstest): Likewise.
5572
7e94d044
VS
55732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5574
5575 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
5576 (grub_md_sha512_real): Likewise.
5577 (grub_util_get_geli_uuid): Likewise.
5578 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
5579 (grub_util_biosdisk_open): Fix format specification.
5580 Respect format security.
5581 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
5582 (xrealloc): Likewise.
5583 (xasprintf): Likewise.
5584
5ebd9769
VS
55852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * util/import_gcry.py: Include grub/crypto.h in init.c.
5588
495fc8c1
VS
55892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5590
5591 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
5592 (generate_image): Make prefix a const char *.
5593 Fix format specifications. Respect format security.
5594 Avoid void * arithmetics.
5595 Avoid shadowing.
5596 (argp_parser): Remove unused variable. Respect format security.
5597 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
5598 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
5599 (count_funcs): Remove unused variable.
5600 (relocate_addresses): Fix format specification.
5601 Disable x86-64 with elf32. Remove unused variables.
5602 (add_fixup_entry): Avoid shadowing.
5603 (make_reloc_section): Fix format specification.
5604 Use assert.
5605 (locate_sections): Fix format specifications.
5606 (load_image): Avoid shadowing.
5607
043c2ea3
VS
56082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
5611 Fix format specifications. Respect format security.
5612 Don't translate already translated grub_errmsg.
5613 (argp_parser): Remove unused variable
5614
3ec65a81
VS
56152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
5618
a4d9fe4a
VS
56192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
5622 (main): Likewise. Use xmalloc. Respect format security.
5623
15b81d49
VS
56242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
5627 a const char *.
5628 (argp_parser): Remove unused variable.
5629
31731fc0
VS
56302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5631
5632 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
5633 (add_pixel): Make static.
5634 (add_font): Likewise.
5635 (write_string_section): Make name and str a const char *.
5636 (write_be16_section): Make name a const char *.
5637 (print_glyphs): Make static.
5638 (write_font_ascii_bitmap): Likewise.
5639 (write_font_width_spec): Likewise.
5640 (write_font_pf2): Likewise.
5641 (argp_parser): Remove unused variable.
5642 Respect format security.
5643 (main): Avoid shadowing. Respect format security.
5644
0809527b
VS
56452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 * util/grub-editenv.c (argp_parser): Make static.
5648 (create_envblk_file): Use xmalloc.
5649 (open_envblk_file): Likewise.
5650 Resepect format security.
5651 (set_variables): Respect format security.
5652
45b0c8b7
VS
56532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 * util/getroot.c (grub_find_device): Respect format security.
5656 (get_mdadm_uuid): Remove unused variable.
5657 (grub_util_pull_device): Dont call gettext on already translated
5658 grub_errmsg.
5659 (find_system_device): Remove unused variable.
5660 (grub_util_get_grub_dev): Likewise.
5661 (grub_make_system_path_relative_to_its_root): Respect format security.
5662
1b024b4e
VS
56632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 * util/grub-fstest.c (execute_command): Make first argument
5666 a const char *.
5667 (read_file): Avoid shadowing.
5668 Reuse underlying error message if device open fails.
5669 (cmd_cmp): Respect format security.
5670 (root): Make const char *.
5671 (fstest): Remove args argument and use global copy.
5672 Respect format security.
5673 (argp_parser): Make static.
5674 (main): Make default_root const char *.
5675
5d1d4e28
VS
56762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * util/grub-mount.c (root): Make const char *.
5679 (execute_command): Make first argument a const char *.
5680 (fuse_init): Respect format security.
5681 (argp_parser): Make static. Remove unused variable.
5682 (main): Make default_root a const char *.
5683 Respect format security.
5684
36eb7379
VS
56852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 * util/grub-probe.c (probe): Don't call gettext on already translated
5688 grub_errmsg.
5689 Remove unused variables.
5690 (argp_parser): Remove unused variable.
5691
76fb2ea9
VS
56922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * util/grub-script-check.c (argp_parser): Remove unused variable.
5695 (main): Rename read to curread to avoid shadowing.
5696
56c98584
VS
56972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 * util/misc.c (grub_util_write_image_at): Fix format specification.
5700 (grub_util_write_image): Likewise.
5701 (grub_script_execute_argument_to_string): Removed (unused).
5702 (grub_script_execute_menuentry): Likewise.
5703 (grub_putchar): Likewise.
5704
164ebb48
VS
57052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
5708 (FUNCTION) [GRUB_UTIL]: Likewise.
5709 (VARIABLE) [GRUB_UTIL]: Likewise.
5710
44318d61
VS
57112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
5714 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
5715
31a26002
VS
57162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
5719 buffer.
5720
57212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
5724 (LzmaEnc_SaveState): Removed (unused).
5725 (LzmaEnc_RestoreState): Likewise.
5726 (LzmaEnc_InitPriceTables): Made static.
5727 (LzmaEnc_Construct): Likewise.
5728 (LzmaEnc_FreeLits): Likewise.
5729 (LzmaEnc_Destruct): Likewise.
5730 (LzmaEnc_Init): Likewise.
5731 (LzmaEnc_InitPrices): Likewise.
5732 (LzmaEnc_Finish): Likewise.
5733 (LzmaEnc_PrepareForLzma2): Removed (unused).
5734 (LzmaEnc_MemPrepare): Likewise.
5735 (LzmaEnc_GetNumAvailableBytes): Likewise.
5736 (LzmaEnc_GetCurBuf): Likewise.
5737 (LzmaEnc_CodeOneMemBlock): Likewise.
5738
6fa67967
VS
57392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
5742 (grub_util_ldm_embed): Likewise.
5743
9a7428e6
VS
57442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 * util/grub-editenv.c (print_var): Rename name to varname to
5747 avoid shadowing.
5748 (main): Rename index to curindex to avoid shadowing.
31a26002 5749 Make filename a const char *.
9a7428e6 5750
4f96abd1
VS
57512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5752
5753 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5754 to arg_getline to avoid shadowing.
5755
44d10dad
VS
57562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
5759 disk_ to avoid shadowing.
5760
340ba63e
VS
57612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
5764 curindex to avoid shadowing.
5765 Make static.
5766 (MatchFinder_GetNumAvailableBytes): Make static.
5767
22965bce
VS
57682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
5771 avoid shadowing.
5772
7b5784d4
VS
57732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
5776 argument from encrypt to do_encrypt to avoid shadowing.
5777
6f48ca01
VS
57782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
5781 incorrect nesting of #if's.
5782
a4ea2dff
VS
57832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
5786 checks which are always false on some platforms.
5787 (grub_cmd_lsacpi): Likewise.
5788 * grub-core/kern/misc.c (grub_strtoul): Likewise.
5789 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
5790 Likewise.
5791
def9fc1b
VS
57922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
5795 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
5796
a67b2a04
VS
57972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
5800 re_dfa_t to avoid breaking alignment invariants.
5801 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
5802 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
5803
44c6828d
VS
58042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
5807 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
5808
bebe0dd0
VS
58092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
5812 Fix declaration.
5813
a9cdb3cf
VS
58142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
5817 conserve alignment invariants.
5818 (grub_ehci_ehcc_read16): Likewise.
5819 (grub_ehci_oper_read32): Likewise.
5820 (grub_ehci_oper_write32): Likewise.
5821 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5822 Conserve alignment invariants.
5823
ccc3b1b8
VS
58242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5825
5826 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
5827 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
5828 declarations.
5829
987fbd95
VS
58302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
5833 Remove unused variable.
5834
0df363f3
VS
58352012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5838 Remove set in if.
5839
b2c0c4a6
VS
58402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 * include/grub/net.h: Remove double declarations.
5843
690c531f
VS
58442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 Remove "payload" command in ia64 Linux loader since I couldn't
5847 find any evidence of it being used for anything.
5848 Replace "relocate" command with an environment variable
5849
5850 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5851 fields.
5852 (ia64_boot_payload): Removed.
5853 (last_payload): Likewise.
5854 (RELOCATE_OFF): Likewise.
5855 (RELOCATE_ON): Likewise.
5856 (RELOCATE_FORCE): Likewise.
5857 (relocate): Likewise.
5858 (free_pages): Don't free payloads.
5859 (grub_load_elf64): Use common error messages.
5860 Use "linux_relocate" variable.
5861 Increase the space after boot_params.
5862 (grub_cmd_payload): Removed.
5863 (grub_cmd_relocate): Likewise.
5864 (grub_cmd_fpswa): Improve messages.
5865 (cmd_payload): Removed.
5866 (cmd_relocate): Likewise.
5867 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5868 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5869
01783768
VS
58702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 Convert UHCI to DMA framework.
5873
5874 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5875 (grub_uhci_pci_iter): Fill new members
5876 (grub_alloc_td): Use P2V and V2P functions.
5877 (grub_free_queue): Likewise.
5878 (grub_alloc_qh): Likewise.
5879 (grub_uhci_setup_transfer): Likewise.
5880 (grub_uhci_check_transfer): Likewise.
5881
43206939
VS
58822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5885 Remove assignment in if while on it.
5886
571e140e
VS
58872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 * util/grub-mkstandalone.in: Fix modules directory.
5890
a9d96eeb
VS
58912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5894 on i386-pc target.
5895 (argp_parser): Accept "auto" as compression specification.
5896
e4e37e8d
VS
58972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5898
5899 Fix `help' with unloaded modules.
5900
5901 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5902 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5903 (grub_dyncmd_dispatcher): Small stylistic fix.
5904 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5905 explicit help is requested.
5906
e1ea3ade
VS
59072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5910 Explicitly init restart while on it.
5911
27556881
VS
59122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5915 uninited variable.
5916
d65f6b36
VS
59172012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 * util/grub-mknetdir.in: Use . rather than source for POSIX
5920 compatibility.
5921
0a1e473c
VS
59222012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5925
ce6647c8
VS
59262012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5929 variable.
5930
66747894
VS
59312012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5934 without quotes.
5935
71645f6e
VS
59362012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5937
5938 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5939
0e1c1f61
VS
59402012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5941
5942 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5943 iteration of partitions.
5944
9c4b5c13
VS
59452012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5946
5947 Improve gettext support. Stylistic fixes and error handling fixes while
5948 on it.
5949
215c90cb
VS
59502012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5953 part. Instead setup the correct stack in RM.
5954 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5955 for stack.
5956 * include/grub/i386/relocator_private.h: New file.
5957
b5c1f9bf
VS
59582012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5961 argument.
5962 * util/grub-fstest.c (options): Add missing DEVICE part.
5963
b525fd83
VS
59642012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 Clarify and unify messages.
5967
5968 * grub-core/commands/hashsum.c (options): Unify messages.
5969 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5970 literal-only message as translatable.
5971 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5972 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5973 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5974 commands.
5975 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5976 key, not the key used to unlock. Clarify what it's used for.
5977 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
5978 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
5979 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
5980 * util/grub-editenv.c (options): Unify "verbose" message.
5981 * util/grub-fstest.c (read_file): Unify error message.
5982 (fstest): Add quotes around commands.
5983 (options): Unify "verbose" message.
5984 * util/grub-install.in: Add quotes around variable name.
5985 * util/grub-kbdcomp.in: Unify error message.
5986 * util/grub-mkfont.c (main): Likewise.
5987 * util/grub-mkrescue.in: Likewise.
5988 * util/grub-mklayout.c (options): Unify "verbose" message.
5989 * util/grub-mkstandalone.in: Unify help and verbose messages.
5990 * util/grub-mount.c (options): Unify "verbose" message.
5991 * util/grub-probe.c (options): Likewise.
5992 * util/grub-script-check.c (options): Likewise.
5993 * util/grub-setup.c (setup): Unify no-terminator message.
5994 (options): Use DEVICE and not DEV.
5995 Unify "verbose" message.
5996 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
5997
0ae70393
VS
59982012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5999
6000 Improve and unify messages.
6001
6002 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
6003 name. All users updated.
6004 Print filename in error.
6005 (read_device_map): Print filename in error.
6006 * util/getroot.c (grub_guess_root_devices): Print filename in error.
6007 (grub_util_get_os_disk): Likewise.
6008 (grub_util_biosdisk_get_grub_dev): Likewise.
6009 (grub_util_check_block_device): Likewise.
6010 (grub_util_check_char_device): Likewise.
6011 (grub_make_system_path_relative_to_its_root): Likewise.
6012 * util/grub-editenv.c (create_envblk_file): Likewise.
6013 (open_envblk_file): Likewise.
6014 (write_envblk): Likewise.
6015 * util/grub-fstest.c (cmd_cp): Likewise.
6016 (cmd_cat): Likewise.
6017 (cmd_cmp): Likewise.
6018 * util/grub-menulst2cfg.c (main): Likewise.
6019 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
6020 (write_font_width_spec): Likewise.
6021 (write_font_pf2): Likewise.
6022 * util/grub-mkimage.c (generate_image): New argument outname.
6023 All users updated.
6024 Remove unreacheable message.
6025 (options): Unify messages.
6026 (help_filter): Likewise.
6027 * util/grub-mklayout.c (usage): Removed (unused).
6028 (main): Print filename in error.
6029 * util/grub-mkrescue.in: Fix wrong quoting.
6030 * util/grub-setup.c (setup): Print filename in error.
6031 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
6032 (check_sas): Likewise.
6033 * util/misc.c (grub_util_get_fp_size): Removed.
6034 (grub_util_get_image_size): Print filename in error.
6035 (grub_util_read_at): Removed.
6036 (grub_util_read_image): Print filename in error.
6037 (grub_util_load_image): Likewise.
6038 (grub_util_write_image_at): New argument filename. All users updated.
6039 Print filename in error.
6040 (grub_util_write_image): New argument filename. All users updated.
6041 Print filename in error.
6042 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
6043 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
6044
0a96117d
VS
60452012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 * grub-core/Makefile.core.def (pxechain): New module.
6048 * grub-core/loader/i386/pc/pxechainloader.c: New file.
6049 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
6050 function.
6051 (grub_pc_net_config_real): Use grub_pxe_get_cached.
6052 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
6053
aca002f7
VS
60542012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
6057 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
6058 * include/grub/err.h (grub_error_saved): New struct.
6059 (grub_errmsg): Make array size explicit.
6060 * include/grub/misc.h (grub_error_save): New function.
6061 (grub_error_load): Likewise.
6062 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
6063 (grub_error_push): Update `errno' member name.
6064 (grub_error_pop): Likewise
6065 * grub-core/net/tftp.c (tftp_data): New member save_err.
6066 (tftp_receive): Save error.
6067 (tftp_open): Restore error.
6068
a51dab13
VS
60692012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
6072 to real mode down to execute A20-related code in protected mode as
6073 intended.
6074
eb6e6649
GS
60752012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6076
6077 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
6078 NULL when the argument `level' has an unexpected value.
6079
92cd0f6e
VS
60802012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 Move platform-dependent files from $prefix to $prefix/$platform.
6083
6084 * config.h.in (GRUB_TARGET_CPU): New definition.
6085 (GRUB_PLATFORM): Likewise.
6086 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
6087 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
6088 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
6089 * grub-core/kern/dl.c (grub_dl_load): Likewise.
6090 * grub-core/normal/autofs.c (read_fs_list): Likewise.
6091 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
6092 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
6093 * grub-core/normal/term.c (read_terminal_list): Likewise.
6094 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
6095 $prefix/locale.
6096 (grub_gettext_init_ext): Likewise.
6097 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
6098 grub_platform.
6099 * util/grub-install.in: Update directories.
6100 * util/grub-mknetdir.in: Likewise.
6101 * util/grub-mkrescue.in: Likewise.
6102
db606889
VS
61032012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
6106 grub_error framework. All users updated.
6107
c39992a4
VS
61082012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
6111 lists (by always binsearching), improve caching (cache strings
6112 used for binsearch, not only results), improve
6113 maintainability (by using more structured binary search) and correct
6114 error handling.
6115
1e5ec32f
VS
61162012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 * grub-core/script/execute.c (grub_script_return): Fix warning.
6119
ac576cde
VS
61202012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 * grub-core/script/execute.c (grub_script_return): Fix potential
6123 NULL-dereference.
6124 Reported by: Jim Meyering.
6125
498453f6
VS
61262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 * po/POTFILES.in: Regenerate.
6129 * util/grub-install.in: Gettextize the strings missed in first pass.
6130
8be63f2e
VS
61312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 * Makefile.util.def (grub-mkdevicemap): Removed.
6134 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
6135 * include/grub/util/deviceiter.h: Removed.
6136 * util/deviceiter.c: Likewise.
6137 * util/getroot.c (grub_util_get_os_disk): New function.
6138 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
6139 replacement for EFI.
6140 * util/grub-mkdevicemap.c: Removed.
6141 * util/grub-probe.c (probe): Handle PRINT_DISK.
6142 (argp_parser): Handle -t disk.
6143
8e1e4e39
VS
61442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * util/grub-mkfont.c: Migrate to argp.
6147 * util/grub-mklayout.c: Likewise.
6148 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6149 * util/grub-mkrelpath.c: Likewise.
6150 * util/grub-probe.c: Likewise.
6151 * util/grub-script-check.c: Likewise.
6152
4459819a
VS
61532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 * util/grub-reboot.in: Add missing datarootdir.
6156 Add missing newline.
6157 * util/grub-set-default.in: Add missing datarootdir.
6158 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
6159 * util/grub-mkrescue.in: Likewise.
6160
f65741c7
VS
61612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
6164
c1a33466
VS
61652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6166
6167 * util/grub-kbdcomp.in: Add decent help and gettextize.
6168 * docs/man/grub-kbdcomp.h2m: New file.
6169
c76899a0
VS
61702012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 Migrate grub-mkimage.c to argp.
6173
6174 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
6175 (grub-setup): Likewise.
6176 * util/grub-setup.c (print_version): Move to ...
6177 * util/argp_common.c (print_version): ... here.
6178 * util/grub-setup.c (argp_program_version_hook): Move to ...
6179 * util/argp_common.c (argp_program_version_hook): ... here.
6180 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
6181 safety.
6182 * util/grub-mkimage.c (main): Migrate to argp.
6183
57db0757
VS
61842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6185
6186 * util/grub-mkrescue.in: Use same message as
6187 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
6188 for better translations.
6189
18534ad9
VS
61902012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
6193 options with generic grub-mkrescue.in with the goal of future
6194 merge.
6195
c84ba308
VS
61962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 * grub-core/kern/mm.c: Add missing include of i18n.h
6199 * grub-core/lib/relocator.c: Likewise.
6200
347998c2
VS
62012012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
6204 error.
6205 (allocate_pages): Check return value.
6206 Replace fatal with error.
6207 (grub_linux_boot): Replace printf with dprintf.
6208 Check find_mmap_size return value.
6209 Replace fatal with error.
6210 Don't call grub_machine_fini.
6211 (grub_load_elf64): Replace printf with dprintf.
6212 (grub_cmd_linux): Likewise.
6213 (grub_cmd_initrd): Likewise.
6214 (grub_cmd_payload): Likewise.
6215
c779226e
VS
62162012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
6219 message.
6220 * grub-core/video/radeon_fuloong2e.c
6221 (grub_video_radeon_fuloong2e_setup): Likewise.
6222 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
6223 * grub-core/video/video.c (grub_video_set_mode): Don't override
6224 standard out of memory message.
6225
dc87d45a
GS
62262012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6227
6228 NetBSD disk wedge support.
6229
6230 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
6231 [__NetBSD__]: Handle NetBSD disk wedges.
6232 * util/getroot.c (convert_system_partition_to_system_disk)
6233 [__NetBSD__]: Likewise.
6234
055f856f
MW
62352012-02-03 Mark Wooding <mdw@distorted.org.uk>
6236
6237 * util/grub-mkconfig.in: Use umask rather than chmod to create
6238 grub.cfg.new to avoid insecure grub.cfg.
6239
4a9f8346
VS
62402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6241
6242 * grub-core/commands/ls.c: Gettextize.
6243 * grub-core/commands/setpci.c: Likewise.
6244 * grub-core/commands/videotest.c: Likewise.
6245 * grub-core/disk/geli.c: Likewise.
6246 * grub-core/kern/mm.c: Likewise.
6247 * grub-core/lib/relocator.c: Likewise.
6248 * grub-core/loader/efi/appleloader.c: Likewise.
6249 * grub-core/loader/i386/xnu.c: Likewise.
6250 * grub-core/loader/ia64/efi/linux.c: Likewise.
6251 * grub-core/loader/xnu.c: Likewise.
6252 * grub-core/net/dns.c: Likewise.
6253 * grub-core/net/net.c: Likewise.
6254 * grub-core/script/lexer.c: Likewise.
6255 * grub-core/script/parser.y: Likewise.
6256 * grub-core/script/yylex.l: Likewise.
6257 * util/getroot.c: Likewise.
6258 * util/grub-setup.c: Likewise.
6259
a646a366
VS
62602012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
6263 number.
6264
54e2be26
VS
62652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
6268
f7c71e68
VS
62692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
6272 macro.
6273 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
6274 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
6275
a32d5c71
VS
62762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
6279 * util/grub-install.in: Gettextize.
6280 * util/grub-mkconfig.in: Likewise.
6281 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
6282 if not available.
6283 (grub_warn): Gettextize.
6284 * util/grub-mknetdir.in: Gettextize.
6285 * util/grub-mkrescue.in: Likewise.
6286 * util/grub-mkstandalone.in: Likewise.
6287 * util/grub-reboot.in: Likewise.
6288 * util/grub-set-default.in: Likewise.
6289 * util/grub.d/00_header.in: Likewise.
6290 * util/grub.d/10_hurd.in: Likewise.
6291 * util/grub.d/10_kfreebsd.in: Likewise.
6292 * util/grub.d/10_linux.in: Likewise.
6293 * util/grub.d/10_netbsd.in: Likewise.
6294 * util/grub.d/10_windows.in: Likewise.
6295 * util/grub.d/20_linux_xen.in: Likewise.
6296 * util/grub.d/30_os-prober.in: Likewise.
6297 * po/POTFILES-shell.in: Regenerate.
6298
69edd81a
RL
62992012-02-03 Richard Laager <rlaager@wiktel.com>
6300
6301 * util/grub-mkimage.c (main): Fix format-security warning.
6302 * util/grub-mkrelpath.c (main): Likewise.
6303 * util/grub-probe.c (main): Likewise.
6304
65f08dbf
RL
63052012-02-03 Richard Laager <rlaager@wiktel.com>
6306
6307 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
6308 failure.
6309 Put back lost PRINT_DRIVE.
6310
e9084abe
RL
63112012-02-03 Richard Laager <rlaager@wiktel.com>
6312
6313 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
6314 (grub_guess_root_devices): Replace strlen with sizeof.
6315 Avoid crash.
6316 (find_root_devices_from_poolname): Remove unused variable.
6317 Handle raidzN.
6318
cf5f7ee7
VS
63192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 Support install on multi-device filesystems.
6322
6323 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
6324 (grub_guess_root_devices): ...this. Return char **. All users updated.
6325 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
6326 Removed.
6327 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
6328 (find_root_devices_from_poolname): ... here.
6329 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
6330 Support zfs-fuse.
6331 (grub_guess_root_device): Rename to ...
6332 (grub_guess_root_devices): ... this. Return char **. All users updated.
6333 * util/grub-install.in: Handle multi-device filesystems.
6334 * util/grub-probe.c (probe). Make device_names a char **. Add delim
6335 argument. All users updated.
6336 Handle multi-device filesystems.
6337 Use 'delim' as separator.
6338 Remove device check to allow filesystems on file.
6339 (main): Support -0 argument. Handle multi-device.
6340 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
6341 Fix a cross-device check while on it.
6342 (arguments): Remove root_dev.
6343 (argp_parser): Remove -r.
6344 (main): Remove root_dev.
6345
2f53a9ed
VS
63462012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
6349
17e1d934
VS
63502012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
6353 symbol.
6354 Reported by: NODA, Kai <nodakai>.
6355
d3e3fab5
VS
63562012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6357
6358 Fix ehci on amd64.
6359
6360 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
6361 pointers.
6362 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
6363 (grub_ehci_setup_qh): Likewise.
6364 (grub_ehci_find_qh): Likewise.
6365 (grub_ehci_transaction): Likewise.
6366 (grub_ehci_setup_transfer): Likewise.
6367 (grub_ehci_check_transfer): Likewise.
6368 (grub_ehci_portstatus): Likewise.
6369 (grub_ehci_detect_dev): Likewise.
6370 (grub_ehci_transfer_controller_data): New field td_last_phys.
6371 (grub_ehci_setup_transfer): Fill td_last_phys.
6372 (grub_ehci_check_transfer): Use td_last_phys.
6373
3008675b
SG
63742012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
6375
6376 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
6377 if no submenu is present.
6378
fc9b5652
AN
63792012-02-01 Aleš Nesrsta <starous@volny.cz>
6380
6381 CBI support.
6382
6383 * include/grub/usb.h (grub_usbms_protocol_t): New values
6384 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
6385 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
6386 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
6387 (grub_usbms_dev): Add subclass, protocol and intrpt.
6388 Remove in_maxsz and out_maxsz.
6389 (grub_usbms_reset): Rename to ...
6390 (grub_usbms_bo_reset): .. this.
6391 (grub_usbms_cbi_cmd): New function.
6392 (grub_usbms_cbi_reset): Likewise.
6393 (grub_usbms_reset): Likewise.
6394 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
6395 (grub_usbms_transfer): Rename to ...
6396 (grub_usbms_transfer_bo): ... this.
6397 (grub_usbms_transfer_cbi): Likewise.
6398 (grub_usbms_transfer): Likewise.
6399
a2b81d53
AN
64002012-02-01 Aleš Nesrsta <starous@volny.cz>
64012012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6402
6403 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
6404 the support for the CS5536 modification thereos and few bugfixes.
6405
6406 * grub-core/Makefile.core.def (ehci): New module.
6407 * grub-core/bus/usb/ehci.c: New file.
6408 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
6409 port and hubaddr. All users updated.
6410 Save port and hubaddr into dev structure.
6411 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
6412 define.
6413 * include/grub/pci.h (grub_dma_phys2virt): New function.
6414 (grub_dma_virt2phys): Likewise.
6415 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
6416
b1d51f02
VS
64172012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
6420 check as some mkfs implementations omit it.
6421
fc694106
VS
64222012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6423
6424 * docs/grub.texi (Unicode): Mention identifier and space limitations.
6425
6c0920e3
VS
64262012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
6429 Add new member volname2.
6430 (grub_jfs_label): Use volname2 if available.
6431
d1a46f9a
VS
64322012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6433
6434 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
6435 over last_mounted as seen in image generated by mkfs.nilfs2.
6436 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
6437
dec8ed14
VS
64382012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
6441 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
6442 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
6443
7397c69b
VS
64442012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
6447 over the sector.
6448
b3fe42ad
VS
64492012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
6452 subvolume name (by removing a bogus and useless check).
6453
10476bb0
VS
64542012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
6457 sizeof while on it.
6458
9c08ad87
VS
64592012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
6462 (grub_scsi_read_capacity10): ... this.
6463 (grub_scsi_read_capacity16): New function.
6464 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
6465 0xffffffff.
6466 Fix off-by-one error.
6467 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
6468 64-bit unsigned.
6469 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
6470 (grub_scsi_read_capacity10): ... this.
6471 (grub_scsi_read_capacity_data): Rename to ...
6472 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
6473 (grub_scsi_read_capacity16): New struct.
6474 (grub_scsi_read_capacity16_data): Likewise.
6475 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
6476 grub_scsi_cmd_read_capacity10.
6477 New command grub_scsi_cmd_read_capacity16.
6478
bc8d0f45
VS
64792012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 SCSI >2TiB support.
6482
6483 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
6484 (grub_scsi_write16): Likewise.
6485 (grub_scsi_read): Use read16 when necessary.
6486 (grub_scsi_write): Likewise.
6487 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
6488 (grub_scsi_write16): Likewise.
6489 (grub_scsi_cmd_t): Add READ16 and WRITE16.
6490
cc774926
VS
64912012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 SCSI write support (for usbms mainly).
6494
6495 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
6496 a const pointer.
6497 (grub_scsi_write): Implement.
6498 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
6499
67639fd7
VS
65002012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
6503 variable.
6504
9079d3ed
VS
65052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 * grub-core/lib/posix_wrap/string.h (memchr): New function.
6508
c6a6f204
VS
65092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * po/POTFILES.in: Regenerate.
6512
ecbf8cd1
VS
65132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
6516 with grub_printf to avoid unnecessary fatal failure.
6517
0b3b3b38
VS
65182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6519
6520 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
6521 (INT_MAX): Likewise.
6522 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
6523 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
6524 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
6525 (strcpy): Likewise.
6526 (strstr): Likewise.
6527 (strchr): Likewise.
6528 (strncpy): Likewise.
6529 (strcat): Likewise.
6530 (strncat): Likewise.
6531 (strcoll): Likewise.
6532 * include/grub/types.h (GRUB_SHRT_MAX): New define.
6533 (GRUB_INT_MAX): Likewise.
6534
db7337a3
VS
65352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
6538 unexpected error.
6539 (optimize_utf8): Likewise.
6540 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
6541
f37c87e1
VS
65422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 * grub-core/boot/i386/pc/lnxboot.S: Use
6545 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
6546 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
6547 location.
6548 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
6549 definition.
6550 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
6551
63fe43f3
VS
65522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6553
6554 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
6555 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
6556 now to avoid double free.
6557 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
6558 hostdisk.
6559 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
6560 * util/grub-probe.c (escape_of_path): Always return a new copy.
6561 (print_full_name): Escape path.
6562 (probe): Don't call grub_util_devname_to_ofpath on NULL.
6563 Fix hints on abstractions.
6564
ebe2c961
VS
65652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
6568 Don't add "root" line if no compatibility hont is available.
6569 Suggested by: Seth Goldberg.
6570
2b5336a2
VS
65712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6572
6573 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
6574 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
6575 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
6576 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
6577
74310bd8
VS
65782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
6581
c30582ba
VS
65822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6583
6584 * util/grub-pe2elf.c (ehdr): Make static.
6585 (shdr): Likewise.
6586 (num_sections): Likewise.
6587 (offset): Likewise.
6588
5f47782c
VS
65892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 Eliminate ofpath limits and possible overflows.
6592
6593 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
6594 (OF_PATH_MAX): Removed.
6595 (MAX_DISK_CAT): New const.
6596 (find_obppath): Use allocated rather than preallocated buffer.
6597 Return result. Argument of_path removed. All users updated.
6598 Add missing fdstat.
6599 (xrealpath): New function.
6600 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
6601 Allocate rather than use preallocated buffer. All users updated.
6602 (__of_path_common): Use allocated rather than preallocatecd buffer.
6603 Return result. Argument of_path removed. All users updated.
6604 (vendor_is_ATA): Read only needed part form the file.
6605 (check_sas): Allocate depending on contents rather than fixed.
6606 (main) [STANDALONE]: Handle NULL result.
6607
f990cbf9
VS
66082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6609
6610 * grub-core/normal/completion.c (iterate_dev): Close the disk.
6611
9c6e84b8
VS
66122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 Cryptodisk write support.
6615
6616 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
6617 (grub_cryptodisk_decrypt): Moved logic to ...
6618 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
6619 (grub_cryptodisk_write): Implement.
6620 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
6621 (grub_util_fd_write): ... this. Make global.
6622 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
6623
87cf9744
VS
66242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 * include/grub/list.h (grub_list_remove): Don't crash if element is
6627 removed twice.
6628
ca8c0baf
VS
66292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 Rename ofconsole to console.
6632
6633 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
6634 as sysnonym to console.
6635 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
6636 * grub-core/term/ieee1275/console.c: ... this. All users updated.
6637 Rename grub_ofconsole_ to grub_console_. All users updated
6638 (grub_console_term_output): Rename "ofconsole" to "console".
6639 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
6640 as "console".
6641
64c8b8f6
VS
66422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
6645 handling.
6646 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
6647 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
6648 GRUB_DISK_DEVICE_FILE_ID.
6649
f6c434d5
VS
66502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
6653 and improve performance.
6654
5858b42d
VS
66552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6656
6657 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
6658 missing ieee1275/ prefix on whole disk.
6659
4ed3c26b
VS
66602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6661
6662 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
6663 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
6664
df71143e
VS
66652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
6668
076e7c0f
VS
66692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 Merge common RAID and LVM logic to an abstract diskfilter.
6672 Add LDM support using the same framework.
6673
6674 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
6675 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
6676 (libgrubmods): Remove grub-core/disk/raid.c and
6677 grub-core/partmap/gpt.c.
6678 * grub-core/Makefile.core.def (ldm): New module.
6679 (raid): Renamed to diskfilter. All users updated.
6680 * grub-core/disk/raid.c: Moved to ...
6681 * grub-core/disk/diskfilter.c: ... here.
6682 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
6683 (lv_num): New var.
6684 (find_array): Renamed to ...
6685 (find_lv): ... this. Support multi-LV. Skip nameless LVs
6686 (grub_is_array_readable): Renamed to ...
6687 (grub_is_lv_readable): ... this. Support multinode hierarchy.
6688 (insert_array): New argument id.
6689 (is_node_readable): New function.
6690 (scan_device): Rename to ...
6691 (scan_disk): .. this. Restrict to one disk.
6692 (scan_devices): New function.
6693 (grub_diskfilter_iterate): Support multi-LV.
6694 Skip invisible and nameless LVs.
6695 (grub_diskfilter_memberlist): Support multi-LV.
6696 (grub_diskfilter_read_node): New function.
6697 (grub_raid_read): Most of logic moved to ...
6698 (read_segment): ... here
6699 (read_lv): New function.
6700 (grub_diskfilter_get_vg_by_uuid): New function.
6701 (grub_diskfilter_make_raid): Likewise.
6702 * grub-core/disk/ldm.c: New file.
6703 * grub-core/disk/lvm.c (vg_list): Removed.
6704 (lv_count): Likewise.
6705 (scan_depth): Likewise.
6706 (is_lv_readable): Likewise.
6707 (grub_lvm_getvalue): Advance pointer past the number.
6708 (find_lv): Removed.
6709 (do_lvm_scan): Refactored into ...
6710 (grub_lvm_detect): ... this. Support raid.
6711 (grub_lvm_iterate): Removed.
6712 (grub_lvm_memberlist): Likewise.
6713 (grub_lvm_open): Likewise.
6714 (grub_lvm_close): Likewise.
6715 (read_lv): Likewise.
6716 (read_node): Likewise.
6717 (is_node_readable): Likewise.
6718 (is_lv_readable): Likewise.
6719 (grub_lvm_read): Likewise.
6720 (grub_lvm_write): Likewise.
6721 (grub_lvm_dev): Use diskfilter
6722 (GRUB_MOD_INIT): Likewise.
6723 (GRUB_MOD_FINI): Likewise.
6724 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
6725 new interface.
6726 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
6727 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6728 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
6729 grub_diskfilter_read_node.
6730 Fix a bug with xor.
6731 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
6732 grub_diskfilter_read_node.
6733 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
6734 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
6735 (grub_disk_dev_iterate): Move from here...
6736 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
6737 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6738 Make global.
6739 (grub_hostdisk_find_partition_start): Likewise.
6740 (grub_hostdisk_os_dev_to_grub_drive): New function.
6741 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
6742 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
6743 * util/getroot.c (make_device_name): ... here.
6744 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6745 Move to ...
6746 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
6747 * grub-core/kern/emu/hostdisk.c
6748 (convert_system_partition_to_system_disk): Move to ...
6749 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
6750 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
6751 * util/getroot.c (device_is_wholedisk): ... here.
6752 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
6753 * util/getroot.c (find_system_device): ... here.
6754 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
6755 Move to ...
6756 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
6757 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6758 Move to ...
6759 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
6760 Handle LDM.
6761 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6762 Move to ...
6763 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
6764 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
6765 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
6766 DISKFILTER.
6767 * include/grub/raid.h: Renamed to ...
6768 * include/grub/diskfilter.h: ... this.
6769 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
6770 (GRUB_RAID_LAYOUT_*): Make into array.
6771 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
6772 (grub_diskfilter_vg): New struct.
6773 (grub_diskfilter_pv_id): Likewise.
6774 (grub_raid_member): Removed.
6775 (grub_raid_array): Likewise.
6776 (grub_diskfilter_pv): New struct.
6777 (grub_diskfilter_lv): Likewise.
6778 (grub_diskfilter_segment): Likewise.
6779 (grub_diskfilter_node): Likewise.
6780 (grub_diskfilter_get_vg_by_uuid): New proto.
6781 (grub_raid_register): Inline.
6782 (grub_diskfilter_unregister): Likewise.
6783 (grub_diskfilter_make_raid): New proto.
6784 (grub_diskfilter_vg_register): Likewise.
6785 (grub_diskfilter_read_node): Likewise.
6786 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
6787 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
6788 (grub_util_is_ldm): Likewise.
6789 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
6790 (grub_hostdisk_find_partition_start): Likewise.
6791 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
6792 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
6793 New definition.
6794 (grub_gpt_partition_map_iterate): New proto.
6795 * include/grub/lvm.h (grub_lvm_vg): Removed.
6796 (grub_lvm_pv): Likewise.
6797 (grub_lvm_lv): Likewise.
6798 (grub_lvm_segment): Likewise.
6799 (grub_lvm_node): Likewise.
6800 * util/getroot.c [...]
6801 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
6802 (probe_abstraction): Likewise.
6803 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
6804 (main): Remove dead logic.
6805
8a7f9b9c
VS
68062012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 Simplify root device discover and don't fail when trying to open
6809 incorrect devices.
6810
6811 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
6812 function.
6813 (get_diskname_from_path): Likewise.
6814 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
6815 of iterating.
6816
30545b85
VS
68172012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
6820
28ea58cf
VS
68212012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
6824 pastthe end.
6825
692dabca
VS
68262012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 * util/grub-install.in: Add missing \.
6829 Reported by: gentoofan
6830
f6e4ea70
VS
68312012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
6834 (direct_read): Use correct compressed size.
6835 (grub_squash_read_data): Likewise.
6836
68372012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
6838
6839 * docs/grub.texi (Platform limitations): New section.
6840 (Platform-specific operations): Likewise.
6841 * docs/grub-dev.texi (Porting): Likewise.
6842
76261110
VS
68432012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 IEEE1275 disk write support.
6846
6847 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6848 const void *.
6849 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6850 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6851 and seek loginc to ...
6852 (grub_ofdisk_prepare): ... here.
6853 (grub_ofdisk_write): Implement.
6854
fc36d603
VS
68552012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6856
6857 ARC disk write support.
6858
6859 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6860 (reopen): New argument writable. All users updated.
6861 Handle required access mode.
6862 (grub_arcdisk_write): Implement.
6863 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6864 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6865
e06c2e7a
VS
68662012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6869 (read_sblock): Don't attempt to read superblocks outside the disk size.
6870
ff447958
VS
68712012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6874 first superblock to find the second one when possible.
6875
9e88df39
VS
68762012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6877
6878 * util/grub-install.in: Fix an ARC bug.
6879 Print a warning if no platform-specific setup is available.
6880
bb26e4ff
VS
68812012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 Use static allocation rather than scratch pointer in reed_solomon.
6884 It decreases its size significantly and avoids a variable in .text.
6885
6886 * grub-core/lib/reed_solomon.c (scratch): Removed.
6887 (chosenstat): New const or static array.
6888 (sigma): Likewise.
6889 (errpot): Likewise.
6890 (errpos): Likewise.
6891 (sy): Likewise.
6892 (mstat): Likewise.
6893 (errvals): Likewise.
6894 (eqstat): Likewise.
6895 (pol_evaluate): Replace x with log_x argument. All users updated.
6896 (syndroms): Removed.
6897 (gauss_solve): Use statically allocated arrays.
6898 (rs_recover): Likewise.
6899 Calculate syndroms directly.
6900 (decode_block): Use statically allocated arrays.
6901 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6902 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6903
2e13ede5
VS
69042012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6905
6906 Eliminate fixed limit on reed solomon decoder length.
6907
6908 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6909 rather than hardcoding the address.
6910 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6911 no_reed_solomon_length.
6912 Move gate_a20 to no-reed-solomon part.
6913 Don't force a particular size of no reed-solomon part.
6914 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6915 Removed.
6916 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6917 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6918
f8a9ab12
VS
69192012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * grub-core/commands/wildcard.c (match_files): Handle filenames
6922 without explicit device.
6923 (wildcard_expand): Don't add explicit device if not already present.
6924 * tests/grub_script_echo1.in: Add a new expansion test.
6925
87edb894
VS
69262012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 Replace single-linked with double-linked lists. It results in more
6929 compact and more efficient code.
6930
6931 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6932 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6933 (grub_list_remove): Moved from here ...
6934 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6935 (grub_prio_list_insert): Set prev.
6936 * include/grub/list.h (grub_list): Add prev. All users updated.
6937
48b391e9
VS
69382012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 Handle newer autotools. Add some missing quotes while on it.
6941
6942 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6943 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6944 (pkgdata_DATA): ... here.
6945 * Makefile.util.def (update-grub_lib): Removed.
6946 * conf/Makefile.common (pkglib_DATA): Removed.
6947 (pkglib_SCRIPTS): Likewise.
6948 (pkgdata_DATA): New variable.
6949 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6950 needed.
6951 Add missing quotes.
6952 Remove unused variable while on it.
6953 * tests/util/grub-shell.in: Likewise.
6954 * util/grub-install.in: Likewise.
6955 * util/grub-mkconfig.in: Likewise.
6956 * util/grub-mknetdir.in: Likewise.
6957 * util/grub-mkrescue.in: Likewise.
6958 * util/grub-mkstandalone.in: Likewise.
6959 * util/grub.d/00_header.in: Likewise.
6960 * util/grub.d/10_hurd.in: Likewise.
6961 * util/grub.d/10_illumos.in: Likewise.
6962 * util/grub.d/10_kfreebsd.in: Likewise.
6963 * util/grub.d/10_linux.in: Likewise.
6964 * util/grub.d/10_netbsd.in: Likewise.
6965 * util/grub.d/10_windows.in: Likewise.
6966 * util/grub.d/20_linux_xen.in: Likewise.
6967 * util/grub.d/30_os-prober.in: Likewise.
6968 * util/update-grub_lib.in: Removed.
6969
69702012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
6971
6972 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6973 a workaround for intel problem.
6974
66832792
PRP
69752012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
69762012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
69772012-01-23 pfsmorigo
6978
6979 * util/grub-install.in: Support dd'in into PreP partition.
6980 * util/grub-probe.c (probe): Support discovering partition type.
6981 (main): Support -t msdos_parttype.
6982
7816a17e
VS
69832012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6984
6985 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
6986 infinite recursion using counter.
6987 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6988 init to skip it if the magic check fails.
6989 (dec_stream_header): Init s->crc32.
6990
8f9d3a8c
ZB
69912012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
69922012-01-22 Zachary Bedell <pendorbound@gmail.com>
69932012-01-22 Richard Laager <rlaager@wiktel.com>
6994
6995 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
6996 All users updated.
6997 (find_bestub): Determine correct size.
6998 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
6999 (scan_disk): Align the size down.
7000 Call check pool before find_bestub to have ashift.
7001
b055dd32
VS
70022012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7003
7004 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
7005 dprintf in no-malloc zone.
7006
d779e9bd
ML
70072012-01-22 Mario Limonciello <mario_limonciello@dell.com>
7008
7009 * configure.ac: Add back in test for limits.h.
7010
b508af69
VS
70112012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 Support 4K-sector NTFS.
7014
7015 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
7016 (grub_ntfs_data): Remove blocksize.
7017 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
7018 Remove data argument. All users updated.
7019
dad9c8b5
VS
70202012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
7023 being in .text to avoid dprel references.
7024 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
7025 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
7026 (grub_arch_highmemsize): Likewise.
7027 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
7028 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
7029 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
7030
d43a777e
VS
70312012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
7034
7035 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
7036 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
7037
34e4208f
VS
70382012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
7041 GRUB_UTIL.
7042 (grub_set_datetime_cmos): Likewise.
7043
3ec0fc1c
VS
70442012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 Make XZ compression parameters dependent on target and not host CPU.
7047
7048 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
7049 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
7050
22489834
VS
70512012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
7054 set but not used variable.
7055
8502fbca
VS
70562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
7059 created when no uuid support is compiled into mkfs.reiser.
7060
76df2068
VS
70612012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
7064 (utf8_to_macroman): Do the opposite.
7065 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
7066
64e3f8f6
VS
70672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 * configure.ac: Refise build qemu_mips w/o unifont.
7070
9c271078
VS
70712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7072
7073 Eliminate grub_min/grub_max prone to overflow usage.
7074
7075 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
7076 (poll_nonroot_hub): Likewise.
7077 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
7078 (grub_affs_label): Likewise.
7079 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
7080 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
7081 (grub_hfs_label): Likewise.
7082 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
7083 * grub-core/fs/zfs/zfs.c (MIN): Remove.
7084 (zap_leaf_array_equal): Use grub_size. Remove MIN.
7085 (zap_leaf_array_get): Likewise.
7086 (dnode_get_path): Likewise.
7087 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
7088 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
7089 * grub-core/script/execute.c (grub_script_break): Likewise.
7090 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
7091 grub_max.
7092 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
7093 * include/grub/misc.h (grub_min): Removed.
7094 (grub_max): Likewise.
7095
80662dbc
VS
70962012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7097
7098 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
7099 direct.inode = 0.
7100
e6da1467
VS
71012012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7102
7103 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
7104
b1ac4cb1
VS
71052012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
7108
b4bf7c3b
VS
71092012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
7112 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
7113
8ee1101a
VS
71142012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
7117 rather than a hack for grub_strncasemap.
7118
71192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7120
7121 Support multiple initrds
7122 Note: part of this was accidently committed in r3739.
7123
7124 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
7125 initrd.
7126 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7127 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7128 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7129 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7130 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7131
4d1e2bc9
VS
71322012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
7135 disks with unknown size.
7136 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
7137
75b49ebe
VS
71382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 Remove defines pertaining to arbitrary limits not affecting GRUB
7141 anymore.
7142
7143 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
7144 (EXT2_MAX_SYMLINKCNT): Likewise.
7145 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
7146 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
7147 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
7148 (GRUB_PXE_MAX_BLKSIZE): Likewise.
7149 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
7150 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
7151 (DN_MAX_OBJECT_SHIFT): Likewise.
7152 (DN_MAX_OFFSET_SHIFT): Likewise.
7153 (DN_MAX_OBJECT): Likewise.
7154 (DNODES_PER_LEVEL_SHIFT): Likewise.
7155 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
7156 (SPA_MAXBLOCKSIZE): Likewise.
7157 (SPA_BLOCKSIZES): Likewise.
7158 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
7159 (MZAP_MAX_BLKSZ): Likewise.
7160
74a1dce7
VS
71612012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
7164 handle NULL appropriately.
7165 Remove MIN.
7166
30c7d3ce
VS
71672012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7168
7169 Fix efiemu.
7170
7171 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
7172 cpu/types.h.
7173 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
7174 * configure.ac: Fix efiemu check.
7175
3c76ea0c
VS
71762012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
7179 grub_probe.
7180 Reported by: adamwill
7181
7e532280
SG
71822012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
7183
7184 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
7185
30492374
VS
71862012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 Fix handling of wide characters in gfxterm.
7189
7190 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
7191 (clear_char): Likewise.
7192 (paint_char): Skip code == NULL chars.
7193 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
7194
e70cb72f
VS
71952012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7196
7197 * grub-core/normal/charset.c: Move comment to right place.
7198
5c827cf9
VS
71992012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
7202 (GRUB_AFFS_FLAG_FFS): Put back where it was.
7203 (grub_affs_mount): Revert the correct version checking.
7204
53603892
VS
72052012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 * docs/grub.texi (Unicode): Mention several other unsupported features.
7208
ff094b9b
VS
72092011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
7212 case statements as compile-time one.
7213 (direct_read): Prevent spurious warnings.
7214 (grub_squash_read_data): Likewise.
7215
c029da8a
VS
72162011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 Various squash4 fixes and LZO and XZ support.
7219
7220 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
7221 Add xzembed source files.
7222 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
7223 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
7224 (grub_squash_inode): New subtype long_dir.
7225 (SQUASH_TYPE_LONG_DIR): New inode type.
7226 (COMPRESSION): New enum.
7227 (XZBUFSIZ): New const.
7228 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
7229 (read_chunk): Use data->decompress.
7230 (zlib_decompress): New function.
7231 (lzo_decompress): Likewise.
7232 (xz_decompress): Likewise.
7233 (squash_mount): Set new data fields.
7234 (grub_squash_iterate_dir): Handle long dir.
7235 (squash_unmount): Free xzdec and xzbuf.
7236 (grub_squash_open): Check ino type.
7237 (direct_read): Stylistic fixes. Use data->decompress.
7238 (grub_squash_read_data): Likewise.
7239 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
7240 (get_byte): Likewise.
7241 (grub_zlib_disk_read): Removed.
7242 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
7243 (GRUB_POSIX_BOOL_DEFINED): New define.
7244 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
7245 * grub-core/lib/xzembed/xz.h: Addmissing includes.
7246 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
7247 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
7248
7a45a539
VS
72492011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 Don't override more informative errors.
7252
7253 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
7254 * grub-core/font/font.c (open_section): Likewise.
7255 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
7256 filename. Don't override errors.
7257 (grub_cmd_openbsd_ramdisk): Don't override errors.
7258 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
7259 (grub_cmd_initrd): Likewise.
7260 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7261 (grub_cmd_initrd): Likewise.
7262 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
7263 (grub_cmd_linux): Likewise.
7264 (grub_cmd_initrd): Likewise.
7265 (grub_cmd_payload): Likewise.
7266 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7267 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
7268 (grub_cmd_module): Likewise.
7269 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7270 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7271 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
7272 (grub_cmd_xnu_mkext): Likewise.
7273 (grub_cmd_xnu_ramdisk): Likewise.
7274 (grub_xnu_check_os_bundle_required): Likewise.
7275 (grub_xnu_load_kext_from_dir): Likewise.
7276 (grub_cmd_xnu_kextdir): Likewise.
7277 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
7278
b2d004db
VS
72792011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
7282 as 1024 in block size field. Found on one of my test images.
7283 Small optimisation while on it.
7284
ec000eac
VS
72852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
7288 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
7289 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
7290 performance fixes while on it.
7291 (grub_sfs_close): Fix memory leak while on it.
7292 (grub_sfs_label): Convert Latin1 to UTF-8.
7293
f50e1165
VS
72942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
7297 space to avoid overflows.
7298 (grub_hfs_label): Convert from macroman to UTF-8.
7299
2ae254de
VS
73002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7301
7302 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
7303
0108f491
VS
73042011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
7307
f45f5f89
VS
73082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7309
7310 * unicode: Import Unicode 6.0 data.
7311
4d8c4765
VS
73122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7313
63fa8ef9
VS
7314 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
7315 outside of range.
7316
73172011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
7320
7321 * include/grub/charset.h (grub_getend): New function.
7322 * grub-core/script/function.c (grub_script_function_find): Use
7323 grub_getend.
7324 * grub-core/normal/completion.c (add_completion): Likewise.
7325
f3cb4a4e
VS
73262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
7329 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
7330 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
7331 (GRUB_UNICODE_TAG_END): Likewise.
7332 (GRUB_UNICODE_LAST_VALID): Likewise.
7333
5da8dbc5
VS
73342011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
7337 len and make it smaller. All users updated.
7338 * util/import_unicode.py: Put length and not end character.
7339 Check length.
7340
8569f13d
VS
73412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 Make better Unicode-compliant and unify some UTF-8 code pathes.
7344
7345 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
7346 valid character.
7347 (grub_is_valid_utf8): Use grub_utf8_process.
7348 Check resulting code range.
7349 (grub_utf8_to_ucs4): Use grub_utf8_process.
7350 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
7351 valid character.
7352
cc4fddf5
VS
73532011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
7356
bbc47747
VS
73572011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7358
7359 * docs/grub.texi (Filesystems): Mention AFS.
7360
f63d6bf4
VS
73612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * docs/grub.texi (Filesystems): Clarify restrictions.
7364 (Regexp): Mention non-Unicode regexp behaviour.
7365 (Other): Mention non-Unicode matching behaviour.
7366
74bbf0db
VS
73672011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7368
f63d6bf4 7369 Make HFS implementation use MacRoman.
74bbf0db
VS
7370
7371 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
7372 (macroman): New const array.
7373 (macroman_to_utf8): New function.
7374 (utf8_to_macroman): Likewise.
7375 (grub_hfs_find_dir): Use utf8_to_macroman.
7376 (grub_hfs_dir): Use macroman_to_utf8.
7377 Set case_insensitive.
7378
4ea0316e
VS
73792011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7380
7381 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
7382
d3c13cbd
VS
73832011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 Integrate hints into autogeneration scripts.
7386
7387 * docs/grub.texi (Filesystems): Add a hostdisk example.
7388 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
7389 (grub-probe): Add ofpath.
7390 * gentpl.py: Remove group nosparc64.
7391 * grub-core/commands/search.c (cache_entry): New struct.
7392 (cache): New var.
7393 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
7394 * grub-core/commands/search_wrap.c (options): Add platform-specific
7395 hint options.
7396 (grub_cmd_search): Handle platform-specific hints.
7397 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
7398 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
7399 (grub_util_biosdisk_data): Likewise.
7400 (grub_util_biosdisk_open): Set device_map.
7401 (read_device_map): Handle "" as indication of no map.
7402 Set device_map.
7403 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
7404 (grub_util_biosdisk_get_compatibility_hint): New function.
7405 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
7406 * include/grub/emu/hostdisk.h
7407 (grub_util_biosdisk_get_compatibility_hint): New proto.
7408 * util/grub-install.in: Don't call grub-mkdevicemap.
7409 Add platform-specific hint to load.cfg.
7410 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
7411 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7412 hints. Set root preliminary to compatibility hint, not to OS name.
7413 * util/grub-probe.c (PRINT_*): Add hints.
7414 (print): Make static.
7415 (escape_of_path): New function.
7416 (guess_bios_drive): Likewise.
7417 (guess_efi_drive): Likewise.
7418 (guess_baremetal_drive): Likewise.
7419 (print_full_name): Likewise.
7420 (probe): Handle hints.
7421 (main): Likewise.
7422 * util/ieee1275/devicemap.c: Removed.
7423 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
7424 updated.
7425 (grub_util_devname_to_ofpath): Return NULL on failure.
7426
7427 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
7428 resource leak.
7429 * util/getroot.c (grub_util_pull_device): Fix memory leak.
7430
7431 * po/POTFILES.in: Regenerated.
7432
7433 Allow purely long options
7434
7435 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
7436 (SHORT_ARG_USAGE): Likewise.
7437 (grub_arg_show_help): Compare opt with help_options.
7438 (parse_option): Receive opt as argument. If makes big simplificatons.
7439 All users updated
7440
00ce2df3
VS
74412011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
7444 Restructure to avoid warning.
7445
e77e325f
VS
74462011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * util/grub-install.in: Account for possible escaped comma in device
7449 name.
7450
165099ea
VS
74512011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
7454 channel.
7455
ce4a999d
VS
74562011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
7459 allocation and zero-setting.
7460 (grub_ieee1275_get_devname): Check that alias is complete.
7461
379586ad
VS
74622011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7463
7464 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
7465 unaligned segments.
7466
9197b0ad
VS
74672011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
7470 prefix.
7471 (grub_ofdisk_open): Check and discard ieee1275 prefix.
7472 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7473 Add ieee1275 prefix.
7474
edddb7f9
VS
74752011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 * docs/grub.texi (Filesystems): Update.
7478
a1a8b1b9
VS
74792011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 Support odc, newc and bigendian cpio formats.
7482
7483 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
7484 * grub-core/Makefile.core.def (newc): New module.
7485 (odc): Likewise.
7486 (cpio_be): Likewise.
7487 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
7488 (MAGIC): Likewise.
7489 (MAGIC2): Likewise.
7490 (head) [MODE_ODC]: Adapt for the format.
7491 (head) [MODE_NEWC]: Likewise.
7492 (head) [!MODE_*]: Write fields of interest as arrays.
7493 (MAGIC_USTAR): Removed.
7494 (read_number) [MODE_NEWC]: Change to hex.
7495 (read_number) [!MODE_*]: Parse binary arrays.
7496 (grub_cpio_find_file): Factor out the code for better structure and
7497 always use read_number.
7498 (grub_cpio_mount): Use MAGIC and MAGIC2.
7499 (grub_cpio_dir): Exit on first hook non-0 return.
7500 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
7501 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
7502 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
7503 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
7504 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
7505 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
7506 * grub-core/fs/newc.c: New file.
7507 * grub-core/fs/odc.c: Likewise.
7508 * grub-core/fs/cpio_be.c: Likewise.
7509
58eba9ee
VS
75102011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 Fix handling of tar numbers occupying the whole field.
7513
7514 * grub-core/fs/cpio.c (read_number): New function.
7515 (grub_cpio_find_file): Use read_number instead of strtoull.
7516
a54a0e12
VS
75172011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7518
7519 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
7520 occupying the whole field size.
7521
a6120aca
LA
75222011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
7523
7524 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
7525
a93964ce
VS
75262011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7527
7528 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
7529
3ea1ca46
SG
75302011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
7531
7532 * grub-core/Makefile.core.def (lzma_decompress): Add missing
7533 TARGET_IMG_LDFLAGS.
7534
b87f7ef2
VS
75352011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7536
7537 * util/getroot.c (ESCAPED_PATH_MAX): New define.
7538 (mountinfo_entry): Increase the field size to take escaping into
7539 account.
7540 (find_root_device_from_libzfs): Add one byte to size of strings for
7541 security.
7542
62092395
VS
75432011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
7546 an assert.
7547 * util/grub-setup.c (setup): Likewise.
7548
1f0b1a77
VS
75492011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
7552 _LzmaDecodeA.
7553
8eba9997
VS
75542011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7555
7556 * docs/grub.texi (Internationalisation): New section.
7557
dd0c91e9
VS
75582011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 * docs/grub.texi (Loopback booting): New section.
7561
75622011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
7563
7564 * util/grub-mkstandalone.in: Fix minor typo errors.
7565
198e150a
VS
75662011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
7569
7570 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
7571 net/icmp.c and net/icmp6.c.
7572 (http): New module.
7573 (priority_queue): Likewise.
7574 * grub-core/io/bufio.c: Rewritten.
7575 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
7576 TYPE_WITH_CONFIGFILE_OPTION.
7577 (legacy_commands): Add bootp and dhcp.
7578 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
7579 (grub_legacy_parse): Likewise.
7580 * grub-core/lib/priority_queue.c: New file.
7581 * grub-core/net/arp.c: Add missing license header.
7582 (arp_find_entry): Removed.
7583 (arp_find_entry): Likewise.
7584 (grub_net_arp_resolve): Rename to ...
7585 (grub_net_arp_send_request): ...this.
7586 (grub_net_arp_receive): New card argument.
7587 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
7588 Set router and DNS server.
7589 (grub_net_configure_by_dhcp_ack): Handle routing information.
7590 (grub_cmd_bootp): Set checksum.
7591 (grub_bootp_init): Remove net_dhcp.
7592 * grub-core/net/dns.c: New file.
7593 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
7594 completion.
7595 (get_card_packet): Handle allocation.
7596 (grub_efinet_findcards): Set mtu.
7597 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
7598 (get_card_packet): Handle allocation.
7599 (emucard): Set mtu.
7600 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
7601 (GRUB_MOD_INIT): Set mtu.
7602 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
7603 mtu.
7604 (get_card_packet): Handle allocation.
7605 (grub_ofnet_findcards): Set mtu.
7606 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
7607 assert.
7608 (grub_net_recv_ethernet_packet): Handle IPv6.
7609 * grub-core/net/http.c: New file.
7610 * grub-core/net/icmp.c: Likewise.
7611 * grub-core/net/icmp6.c: Likewise.
7612 * grub-core/net/ip.c (ip6addr): New type.
7613 (ip6hdr): Likewise.
7614 (reassemble): Likewise.
7615 (cmp): New function.
7616 (reassembles): New variable.
7617 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
7618 (id): New variable.
7619 (send_fragmented): New function.
7620 (grub_net_send_ip_packet): Rename to ...
7621 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
7622 Handle non-UDP.
7623 (grub_net_recv_ip_packets): Rename to ...
7624 (handle_dgram): ... this. Check checksum. Handle non-UDP.
7625 (free_rsm): New function.
7626 (free_old_fragments): Likewise.
7627 (grub_net_recv_ip4_packets): New function.
7628 (grub_net_send_ip6_packet): Likewise.
7629 (grub_net_send_ip_packet): Likewise.
7630 (grub_net_recv_ip6_packets): Likewise.
7631 (grub_net_recv_ip_packets): Likewise.
7632 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
7633 (LINK_LAYER_CACHE_SIZE): New const.
7634 (link_layer_find_entry): New function.
7635 (grub_net_link_layer_add_address): Likewise.
7636 (grub_net_link_layer_resolve_check): Likewise.
7637 (grub_net_link_layer_resolve): Likewise.
7638 (grub_net_ipv6_get_slaac): Likewise.
7639 (grub_net_ipv6_get_link_local): Likewise.
7640 (grub_cmd_ipv6_autoconf): Likewise.
7641 (parse_ip): Handle one number representation.
7642 (parse_ip6): New functoion.
7643 (match_net): Handle IPv6.
7644 (grub_net_resolve_address): Handle IPv6 and DNS.
7645 (grub_net_resolve_net_address): Handle IPv6.
7646 (route_cmp): New function.
7647 (grub_net_route_address): Find best route.
7648 (grub_net_addr_to_str): Handle IPv6.
7649 (grub_net_addr_cmp): New function.
7650 (grub_net_add_addr): Register local route.
7651 (print_net_address): Handle net address.
7652 (grub_net_poll_cards): Retransmit TCP.
7653 (grub_net_poll_cards_idle_real): Likewise.
7654 (have_ahead): New function.
7655 (grub_net_seek_real): Use underlying seek.
7656 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
7657 * grub-core/net/tcp.c: New file.
7658 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
7659 (cmp): New function.
7660 (ack): Likewise.
7661 (tftp_receive): Handle unordered input.
7662 (destroy_pq): New function.
7663 (tftp_close): Close pq.
7664 * grub-core/net/udp.c: Put missing license header.
7665 (grub_net_udp_socket): New function.
7666 (udp_socket_register): Likewise.
7667 (grub_net_udp_close): Likewise.
7668 (grub_net_recv_udp_packet): Check checksum.
7669 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
7670 * include/grub/misc.h (grub_memchr): New function.
7671 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
7672 (grub_net_card_driver): Return buf in recv.
7673 (grub_net_slaac_mac_list): New struct.
7674 (grub_network_level_protocol_id): Add ipv6.
7675 (grub_net_network_level_addr): Likewise.
7676 (grub_net_network_level_net_addr): Likewise.
7677 (grub_net_app_protocol): Add seek.
7678 (grub_net_socket): Removed.
7679 (grub_net_sockets): Likewise.
7680 (grub_net_socket_register): Likewise.
7681 (grub_net_socket_unregister): Likewise.
7682 (FOR_NET_SOCKETS): Likewise.
7683 (grub_net_add_addr): Add const.
7684 (GRUB_NET_BOOTP_*): New enum.
7685 (grub_net_addr_cmp): New proto.
7686 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
7687 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
7688 (grub_net_hwaddr_to_str): NEw proto.
7689 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
7690 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
7691 (grub_dns_init): New proto.
7692 (grub_dns_fini): Likewise.
7693 (grub_net_tcp_retransmit): Likewise.
7694 (grub_net_link_layer_add_address): Likewise.
7695 (grub_net_link_layer_resolve_check): Likewise.
7696 (grub_net_link_layer_resolve): Likewise.
7697 (grub_net_dns_lookup): Likewise.
7698 (grub_net_add_dns_server): Likewise.
7699 (grub_net_remove_dns_server): Likewise.
7700 (GRUB_NET_TRIES): New const.
7701 (GRUB_NET_INTERVAL): Likewise.
7702 * include/grub/net/arp.h: Mostly rewritten.
7703 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
7704 * include/grub/net/ip.h: Mostly rewritten.
7705 * include/grub/net/netbuff.h: Indent.
7706 * include/grub/net/tcp.h: New file.
7707 * include/grub/net/udp.h: Mostly rewritten.
7708 * include/grub/priority_queue.h: New file.
7709 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
7710 (grub_swap_bytes64_compile_time): Likewise.
7711 (grub_cpu_to_be16_compile_time): Likewise.
7712 (grub_cpu_to_be32_compile_time): Likewise.
7713 (grub_cpu_to_be64_compile_time): Likewise.
7714 (grub_be_to_cpu64_compile_time): Likewise.
7715
215c1800
VS
77162011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
7719 UINT_TO_PTR with cast.
7720
c17e546c
VS
77212011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
7724 don't use them.
7725
ff6b18b6
VS
77262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7727
7728 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
7729 already there.
7730
70ffcc93
VS
77312011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
7734 confusing ipxe.
7735
e5f4d260
VS
77362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7737
7738 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
7739 Add missing const attribute.
7740 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
7741 Likewise.
7742 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
7743 Likewise.
7744
8e54b4b7
VS
77452011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
7748 misaligned access.
7749 (serpent_setkey): Likewise.
7750 (serpent_encrypt_internal): Likewise.
7751 (serpent_decrypt_internal): Likewise.
7752 (serpent_encrypt): Don't put an alignment-increasing cast.
7753 (serpent_decrypt): Likewise.
7754 (serpent_test): Likewise.
7755
813c0a2b
VS
77562011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7757
7758 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
7759
f2b60fbd
VS
77602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
7763
7764 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
7765 grub_addr_t casts.
7766 (PTR_TO_UINT64): Likewise.
7767 (PTR_TO_UINT32): Likewise.
7768
5ef5c511
VS
77692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * util/grub-mkimage.c (generate_image): Decrease the higher limit
7772 because of stack.
7773 * util/grub-setup.c (setup): Don't add redundancy past the higher load
7774 limit.
7775
c476e6df
VS
77762011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7777
7778 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
7779 text_width > available width a bit more gracefully.
7780
384ad7cc
VS
77812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7782
7783 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
7784 current address calculation.
7785
96f8caf8
VS
77862011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
7789 stack.
7790 (encode_block): Likewise.
7791
276b7a8b
VS
77922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
7795 certainety.
7796
e3fd394a
VS
77972011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7798
7799 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
7800 non-RS part to avoid RS messing with GDT.
7801 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7802 Increase to suit in realmode routines.
7803
78042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 * grub-core/kern/i386/realmode.S: Increase alignment.
7807 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
7808
ee9c2e7a
VS
78092011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
7812 be deterministic.
7813 (syndroms): Compute 0 syndrom.
7814 (rs_recover): Use 0 syndrom.
7815
7a7f7cc9
VS
78162011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
7819
a14b16d1
VS
78202011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
7823 brackets.
7824
9f59e9fc
VS
78252011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7826
ca1b552c
VS
7827 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
7828 account.
7829 (get_top_pad): Likewise.
7830 (get_right_pad): Likewise.
7831 (get_bottom_pad): Likewise.
7832
78332011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 7836
e739d698
VS
78372011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7840 attribute as the structure isn't guaranteed to be properly aligned.
7841 (grub_efi_pci_device_path): Likewise.
7842 (grub_efi_pccard_device_path): Likewise.
7843 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7844 specify the size of `memory_type'.
7845 (grub_efi_vendor_device_path): Likewise.
7846 (grub_efi_controller_device_path): Likewise.
7847 (grub_efi_acpi_device_path): Likewise.
7848 (grub_efi_expanded_acpi_device_path): Likewise.
7849 (grub_efi_atapi_device_path): Likewise.
7850 (grub_efi_scsi_device_path): Likewise.
7851 (grub_efi_fibre_channel_device_path): Likewise.
7852 (grub_efi_1394_device_path): Likewise.
7853 (grub_efi_usb_device_path): Likewise.
7854 (grub_efi_usb_class_device_path): Likewise.
7855 (grub_efi_i2o_device_path): Likewise.
7856 (grub_efi_mac_address_device_path): Likewise.
7857 (grub_efi_ipv4_device_path): Likewise.
7858 (grub_efi_ipv6_device_path): Likewise.
7859 (grub_efi_infiniband_device_path): Likewise.
7860 (grub_efi_uart_device_path): Likewise.
7861 (grub_efi_vendor_messaging_device_path): Likewise.
7862 (grub_efi_hard_drive_device_path): Likewise.
7863 (grub_efi_cdrom_device_path): Likewise.
7864 (grub_efi_vendor_media_device_path): Likewise.
7865 (grub_efi_file_path_device_path): Likewise.
7866 (grub_efi_protocol_device_path): Likewise.
7867 (grub_efi_piwg_device_path): Likewise.
7868 (grub_efi_bios_device_path): Likewise.
7869
cb8f88ea
VS
78702011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7871
7872 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7873 (grub_ucs4_to_utf8_alloc): Likewise.
7874 (grub_ucs4_to_utf8): Likewise.
7875 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7876 (grub_ucs4_to_utf8_alloc): Likewise.
7877
309e5352
VS
78782011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 AFFS never uses unicode.
7881
7882 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7883 (grub_latin1_to_utf8): New inline function.
7884 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7885
e7987e1b
VS
78862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7887
7888 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7889 overflow.
7890
efc2616e
VS
78912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7892
7893 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7894 (grub_squash_dirent_header): Likewise.
7895 (read_chunk): Don't double swap.
7896 (grub_squash_iterate_dir): Fix swap sizes.
7897
3c349f5a
VS
78982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7901
b453412d
VS
79022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7905 (grub_hfs_iterate_dir): Likewise.
7906
12e9d4d1
VS
79072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7908
7909 Fix video on platforms where unaligned access is forbidden.
7910 Make several optimisations while on it.
7911
7912 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7913 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7914 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7915 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7916 Disable.
7917 (grub_video_fbblit_replace_16bit_1bit):
7918 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7919 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7920 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7921 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7922 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7923 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7924 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7925 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7926 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7927 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7928 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7929 (grub_video_fbblit_replace_index_RGB888): Likewise.
7930 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7931 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7932 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7933 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7934 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7935 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7936 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7937 Disable.
7938 (grub_video_fbblit_blend_XXX565_1bit):
7939 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7940 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7941 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7942 void *.
7943 * grub-core/video/fb/video_fb.c (common_blitter)
7944 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7945 (grub_video_fb_create_render_target_from_pointer)
7946 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7947 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7948 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7949 definition.
7950 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7951
ace96609
VS
79522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7955 HH22 and HM10 relocations.
7956
fd261d73
VS
79572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7960
e59b7857
VS
79612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7962
7963 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7964 allocation succeeded.
7965
9b4baaa4
VS
79662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7967
7968 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7969 argument a u8 pointer. All users updated.
7970 Handle unaligned buffers.
7971
dc713193
VS
79722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7973
7974 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7975 add_part to workaround compiler bug.
7976
30dd48c2
VS
79772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
7980
0c6087a8
VS
79812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
7984 Reserve alignment invariants.
7985 (grub_multiboot_load): Likewise.
7986 (retrieve_video_parameters): Likewise.
7987 (grub_multiboot_make_mbi): Likewise.
7988
c2e77777
VS
79892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7990
7991 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
7992 incorrect pointer.
7993
b70b6d11
VS
79942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7995
7996 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
7997 (grub_pata_pio_write): Likewise.
7998
02a2bf83
VS
79992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8000
8001 Add noreturn attributes and remove unreachable code.
8002
8003 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
8004 code.
8005 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
8006 code. Mark as noreturn.
8007 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
8008 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
8009 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
8010 unreachable code.
8011 * grub-core/kern/main.c (grub_main): Mark as noreturn.
8012 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
8013 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
8014 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
8015 * include/grub/kernel.h (grub_main): Mark as noreturn.
8016 * include/grub/reader.h (grub_rescue_run): Likewise.
8017
2019d09e
VS
80182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
8021 redundant declaration.
8022
d1c501ee
VS
80232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * include/grub/net.h (grub_net_network_level_interfaces): Remove
8026 redundant declaration.
8027 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
8028
61664420
VS
80292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
8032 to ensure alignment.
8033 (grub_hdparm_print_identify): Make argument uint16 * to ensure
8034 alignment. Ensure tmp alignment.
8035 (grub_cmd_hdparm): Ensure buf alignment.
8036 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
8037 to ensure alignment.
8038 (grub_ata_dumpinfo): Ensure text alignment.
8039 (grub_atapi_identify): Preserve alignment invariant.
8040 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
8041
0d51ee20
VS
80422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
8045 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
8046 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
8047 * include/grub/misc.h (grub_reboot)
8048 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
8049 (grub_halt) [__mips__]: Likewise.
8050
753ef8c1
VS
80512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
8054 Remove redundant declaration.
8055 (grub_mmap_get_post64): Likewise.
8056 (grub_mmap_get_upper): Likewise.
8057 (grub_mmap_get_lower): Likewise.
8058
85c85365
VS
80592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
8062 uint32_t * to ensure alignment.
8063 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
8064
a23f2cc4
VS
80652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8066
93018f64
VS
8067 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
8068 uint16_t * to ensure alignment.
8069 (sun_pc_partition_map_iterate): Make `block' a union to ensure
8070 alignment.
8071
80722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
8075 to ensure alignment.
8076 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
8077
58acccd6
VS
80782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8079
8080 * grub-core/fs/ntfs.c (u16at): Make into inline function.
8081 Handle unaligned pointers.
8082 (u32at): Likewise.
8083 (u64at): Likewise.
8084 (fixup): Use byte access instead of v16at.
8085 (find_attr): Fix imporper usage of v32at.
8086 (read_data): Likewise.
8087 (list_file): Handle byte-swapping and unaligned strings.
8088 (grub_ntfs_label): Likewise.
8089
9b05cad7
VS
80902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
8093 as it's not necessarily aligned.
8094
b3950b84
VS
80952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8096
8097 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
8098 redundant declaration.
8099 (grub_serial_init): Likewise.
8100 (grub_terminfo_init): Likewise.
8101
fcd232b7
VS
81022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8103
8104 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
8105 function.
8106 (ZAP_HASH_IDX): Likewise.
8107 (ZAP_LEAF_HASH_SHIFT): Likewise.
8108 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
8109 (LEAF_HASH): Likewise.
8110 (ZAP_LEAF_NUMCHUNKS): Likewise.
8111 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
8112 alignment invariants. Return pointer. All users updated.
8113 (ZAP_LEAF_ENTRY): Make into inline function.
8114 (NBBY): Removed.
8115 (xor): LIkewise.
8116 (xor_out): Use grub_crypto_xor.
8117 (dnode_get_path): Use grub_get_unaligned.
8118 (nvlist_find_value): Likewise.
8119 (grub_zfs_nvlist_lookup_uint64): Likewise.
8120 (grub_zfs_nvlist_lookup_string): Likewise.
8121 (get_nvlist_size): Likewise.
8122 (grub_zfs_open): Likewise.
8123 (fill_fs_info): Likewise.
8124 (grub_zfs_dir): Likewise.
8125 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
8126 alignment invariants.
8127 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
8128 necessarily aligned.
8129
f138623a
VS
81302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8131
8132 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
8133
564840dc
VS
81342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
8137 arithmetic to conserve alignment invariants.
8138
9b40df20
VS
81392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
8142 redundant declaration.
8143 (grub_efiemu_mm_obtain_request): Likewise.
8144 (grub_efiemu_prepare): Likewise.
8145
d1c930f9
VS
81462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8147
8148 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
8149 to match types.
8150
4c5f3056
VS
81512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
8154 case of aunaligned recptr.
8155 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
8156 alignment.
8157 (grub_hfsplus_btree_search): Handle unaligned index.
8158
728cba91
VS
81592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
8162 to get freetag and skip.
8163
eb561f31
VS
81642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
8167 array.
8168 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
8169 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
8170
20993fbb
VS
81712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
8174 name for checksum and fix allocation algorithm.
8175
1f313b94
VS
81762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * include/grub/types.h (grub_properly_aligned_t): New type.
8179 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
8180 (grub_get_unaligned16): Add explicit casts.
8181 (grub_get_unaligned32): Likewise.
8182 (grub_get_unaligned64): Likewise.
8183 (grub_set_unaligned16): New function.
8184 (grub_set_unaligned32): Likewise.
8185
47ae27ec
VS
81862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8187
8188 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8189
78c2cd1c
VS
81902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8191
8192 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
8193 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
8194 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
8195
53072f9b
VS
81962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
8199 conditionals.
8200
055dc239
VS
82012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
8204 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
8205
496bd074
VS
82062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8207
8208 Unify and improve RAID and crypto xor.
8209
8210 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
8211 changed to grub_crypto_xor
8212 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
8213 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
8214 Use bigger types when possible.
8215
ef6e4335
VS
82162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * grub-core/disk/raid.c (scan_devices): Fix condition.
8219
5d048bf2
VS
82202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
8223 Make name a const ptr.
8224
ee533335
VS
82252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
8228 first argument a const pointer.
8229 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
8230 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
8231 proto.
8232 (grub_children_iterate): Likewise.
8233 (grub_machine_mmap_iterate): Remove redundant declaration.
8234
cc8f3668
VS
82352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8236
8237 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
8238 (grub_cmd_acpi) [!x86]: Disable EBDA.
8239
c5fc563a
VS
82402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8241
8242 Enable UTF8 in gnulib regexp.
8243
8244 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
8245 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
8246 (isupper): Use grub_isupper.
8247 (isascii): New inline function.
8248 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
8249 * grub-core/lib/posix_wrap/wctype.h: Likewise.
8250 * grub-core/normal/charset.c (grub_utf8_process): New function.
8251 (grub_utf8_to_utf16): Use grub_utf8_process.
8252 (grub_encode_utf8_character): New function.
8253 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
8254 * include/grub/charset.h (grub_utf8_process): New declaration.
8255 (grub_encode_utf8_character): Likewise.
8256 * include/grub/misc.h (grub_islower): New inline function.
8257 (grub_isupper): Likewise.
8258 (grub_strchrsub): Moved down to fix the definitions.
8259
0af2346f
VS
82602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8261
8262 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
8263 specification.
8264
74dbd244
VS
82652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * include/grub/loader.h (grub_loader_register_preboot_hook):
8268 Use struct preboot * and not void * for handle. All users updated.
8269 (grub_loader_unregister_preboot_hook): Likewise.
8270
1bc8f60d
VS
82712011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
8274 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
8275 UTF-16-BE. All users updated.
8276 (grub_hfsplus_cmp_catkey): Fix unicode handling.
8277 (grub_hfsplus_iterate_dir): Likewise.
8278 (grub_hfsplus_label): Likewise.
8279
48d6e456
VS
82802011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
8283
bf3a3857
VS
82842011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 Add missing const qualifiers.
8287
8288 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
8289 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
8290 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
8291 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
8292 (grub_lvm_check_flag): Likewise.
8293 * grub-core/efiemu/i386/coredetect.c
8294 (grub_efiemu_get_default_core_name): Likewise
8295 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8296 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
8297 * grub-core/fs/ntfs.c (fixup): Likewise.
8298 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
8299 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
8300 (fzap_lookup): Likewise.
8301 (zap_lookup): Likewise.
8302 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
8303 * grub-core/lib/legacy_parse.c (check_option): Likewise.
8304 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
8305 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
8306 (grub_freebsd_add_meta_module): Likewise.
8307 (grub_cmd_freebsd_module): Likewise.
8308 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
8309 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
8310 (grub_xnu_writetree_get_size): Likewise.
8311 (grub_xnu_writetree_toheap_real): Likewise.
8312 (grub_xnu_find_key): Likewise.
8313 (grub_xnu_create_key): Likewise.
8314 (grub_xnu_create_value): Likewise.
8315 (grub_xnu_register_memory): Likewise.
8316 (grub_xnu_check_os_bundle_required): Likewise.
8317 (grub_xnu_scan_dir_for_kexts): Likewise.
8318 (grub_xnu_load_kext_from_dir): Likewise.
8319 * grub-core/normal/color.c (color_list): Likewise.
8320 * grub-core/normal/completion.c (current_word): Likewise.
8321 * grub-core/normal/menu_entry.c (insert_string): Likewise.
8322 * grub-core/term/serial.c (grub_serial_find): Likewise.
8323 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
8324 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
8325 Likewise.
8326 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
8327 (grub_freebsd_add_meta_module): Likewise.
8328 * include/grub/lib/arg.h (grub_arg_option): Likewise.
8329 * include/grub/net.h (grub_net_card_driver): Likewise.
8330 (grub_net_card): Likewise.
8331 (grub_net_app_protocol): Likewise.
8332 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
8333 * include/grub/serial.h (grub_serial_find): Likewise.
8334 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
8335 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
8336 (grub_xnu_create_value): Likewise.
8337 (grub_xnu_find_key): Likewise.
8338 (grub_xnu_scan_dir_for_kexts): Likewise.
8339 (grub_xnu_load_kext_from_dir): Likewise.
8340
8341 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
8342 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
8343 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
8344 Moved from here ...
8345 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
8346
112b4837
CW
83472011-11-28 Colin Watson <cjwatson@ubuntu.com>
8348
8349 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
8350
49e891ac
VS
83512011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
8352
8353 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
8354 (read_device): Fix size calculation.
8355
fd258e5c
RM
83562011-11-25 Robert Millan <rmh@gnu.org>
8357
8358 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
8359 (find_root_device_from_libzfs): Add zpool output parser to be used
8360 as fallback when libzfs isn't available.
8361
78845dc2
SG
83622011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
8363
8364 * po/Makefile.in.in: Add missing escape-continuation.
8365
adac5211
VS
83662011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
8369
10b64f1c
VS
83702011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
8373
bb416954
VS
83742011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8375
8376 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
8377
bdfe9eeb
VS
83782011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
8381
581ffa8a
VS
83822011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * grub-core/lib/adler32.c: Add missing license specification.
8385 * grub-core/lib/crc64.c: Likewise.
8386 * grub-core/loader/i386/pc/plan9.c: Likewise.
8387 * grub-core/partmap/plan.c: Likewise.
8388
2536cf64
LK
83892011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
8390
8391 Add facility to debug GRUB with gdb under qemu.
8392
8393 * grub-core/gdb_grub.in: New file.
8394 * grub-core/gmodule.pl.in: Likewise.
8395 * grub-core/Makefile.core.def (gmodule.pl): New script.
8396 (gdb_grub): Likewise.
8397
bc108a4a
VS
83982011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 * util/grub-mount.c (argp_parser): Accept relative pathes.
8401 * util/grub-fstest.c (argp_parser): Likewise.
8402
111c1778
VS
84032011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8404
8405 Plan9 support.
8406
8407 * Makefile.util.def (libgrubmods): Add
8408 grub-core/partmap/plan.c.
8409 * docs/grub.texi: Notice Plan9 support.
8410 * grub-core/Makefile.core.def (plan9): New module.
8411 (part_plan): Likewise.
8412 * grub-core/loader/i386/pc/plan9.c: New file.
8413 * grub-core/partmap/plan.c: Likewise.
8414 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
8415 define.
8416 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
8417 * include/grub/mm.h (grub_extend_alloc): New inline function.
8418
c30be3b6
VS
84192011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8420
8421 Make Reed-Solomon faster by using power of generator representation of
8422 GF(256)*.
8423
8424 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
8425 (gf_double_t): Likewise.
8426 (gf_invert): Removed.
8427 (gf_powx): New array.
8428 (gf_powx_inv): Likewise.
8429 (scratch): Move higher.
8430 (gf_reduce): Removed.
8431 (gf_mul): Use powx.
8432 (gf_invert): Likewise.
8433 (init_inverts): Replaced with ...
8434 (init_powx): ...this. All users updated.
8435 (pol_evaluate): Replace multiplications with additions.
8436 (rs_encode): Likewise.
8437 (gauss_eliminate): Call gf_invert.
8438 (grub_reed_solomon_add_redundancy): Call init_powx.
8439 (grub_reed_solomon_recover): Call init_powx unconditionally.
8440
fa5aeffc
VS
84412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8442
8443 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
8444
a346b81c
VS
84452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
8448 disk->partiton for safety.
8449
d89ee414
VS
84502011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8453 Fix a memory leak.
8454 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
8455
91ee7b6d
VS
84562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
8459
91e5a33d
VS
84602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
8463
9edd7be2
VS
84642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8465
8466 Fix spaces handling in proc/self/mountinfo.
8467
8468 * util/getroot.c (unescape): New function.
8469 (grub_find_root_device_from_mountinfo): Use unescape.
8470
ba102053
VS
84712011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8472
8473 Support ZFS embedding.
8474
8475 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
8476 (grub_zfs_fs): Register grub_zfs_embed.
8477
aa94b870
VS
84782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8479
8480 Fix MIPS compilation.
8481
8482 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
8483 * include/grub/offsets.h: Rename decompressor fields from
8484 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
8485 * util/grub-mkimage.c (image_targets): Use new names.
8486
5fbdac14
VS
84872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 Defer multiboot device parsing until we're in compressed part.
8490
8491 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
8492 bsd_part. setdevice has fallen into disuse.
8493 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
8494 (bsd_part): Likewise.
8495 (boot_dev): New variable.
8496 (multiboot_trampoline): Don't parse multiboot device.
8497 Pass multiboot device in %edx.
8498 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
8499 grub_boot_device.
8500 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
8501 Likewise.
8502 * grub-core/kern/i386/pc/startup.S: Save edx.
8503 (grub_boot_drive): Removed.
8504 (grub_install_dos_part): Likewise.
8505 (grub_install_bsd_part): Likewise.
8506 (grub_boot_device): New variable.
8507 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
8508 (grub_install_bsd_part): Likewise.
8509 (grub_boot_drive): Likewise.
8510 (grub_boot_device): New variable.
8511 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
8512 Removed.
8513 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8514 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
8515 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
8516 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
8517 * util/grub-install.in: Remove redundant condition.
8518
691cbb58
VS
85192011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8520
8521 Fix bug introduced by previous commit.
8522
8523 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
8524
60240b8b
VS
85252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 Use decompressors framework on i386-pc. It increases core size
8528 by 46 bytes but improves compatibility and maintainability.
8529
8530 * grub-core/Makefile.core.def (lzma_decompress): New image.
8531 (kernel): Add i386_pc_ldflags.
8532 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
8533 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
8534 to real_to_prot, prot_to_real and device info.
8535 * include/grub/offsets.h: Renamed decompressor offsets.
8536 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
8537 (image_target_desc): Remove raw_size and rename decompressor fields.
8538 (compress_kernel): Handle lzma.
8539 (generate_image): Handle decompressors on i386-pc.
8540
e9d3421c
VS
85412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * configure.ac: Add -fno-asynchronous-unwind-tables.
8544
2b23074a
VS
85452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 Move assembly code to C by using intwrap. It increases core size
8548 by 88 bytes but improves compatibility and maintainability.
8549
8550 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
8551 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
8552 ... here. Translated to C.
8553 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
8554 * grub-core/term/i386/pc/console.c (grub_console_getkey):
8555 ... here. Translated to C.
8556 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
8557 * grub-core/term/i386/pc/console.c (grub_console_getxy):
8558 ... here. Translated to C.
8559 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
8560 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
8561 ... here. Translated to C.
8562 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
8563 * grub-core/term/i386/pc/console.c (grub_console_cls):
8564 ... here. Translated to C.
8565 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
8566 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
8567 ... here. Translated to C.
8568 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
8569 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
8570 Translated to C.
8571 * grub-core/term/i386/pc/console.c (int10_9): New function.
8572 (grub_console_putchar): Likewise.
8573 * include/grub/i386/pc/console.h: Removed the not anymore shared
8574 functions.
8575
678f4b67
VS
85762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 Move grub_chainloader_real_boot out of the kernel.
8579
8580 * grub-core/Makefile.am: Remove machine/loader.h.
8581 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8582 Removed.
8583 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
8584 variable.
8585 (grub_relocator16_keep_a20_enabled): Likewise.
8586 (grub_relocator16_boot): Fill new variables.
8587 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
8588 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
8589 relocator.
8590 (grub_chainloader_unload): Likewise.
8591 (grub_chainloader_cmd): Likewise.
8592 * include/grub/i386/pc/loader.h: Removed.
8593 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
8594 and esi. All initialisers updated.
8595
4626edf6
VS
85962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
85972011-11-12 Colin Watson <cjwatson@ubuntu.com>
8598
8599 * Makefile.util.def (grub-mount): New util.
8600 * .bzrignore: Add grub-mount.
8601 * configure.ac: Check for fuse and enable grub-mount if available.
8602 * docs/man/grub-mount.h2m: New file.
8603 * util/grub-mount.c: Likewise.
8604
10f0117b
VS
86052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8606
8607 * grub-core/commands/efi/fixvideo.c: Gettextize.
8608 * grub-core/commands/hashsum.c: Likewise.
8609 * grub-core/commands/i386/cmostest.c: Likewise.
8610 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8611 * grub-core/commands/i386/pc/lsapm.c: Likewise.
8612 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8613 * grub-core/commands/lsmmap.c: Likewise.
8614 * grub-core/commands/menuentry.c: Likewise.
8615 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8616 * grub-core/commands/setpci.c: Likewise.
8617 * grub-core/loader/i386/bsd.c: Likewise.
8618 * grub-core/loader/i386/linux.c: Likewise.
8619 * util/getroot.c: Likewise.
8620 * util/grub-editenv.c: Likewise.
8621 * util/grub-fstest.c: Likewise.
8622 * util/grub-mkfont.c: Likewise.
8623 * util/grub-mkimage.c: Likewise.
8624 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8625 * util/grub-pe2elf.c: Likewise.
8626 * util/grub-probe.c: Likewise.
8627 * util/grub-setup.c: Likewise.
8628 * util/ieee1275/ofpath.c: Likewise.
8629 * util/misc.c: Likewise.
8630 * util/raid.c: Likewise.
8631
566f779b
RM
86322011-11-11 Robert Millan <rmh@gnu.org>
8633
8634 * util/getroot.c (grub_util_get_geom_abstraction): Remove
8635 __attribute__((unused)) from `os_dev', which *is* being used.
8636
b50787de
VS
86372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8638
8639 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
8640 forgotten define.
8641 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
8642 GRUB_IA64_DL_GOT_ALIGN.
8643 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
8644 GRUB_IA64_DL_TRAMP_ALIGN.
8645
119d11c8
VS
86462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8647
8648 Replace grub_fatal with normal errors in i386 linux loader.
8649
8650 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
8651 (allocate_pages): Check find_efi_mmap_size return value.
8652 (grub_e820_add_region): Return error.
8653 (grub_linux_boot): Check mmap return value.
8654
6e0632e2
VS
86552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 * grub-core/commands/acpihalt.c: Gettextized.
8658 * grub-core/commands/cacheinfo.c: Likewise.
8659 * grub-core/commands/cmp.c: Likewise.
8660 * grub-core/commands/efi/loadbios.c: Likewise.
8661 * grub-core/commands/gptsync.c: Likewise.
8662 * grub-core/commands/ieee1275/suspend.c: Likewise.
8663 * grub-core/commands/legacycfg.c: Likewise.
8664 * grub-core/commands/memrw.c: Likewise.
8665 * grub-core/commands/minicmd.c: Likewise.
8666 * grub-core/commands/parttool.c: Likewise.
8667 * grub-core/commands/time.c: Likewise.
8668 * grub-core/commands/videoinfo.c: Likewise.
8669 * grub-core/disk/geli.c: Likewise.
8670 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
8671 * grub-core/disk/luks.c: Likewise.
8672 * grub-core/disk/lvm.c: Likewise.
8673 * grub-core/font/font_cmd.c: Likewise.
8674 * grub-core/fs/zfs/zfscrypt.c: Likewise.
8675 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8676 * grub-core/gfxmenu/view.c: Likewise.
8677 * grub-core/kern/emu/hostdisk.c: Likewise.
8678 * grub-core/kern/emu/main.c: Likewise.
8679 * grub-core/kern/emu/misc.c: Likewise.
8680 * grub-core/kern/emu/mm.c: Likewise.
8681 * grub-core/kern/mips/arc/init.c: Likewise.
8682 * grub-core/kern/mips/loongson/init.c: Likewise.
8683 * grub-core/kern/partition.c: Likewise.
8684 * grub-core/lib/i386/halt.c: Likewise.
8685 * grub-core/lib/mips/arc/reboot.c: Likewise.
8686 * grub-core/lib/mips/loongson/reboot.c: Likewise.
8687 * grub-core/loader/i386/pc/chainloader.c: Likewise.
8688 * grub-core/loader/i386/xnu.c: Likewise.
8689 * grub-core/loader/multiboot.c: Likewise.
8690 * grub-core/net/bootp.c: Likewise.
8691 * grub-core/net/net.c: Likewise.
8692 * grub-core/normal/term.c: Likewise.
8693 * grub-core/partmap/bsdlabel.c: Likewise.
8694 * grub-core/parttool/msdospart.c: Likewise.
8695 * grub-core/term/gfxterm.c: Likewise.
8696 * grub-core/term/terminfo.c: Likewise.
8697 * grub-core/video/i386/pc/vbe.c: Likewise.
8698 * util/grub-menulst2cfg.c: Likewise.
8699 * util/grub-mkdevicemap.c: Likewise.
8700 * util/grub-mklayout.c: Likewise.
8701 * util/grub-mkrelpath.c: Likewise.
8702 * util/grub-script-check.c: Likewise.
8703 * util/ieee1275/grub-ofpathname.c: Likewise.
8704 * util/resolve.c: Likewise.
8705
073aa7a9
VS
87062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 Support %1$d syntax.
8709
8710 * tests/printf_unit_test.c: New file.
8711 * Makefile.util.def (printf_test): New test.
8712 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
8713
c76b5417
VS
87142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
8717 fix.
8718
df067ad1
VS
87192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8720
8721 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
8722 dprintf.
8723 * grub-core/font/font.c (grub_font_load): Likewise.
8724
5b289bc5
VS
87252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 * util/grub-macho2img.c: Add comment concerning gettext.
8728 * grub-core/lib/legacy_parse.c: Likewise.
8729
c1860f87
VS
87302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8731
8732 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
8733 (grub_xvasprintf): Likewise.
8734
d35d0d37
VS
87352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8736
8737 Add const keyword to grub_env_get and gettextize week days.
8738
8739 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
8740 (grub_read_hook_datetime): Return const char *.
8741 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
8742 updated.
8743 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8744 Mark for gettext.
8745 (grub_get_weekday_name): Return const char *. Call gettext.
8746 * grub-core/script/argv.c (grub_script_argv_append): Receive const
8747 char * and len as the argument. All users updated.
8748 (grub_script_argv_split_append): Receive const char *.
8749 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
8750 * include/grub/env.h (grub_env_get): Likewise.
8751 (grub_env_read_hook_t): Return const char *.
8752 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
8753 (grub_script_argv_split_append): Likewise.
8754
9aed8a71
VS
87552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
8758
067fdf00
VS
87592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
8762 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
8763
a8bd9d39
VS
87642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
8767 Fix prototype.
8768
f7ce5baf
VS
87692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8770
8771 Fix mips compilation.
8772
8773 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
8774 normal decoder.
8775 (hashes): Use in embed decoder as well (for sizes).
8776 (dec_stream_header): Fix embed decompressor logic.
8777 (dec_stream_footer): Likewise.
8778
9bb182f3
VS
87792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8780
8781 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
8782 an error and not a fatal on unrecognised relocation types.
8783
63a9e6f6
VS
87842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8785
8786 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8787 Issue error rather than printf on unknown arguments.
8788
4c458569
VS
87892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
8792 Make buf a const.
8793
e2d22baf
VS
87942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
8797 Fix module name.
8798
53dc8590
VS
87992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
8802 leftover debug printf.
8803
6c189294
VS
88042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
8807
f7688369
VS
88082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8809
8810 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
8811 A stylistic fix.
8812
11a775a3
VS
88132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8814
8815 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
8816
33f784e8
SL
88172011-11-10 Shea Levy <slevy@tieronedesign.com>
8818
8819 Allow all modules to perform serial IO
8820
8821 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
8822 * include/grub/serial.h (grub_serial_port_configure): New inline
8823 function.
8824 (grub_serial_port_fetch): Likewise.
8825 (grub_serial_port_put): Likewise.
8826 (grub_serial_port_fini): Likewise.
8827 (grub_serial_find): New proto.
8828
f6276525
VS
88292011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8830
8831 Put symlink at the end of the node and fix a potential
8832 memory corruption.
8833
8834 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8835 Make symlink into an array.
8836 (set_rockridge): Set have_symlink and alloc_dirents.
8837 (grub_iso9660_read_symlink): Use new layout.
8838 (grub_iso9660_iterate_dir): Fix memory corruption.
8839 Use new layout.
8840 (grub_iso9660_dir): Set have_symlink.
8841 (grub_iso9660_open): Likewise.
8842
c3591189
VS
88432011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 Remove local keyword.
8846
8847 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8848 (version_test_gt): Likewise.
8849 (version_find_latest): Likewise.
8850 (gettext_printf): Likewise.
8851 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8852
cb544caa
VS
88532011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8854
8855 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8856
45bd824d
VS
88572011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 Fix ZFS memory and resource leaks.
8860
8861 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8862 All users updated.
8863 Free type on exit.
8864 (fill_vdev_info): New parameter inserted. All users updated.
8865 (check_pool_label): Likewise.
8866 (scan_disk): Likewise.
8867 (scan_devices): Close non-inserted disks.
8868 (fzap_iterate): Free l.
8869 (unmount_device): Free children descripto memory.
8870
ad9a2f44
VS
88712011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8872
8873 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8874 argument (access out of bounds).
8875
6b68db81
VS
88762011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8879 >= 6 drives.
8880
28840fda
VS
88812011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8884 Fix declaration.
8885
8a5a3a5b
VS
88862011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 Fix several memory leaks.
8889
8890 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8891 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8892 (grub_cpio_dir): Likewise.
8893 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8894 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8895 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8896 (grub_romfs_label): Likewise.
8897 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8898 (squash_unmount): New function.
8899 (grub_squash_dir): Fix memory leak.
8900 (grub_squash_open): Likewise.
8901 (grub_squash_read): Likewise.
8902 (grub_squash_mtime): Likewise.
8903 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8904 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8905 * util/grub-fstest.c (fstest): Likewise.
8906
57b01250
VS
89072011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8908
8909 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8910 avoid accessing beyond the array.
8911
19e81ba7
VS
89122011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8915
52b656c0
VS
89162011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8917
8918 Several AFFS fixes.
8919
8920 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8921 (GRUB_AFFS_FLAG_FFS): Removed.
8922 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8923 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8924 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8925 (grub_fshelp_node): Make block 32-bit.
8926 Add block_cache and last_block_cache.
8927 (grub_affs_read_block): Fill and use block cache.
8928 (grub_affs_read_file): Removed.
8929 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8930 boot block.
8931 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8932 safety.
8933 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8934 space.
8935 (grub_affs_close): Free block cache.
8936 (grub_affs_read): Use grub_fshelp_read_file directly.
8937
438a746a
VS
89382011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8941 with no error set.
8942
49a45021
VS
89432011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8946 used variable.
8947 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8948 Likewise.
8949
3ae17eb8
VS
89502011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8951
8952 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8953
8954 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8955 byteswap when needed.
8956
27610c38
VS
89572011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8958
8959 Fix FreeBSD compilation.
8960
8961 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8962 to avoid circular dependency.
8963 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8964 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8965 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8966
4a19b601
VS
89672011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8968
8969 Fix ZFS crypto error types.
8970
8971 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8972 (grub_gcm_decrypt): Likewise.
8973 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8974 from PBKDF2.
8975
958ee221
VS
89762011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8977
8978 Illumos support.
8979
8980 * Makefile.util.def (10_illumos): New script.
8981 * configure.ac: Set COND_HOST_ILLUMOS.
8982 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
8983 Support Illumos calls.
8984 (find_partition_start) [__sun__]: Likewise.
8985 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
8986 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
8987 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
8988 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
8989 device.
8990 * util/grub-probe.c (probe) [__sun__]: Do character check.
8991 * util/grub.d/10_illumos.in: New file.
8992
cac14fb6
VS
89932011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8994
8995 Support escaped commas in hostdisk.
8996
8997 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
8998 (find_grub_drive): Use unescape_cmp.
8999 (make_device_name): Escape commas.
9000
78e08dc3
VS
90012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9002
9003 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
9004
9f421dd1
VS
90052011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9006
9007 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
9008 variable.
9009
ed64e9e2
VS
90102011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9011
9012 Support trampoline jumps on powerpc.
9013
9014 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
9015 __ia64__ path.
9016 (grub_dl_load_segments): Set mod->sz.
9017 (grub_dl_flush_cache): Flush whole space occupied by module, not just
9018 segments.
9019 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
9020 (jump): Likewise.
9021 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
9022 function.
9023 (trampoline): New struct.
9024 (trampoline_template): New const.
9025 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
9026 * include/grub/dl.h (grub_dl): Add sz element.
9027 [__powerpc__]: Follow __ia64__.
9028 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
9029 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
9030 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
9031 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
9032
3084ede4
VS
90332011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 ZFS crypto support.
9036
9037 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
9038 * grub-core/Makefile.core.def (zfscrypt): New module.
9039 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
9040 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
9041 it. All users updated.
9042 (grub_zfs_decrypt): New var.
9043 (grub_zfs_load_key): Likewise.
9044 (zio_checksum_functions): Add SHA256+MAC.
9045 (zio_checksum_verify): Handle incomplete comparison due to MAC.
9046 (zio_read): Handle encrypted blocks.
9047 (zap_verify): Remove incorrect check.
9048 (fzap_iterate): Handle non-standard fzap.
9049 (zap_iterate): Likewise.
9050 (zap_iterate_u64): New function.
9051 (dnode_get_fullpath): Load keys.
9052 * grub-core/fs/zfs/zfscrypt.c: New file.
9053 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
9054 (grub_crypto_ecb_encrypt): Make input const.
9055 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
9056 (grub_crypto_ecb_encrypt): Make input const.
9057 (GRUB_CIPHER_AES): New macro.
9058 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
9059 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
9060 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
9061 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
9062 prefix. All users updated.
9063 (grub_zfs_add_key): New proto.
9064 (grub_zfs_decrypt): Likewise.
9065 (grub_zfs_load_key): Likewise.
9066 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
9067 * util/grub-fstest.c (options): Add -K option.
9068 (argp_parser): Likewise.
9069
b632b404
VS
90702011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 Support zle compression on ZFS.
9073
9074 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
9075 (decomp_table): Add zle.
9076 * include/grub/zfs/zio.h (zio_compress): Add zle.
9077
c7ba4f69
VS
90782011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 Support BtrFS embedding.
9081
9082 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
9083 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
9084 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
9085 * util/grub-setup.c (setup): Use fs embedding if available.
9086 Add additional sanity check.
9087
455377d9
VS
90882011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * util/grub-install.in: Fix condition for config_opt.
9091
c2fd16ca
VS
90922011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 Support third redundancy strip on raidz3.
9095
9096 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
9097 Return error on singularity. All users updated.
9098 (read_device): Don't stop on 3rd failure on raidz3.
9099
8622923b
VS
91002011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 Support case-insensitive ZFS subvolumes.
9103
9104 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
9105 All users updated.
9106 (zap_hash): Likewise.
9107 (name_cmp): New function.
9108 (zap_leaf_array_equal): New parameter case_insensitive.
9109 All users updated.
9110 (zap_leaf_lookup): Likewise.
9111 (fzap_lookup): Likewise.
9112 (zap_lookup): Likewise.
9113 (dnode_get_path): New parameter case_insensitive. Retrieve case
9114 sensitiviness of a volume. All users updated.
9115 (dnode_get_fullpath): New parameter case_insensitive.
9116 All users updated.
9117 (grub_zfs_dir): Set info.case_insensitiveness.
9118
95f2e860
VS
91192011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9120
9121 Support second redundancy strip on raidz(2,3).
9122
9123 * grub-core/fs/zfs/zfs.c (powx): New array.
9124 (powx_inv): Likewise.
9125 (poly): New const.
9126 (xor_out): New function.
9127 (gf_mul): Likewise.
9128 (recovery): Likewise.
9129 (read_device): Use second redundancy strip.
9130
11ee4389
VS
91312011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 Use a power of generator representation of GF(256) multiplication group
9134 to save space time and complexity.
9135
9136 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
9137 (raid6_table2): Likewise.
9138 (powx): New array.
9139 (powx_inv): Likewise.
9140 (poly): New const.
9141 (grub_raid_block_mul): Replace with ...
9142 (grub_raid_block_mulx): ...this.
9143 (grub_raid6_init_table): Rewritten.
9144 (grub_raid6_recover): Use power of generator representation.
9145
09e2763f
VS
91462011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9147
9148 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
9149 for the right device.
9150
8bec9a28
VS
91512011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9152
9153 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
9154 expected by grub-mkimage and it's more clear since there is no implicit
9155 padding.
9156
dbd3a32e
VS
91572011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
9160 disk.
9161 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9162
182c872a
PMH
91632011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
9164
9165 * util/grub-mkrescue.in: Fix handling xorriso option.
9166
1e51cabd
VS
91672011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9168
9169 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
9170 NULL.
9171
9cc3581d 91722011-11-03 crocket <crockabiscuit@gmail.com>
9173
9174 * util/grub.d/10_linux.in: Add Slackware initrd naming.
9175
158dc1ea
VS
91762011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 XZ CRC64 and SHA256 support.
9179
9180 * Makefile.util.def (libgrubmods): Add crc64.c.
9181 * grub-core/Makefile.core.def (crc64): New module.
9182 * grub-core/lib/crc64.c: New file.
9183 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
9184 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
9185 Fix the type.
9186 (MAX_HASH_SIZE): New define.
9187 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
9188 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
9189 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9190 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9191 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
9192 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
9193 Handle non-crc32 hashes.
9194 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
9195 (dec_stream_header): Handle non-crc32 hashes.
9196 (dec_stream_footer): Likewise.
9197 (dec_block_header): Likewise.
9198 (dec_main): Likewise.
9199 (xz_dec_init): Likewise.
9200 (xz_dec_reset): Likewise.
9201 (xz_dec_end): Likewise.
9202 * util/import_gcry.py: Add CRC64 line.
9203
9d9b3d2f
VS
92042011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
9207 as well.
9208
7d0ac931
VS
92092011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 Make reiserfs label retrieval similar to other *_label functions.
9212
9213 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
9214 (REISERFS_MAX_LABEL_LENGTH): Removed.
9215 (REISERFS_LABEL_OFFSET): Likewise.
9216 (grub_reiserfs_label): Rewritten.
9217
92182011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
9221 field.
9222
cf5ba824
VS
92232011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9224
9225 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
9226
17744004
VS
92272011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
9230 drive failure on both raidz and raidz2.
9231
aca5aefc
VS
92322011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 Fix RAIDZ(2) for >= 5 devices.
9235
9236 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
9237 asize argument. All users updated.
9238
ce8ca56e
VS
92392011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 Fix RAIDZ(2).
9242
9243 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
9244 (fill_vdev_info_real): Set ashift.
9245 (read_device): Rewrite RAIDZ part based on reverse engineering.
9246
7c01e783
VS
92472011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
9250 don't report potentially unavialiable fields in debug output.
9251 (find_path): Fix double-free and memory leak.
9252
ce109e84
VS
92532011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9254
9255 Read label on UFS1.
9256
9257 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
9258 (grub_ufs_fs): Always set .label.
9259
87661123
VS
92602011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 Use shifts in UFS.
9263
9264 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
9265 (grub_ufs_data): New field log2_blksz.
9266 (grub_ufs_read_file): Use shifts.
9267 (grub_ufs_mount): Check block size and logarithm it.
9268
46bc1dc2
VS
92692011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9270
9271 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
9272 long symlinks.
9273
19ee2987
VS
92742011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 Handle symlinks and long names on tar and cpio.
9277
9278 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
9279 (ATTR_FILE): Likewise.
9280 (ATTR_DIR): Likewise.
9281 (ATTR_LNK): Likewise.
9282 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
9283 (grub_cpio_find_file): Fill mode, handle linkname field as well as
9284 L and K entries.
9285 (grub_cpio_mount): Zero-fill data.
9286 (handle_symlink): New function.
46bc1dc2
VS
9287 (grub_cpio_dir): Handle symlinks.
9288 (grub_cpio_open): Likewise.
9289 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 9290
c83a08d8
VS
92912011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9292
9293 Fix iso9660 filename limitations and fix memory leaks.
9294
9295 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
9296 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
9297
45cdd3ea
VS
92982011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9299
9300 Fix JFS file name length limitations.
9301
9302 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
9303 (grub_jfs_diropen): Fix maximum filename length.
9304 (grub_jfs_getent): Fix filename length.
9305 (grub_jfs_lookup_symlink): Fix size checks.
9306
94ef05c2
VS
93072011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9308
9309 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
9310 string.
9311
785ab8c7
VS
93122011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9313
eb0b6b45
VS
9314 Leverage BFS implementation to read AFS.
9315
9316 * Makefile.util.def (libgrubmods): Add afs.c.
9317 * grub-core/Makefile.core.def (afs): New module
9318 * grub-core/fs/afs.c: New file.
9319 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
9320
93212011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 9324
c4a1628f
VS
93252011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9326
9327 * grub-core/fs/bfs.c: Run indent.
9328
5825b379
VS
93292011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9330
9331 BFS implementation based on the specification.
9332
9333 * grub-core/fs/bfs.c: New file.
9334 * Makefile.util.def (libgrubmods): Add bfs.c.
9335 * grub-core/Makefile.core.def (bfs): New module.
9336
42b2a706
VS
93372011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9338
9339 * util/grub-fstest.c (cmd_cp): Clarify error message.
9340 (cmd_cmp): Likewise.
9341
61b99bfc
YB
93422011-10-30 Yves Blusseau <blusseau@zetam.org>
9343
9344 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
9345 and befs_be.
9346
faba3d16
VS
93472011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 Remove afs and befs because of copyright problem.
9350
9351 * grub-core/fs/afs.c: Removed.
9352 * grub-core/fs/afs_be.c: Removed.
9353 * grub-core/fs/befs.c: Removed.
9354 * grub-core/fs/befs_be.c: Removed.
9355 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
9356 * grub-core/Makefile.core.def (afs): Removed.
9357 (afs_be): Likewise.
9358 (befs): Likewise.
9359 (befs_be): Likewise.
9360
c39224b0
VS
93612011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 Prefer rockridge over Joliet.
9364
9365 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
9366 to ...
9367 (set_rockridge): ... here.
9368 (grub_iso9660_mount): Check rockridge on the primary label when
9369 discovering. Ignore Joliet if Rockridge is present.
9370
e551115a
VS
93712011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9372
9373 Use shifts in nilfs2.
9374
9375 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
9376 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
9377 (grub_nilfs2_palloc_entries_per_group): Replace with ...
9378 (grub_nilfs2_log_palloc_entries_per_group): ... this.
9379 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
9380 (grub_nilfs2_entries_per_block): Replaced with ...
9381 (grub_nilfs2_log_entries_per_block_log): ... this.
9382 (grub_nilfs2_blocks_per_group): Replaced with ...
9383 (grub_nilfs2_blocks_per_group_log): ... this.
9384 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
9385 (grub_nilfs2_blocks_per_desc_block_log): ... this.
9386 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
9387 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
9388 (grub_nilfs2_palloc_entry_offset): Replaced ...
9389 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
9390 (grub_nilfs2_dat_translate): Use shifts.
9391 (grub_nilfs2_read_inode): Likewise.
9392 (GRUB_MOD_INIT): Ensure that logs are correct.
9393
564dd58c
VS
93942011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9395
9396 Use shifts in minix filesystem.
9397
9398 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
9399 (GRUB_MINIX_ZONE2SECT): Likewise.
9400 (grub_minix_data): Replace block_size with log_block_size.
9401 (grub_minix_read_file): Use shifts.
9402 (grub_minix_mount): Check block size and take a logarithm.
9403
ed9ba06d
VS
94042011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 Use shifts in squash4.
9407
9408 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
9409 (squash_mount): Check block size and take logarithm.
9410 (direct_read): Use shifts.
9411
ad03fe76
VS
94122011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9413
9414 Correct befs block counting logic.
9415
9416 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
9417 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
9418 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
9419 (grub_afs_read_inode): Use block_shift.
9420 (RANGE_SHIFT): New definition.
9421 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
9422 unexpected conditions, use shifts and appropriate types.
9423 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
9424
6563f63d
VS
94252011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 * grub-core/disk/raid.c (scan_devices): Check partition.
9428 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9429
5b1ae25f
VS
94302011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9431
9432 Support BFS (befs) UUID.
9433
9434 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
9435 (grub_afs_small_data_element_header): New struct.
9436 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
9437 (grub_afs_read_attribute) [MODE_BFS]: New function.
9438 (grub_afs_iterate_dir): Allocate for complete inode.
9439 (grub_afs_mount): Likewise.
9440 (grub_afs_uuid) [MODE_BFS]: New function.
9441 (grub_afs_fs) [MODE_BFS]: Add .uuid.
9442
f8d82408
VS
94432011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9444
9445 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
9446 (zfs_unmount): Fix memory leak.
9447
5773fb64
VS
94482011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 Support NTFS reparse points.
9451
9452 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
9453 (symlink_descriptor): New struct.
9454 (grub_ntfs_read_symlink): New function.
9455 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
9456 (grub_ntfs_open): Likewise.
9457
91c3fdde
VS
94582011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9459
9460 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
9461
3be82e10
VS
94622011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 fstest xnu_uuid subcommand.
9465
9466 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
9467 grub-core/commands/xnu_uuid.c.
9468 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
9469 (fstest): Handle xnu_uuid.
9470 (options): Document xnu_uuid.
9471 (argp_parser): Parse xnu_uuid.
9472
8e32442e
VS
94732011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
9476 -l argument. Add newline at the end if printing.
9477 (GRUB_MOD_INIT): Document -l.
9478
52a05075
VS
94792011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
9482
1869edb5
VS
94832011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 ZFS multi-device and version 33 support.
9486
9487 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
9488 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
9489 (grub_zfs_data): Add multidev-ice-related fields.
9490 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
9491 (dva_get_offset): Make dva const.
9492 (zfs_fetch_nvlist): New function.
9493 (fill_vdev_info_real): Likewise.
9494 (fill_vdev_info): Likewise.
9495 (check_pool_label): Likewise.
9496 (scan_disk): Likewise.
9497 (scan_devices): Likewise.
9498 (read_device): Likewise.
9499 (read_dva): Likewise.
9500 (zio_read_gang): Use read_dva.
9501 (zio_read_data): Likewise.
9502 (zap_leaf_lookup): Add missing endian conversion.
9503 (zap_verify): Add missing endian conversion. All users updated.
9504 (fzap_lookup): Likewise.
9505 (fzap_iterate): Likewise.
9506 (dnode_get_path): Handle SA bonus.
9507 (nvlist_find_value): Make input const. All users updated.
9508 (unmount_device): New function.
9509 (zfs_unmount): Use unmount_device.
9510 (zfs_mount): Use scan_disk.
9511 (zfs_mtime): New function.
9512 (grub_zfs_open): Handle system attributes.
9513 (fill_fs_info): Likewise.
9514 (grub_zfs_dir): Likewise.
9515 (grub_zfs_fs): Add mtime.
9516 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
9517 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
9518 (SA_MTIME_OFFSET): Likewise.
9519 (SA_SYMLINK_OFFSET): Likewise.
9520 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
9521 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
9522 (fstest): Support zfsinfo.
9523 (argp_parser): Likewise.
9524
186b4028
VS
95252011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
9528 error.
9529
95302011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
9531
9532 ZFS fixes.
9533
9534 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
9535 sharing the same block. Iterate over correct number of indices.
9536 (dnode_get_path): Handle symlinks correctly.
9537
c0584900
VS
95382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
9541
67e2bd71
VS
95422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 Read label on HFS+.
9545
9546 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
9547 (grub_hfsplus_btree_search): Fix types.
9548 (grub_hfsplus_label): Implement.
9549
e9cc6b7b
VS
95502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
9553
19832ddb
VS
95542011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
9557
66b40850
VS
95582011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 Fix symlink handling on iso9660.
9561
9562 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
9563 All users updated.
9564 (grub_iso9660_susp_iterate): Accept zero-size iterate.
9565 (grub_iso9660_read_symlink): Moved most of code ...
9566 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
9567
db821363
VS
95682011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9571 Use union to avoid breaking strict-aliasing rules.
9572
e1211949
VS
95732011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9574
9575 Support multi-extent iso files.
9576
9577 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
9578 Add node.
9579 (grub_fshelp_node): Revamp. All users updated.
9580 (FLAG_*): New enum.
9581 (read_node): New function.
9582 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
9583 All users updated.
9584 (grub_iso9660_mount): Don't attempt to read sua when there is none.
9585 (get_node_size): New function.
9586 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
9587 entries.
9588 Fix memory leak on . and ..
9589 (grub_iso9660_read): Use read_node.
9590 (grub_iso9660_close): Free node.
9591
d4888031
VS
95922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 Fix tar 4G limit and handle paths containing dot.
9595
9596 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
9597 (canonicalize): New function.
9598 (grub_cpio_find_file): Use canonicalize. Store offs in
9599 grub_disk_addr_t.
9600 (grub_cpio_dir): Use grub_disk_addr_t.
9601 (grub_cpio_open): Likewise.
9602
9f12e664
VS
96032011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 Fix handling of uncompressed blocks on squashfs and break 4G limit.
9606
9607 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
9608 unused flags.
9609 (grub_squash_inode): Add long_file and block_size.
9610 (grub_squash_cache_inode): New struct.
9611 (grub_squash_dirent): Make types into enum.
9612 (SQUASH_TYPE_LONG_REGULAR): New type.
9613 (grub_squash_frag_desc): Add field size.
9614 (SQUASH_BLOCK_FLAGS): New enum.
9615 (grub_squash_data): Use grub_squash_cache_inode.
9616 (grub_fshelp_node): Make ino_chunk 64-bit.
9617 (read_chunk): Minor argument change. All users updated.
9618 (squash_mount): Use correct le_to_cpu.
9619 (grub_squash_open): Handle LONG_REGULAR.
9620 (direct_read): New function.
9621 (grub_squash_read_data): Handle blocks correctly.
9622
9f326fba
VS
96232011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
9626
f4d9b64b
VS
96272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
9630
5bbd28b8
VS
96312011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9632
9633 Fix 2G limit on ZFS.
9634
9635 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
9636 types.
9637 (uberblock_verify): Likewise.
9638 (dmu_read): Likewise.
9639 (grub_zfs_read): Likewise. Remove invalid cast.
9640
68c72069
VS
96412011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9642
9643 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
9644 (grub_jfs_blkno): Fix incorrect shift.
9645 (grub_jfs_read_file): Use more appropriate types.
9646
6e536dc8
VS
96472011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 Support triple indirect on minix2 and minix3.
9650
9651 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
9652 Declare triple_indir_zone.
9653 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
9654 indirect.
9655
e0864e7a
VS
96562011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 Minix FS fixes.
9659
9660 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
9661 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
9662 Rename ctime to mtime. All users updated.
9663 (grub_minix_get_file_block): Fix types and double indirect computations.
9664
89481cab
VS
96652011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
9668 if no label is found.
9669 (grub_fat_iterate_dir): Fix file size type.
9670 (grub_fat_iterate_dir): Likewise.
9671
f646e143
VS
96722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9673
9674 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
9675 save some space.
9676 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9677 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9678
534d769e
VS
96792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
9682
e084ba18
VS
96832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9684
9685 * util/import_gcry.py: Accept space between # and include.
9686
3471ecdf
VS
96872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
9690
124df5f6
VS
96912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 Fine grainely disable warnings on lexer. Remove Wno-error on it.
9694
9695 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
9696 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
9697 yylex_strncpy.
9698 * grub-core/script/yylex.l: Add fine-grained #pragma.
9699
4defb8d5
VS
97002011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9701
9702 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
9703 New inline function.
9704 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
9705 Likewise.
9706 (memset) [GRUB_UTIL]: Likewise.
9707 (memcmp) [GRUB_UTIL]: Likewise.
9708
4e94ae65
VS
97092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9710
9711 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
9712 inline function rather than a define.
9713
18c575e5
VS
97142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9715
9716 * util/grub-setup.c: Add missing include.
9717
f8bc22a8
VS
97182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 * util/ieee1275/grub-ofpathname.c: Add missing include.
9721
3ce69fc9
VS
97222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9723
9724 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
9725 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
9726 Likewise.
9727
d1e293bb
VS
97282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
9731 grub_memcmp usage.
9732
7a5c54a4
VS
97332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9734
9735 * util/grub-install.in: Add datarootdir as per automake manual
9736 suggestion.
9737 * util/grub-mknetdir.in: Likewise.
9738
97392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
9740
9741 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
9742 suggestion.
9743 * util/grub.d/10_kfreebsd.in: Likewise.
9744 * util/grub.d/10_linux.in: Likewise.
9745 * util/grub.d/10_netbsd.in: Likewise.
9746 * util/grub.d/10_windows.in: Likewise.
9747 * util/grub.d/20_linux_xen.in: Likewise.
9748
766f7d08
VS
97492011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 Remove redundant grub_kernel_image_size.
9752
9753 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
9754 _edata and _start.
9755 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
9756 the small code. It moves it only by few bytes but simplifies the code.
9757 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
9758 _start.
9759 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
9760 (grub_kernel_image_size): Removed.
9761 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
9762 (grub_kernel_image_size): Removed.
9763 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
9764 compiled with Apple toolchain.
9765 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
9766 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
9767 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
9768 (grub_total_module_size): Likewise.
9769 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
9770 Removed.
9771 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
9772 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
9773 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9774 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
9775 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
9776 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
9777 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
9778 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
9779 Removed.
9780 (grub_total_module_size): Removed.
9781 * util/grub-mkimage.c (image_target_desc): Remove image_size.
9782 (image_targets): Likewise.
9783 Set .compressed_size to no field on sparc.
9784 (generate_image): Remove kernel_image_size handling.
9785
fcf1d672
SJ
97862011-10-19 Szymon Janc <szymon@janc.net.pl>
9787
9788 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
9789 NULL pointer dereference.
9790
de9c615e
VS
97912011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9792
9793 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
9794 done with a dedicated section.
9795
9796 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
9797 Ensure the correct position of boot_path.
9798 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9799 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
9800 other fields.
9801 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
9802 * include/grub/boot.h: Removed. All references removed.
9803 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9804 Removed.
9805 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
9806
e55599dc
VS
98072011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9808
9809 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
9810 name.
9811
36dd20ad
VS
98122011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
9815
f8f72eb8
VS
98162011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9817
9818 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9819 Don't add the bogus brackets.
9820
a374751b
VS
98212011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 ExFAT support.
9824
9825 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
9826 * grub-core/Makefile.core.def (exfat): New module.
9827 * grub-core/fs/exfat.c: New file.
9828 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9829 (GRUB_FAT_ATTR_*): Make into an enum.
9830 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
9831 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
9832 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
9833 (GRUB_FAT_MAXFILE): Removed.
9834 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9835 (grub_current_fat_bpb_t): New type.
9836 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9837 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9838 (grub_fat_dir_node_t): New type.
9839 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9840 (fat_log2) [MODE_EXFAT]: Removed.
9841 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9842 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9843 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9844 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9845 (grub_fat_label) [MODE_EXFAT]: New function.
9846 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9847 reserved_first_sector to 0.
9848
544c2487
VS
98492011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9850
9851 Move grub_reboot out of the kernel.
9852
9853 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9854 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9855 * grub-core/lib/efi/reboot.c: ... here.
9856 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9857 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9858 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9859 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9860 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9861 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9862 * grub-core/lib/ieee1275/reboot.c: ... here.
9863 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9864 * grub-core/lib/mips/arc/reboot.c: ... here.
9865 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9866 * grub-core/lib/mips/loongson/reboot.c: ...here.
9867 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9868 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9869 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9870 * include/grub/i386/reboot.h: New file.
9871 * include/grub/mips/loongson/ec.h: Fix includes.
9872 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9873 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9874 * grub-core/lib/i386/reboot.c: New file.
9875
a97501d2
VS
98762011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9877
9878 Make grub_prefix into module to fix the arbitrary limit and save
9879 some space.
9880
9881 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9882 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9883 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9884 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9885 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9886 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9887 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9888 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9889 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9890 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9891 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9892 * include/grub/ia64/efi/kernel.h: Removed.
9893 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9894 (grub_prefix): Removed.
9895 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9896 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9897 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9898 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9899 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9900 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9901 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9902 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9903 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9904 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9905 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9906 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9907 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9908 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9909 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9910 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9911 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9912 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9913 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9914 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9915 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9916 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9917 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9918 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9919 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9920 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9921 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9922 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9923 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9924 from module.
9925 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9926 prefix_end.
9927 (image_targets): Likewise.
9928 (generate_image): Put prefix as a module.
9929
39705fad
VS
99302011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 Replace grub_module_iterate with FOR_MODULES.
9933
9934 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9935 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9936 (grub_efi_modules_addr): ...this.
9937 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9938 (grub_efi_init): Set grub_modbase.
9939 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9940 (grub_modbase): New variable.
9941 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9942 (grub_modbase): New variable.
9943 (grub_machine_init): Set grub_modbase.
9944 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9945 (grub_modbase): New variable.
9946 (grub_machine_init): Set grub_modbase.
9947 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9948 (grub_modbase): New variable.
9949 (grub_machine_init): Set grub_modbase.
9950 * grub-core/kern/main.c (grub_module_iterate): Remove.
9951 (grub_modules_get_end): Use grub_modbase.
9952 (grub_load_modules): Use FOR_MODULES.
9953 (grub_load_config): Likewise.
9954 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9955 (grub_modbase): New variable.
9956 (grub_machine_init): Set grub_modbase.
9957 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9958 (grub_modbase): New variable.
9959 (grub_machine_init): Set grub_modbase.
9960 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9961 Removed.
9962 (grub_modbase): New variable.
9963 (grub_machine_init): Set grub_modbase.
9964 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9965 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9966 (grub_module_iterate): Likewise.
9967 (grub_modbase): New variable declaration.
9968 (FOR_MODULES): New macro.
9969
2afb7f6c
VS
99702011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9973 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9974
366e34fa
VS
99752011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9976
9977 Fix few obvious type discrepancies.
9978
9979 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
9980 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
9981 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
9982 variable.
9983 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
9984 and connected types.
9985 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
9986 offset.
9987 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
9988 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
9989 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
9990 and connected types.
9991
177b960e
VS
99922011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9993
9994 Fix python 3.x incompatibilities.
9995
9996 * gentpl.py: Put brackets around print strings.
9997 * util/import_gcry.py: Open explicitly as utf-8.
9998 Use in instead of has_key.
9999
3b619ae1
VS
100002011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
10003 (GRUB_XFS_INO_AGBITS): Make into inline function.
10004 (GRUB_XFS_INO_INOINAG): Likewise.
10005 (GRUB_XFS_INO_AG): Likewise.
10006 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
10007 (GRUB_XFS_EXTENT_OFFSET): Likewise.
10008 (GRUB_XFS_EXTENT_BLOCK): Likewise.
10009 (GRUB_XFS_EXTENT_SIZE): Likewise.
10010 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
10011 (GRUB_XFS_NEXT_DIRENT): Likewise.
10012 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
10013 (grub_xfs_read_file): Fix offset type.
10014
8bcebcb8
RM
100152011-10-15 Robert Millan <rmh@gnu.org>
10016
10017 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
10018
0017e5ef
RM
100192011-10-15 Robert Millan <rmh@gnu.org>
10020
10021 Fix build problem on FreeBSD and GNU/kFreeBSD.
10022
10023 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
10024
d8919552
VS
100252011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10026
10027 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
10028
10029 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
10030 types.
10031 (grub_hfsplus_btree_recoffset): Likewise.
10032 (grub_hfsplus_btree_recptr): Likewise.
10033 (grub_hfsplus_find_block): Likewise.
10034 (grub_hfsplus_btree_search): Likewise.
10035 (grub_hfsplus_read_block): Likewise.
10036 (grub_hfsplus_read_file): Likewise.
10037 (grub_hfsplus_mount): Likewise.
10038 (grub_hfsplus_btree_iterate_node): Likewise.
10039 (grub_hfsplus_btree_search): Likewise.
10040 (grub_hfsplus_iterate_dir): Likewise.
10041 (grub_hfsplus_read): A small code simplification.
10042
c81296b6
VS
100432011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10044
10045 * grub-core/kern/emu/hostdisk.c
10046 (convert_system_partition_to_system_disk): Don't assume that children
10047 of mapper nodes are mapper nodes.
10048
0eb8ffb1
VS
100492011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
10052 * include/grub/misc.h (grub_isxdigit): New function.
10053 * grub-core/video/colors.c (my_isxdigit): Removed. All users
10054 switched to grub_isxdigit.
10055 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
10056 number starting with a letter.
10057
a98f4a08
RM
100582011-10-09 Robert Millan <rmh@gnu.org>
10059
10060 LVM support for FreeBSD and GNU/kFreeBSD.
10061
10062 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
10063 GNU/kFreeBSD.
10064 (LVM_DEV_MAPPER_STRING): Move from here ...
10065 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
10066 * util/getroot.c: Include `<grub/util/lvm.h>'.
10067 (grub_util_get_dev_abstraction): Enable
10068 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
10069 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
10070 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
10071 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
10072 support it.
10073 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
10074 GNU/kFreeBSD.
10075 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
10076 when LVM abstraction is required for ${GRUB_DEVICE}.
10077
050e8e90
SJ
100782011-10-06 Szymon Janc <szymon@janc.net.pl>
10079
10080 Add support for LZO compression in GRUB:
10081 - import of minilzo library,
10082 - LZO decompression for btrfs,
10083 - lzop files decompression.
10084
10085 * grub-core/io/lzopio.c: New file.
10086 * grub-core/lib/adler32.c: Likewise.
10087 * grub-core/lib/minilzo/lzoconf.h: Likewise.
10088 * grub-core/lib/minilzo/lzodefs.h: Likewise.
10089 * grub-core/lib/minilzo/minilzo.c: Likewise.
10090 * grub-core/lib/minilzo/minilzo.h: Likewise.
10091 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
10092 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
10093 grub-core/lib/minilzo/minilzo.c to common.
10094 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
10095 cflags in cppflags.
10096 * grub-core/Makefile.core.def (btrfs): Likewise.
10097 * grub-core/Makefile.core.def (lzopio): New module.
10098 (adler32): Likewise.
10099 * grub-core/fs/btrfs.c: Include minilzo.h.
10100 (GRUB_BTRFS_COMPRESSION_LZO): New define.
10101 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
10102 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
10103 (grub_btrfs_lzo_decompress): New function.
10104 (grub_btrfs_extent_read): Add support for LZO compression type.
10105 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
10106 (GRUB_USHRT_MAX): Likewise.
10107 (GRUB_UINT_MAX): Likewise.
10108 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
10109 (UINT_MAX): Likewise.
10110 (CHAR_BIT): Likewise.
10111 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
10112 grub-core/lib/posix_wrap/limits.h
10113 (UCHAR_MAX): Likewise.
10114 * include/grub/file.h (grub_file_filter_id): New compression filter
10115 GRUB_FILE_FILTER_LZOPIO.
10116 * include/grub/file.h (grub_file_filter_id): Set
10117 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
10118 * include/grub/types.h (grub_get_unaligned16): New function.
10119 (grub_get_unaligned32): Likewise.
10120 (grub_get_unaligned64): Likewise.
10121 * util/import_gcry.py (cryptolist): Add adler32.
10122
0eb8ffb1
VS
101232011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
10126 in perspective decreases the complexity of build system and fixes
10127 compilation right now.
10128
ce79cc99 101292011-10-01 Ales Nesrsta <starous@volny.cz>
10130
10131 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
10132 (fixed problem related to using UHCI with coreboot).
10133
8667a314
BC
101342011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10135
10136 * gentpl.py: Use Autogen macros so that the output template file
10137 (Makefile.tpl) size is reduced.
10138
fc5efcc0
MK
101392011-09-29 Mads Kiilerich <mads@kiilerich.com>
10140
10141 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
10142 extra_dist.
10143
d1ab689d
ML
101442011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10145
10146 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
10147 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
10148
c05de032
ML
101492011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10150
10151 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
10152 _fullpath.
10153
cca7ccd8
ML
101542011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10155
10156 Remove extra declaration of sleep for mingw32.
10157
10158 * util/misc.c (sleep) [__MINGW32__]: Removed.
10159 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
10160
e0b0dc83
GS
101612011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
10162
10163 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
10164 type and packname.
10165 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
10166 Resurrected.
10167 (NETBSD_BTINFO_BOOTWEDGE): New definition.
10168 (grub_netbsd_btinfo_bootwedge): New struct.
10169 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
10170 New function.
10171 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
10172
91a1a164
TH
101732011-09-28 Thomas Haller <thomas.haller@fen-net.de>
10174
10175 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
10176 loader.
10177
2ded951e
AB
101782011-09-28 Andreas Born <futur.andy@googlemail.com>
10179
10180 Fix incorrect identifiers in bash-completion.
10181
10182 * util/bash-completion.d/grub-completion.bash.in
10183 (_grub_mkpasswd-pbkdf2): Rename to ...
10184 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
10185 (_grub_script-check): Rename to ...
10186 (_grub_script_check): ... this. All users updated.
10187
69915030
VS
101882011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
10189
10190 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10191 Return 0 if disk isn't biosdisk.
10192
20fd15f9
GS
101932011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10194
10195 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
10196 on NetBSD.
10197 * Makefile.util.def (grub-fstest): Likewise.
10198
1a7d7db9
GS
101992011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10200
10201 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
10202 Get sector size from disk label.
10203
2221ab6c
CW
102042011-09-05 Colin Watson <cjwatson@ubuntu.com>
10205
10206 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
10207 */README* as well as README*.
10208 Reported by: Axel Beckert.
10209
ca51c4a0
VS
102102011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
10213 case of less than 256 MiB of RAM.
10214
ab80f326
VS
102152011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 * grub-core/commands/wildcard.c (make_regex): Handle @.
10218
4155e697
VS
102192011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10220
10221 * util/grub-install.in: Move cryptodisk logic to appropriate place.
10222
ab178c08
SJ
102232011-08-21 Szymon Janc <szymon@janc.net.pl>
10224
10225 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
10226 AC_LANG_CONFTEST macros.
10227
7dc3c686
SJ
102282011-08-20 Szymon Janc <szymon@janc.net.pl>
10229
10230 Add grub-fstest option to uncompress data for commands.
10231
10232 * util/grub-fstest.c (uncompress): New var.
10233 (options): New option -u.
10234
fe8d4a7b
SJ
102352011-08-20 Szymon Janc <szymon@janc.net.pl>
10236
10237 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
10238 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
10239
a5219af1
SJ
102402011-08-20 Szymon Janc <szymon@janc.net.pl>
10241
10242 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
10243 file type was not recognized correctly (not gzip or corrupted).
10244
f87abff5
VS
102452011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
10248 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
10249
d94497ea
VS
102502011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
10253 loongson.
10254 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10255 video_radeon_fuloong2e.
10256 * grub-core/video/radeon_fuloong2e.c: New file.
10257 * include/grub/video.h (grub_video_id_t): Add new ID
10258 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
10259
0d1fd011
VS
102602011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
10263 define.
10264 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
10265 that PRID matches the detected subplatform and reset the subplatform
10266 if it doesn't.
10267
84beb0ee
VS
102682011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10269
10270 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
10271
1227c133
VS
102722011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10273
10274 Fix PCI iterating on functions >= 4.
10275
10276 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
10277 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
10278 Removed.
10279 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
10280 (grub_pci_read): Fix bitmask.
10281 (grub_pci_read_word): Likewise.
10282 (grub_pci_read_byte): Likewise.
10283 (grub_pci_write): Likewise.
10284 (grub_pci_write_word): Likewise.
10285 (grub_pci_write_byte): Likewise.
10286
9594c689
VS
102872011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10288
10289 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
10290 can still be specified in TARGET_CFLAGS)
10291
14a2562c
VS
102922011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10293
10294 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
10295
10296 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
10297 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
10298 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
10299 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
10300 (FULOONG): Rename to ...
10301 (FULOONG2F): ... this. All users updated.
10302 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
10303 (machtype_fuloong2f_str): ... this.
10304 (machtype_fuloong2e_str): New string.
10305 Check for machtype_fuloong2e_str.
10306 * grub-core/loader/mips/linux.c (loongson_machtypes)
10307 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
10308 * grub-core/term/serial.c (loongson_defserial)
10309 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
10310 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
10311 loongson_defserial.
10312 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
10313 Rename to ...
10314 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
10315 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
10316 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
10317 to IMAGE_FULOONG2F_FLASH. All users updated.
10318 (image_targets): Rename images.
10319 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
10320
b526cbb6
SJ
103212011-08-19 Szymon Janc <szymon@janc.net.pl>
10322
10323 Make enable of disk cache statistics code configurable.
10324
10325 * configure.ac: --enable-cache-stats added.
10326 * config.h.in (DISK_CACHE_STATS): New define.
10327 * grub-core/Makefile.core.def (cacheinfo): New command.
10328 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
10329 * grub-core/commands/cacheinfo.c: New file.
10330 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
10331 moved to cacheinfo.c.
10332 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
10333 debug code.
10334 * include/grub/disk.h: Likewise.
10335
fb739ccd
SJ
103362011-08-19 Szymon Janc <szymon@janc.net.pl>
10337
10338 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
10339 * grub-core/Makefile.am: Likewise.
10340
2bba8cfd
VS
103412011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10342
10343 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
10344 non-zero pull.
10345
43526629
VS
103462011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10347
10348 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
10349 All users updated.
10350 (grub_jfs_lookup_symlink): Use correct starting inode.
10351
5c144cc8
VS
103522011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 * util/grub-setup.c (main): Add missing gcry initialisation.
10355
b1257f65
VS
103562011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10357
10358 Don't accept text modes on EFI when booting Linux.
10359
10360 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
10361 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
10362
828bc390
ML
103632011-08-15 Mario Limonciello <mario_limonciello@dell.com>
103642011-08-15 Colin Watson <cjwatson@ubuntu.com>
10365
10366 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
10367 use of "/path/.." as in grub-install for EFI as well as handling
10368 symlinks correctly.
10369 Fixes Debian bug #637768.
10370
5f60ccac
CW
103712011-08-15 Colin Watson <cjwatson@ubuntu.com>
10372
10373 * util/grub-probe.c: Remove duplicate #include.
10374
6dc212f9
RM
103752011-08-10 Robert Millan <rmh@gnu.org>
10376
10377 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
10378
10379 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
10380 function.
10381 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
10382 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
10383
66816d85
RM
103842011-08-03 Robert Millan <rmh@gnu.org>
10385
10386 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
10387 la_array as packed.
10388 Reported by: Zachary Bedell
10389
20168fca
CW
103902011-07-26 Colin Watson <cjwatson@ubuntu.com>
10391
10392 * configure.ac: The Loongson port requires grub-mkfont due to its
10393 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
10394 be built.
10395
303b6246
CW
103962011-07-26 Colin Watson <cjwatson@ubuntu.com>
10397
10398 * util/grub-install.in: Don't source grub-mkconfig_lib until after
10399 processing arguments (otherwise help2man fails when GRUB has not yet
10400 been installed).
10401
6795300e
VS
104022011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10403
41aa28ea
VS
10404 New script grub-mkstandalone.
10405
10406 * Makefile.util.def (grub-mkstandalone): New script.
10407 * docs/man/grub-mkstandalone.h2m: New file.
10408 * util/grub-mkstandalone.in: Likewise.
10409
104102011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 Support ATA disks with 4K sectors.
6795300e
VS
10413
10414 * include/grub/ata.h (grub_ata): New member log_sector_size.
10415 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
10416 (grub_ata_identify): Read sector size.
10417 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
10418
92227597
VS
104192011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10420
10421 * util/grub-install.in: Don't use uhci outside of x86.
10422
c77069f5
VS
104232011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * util/grub-mkrescue.in: Add missing quotes.
10426
104272011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
10428
10429 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
10430 dereference.
10431
583168a2
VS
104322011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10433
10434 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
10435
6be1c01f
VS
104362011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 * include/grub/video.h: add missing EXPORT_FUND on
10439 grub_video_edid_checksum and grub_video_edid_preferred_mode.
10440
a1167439
VS
104412011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * include/grub/mips/kernel.h: Fix define conflict.
10444
bf66054f
VS
104452011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
10448 all four ways.
10449
8fc4fa45
CW
104502011-07-21 Colin Watson <cjwatson@ubuntu.com>
10451
10452 Preferred resolution detection for VBE.
10453
10454 * grub-core/video/video.c (grub_video_edid_checksum): New function.
10455 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
10456 the Flat Panel extension, in line with the X.org VESA driver.
10457 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
10458 New function.
10459 (grub_vbe_bios_get_ddc_capabilities): Likewise.
10460 (grub_vbe_bios_read_edid): Likewise.
10461 (grub_vbe_get_preferred_mode): Likewise.
10462 (grub_video_vbe_setup): When the mode is "auto", try to get the
10463 preferred mode from VBE, and use the largest mode that is no larger
10464 than the preferred mode (some BIOSes expose a preferred mode that is
10465 not in their mode list!). If this fails, fall back to 640x480 as a
10466 safe conservative choice.
10467 (grub_video_vbe_get_edid): New function.
10468 (grub_video_vbe_adapter): Add get_edid.
10469 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
10470 (struct grub_video_adapter): Add get_edid.
10471 (grub_video_edid_checksum): Add prototype.
10472 (grub_video_edid_preferred_mode): Likewise.
10473 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
10474 structure.
10475
10476 * grub-core/commands/videoinfo.c (print_edid): New function.
10477 (grub_cmd_videoinfo): Print EDID if available.
10478
10479 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
10480 is more appropriate on a wider range of platforms than 640x480.
10481 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
10482 documentation.
10483
ca5572a9
VS
104842011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10485
10486 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
10487
e4bcf625
VS
104882011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 * po/POTFILES.in: Regenerate.
10491
c4edd548
VS
104922011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
10495 incorrect memory usage.
10496
16a2bab0
VS
104972011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10498
10499 * util/grub-install.in: Source grub-mkconfig_lib.
10500
2e418de6
VS
105012011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10502
10503 Remove getroot.c from core on emu platform.
10504
10505 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
10506 kern/emu/raid.c.
10507 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
10508 useless.
10509 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
10510 * util/getroot.c (get_win32_path): ... here.
10511 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
10512 * util/getroot.c (fini_libzfs): ... here.
10513 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
10514 * util/getroot.c (grub_get_libzfs_handle): ... here.
10515 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
10516 Moved from here...
10517 * util/getroot.c (grub_find_zpool_from_dir): ... here.
10518 * grub-core/kern/emu/misc.c
10519 (grub_make_system_path_relative_to_its_root): Moved from here...
10520 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
10521 * grub-core/kern/emu/getroot.c: Moved from here ...
10522 * util/getroot.c: ... here. All users updated.
10523 * grub-core/kern/emu/raid.c: Moved from here ...
10524 * util/raid.c: ... here. All users updated.
10525
def9832a
VS
105262011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 * po/POTFILES.in: Regenerate.
10529
cd8fe79a
VS
105302011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10531
10532 Fix compilation on GNU/Linux.
10533
10534 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
10535 Disable geli.
10536 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
10537 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
10538 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
10539
a251b719
VS
105402011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
105412011-07-07 Michael Gorven <michael@gorven.za.net>
105422011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
10543
10544 LUKS and GELI support.
10545
10546 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
10547 grub-core/disk/luks.c, grub-core/disk/geli.c,
10548 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
10549 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
10550 grub-core/lib/arg.c.
10551 (libgrubmods.a): Remove gcrypts cflags and cppflags.
10552 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
10553 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
10554 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
10555 (grub-bin2h): Add libgcry.a.
10556 (grub-mkimage): Likewise.
10557 (grub-mkrelpath): Likewise.
10558 (grub-script-check): Likewise.
10559 (grub-editenv): Likewise.
10560 (grub-mkpasswd-pbkdf2): Likewise.
10561 (grub-pe2elf): Likewise.
10562 (grub-fstest): Likewise.
10563 (grub-mkfont): Likewise.
10564 (grub-mkdevicemap): Likewise.
10565 (grub-probe): Likewise.
10566 (grub-ofpath): Likewise.
10567 (grub-mklayout): Likewise.
10568 (example_unit_test): Likewise.
10569 (grub-menulst2cfg): Likewise.
10570 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
10571 * grub-core/Makefile.core.def (cryptodisk): New module.
10572 (luks): Likewise.
10573 (geli): Likewise.
10574 * grub-core/disk/AFSplitter.c: New file.
10575 * grub-core/disk/cryptodisk.c: Likewise.
10576 * grub-core/disk/geli.c: Likewise.
10577 * grub-core/disk/luks.c: Likewise.
10578 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
10579 grub_util_is_lvm.
10580 (grub_util_get_dm_abstraction): New function.
10581 (grub_util_follow_gpart_up): Likewise.
10582 (grub_util_get_geom_abstraction): Likewise.
10583 (grub_util_get_dev_abstraction): Use new functions.
10584 (grub_util_pull_device): Pull GELI and LUKS.
10585 (grub_util_get_grub_dev): Handle LUKS and GELI.
10586 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
10587 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
10588 (follow_geom_up): Removed.
10589 (grub_util_fd_seek): New function.
10590 (open_device): Use grub_util_fd_seek.
10591 (nread): Rename to ..
10592 (grub_util_fd_read): ... this. All users updated.
10593 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
10594 (grub_crypto_cbc_decrypt): Likewise.
10595 (grub_crypto_hmac_write): Likewise.
10596 (grub_crypto_hmac_buffer): Likewise.
10597 (grub_password_get): Extend to util.
10598 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
10599 New member modname.
10600 (gcry_md_spec) [GRUB_UTIL]: Likewise.
10601 * include/grub/cryptodisk.h: New file.
10602 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
10603 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
10604 LUKS and GELI.
10605 (grub_util_follow_gpart_up): New proto.
10606 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
10607 (grub_util_fd_read): Likewise.
10608 (grub_cryptodisk_cheat_mount): Likewise.
10609 (grub_util_cryptodisk_print_uuid): Likewise.
10610 (grub_util_get_fd_sectors): Likewise.
10611 * util/grub-fstest.c (mount_crypt): New var.
10612 (fstest): Mount crypto if requested.
10613 (options): New option -C.
10614 (argp_parser): Parse -C.
10615 (main): Init and fini gcry.
10616 * util/grub-install.in: Support cryptodisk install.
10617 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
10618 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
10619 cryptodisk.
10620 (prepare_grub_to_access_device): Likewise.
10621 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
10622 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
10623 (probe_cryptodisk_uuid): New function.
10624 (probe_abstraction): Likewise.
10625 (probe): Use new functions.
10626 * util/import_gcry.py: Create Makefile.utilgcry.def.
10627 Add modname member.
10628
9bfdcbbc
VS
106292011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10630
10631 Lazy device scanning.
10632
10633 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
10634 (grub-setup): Remove util/raid.c.
10635 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
10636 * grub-core/disk/lvm.c (scan_depth): New variable.
10637 (grub_lvm_iterate): Rescan if necessary.
10638 (find_lv): New function based on grub_lvm_open.
10639 (grub_lvm_open): Use find_lv. Rescan on error.
10640 (is_node_readable): New function.
10641 (is_lv_readable): Likewise.
10642 (grub_lvm_scan_device): Skip already found disks.
10643 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
10644 Stop if searched device is found and readable.
10645 * grub-core/disk/raid.c (inscnt): New variable.
10646 (scan_depth): Likewise.
10647 (scan_devices): New function based on grub_raid_register. Abort if
10648 looked for device is found.
10649 (grub_raid_iterate): Rescan if needed.
10650 (find_array): NEw function based on -grub_raid_open.
10651 (grub_raid_open): Use find_array and rescan.
10652 (insert_array): Set became_readable_at.
10653 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
10654 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
10655 New function.
10656 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
10657 (grub_util_pull_device): New function.
10658 (grub_util_get_grub_dev): Call grub_util_pull_device.
10659 * util/raid.c: Moved to ..
10660 * grub-core/kern/emu/raid.c: ... here.
10661 (grub_util_raid_getmembers): New parameter "bootable".
10662 All users updated. Support 1.x.
10663 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
10664 All users updated.
10665 * include/grub/disk.h (grub_disk_pull_t): New enum.
10666 (grub_disk_dev): Change iterate prototype.
10667 All users updated.
10668 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
10669 New proto.
10670 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
10671 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
10672 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
10673 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
10674 All users updated.
10675 * include/grub/util/raid.h: Removed.
10676
1c358e59
VS
106772011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 * po/POTFILES.in: Regenerate.
10680
abee94ed
VS
106812011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10682
10683 Unify sparc init with other ieee1275.
10684
10685 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
10686 instead of kern/sparc64/ieee1275/init.c.
10687 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
10688 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
10689 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
10690 grub/machine/kernel.h.
10691 (grub_ieee1275_original_stack) [__sparc__]: New variable.
10692 (grub_claim_heap) [__sparc__]: Use sparc version.
10693 (grub_machine_init): Moved args parsing to
10694 (grub_parse_cmdline): ...this.
10695 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
10696 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
10697 New definition.
10698 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
10699
10700 Move BOOTP to separate file.
10701
10702 * grub-core/Makefile.core.def (net): Add net/bootp.c.
10703 * grub-core/net/net.c: Move all BOOTP functions to
10704 * grub-core/net/bootp.c: ... here.
10705
10706 Use frame interface on PXE.
10707
10708 * grub-core/Makefile.core.def (pxecmd): Removed.
10709 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
10710 * grub-core/commands/i386/pc/pxecmd.c: Removed.
10711 * grub-core/i386/pc/pxe.c: Moved from here ...
10712 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
10713 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
10714 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
10715
10716 EFI network support.
10717
10718 * grub-core/Makefile.core.def (efinet): New module.
10719 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
10720 here...
10721 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
10722 All users updated.
10723 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
10724 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
10725 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
10726 * grub-core/net/drivers/efi/efinet.c: New file.
10727 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
10728 (grub_efi_net_config): New extern var.
10729
10730 Various cleanups and bugfixes.
10731
10732 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
10733 error.
10734 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
10735 disk declared as partition.
10736 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
10737 leak on failure.
10738 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
10739 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
10740 (grub_debug_zalloc): Likewise.
10741 (grub_debug_realloc): Likewise.
10742 (grub_debug_memalign): Likewise.
10743 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
10744 Check that target is IPv4.
10745 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
10746 local-mac-address as fallback.
10747 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
10748 memory leak.
10749 * grub-core/net/ip.c (ipchksum): Rename to ...
10750 (grub_net_ip_chksum): ... this. All users updated.
10751 (grub_net_recv_ip_packets): Special handling for DHCP.
10752 * util/grub-mkimage.c (generate_image): Zero-out aout header.
10753
10754 Unify prefix handling
10755
10756 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
10757 (grub_machine_get_bootlocation): ... this.
10758 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
10759 (grub_machine_get_bootlocation): ... this.
10760 (grub_prefix): New variable.
10761 (prefix): Removed.
10762 (root_dev): New variable.
10763 (dir): Likewise.
10764 (main): Use new variables.
10765 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
10766 Revamped into ...
10767 (grub_machine_get_bootlocation): ... this.
10768 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
10769 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
10770 (grub_machine_get_bootlocation): ... this.
10771 (grub_machine_set_prefix): Removed.
10772 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
10773 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
10774 Revamped into ...
10775 (grub_machine_get_bootlocation): ... this.
10776 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
10777 (grub_set_prefix_and_root): ... this. All users updated.
10778 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
10779 Revamped into ...
10780 (grub_machine_get_bootlocation): ... this.
10781 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
10782 (grub_machine_get_bootlocation): New proto.
10783 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
10784
10785 Less intrusive and more reliable seek on network implementation.
10786
10787 * grub-core/kern/file.c (grub_file_net_seek): Removed.
10788 (grub_file_seek): Don't call grub_file_net_seek.
10789 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
10790 (grub_net_fs_read_real): .. this.
10791 (grub_net_seek_real): Use net->offset.
10792 (grub_net_fs_read): Seek if necessary.
10793
10794 Unify IEEE1275 netwotk config with the other platforms.
10795
10796 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
10797 New variable.
10798 (grub_machine_get_bootlocation): Support network.
10799 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10800 Support type and device parsing.
10801 (grub_ieee1275_get_device_type): New function.
10802 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
10803 into ...
10804 (grub_ieee1275_net_config_real): ... this.
10805 (grub_ofnet_probecards): Removed.
10806 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
10807 * include/grub/ieee1275/ofnet.h: Removed.
10808 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
10809 extern var.
10810 (grub_ieee1275_get_device_type): New function.
10811
10812 Unify network device closing across platforms and make more robust.
10813
10814 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
10815 grub_grubnet_fini.
10816 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
10817 already.
10818 * grub-core/net/net.c (grub_net_network_level_interface_register):
10819 Update num_ifaces.
10820 (grub_net_card_unregister): Close all interfaces.
10821 (receive_packets): Don't poll if no iterfaces are registered.
10822 Open if necessary.
10823 (grub_net_fini_hw): New function.
10824 (grub_net_restore_hw): Likewise.
10825 (fini_hnd): New variable.
10826 (GRUB_MOD_INIT): Register preboot hook.
10827 (GRUB_MOD_FINI): Run and unregister preboot hook.
10828
10829 Poll network cards when idle.
10830
10831 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
10832 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
10833 * grub-core/net/net.c (receive_packets): Save last poll time.
10834 (grub_net_poll_cards_idle_real): New function.
10835 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10836 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10837 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10838
10839 Rename ofnet interfaces.
10840
10841 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10842 (grub_ofnet_findcards): Use ofnet_%s names.
10843
10844 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10845
10846 Cleanup socket opening.
10847
10848 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10849 (grub_net_fs_close): Likewise.
10850 (grub_net_fs_read_real): Use eof member.
10851 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10852 (+grub_net_udp_close): New inline function.
10853
10854 * include/grub/net/tftp.h: Moved to the top of ...
10855 * grub-core/net/tftp.c: ... here.
10856 * include/grub/net/ip.h: Moved mostly to the top of ...
10857 * grub-core/net/ip.c: ... here.
10858 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10859 * grub-core/net/ethernet.c: ... here.
10860
10861 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10862
10863 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10864 FS name.
10865
10866 * include/grub/net/ip.h (ipv4_ini): Removed.
10867 (ipv4_fini): Likewise.
10868
10869 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10870 (grub_net_send_ip_packets): Likewise.
10871
cf1337aa
VS
108722011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10875 grub_read_cmos prototype.
10876
93c06ff9
VS
108772011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 VGA text support in qemu-mips
10880
10881 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10882 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10883 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10884 text.
10885 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10886 * grub-core/kern/vga_init.c: ... this.
10887 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10888 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10889 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10890 Adjust.
10891 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10892 GRUB_MACHINE_PCI_IO_BASE.
10893
748ccabe
VS
108942011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10895
10896 MIPS qemu flash support.
10897
10898 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10899 magic.
10900 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10901 (grub_machine_init): Probe memory if its size isn't known.
10902 * util/grub-mkimage.c (image_targets): Add flash targets.
10903 (generate_image): Handle flash targets.
10904
d7345994
VS
109052011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 MIPS qemu at_keyboard support.
10908
10909 * gentpl.py (videoinkernel): Add qemu-mips.
10910 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10911 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10912 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10913 modules.
10914 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10915 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10916 * grub-core/term/serial.c (grub_serial_register)
10917 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10918
a07a81b3
VS
109192011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10920
10921 CMOS support on sparc.
10922
10923 * gentpl.py (cmos): Add powerpc and sparc.
10924 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10925 powerpc and sparc.
10926 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10927 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10928 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10929 grub_set_datetime_cmos.
10930 * grub-core/lib/ieee1275/cmos.c: New file.
10931 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10932 (find_rtc): Set no_ieee1275_rtc on error.
10933 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10934 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10935 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10936 fail. Move value to argument. All users updated
10937 (grub_cmos_write): Likewise.
10938 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10939 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10940 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10941 grub_get_datetime_cmos and grub_set_datetime_cmos.
10942
77546584
GS
109432011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10944
10945 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10946 sourcing grub-mkconfig_lib.
10947 * util/update-grub_lib.in: Likewise.
10948 * util/grub.d/00_header.in: Likewise.
10949 * util/grub.d/10_hurd.in: Likewise.
10950 * util/grub.d/10_kfreebsd.in: Likewise.
10951 * util/grub.d/10_linux.in: Likewise.
10952 * util/grub.d/10_netbsd.in: Likewise.
10953 * util/grub.d/10_windows.in: Likewise.
10954 * util/grub.d/20_linux_xen.in: Likewise.
10955 * util/grub.d/30_os-prober.in: Likewise.
10956
54894791
CW
109572011-06-28 Colin Watson <cjwatson@ubuntu.com>
10958
10959 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10960 default_bg_color rather than black.
10961 (grub_gfxterm_fullscreen): Likewise.
10962 (grub_gfxterm_background_color_cmd): Save new background color in
10963 default_bg_color.
10964
8d5d8444
VS
109652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10968
5afeb5bd
VS
109692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10970
10971 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10972 mismerge.
10973
ba7df45e
VS
109742011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10975
10976 Chainloading on coreboot support.
10977
10978 * grub-core/Makefile.core.def (chain): Add coreboot.
10979 * grub-core/loader/i386/coreboot/chainloader.c: New file.
10980
d0b526b2
VS
109812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10982
10983 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
10984 if it happens.
10985
5ff1d945
VS
109862011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10987
10988 Implement time command.
10989
10990 * grub-core/Makefile.core.def (time): New module.
10991 * grub-core/commands/time.c: New file.
10992 * grub-core/script/parser.y: Remove "time" keyword.
10993 * grub-core/script/yylex.l: Likewise.
10994
5ebaad7e
VS
109952011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
10998
bdea3798
VS
109992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11000
11001 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
11002 when handling leftovers.
11003
b28c5655
VS
110042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11005
11006 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
11007 so that help2man doesn't fail.
11008
b6f945dc
VS
110092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
11012 type in pointers on sparc64.
11013 (get_card_packet): Likewise.
11014
f9b75e8a
CW
110152011-06-27 Colin Watson <cjwatson@ubuntu.com>
11016
11017 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
11018 with `*'.
11019 (grub_cmd_videoinfo): Fetch current video mode.
11020
1e3d9b86
VS
110212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11022
11023 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
11024 because of underlying system restrictions.
11025
efff4b1c
VS
110262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11027
11028 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
11029 necessary.
11030
9fc9ce37
VS
110312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 Coreboot video support.
11034
11035 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
11036 (vbe): Likewise.
11037 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
11038 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
11039 here ...
11040 * grub-core/kern/i386/int.S: ... here.
11041 * grub-core/video/i386/pc/vbe.c: Updated includes.
11042 * grub-core/video/i386/pc/vga.c: Likewise.
11043 * include/grub/i386/coreboot/memory.h
11044 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
11045 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
11046 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
11047 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
11048 Disable interrupts.
11049 * include/grub/i386/pc/vga.h: Removed. All users updated.
11050
41bec7fe
VS
110512011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
11054 definitions for dprintf.
11055 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
11056
ca80309d
VS
110572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11058
11059 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
11060 prototype.
11061 (get_card_packet): Likewise.
11062
9e322ce8
YB
110632011-06-26 Yves Blusseau <blusseau@zetam.org>
11064
11065 Display the path of the file when file is not found
11066
11067 * grub-core/fs/fat.c: Display the filename when file is not found.
11068 * grub-core/fs/fshelp.c: Likewise.
11069 * grub-core/fs/hfs.c: Likewise.
11070 * grub-core/fs/jfs.c: Likewise.
11071 * grub-core/fs/minix.c: Likewise.
11072 * grub-core/fs/ufs.c: Likewise.
11073 * grub-core/fs/btrfs.c: Likewise.
11074 * grub-core/commands/i386/pc/play.c: Likewise.
11075
cbf597af
SJ
110762011-06-26 Szymon Janc <szymon@janc.net.pl>
11077
11078 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
11079 pointer checks before calling grub_free().
11080 * grub-core/commands/wildcard.c (match_devices): Likewise.
11081 * grub-core/commands/wildcard.c (match_files): Likewise.
11082 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
11083 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
11084 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
11085 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
11086 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
11087 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
11088 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
11089 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
11090 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
11091
6295b32f
P
110922011-06-25 Patrick <p55@mailinator.com>
11093
11094 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
11095
77c0840b
VS
110962011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
11097
11098 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
11099 (grub_pxe_send): Likewise.
11100 (GRUB_MOD_INIT): Fix types.
11101
40ea05de
SJ
111022011-06-24 Szymon Janc <szymon@janc.net.pl>
11103
11104 * grub-core/io/xzio.c: Fix code style issues
11105
90162423
MRA
111062011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
111072011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
11108
11109 Network infrastructure.
11110 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
11111
11112 * include/grub/net/arp.h: New file.
90162423
MRA
11113 * include/grub/net/device.h: Likewise.
11114 * include/grub/net/ethernet.h: Likewise.
11115 * include/grub/net/ip.h: Likewise.
11116 * include/grub/net/netbuff.h: Likewise.
11117 * include/grub/net/tftp.h: Likewise.
11118 * include/grub/net/udp.h: Likewise.
11119 * include/grub/ieee1275/ofnet.h: Likewise.
11120 * include/grub/emu/export.h: Likewise.
11121 * include/grub/net.h: Likewise.
11122 * grub-core/net/arp.c: Likewise.
11123 * grub-core/net/ethernet.c: Likewise.
11124 * grub-core/net/ip.c: Likewise.
11125 * grub-core/net/udp.c: Likewise.
11126 * grub-core/net/tftp.c: Likewise.
11127 * grub-core/net/netbuff.c: Likewise.
11128 * grub-core/net/net.c: Likewise.
11129 * grub-core/net/drivers/emu/emunet.c: Likewise.
11130 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
11131 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
11132 export.h.
11133 * grub-core/Makefile.core.def (net): New module.
11134 (tftp): Likewise.
11135 (ofnet): Likewise.
11136 (emunet): Likewise.
11137 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
11138 network protocols.
11139 * grub-core/kern/device.c (grub_net_open) : New variable.
11140 (grub_device_open): Handle network device.
11141 (grub_device_close): Likewise.
11142 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
11143 (grub_grubnet_fini): Likewise.
11144 (grub_file_seek): Seek in network device.
11145 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
11146 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
11147 network root.
11148 (grub_machine_fini): Call grub_grubnet_fini.
11149 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
11150 network.
11151 (grub_ieee1275_get_aliasdevname): New function.
11152 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11153 Add unofficial Solaris network info.
11154 (grub_multiboot_make_mbi): Likewise.
11155 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
11156 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
11157 * include/grub/device.h (grub_fs): Removed.
11158 * include/grub/err.h (grub_err_t): Add network-related values.
11159 * include/grub/i386/pc/pxe.h: Removed bootp parts.
11160 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
11161 (grub_ieee1275_get_aliasdevname): New proto.
11162 * include/grub/net.h: Rewritten.
423a1849 11163
031f22a0
VS
111642011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
11167 names.
11168
4388ca72
VS
111692011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11170
11171 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
11172 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
11173 it truncates the output.
11174 Reported by: Ximin Luo.
11175
98e2f506
VS
111762011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11177
11178 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
11179
2a5e94d8
VS
111802011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11181
11182 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
11183 partmap before abstraction.
11184
535c1910
AK
111852011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
11186
11187 * util/grub-mkconfig_lib.in: Add missing quotes.
11188
bc09e1a2
VS
111892011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
11192 old method if mountinfo would return /dev/root and /dev/root doesn't
11193 exist.
11194
290766fb
VS
111952011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11196
11197 ZFS zlib support
11198
11199 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
11200 (decomp_table): Add zlib entries.
11201 (zio_read): USe 8 bits for compression function rather than 3.
11202 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
11203
112042011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11205
11206 * grub-core/disk/ahci.c: Add missing license statements.
11207 * grub-core/fs/romfs.c: Likewise.
11208 * grub-core/lib/ia64/setjmp.S: Likewise.
11209 * grub-core/loader/i386/pc/freedos.c: Likewise.
11210 * grub-core/loader/ia64/efi/linux.c: Likewise.
11211 * grub-core/video/colors.c: Likewise.
11212 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
11213
5ab3f48a
VS
112142011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 AHCI support.
11217
11218 * grub-core/Makefile.core.def (ata_pthru): Removed.
11219 (ahci): New module.
11220 (pata): Likewise.
11221 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
11222 on unload.
11223 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
11224 readwrite.
11225 (grub_hdparm_do_check_powermode_cmd): Likewise.
11226 (grub_hdparm_do_smart_cmd): Likewise.
11227 (grub_hdparm_set_val_cmd): Likewise.
11228 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
11229 * grub-core/disk/ahci.c: New file.
11230 * grub-core/disk/ata.c: Factor out the low-level part into ...
11231 * grub-core/disk/pata.c: ... here.
11232 * grub-core/disk/ata_pthru.c: Contents moved to ...
11233 * grub-core/disk/pata.c: ... here.
11234 * grub-core/disk/scsi.c (grub_scsi_names): New array.
11235 (grub_scsi_iterate): Use grub_scsi_names.
11236 (grub_scsi_open): Likewise.
11237 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
11238 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
11239 (grub_ata_regs_t): New struct.
11240 (grub_disk_ata_pass_through_parms): Likewise.
11241 (grub_ata_device): Renamed to ...
11242 (grub_ata): ... this.
11243 (grub_ata_dev): New struct.
11244 Removed all low-level inline functions.
11245 * include/grub/scsi.h: Add PATA and AHCI subsystems.
11246 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
11247 iterate hooks and open. All users updated.
11248 * util/grub-install.in: Handle AHCI disk module.
11249
c31dc5f5
SJ
112502011-06-23 Szymon Janc <szymon@janc.net.pl>
11251
11252 Add support for DRI and RSTn markers in JPEG files.
11253
11254 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
11255 (JPEG_MARKER_RST0): Likewise.
11256 (JPEG_MARKER_RST1): Likewise.
11257 (JPEG_MARKER_RST2): Likewise.
11258 (JPEG_MARKER_RST3): Likewise.
11259 (JPEG_MARKER_RST4): Likewise.
11260 (JPEG_MARKER_RST5): Likewise.
11261 (JPEG_MARKER_RST6): Likewise.
11262 (JPEG_MARKER_RST7): Likewise.
11263 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
11264 (grub_jpeg_decode_dri): New function.
11265 (grub_jpeg_decode_sos): Move image data related part into
11266 grub_jpeg_decode_data function.
11267 (grub_jpeg_decode_data): New function.
11268 (grub_jpeg_reset): New function.
11269 (grub_jpeg_decode_jpeg): Handle new markers.
11270
fe12fd5b
VS
112712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11272
11273 * util/ieee1275/ofpath.c (check_sas): Close fd.
11274 (main): Free of_path.
11275 Reported by: David Volgyes <dvolgyes>.
11276
03147f46
VS
112772011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
11280 Reported by: David Volgyes <dvolgyes>.
11281
cad3237f
VS
112822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11283
11284 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
11285 file after stat.
11286 Reported by: David Volgyes <dvolgyes>.
11287
13548d26
VS
112882011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11289
11290 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
11291
11292 Reported by: David Volgyes <dvolgyes>.
11293
e061a1b5
VS
112942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11295
11296 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
11297 Prevent memory leak.
11298
1abe47dc
VS
112992011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
11302 (main): Close file.
e061a1b5 11303 Reported by: David Volgyes <dvolgyes>.
1abe47dc 11304
fbc62666
VS
113052011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
11308 to continue if allocation is failed.
11309
11310 Reported by: David Volgyes <dvolgyes>.
11311
e98c83e9
DV
113122011-06-23 David Volgyes <dvolgyes>
11313
11314 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
11315 dereference.
11316
a199a8cd
VS
113172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11318
11319 Fix spurious warning.
11320
11321 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
11322 (acorn_partition_map_find): Use .bin member.
11323
e2d1dba0
VS
113242011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11325
11326 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
11327 /dev/root as a valid device.
11328
8a5d6919
JM
113292011-06-23 Jim Meyering <meyering@redhat.com>
11330
e2d1dba0
VS
11331 Avoid NULL deref in grub_device_open.
11332
8a5d6919
JM
11333 * grub-core/kern/device.c (grub_device_open): Don't dereference
11334 a NULL pointer upon failed grub_env_get.
11335
f7db6f4a
VS
113362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11337
11338 Support non-512B sectors and agglomerate reads.
11339
11340 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
11341 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
11342 (disk_io_guid): Removed.
11343 (make_devices): Locate solely by BlockIO.
11344 (grub_efidisk_open): Fill log_sector_size and total_sectors.
11345 (grub_efidisk_read): Use read_blocks.
11346 (grub_efidisk_write): Use write_blocks.
11347 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
11348 log_sector_size.
11349 (get_safe_sectors): Handle non-512B sectors.
11350 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
11351 sectors.
11352 (grub_biosdisk_write): Handle non-512B sectors.
11353 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
11354 (grub_scsi_read): Remove special non-512B block handling (now handled
11355 one level up).
11356 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
11357 and do sanity checks.
11358 (grub_disk_adjust_range): Handle non-512B sectors.
11359 (transform_sector): New function.
11360 (grub_disk_read_small): Likewise.
11361 (grub_disk_read): Rewritten.
11362 (grub_disk_write): Handle non-512B sectors.
11363 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
11364 log_sector_size.
11365 (open_device): Use log_sector_size.
11366 (grub_util_biosdisk_read): Likewise.
11367 (grub_util_biosdisk_write): Likewise.
11368 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
11369 non-512B sectors.
11370 (pc_partition_map_embed): Likewise.
11371 * include/grub/disk.h (grub_disk): New field log_sector_size.
11372 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
11373 (GRUB_DISK_CACHE_BITS): Increased to 6.
11374 * util/grub-fstest.c (fstest): New command testload.
11375 (argp_parser): Likewise.
11376
881ac815
RM
113772011-06-16 Robert Millan <rmh@gnu.org>
11378
11379 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
11380 `ata' driver on kernel of FreeBSD 9.
11381
11382 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
11383 (get_ataraid_disk_name): New functions.
11384 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
11385 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
11386 get_ataraid_disk_name() and get_ada_disk_name().
11387
1e9aef7d
CW
113882011-06-13 Colin Watson <cjwatson@ubuntu.com>
11389
11390 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
11391 input format.
11392
351c7c8a
CW
113932011-05-29 Colin Watson <cjwatson@ubuntu.com>
11394
11395 * docs/grub.texi (Obtaining and Building GRUB): Substitute
11396 `ftp.gnu.org' for `alpha.gnu.org'.
11397
6b4e6430
CW
113982011-05-27 Colin Watson <cjwatson@ubuntu.com>
11399
11400 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
11401 partitions under /dev/disk/by-id/.
11402
c64db050
CW
114032011-05-27 Colin Watson <cjwatson@ubuntu.com>
11404
11405 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
11406 after ten consecutive open failures. Scanning all the way up to
11407 10000 is excessive and can cause serious performance problems in
11408 some configurations.
11409 Fixes Ubuntu bug #787461.
11410
245f4aba
VS
114112011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11412
11413 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
11414 opening new one.
11415
f767c929
VS
114162011-05-21 Colin Watson <cjwatson@ubuntu.com>
114172011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 Don't stat devices unless we have to.
11420
11421 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
11422 dir == /dev/mapper.
11423 (grub_guess_root_device): Use already known os_dev if possible.
11424 * grub-core/kern/emu/hostdisk.c
11425 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
11426 if device is known to be a dm one.
11427
f35fa3a6
CW
114282011-05-20 Colin Watson <cjwatson@ubuntu.com>
11429
11430 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
11431 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
11432 Reported by: Pawel Tecza.
11433
9a79fcf2
VS
114342011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11435
11436 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
11437 (lsefisystab): Likewise.
11438 (lssal): Likewise.
11439 (lsefimmap): Likewise.
11440 (hdparm): Enable on qemu-mips.
11441 (setjmp): Add ia64 nodist.
11442 (serial): Simplify tags.
11443
63e3eea9
CW
114442011-05-18 Colin Watson <cjwatson@ubuntu.com>
11445
11446 * Makefile.util.def (grub-ofpathname): Install manual page.
11447
09728256
CW
114482011-05-18 Colin Watson <cjwatson@ubuntu.com>
11449
11450 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
11451
8b63a142
CW
114522011-05-18 Colin Watson <cjwatson@ubuntu.com>
11453
11454 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
11455
e775d8ed
VS
114562011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
11459 into dprintf.
11460
bf947d36
VS
114612011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 Use full 64-bit division.
11464
11465 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
11466 (grub_divmod64): ... this.
11467 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
11468 version.
11469
b84f26c5
CW
114702011-05-18 Colin Watson <cjwatson@ubuntu.com>
11471
11472 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
11473 `source'.
11474
5626056f
CW
114752011-05-18 Colin Watson <cjwatson@ubuntu.com>
11476
11477 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
11478 to avoid accidents when debugging with 'sh -x'.
11479 * grub-core/gensyminfo.sh.in: Likewise.
11480 * tests/example_scripted_test.in: Likewise.
11481 * tests/grub_cmd_regexp.in: Likewise.
11482 * tests/grub_script_blanklines.in: Likewise.
11483 * tests/grub_script_dollar.in: Likewise.
11484 * tests/grub_script_expansion.in: Likewise.
11485 * tests/grub_script_final_semicolon.in: Likewise.
11486 * tests/partmap_test.in: Likewise.
11487 * tests/util/grub-shell-tester.in: Likewise.
11488 * tests/util/grub-shell.in: Likewise.
11489
e2965f4a
CW
114902011-05-18 Colin Watson <cjwatson@ubuntu.com>
11491
11492 Move gfxmenu color handling to video, so that gfxterm can use it
11493 too.
11494
11495 * grub-core/gfxmenu/named_colors.c: Move to ...
11496 * grub-core/video/colors.c: ... here. Rename
11497 grub_gui_get_named_color to grub_video_get_named_color.
11498 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
11499 * grub-core/video/colors.c (my_isxdigit): ... here.
11500 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
11501 Move to ...
11502 * grub-core/video/colors.c (parse_hex_color_component): ... here.
11503 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
11504 to ...
11505 * grub-core/video/colors.c (grub_video_parse_color): ... here.
11506
11507 * include/grub/gui.h (grub_gui_color_t): Move to ...
11508 * include/grub/video.h (grub_video_rgba_color_t): ... here.
11509 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
11510 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
11511 * include/grub/gui.h (grub_gui_map_color): Move to ...
11512 * include/grub/video.h (grub_video_map_rgba_color): ... here.
11513 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
11514 to ...
11515 * include/grub/video.h (grub_video_get_named_color): ... here.
11516 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
11517 * include/grub/video.h (grub_video_parse_color): ... here.
11518
11519 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
11520 video/colors.c.
11521 (gfxmenu): Remove gfxmenu/named_colors.c.
11522 (video) [videomodules]: Add video/colors.c.
11523
11524 Add a background_color command.
11525
11526 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
11527 function.
11528 (GRUB_MOD_INIT): Register background_color command.
11529 (GRUB_MOD_FINI): Unregister background_color command.
11530 (redraw_screen_rect): Allow blend/replace of text layer to be
11531 controlled independently from whether there is a background bitmap.
11532 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
11533 changing bitmap.
11534
1e4b4390
VS
115352011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11536
26618ff0
VS
11537 Patch BPB in ntldr and chainloader --bpb.
11538
1e4b4390
VS
11539 * grub-core/fs/fat.c: Include grub/fat.h.
11540 (grub_fat_bpb): Moved to ...
11541 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
11542 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
11543 grub/ntfs.h.
11544 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
11545 Moved from here...
11546 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
11547 here.
11548 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
11549 New function.
11550 (grub_chainloader_cmd): Patch BPB if --bpb is given.
11551 (GRUB_MOD_INIT): Show --bpb.
11552 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
11553 * grub-core/normal/main.c (features): New variable.
11554 (GRUB_MOD_INIT): Set feature_* variables.
11555 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
11556 proto.
11557 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
11558
cf02731e
VS
115592011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11560
11561 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
11562 for cleanness.
11563
e3a1073f
VS
115642011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11565
11566 FreeDOS direct loading support.
11567
11568 * docs/grub.texi (Supported OS): Add FreeDOS.
11569 * grub-core/Makefile.core.def (freedos): New module.
11570 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
11571 variable.
11572 (grub_relocator16_boot): Handle %ebx.
11573 * grub-core/lib/i386/relocator16.S: Likewise.
11574 * grub-core/loader/i386/pc/freedos.c: New file.
11575
05caa461
VS
115762011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11577
11578 Long Linux command line support.
11579
11580 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11581 (maximal_cmdline_size): New variable.
11582 (allocate_pages): Use maximal_cmdline_size.
11583 (grub_cmd_linux): Set and use maximal_cmdline_size.
11584 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11585 (allocate_pages): Use maximal_cmdline_size.
11586 (grub_cmd_linux): Set and use maximal_cmdline_size.
11587 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
11588 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
11589 and cmdline_size.
11590
a2491e23
VS
115912011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
115922011-05-18 Colin Watson <cjwatson@ubuntu.com>
11593
11594 Improve devmapper support
11595
11596 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
11597 (grub_util_is_lvm): New function.
11598 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
11599 than lvm if not dmraid.
11600 Handle mapped md nodes.
11601 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
11602 (grub_util_device_is_mapped): ... this. Make always available. All users
11603 updated.
11604 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
11605 (convert_system_partition_to_system_disk): Handle lvm, mpath and
11606 dmraid nodes.
11607 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
11608
6ad6223e
VS
116092011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
11612
11613 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
11614 * grub-core/modinfo.sh.in: New file.
11615 * grub-core/Makefile.core.def (modinfo.sh): New script.
11616 * util/grub-mknetdir.in: Use modinfo.sh.
11617 * util/grub-mkrescue.in: Likewise.
11618
543a8f6e
VS
116192011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11622 Fix potential usage of Elf32 instead of Elf64 when compiling on
11623 32-bit architecture. Add endianness macros while on it.
11624
4959e111
VS
116252011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11626
11627 Use mipsel- rather than mips- in directories involving mipsel ports to
11628 allow both endiannesses coexist.
11629
11630 * configure.ac: proparate target_cpu=mipsel rather than resetting to
11631 mips. All conditions adjusted.
11632 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
11633 variable.
11634 * util/grub-install.in: Adjust conditions to take renaming into account.
11635 * util/grub-mkimage.c (image_targets): Likewise. New target
11636 mips-qemu_mips-elf for bigendian mips.
11637
35341bbc
VS
116382011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11639
11640 Avoid unnecessary copying on MIPS.
11641
11642 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
11643 early if src == dest.
11644 * util/grub-mkimage.c (generate_image): Arange for src == dest if
11645 compression is none.
11646
b772baed
VS
116472011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 Reduce memory footprint on SGI by putting modules before the kernel
11650 as opposed to after.
11651
11652 * grub-core/Makefile.core.def (kernel): Increase linking address.
11653 (none_decompress): Likewise.
11654 (xz_decompress): Likewise.
11655 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
11656 address.
11657 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
11658 layout change.
11659 (grub_arch_modules_addr): New function.
11660 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
11661 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
11662 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
11663 here.
11664 * grub-core/kern/mips/startup.S (total_size): Rename to ...
11665 (grub_total_modules_size): ... this. Make global.
11666 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
11667 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
11668 New definition.
11669 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
11670 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
11671 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
11672 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
11673 * util/grub-mkimage.c (image_target_desc): New flag
11674 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
11675 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
11676 (generate_image): Handle images with modules before kernel.
11677
566a1917
VS
116782011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11679
11680 Prevent potential loss of memory map by overwrite on qemu-mips.
11681
11682 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11683 Save ram size in $s4.
11684 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
11685 All users changed to grub_arch_memsize.
11686 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
11687 Loongson.
11688 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
11689 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
11690 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
11691 external variable.
11692
5d420cd9
CW
116932011-05-17 Colin Watson <cjwatson@ubuntu.com>
11694
11695 * .bzrignore: Remove grub-dumpbios.
11696
d064b830
CW
116972011-05-17 Colin Watson <cjwatson@ubuntu.com>
11698
11699 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
11700 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
11701 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
11702 existing options which append).
11703 * docs/grub.texi (Simple configuration): Document new options.
11704 Reported by: Ian Jackson. Fixes Debian bug #617538.
11705
3ca2b466
CW
117062011-05-17 Colin Watson <cjwatson@ubuntu.com>
11707
11708 * util/grub-fstest.c (cmd_cat): New function.
11709 (fstest): Handle CMD_CAT.
11710 (options): Add cat.
11711 (argp_parser): Handle cat.
11712
24c9143a
CW
117132011-05-17 Colin Watson <cjwatson@ubuntu.com>
11714
11715 * Makefile.util.def (grub-bin2h): Don't install.
11716 * docs/man/grub-bin2h.h2m: Remove.
11717
90f7ac19
VS
117182011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11719
11720 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
11721 place.
11722
8d4a5178
VS
117232011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11724
11725 Reenable qemu-mips port.
11726
11727 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
11728 Fix small arc bug while on it.
11729 * gentpl.py: Handle qemu_mips.
11730 * grub-core/Makefile.am: Likewise.
11731 * grub-core/Makefile.core.def: Likewise.
11732 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
11733 inappropriate includes.
11734 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
11735 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
11736 * grub-core/kern/main.c (grub_modules_get_end)
11737 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
11738 * grub-core/kern/mips/qemu-mips: Moved to ..
11739 * grub-core/kern/mips/qemu_mips: ... this.
11740 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
11741 (grub_machine_init): Call terminfo_init and serial_init.
11742 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
11743 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11744 New variable.
11745 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
11746 parameter passing.
11747 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
11748 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
11749 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
11750 * include/grub/mips/qemu_mips/cmos.h: New file.
11751 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
11752 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
11753 Removed.
11754 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
11755 Use correct mips-style address.
11756 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
11757 (GRUB_TICKS_PER_SECOND): Removed.
11758 (grub_get_rtc): Likewise.
11759 (grub_cpu_idle): Likewise.
11760 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
11761 New definition.
11762 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
11763 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
11764 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
11765 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
11766 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11767 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11768 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
11769 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
11770
400b9371
VS
117712011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11772
11773 SGI ARCS port.
11774
11775 * Makefile.util.def (libgrubmods.a): Add dvh.c.
11776 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
11777 platforms.
11778 * configure.ac: New target mips-arc.
11779 * gentpl.py: Likewise.
11780 * grub-core/Makefile.am: Likewise.
11781 * grub-core/Makefile.core.def: Likewise.
11782 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
11783 (none_decompress): Likewise.
11784 (lsdev): New module.
11785 (datetime): Use lib/arc/datetime.c on ARC.
11786 (part_dvh): New module.
11787 * grub-core/commands/arc/lsdev.c: New file.
11788 * grub-core/disk/arc/arcdisk.c: Likewise.
11789 * grub-core/kern/mips/arc/init.c: Likewise.
11790 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
11791 aligned addresses.
11792 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
11793 support.
11794 (grub_arch_dl_relocate_symbols): Likewise.
11795 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
11796 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
11797 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
11798 platforms.
11799 * grub-core/lib/arc/datetime.c: New file.
11800 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
11801 pci.h on non-loongson.
11802 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
11803 (grub_linux_boot): Set unused registers to 0.
11804 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
11805 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
11806 * grub-core/mmap/mips/uppermem.c: ...here.
11807 * grub-core/partmap/dvh.c: New file.
11808 * grub-core/term/arc/console.c: Likewise.
11809 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
11810 (grub_terminfo_set_current): Add terminal "arc".
11811 (grub_terminfo_readkey): Support ARC sequences.
11812 * include/grub/arc/arc.h: New file.
11813 * include/grub/arc/console.h: Likewise.
11814 * include/grub/disk.h (grub_disk_dev_id): Add
11815 GRUB_DISK_DEVICE_ARCDISK_ID.
11816 * include/grub/mips/arc/kernel.h: New file.
11817 * include/grub/mips/arc/memory.h: Likewise.
11818 * include/grub/mips/arc/time.h: Likewise.
11819 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
11820 * include/grub/mips/kernel.h (grub_halt): ... here.
11821 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
11822 here...
11823 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
11824 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
11825 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
11826 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
11827 proto.
11828 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
11829 from here ...
11830 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
11831 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
11832 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
11833 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
11834 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11835 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11836 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11837 (grub_phys_addr_t): Moved from here ...
11838 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11839 (grub_vtop): Moved from here ...
11840 * include/grub/mips/memory.h (grub_vtop): ... here.
11841 (grub_map_memory): Moved from here ...
11842 * include/grub/mips/memory.h (grub_map_memory): ... here.
11843 (grub_unmap_memory): Moved from here ...
11844 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11845 (grub_machine_mmap_iterate): Moved from here ...
11846 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11847 (grub_mmap_get_lower): Moved from here ...
11848 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11849 (grub_mmap_get_upper): Moved from here ...
11850 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
11851 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11852 here ...
11853 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11854 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
11855 here ...
11856 * include/grub/mips/time.h (grub_get_rtc): ... here.
11857 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11858 here ...
11859 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11860 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11861 here ...
11862 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11863 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11864 definition.
11865 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11866 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11867 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11868 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11869 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11870 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11871 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11872 (GRUB_MACHINE_LINK_ADDR): Likewise.
11873 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11874 to 6.
11875 * util/grub-install.in: Run dvhtool on ARC.
11876 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 11877 (generate_image): Handle ECOFF output for mips-arc.
400b9371 11878
c8ecc840
VS
118792011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11880
11881 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11882 blocks.
11883
153a4b55
VS
118842011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11887 after enabling port.
11888
ff44d107
VS
118892011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11890
11891 Skip incorrect USB devices.
11892
11893 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11894 configcnt == 0.
11895 * include/grub/usb.h (grub_usb_err_t): New enum value
11896 GRUB_USB_ERR_BADDEVICE.
11897
638dbe4f
VS
118982011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11899
11900 Fuloong video init support.
11901
11902 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11903 well.
11904 (grub_vga_read_arx): New function.
11905 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11906 definition.
11907 (framebuffer): New members io, mmioptr and mmiobase.
11908 (read_sis_cmd): New function.
11909 (write_sis_cmd): Likewise.
11910 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11911 rather than 640x400.
11912 * grub-core/video/sis315_init.c: New file.
11913
c3fc520c
VS
119142011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11917 non-loongson.
11918 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11919 to grub_dl_register_symbol.
11920
67b1e5c9
VS
119212011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 Fix compilation errors.
11924
11925 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11926 potentially unused.
11927 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11928 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11929 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11930 to loongson machines.
11931
b756f75f
VS
119322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11933
11934 Several FS mtime support.
11935
11936 * grub-core/fs/affs.c (grub_affs_time): New struct.
11937 (grub_affs_file): New field mtime.
11938 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11939 type. Removed 'size'. New field 'di'. All users updated.
11940 (grub_affs_mount): Simplify checsum checking.
11941 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11942 (grub_affs_dir): Handle mtime.
11943 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11944 (grub_cpio_dir): Likewise.
11945 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11946 (grub_hfs_filerec): New field mtime.
11947 (grub_hfs_dir): Handle mtime.
11948 (grub_hfs_mtime): New function.
11949 (grub_hfs_fs): Register grub_hfs_mtime.
11950 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11951 (grub_iso9660_dir): New field mtime.
11952 (grub_fshelp_node): New field dirent.
11953 (iso9660_to_unixtime): New function.
11954 (iso9660_to_unixtime2): Likewise.
11955 (grub_iso9660_read_symlink): Use node->dirent.
11956 (grub_iso9660_iterate_dir): Likewise.
11957 (grub_iso9660_dir): Set mtime.
11958 (grub_iso9660_mtime): New function.
11959 (grub_iso9660_fs): Register grub_iso9660_mtime.
11960 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11961 (grub_jfs_inode): New fields atime, ctime and mtime.
11962 (grub_jfs_dir): Set mtime.
11963 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11964 * grub-core/fs/ntfs.c (list_file): Set mtime.
11965 (grub_ntfs_dir): Likewise.
11966 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11967 (grub_reiserfs_iterate_dir): Set mtime.
11968 (grub_reiserfs_dir): Likewise.
11969 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11970 (grub_fshelp_node): Likewise.
11971 (grub_sfs_iterate_dir): Set mtime.
11972 (grub_sfs_dir): Likewise.
11973 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11974 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11975 (grub_xfs_inode): New fields atime, mtime, ctime.
11976 (grub_xfs_dir): Set mtime.
11977 * include/grub/datetime.h (grub_datetime2unixtime): New function.
11978 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
11979 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
11980
11981 Support UDF symlinks.
11982
11983 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
11984 (grub_ufs_read_symlink): New function. All users updated.
11985
11986 Check amiga partmap checksum.
11987
11988 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
11989 (grub_amiga_partition): Likewise.
11990 (amiga_partition_map_checksum): New function.
11991 (amiga_partition_map_iterate): Check checksum.
11992
5470225d
VS
119932011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11994
11995 ROMFS support.
11996
11997 * Makefile.util.def (libgrubmods.a): Add romfs.
11998 * grub-core/Makefile.core.def (romfs): New module.
11999 * grub-core/fs/romfs.c: New file.
12000
d4680a35
VS
120012011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 Squashfs v4 support.
12004
12005 * Makefile.util.def (libgrubmods.a): Add squash4.
12006 * grub-core/Makefile.core.def (squash4): New module.
12007 * grub-core/fs/squash4.c: New file.
12008 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
12009 disk_input_start, disk_input.
12010 (get_byte): Handle disk_input.
12011 (grub_zlib_disk_read): New function.
12012 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
12013
bcb18e74
FZ
120142011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
120152011-05-15 Feiran Zheng <famcool@gmail.com>
12016
12017 * Makefile.util.def (libgrubmods.a): Add minix3.
12018 * grub-core/Makefile.core.def (minix3): New module.
12019 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
12020 (GRUB_MINIX_BSIZE): Removed.
12021 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
12022 (grub_minix_ino_t): New type.
12023 (grub_minix_le_to_cpu_ino): New macro.
12024 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
12025 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
12026 (grub_minix_data): New field block_size.
12027 (grub_minix_read_file): Handle 64-bit correctly.
12028 * grub-core/fs/minix3.c: New file.
12029
32297d5f
TG
120302011-05-15 Tristan Gingold <gingold@free.fr>
120312011-05-15 Robert Millan <rmh.grub@aybabtu.com>
120322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12033
12034 IA64 support.
12035
12036 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
12037 * configure.ac: Add ia64-efi target.
12038 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
12039 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
12040 * gentpl.py: Add ia64_efi platform.
12041 Rename x86_efi to efi and Add ia64-efi. All users updated.
12042 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
12043 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
12044 Remove kern/generic/rtc_get_time_ms.c on EFI.
12045 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
12046 kern/ia64/dl_helper.c on ia64-efi.
12047 Add kern/emu/cache.c on emu.
12048 (linux): Use on loader/ia64/efi/linux.c on ia64.
12049 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
12050 whether symbol is a function.
12051 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
12052 (grub_symbol): New field 'isfunc'.
12053 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
12054 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
12055 (grub_dl_load_segments): Place all sections into the same region.
12056 [__ia64__]: Create trampolines and got.
12057 [GRUB_MACHINE_EMU]: Call mprotect.
12058 (grub_dl_resolve_symbols): Resolve symbol type as well.
12059 [__ia64__]: Create function descriptors.
12060 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
12061 (grub_rtc_get_time_ms): ... this. Expressions simplified.
12062 (grub_get_rtc): New function.
12063 * grub-core/kern/emu/cache.c [__ia64__]: New file.
12064 * grub-core/kern/emu/cache.S: Renamed to ...
12065 * grub-core/kern/emu/cache_s.S: ... this.
12066 [__ia64__]: Add a nop.
12067 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
12068 [__ia64__]: New function.
12069 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
12070 * grub-core/kern/ia64/dl.c: New file.
12071 * grub-core/kern/ia64/dl_helper.c: Likewise.
12072 * grub-core/kern/ia64/efi/init.c: New file.
12073 * grub-core/kern/ia64/efi/startup.S: Likewise.
12074 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
12075 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
12076 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
12077 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
12078 * grub-core/loader/ia64/efi/linux.c: New file.
12079 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
12080 (GRUB_MOD_DEP): Likewise.
12081 (grub_dl) [__ia64__]: New fields got and tramp.
12082 (grub_dl): New field 'base'.
12083 (grub_dl_register_symbol): New argument isfunc. All users updated.
12084 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
12085 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
12086 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
12087 (grub_ia64_dl_get_tramp_got_size): New proto.
12088 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
12089 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
12090 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
12091 * include/grub/efi/api.h: Skip call wrappers on ia64.
12092 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
12093 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
12094 * include/grub/elf.h (ELF_ST_INFO): New definition.
12095 * include/grub/ia64/efi/kernel.h: New file.
12096 * include/grub/ia64/efi/memory.h: Likewise.
12097 * include/grub/ia64/efi/time.h: Likewise.
12098 * include/grub/ia64/kernel.h: Likewise.
12099 * include/grub/ia64/setjmp.h: Likewise (from glibc).
12100 * include/grub/ia64/time.h: New file.
12101 * include/grub/ia64/types.h: Likewise.
12102 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
12103 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
12104 New protos.
12105 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
12106 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12107 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
12108 * util/grub-mkimage.c (image_target_desc): New field pe_target.
12109 All users updated.
12110 (EFI64_HEADER_SIZE): New definition. All users updated.
12111 (image_targets): Add ia64-efi.
12112 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
12113 jumpers_addr. All users updated.
12114 Create function descriptors.
12115 (count_funcs): New function.
12116 (unaligned_uint32): New struct.
12117 (MASK20): New definition.
12118 (MASK19): Likewise.
12119 (MASKF21): Likewise.
12120 (add_value_to_slot_20b): New function.
12121 (add_value_to_slot_21_real): Likewise.
12122 (add_value_to_slot_21): Likewise.
12123 (ia64_kernel_trampoline): New struct.
12124 (nopm): New variable.
12125 (jump): Likewise.
12126 (make_trampoline): New function.
12127 (relocate_addresses): Handle ia64.
12128 (make_reloc_section): Likewise.
12129 (load_image): Likewise.
12130
983b414d
VS
121312011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12132
12133 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
12134 warning. Move variables before code while on it.
12135
5d063cdc
VS
121362011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12137
12138 Fuloong support.
12139
12140 * configure.ac: Rename yeeloong platform to loongson. All users updated.
12141 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
12142 * grub-core/boot/mips/loongson/fuloong.S: New file.
12143 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
12144 Explicitly init CS5536.
12145 [FULOONG]: Don't use serial until CS5536 is available.
12146 Set GPIO based on dumps.
12147 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
12148 [FULOONG]: Handle GPIO and memory controller differences.
12149 Parse machine type in $a2.
12150 * grub-core/boot/mips/startup_raw.S: Determine and save the
12151 architecture.
12152 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
12153 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
12154 init on architecture type.
12155 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12156 SIS315E. Don't init at_keyboard on fuloong.
12157 (grub_halt): Support Fuloong.
12158 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
12159 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
12160 (loongson_machtypes): New array.
12161 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
12162 type.
12163 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
12164 config. All users updated. Handle CS5536 serial.
12165 * grub-core/term/serial.c (grub_serial_register): Conditionalise
12166 default port on machine type. Register serial as inactive.
12167 * grub-core/video/sis315pro.c: New file.
12168 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
12169 definition.
12170 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
12171 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
12172 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
12173 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
12174 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
12175 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
12176 to ...
12177 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
12178 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
12179 definition.
12180 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
12181 (grub_arch_machine): New extern var.
12182 * include/grub/mips/loongson/serial.h
12183 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
12184 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
12185 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
12186 (GRUB_MACHINE_SERIAL_PORT0): ... this.
12187 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
12188 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
12189 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
12190 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
12191 * include/grub/term.h (grub_term_register_input_inactive): New inline
12192 function.
12193 (grub_term_register_output_inactive): Likewise.
12194 * include/grub/video.h (grub_video_driver_id): New value
12195 GRUB_VIDEO_DRIVER_SIS315PRO.
12196 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
12197 New field "names". All users updated.
12198 New field value IMAGE_FULOONG_FLASH.
12199 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
12200
6ada82d1
JU
122012011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
12202
12203 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
12204 and add some clarification.
12205
90c571a4
VS
122062011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12207
12208 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
12209 platforms if kernel is compressed.
12210
de04eecf
VS
122112011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
12214 unused modules since currently referrence counter isn't reliable and
12215 there isn't much memory to recover there anyway.
12216
57688121
VS
122172011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12218
12219 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
12220 rather than resetting it to allow modules to reference themselves
12221 in init.
12222
3d2c7e35
VS
122232011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12224
12225 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
12226 counter on dependencies since grub_dl_unref already handles this.
12227
b25db218
VS
122282011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12229
12230 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
12231 on error if not already done.
12232
25a45338
VS
122332011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12234
12235 Fix few potential memory misusage.
12236
12237 * grub-core/font/font.c (load_font_index): Don't free char_index to
12238 avoid double free.
b25db218
VS
12239 (grub_font_load): Zero-fill font at alloc for safety.
12240 Close file on error.
12241 (free_font): Free bmp_idx.
25a45338 12242
0cac83df
VS
122432011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12244
12245 * docs/grub.texi (Installation): Fix several outdated claims.
12246
2217a143
VS
122472011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 Handle module_license on windows.
12250
12251 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
12252 sections shifted.
12253 (insert_string): Make argument const char * instead of char *.
12254 (write_section_data): Handle long section names.
12255 Handle module_license.
12256
d4de6b01
VS
122572011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
12260 handle class-free menuentries.
12261 (grub_normal_add_menu_entry): Add a check to be sure.
12262
4c2a3b43
VS
122632011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12264
12265 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
12266 PgUp and PgDown.
12267
85c6210f
VS
122682011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12269
12270 * configure.ac: Bump version to 1.99.
12271
36084912
VS
122722011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12273
12274 Give ATA device a bit more time on first try in order to allow disks
12275 to spin up.
12276
12277 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
12278 if dev->present is 1. Reset dev->present on failure.
12279 (grub_ata_device_initialize): Set dev->present to 1.
12280 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
12281 (grub_ata_device): New member 'present'.
12282
bda0e219
VS
122832011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12284
12285 * util/grub-mkimage.c (generate_image): Update hash.
12286
19e1c41b
VS
122872011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12288
12289 Flush caches on DMA memory.
12290
12291 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
12292 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
12293 (grub_dma_free): Likewise.
12294 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
12295
91bbcc0c
VS
122962011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12297
12298 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
12299 to avoid asm treating ld and sd as macros.
12300
60ddfad3
VS
123012011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12302
12303 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
12304 decompressor.
12305
a298aa04
VS
123062011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12307
12308 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
12309 grub_decompress_core since later would fail if grub_decompress_core
12310 is too far.
12311
9b44feca
VS
123122011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12313
12314 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
12315 R_MIPS_JALR since it's used by newer compiler.
12316
56dbe7b4
VS
123172011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
12318
12319 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
12320
52856af2
VS
123212011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12322
12323 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
12324 file_path to 0 for surety.
12325 (grub_chainloader_boot): Set exit_data to NULL.
12326 Unset the loader once done.
12327 (grub_cmd_chainloader): Fix confusing error message if file is empty.
12328
9c9bfc6d
VS
123292011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12330
12331 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
12332 unknown key into a dprintf.
12333
dd94a3df
VS
123342011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12335
12336 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
12337 on first non-existant partition.
12338
fa68d99c
VS
123392011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12340
12341 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
12342 openning fails.
12343 Reported by: Mark Korenberg.
12344
157effb7
VS
123452011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12346
12347 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
12348 overflow.
12349
ea75312f
VS
123502011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12351
12352 * util/grub-mkimage.c (main): Explicitely flush and sync the output
12353 before closing to ensure that it will be readable by grub-setup.
12354
072b5d31
VS
123552011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12356
12357 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
12358 (devpath_1): Use MAKE_PIWG_PATH.
12359 (devpath_2): Likewise.
12360 (devpath_3): Likewise.
12361 (devpath_4): Likewise.
12362 (devpath_5): Likewise.
12363 (devpath_6): Likewise.
12364
12365 The appleldr.mod was checked that to be binary identical to previous
12366 version.
12367
7fae0051
Z
123682011-05-05 Zach <mikezackles>
12369
12370 Support 2010 Macbooks.
12371
12372 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
12373 (devs): Add devpath_6.
12374
7c515bee
VS
123752011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12376
12377 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
12378 /dev/random. /dev/urandom is good enough for our purposes (salting).
12379
ed660bd8
VS
123802011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
12383
ee5614b7
VS
123842011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12385
12386 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
12387 hexadecimal.
12388
664889a6
VS
123892011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12390
12391 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
12392 and not 0 on failure.
12393
bd405bbc
CW
123942011-05-03 Colin Watson <cjwatson@ubuntu.com>
12395
12396 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
12397 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
12398 disk; otherwise grub_fs_probe will not fall back to the next
12399 filesystem.
12400 (grub_pxefs_open): Likewise, for consistency.
12401 Reported and tested by: Ezekiel Grave.
12402
4ebff753
CW
124032011-05-03 Colin Watson <cjwatson@ubuntu.com>
12404
12405 * tests/partmap_test.in: Don't hardcode path to parted.
12406 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
12407
8f942553
CW
124082011-05-01 Colin Watson <cjwatson@ubuntu.com>
12409
12410 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
12411 of `ls' to find out which devices are available.
12412
3c62402d
VS
124132011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12414
12415 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
12416 than source address for efi mmap buffer.
12417
723f63f2
VS
124182011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12419
12420 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
12421 wrong action on non-detecting the magic.
12422
68797f92
VS
124232011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12424
12425 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
12426 already supplied by another part of the module (fixes compilation on
12427 FreeBSD).
12428
6be8715d
VS
124292011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12430
12431 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
12432 match the one used by mdadm.
12433
e91dba5b
CW
124342011-04-21 Colin Watson <cjwatson@ubuntu.com>
12435
12436 * po/README: Add instructions for creating po/LINGUAS.
12437
c85140b3
CW
124382011-04-21 Colin Watson <cjwatson@ubuntu.com>
12439
12440 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
12441 #551428.
12442
12443 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
12444 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
12445 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
12446 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
12447 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
12448 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
12449 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
12450 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
12451 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
12452 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
12453 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
12454 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
12455 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
12456 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
12457 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
12458 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
12459 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
12460 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
12461 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
12462 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
12463 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
12464 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
12465
92051871
CW
124662011-04-21 Colin Watson <cjwatson@ubuntu.com>
12467
12468 * grub-core/kern/emu/getroot.c
12469 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
12470 test that was incorrectly reintroduced in r3214.
12471 Reported by: Ian Dall. Fixes Savannah bug #33133.
12472
b13f79a4
CW
124732011-04-21 Colin Watson <cjwatson@ubuntu.com>
12474
12475 Fix stack pointer handling in 16-bit relocator.
12476
12477 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
12478 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
12479 Fixes Ubuntu bug #683904.
12480
9b710a88
VS
124812011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12482
12483 * configure.ac: Bump version to 1.99~rc2.
12484
d97e7b59
VS
124852011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12486
12487 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
12488 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
12489 * grub-core/lib/x86_64/setjmp.S: Likewise.
12490 * grub-core/lib/mips/setjmp.S: Likewise.
12491 * grub-core/lib/powerpc/setjmp.S: Likewise.
12492 * grub-core/lib/sparc64/setjmp.S: Likewise.
12493
0624551c
VS
124942011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12495
12496 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
12497 * grub-core/lib/efi/datetime.c: Likewise.
12498
e8f28d4c
VS
124992011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12500
12501 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
12502 New function.
12503 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
12504 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
12505 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
12506
bba79a15
VS
125072011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12508
12509 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
12510 bitmap.
12511 (grub_gfxterm_term_init): Likewise.
12512
abc474ef
VS
125132011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12514
12515 Take into account the decorations the computing menu entry width.
12516
12517 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
12518 (grub_gfxmenu_create_box): Register get_border_width.
12519 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
12520 if available.
12521 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
12522 get_border_width.
12523
e74b3947
EP
125242011-04-18 Endres Puschner <code@e7p.de>
12525
12526 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
12527 Don't skip first class.
12528
34faa595
VS
125292011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12530
12531 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
12532 chunks.
12533 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
12534
93a777e3
VS
125352011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12536
12537 Complete 64-bit division support.
12538
12539 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
12540 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
12541 * include/grub/misc.h (grub_divmod64): Rename to ...
12542 (grub_divmod64_full): ... this.
12543 (grub_divmod64): New inline function.
12544
a5102d94
VS
125452011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 * util/grub-mkimage.c (generate_image): Add forgotten comma.
12548
f3fb7b36
VS
125492011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12550
12551 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
12552 performing the necessary test.
12553
9ac718b0
VS
125542011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12555
12556 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
12557 (kfreebsd.elf): Likewise.
12558 (pc-chainloader.elf): Likewise.
12559 (ntldr.elf): Likewise.
12560
50d2cc5a
VS
125612011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12562
12563 Identify RAID by its UUID rather than (guessed) name.
12564
12565 * grub-core/disk/raid.c (ascii2hex): New function.
12566 (grub_raid_open): Accept mduuid/%s specification.
12567 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
12568 (get_mdadm_uuid): ... this.
12569 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
12570
e03f7bea
VS
125712011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
12572
12573 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
12574 to negative size.
12575
e74c3112
CW
125762011-04-13 Colin Watson <cjwatson@ubuntu.com>
12577
12578 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
12579 btrfs subvolume.
12580 * util/grub.d/20_linux_xen.in: Likewise.
12581
78fa584f
CW
125822011-04-13 Colin Watson <cjwatson@ubuntu.com>
12583
12584 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
12585 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
12586
12587 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12588 Build a list of relevant visible mounts using the mnt_id and
12589 parent_mnt_id fields, and then scan that list at the end.
12590
9d5f8162
CW
125912011-04-12 Colin Watson <cjwatson@ubuntu.com>
12592
12593 * docs/grub.texi (normal): New section.
12594 (normal_exit): New section.
12595 (Embedded configuration): Add reference to normal.
12596 (GRUB only offers a rescue shell): Likewise.
12597 * docs/grub-dev.texi (Error Handling): Fix typo.
12598
09a9d66f
CW
125992011-04-12 Colin Watson <cjwatson@ubuntu.com>
12600
12601 * NEWS: Drop obsolete entry about probe-only btrfs support.
12602
0c676933
CW
126032011-04-12 Colin Watson <cjwatson@ubuntu.com>
12604
12605 * util/import_gcry.py: Fix typo.
12606
ec9f5e0d
VS
126072011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12608
12609 * NEWS: Add btrfs support.
12610
fe6b2cba
VS
126112011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
126122011-04-11 Colin Watson <cjwatson@ubuntu.com>
12613
12614 BtrFS support. Written by me (Vladimir) with important bugfixes and
12615 even more important testing by Colin.
12616
12617 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
12618 * grub-core/Makefile.core.def (btrfs): Add crc.c.
12619 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
12620 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
12621 mem_input_off and mem_input. All users updated to accept in-RAM input.
12622 (gzio_seek): New function.
12623 (test_zlib_header): Likewise.
12624 (grub_gzio_read): Likewise.
12625 (grub_zlib_decompress): Likewise.
12626 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
12627 Accept partial and non-virtual mounts.
12628 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
12629 avoid receiving /dev/dm-X as device.
12630 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
12631 Handle bind and partial mounts.
12632 * grub-core/lib/crc.c: New file.
12633 * include/grub/deflate.h: Likewise.
12634 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
12635 proto.
12636 * include/grub/lib/crc.h: New file.
12637
e745cf0c
VS
126382011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12639
12640 Implement automatic module license checking according to new GNU
12641 guidelines.
12642
12643 * grub-core/kern/dl.c (grub_dl_check_license): New function.
12644 (grub_dl_load_core): Use grub_dl_check_license.
12645 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
12646 (GRUB_MOD_LICENSE): Likewise.
12647 (GRUB_MOD_DUAL_LICENSE): Likewise.
12648 All modules updated.
12649
2a9bc016
CW
126502011-04-11 Colin Watson <cjwatson@ubuntu.com>
12651
12652 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
12653 reserved_first_sector to 1. btrfs reserves plenty of space for boot
12654 loaders.
12655 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
12656
8a3bc88e
VS
126572011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12658
12659 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
12660
af869a4a
VS
126612011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12662
12663 * util/grub-fstest.c (read_file): Report GRUB error if file opening
12664 failed.
12665
9ee8d94f
VS
126662011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12667
12668 * grub-core/kern/file.c (grub_file_open): Don't take into account the
12669 parenthesis in the middle of the filename.
12670
b01abe3e
VS
126712011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12672
12673 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
12674 rather than trying to put initrd way too high.
12675 Reported by: Ryan Lortie <desrt@desrt.ca>
12676
335bda1e
VS
126772011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
12680 improperly removed string.
12681
5ca1a64d
VS
126822011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
12685 is_disk.
12686 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
12687 (open_device) Likewise.
12688 (grub_util_biosdisk_close): Likewise.
d8ce9995 12689 Reported by: Mark Korenberg.
5ca1a64d 12690
cbac5b1e
AK
126912011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
12692
12693 * util/grub-mkconfig_lib.in: Add missing quotes.
12694
088cdb65
CW
126952011-04-10 Colin Watson <cjwatson@ubuntu.com>
12696
12697 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
12698 is NULL.
12699
8b8a81fa
VS
127002011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 Dynamically count the number of lines for the lower banner.
12703
12704 * grub-core/normal/menu_entry.c (per_term_screen): New member
12705 num_entries.
12706 (print_down): Use num_entries.
12707 (update_screen): Likewise.
12708 (grub_menu_entry_run): Set num_entries.
12709 * grub-core/normal/menu_text.c (menu_viewer_data): New member
12710 num_entries.
12711 (grub_print_message_indented): Move real part to ...
12712 (grub_print_message_indented_real): ... here. Additional argument
12713 dry_run.
12714 (draw_border): Additional argument num_entries.
12715 (print_message): Additional argument dry_run.
12716 (print_entries): Receive menu viewer data.
12717 (grub_menu_init_page): New argment num_entries.
12718 (menu_text_set_chosen_entry): Use num_entries.
12719 (grub_menu_try_text): Likewise.
12720 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
12721 All users updated.
12722 (grub_ucs4_count_lines): New function.
12723 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
12724 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
12725 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
12726 (grub_term_border_height): Likewise.
12727 (grub_term_num_entries): Likewise.
12728
277f955b
VS
127292011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12730
12731 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
12732 Remove now unused string.
12733
536ce85a
CW
127342011-04-09 Colin Watson <cjwatson@ubuntu.com>
12735
12736 * docs/grub-dev.texi (Finding your way around): Update for 1.99
12737 build system.
12738 (Getting started): GRUB is developed in Bazaar now, not Subversion.
12739
12740 (Comment): Fix typo.
12741 (Getting started): General copy-editing.
12742 (Typical Development Experience): Likewise.
12743 (Error Handling): Likewise.
12744 (Video API): Likewise.
12745
2cf09e32
CW
127462011-04-09 Colin Watson <cjwatson@ubuntu.com>
12747
12748 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
12749 throughout.
12750
1ec652f4
VS
127512011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12752
12753 * util/grub-mkimage.c (main): Handle special naming of yeeloong
12754 directory.
12755
2c583728
CW
127562011-04-08 Colin Watson <cjwatson@ubuntu.com>
12757
12758 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
12759 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
12760 "development".
12761
d7a565e9
VS
127622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12763
12764 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
12765 grub_strcpy since the lines aren't necessarily 0-terminated.
12766
7c2e4909
VS
127672011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12768
12769 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
12770 root on legacy.
12771
34c09785
VS
127722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12773
12774 * grub-core/commands/probe.c (options): Argument to set isn't optional.
12775 (GRUB_MOD_INIT): DEVICE isn't optional.
12776
6a6f8058
VS
127772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12778
12779 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
12780 word on new line if it's too long anyway. Fixes a hang.
12781
2e335e90
VS
127822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12783
12784 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
12785 const.
12786 * util/grub-setup.c (main): Reuse md device name if available.
12787 * util/raid.c (grub_util_raid_getmembers): Receive device name and
12788 not GRUB name as argument.
12789 Based on patch by: Florian Wagner <fwagner>.
12790
10a7a867
VS
127912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12792
12793 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12794 Place mbi on low memory for better compatibility.
12795
7a3d6cd9
VS
127962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12797
12798 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
12799
18dd6b47
VS
128002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
128012011-04-08 Colin Watson <cjwatson@ubuntu.com>
12802
12803 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 12804 * conf/Makefile.common: Likewise.
18dd6b47 12805
3c0e3f14
VS
128062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12807
f7148863
VS
12808 * grub-core/normal/menu.c: Add missing include.
12809
128102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12811
12812 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 12813
6d1fa41f
MZ
128142011-04-08 Martin Zuther <mzuther@mzuther.de>
12815
12816 * util/grub-mkconfig.in: Ignore emacsen backup.
12817
478182a8
VS
128182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12819
12820 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
12821 on open.
12822 (grub_util_biosdisk_close): Likewise.
12823
72a89a54
VS
128242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12825
12826 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
12827 const attribute and use grub_isdigit.
12828
b5ebecfa
A
128292011-04-06 Andrey <dev_null@ukr.net>
12830
12831 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
12832 gcc warning.
12833
7755f66e
VS
128342011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12835
12836 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12837 useful grub_dprintf's.
12838
461121ff
VS
128392011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12840
12841 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12842
2a961775
VS
128432011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12846
adf594cc
VS
128472011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12848
12849 Output errors if theme loading failed.
12850
12851 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12852 grub_gfxterm_fullscreen on error paths to ...
12853 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12854 theme loading error.
12855
665900a3
VS
128562011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12857
12858 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12859 space for older compilers.
12860 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12861
a562b479
VS
128622011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12863
12864 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12865 and report them as not RAID members since they are useless for GRUB.
12866 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12867
850e9373
VS
128682011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12869
12870 Increase LVM implementation robustness in order not to crash on
12871 configurations like pvmove. Previously code assumed that in some places
12872 only lvs or only pvs are used whereas it seems that they are used
12873 interchangeably.
12874
12875 * grub-core/disk/lvm.c (read_node): New function.
12876 (read_lv): Use read_node.
12877 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12878 Match volumes only at the end when all lvs are found. Take both
12879 pvs (first) and lvs (second) into account.
12880 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12881 mirror_* into node_*. All users updated.
12882 (grub_lvm_stripe): Merge this ...
12883 (grub_lvm_mirror): ... and this ...
12884 (grub_lvm_node): ... into this. All users updated.
12885
6f332153
VS
128862011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12887
12888 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12889 of function to allow further scanning for LVMs.
12890
829ea451
VS
128912011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12892
12893 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12894 on failed seek as it breaks open fd reusage.
12895
09ceb9a5
VS
128962011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12897
12898 * util/grub-install.in: Add a recommendation to use --recheck before
12899 reporting bugs.
12900
67e11623
VS
129012011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12902
12903 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12904 are obtained.
12905
caee5efd
VS
129062011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12907
12908 GRUB developper manual based on existing Internals section and
12909 contributions by the various authors with active copyright assignment.
12910
12911 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12912 * docs/font_char_metrics.png: New file.
12913 * docs/font_char_metrics.txt: Likewise.
12914 * docs/grub-dev.texi: Likewise.
12915 * docs/grub.texi (Internals): Move from here ...
12916 * docs/grub-dev.texi: ... here.
12917
2cccc747
CW
129182011-04-01 Colin Watson <cjwatson@ubuntu.com>
12919
12920 Store the loopback device as data on loopback grub_disk structures,
12921 rather than the file it points to. This fixes use of freed memory
12922 if an existing loopback device is replaced.
12923
12924 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12925 disk->data, not dev->file.
12926 (grub_loopback_read): Adjust file assignment to match.
12927 Fixes Ubuntu bug #742967.
12928
186ae367
CW
129292011-04-01 Colin Watson <cjwatson@ubuntu.com>
12930
12931 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12932 when replacing an existing device.
12933
cfed2ad0
VS
129342011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12935
12936 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12937 memory corruptions.
12938
12939 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12940 unsigned.
12941 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12942 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12943 (grub_jfs_read_inode): Likewise.
12944 (grub_jfs_opendir): Likewise. Remove now useless casts.
12945 (grub_jfs_getent): Likewise.
12946 Make ino a grub_uint32_t rather than int.
12947 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12948 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12949 division and module with bit operations.
12950 (grub_jfs_find_file): Make ino a grub_uint32_t.
12951 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12952
05d2ed32
CW
129532011-04-01 Colin Watson <cjwatson@ubuntu.com>
12954
12955 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12956 warning. (This was in fact always initialised before use, but GCC
12957 wasn't smart enough to prove that.)
12958 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12959
91dc6073
VS
129602011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12961
12962 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12963 stack alignment.
12964 (efi_wrap_1): Likewise.
12965 (efi_wrap_2): Likewise.
12966 (efi_wrap_3): Likewise.
12967 (efi_wrap_4): Likewise.
12968 (efi_wrap_5): Likewise.
12969 (efi_wrap_6): Likewise.
12970 (efi_wrap_10): Likewise.
12971 Based on information by: Red Hat/Peter Jones.
12972
a8afc1d1
CW
129732011-03-31 Colin Watson <cjwatson@ubuntu.com>
12974
12975 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12976 set-but-not-used variable.
12977
a826cc7d
CW
129782011-03-31 Colin Watson <cjwatson@ubuntu.com>
12979
12980 * docs/grub.texi (Simple configuration): Be more explicit about
12981 GRUB_DEFAULT, and add an example.
12982 Reported by: Leslie Rhorer.
12983
875b67ba
CW
129842011-03-30 Colin Watson <cjwatson@ubuntu.com>
12985
12986 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
12987 shell".
12988
fd7cd914
AS
129892011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12990
12991 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
12992 * util/grub.d/20_linux_xen.in: Likewise.
12993
090b1b6a
VS
129942011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12995
12996 * util/grub.d/10_linux.in: Try alternative config filenames where
12997 we parse config file.
12998 * util/grub.d/20_linux_xen.in: Likewise.
12999
baad885c
AS
130002011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
13001
13002 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
13003 * util/grub.d/20_linux_xen.in: Likewise.
13004
241e41f5
VS
130052011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13006
13007 * grub-core/disk/raid.c (insert_array): Add few potentially
13008 useful grub_util_info.
13009 (grub_raid_register): Likewise.
13010
56445fb2
VS
130112011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13012
13013 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
13014 Preserve partition number in mdadm code path.
13015
c871b1c6
VS
130162011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13017
13018 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
13019 few potentially useful grub_util_info.
13020
5e631b4f
CW
130212011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13022
13023 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
13024
2d5d0333
CW
130252011-03-30 Colin Watson <cjwatson@ubuntu.com>
13026
13027 * docs/grub.texi (default): Use @example rather than nested
13028 itemized lists to avoid breaking gendocs.
13029
3d7ed04e
CW
130302011-03-30 Colin Watson <cjwatson@ubuntu.com>
13031
13032 * docs/grub.texi (Future): Update.
13033
abf04200 130342011-03-30 Colin Watson <cjwatson@ubuntu.com>
13035
13036 * docs/grub.texi (Environment): New chapter.
13037 (Changes from GRUB Legacy): Link to "Environment block" section for
13038 details of limitations.
13039 (Simple configuration): Likewise. Link to documentation of gfxmode
13040 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
13041 respectively.
13042 (Shell-like scripting): Note that normal variables are stored in the
13043 environment.
13044 (gettext): Link to documentation of lang and locale_dir.
13045 (list_env): New section.
13046 (load_env): New section.
13047 (save_env): New section.
13048
13049 (Reporting bugs): Fix typo.
13050
e1ad0edd
VS
130512011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13052
13053 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
13054 the example.
13055
5d803174
VS
130562011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13057
13058 * grub-core/term/at_keyboard.c (set_scancodes)
13059 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
13060
2a2da1d0
CW
130612011-03-30 Colin Watson <cjwatson@ubuntu.com>
13062
13063 * docs/grub.texi (Menu-specific commands): Remove some semantics
13064 that were true in GRUB Legacy but not in GRUB 2.
13065 (submenu): New section.
13066 (false): New section.
13067 (read): New section.
13068 (true): New section.
13069
a7527639
CW
130702011-03-30 Colin Watson <cjwatson@ubuntu.com>
13071
13072 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
13073
130742011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
13075
13076 * docs/grub.texi (Simple configuration): Explain some of the
13077 current limitations of grub-mkconfig.
8a748df2 13078 Reported by: Leslie Rhorer.
e30af029 13079
fc858482
VS
130802011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13081
13082 Old macs search for boot.efi rather than for bootia32.efi.
13083
13084 * util/grub-install.in: Copy bootia32.efi to boot.efi.
13085 * util/grub-mkrescue.in: Likewise.
13086 Suggested by: Peter Jones.
13087
e1eb511d
VS
130882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13089
13090 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
13091
70e75364
VS
130922011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13093
13094 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
13095 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
13096 (grub_lvm_mirror): New struct.
13097 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
13098 (grub_lvm_iterate): Iterate only visible volumes.
13099 (grub_lvm_read): Factor out to ..
13100 (read_lv): ... this. Support mirrors.
13101 (grub_lvm_read): New wrapper function.
13102 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
13103 stripped or mirrored.
13104
fc18f6a3
VS
131052011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
13108
5c650f4c
CW
131092011-03-29 Colin Watson <cjwatson@ubuntu.com>
13110
13111 * docs/grub.texi (loopback): New section.
13112
61d7156b
CW
131132011-03-29 Colin Watson <cjwatson@ubuntu.com>
13114
13115 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
13116 removed -p option.
13117
994b8264
CW
131182011-03-29 Colin Watson <cjwatson@ubuntu.com>
13119
13120 * docs/grub.texi (BIOS installation): New section, partly based on
13121 previous text in other sections.
13122 (Installing GRUB using grub-install): Replace BIOS discussion with a
13123 cross-reference.
13124 (Images): Likewise.
13125
9e4d19e0
VS
131262011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13127
13128 * grub-core/kern/emu/hostdisk.c (find_partition_start)
13129 [HAVE_DIOCGDINFO]: Add safety checks.
13130
a307c0b2
VS
131312011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13132
13133 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
13134 per default compiled in kernel and prior to 8.0 isn't shipped at all.
13135
b4db4f39
CW
131362011-03-29 Colin Watson <cjwatson@ubuntu.com>
13137
13138 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
13139 real_sb->size is zero (e.g. RAID-0), get the disk size from
13140 real_sb->data_size instead.
13141 Fixes Ubuntu bug #743136.
13142
35e5f84c
VS
131432011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13144
13145 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
13146 printf clauses for printing size and start.
13147
d2e29d81
VS
131482011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13149
13150 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
13151 Reported and tested by: Timothy Nikkel.
13152
ed5587af
VS
131532011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13154
13155 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
13156 (dirty_region_add_real): ... this.
13157 (dirty_region_add): Don't discard margin refresh when performing
13158 scheduled repaint.
13159
a1dc717c
VS
131602011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13161
13162 * grub-core/lib/relocator.c (allocate_regstart)
13163 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
13164 terminals are capabple of malloc-free operation.
13165 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13166 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13167
9f3677d3
VS
131682011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
13169
13170 * util/grub-setup.c: Copy the partition table zone if floppy support
13171 is disabled, even if no partition table is found.
13172
13173 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
13174 during POST if an invalid partition table is contained in the PBR
13175 of the active partition when GRUB is installed to a partition.
13176
24148725
CW
131772011-03-28 Colin Watson <cjwatson@debian.org>
13178
13179 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
13180 comment.
13181
f329eda7
CW
131822011-03-28 Colin Watson <cjwatson@debian.org>
13183
13184 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
13185 to be specific about what kind of RAID device we're scanning for.
13186
c482ad98
SG
131872011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
13188
13189 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
13190 return freed string.
13191
5ee04984
VS
131922011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13193
13194 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
13195
f4727da9
VS
131962011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13197
13198 Use libgeom on FreeBSD to detect partitions.
13199
13200 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
13201 (grub-mkrelpath): Likewise.
13202 (grub-script-check): Likewise.
13203 (grub-editenv): Likewise.
13204 (grub-mkpasswd-pbkdf2): Likewise.
13205 (grub-fstest): Likewise.
13206 (grub-mkfont): Likewise.
13207 (grub-mkdevicemap): Likewise.
13208 (grub-probe): Likewise.
13209 (grub-setup): Likewise.
13210 (grub-ofpathname): Likewise.
13211 (grub-mklayout): Likewise.
13212 (example_unit_test): Likewise.
13213 (grub-menulst2cfg): Likewise.
13214 * grub-core/Makefile.core.def (grub-emu): Likewise.
13215 (grub-emu-lite): Likewise.
13216 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
13217 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
13218 define HAVE_DIOCGDINFO.
13219 (follow_geom_up) [FreeBSD]: New function.
13220 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
13221 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
13222 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
13223 unconditionally of HAVE_DIOCGDINFO.
13224
82fe6c75
VS
132252011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13226
13227 Fix FreeBSD compilation problem.
13228
13229 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
13230 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
13231
4c6c9431
CW
132322011-03-24 Colin Watson <cjwatson@ubuntu.com>
13233
13234 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
13235 Switch back to page zero before loading a kernel, since some kernel
13236 drivers expect that.
13237 Thanks to: Felix Kuehling.
13238
c7064d94
VS
132392011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13240
13241 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
13242 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
13243 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
13244
3f71cded
VS
132452011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13246
13247 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
13248 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
13249
ef6de21a
VS
132502011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13251
13252 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
13253 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
13254 malloc is disabled.
13255
8bc66a2c
VS
132562011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13257
13258 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
13259 for modules headers when counting the needed allocation size.
13260
5657722c
VS
132612011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
13264 if no ASCII character is found to prevent crash.
13265
41a85f55
AK
132662011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
13267
13268 * grub-core/video/bitmap.c (match_extension): Ignore case.
13269
59e1e5f1
VS
132702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13271
13272 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
13273
bd4d051a
VS
132742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 * grub-core/script/parser.y: Declare "time" as valid argument.
13277
bae7fcc1
PJ
132782011-03-23 Peter Jones <pjones@redhat.com>
13279
13280 Fix incorrect assert failure reporting.
13281
13282 * grub-core/tests/example_functional_test.c (example_test): Add
13283 a failure comment.
13284 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
13285 (failure_start): ...this. Check that malloc succeeded.
13286 Don't call xvasprintf. Return failure struct.
13287 (failure_append_vtext): New function.
13288 (failure_append_text): Likewise.
13289 (add_failure): Likewise.
13290 (grub_test_assert_helper): Likewise.
13291 * include/grub/test.h (grub_test_assert_helper): New declaration.
13292 (grub_test_assert): Macro rewritten.
13293
537dc9be
VS
132942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13295
13296 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
13297
fa3e01bf
VS
132982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13299
13300 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
13301
b1d28404
VS
133022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13303
13304 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
13305 into GRUB-style one.
13306
2e3e2e09
VS
133072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13308
13309 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
13310 error and not grub_errno.
13311 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
13312
ed57e557
VS
133132011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13314
13315 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
13316 GRUB_USB_SPEED_NONE in case of failure and not the error code.
13317
d1611f01
VS
133182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * grub-core/efiemu/i386/pc/cfgtables.c
13321 (grub_machine_efiemu_init_tables): Make declaration a prototype.
13322 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
13323 (grub_xnu_unlock): Likewise.
13324 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
13325
7d4e39d6
VS
133262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
13329 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
13330 * grub-core/commands/hashsum.c (aliases): Likewise.
13331 * grub-core/commands/setpci.c (pci_registers): Likewise.
13332 * grub-core/disk/usbms.c (attach_hook): Likewise.
13333 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
13334 (zio_checksum_table): Likewise.
13335 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
13336 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
13337 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
13338 * grub-core/lib/relocator.c (leftovers): Likewise.
13339 (extra_blocks): Likewise.
13340 * grub-core/loader/i386/bsd.c (relocator): Likewise.
13341 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
13342 (modules_last): Likewise.
13343 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
13344 (devices): Likewise.
13345 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
13346 (modules_last): Likewise.
13347 * grub-core/normal/auth.c (users): Likewise.
13348 * grub-core/normal/context.c (initial_menu): Likewise.
13349 (current_menu): Likewise.
13350 * grub-core/normal/crypto.c (crypto_specs): Likewise.
13351 * grub-core/term/serial.c (grub_serial_ports): Likewise.
13352 (grub_serial_terminfo_input_template): Likewise.
13353 (grub_serial_terminfo_output_template): Likewise.
13354 (grub_serial_terminfo_input): Likewise.
13355 (grub_serial_terminfo_output): Likewise.
13356 (registered): Likewise.
13357 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
13358
40fc4659
VS
133592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13360
13361 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
13362 grub_video_mode_type_t.
13363 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
13364 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
13365 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
13366
2da48d28
VS
133672011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13368
13369 * util/grub-install.in: Correct the x86-64 name as x86_64.
13370
9b43bf39
CW
133712011-03-11 Colin Watson <cjwatson@ubuntu.com>
13372
13373 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
13374 initial chunk read from the kernel always includes GRUB's multiboot
13375 header, which is now outside the first sector.
13376
be1a7ce0
CW
133772011-03-09 Colin Watson <cjwatson@ubuntu.com>
13378
13379 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
13380 cached mmap_size, so that this works correctly when called multiple
13381 times.
13382 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
13383
83a3c48d
CW
133842011-03-09 Colin Watson <cjwatson@ubuntu.com>
13385
13386 * docs/grub.texi (Simple configuration): Tidy up formatting.
13387
57d75699
SJ
133882011-03-07 Szymon Janc <szymon@janc.net.pl>
13389
13390 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
13391 Set-but-not-used variable removed.
13392
028501a0
VS
133932011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13394
13395 Workaround yet another IEEE1275 bug.
13396
13397 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
13398 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
13399 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
13400 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
13401 is set.
13402 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13403 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
13404
d998657d
VS
134052011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13406
13407 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
13408 error.
13409
fee7cdd4
CW
134102011-02-11 Colin Watson <cjwatson@ubuntu.com>
13411
13412 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
13413 empty, since in that case we can only generate either nothing or a
13414 syntactically invalid configuration file.
13415 Reported by: Michal Suchanek. Fixes Debian bug #612898.
13416
97286eb5
CW
134172011-02-09 Colin Watson <cjwatson@ubuntu.com>
13418
13419 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
13420 (Making a GRUB bootable CD-ROM): Likewise.
13421 (Invoking grub-mkrescue): New section.
13422 Reported by: Yann Dirson. Fixes Debian bug #612585.
13423
22b28eb3
CW
134242011-02-09 Colin Watson <cjwatson@ubuntu.com>
13425
13426 * util/grub-install.in: Remove unnecessary brackets from tr
13427 arguments.
13428 * util/grub.d/10_hurd.in: Likewise.
13429 * util/grub.d/10_kfreebsd.in: Likewise.
13430 * util/grub.d/10_linux.in: Likewise.
13431 * util/grub.d/20_linux_xen.in: Likewise.
13432 Reported by: Jamie Heilman. Fixes Debian bug #612564.
13433
7e735e43
CW
134342011-02-08 Colin Watson <cjwatson@ubuntu.com>
13435
13436 * include/grub/file.h (not_easly_seekable): Rename to ...
13437 (not_easily_seekable): ... this. Update all users.
13438
800f1881
CW
134392011-01-28 Colin Watson <cjwatson@ubuntu.com>
13440
13441 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
13442 grub-mkrescue.
13443
3281d3d6
VS
134442011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13445
13446 * util/grub-mkimage.c (generate_image): Refuse to create the images
13447 bigger than the actual flash (512K) in Loongson machines. 512K is also
13448 the biggest chip supported by them.
13449
3533413c
VS
134502011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13451
13452 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
13453
73ae4f4f
VS
134542011-01-22 Anthony DeRobertis <anthony@derobert.net>
13455
13456 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
13457 super_offset field.
13458
37f4f608
VS
134592011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13460
13461 * util/grub-install.in: Ignore install device on platforms
13462 where it doesn't make sense. Always use UUIDs except on pc, efi and
13463 sparc64.
13464 Reported by: Daniel Kahn Gillmor.
13465
03a4ccb5
VS
134662011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13467
13468 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
13469
ffc8f4d8
VS
134702011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13471
13472 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
13473 (iterate_real): Don't rely on partition being non-NULL.
13474
80f23be7
VS
134752011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13476
13477 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
13478 supported platforms. Put a compile time assert for this rather than
13479 generate a warning with 32-bit shift.
13480
5d4f4dd5
VS
134812011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13482
13483 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
13484 logical expression more readable.
13485
e489601a
VS
134862011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
13489 even if some elements have a name.
13490 Reported by: Alexander GQ Gerasiov.
13491
96e0a6ea
CW
134922011-01-22 Colin Watson <cjwatson@ubuntu.com>
13493
13494 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
13495 path unreadable if `grub-probe -t abstraction' fails, for example if
13496 memberlist fails on an LVM volume group.
13497 Reported by: Darius Jahandarie.
13498
81431e2b
CW
134992011-01-22 Colin Watson <cjwatson@ubuntu.com>
13500
13501 * docs/grub.texi (Simple configuration): Document
13502 GRUB_PRELOAD_MODULES.
13503
5e79d66a
CW
135042011-01-17 Colin Watson <cjwatson@ubuntu.com>
13505
13506 * .bzrignore: Remove nonexistent grub-pbkdf2.
13507
646ada34
VS
135082011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
13509
13510 * configure.ac: Bump version to 1.99~rc1.
13511
04360337
VS
135122011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13513
13514 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
13515 for safety.
13516
46c9db88
VS
135172011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13518
13519 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
13520 module.
13521
135222011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
13523
13524 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
13525
4fbf1852
VS
135262011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13527
13528 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
13529 diskdevid.
13530
f1632d4d
VS
135312011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13532
13533 Fix compilation on cygwin.
13534
13535 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
13536 -R .drectve on cygwin.
13537 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
13538 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
13539 (COND_CYGWIN): New condition.
13540 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
13541 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
13542 not @TARGET_OBJ2ELF@.
13543 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
13544 type to determine whether aux is to be used.
13545
0b5e127b
VS
135462011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13547
13548 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
13549 realpath'ed device string.
13550 Handle floppy (somewhat).
13551 Issue error in unknown case rather than garbage.
13552 Reported by: Axel Beckert.
13553
173b71e9
VS
135542011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13555
13556 * util/grub.d/00_header.in (load_video): Handle the case when no video
13557 drivers available.
13558 Thanks to: Axel Beckert.
13559
f8f479db
VS
135602011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13561
13562 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
13563 variable. Fixes problem on big endian platforms.
13564
8fc0a245
VS
135652011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13566
13567 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
13568 It doesn't work well there.
13569
b8494fbe
VS
135702011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13571
13572 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
13573 warning.
13574 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
13575 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
13576 counter.
13577
b44a558c
VS
135782011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13579
13580 Use alias->path rather than buggy "canon".
13581
13582 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
13583 (ofdisk_hash_add): New argument curcan. All users updated.
13584
51fa856c
CW
135852011-01-11 Colin Watson <cjwatson@ubuntu.com>
13586
13587 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
13588
9da068a5
VS
135892011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
13592 loadmask before doing any calculations. Use correct type for offset.
13593 (grub_linux_load64): Likewise.
13594
86205c94
CW
135952011-01-11 Colin Watson <cjwatson@ubuntu.com>
13596
13597 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
13598 with NULL.
13599 (console_grub_equivalences_unshift): Likewise.
13600 Reported by: Daniel Dehennin.
13601
4531a206
VS
136022011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13603
13604 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
13605 (set_env_limn_ro): Likewise.
13606 (GRUB_MOD_INIT): Likewise.
13607 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
13608 ARRAY_SIZE while on it.
13609 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
13610 * grub-core/normal/context.c (grub_env_export): Move from here ...
13611 * grub-core/kern/env.c (grub_env_export): ... here.
13612 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
13613 prefix.
13614 * grub-core/kern/main.c (grub_main): Export root and prefix.
13615 * include/grub/env.h (grub_env_export): Export.
13616 Reported by: Seth Goldberg.
13617
45146057
VS
136182011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13619
13620 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13621 Take into account space used by ELF sections and multiboot palette.
13622 Reported by: Grégoire Sutre.
13623
f093110b
VS
136242011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13625
13626 * BUGS: New file.
13627
3395fe52
VS
136282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13629
13630 Pass more appropriate video id to Linux.
13631
13632 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
13633 grub_video_get_driver_id and variable gfxpayloadforcelfb to
13634 fill have_vga.
13635 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
13636 shift params->lfb_size.
13637 * include/grub/i386/linux.h: Make an enume out of have_vga values.
13638
c2fa6cbb
VS
136392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13640
13641 * util/grub-menulst2cfg.c: Add missing include of misc.h.
13642
b3ff6ff0
VS
136432011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13644
13645 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
13646 separator and pass bootpath/devid even if only one of them is available.
13647 Reported by: Seth Goldberg.
13648
ae67942e
VS
136492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13650
13651 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
13652 implementations bug on them.
13653
13654 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
13655 memory.
13656 (filter_memory_map): Likewise.
13657
d570097a
VS
136582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13659
13660 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
13661 Reported by: nebuchadnezzar.
13662
a508e776
VS
136632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
13666 Reported by: nebuchadnezzar.
13667
dcb883b1
VS
136682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13669
13670 Submenu default support.
13671
13672 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
13673 auto_boot. All users updated.
13674 Declared static.
13675 Handle chosen and default with submenus.
13676 (grub_menu_execute_with_fallback): Declared static.
13677 Don't notify failure if autobooted. Upper level does it.
13678 (menuentry_eq): New function.
13679 (get_entry_number): Use menuentry_eq.
13680 (show_menu): New parameter "autobooted". All users updated.
13681 (grub_show_menu): Likewise.
13682 * include/grub/normal.h (grub_show_menu): Likewise.
13683 * include/grub/menu.h (grub_menu_execute_entry): Removed.
13684 (grub_menu_execute_with_fallback): Likewise.
13685
6fef99b4
VS
136862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13687
13688 * util/grub-mklayout.c (usage): Update help text.
13689
47a77af5
VS
136902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13691
13692 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
13693
ce6bb3ee
VS
136942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13695
13696 * util/grub-menulst2cfg.c (main): Trim the line.
13697
db87be2a
VS
136982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13699
13700 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
13701 (grub_machine_init): Don't check amount of low memory as reportedly
13702 INT 12h can be broken and if low memory is too low we wouldn't have
13703 gotten into grub_machine_init anyway.
13704
c49849cc
VS
137052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13706
13707 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
13708 (grub_machine_mmap_iterate): Take low memory into account
13709
b1969b30
VS
137102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13711
13712 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
13713 badfs.
13714 Reported by: TiCPU.
13715
cf0eaf13
VS
137162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13717
13718 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
13719 members errors.
13720
1f060f39
GS
137212011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13722
13723 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
13724 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
13725
a21e5672
GS
137262011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13727
13728 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
13729 openbsd and netbsd types being in part_bsd module.
13730
c88172fa
VS
137312011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13732
13733 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
13734 (_FILE_OFFSET_BITS): Likewise.
13735 Reported by: Seth Goldberg.
13736
53798c4b
GS
137372011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13738
13739 * configure.ac: Check for libdevmapper header.
13740
e7121b69
VS
137412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
13744 avoid aliasing.
13745 (fzap_lookup): Likewise.
13746 (dnode_get): Likewise.
13747 (make_mdn): Likewise.
13748 (zfs_mount): Likewise.
13749 (fzap_iterate): Use temporary pointer to avoid aliasing.
13750 (grub_zfs_read): Likewise.
13751 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
13752 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
13753 pointers to avoid aliasing.
13754 (grub_cmd_xnu_kernel64): Likewise.
13755 (grub_xnu_load_driver): Likewise.
13756
fc836af9
VS
137572011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13758
13759 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
13760 aliasing warning.
13761 (grub_cmd_terminal_output): Likewise.
13762 Reported and tested by: Grégoire Sutre.
13763
f9f37648
VS
137642011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13765
13766 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
13767 warning.
13768 Reported and tested by: Grégoire Sutre.
13769
ec1dfd63
VS
137702011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13771
13772 * configure.ac: Do CPU substitution even if it's specified explicitly.
13773 Reported and tested by: Alain Greppin.
13774
9462775a
VS
137752011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13776
13777 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
13778 Reported and tested by: Alain Greppin.
13779
0fd48e35
VS
137802011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13781
13782 Satisfy some bison versions need for inttypes.h.
13783
13784 * grub-core/lib/posix_wrap/inttypes.h: New file.
13785 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
13786 (int16_t): Likewise.
13787 (int32_t): Likewise.
13788 (int64_t): Likewise.
13789 Reported and tested by: Alain Greppin.
13790
43f1bc83
VS
137912011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13792
13793 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
13794 Silence spurious warning.
13795 Reported and tested by: Alain Greppin.
13796
64d1f041
SJ
137972011-01-07 Szymon Janc <szymon@janc.net.pl>
13798
13799 * docs/grub.texi (Support automatic decompression): Update with xz
13800 decompression support.
13801
25953e10
SJ
138022011-01-07 Szymon Janc <szymon@janc.net.pl>
13803
13804 Improve loaders' kernel command line handling.
13805
13806 * grub-core/lib/cmdline.c: New file.
13807 * include/grub/lib/cmdline.h: Likewise.
13808 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
13809 grub_create_loader_cmdline to create kernel command line.
13810 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13811 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
13812 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
13813 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
13814 (linux): Add lib/cmdline.c on common.
13815
e72d259f
VS
138162011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13817
13818 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
13819 inopos might be unaligned.
13820
c0cf26da
VS
138212011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13822
13823 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
13824 endian transformations.
13825 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13826 Based on report by: Doug Nazar.
13827
0ca09e6c
DN
138282011-01-07 Doug Nazar <nazard.michi@gmail.com>
13829
13830 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
13831 array->members[i].start_sector.
13832 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
13833
014b6806
VS
138342011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13837 Reported and tested by: Grégoire Sutre.
13838
415502c2
CW
138392011-01-06 Colin Watson <cjwatson@ubuntu.com>
13840
13841 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13842 avoid causing test failures by clearing the screen.
13843
71b6a2b7
CW
138442011-01-06 Colin Watson <cjwatson@ubuntu.com>
13845
13846 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13847 Fix prefix check to handle the case where dir ends with a slash
13848 (most significantly, "/" itself).
13849 Reported by: Michael Vogt.
13850
b3f8d28a
VS
138512011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13852
13853 Run terminfo_cls on initing terminfo output to clear the screen and
13854 move the cursor to (0,0).
13855
13856 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13857 Call grub_terminfo_output_init.
13858 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13859 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13860 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13861
4c3e4f37
VS
138622011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13863
13864 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13865 only when needed.
13866
488f71f1
VS
138672011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13868
13869 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13870 CTRL.
13871
18a38098
VS
138722011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13873
13874 The E820 type 5 is BADRAM, not EXEC_CODE.
13875
13876 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13877 (GRUB_E820_BADRAM): New define.
13878 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13879 into reserved. Propagate BADRAM.
13880 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13881 (GRUB_E820_BADRAM): New define.
13882
9eae2084
VS
138832011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13886 Ignore the memory post-4G.
13887 (grub_relocator_firmware_alloc_region): Additional debug statement.
13888
ebc71d28
VS
138892011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13890
13891 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13892 names.
13893 Reported by: David Pravec.
13894
446fa400
VS
138952011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13896
13897 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13898 BIOSes.
13899
a0159f37
VS
139002011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13901
13902 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13903 Prevent overflow.
13904 (grub_reed_solomon_recover): Likewise.
13905
e5146ca1
VS
139062011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13907
13908 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13909
139102011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
13911
13912 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13913 variable.
13914
5b1bdf12
CW
139152011-01-04 Colin Watson <cjwatson@ubuntu.com>
13916
13917 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13918 descriptions of extract_legacy_entries_source and
13919 extract_legacy_entries_configfile.
13920 Reported by: Seung Soo, Ha.
13921
99d925aa
CW
139222011-01-03 Colin Watson <cjwatson@ubuntu.com>
13923
13924 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13925 on devices that do not implement function 0.
13926
4af0504b
DV
139272011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13928
13929 * grub-core/fs/hfsplus.c: Make parent unsigned.
13930 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13931 overflows.
13932 (grub_hfsplus_cmp_extkey): Likewise
13933
469ee10a
VS
139342011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13935
13936 * util/grub-install.in: Correctly use bootloader_id and not
13937 GRUB_DISTRIBUTOR on efibootmgr line.
13938
323a8e9c
VS
139392011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13940
13941 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13942
1b394975
IC
139432010-12-31 Ian Campbell <ijc@hellion.org.uk>
13944
13945 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13946 Xen and reorder menu item wording to make it clearer that this entry
13947 will launch Xen. Print separate messages when loading Xen and
13948 Linux.
13949
275bff5f
VS
139502010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13951
13952 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13953 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13954 loop in case of incorrect amiga partmap.
13955
307806cb
VS
139562010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13957
13958 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13959 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13960 Reported by:EHeM.
13961
b12b923e
VS
139622010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13963
13964 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13965 spurious warning.
13966 Reported by: crocket
13967
14b48a19
VS
139682010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13969
13970 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13971 Preload EFIemu.
13972 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13973
693db2df
VS
139742010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13975
13976 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
13977 is loaded
13978 (grub_cmd_xnu_kextdir): Likewise.
13979 (grub_cmd_xnu_splash): Likewise.
13980
c7638645
VS
139812010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13982
13983 Avoid using Reed-Solomon with 0 redundancy.
13984
13985 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
13986 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
13987 or 0 redundancy.
13988 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
13989 (grub_reed_solomon_recover): Likewise.
13990
25dd4780
VS
139912010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13992
13993 Don't use disk subsystem in freebsd_boot.
13994
13995 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
13996 (freebsd_biosdev): Likewise.
13997 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
13998 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
13999
0b2db943
VS
140002010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14001
14002 Handling of files of unknown size is currently limited. They can't be
14003 used e.g. for initrd or modules. Moreover gzip handling of not
14004 easily seekable files is buggy. Disable unknown file size for now. May
14005 be inefficient but works.
14006
14007 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
14008 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
14009
5c408d0f
MP
140102010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
14011
14012 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
14013 floppy probe.
14014
190a011a
JD
140152010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
14016
14017 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
14018
022d01b8
SL
140192010-12-25 Shea Levy <shlevy>
14020
14021 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
14022
c4855fdc
VS
140232010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14024
14025 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
14026 Windows Server 2008.
14027 Reported by: Devin Giddings.
14028
0354b867
VS
140292010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14030
14031 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
14032 writing an error message because of async power management.
14033 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
14034 (grub_reboot): Likewise.
14035
ab66c69f
JU
140362010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
14037
14038 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
14039 keep unit tests from failing when they shouldn't.
14040
1426ef35
CW
140412010-12-21 Colin Watson <cjwatson@ubuntu.com>
14042
14043 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
14044 previous patch increased the size of the RS code by 20 bytes (at
14045 least with gcc-4.4), so increase this by 20 bytes to match.
14046 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
14047
20641b6b
CW
140482010-12-21 Colin Watson <cjwatson@ubuntu.com>
14049
14050 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
14051 scratch area. Make sure to initialise chosen in standalone mode as
14052 well as non-standalone.
14053 Reported by: Robert Hooker and Andy Whitcroft.
14054 Tested by: Andy Whitcroft.
14055
d060ad60
CW
140562010-12-21 Colin Watson <cjwatson@ubuntu.com>
14057
14058 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
14059 constructing a new unescaped string and passing it to grub_xputs in
14060 one go, rather than passing characters to grub_printf one at a time.
14061
b889cfad
CW
140622010-12-21 Colin Watson <cjwatson@ubuntu.com>
14063
14064 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
14065 initialising utf16.
14066
4e01b6c8
CW
140672010-12-21 Colin Watson <cjwatson@ubuntu.com>
14068
14069 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
14070 comment. Add an extra layer of quotation, requiring the output of
14071 this function to be used in a printf format string.
14072 (gettext_printf): New function.
14073 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
14074 Extract translatable strings from here-documents and use a temporary
14075 variable instead, so that xgettext can find them.
14076 * util/grub.d/10_kfreebsd.in: Likewise.
14077 * util/grub.d/10_linux.in: Likewise.
14078 * util/grub.d/20_linux_xen.in: Likewise.
14079
14080 * po/grub.d.sed: New file.
14081 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
14082 arguments. Set c-format flags on all strings extracted from
14083 util/grub.d/ (xgettext refuses to include these itself for strings
14084 it extracted from a shell file, but these really are c-format).
14085
5318fe98
VS
140862010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14087
14088 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
14089 Avoid next pointing to nowhere.
14090
6c85b743
VS
140912010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14092
14093 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
14094 rather than assuming than rootblock is exactly in the middle.
14095 (grub_affs_label): Likewise.
14096
a2a08a35
VS
140972010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
14100 reserved_first_sector to 0.
14101 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
14102 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
14103 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
14104
7059d1ec
VS
141052010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14106
14107 Fix handling of UTF-16 UDF labels.
14108
14109 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
14110 (read_string): .. here.
14111 (grub_udf_label): Use read_string.
14112
30aff4cb
BC
141132010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
14114
14115 * grub-core/normal/menu_entry.c (run): Execute commands from menu
14116 editor under argument scope.
14117 Reported by: Jordan Uggla
14118
5cf86f4b
VS
141192010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14120
14121 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
14122
32570200
CW
141232010-12-18 Colin Watson <cjwatson@ubuntu.com>
14124
14125 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
14126 line, and other keys scroll an entire page (previous handling was
14127 for \r and \n to scroll a page and other keys to scroll two lines).
14128
e1dffcf2
VS
141292010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14130
14131 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14132 Set ptrdest to correct get_physical_target_address rather than
14133 incorrect get_virtual_current_address.
14134
b04298cf 141352010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
14136
14137 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
14138 correct cat to grub_uint8_t * rather than grub_uint32_t *.
14139
5367ecd3
CW
141402010-12-10 Colin Watson <cjwatson@ubuntu.com>
14141
14142 * .bzrignore: Ignore grub-core/rs_decoder.S.
14143
1fb430f8
CW
141442010-12-10 Colin Watson <cjwatson@ubuntu.com>
14145
14146 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
14147 .mo/.mo.gz opening sequence to ...
14148 (grub_mofile_open_lang): ... here.
14149 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
14150 * util/grub.d/00_header.in (grub_lang): Include country part of
14151 locale.
14152 Reported by: Mario Limonciello.
14153
a94a6671
RM
141542010-12-09 Robert Millan <rmh@gnu.org>
14155
14156 * NEWS: Document addition of ZFS support.
14157
24b7938b
CW
141582010-12-04 Colin Watson <cjwatson@ubuntu.com>
14159
14160 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
14161 rather than `/ 2', as the latter requires -Wa,--divide which would
14162 require bumping our minimum binutils version.
14163
bddc3ef6
BC
141642010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
14165
14166 * util/grub-script-check.c (main): Print script line number on
14167 error.
14168
bf78d5b2
RM
141692010-12-01 Robert Millan <rmh@gnu.org>
14170
14171 * grub-core/fs/zfs/zfs.c: New file.
14172 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
14173 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
14174 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
14175 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14176
14177 * include/grub/zfs/dmu.h: Likewise.
14178 * include/grub/zfs/dmu_objset.h: Likewise.
14179 * include/grub/zfs/dnode.h: Likewise.
14180 * include/grub/zfs/dsl_dataset.h: Likewise.
14181 * include/grub/zfs/dsl_dir.h: Likewise.
14182 * include/grub/zfs/sa_impl.h: Likewise.
14183 * include/grub/zfs/spa.h: Likewise.
14184 * include/grub/zfs/uberblock_impl.h: Likewise.
14185 * include/grub/zfs/vdev_impl.h: Likewise.
14186 * include/grub/zfs/zap_impl.h: Likewise.
14187 * include/grub/zfs/zap_leaf.h: Likewise.
14188 * include/grub/zfs/zfs.h: Likewise.
14189 * include/grub/zfs/zfs_acl.h: Likewise.
14190 * include/grub/zfs/zfs_znode.h: Likewise.
14191 * include/grub/zfs/zil.h: Likewise.
14192 * include/grub/zfs/zio.h: Likewise.
14193 * include/grub/zfs/zio_checksum.h: Likewise.
14194
14195 * Makefile.util.def: Build ZFS into libgrubmods.
14196 * grub-core/Makefile.core.def: Build zfs.mod.
14197
3f0f3831
SJ
141982010-11-30 Szymon Janc <szymon@janc.net.pl>
14199
14200 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
14201 variable.
14202 * grub-core/commands/wildcard.c (match_files): Likewise.
14203
3a4253b2
RM
142042010-11-30 Robert Millan <rmh@gnu.org>
14205
14206 * grub-core/loader/i386/bsd.c
14207 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
14208 whether kernel is loaded using grub_loader_is_loaded(), rather
14209 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
14210 certain error conditions.
14211
8c317b27
RM
142122010-11-30 Robert Millan <rmh@gnu.org>
14213
c5c9cd3e
RM
14214 * grub-core/commands/echo.c: Include `<grub/term.h>'.
14215 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 14216
49d3ab46
VS
142172010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 Avoid using tricks for initialising endian variables.
14220
14221 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
14222 Make const.
14223 (GRUB_MOD_INIT): Don't byte-swap.
14224 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14225 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
14226 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
14227 (grub_swap_bytes32_compile_time): Likewise.
14228 (grub_cpu_to_le32_compile_time): Likewise.
14229 (grub_cpu_to_le16_compile_time): Likewise.
14230
f420a804
VS
142312010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14232
14233 * util/grub-setup.c (setup): Stop recommending --force. People who
14234 understand the dangers of blocklists are able to find this option
14235 anyway and the ones who don't shouldn't use it anyway.
14236
4e7db17b
RM
142372010-11-26 Robert Millan <rmh@gnu.org>
14238
14239 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
14240 Update all users.
14241
9be57a0d
CW
142422010-11-26 Colin Watson <cjwatson@ubuntu.com>
14243
14244 Fix LVM-on-RAID probing.
14245
14246 * util/grub-probe.c (probe): Remember which disk was detected as
14247 RAID (perhaps an LVM physical volume). Use that disk's raidname
14248 rather than that of the top-level disk.
14249
2c7859b3 142502010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 14251
d7647bb6
BC
14252 Fix cmdline argument quotes for setparams command of menuentry
14253 definitions.
7e623b0d
BC
14254
14255 * grub-core/commands/menuentry.c (setparams_prefix): Use single
14256 quotes for arguments.
f866fe80 14257 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 14258 grub_strchrsub function instead.
f866fe80 14259
7955bea0 14260 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 14261
74f72a64
CW
142622010-11-24 Colin Watson <cjwatson@ubuntu.com>
14263
14264 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
14265 effort by skipping "." and ".." entries up-front.
14266 Suggested by: Michael Lazarev.
14267
5a407278
CW
142682010-11-24 Colin Watson <cjwatson@ubuntu.com>
14269
14270 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
14271 ldflags to ldadd, to fix link line ordering.
14272 (none_decompress): Likewise.
14273
3030d8ec
CW
142742010-11-24 Colin Watson <cjwatson@ubuntu.com>
14275
14276 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
14277 platforms.
14278 (grub-emu-lite): Remove kern/emu/cache.S.
14279
b7fbac12
CW
142802010-11-23 Colin Watson <cjwatson@ubuntu.com>
14281
14282 * util/deviceiter.c (compare_devices): If the by-id link for a
14283 device couldn't be resolved, fall back to sorting by the by-id link
14284 rather than segfaulting.
14285 Reported and tested by: Daniel Mierswa.
14286
5225f328
CW
142872010-11-23 Colin Watson <cjwatson@ubuntu.com>
14288
14289 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
14290 ldflags, to fix link line ordering.
14291
038b3ce8
CW
142922010-11-23 Colin Watson <cjwatson@ubuntu.com>
14293
14294 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
14295 linkers are picky about this.
14296
bf16e98e
CW
142972010-11-23 Colin Watson <cjwatson@ubuntu.com>
14298
14299 * grub-core/Makefile.am (command.lst): Adjust sed expression
14300 ordering so that extended and priority commands aren't treated as
14301 ordinary commands.
14302
7242bab6
CW
143032010-11-23 Colin Watson <cjwatson@ubuntu.com>
14304
14305 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14306 Remove byte-swapping function calls, which are not valid in
14307 structure initialisers.
14308 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
14309 non-const.
14310 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
14311 grub_gpt_partition_type_bios_boot.
14312
14e8b279
CW
143132010-11-22 Colin Watson <cjwatson@ubuntu.com>
14314
14315 Fix test program build on GNU/kFreeBSD.
14316
14317 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
14318 $(LIBNVPAIR)' library dependencies.
14319
e6f63338 143202010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
14321
14322 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
14323
cf8ffc38
CW
143242010-11-22 Colin Watson <cjwatson@ubuntu.com>
14325
14326 * util/grub-install.in: Remove excessive quoting that broke
14327 installations to RAID devices.
14328
7f8b0fd7
VS
143292010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14330
14331 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
14332 bootloader version instead of 0.
14333
dfd240b1
VS
143342010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14335
14336 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
14337 warning.
14338
7b61e609
VS
143392010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14340
14341 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
14342 retrieve the metadat sector if size isn't known.
14343 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14344
9dfe92d0
RM
143452010-11-18 Robert Millan <rmh@gnu.org>
14346
14347 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
14348 with grub_memcmp().
14349
41cc919e
VS
143502010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
14351
14352 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
14353 arrow.
14354 Reported by: Jordan Uggla.
14355
1afcc914
VS
143562010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14357
14358 Make better UTF compliant.
14359
14360 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
14361 sequences as incorrect.
14362 (grub_is_valid_utf8): Likewise.
14363 (grub_utf8_to_ucs4): Likewise.
14364 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
14365 (grub_ucs4_to_utf8_alloc): Likewise.
14366 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
14367
f1808884
VS
143682010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14369
14370 Make legacy_source behave like source.
14371
14372 * grub-core/commands/legacycfg.c (legacy_file): Don't call
14373 grub_show_menu.
14374 (grub_cmd_legacy_source): Call grub_show_menu if needed.
14375
24ec575b
CW
143762010-11-16 Colin Watson <cjwatson@debian.org>
14377
14378 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
14379 (-Wunused implies -Wunused-parameter, but not vice versa).
14380
72b7c7aa
CW
143812010-11-16 Colin Watson <cjwatson@ubuntu.com>
14382
14383 * configure.ac: Make error messages less confusing by testing for
14384 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
14385 accepted, but produces a diagnostic if something else is wrong).
14386
e98937aa
VS
143872010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14388
14389 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
14390 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
14391 (now unused).
14392 (grub_keyboard_controller_init)
14393 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
14394 read the initial state since controller isn't inited yet.
14395
f6bbabc3
VS
143962010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14397
14398 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
14399 allocate_regbeg may need to create new chunk header.
14400
22e7dbb2
VS
144012010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14402
14403 Fix quoting in legacy parser.
14404
14405 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
14406 single quotes.
14407 (grub_legacy_parse): Likewise.
14408 Reported by: Jordan Uggla.
14409 Tested by: Jordan Uggla.
14410
03f80960
VS
144112010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14412
14413 Don't add -lgcc on i386 and x86_64.
14414
14415 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
14416 * conf/Makefile.common (LDADD_KERNEL): Likewise.
14417 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
14418
779dc15b
VS
144192010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14420
14421 * configure.ac: Add -Wno-trampolines when supported.
14422
d20a3b37
MV
144232010-11-14 Modestas Vainius <modax@debian.org>
14424
14425 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
14426 fakeraid.
14427
e5360933
GC
144282010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14429
14430 Add generic logical block size support for UDF.
14431
14432 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
14433 (GRUB_UDF_BLKSZ): Removed.
14434 (struct grub_udf_data): New field "lbshift" to hold the logical block
14435 size of the file system in log2 format. All users updated.
14436 (sblocklist): Change type to unsigned.
14437 (grub_udf_mount): Change type of "sblklist" to unsigned.
14438 Move AVDP search before VRS recognition, because the latter requires
14439 knowledge of the logical block size, which is detected during the
14440 former.
14441 Detect and validate logical block size during AVDP search, adding
14442 support for block sizes 512, 1024 and 4096.
14443 Make VRS recognition independent of block size.
14444
cb0229c5
GC
144452010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14446
14447 Properly handle deleted files on UDF.
14448
14449 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
14450 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
14451 set.
14452
406858a8
GC
144532010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14454
14455 Support reading files larger than 2 GiB.
14456
14457 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
14458 "offset" to grub_off_t.
14459 (grub_udf_read_file): Likewise for parameter "pos".
14460
130da6a7
VS
144612010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14462
14463 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
14464 unavailable.
14465 (Simple configuration): Refer to Changes from GRUB Legacy about
14466 save_env availability.
14467
65e93f6b
VS
144682010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14469
14470 * util/grub-install.in: Ignore empty partition table detection
14471 instead of trying to include part_ module.
14472
1fd08bf1
VS
144732010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14474
14475 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
14476 LVM on RAID support.
14477
de1a024f
VS
144782010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14479
14480 Properly define WORDS_BIGENDIAN in wrapped environments.
14481
14482 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
14483 definition.
14484 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
14485
14486 Reported by: Manoel Rebelo Abranches.
14487 Tested by: Manoel Rebelo Abranches.
14488
bc5dd0b9
VS
144892010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14490
14491 * util/grub-mkconfig.in: Fix quoting.
14492
58c184be
VS
144932010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14494
14495 Support big ext2 files.
14496
14497 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
14498 (grub_ext2_read_block): Support triple indirect blocks.
14499 (grub_ext2_read_file): Use 64-bit types and read size_high.
14500 (grub_ext2_open): Read size_high.
14501 Reported by: Ximin Luo.
14502 Tested by: Manoel Rebelo Abranches.
14503
5f0c02b3
VS
145042010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14505
14506 * util/grub-install.in: Handle filenames containing spaces.
14507 Reported by: Jordan Uggla.
14508 Tested by: Jordan Uggla.
14509
4417aae6
VS
145102010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14511
14512 * util/grub-mkconfig.in (grub_script_check): New variable.
14513 Use grub_script_check instead of grub-script-check.
14514 Reported by: Barry Jackson.
14515
7625a68e
VS
145162010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 * docs/grub.texi (menu): Correct the order.
14519 Reported by: D. Hugh Redelmeier.
14520
10001ac5
VS
145212010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14522
14523 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
14524 jump.
14525
9c4cf53b
MRA
145262010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
14527
10001ac5
VS
14528 * include/grub/elfload.h (grub_elf32_size): New parameter.
14529 All users updated.
9c4cf53b
MRA
14530 Return maximum segments alignment.
14531 (grub_elf64_size): Likewise.
14532 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
14533 Return maximum segments alignment.
14534 (grub_elf64_size): Likewise.
14535 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
14536 (grub_linux_claimmap_iterate): New function. Uses the
14537 "available" property in the "memory" node for memory allocation
14538 for kernel in the PowerPC loader.
9c4cf53b
MRA
14539 (grub_linux_load32): Correctly find linux entry point offset.
14540 (grub_linux_load64): Likewise.
14541
d2bf06bf
RM
145422010-11-07 Robert Millan <rmh@gnu.org>
14543
14544 On mips-yeeloong, build with -march=loongson2f when this flag is
14545 available (GCC >= 4.4).
14546 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
14547 `-march=mips3'.
14548 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
14549 or otherwise add -march=mips3.
14550
898c99a2
BC
145512010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
14552
87220a68
BC
14553 Suppress shell expansion on echo '*' and echo "*" like cases.
14554 Reported by: Jordan Uggla.
898c99a2
BC
14555
14556 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
14557 string arguments before shell expansion.
14558 * tests/grub_cmd_echo.in: New testcases.
14559
4f9b406a
RM
145602010-11-07 Robert Millan <rmh@gnu.org>
14561
14562 * conf/mips-qemu-mips.rmk: Remove stale file from previous
14563 transition.
14564
80c6d25e
VS
145652010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
14566
14567 * grub-core/kern/emu/hostdisk.c
14568 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
14569
4a1a0153
VS
145702010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
14573 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
14574 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
14575
34706ddc
VS
145762010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14577
14578 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
14579
6972dea9
VS
145802010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14581
14582 * util/grub-install.in: Replace useless recomendation to pass
14583 --modules with a recomendation to report a bug.
14584
9c693bd6
VS
145852010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14586
14587 Properly register serial terminfo.
14588 Reported by: Jordan Uggla
14589
14590 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
14591 const.
14592 (grub_serial_terminfo_output_template): Likewise.
14593 (grub_cmd_serial): Register "serial" with terminfo.
14594 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
14595 grub_serial_terminfo_output.
14596
6c9e4c0c
RM
145972010-11-05 Robert Millan <rmh@gnu.org>
14598
14599 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
14600 needed).
14601
b9b3839f
RM
146022010-11-05 Robert Millan <rmh@gnu.org>
14603
14604 On Yeeloong, pass machine type information to Linux.
14605
14606 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
14607 (LOONGSON_MACHTYPE): New macro, set to
14608 "machtype=lemote-yeeloong-2f-8.9inches".
14609 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
14610 additional argument to Linux.
14611
1a3aaff4
RM
146122010-11-04 Robert Millan <rmh@gnu.org>
14613
14614 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
14615 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
14616 (its SATA disks are detected as slaveless IDE master drives on
14617 kFreeBSD).
14618 Reported by Carsten Aulbert.
14619
a75f4f62
CW
146202010-11-02 Colin Watson <cjwatson@ubuntu.com>
14621
14622 * util/bin2h.c (main): Fix spelling error in generated output.
14623
33b4b0c6
GS
146242010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
14625
14626 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
14627
2b36fbf4
VS
146282010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14629
14630 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
14631 vga= option is supplied.
14632
74aaf558
VS
146332010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14634
14635 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
14636 * util/grub.d/10_kfreebsd.in: Likewise.
14637 * util/grub.d/10_linux.in: Likewise.
14638 * util/grub.d/20_linux_xen.in: Likewise.
14639
6428dec3
VS
146402010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14641
14642 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
14643 argument as an argument to no-argument option.
14644
f8729d98
VS
146452010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14646
14647 * util/grub.d/10_linux.in: Add missing load_video with explicit
14648 GRUB_GFXPAYLOAD_LINUX.
14649
89d68fa6
VS
146502010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14651
14652 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
14653
3a1197cd
VS
146542010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14655
14656 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
14657 elements with invlid index.
14658 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14659 * grub-core/disk/raid.c (insert_array): Automatically reallocate
14660 members.
14661 * include/grub/raid.h (grub_raid_member): New struct.
14662 (grub_raid_array): Transform devices and start_sector into usage of
14663 grub_raid_member. All users updated
14664 (allocated_devs): New member.
14665
71574288
VS
146662010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14667
14668 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
14669 is modified
14670
8d40ec65
BC
146712010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
14672
14673 NetBSD build fix for getline function conflict from gnulib.
14674
14675 * Makefile.util.def (libgrubkern.a): New library for grub kernel
14676 components that depend on gnulib headers.
14677 (libgrubmods.a): Renamed from earlier libgrub.a.
14678 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
14679
95b9257e
VS
146802010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14681
14682 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
14683 install rather than creating a broken install.
14684
26c53dc6
VS
146852010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 * util/grub-setup.c (argp): Remove misleading example of installing to
14688 a partition.
14689
4171b3c5
VS
146902010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14691
14692 * util/grub-setup.c (setup): Clarify the error message.
14693
18568d18
VS
146942010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14695
14696 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
14697
4f6a2e21
VS
146982010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14699
14700 * grub-core/kern/emu/misc.c
14701 (grub_make_system_path_relative_to_its_root)
14702 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
14703
147042010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
14705
14706 * grub-core/kern/emu/misc.c
14707 (grub_make_system_path_relative_to_its_root): Revert r2882.
14708
e138c458
VS
147092010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
14710
14711 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
14712 useless field head. All users updated.
14713 (free_subchunk): Correct handling of IN_REGION subchunk.
14714
0cbcdf0e
CW
147152010-10-22 Colin Watson <cjwatson@ubuntu.com>
14716
14717 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
14718 (Supported kernels): Likewise.
14719
b65ea155
GS
147202010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14721
14722 Make mktemp invocations portable.
14723
14724 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
14725 exit if mktemp fails.
14726 * tests/grub_script_blockarg.in: Likewise.
14727 * tests/partmap_test.in: Likewise.
14728 * tests/util/grub-shell-tester.in: Likewise.
14729 * tests/util/grub-shell.in: Likewise.
14730 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14731 * Makefile.am: Likewise, and chain shell commands with `&&'
14732 instead of ';'.
14733 * util/grub-mkrescue.in: Use the same explicit template as above, and
14734 exit if mktemp fails.
14735
05f43cdd
BC
147362010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
14737
14738 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
14739 Linux kernel, reported by Dennis Schridde.
14740
800e6a9b
SJ
147412010-10-17 Szymon Janc <szymon@janc.net.pl>
14742
14743 * grub-core/normal/auth.c (grub_auth_check_authentication):
14744 Set-but-not-used variable removed.
14745
d82df574
VS
147462010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14747
14748 * docs/grub.texi (GNU/Linux): Document APM unavailability with
14749 32-bit linux protocol.
14750
7bced458
VS
147512010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14752
14753 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
14754 cursor shape for sanity.
14755
5b027690
VS
147562010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14757
14758 * docs/grub.texi (Installation): Document buggy BIOS install.
14759
ba5f65cf
VS
147602010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14761
14762 * docs/grub.texi (Installation): Indent.
14763
fdf2ec9c
VS
147642010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14765
14766 * util/grub-setup.c (setup): New parameter allow_floppy.
14767 (arguments): New member allow_floppy.
14768 (argp_parser): Handle --allow-floppy.
14769 (main): Pass allow_floppy.
14770 * util/grub-install.in: New option --allow-floppy passed though to
14771 grub-setup.
14772
861dfd4c
VS
147732010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14774
14775 * util/grub-install.in: Handle partitionless disks.
14776
f77a8c24
VS
147772010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14778
14779 * util/grub-setup.c (setup): Don't clean blocklists before readability
14780 verfification.
14781
27d9ee32
VS
147822010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14783
14784 * docs/grub.texi (Installation): Document embedding zone. Remove
14785 obsolete grub-install example.
14786
6bdda8f8
SJ
147872010-10-16 Szymon Janc <szymon@janc.net.pl>
14788
14789 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
14790 Set-but-not-used variable ifdef'ed.
14791 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
14792 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
14793 variable removed.
14794 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
14795 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
14796 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14797 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
14798 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
14799 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14800 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
14801 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
14802 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
14803 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
14804 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
14805 Likewise.
14806
e19b016b
VS
148072010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14808
14809 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
14810 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
14811 enum value.
14812
6c8d3002
VS
148132010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
14816 synonym to _S5_. Needed for some DSDTs.
14817
c32b51c9
VS
148182010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14819
14820 Userspace ACPI parser debugging.
14821
14822 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
14823 headers and add relevant defines. Don't include standard headers.
14824 (main) [GRUB_DSDT_TEST]: New function.
14825 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14826 Don't declare functions.
14827
fbfbeb39
VS
148282010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14829
14830 Remove dead grub_efi_mm_fini.
14831
14832 * grub-core/kern/efi/mm.c (allocated_page): Removed.
14833 (ALLOCATED_PAGES_SIZE): Likewise.
14834 (MAX_ALLOCATED_PAGES): Likewise.
14835 (allocated_pages): Likewise.
14836 (grub_efi_allocate_pages): Don't record allocated pages.
14837 (grub_efi_free_pages): Likewise.
14838 (grub_efi_mm_init): Likewise.
14839 (grub_efi_mm_fini): Removed.
14840
65f7ed7c
VS
148412010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14842
14843 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14844 (grub_efi_mm_init): Take into account the memory map size increase.
14845
24977b44
VS
148462010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14847
14848 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14849 (serial_hw_put): Wait based on real time rather than port reads. Don't
14850 roken ports.
14851 * include/grub/serial.h (grub_serial_port): New field broken.
14852
1eb01cd2
RM
148532010-10-16 Robert Millan <rmh@gnu.org>
14854
14855 * grub-core/kern/emu/misc.c
14856 (grub_make_system_path_relative_to_its_root): Fix premature return
14857 when processing non-root ZFS filesystems.
5f8b440b 14858 Reported by Sergio Talens-Oliag.
1eb01cd2 14859
2d5fed60
RM
148602010-10-15 Robert Millan <rmh@gnu.org>
14861
14862 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14863 guarantee compressed ones are processed first.
14864
d0f4c1ea
VS
148652010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14868 grub_efiemu_autocore.
14869
d87c681f
VS
148702010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14871
14872 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14873 rather than 0x1b.
14874 (grub_console_getkey): Use correct jae opcode rather than ja.
14875
219b3564
RM
148762010-10-12 Robert Millan <rmh@gnu.org>
14877
14878 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14879 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14880 variable. All references updated.
14881
14882 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14883
20c6bb7e
VS
148842010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14885
14886 Correctly distinguish mdraid flavours.
14887
14888 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14889 (insert_array): New argument raid.
14890 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14891 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14892 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14893
74baff84
VS
148942010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14895
14896 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14897 handling of special keys.
14898
3ef068df 148992010-10-02 Aleš Nesrsta <starous@volny.cz>
14900
c7980ad9
VS
14901 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14902 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 14903
a9455194 149042010-10-02 Aleš Nesrsta <starous@volny.cz>
14905
c7980ad9
VS
14906 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14907 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14908 users updated.
a9455194 14909 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 14910 Use right endpoint when querying descriptor.
a9455194 14911
441cfe65
VS
149122010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 Clear out 0x80 color bit on EFI.
14915 Tested by: decoder
14916 Reported by: decoder and meta tech.
14917
14918 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14919 (grub_console_setcolorstate): Clear out 0x80 bit.
14920 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14921 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14922 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14923
bf26bcc4
VS
149242010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14925
14926 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14927 Set to "auto".
14928
6e3c515d
VS
149292010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14930
14931 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14932 mo_file after freeing.
14933
e6d983ba
VS
149342010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14935
14936 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14937
74ccb5b5
VS
149382010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14939
14940 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14941 flags.
14942
17821956
VS
149432010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14944
14945 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14946 usage.
14947
ee74fa48
VS
149482010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14949
14950 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14951
14952 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14953 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14954 and terminfo.h when needed.
14955 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14956 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14957 (terminfo): Enable only on terminfokernel.
14958 (extcmd): Likewise.
14959 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14960 * include/grub/lib/arg.h: Likewise.
14961 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14962 incorrect usage of ->.
14963
aa438e68
VS
149642010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14965
14966 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14967 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14968
57994012
VS
149692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14970
14971 Fix coreboot compilation.
14972
14973 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14974 Take VBE info into account even if only text is supported.
14975 (fill_vbe_info): Take into account the case when only VGA text
14976 is supported.
14977 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
14978 on coreboot, multiboot and qemu.
14979
2a406611
VS
149802010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14981
14982 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
14983 debug messages.
14984 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
14985
d33613fc
VS
149862010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14987
14988 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
14989 parameters.
14990
44a1b432
VS
149912010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14992
14993 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
14994 if they were BSD-style.
14995
edde54e6
VS
149962010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14997
14998 * grub-core/boot/i386/pc/lnxboot.S: Replace
14999 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
15000 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
15001
b65830fa
VS
150022010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15003
15004 Write embedding zone using Reed-Solomon.
15005
15006 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
15007 * grub-core/Makefile.am (rs_decoder.S): New target.
15008 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
15009 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
15010 (multiboot): Move to RS part.
15011 (post_reed_solomon): New label.
15012 (grub_boot_drive): Move to non-RS part since it's modified in memory
15013 on boot.
15014 Include rs_decoder.S.
15015 * grub-core/lib/reed_solomon.c: New file.
15016 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
15017 New definition.
15018 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
15019 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
15020 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
15021 * include/grub/partition.h (grub_partition_map): Change prototype of
15022 embed to allow returning additional sectors.
15023 * include/grub/reed_solomon.h: New file.
15024 * util/grub-setup.c (setup): Handle Reed-Solomon.
15025
0b4b227f
CW
150262010-09-28 Colin Watson <cjwatson@ubuntu.com>
15027
15028 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
15029 i386 and x86-64 definedness tests.
15030
f772623b
YB
150312010-09-27 Yves Blusseau <blusseau@zetam.org>
15032
15033 Fix generation of kernel_syms.lst
15034
15035 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
15036 ASM_PREFIX
15037
8e57a6ca
RM
150382010-09-26 Robert Millan <rmh@gnu.org>
15039
15040 Support degraded ZFS arrays in "grub-probe -t device" resolution.
15041
15042 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
15043 the pool is an array of devices, iterate through it and return the
15044 first device that passes a stat() test (instead of blindly returning
15045 the first one).
15046
f9130836
RM
150472010-09-26 Robert Millan <rmh@gnu.org>
15048
15049 Build fixes for GNU/kFreeBSD.
15050
15051 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
15052 to programs that require ZFS conversion.
15053 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
15054 kernels that don't have FLOPPY_MAJOR.
15055
96510faf
BC
150562010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
15057
15058 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
15059
449333eb
BC
150602010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
15061
15062 Fix grub-emu build.
15063
15064 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
15065 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
15066 mdraid09 and mdraid1x.
15067
e1fd1939
CW
150682010-09-24 Colin Watson <cjwatson@ubuntu.com>
15069
15070 Re-enable grub-extras.
15071
15072 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
15073 avoid confusing Automake. Run autogen only twice, once for the top
15074 level and once for grub-core. Add Makefile.util.def and
15075 Makefile.core.def from extra modules to the appropriate autogen
15076 invocations. If Makefile.common exists in an extra module, include
15077 it in both Makefile.util.am and grub-core/Makefile.core.am;
15078 similarly, include any Makefile.util.common file in Makefile.util.am
15079 and any Makefile.core.common file in grub-core/Makefile.core.am.
15080 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
15081 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
15082 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
15083 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
15084
15085 * gentpl.py (gvar_add): Turn GVARS into a set.
15086 (global_variable_initializers): Sort global variables on output.
15087 (vars_init): New function.
15088 (first_time): Likewise.
15089 (library): Ensure that non-global variable initialisations are
15090 emitted before the first time we emit code for a library block.
15091 Append to variables rather than setting them. Only emit
15092 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
15093 each conditional path.
15094 (program): installdir() emits an Autogen macro, so must be passed to
15095 var_add rather than gvar_add.
15096 (data): Likewise.
15097 (script): Likewise.
15098 (rules): New function, centralising handling for different target
15099 types. Set up Guile association lists for first_time and vars_init,
15100 and send most output to a diversion so that variable initialisations
15101 can be emitted first.
15102 (module_rules): Use new rules function.
15103 (kernel_rules): Likewise.
15104 (image_rules): Likewise.
15105 (library_rules): Likewise.
15106 (program_rules): Likewise.
15107 (script_rules): Likewise.
15108 (data_rules): Likewise.
15109
15110 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
15111
15112 * .bzrignore: Add contrib and grub-core/contrib. Remove
15113 grub-core/Makefile.gcry.am.
15114
1d12cf29
YB
151152010-09-24 Yves Blusseau <blusseau@zetam.org>
15116
15117 * grub-core/lib/LzFind.c: Add missing include.
15118 * grub-core/lib/LzmaEnc.c: Likewise.
15119 * grub-core/script/lexer.c: Likewise.
15120 * grub-core/script/yylex.l: Likewise.
15121 * util/grub-macho2img.c: Likewise.
15122 * util/grub-menulst2cfg.c: Likewise.
15123 * util/grub-mklayout.c: Likewise.
15124 * util/grub-mkpasswd-pbkdf2.c
15125 * util/grub-mkrelpath.c: Likewise.
15126 * util/resolve.c: Likewise.
15127
dd363028
BC
151282010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
15129
15130 * Makefile.util.def (example_unit_test): Add
15131 grub-core/gnulib/libgnu.a.
15132
f5a109e2
GS
151332010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
15134
15135 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
15136
6d0fa83c
VS
151372010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
15138
15139 Support xz compression on yeeloong.
15140
15141 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
15142 * configure.ac: Check for LZMA.
15143 * grub-core/Makefile.core.def (xz_decompress): New target.
15144 (none_decompress): Likewise.
15145 * grub-core/boot/decompressor/minilib.c: New file.
15146 * grub-core/boot/decompressor/none.c: Likewise.
15147 * grub-core/boot/decompressor/xz.c: Likewise.
15148 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
15149 * grub-core/kern/mips/cache_flush.S: Likewise.
15150 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
15151 * grub-core/kern/mips/startup.S: Move first stage to ...
15152 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
15153 nomacro.
15154 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
15155 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
15156 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
15157 Allocate statically.
15158 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
15159 Allocate statically or use scratch. Don't check CRC32.
15160 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
15161 Allocate statically. Don't check CRC32.
15162 * include/grub/decompressor.h: New file.
15163 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
15164 Removed.
15165 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
15166 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
15167 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
15168 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
15169 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
15170 * util/grub-mkimage.c (grub_compression_t): New type.
15171 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
15172 (image_target_desc): New field default_compression.
15173 (image_targets): Adjust yeeloong targets.
15174 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
15175 (compress_kernel): New parameter comp.
15176 (generate_image): Likewise. Handle new compression case.
15177 (options): New option --compression
15178 (help): Likewise.
15179 (main): Handle new option.
15180
1b655af6
GS
151812010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
15182
15183 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
15184
8f03f0b5
CW
151852010-09-22 Colin Watson <cjwatson@ubuntu.com>
15186
15187 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
15188 typo in __i386__ conditional.
15189
7835dfd3
VS
151902010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15191
15192 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
15193 include.
15194
e255597e
VS
151952010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15196
6d0fa83c 15197 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
15198
15199 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
15200 new tags as supported.
15201 (acpiv2_size): New function.
15202 (grub_multiboot_get_mbi_size): Take new tags into account.
15203 (grub_multiboot_make_mbi): Add new tags.
15204 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 15205
6cc14051 152062010-09-21 Aleš Nesrsta <starous@volny.cz>
15207
15208 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
15209 Added missing configuration of USB device.
15210
df7769d8
CW
152112010-09-21 Colin Watson <cjwatson@ubuntu.com>
15212
15213 * grub-core/normal/menu_entry.c (run): Make sure we always return
15214 a value.
15215
b031012d
CW
152162010-09-21 Colin Watson <cjwatson@ubuntu.com>
15217
15218 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
15219 NumberOfPages is UINT64 according to the UEFI specification, not
15220 UINTN. Fix printf format.
15221
174de8f3
CW
152222010-09-21 Colin Watson <cjwatson@ubuntu.com>
15223
15224 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
15225 `err' to grub_usb_err_t.
15226 Reported and tested by: KESHAV P.R.
15227
d7dbe923
CW
152282010-09-21 Colin Watson <cjwatson@ubuntu.com>
15229
15230 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
15231 tpart non-const, so that we can assign to it. (Since this is a
15232 typedef, the constness refers to the pointer rather than what it
15233 points to.)
15234
8d5e2af3
CW
152352010-09-21 Colin Watson <cjwatson@ubuntu.com>
15236
15237 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
15238 $(top_srcdir)/grub-core/gnulib as well as
15239 $(top_builddir)/grub-core/gnulib.
15240 Reported by: KESHAV P.R.
15241
5c527783
CW
152422010-09-21 Colin Watson <cjwatson@ubuntu.com>
15243
15244 * util/grub-install.in: Fix the bootloader ID option to be
15245 consistently --bootloader-id, not --bootloader_id.
15246 Reported by: KESHAV P.R.
15247
d309a16e
CW
152482010-09-21 Colin Watson <cjwatson@ubuntu.com>
15249
15250 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
15251 check hash checksum." consistently translatable.
15252
b830cd16
YB
152532010-09-21 Yves Blusseau <blusseau@zetam.org>
15254
15255 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
15256 $(top_builddir).
15257
c4fe27a8
CW
152582010-09-21 Colin Watson <cjwatson@ubuntu.com>
15259
15260 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
15261 (GRUB_MOD_INIT): Register sha1sum command.
15262 (GRUB_MOD_FINI): Unregister sha1sum command.
15263
a4c1d277
YB
152642010-09-21 Yves Blusseau <blusseau@zetam.org>
15265
15266 Keep boot and grub directory names in sync with utils scripts
15267
15268 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
15269 * config.h.in: Add previous macros.
15270 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
15271 * util/grub-install.in: Use $bootdir and $grubdir variables.
15272
4eff79d2
CW
152732010-09-21 Colin Watson <cjwatson@ubuntu.com>
15274
15275 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
15276 convert partition names to disk names if the new `convert' parameter
15277 is set.
15278 (grub_util_biosdisk_get_grub_dev): If opening the disk device
15279 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
15280 disk in its own right. This can happen with Xen disk images.
15281
934d7e44
YB
152822010-09-21 Yves Blusseau <blusseau@zetam.org>
15283
15284 * util/grub-editenv.c: Update strings to avoid warnings when generating
15285 grub.pot file.
15286 * util/grub-setup.c: Likewise.
934d7e44 15287
df3367cc
VS
152882010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15289
15290 * configure.ac: Change version to 1.99~beta0.
15291
77a94e98
VS
152922010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15293
15294 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
15295 Add BADRAM.
15296 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
15297 Likewise.
15298 * include/multiboot.h: Resynced with specification.
15299 * include/multiboot2.h: Likewise.
15300
269004c1
CW
153012010-09-21 Colin Watson <cjwatson@ubuntu.com>
15302
15303 Fix po directory handling.
15304
15305 * configure.ac: Create po/Makefile.in rather than po/Makefile.
15306 * grub-core/gnulib/Makefile.am: Import gettext module.
15307 * m4/gnulib-cache.m4: Likewise.
15308 * m4/gnulib-comp.m4: Likewise.
15309 * m4/gettext.m4: New file, from gnulib.
15310 * m4/glibc2.m4: Likewise.
15311 * m4/iconv.m4: Likewise.
15312 * m4/intdiv0.m4: Likewise.
15313 * m4/intl.m4: Likewise.
15314 * m4/intldir.m4: Likewise.
15315 * m4/intlmacosx.m4: Likewise.
15316 * m4/intmax.m4: Likewise.
15317 * m4/inttypes-pri.m4: Likewise.
15318 * m4/lcmessage.m4: Likewise.
15319 * m4/lib-ld.m4: Likewise.
15320 * m4/lib-link.m4: Likewise.
15321 * m4/lib-prefix.m4: Likewise.
15322 * m4/lock.m4: Likewise.
15323 * m4/nls.m4: Likewise.
15324 * m4/po.m4: Likewise.
15325 * m4/printf-posix.m4: Likewise.
15326 * m4/progtest.m4: Likewise.
15327 * m4/threadlib.m4: Likewise.
15328 * m4/uintmax_t.m4: Likewise.
15329 * m4/visibility.m4: Likewise.
15330 * po/Makefile.am: Remove.
15331 * po/Makefile.in.in: New file, from gettext.
15332 ($(DOMAIN).pot-update): Support POTFILES-shell.
15333 * po/Makevars: New file.
15334 * po/POTFILES-shell: Rename to ...
15335 * po/POTFILES-shell.in: ... this. Update.
15336 * po/POTFILES: Rename to ...
15337 * po/POTFILES.in: ... this. Update.
15338 * po/Rules-quot: New file, from gettext.
15339 * po/boldquot.sed: Likewise.
15340 * po/en@boldquot.header: Likewise.
15341 * po/en@quot.header: Likewise.
15342 * po/insert-header.sin: Likewise.
15343 * po/quot.sed: Likewise.
15344 * po/remove-potcdate.sin: Likewise.
15345
3e0fa5d0
VS
153462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15347
15348 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
15349
ade9bd66
VS
153502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15351
15352 * util/grub.d/20_linux_xen.in: Use submenus.
15353
fc55cc4c
VS
153542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 Support submenus.
15357
15358 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
15359 parameter submenu. All users updated.
15360 * grub-core/normal/main.c (free_menu): Rename to ...
15361 (grub_normal_free_menu): ... this. Made global.
15362 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
15363 if requested.
15364 * grub-core/normal/menu_entry.c (screen): New field submenu.
15365 (make_screen): Set submenu.
15366 (run): Open new context if requested.
15367 * include/grub/menu.h (grub_menu_entry): New field submenu.
15368 * include/grub/normal.h (grub_normal_free_menu): New proto.
15369
600cedf7
VS
153702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15371
15372 Menu entries extractor.
15373
15374 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
15375 variants.
15376 (GRUB_MOD_INIT): Register new variants.
15377 (GRUB_MOD_FINI): Unregister new variants.
15378 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
15379 into grub_cmd_legacy_source.
15380 (grub_cmd_legacy_source): Implement extractor variants.
15381 (GRUB_MOD_INIT): Register new variants.
15382 (GRUB_MOD_FINI): Unregister new variants.
15383 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
15384 as an extractor.
15385 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
15386 search as an extractor.
15387 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
15388 test as an extractor.
15389 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
15390 as an extractor.
15391 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
15392 (grub_env_new_context): New function.
15393 (grub_env_context_open): Likewise.
15394 (grub_env_extractor_open): Likewise.
15395 (grub_env_extractor_close): Likewise.
15396 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15397 grub_extractor_level.
15398 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
15399 * include/grub/env.h (grub_env_extractor_open): New proto.
15400 (grub_env_extractor_close): Likewise.
15401 * include/grub/normal.h (grub_extractor_level): New external variable.
15402
7bda3a87
VS
154032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15404
15405 Make cutmem accept a region specification.
15406 Suggested by: Samuel Thibault
15407
15408 * grub-core/mmap/mmap.c (parsemem): New function.
15409 (grub_cmd_cutmem): Handle new arguments.
15410
2ea57f88
VS
154112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15412
15413 New command cutmem.
15414
15415 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
15416 (GRUB_MOD_INIT): Register new command.
15417 (GRUB_MOD_FINI): Unregister new command.
15418
74342e31
VS
154192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15420
15421 Support some annoying BSD and Minix subpartitions.
15422
15423 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
15424 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
15425 Properly handle concatenation.
15426 * grub-core/kern/device.c (grub_device_iterate): Likewise.
15427 * grub-core/normal/completion.c (iterate_partition): Likewise.
15428 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
15429 contain partition. All users updated.
15430 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
15431 struct.
15432 (grub_openbsdlabel_partition_map): Likewise.
15433 (bsdlabel_partition_map_iterate): Rename to ..
15434 (iterate_real): ... this. New arguments sector, freebsd and pmap.
15435 (bsdlabel_partition_map_iterate): New function.
15436 (netopenbsdlabel_partition_map_iterate): Likewise.
15437 (netbsdlabel_partition_map_iterate): Likewise.
15438 (openbsdlabel_partition_map_iterate): Likewise.
15439 (GRUB_MOD_INIT): Register new partmaps.
15440 (GRUB_MOD_FINI): Unregister new partmaps.
15441 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
15442 (grub_partition_msdos_iterate): ... this. All users updated.
15443 Don't support embedding other than in a minix partition.
15444 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
15445 proto.
15446 * include/grub/partition.h (grub_partition): New field msdostype.
15447 * util/grub-install.in: Handle openbsd and netbsd types being in
15448 part_bsd module.
15449
1e8d555b
VS
154502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15451
15452 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
15453
15454 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
15455 * grub-core/Makefile.core.def (mdraid): Renamed to ...
15456 (mdraid09): ... this.
15457 (mdraid1x): New module.
15458 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
15459 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
15460
899d8af4
VS
154612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15462
15463 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
15464 vsprintf.
15465
40901acd
CW
154662010-09-20 Colin Watson <cjwatson@ubuntu.com>
15467
15468 * grub-core/commands/efi/lsefimmap.c: Correct header.
15469 * NEWS: Update.
15470
dfe3b247
CW
154712010-09-20 Colin Watson <cjwatson@ubuntu.com>
15472
15473 * util/grub-editenv.c (argp_parser): Don't pass translated strings
15474 as printf format strings; the translations might contain '%' which
15475 could cause a crash.
15476 (main): Likewise.
15477 * util/grub-fstest.c (argp_parser): Likewise.
15478 * util/grub-setup.c (argp_parser): Likewise.
15479 (main): Likewise.
15480
3286a4b4
VS
154812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15482
15483 Use argp in grub-fstest.
15484
15485 * util/grub-fstest.c: Don't include getopt.h.
15486 Include argp.h.
15487 (root): New variable.
15488 (args_count): Likewise.
15489 (nparm): Likewise.
15490 (num_disks): Likewise.
15491 (images): Likewise.
15492 (cmd): Likewise.
15493 (debug_str): Likewise.
15494 (args): Likewise.
15495 (options): Transformed to argp.
15496 (usage): Removed.
15497 (main): Split argument parsing into ...
15498 (argp_parser): ... this. Changed to argp format.
15499 (argp): New variable.
15500 (main): Use argp_parse.
15501
3dccbe4b
TG
155022010-09-20 Tristan Gingold <gingold@free.fr>
155032010-09-20 Robert Millan <rmh.grub@aybabtu.com>
155042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15505
15506 * grub-core/commands/efi/lsefimmap.c: New file.
15507 * grub-core/Makefile.core.def (lsefimmap): New module.
15508 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
15509
38c259a7
VS
155102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15511
15512 Pause the execution (10s max) if any errors are displayed so the user
15513 has a chance to see them.
15514
15515 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
15516 (grub_print_error): Increment grub_err_printed_errors.
15517 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
15518 execution if any errors were displayed.
15519 (show_menu): Remove old code for pause.
15520 * grub-core/normal/menu_entry.c (run): Likewise.
15521 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
15522 users updated.
15523 (grub_normal_get_char_counter): Likewise.
15524 * include/grub/err.h (grub_err_printed_errors): New external variable.
15525 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
15526
f218b09c
VS
155272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15528
15529 Support multiboot VBE info.
15530
15531 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15532 Take VBE info into account.
15533 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
15534 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15535 Call fill_vbe_info when appropriate.
15536 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
15537 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
15538 as supported.
15539 (grub_multiboot_get_mbi_size): Take new tags into account.
15540 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
15541 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15542 Call fill_vbe_tag when appropriate.
15543 (grub_multiboot_make_mbi): Properly align tags.
15544 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
15545 function.
15546 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
15547 proto.
15548 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
15549
a9cc5438
VS
155502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15551
15552 Suport manual terminal geometry specification.
15553
15554 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
15555 Save state in grub_ofconsole_terminfo_output.
15556 (grub_ofconsole_term): Use grub_terminfo_getwh.
15557 (grub_ofconsole_getwh): Removed.
15558 * grub-core/term/serial.c (grub_serial_getwh): Removed.
15559 (grub_serial_term): Use grub_terminfo_getwh.
15560 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
15561 (options): New struct.
15562 (OPTION_*): New enum.
15563 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
15564 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
15565 width and height.
15566 (grub_terminfo_getwh): New proto.
15567 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
15568
1a8fed20
VS
155692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15570
15571 Handle legacy "terminal" command.
15572
15573 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
15574 and FLAG_TERMINAL.
15575 (legacy_commands): Add terminal and title.
15576 (grub_legacy_parse): Handle terminal. Simplify title handling.
15577
41e9c57d
VS
155782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15579
15580 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
15581 parameters overflow.
15582
61c874c5
CW
155832010-09-20 Colin Watson <cjwatson@ubuntu.com>
15584
15585 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
15586 widthspec.h.
15587
15588 * docs/grub.texi (Shell-like scripting): Document `!'.
15589 (Network): Simplify using new i386-pc-pxe format. Mention
15590 grub-mknetdir.
15591
15592 * NEWS: Update.
15593
943682b4
CW
155942010-09-20 Colin Watson <cjwatson@ubuntu.com>
15595
15596 * Makefile.am (SUBDIRS): Restore "."; it's important to force
15597 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
15598 when needed.
15599
6d3d698d
CW
156002010-09-20 Colin Watson <cjwatson@ubuntu.com>
15601
15602 * grub-core/commands/efi/lsefisystab.c: Correct header.
15603 * grub-core/commands/efi/lssal.c: Likewise.
15604 * grub-core/commands/testload.c: Likewise.
15605
c982589f
CW
156062010-09-20 Colin Watson <cjwatson@ubuntu.com>
15607
15608 * util/grub-mkrescue.in: Add explicit root argument to --set to
15609 prevent the UUID being interpreted as an argument to --set (matches
15610 previous change to prepare_grub_to_access_device).
15611
a63c31b6
CW
156122010-09-20 Colin Watson <cjwatson@ubuntu.com>
15613
15614 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
15615 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
15616 the verbosity of later #ifs.
15617 (find_partition_start): Define this function on FreeBSD too.
15618 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
15619 function.
15620 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
15621 on FreeBSD.
15622
6439b8ee
YB
156232010-09-20 Yves Blusseau <blusseau@zetam.org>
15624
15625 * util/grub-editenv.c: Use argp instead of getopt.
15626
c5930ec8
YB
156272010-09-20 Yves Blusseau <blusseau@zetam.org>
15628
15629 * util/grub-setup.c: Use argp instead of getopt.
15630
15c69261
YB
156312010-09-20 Yves Blusseau <blusseau@zetam.org>
15632
15633 Use gnulib-tool to create gnulib source files.
15634
15635 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
15636 grub-core/gnulib directories
15637 * .bzignore: Add **/.deps and autogenerated gnulib files
15638 * configure.ac: Assign auxiliary directory to build-aux, add invocation
15639 of gnulib macros, add grub-core/gnulib/Makefile
15640 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
15641 include m4 directory to aclocal.
15642 * Makefile.util.def: Remove direct compilation of gnulib source files
15643 and use the new grub-core/gnulib/libgnu.a.
15644 * build-aux/config.rpath: move config.rpath from top directory to
15645 build-aux
15646 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
15647 in gnulib headers
15648 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
15649 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
15650 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
15651 header.
15652 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
15653 string.
15654
e511c9f5
YB
156552010-09-20 Yves Blusseau <blusseau@zetam.org>
15656
15657 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
15658 grub-core/genmod.sh and grub-core/gensyminfo.sh
15659
c2dede05
BC
156602010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
15661
15662 Add a test for echo command options.
15663
15664 * tests/grub_cmd_echo.in: New test.
15665 * Makefile.util.def: Rules for new test.
15666
c55f5018
SJ
156672010-09-20 Szymon Janc <szymon@janc.net.pl>
15668
15669 Remove crc.mod and move crc command to hashsum.mod.
15670 Remove lib/crc.c - users updated to use gcrypt implementation.
15671
15672 * grub-core/commands/crc.c: Removed.
15673 * grub-core/Makefile.core.def (crc): Module removed.
15674 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
15675 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
15676 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
15677 * grub-core/lib/crc.c: Removed.
15678 * include/grub/lib/crc.h: Removed.
15679 * Makefile.util.def (crc): Remove lib/crc.c
15680 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
15681 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
15682 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
15683 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
15684 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
15685 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
15686
e0337366
VS
156872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15688
15689 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
15690
742f9232
VS
156912010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15692
15693 Split config.h for util and core.
15694
15695 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
15696 (ADDR32): Likewise.
15697 (DATA32): Likewise.
15698 (BSS_START_SYMBOL): Likewise.
15699 (END_SYMBOL): Likewise.
15700 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
15701 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
15702 * config.h.in: New file.
15703 * configure.ac: Use config-util.h as config define file.
15704 Rename MACHINE into GRUB_MACHINE. All users updated.
15705 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
15706 updated.
15707 (NESTED_FUNC_ATTR): Likewise.
15708 Substitue new variables.
15709 (COND_HAVE_ASM_USCORE): New conditional.
15710 * grub-core/Makefile.am (ASM_PREFIX): New variable.
15711 (kernel_syms.lst): Use ASM_PREFIX.
15712 * grub-core/kern/emu/console.c: Include config-util.h.
15713 * grub-core/kern/emu/misc.c: Likewise.
15714 * grub-core/kern/emu/mm.c: Likewise.
15715 * include/grub/emu/misc.h: Likewise.
15716 * include/grub/libgcc.h: Likewise.
15717
39feb0e8
VS
157182010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15719
15720 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
15721 constants usage.
15722 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
15723 Fix GRUB_TERM_KEY_* constants usage.
15724 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
15725
9af6dac3
VS
157262010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15727
15728 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
15729 print pointer.
15730 * grub-core/bus/usb/uhci.c: Remove empty define.
15731 (grub_uhci_check_transfer): Add missing cast.
15732 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
15733 print pointer.
15734 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
15735 PRIuGRUB_SIZE.
15736 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
15737
d6d94820
VS
157382010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15739
15740 * grub-core/Makefile.core.def (legacycfg): Add
15741 lib/i386/pc/vesa_modes_table.c on emu.
15742
3572f2b6
BC
157432010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15744
15745 Reduce number of temporary files generated by build system.
15746
15747 * grub-core/gencmdlist.sh: Removed.
15748 * grub-core/genfslist.sh: Removed.
15749 * grub-core/genhandlerlist.sh: Removed.
15750 * grub-core/genmodsrc.sh: Removed.
15751 * grub-core/genpartmaplist.sh: Removed.
15752 * grub-core/genparttoollist.sh: Removed.
15753 * grub-core/gentermiinallist.sh: Removed.
15754 * grub-core/genvideolist.sh: Removed.
15755
15756 * grub-core/genmod.sh.in: New file.
15757 * grub-core/gensyminfo.sh.in: New file.
15758
15759 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
15760 * conf/Makefile.extra-dist: Update with new files.
15761 * gentpl.py: Remove rules related to unnecessary temporary files.
15762 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
15763 and und-* files.
15764 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
15765 genmod.sh scripts.
15766 * grub-core/bus/usb/uhci.c: Remove empty #define.
15767 * grub-core/genmoddep.awk: Updated with new syminfo format.
15768 * util/bash-completion.d/Makefile.am: Add config.log to
15769 CLEANFILES.
15770
c836b030
YB
157712010-09-19 Yves Blusseau <blusseau@zetam.org>
15772
15773 * Makefile.util.def: Add forgotten $(LIBINTL) library.
15774
2f4e8053
BC
157752010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15776
15777 * util/grub-mkconfig.in: Check the config script for syntax errors
15778 before saving.
15779
75831c34
CW
157802010-09-19 Colin Watson <cjwatson@ubuntu.com>
157812010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15782
15783 * Makefile.util.def (grub-install): Use util/grub-install.in on all
15784 platforms.
15785 * util/grub-install.in: Add EFI and IEEE1275 support.
15786 * util/i386/efi/grub-install.in: Removed.
15787 * util/ieee1275/grub-install.in: Likewise.
15788
eaf41b25
VS
157892010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15790
15791 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
15792 (grub_cmd_cmosclean): Likewise.
15793 (GRUB_MOD_INIT): Register command cmosclean.
15794 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
15795 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
15796
1a9130dd
CPE
157972010-09-18 Carles Pina i Estany <carles@pina.cat>
157982010-09-18 Aleš Nesrsta <starous@volny.cz>
157992010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15800
15801 Add keyboard layouts support.
15802
15803 * Makefile.util.def (grub-mklayout): New file.
15804 (grub-kbdcomp): New script.
15805 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
15806 Add keyboard_layouts.h.
15807 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
15808 commands/boot.c on yeeloong.
15809 (keylayouts): New module.
15810 * grub-core/bus/usb/ohci.c
15811 * grub-core/bus/usb/uhci.c
15812 * grub-core/bus/usb/usbhub.c (rescan): New variable.
15813 (grub_usb_add_hub): Poll interrupt pipe for device handling.
15814 (attach_root_port): Likewise.
15815 (poll_nonroot_hub): Likewise.
15816 (grub_usb_poll_devices): Likewise.
15817 (detach_device): Close transfer.
15818 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
15819 function.
15820 (grub_usb_bulk_setup_readwrite): Likewise.
15821 (grub_usb_bulk_finish_readwrite): Likewise.
15822 * grub-core/commands/keylayouts.c: New file.
15823 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
15824 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
15825 aliases.
15826 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
15827 support scancode 2.
15828 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
15829 * include/grub/keyboard_layouts.h: New file.
15830 * util/grub-mklayout.c: New file.
15831 * util/grub-kbdcomp.in: Likewise.
15832
a1d84a5e
VS
158332010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15834
15835 Unify memory types.
15836
15837 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15838 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15839 types.
15840 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15841 (grub_upper_mem): Likewise.
15842 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15843 * include/grub/memory.h (grub_memory_type_t): New enum.
15844 All users updated.
15845
9696382e
VS
158462010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15847
15848 * grub-core/Makefile.core.def (lsapm): New module.
15849 * grub-core/commands/i386/pc/lsapm.c: New file.
15850 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15851 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15852 Likewise.
15853 * include/grub/i386/pc/apm.h: New file.
15854 * include/multiboot.h (multiboot_apm_info): New struct.
15855
158562010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15857
15858 GRUB-legacy configuration file support.
15859
15860 * Makefile.util.def (grub-menulst2cfg): New util.
15861 * docs/man/grub-menulst2cfg.h2m: New file.
15862 * grub-core/Makefile.core.def (legacycfg): New module.
15863 * grub-core/commands/legacycfg.c: New file.
15864 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15865 (grub_normal_add_menu_entry): ... this.
15866 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15867 (grub_normal_set_password): ...this.
15868 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15869 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15870 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15871 * grub-core/lib/legacy_parse.c: New file.
15872 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15873 * include/grub/i386/pc/vesa_modes_table.h: New file.
15874 * include/grub/legacy_parse.h: Likewise.
15875 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15876 * util/grub-menulst2cfg.c: New file.
15877
bf8d1338
CW
158782010-09-17 Colin Watson <cjwatson@ubuntu.com>
15879
15880 * grub-core/kern/emu/hostdisk.c
15881 (convert_system_partition_to_system_disk): Initialise node.
15882
9c0bad2e
CW
158832010-09-17 Colin Watson <cjwatson@ubuntu.com>
15884
15885 * grub-core/kern/emu/hostdisk.c
15886 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15887 leak.
15888 Reported and based on patch by: Modestas Vainius.
15889
a939d135
CW
158902010-09-17 Colin Watson <cjwatson@ubuntu.com>
15891
15892 Fix DM-RAID probing with recent versions of device-mapper udev
15893 rules.
15894
15895 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15896 canonicalise device paths under /dev/mapper/.
15897 (convert_system_partition_to_system_disk): Compare the
15898 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15899 path, since device nodes under /dev/mapper/ are often symlinks.
15900
0f7ee3c9
YB
159012010-09-17 Yves Blusseau <blusseau@zetam.org>
15902
15903 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15904
10854d0d
YB
159052010-09-16 Yves Blusseau <blusseau@zetam.org>
15906
15907 * configure.ac: Avoid some annoying error messages if freetype-config
15908 program is not found.
15909
108538d8
CW
159102010-09-16 Colin Watson <cjwatson@ubuntu.com>
15911
15912 Support RAID on virtio devices, and others.
15913
15914 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15915 Rename to ...
15916 [__MINGW32__] (grub_find_device): ... this.
15917 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15918 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15919 reasonable default if dir is NULL.
15920 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15921 ...
15922 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15923 (grub_guess_root_device): Update callers.
15924 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15925
15926 * util/raid.c (grub_util_getdiskname): Remove.
15927 (grub_util_raid_getmembers): Use grub_find_device rather than
15928 grub_util_getdiskname.
15929
e5bfc130
CW
159302010-09-16 Colin Watson <cjwatson@ubuntu.com>
15931
15932 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15933 needing to be compiled with serial support.
15934 (ls): Indicate that multiple files are accepted.
15935 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15936 indicate that multiple files are accepted.
15937
be458ae2
CW
159382010-09-16 Colin Watson <cjwatson@ubuntu.com>
15939
15940 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15941 libgrub_a_init.c, and util/bash-completion.d/grub.
15942
cb731b5e
VS
159432010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15944
15945 * util/grub-setup.c (setup): Fix incorrect container semantics.
15946
35139e8a
VS
159472010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15948
15949 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15950 misusage.
15951 Reported by: J. Nick Terry
15952
e50fca4a
VS
159532010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15954
15955 Move embedding routines to partmap sources files.
15956
15957 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15958 [GRUB_UTIL]: New variable.
15959 (gpt_partition_map_iterate): Set part.parent.
15960 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15961 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15962 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15963 New function.
15964 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15965 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15966 (grub_partition_map) [GRUB_UTIL]: New field embed.
15967 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15968 (setup): Use ->embed.
15969
f00478b7
VS
159702010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15971
15972 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15973 function.
15974 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15975 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15976
2b94e3ff
YB
159772010-09-15 Yves Blusseau <blusseau@zetam.org>
15978
15979 Add function to get completions from usage.
15980
15981 * util/bash-completion.d/grub-completion.bash.in: Add function to get
15982 completions from usage. Use LC_ALL=C to get options properly.
15983
2e04a006
VS
159842010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15985
15986 * grub-core/gnulib/basename-lgpl.c: Imported.
15987 * grub-core/gnulib/basename.c: Likewise.
15988 * grub-core/gnulib/dirname-lgpl.c: Likewise.
15989 * grub-core/gnulib/dirname.c: Likewise.
15990 * grub-core/gnulib/dirname.h: Likewise.
15991 * grub-core/gnulib/stripslash.c: Likewise.
15992
5dcdf93a
VS
159932010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15994
15995 * grub-core/gnulib/error.c: Resynced.
15996 * grub-core/gnulib/getopt.c: Likewise.
15997 * grub-core/gnulib/getopt_int.h: Likewise.
15998 * grub-core/gnulib/regex.h: Likewise.
15999 * grub-core/gnulib/regex_internal.c: Likewise.
16000 * grub-core/gnulib/regex_internal.h: Likewise.
16001
014f47b7
SJ
160022010-09-15 Szymon Janc <szymon@janc.net.pl>
16003
16004 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
16005 CRC calculations and validity checks.
16006 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
16007 calculations.
16008
dd521a4a
SJ
160092010-09-15 Szymon Janc <szymon@janc.net.pl>
16010
16011 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
16012
79c4eeb9
VS
160132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16014
16015 Fix incorrect echo options handling.
16016 Reported by: Yves Blusseau.
16017
16018 * include/grub/command.h (grub_command_flags_t): New flags
16019 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
16020 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
16021 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
16022
ed80f7d5
VS
160232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16024
16025 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
16026 users updated.
16027 (GRUB_COMMAND_FLAG_MENU): Likewise.
16028 (GRUB_COMMAND_FLAG_BOTH): Likewise.
16029 (GRUB_COMMAND_FLAG_TITLE): Removed.
16030 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
16031 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
16032 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
16033 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
16034 (grub_command_flags_t): New enum. All users updated.
16035
5fe7620a
SG
160362010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
16037
16038 Fix solaris compilation.
16039
16040 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
16041 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
16042 (grub-emu-list): Likewise.
16043
545b752f
VS
160442010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16045
16046 Remove deprecated root command.
16047
16048 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
16049 updated.
16050
6c1a338c
VS
160512010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16052
16053 * util/i386/pc/grub-setup.c: Merge this ...
16054 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
16055 * util/grub-setup.c: ... into this.
16056 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
16057 New struct.
16058
160592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16060
16061 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
16062 possible.
16063
d2ea4551
VS
160642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
16067 allocate p.
16068
3c3b5040
VS
160692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16070
16071 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
16072 explicit root argument to set to prevent UUID to be interpreted as
16073 argument to set.
16074
b71c3fae
VS
160752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16076
16077 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
16078
275433e6
VS
160792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16080
16081 Don't export grub_gate_a20.
16082
16083 * grub-core/kern/i386/pc/init.c: Remove leftovers.
16084 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
16085 to ...
16086 (grub_gate_a20): ... this. All users updated.
16087 * include/grub/i386/pc/init.h: Removed. All users updated.
16088
a5dbb1f1
VS
160892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16090
16091 Create euro.pf2 which supports most European languages.
16092
16093 * Makefile.am (grubdata_DATA): Add euro.pf2.
16094 (euro.pf2): New target.
16095 (CLEANFILES): Add euro.pf2.
16096
62a747cb
VS
160972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16098
16099 * configure.ac: Disable emu-usb by default to prevent inadvertent
16100 device takeover.
16101
608e43b1
VS
161022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16103
16104 Disable usbserial on grub-emu since our libusb code isn't good enough
16105 yet.
16106
16107 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
16108 (usbserial_pl2303): Likewise.
16109 (usbserial_ftdi): Likewise.
16110
94564f81
VS
161112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16112
16113 * include/grub/disk.h (grub_disk): Remove has_partitions.
16114 All users updated.
16115 * disk/loopback.c (grub_loopback): Remove has_partitions.
16116 All users updated.
16117 (options): Remove partitions. All users updated.
16118 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
16119 * util/i386/pc/grub-setup.c (setup): copy partition table only when
16120 actual partition table is found.
16121
3352800b
VS
161222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16123
16124 Remove readability checks (too many false negatives).
16125
16126 * util/grub-install.in: Remove readability checks.
16127 * util/grub-mkconfig.in: Likewise.
16128 * util/grub.d/10_hurd.in: Likewise.
16129 * util/grub.d/10_kfreebsd.in: Likewise.
16130 * util/grub.d/10_linux.in: Likewise.
16131 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
16132 way.
16133
2419f17a
VS
161342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16135
16136 Enable acpi shutdown on all ACPI platforms.
16137
16138 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
16139 on coreboo, multiboot and EFI.
16140 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
16141 (grub_acpi_halt): Likewise.
16142 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
16143 (grub_cmd_halt): Don't call grub_acpi_halt directly.
16144 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
16145 * grub-core/lib/i386/halt.c (grub_halt)
16146 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
16147
0575c7c3
VS
161482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16149
16150 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
16151 context.
16152
54ac3cd1
VS
161532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16154
16155 * grub-core/video/efi_gop.c: Fix over-80-chars line.
16156 * grub-core/video/efi_uga.c: Likewise.
16157
b2a30ac5
VS
161582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16159
16160 Filter devaliases and never open same device twice.
16161
16162 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
16163 (last_ihandle): Likewise.
16164 (ofdisk_hash_ent): New member shortest.
16165 (ofdisk_hash_add): Add canonical path too.
16166 (scan): New function.
16167 (grub_ofdisk_iterate): Iterate over hashed entries.
16168 (compute_dev_path): Don't add :0.
16169 (grub_ofdisk_open): Don't really open the disk.
16170 (grub_ofdisk_close): Avoid closing unrelated disk.
16171 (grub_ofdisk_read): Implement reopen logic.
16172 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
16173 New function.
16174 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
16175 New proto.
16176
fb53b340
VS
161772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16178
16179 Fix sparc64.
16180
16181 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
16182 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
16183 right address. Add sparc64_ieee1275_ldflags.
16184 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
16185 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
16186 to grub_host_to_target_addr
16187 (load_image): Likewise.
16188
f452b040
VS
161892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16190
16191 * grub-core/normal/completion.c (complete_file): Handle device
16192 containing slash.
16193 Fix based on patch by Doug Nazar.
16194
9b5b2541
VS
161952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16196
16197 grub-mknetdir script.
16198
16199 * Makefile.util.def (grub-mknetdir): New module.
16200 * tests/util/grub-shell.in: Support boot=net
16201 * util/grub-mknetdir.in: New file.
16202
9d2be652
VS
162032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16204
16205 videoinfo on non-vbe.
16206
16207 * grub-core/Makefile.core.def (vbeinfo): Removed.
16208 (vbetest): Removed.
16209 (videoinfo): New module.
16210 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
16211 * grub-core/commands/i386/pc/vbetest.c: Removed.
16212 * grub-core/commands/videoinfo.c: New file.
16213 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
16214 specification.
16215 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
16216 as vbetest.
16217 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
16218 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
16219 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
16220 mode_number. New parameter mode. All users updated.
16221 (grub_video_gop_iterate): New function.
16222 (grub_video_efi_gop): New member iterate.
16223 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
16224 (grub_vbe_set_video_mode): Remove setting useless fields.
16225 (vbe2videoinfo): New function.
16226 (grub_video_vbe_iterate): Likewise.
16227 (grub_video_vbe_setup): Use vbe2videoinfo.
16228 (grub_video_vbe_print_adapter_specific_info): New function.
16229 (grub_video_vbe_adapter): New fields iterate and
16230 print_adapter_specific_info.
16231 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
16232 All users updated.
16233 (grub_video_mode_info): New field mode_number.
16234 (grub_video_adapter): New fields iterate and
16235 print_adapter_specific_info.
16236
179503f5
TG
162372010-09-13 Tristan Gingold <gingold@free.fr>
162382010-09-13 Robert Millan <rmh.grub@aybabtu.com>
162392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16240
16241 * grub-core/commands/efi/lsefisystab.c: New file.
16242 * grub-core/commands/efi/lssal.c: Likewise.
16243 * grub-core/Makefile.core.def (lsacpi): New module.
16244 (lsefisystab): Likewise.
16245 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
16246 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
16247 (grub_efi_sal_system_table): New struct.
16248 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
16249 (grub_efi_sal_system_table_memory_descriptor): Likewise.
16250 (grub_efi_sal_system_table_platform_features): Likewise.
16251 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
16252 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
16253 (grub_efi_sal_system_table_ap_wakeup): Likewise.
16254 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
16255
cf9827de
VS
162562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16257
16258 Support explicit user claim that a device is BIOS-visible.
16259
16260 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
16261 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
16262 * grub-core/kern/emu/hostdisk.c
16263 (convert_system_partition_to_system_disk): Support mdX.
16264 (find_system_device): New parameter add. All users updated.
16265 (grub_util_biosdisk_is_present): New function.
16266 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
16267 proto.
16268
53f0eb1f
VS
162692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16270
16271 Search hints support.
16272
16273 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
16274 All users updated.
16275
b23ffd70
YB
162762010-09-13 Yves Blusseau <blusseau@zetam.org>
16277
16278 Bash completion script for util commands
16279
16280 * Makefile.am: Add util/bash-completion.d directory
16281 * configure.ac: Likewise.
16282 * util/bash-completion.d/Makefile.am: New file.
16283 * util/bash-completion.d/grub-completion.bash.in: Likewise.
16284
d547dc28
VS
162852010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16286
16287 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
16288 (print_backlog): set backlog_ucs4 and backlog_glyphs.
16289 Reported by: Yves Blusseau.
16290
2fc8ccb9
VS
162912010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16292
16293 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
16294 partition size and offset.
16295
d8a84076
VS
162962010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16297
16298 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
16299
84fb3b3d
VS
163002010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16301
16302 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
16303
768ec2e2
VS
163042010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16305
16306 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
16307 (grub_xvasprintf): Likewise.
16308
4870900f
VS
163092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16310
16311 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
16312
faca6bec
VS
163132010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16314
16315 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
16316 args ending with NULL.
16317
163182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
16319
16320 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
16321 pointer.
16322
3c70f225
SJ
163232010-09-11 Szymon Janc <szymon@janc.net.pl>
16324
16325 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
16326
4df7996d
VS
163272010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16328
16329 Shutdown using ACPI.
16330
16331 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
16332 * grub-core/commands/acpihalt.c: New file.
16333 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
16334 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
16335 (grub_acpi_halt): New proto.
16336 (GRUB_ACPI_SLP_EN): New const.
16337 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
16338 (GRUB_ACPI_OPCODE_*): New enum.
16339 (GRUB_ACPI_EXTOPCODE_*): Likewise.
16340
126b4c32
TG
163412010-09-11 Tristan Gingold <gingold@free.fr>
163422010-09-11 Robert Millan <rmh.grub@aybabtu.com>
163432010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16344
16345 * commands/lsacpi.c: New file.
16346 * grub-core/Makefile.core.def (lsacpi): New module.
16347 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
16348 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
16349 (grub_acpi_madt_entry_header): New struct.
16350 (grub_acpi_madt): Likewise.
16351 (grub_acpi_madt_entry_interrupt_override): Likewise.
16352 (grub_acpi_madt_entry_sapic): Likewise.
16353 (grub_acpi_madt_entry_lsapic): Likewise.
16354 (grub_acpi_madt_entry_platform_int_source): Likewise.
16355 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
16356 (PRIuGRUB_UINT32_T): Likewise.
16357 (PRIxGRUB_UINT64_T): Likewise.
16358
1aa4fe88
VS
163592010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16360
16361 Implement loading palette on ieee1275_fb.
16362
16363 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
16364 (have_setcolors): Likewise.
16365 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
16366 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
16367 (grub_video_ieee1275_set_palette): Implement.
16368
25761e13
VS
163692010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
163702010-09-11 Colin Watson <cjwatson@ubuntu.com>
16371
16372 * util/grub-install.in (grub_partition): New variable.
16373 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
16374 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
16375 Fixes a bug reported by Yves Blusseau.
16376
050abaea
VS
163772010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16378
16379 Fix emu on mipsel.
16380
16381 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
16382 =grub_cpu_flush_cache on all mips and not only yeeloong.
16383 * configure.ac (COND_mips): New conditional.
16384 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
16385 platforms.
16386 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
16387 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
16388 [GRUB_LINKER_HAVE_INIT]: New function.
16389 (grub_emu_post_init): Likewise.
16390 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
16391 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
16392 * include/grub/cache.h (_mips): Include mips/cache.h.
16393 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
16394 LVM and RAID prototypes.
16395 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
16396 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
16397 function.
16398
5ed7d816
CW
163992010-09-10 Colin Watson <cjwatson@ubuntu.com>
16400
16401 * util/grub-install.in: Don't try to verify core.img until after
16402 running grub-mkimage to create it.
16403
90367e04
RM
164042010-09-10 Robert Millan <rmh@gnu.org>
16405
16406 * util/grub.d/10_hurd.in: Add misc readability checks.
16407 * util/grub.d/10_kfreebsd.in: Likewise.
16408 * util/grub.d/10_linux.in: Likewise.
16409
c452fa66
CW
164102010-09-10 Colin Watson <cjwatson@ubuntu.com>
16411
16412 * util/grub-install.in: ${imgext} won't be defined here until the
16413 install branch is merged. For the meantime, only verify core.img on
16414 i386-pc and sparc64-ieee1275 platforms.
16415
c38fe9f4
RM
164162010-09-10 Robert Millan <rmh@gnu.org>
16417
16418 Solaris support in grub_find_zpool_from_dir(). Thanks
16419 Seth Goldberg for referring to getextmntent() facility.
16420
16421 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
16422 `sys/mkdev.h'.
16423 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
16424 `<sys/mnttab.h>'.
16425 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
16426 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
16427 method for finding zpool name.
16428
905f7773
CW
164292010-09-10 Colin Watson <cjwatson@ubuntu.com>
16430
16431 grub-fstest needs the host and hostfs modules while other utilities
16432 actively require those modules to be absent, so grub-fstest needs
16433 its own initialisation and finalisation code.
16434
16435 * Makefile.am (grub_fstest.pp): New target.
16436 (grub_fstest_init.lst): Likewise.
16437 (grub_fstest_init.c): Likewise.
16438 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
16439
fb90b546
RM
164402010-09-10 Robert Millan <rmh@gnu.org>
16441
16442 * configure.ac: Check for `struct statfs.f_fstypename' and
16443 `struct statfs.f_mntfromname'.
16444
16445 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
16446 kFreeBSD-specific code.
16447
66d4bea5
RM
164482010-09-10 Robert Millan <rmh@gnu.org>
16449
16450 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
16451 on ZFS. Now non-main filesystems are supported as / too.
16452
b6a690ee
CW
164532010-09-09 Colin Watson <cjwatson@ubuntu.com>
16454
16455 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
16456 and grub-core/disk/host.c to ...
16457 (grub-fstest): ... here. Having the host disk implementation
16458 present confuses grub-probe and other utility programs.
16459
16460 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
16461 when writing to a file, not when writing to stdout.
16462
8901b00c 164632010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
16464
16465 * tests/partmap_test.in: New test for partitions.
16466 * Makefile.util.def: Rules for new test.
16467
7bf45fdd
RM
164682010-09-09 Robert Millan <rmh@gnu.org>
16469
16470 * util/grub-probe.c (probe): Fix a pair of unhandled error
16471 conditions.
16472
4dfbc574
RM
164732010-09-09 Robert Millan <rmh@gnu.org>
16474
16475 Basic Btrfs support (detection and UUID).
16476
16477 * grub-core/fs/btrfs.c: New file.
16478 * Makefile.util.def (library): Register btrfs.c.
16479 * grub-core/Makefile.core.def: Likewise.
16480
6b8e78ae
RM
164812010-09-08 Robert Millan <rmh@gnu.org>
16482
16483 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
16484 with (optional) parameters to specify device and relative path.
16485 * util/grub-install.in: Use is_path_readable_by_grub() to
16486 verify readability of a few critical files.
16487 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
16488 verify readability of grub.cfg.new.
16489
27f21a8b
VS
164902010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16491
16492 Split minix.mod into minix.mod and minix2.mod.
16493
16494 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
16495 * grub-core/Makefile.core.def (minix2): New module.
16496 * grub-core/fs/minix.c: Use definitions instead of runtime version
16497 checking.
16498 * grub-core/fs/minix2.c: New file.
16499
c0e53ea5
YB
165002010-09-08 Yves Blusseau <blusseau@zetam.org>
16501
16502 Add new --boot-directory option to replace --root-directory
16503
16504 * util/grub-install.in: Add new --boot-directory option
16505 * util/grub-reboot.in: Likewise.
16506 * util/grub-set-default.in: Likewise.
16507
b9fe6ea2
YB
165082010-09-08 Yves Blusseau <blusseau@zetam.org>
16509
16510 * util/grub-mkconfig.in: Use new variable.
16511
d87aedff
YB
165122010-09-08 Yves Blusseau <blusseau@zetam.org>
16513
16514 * configure.ac: Define some useful variables.
16515
e55e8495
VS
165162010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16517
16518 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16519 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
16520 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
16521 Use terminfo and don't use cursor-on/cursor-off unless it's known
16522 to work.
16523 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
16524 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
16525
6fa6d675
CW
165262010-09-08 Colin Watson <cjwatson@ubuntu.com>
16527
16528 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
16529 starts with "(,", fill the drive containing the loaded image in
16530 between those two characters, but expect that a full partition
16531 specification including partition map names will follow.
16532
92f2aef0
RM
165332010-09-08 Robert Millan <rmh@gnu.org>
16534
16535 * configure.ac: Remove `--enable-grub-fstest' option.
16536 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
16537
16538 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
16539 `grub-fstest' instead of `grub-probe' for readability verification.
16540 * util/grub-probe.c (probe): Remove readability verification kludge.
16541
99fd620d
RM
165422010-09-08 Robert Millan <rmh@gnu.org>
16543
16544 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
16545 initializing `GRUB_FS'.
16546
058e30ac 165472010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
16548
16549 Not command (!) support to GRUB script.
16550
16551 * tests/grub_script_not.in: New test.
16552 * Makefile.util.def: Rules for new test.
16553
16554 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
16555 ! command as a special case.
16556 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
16557
b61d05ed 165582010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16559
058e30ac 16560 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
16561 grub_free.
b61d05ed 16562
4d69c786 165632010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16564
16565 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
16566
aa3119c4 165672010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16568
16569 * docs/grub.texi (Shell-like scripting): Documentation for break,
16570 continue, shift and return commands.
16571
db0f7e3d
VS
165722010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
16573
16574 Rename CD-ROM to cd on BIOS.
16575
16576 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
16577 "cd".
16578 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
16579
88b87c93
VS
165802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16581
16582 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
16583 * util/grub-probe.c (main): Likewise.
16584 * util/i386/pc/grub-setup.c (main): Likewise.
16585 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16586 Reported and debugged by: alexxy
16587
294f324d
VS
165882010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16589
16590 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
16591 diagnostic info.
16592
d7ee3441
JS
165932010-09-05 Jo Shields <directhex@apebox.org>
16594
16595 * util/grub.d/30_os-prober.in: Add missing classes.
16596
d7e06c1f
VS
165972010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16598
16599 * docs/grub.texi (Theme file format): Document new position format.
16600
fc157e53
VS
166012010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16602
16603 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
16604 a table. Use @code instead of @verbatim.
16605
506e9a1c
CB
166062010-09-05 Colin D Bennett <colin@gibibit.com>
16607
16608 Gfxmenu documentation.
16609
16610 * docs/grub.texi (Theme file format): New chapter.
16611
f0aff67c
SJ
166122010-09-05 Szymon Janc <szymon@janc.net.pl>
16613
16614 * grub-core/Makefile.core.def (xzio): New module.
16615 * grub-core/io/xzio.c: New file.
16616 * grub-core/lib/xzembed/xz.h: New file (from xembed).
16617 * grub-core/lib/xzembed/xz_config.h: Likewise.
16618 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
16619 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
16620 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
16621 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
16622 * grub-core/lib/xzembed/xz_private.h: Likewise.
16623 * grub-core/lib/xzembed/xz_stream.h: Likewise.
16624 * include/grub/file.h (grub_file_filter_id): New compression filter
16625 GRUB_FILE_FILTER_XZIO.
16626
82a85062
VS
166272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16628
16629 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
16630 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
16631 size.
16632
3579415d
VS
166332010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16634
16635 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
16636 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
16637
5124ae6d
VS
166382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16639
16640 Uncompressed checksum support.
16641
16642 * grub-core/commands/hashsum.c (options): Add option --uncompress.
16643 (check_list): New parameter uncompress.
16644 (grub_cmd_hashsum): Handle --uncompress.
16645
9aadb3d1
VS
166462010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16647
16648 Reintroduce testload.
16649
16650 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
16651 from here ...
16652 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
16653 (GRUB_MOD_INIT): New function.
16654 (GRUB_MOD_FINI): Likewise.
16655 * grub-core/Makefile.core.def (testload): New module.
16656
a17792c3
SJ
166572010-09-05 Szymon Janc <szymon@janc.net.pl>
16658
16659 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
16660 (uint8_t): New type.
16661 (uint16_t): Likewise.
16662 (uint32_t): Likewise.
16663 (uint64_t): Likewise.
16664
b81e40a3
SJ
166652010-09-05 Szymon Janc <szymon@janc.net.pl>
16666
16667 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
16668
fc2ef117
VS
166692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16670
16671 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
16672 Made static.
16673 (grub_gzfile_open): Removed. All users updated.
16674 (GRUB_MOD_INIT): New function.
16675 (GRUB_MOD_FINI): Likewise.
16676 * grub-core/kern/file.c (grub_file_filters_all): New variable.
16677 (grub_file_filters_enabled): Likewise.
16678 (grub_file_open): Handle filters.
16679 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
16680 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
16681 * include/grub/file.h (grub_file_filter_id_t): New type.
16682 (grub_file_filter_t): Likewise.
16683 (grub_file_filters_all): New extern variable.
16684 (grub_file_filters_enabled): Likewise.
16685 (grub_file_filter_register): New inline function.
16686 (grub_file_filter_unregister): Likewise.
16687 (grub_file_filter_disable): Likewise.
16688 (grub_file_filter_disable_compression): Likewise.
16689 * include/grub/gzio.h: Removed.
16690
35ee15e0
BC
166912010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16692
16693 Filename expansion support for wildcards in GRUB script.
16694
16695 * tests/grub_script_expansion.in: New test.
16696 * Makefile.util.def: Rule for new test.
16697
16698 * grub-core/commands/wildcard.c: New file, implements filename
16699 expansion support for GRUB script.
16700 * grub-core/Makefile.core.def: Rule update for regexp.mod.
16701 * grub-core/script/argv.c: Cosmetic changes.
16702 * grub-core/script/execute.c (grub_script_arglist_to_argv):
16703 Refactored to perform wildcard expansion on arguments.
16704 * include/grub/script_sh.h (grub_script_wildcard_translator): New
16705 struct.
16706
16707 * tests/util/grub-shell.in: Fix quoting for read input.
16708
5f0c4aca
BC
167092010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16710
16711 Support for updating environment variables with matched substrings
16712 of regexp.
16713
16714 * tests/grub_cmd_regexp.in: New test.
16715 * Makefile.util.def: Rule for new test.
16716
16717 * grub-core/commands/regexp.c: New option -s to update environment
16718 variables with regexp matches.
16719
3759a35f
SJ
167202010-09-04 Szymon Janc <szymon@janc.net.pl>
16721
16722 * include/grub/file.h (grub_file): New member not_easly_seekable.
16723 (grub_file_seekable): New inline function.
16724 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
16725 easily seekable.
16726 (grub_gzio_open): Set not_easly_seekable.
16727 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
16728 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
16729
ed8c6dec
BC
167302010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16731
16732 Support for options to appear multiple times on cmdline.
16733
16734 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
16735 * grub-core/commands/extcmd.c: Support for repeatable option.
16736 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
16737 repeatable option support.
16738
16739 Refactor menuentry into a regular command.
16740
16741 * grub-core/commands/menuentry.c: New file, menuentry command
16742 implementation.
16743 * grub-core/Makefile.core.def: Rule update for normal.mod.
16744 * grub-core/normal/main.c: Moved menuentry creation to
16745 grub-core/commands/menuentry.c.
16746 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
16747 (grub_menu_execute_entry_real): Removed.
16748 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
16749 function.
16750 (grub_script_execute_menuentry): Removed.
16751 * grub-core/script/parser.y (menuentry): Removed.
16752 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
16753 * grub-core/script/yylex.l (menuentry): Removed.
16754 * include/grub/menu.h (grub_menu_init): New prototype.
16755 (grub_menu_fini): New prototype.
16756 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
16757 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
16758 (grub_script_execute_sourcecode): New prototype.
16759
dacd0cf0
BC
167602010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16761
16762 "return" command for GRUB script functions.
16763
16764 * tests/grub_script_return.in: New test.
16765 * Makefile.util.def: Rules for new test.
16766
16767 * grub-core/script/execute.c (grub_script_return): New function.
16768 * grub-core/script/main.c: Register/unregister return commaond.
16769 * include/grub/script_sh.h (grub_script_return): New prototype.
16770
52e72f9d
BC
167712010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16772
16773 "setparams" command to update positional parameters.
16774
16775 * tests/grub_script_setparams.in: New test.
16776 * Makefile.util.def: Rules for new test.
16777
16778 * grub-core/script/argv.c (grub_script_argv_make): New function.
16779 * grub-core/script/execute.c (replace_scope): New function.
16780 (grub_script_setparams): New function.
16781 * grub-core/script/lexer.c: Remove unused variables.
16782 * grub-core/script/main.c: Register/unregister setparams command.
16783 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
16784 (grub_script_setparams): New prototype.
16785
25b60c91
BC
167862010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16787
16788 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
16789 grub_free order.
16790
37e7bf68
BC
167912010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16792
16793 Support for passing block of commands as an argument to extcmds.
16794
16795 * Makefile.util.def: Rules for new test.
16796 * tests/grub_script_blockarg.in: New test.
16797 * grub-core/tests/test_blockarg.c: New file, block argument
16798 command used in the test.
16799
16800 * include/grub/extcmd.h (grub_extcmd_context): New struct.
16801 (grub_register_extcmd_prio): New function prototype.
16802 (grub_extcmd_dispatcher): New function prototype.
16803 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
16804 type.
16805 * include/grub/script_sh.h (struct grub_script): New members
16806 `children', `next_siblings' and `refcnt' for block arguments and
16807 reference counting.
16808 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
16809 (grub_script_arg): New member `script' for block argument.
16810 (grub_script_argv): New member `script' for block argument.
16811 (grub_parser_param): New member `scripts' for block argument.
16812 (grub_script_mem_free): New extern function prototype.
16813 (grub_script_ref): New function prototype.
16814 (grub_script_unref): New function prototype.
16815
16816 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
16817 extcmd form to support block arguments.
16818 * grub-core/script/argv.c: Block arguments support.
16819 * grub-core/script/execute.c: Likewise.
16820 * grub-core/script/lexer.c: Likewise.
16821 * grub-core/script/main.c: Likewise.
16822 * grub-core/script/script.c: Likewise.
16823 * grub-core/script/parser.y: Likewise. New `block' and `block0'
16824 non-terminals.
16825
16826 * grub-core/commands/acpi.c: Update extcmd implementations with
16827 grub_extcmd_context_t.
16828 * grub-core/commands/cat.c: Likewise.
16829 * grub-core/commands/echo.c: Likewise.
16830 * grub-core/commands/extcmd.c: Likewise.
16831 * grub-core/commands/hashsum.c: Likewise.
16832 * grub-core/commands/hdparm.c: Likewise.
16833 * grub-core/commands/help.c: Likewise.
16834 * grub-core/commands/hexdump.c: Likewise.
16835 * grub-core/commands/i386/cpuid.c: Likewise.
16836 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16837 * grub-core/commands/i386/pc/halt.c: Likewise.
16838 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16839 * grub-core/commands/iorw.c: Likewise.
16840 * grub-core/commands/keystatus.c: Likewise.
16841 * grub-core/commands/loadenv.c: Likewise.
16842 * grub-core/commands/ls.c: Likewise.
16843 * grub-core/commands/lspci.c: Likewise.
16844 * grub-core/commands/memrw.c: Likewise.
16845 * grub-core/commands/probe.c: Likewise.
16846 * grub-core/commands/search_wrap.c: Likewise.
16847 * grub-core/commands/setpci.c: Likewise.
16848 * grub-core/commands/sleep.c: Likewise.
16849 * grub-core/disk/loopback.c: Likewise.
16850 * grub-core/hello/hello.c: Likewise.
16851 * grub-core/loader/i386/bsd.c: Likewise.
16852 * grub-core/loader/xnu.c: Likewise.
16853 * grub-core/term/gfxterm.c: Likewise.
16854 * grub-core/term/serial.c: Likewise.
16855 * grub-core/tests/lib/functional_test.c: Likewise.
16856
888d1500
BC
168572010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16858
16859 Multi-line quoted strings support.
16860
16861 * grub-core/script/lexer.c (append_newline): Removed.
16862 (grub_script_lexer_yywrap): Refactored.
16863 (grub_script_lexer_init): Refactored.
16864 * grub-core/script/yylex.l (yywrap): New function.
16865 (grub_lexer_resplit): New function.
16866 (grub_lexer_unput): New function.
16867 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16868 and resplit.
16869 * tests/grub_script_echo1.in: Added few more testcases.
16870
dda060dd
VS
168712010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16872
16873 * grub-core/kern/misc.c: Don't add abort alias in utils.
16874 Reported by: echoline.
16875
6556eba9
BC
168762010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16877
16878 Add missing files into "make dist" tarball for other platforms.
16879
16880 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16881 * conf/Makefile.common (dist_noinst_DATA): New variable.
16882 * conf/Makefile.extra-dist: Added missing make dist files.
16883 * grub-core/Makefile.core.def: Likewise.
16884
c8e7bf5f
VS
168852010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16886
16887 Compress grub_prefix.
16888
16889 * grub-core/boot/i386/pc/lnxboot.S: Use
16890 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16891 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16892 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16893 GRUB_MACHINE_PREFIX_END. All users updated.
16894 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16895 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16896 + 0x40.
16897 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16898 * util/grub-mkimage.c (image_target_desc): Change data_end to
16899 prefix_end. All users updated.
16900
a7c00cdb
VS
169012010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16902
16903 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16904 value.
16905 (grub_openbsd_boot): Likewise.
16906 (grub_netbsd_boot): Likewise.
16907 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16908 (grub_xnu_boot): Likewise.
16909
9f915872
VS
169102010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16911
16912 * configure.ac: Clean LIBS variable after tests.
16913
efa1bee7
CW
169142010-09-02 Colin Watson <cjwatson@ubuntu.com>
16915
16916 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16917
61d720e5
VS
169182010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16919
16920 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16921 echo if libdevmapper will be used.
16922
ef8e0ec8
IT
169232010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16924
16925 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16926 constant for the same file.
16927
03e261d8
VS
169282010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16931
c2a4eba6
CW
169322010-09-02 Colin Watson <cjwatson@ubuntu.com>
16933
16934 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16935 grub-core/*.pp.
16936
9056cbf3
CW
169372010-09-02 Colin Watson <cjwatson@ubuntu.com>
16938
16939 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16940 required by the boot protocol.
16941
16942 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16943 ebp and edi members.
16944 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16945 state.ebp and state.edi.
16946 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16947 %ebp and %edi according to grub_relocator32_ebp and
16948 grub_relocator32_edi respectively.
16949 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16950 and state.edi.
16951
529cc99a
VS
169522010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16953
16954 Add i386-pc-pxe image target.
16955
16956 * util/grub-mkimage.c (image_target_desc): New enum value
16957 IMAGE_I386_PC_PXE.
16958 (image_targets): New target i386-pc-pxe.
16959 (generate_image): Handle i386-pc-pxe image.
16960
9a093920
VS
169612010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16962
16963 Fix grub_pxe_scan.
16964
16965 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16966 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16967 All users updated.
16968 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16969 (grub_pxe_pxenv): Correct type.
16970
f9cefc4e
CW
169712010-09-01 Colin Watson <cjwatson@ubuntu.com>
16972
16973 * NEWS: Document most of the important changes since 1.98.
16974
4066f57f
CW
169752010-09-01 Colin Watson <cjwatson@ubuntu.com>
16976
16977 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
16978 generated manual page) a little.
16979
da2891f9
CW
169802010-09-01 Colin Watson <cjwatson@ubuntu.com>
16981
16982 * docs/grub.texi: Add myself as an author.
16983
ad717fae
VS
169842010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16985
16986 * Makefile.util.def (libgrub.a): Add missing sunpc.
16987 Reported by: Seth Goldberg.
16988
eefe8abd
VS
169892010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16990
16991 Interrupt wrapping and code simplifications.
16992
9494ef9a
VS
16993 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
16994 x86_noieee1275 which are functionaly equivalent in this case.
16995 (grub-install): Make source on each platform explicit. Enable on
16996 all noemu.
16997 * gentpl.py (x86_efi_pc): Removed group.
16998 (x86_noefi): Likewise.
16999 (i386_noefi): Likewise.
17000 (x86_noieee1275): Likewise.
17001 (i386_noieee1275): Likewise.
17002 (i386_noefi_noieee1275): Likewise.
17003 (i386_pc_qemu_coreboot): Likewise.
17004 (i386_coreboot_multiboot): Likewise.
17005 (i386_pc_coreboot_multiboot_qemu): Likewise.
17006 (x86_noefi_mips): Likewise.
17007 (noieee1275): Likewise.
17008 (ieee1275_mips): Likewise.
17009 (noemu_noieee1275): Likewise.
17010 (cmos): New group.
17011 (usb): Likewise.
17012 (videoinkernel): Likewise.
17013 (videomodules): Likewise.
eefe8abd 17014 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
17015 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
17016 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
17017 include/grub/loader.h, include/grub/msdos_partition.h,
17018 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
17019 include/grub/machine/console.h, include/grub/machine/vga.h,
17020 include/grub/machine/vbe.h, include/grub/machine/init.h,
17021 include/grub/machine/kernel.h, include/grub/cpu/time.h,
17022 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 17023 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
17024 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
17025 * grub-core/Makefile.core.def (kernel): Explicit the source for
17026 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
17027 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
17028 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
17029 Use videoinkernel tag.
17030 (usb): Enable on all usb.
17031 (usbserial_common): Likewise.
17032 (usbserial_pl2303): Likewise.
17033 (usbserial_ftdi): Likewise.
17034 (uhci): Enable on all x86.
17035 (ohci): Enable on all pci.
17036 (cmostest): Enable on all CMOS.
17037 (acpi): Include commands/acpi.c on all platforms.
17038 (halt): Add relevant lib/*/halt.c.
17039 (hdparm): Enable on all pci.
17040 (lspci): Likewise.
17041 (usbtest): Enable on all usb.
17042 (ata): Enable on all pci.
17043 (ata_pthru): Likewise.
17044 (usbms): Enable on all usb.
17045 (usb_keyboard): Likewise.
17046 (font): Use tag videomodules.
17047 (bufio): Likewise.
17048 (datetime): Use tag cmos. Enable on all noemu.
17049 (mmap): Use tags common and x86.
17050 (gfxterm): Use tag videomodules.
17051 (bitmap): Likewise.
17052 (bitmap_scale): Likewise.
17053 (video_fb): Likewise.
17054 (video): Likewise.
17055 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
17056 adjust padding accordingly. All users updated.
17057 (grub_ohci_transaction): Fix bad format specification.
17058 (GRUB_MOD_INIT): Add asserts for struct size.
17059 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
17060 (grub_alloc_td): Likewise.
17061 (grub_free_queue): Likewise.
17062 (grub_uhci_transfer): Likewise.
17063 (grub_uhci_transaction): Fix bad format specification.
17064 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17065 (grub_usb_bulk_readwrite): Likewise.
17066 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
17067 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
17068 Made static.
17069 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
17070 Made static.
17071 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
17072 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
17073 Transformed into C.
17074 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
17075 Moved from here ...
17076 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
17077 ... here. Transformed into C. Made static.
17078 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
17079 Moved from here ...
17080 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
17081 ... here. Transformed into C. Made static.
17082 * grub-core/kern/i386/pc/startup.S
17083 (grub_biosdisk_check_int13_extensions): Moved from here ...
17084 * grub-core/disk/i386/pc/biosdisk.c
17085 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
17086 Made static.
17087 * grub-core/kern/i386/pc/startup.S
17088 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
17089 * grub-core/disk/i386/pc/biosdisk.c
17090 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
17091 Transformed into C. Made static.
17092 * grub-core/kern/i386/pc/startup.S
17093 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
17094 * grub-core/disk/i386/pc/biosdisk.c
17095 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
17096 Transformed into C. Made static.
17097 * grub-core/kern/i386/pc/startup.S
17098 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
17099 * grub-core/disk/i386/pc/biosdisk.c
17100 (grub_biosdisk_get_diskinfo_standard): ... here.
17101 Transformed into C. Made static.
17102 * grub-core/kern/i386/pc/startup.S
17103 (grub_biosdisk_get_num_floppies): Moved from here ...
17104 * grub-core/disk/i386/pc/biosdisk.c
17105 (grub_biosdisk_get_num_floppies): ... here.
17106 Transformed into C. Made static.
17107 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
17108 New function.
17109 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
17110 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
17111 Transformed into C. Made static.
17112 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
17113 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
17114 Transformed into C. Made static.
17115 * grub-core/kern/i386/ieee1275/init.c: Removed.
17116 * grub-core/kern/i386/misc.S: Likewise.
17117 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
17118 Splitted from here ...
17119 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
17120 Transformed into C. Made static. All users updated.
17121 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
17122 Transformed into C. Made static. All users updated.
17123 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
17124 Moved from here...
17125 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
17126 Transformed into C. Made static. All users updated.
17127 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
17128 Moved from here...
17129 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
17130 Transformed into C. Made static. All users updated.
17131 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
17132 Removed (replaced by C version).
17133 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
17134 Moved from here...
17135 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
17136 Transformed into C. Made static.
17137 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
17138 Moved from here...
17139 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
17140 ... here. Transformed into C.
17141 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
17142 Moved from here...
17143 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
17144 ... here. Transformed into C.
17145 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
17146 Moved from here...
17147 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
17148 ... here. Transformed into C. Made static.
17149 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
17150 Moved from here...
17151 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
17152 ... here. Transformed into C.
21ed554b
VS
17153 * grub-core/kern/i386/pc/startup.S
17154 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
17155 * grub-core/video/i386/pc/vbe.c
17156 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
17157 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
17158 Moved from here...
17159 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
17160 ... here. Transformed into C.
17161 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
17162 Moved from here...
17163 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
17164 ... here. Transformed into C.
17165 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
17166 Moved from here...
17167 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
17168 ... here. Transformed into C.
17169 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
17170 Moved from here...
17171 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
17172 ... here. Transformed into C.
17173 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
17174 Moved from here...
17175 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
17176 ... here. Transformed into C. Made static.
17177 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
17178 Moved from here...
17179 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
17180 ... here. Transformed into C. Made static.
17181 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
17182 Moved from here...
17183 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
17184 ... here. Transformed into C. Made static.
17185 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
17186 pxe_rm_entry as third argument.
17187 (grub_bios_interrupt): New function.
17188 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
17189 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
17190 of calling grub_stop.
17191 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
17192 * grub-core/lib/efi/halt.c (grub_halt): ...here.
17193 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
17194 * grub-core/lib/emu/halt.c (grub_halt): ... here.
17195 * grub-core/lib/i386/halt.c: Moved from here ...
17196 * grub-core/lib/i386/halt.c: ... here.
17197 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
17198 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
17199 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
17200 grub_stop_floppy.
17201 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
17202 * include/grub/i386/coreboot/init.h: Removed.
17203 * include/grub/i386/multiboot/init.h: Likewise.
17204 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
17205 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
17206 * include/grub/i386/pc/int.h: New file.
17207 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
17208 (grub_pxe_scan): Removed.
17209 (grub_pxe_call): Update prototype.
17210 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
17211 prototypes.
17212 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
17213 * include/grub/i386/qemu/init.h: Removed.
17214 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
17215 noreturn.
17216 (grub_halt): Likewise.
17217 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
17218 (grub_reboot): Likewise.
17219 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
17220 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
17221 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
17222
215dd471
RM
172232010-08-30 Robert Millan <rmh@gnu.org>
17224
17225 * NEWS: Document addition of ZFS support in `grub-install' and
17226 `grub-mkconfig'.
17227
ebd65b82
BC
172282010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
17229
17230 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
17231 dprintf output.
17232
11721d19
VS
172332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17234
17235 Remove leftover embedding of font objects.
17236
17237 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17238 * util/grub-install.in (font): Removed.
17239 * util/grub-mkimage.c (generate_image): Remove font support. All users
17240 updated.
17241
37837d4e
VS
172422010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17243
17244 Remove leftover embedding of font objects.
17245
17246 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17247 * util/grub-install.in (font): Removed.
17248 * util/grub-mkimage.c (generate_image): Remove font support. All users
17249 updated.
17250
b4c1aae0
VS
172512010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17252
17253 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 17254 Reported by: Ian Turner
b4c1aae0 17255
8920a08d
VS
172562010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17257
17258 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
17259 timeout to avoid indefinite boot stalling.
17260
f21db033
VS
172612010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17262
17263 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
17264 (grub_env_write_color_highlight): Likewise.
17265
9a9de209
VS
172662010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17267
17268 * grub-core/normal/term.c (print_more): Return to normal and not
17269 to standard state after printing "---MORE---".
17270
3dca01d7
VS
172712010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17272
17273 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
17274 Mask out the bit 0x80 since it has other meaning that specifiing color.
17275
0b986c40
VS
172762010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17277
17278 New relocator. Allows for more kernel support and more straightforward
17279 loader writing.
17280
17281 * Makefile.am (BOOTTARGET): New variable.
17282 (QEMU32): Likewise.
17283 (linux.init.x86_64): New target.
17284 (linux.init.i386): Likewise.
17285 (multiboot.elf): Likewise.
17286 (kfreebsd.elf): Likewise.
17287 (kfreebsd.aout): Likewise.
17288 (pc-chainloader.elf): Likewise.
17289 (pc-chainloader.bin): Likewise.
17290 (ntldr.elf): Likewise.
17291 (ntldr.bin): Likewise.
17292 (multiboot2.elf): Likewise.
17293 (kfreebsd.init.x86_64): Likewise.
17294 (kfreebsd.init.i386): Likewise.
17295 (knetbsd.init.i386): Likewise.
17296 (kopenbsd.init.i386): Likewise.
17297 (knetbsd.init.x86_64): Likewise.
17298 (kopenbsd.init.x86_64): Likewise.
17299 (linux-initramfs.i386): Likewise.
17300 (linux-initramfs.x86_64): Likewise.
17301 (kfreebsd-mfsroot.i386.img): Likewise.
17302 (knetbsd.image.i386): Likewise.
17303 (kopenbsd.image.i386): Likewise.
17304 (kopenbsd.image.x86_64): Likewise.
17305 (knetbsd.miniroot-image.i386.img): Likewise.
17306 (kfreebsd-mfsroot.x86_64.img): Likewise.
17307 (knetbsd.image.x86_64): Likewise.
17308 (knetbsd.miniroot-image.x86_64.img): Likewise.
17309 (kfreebsd-mfsroot.i386.gz): Likewise.
17310 (bootcheck-kfreebsd-i386): Likewise.
17311 (kfreebsd-mfsroot.x86_64.gz): Likewise.
17312 (bootcheck-kfreebsd-x86_64): Likewise.
17313 (knetbsd.miniroot-image.i386.gz): Likewise.
17314 (bootcheck-knetbsd-i386): Likewise.
17315 (bootcheck-kopenbsd-i386): Likewise.
17316 (bootcheck-kopenbsd-x86_64): Likewise.
17317 (knetbsd.miniroot-image.x86_64.gz): Likewise.
17318 (bootcheck-knetbsd-x86_64): Likewise.
17319 (bootcheck-linux-i386): Likewise.
17320 (bootcheck-linux-x86_64): Likewise.
17321 (bootcheck-linux16-i386): Likewise.
17322 (bootcheck-linux16-x86_64): Likewise.
17323 (bootcheck-multiboot): Likewise.
17324 (bootcheck-multiboot2): Likewise.
17325 (bootcheck-kfreebsd-aout): Likewise.
17326 (bootcheck-pc-chainloader): Likewise.
17327 (bootcheck-ntldr): Likewise.
17328 (CLEANFILES): Add new targets.
17329 (BOOTCHECKS): New variable.
17330 (.PHONY): Add bootchecks.
17331 (SUCCESSFUL_BOOT_STRING): New variable.
17332 (BOOTCHECK_TIMEOUT): Likewise.
17333 (bootcheck): New target
17334 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
17335 * configure.ac: Correct efiemu excuse.
17336 * docs/grub.texi (Supported kernels): New chapter.
17337 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
17338 include/grub/mm_private.h. Simplify inclusion of
17339 include/grub/boot.h, include/grub/loader.h
17340 and include/grub/msdos_partition.h
17341 (KERNEL_HEADER_FILES) [i386_coreboot]:
17342 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
17343 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
17344 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
17345 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
17346 include/grub/machine/loader.h.
17347 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
17348 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
17349 extra_dist.
17350 (pci.mod): Enable on i386-multiboot.
17351 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
17352 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
17353 i386-qemu.
17354 (relocator.mod): Rewritten.
17355 (aout.mod): Enable on all x86.
17356 (bsd.mod): Likewise.
17357 (ntldr.mod): New module.
17358 (linux.mod): Use loader/i386/linux.c on all x86.
17359 (xnu.mod): Enable on all x86.
17360 (vga_text.mod): disable on EFI and QEMU.
17361 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
17362 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
17363 * grub-core/efiemu/loadcore.c: Likewise.
17364 * grub-core/efiemu/main.c: Likewise.
17365 (grub_efiemu_exit_boot_services): Removed.
17366 (grub_efiemu_finish_boot_services): Likewise.
17367 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
17368 function.
17369 * grub-core/efiemu/i386/nocfgtables.c: New file.
17370 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
17371 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
17372 (grub_efi_finish_boot_services): Moved from here ...
17373 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
17374 Fille finish memory map and related data.
17375 (finish_mmap_buf): New variable.
17376 (grub_efi_uintn_t finish_mmap_size): Likewise.
17377 (grub_efi_uintn_t finish_key): Likewise.
17378 (grub_efi_uintn_t finish_desc_size): Likewise.
17379 (grub_efi_uint32_t finish_desc_version): Likewise.
17380 (grub_efi_is_finished): Likewise.
17381 (grub_efi_get_memory_map): Use saved memory map if EFI is already
17382 finished.
17383 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
17384 (grub_elf64_phdr_iterate): Likewise.
17385 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
17386 (grub_os_area_size): Likewise.
17387 (grub_machine_init): Don't reserve os area.
17388 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
17389 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17390 * grub-core/kern/i386/loader.S: Removed.
17391 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
17392 (grub_os_area_size): Likewise.
17393 (grub_machine_init): Don't reserve os area.
17394 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
17395 Don't call grub_dl_unload_all.
17396 Don't include loader.S.
17397 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
17398 Declare the memory after _end as available.
17399 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 17400 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 17401 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
17402 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
17403 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
17404 * include/grub/mm_private.h (grub_mm_header): ... here.
17405 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
17406 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
17407 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
17408 (grub_mm_region): ..here. Removed addr. Added pre_size.
17409 All users updated.
17410 * grub-core/kern/mm.c (base): Renamed to ...
17411 (grub_mm_base): ... this. Made global.
17412 (grub_real_malloc): Alloc from end of region.
17413 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
17414 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
17415 * grub-core/kern/powerpc/cache_flush.S: ... here.
17416 * grub-core/lib/efi/relocator.c: New file.
17417 * grub-core/lib/i386/relocator.c: Rewritten.
17418 * grub-core/lib/i386/relocator16.S: New file.
17419 * grub-core/lib/i386/relocator32.S: Likewise.
17420 * grub-core/lib/i386/relocator64.S: Likewise.
17421 * grub-core/lib/i386/relocator_asm.S: Rewritten.
17422 * grub-core/lib/i386/relocator_common.S: New file.
17423 * grub-core/lib/ieee1275/relocator.c: Likewise.
17424 * grub-core/lib/mips/relocator.c: Rewritten.
17425 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
17426 stylistic adjustments.
17427 * grub-core/lib/powerpc/relocator.c: New file.
17428 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
17429 * grub-core/lib/relocator.c: Rewritten.
17430 * grub-core/lib/x86_64/relocator_asm.S: New file.
17431 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
17432 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
17433 (bsd_tag): New struct.
17434 (tags): New variable.
17435 (tags_last): Likewise.
17436 (netbsd_module): New struct.
17437 (netbsd_mods): New variable.
17438 (netbsd_mods_last): Likewise.
17439 (openbsd_opts): New parameter "serial".
17440 (OPENBSD_SERIAL_ARG): New definition.
17441 (netbsd_opts): New parameter "serial".
17442 (NETBSD_SERIAL_ARG): New definition.
17443 (grub_freebsd_add_meta): Reorganised into ...
17444 (grub_bsd_add_meta): ...this. All users updated.
17445 (grub_freebsd_add_mmap): Reorganised into ...
17446 (generate_e820_mmap): ...this...
17447 (grub_bsd_add_mmap): ...and this. All users updated.
17448 (grub_freebsd_list_modules): Use tags.
17449 (grub_netbsd_add_meta_module): New function.
17450 (grub_netbsd_list_modules): Likewise.
17451 (grub_freebsd_boot): Use relocator and finish EFI.
17452 (grub_openbsd_boot): Likewise.
17453 (grub_netbsd_setup_video): New function.
17454 (grub_netbsd_add_modules): Likewise.
17455 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
17456 and finish EFI.
17457 (grub_bsd_unload): Unload tags.
17458 (grub_bsd_load_aout): Use relocator.
17459 (grub_bsd_elf32_size_hook): New function.
17460 (grub_bsd_elf32_hook): Use relocator.
17461 (grub_bsd_elf64_size_hook): New function.
17462 (grub_bsd_elf64_hook): Use relocator.
17463 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
17464 (grub_bsd_load): Zero-out openbsd_ramdisk.
17465 (grub_bsd_load): Use relocator.
17466 (grub_cmd_openbsd): Support serial.
17467 (grub_cmd_netbsd): Support modules.
17468 (grub_cmd_freebsd_module): Use relocator.
17469 (grub_netbsd_module_load): New function.
17470 (grub_cmd_netbsd_module): Likewise.
17471 (grub_cmd_openbsd_ramdisk): Likewise.
17472 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
17473 kopenbsd_ramdisk.
17474 (GRUB_MOD_FINI): Unregister new commands.
17475 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
17476 (grub_freebsd_load_elfmodule_obj): Use relocator.
17477 (grub_freebsd_load_elfmodule): Likewise.
17478 (grub_freebsd_load_elf_meta): Likewise.
17479 (grub_netbsd_load_elf_meta): New function.
17480 (grub_openbsd_find_ramdisk): Likewise.
17481 * grub-core/loader/i386/bsd_helper.S: Removed.
17482 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
17483 * grub-core/loader/i386/bsd_trampoline.S: Removed.
17484 * grub-core/loader/i386/efi/linux.c: Likewise.
17485 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
17486 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
17487 (DEFAULT_VIDEO_MODE): Likewise.
17488 (real_mode_target): New variable.
17489 (prot_mode_target): Likewise.
17490 (initrd_mem_target): Likewise.
17491 (relocator): Likewise.
17492 (efi_mmap_buf): Likewise.
17493 (efi_mmap_size): Likewise.
17494 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
17495 (free_pages): Use relocator.
17496 (allocate_pages): Account for efi_mmap and use relocator. Return error.
17497 (grub_linux_setup_video): Return error.
17498 (grub_linux_trampoline_start): Removed.
17499 (grub_linux_trampoline_end): Likewise.
17500 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
17501 andd video parameters depending on firmware.
17502 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
17503 [GRUB_MACHINE_EFI]: Pass EFI parameters.
17504 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
17505 (grub_cmd_initrd): Use relocator.
17506 * grub-core/loader/i386/linux_trampoline.S: Removed.
17507 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
17508 (elf_sec_entsize): Likewise.
17509 (elf_sec_shstrndx): Likewise.
17510 (elf_sections): Likewise.
17511 (grub_multiboot_load): Use relocator.
17512 (grub_multiboot_get_mbi_size): Account for sections.
17513 (grub_multiboot_make_mbi): Use relocator and support sections.
17514 (grub_multiboot_add_elfsyms): New function.
17515 (grub_multiboot_free_mbi): Free sections.
17516 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
17517 (grub_linux_real_target): Likewise.
17518 (grub_linux_real_chunk): Likewise.
17519 (grub_linux16_prot_size): Likewise.
17520 (grub_linux16_boot): Use relocator.
17521 (grub_linux_unload): Unload relocator.
17522 (grub_cmd_linux): Use relocator.
17523 (grub_cmd_initrd): Likewise.
17524 * grub-core/loader/i386/pc/ntldr.c: New file.
17525 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
17526 Don't try to guess CPU frequency.
17527 (grub_xnu_set_video): Stretch bitmap.
17528 (grub_xnu_boot): Use relocator.
17529 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
17530 (grub_linux_unload): Free relocator.
17531 (grub_linux_load32): Use relocator.
17532 (grub_linux_load64): Likewise.
17533 (grub_cmd_initrd): Likewise.
17534 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
17535 (grub_multiboot_unload): Unload relocator.
17536 (grub_cmd_multiboot): Use relocator.
17537 (grub_cmd_module): Likewise.
17538 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
17539 Use relocator and support sections.
17540 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
17541 (elf_sec_entsize): Likewise.
17542 (elf_sec_shstrndx): Likewise.
17543 (elf_sections): Likewise.
17544 (grub_multiboot_load): Use relocator.
17545 (grub_multiboot_get_mbi_size): Account for sections.
17546 (grub_multiboot_make_mbi): Use relocator and support sections.
17547 (grub_multiboot_add_elfsyms): New function.
17548 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
17549 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
17550 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
17551 Prototype changed. All users updated.
17552 (grub_xnu_align_heap): Simplified.
17553 (grub_xnu_writetree_toheap): Likewise.
17554 (grub_xnu_unload): Unload relocator.
17555 (grub_cmd_xnu_kernel): Use relocator.
17556 (grub_cmd_xnu_kernel64): Likewise.
17557 (grub_xnu_register_memory): Simplified.
17558 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
17559 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
17560 EFI is finished.
17561 (grub_console_checkkey): Likewise.
17562 (grub_console_getkey): Likewise.
17563 (grub_console_getwh): Likewise.
17564 (grub_console_getxy): Likewise.
17565 (grub_console_gotoxy): Likewise.
17566 (grub_console_cls): Likewise.
17567 (grub_console_setcolorstate): Likewise.
17568 (grub_console_setcursor): Likewise.
17569 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
17570 * grub-core/tests/boot/kbsd.init-i386.S: New file.
17571 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
17572 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
17573 * grub-core/tests/boot/kernel-8086.S: Likewise.
17574 * grub-core/tests/boot/kernel-i386.S: Likewise.
17575 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
17576 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
17577 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
17578 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
17579 * grub-core/tests/boot/knetbsd.cfg: Likewise.
17580 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
17581 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
17582 * grub-core/tests/boot/linux.cfg: Likewise.
17583 * grub-core/tests/boot/linux.init-i386.S: Likewise.
17584 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
17585 * grub-core/tests/boot/linux16.cfg: Likewise.
17586 * grub-core/tests/boot/multiboot.cfg: Likewise.
17587 * grub-core/tests/boot/multiboot2.cfg: Likewise.
17588 * grub-core/tests/boot/ntldr.cfg: Likewise.
17589 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
17590 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
17591 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
17592 New definition.
17593 * include/grub/dl.h (grub_dl_unload_all): Removed.
17594 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
17595 (grub_efi_finish_boot_services): Change prototype.
17596 (grub_efi_is_finished): New variable.
17597 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
17598 Changed prototype.
17599 (grub_efiemu_finish_boot_services): Removed.
17600 (grub_machine_efiemu_init_tables): New prototype.
17601 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
17602 (grub_elf64_phdr_iterate): Likewise.
17603 * include/grub/i386/bsd.h: Include relocator.h.
17604 (freebsd_tag_header): New struct.
17605 (grub_openbsd_bios_mmap): Removed.
17606 (grub_unix_real_boot): Removed.
17607 (grub_freebsd_load_elfmodule32): Changed prototype.
17608 (grub_freebsd_load_elfmodule_obj64): Likewise.
17609 (grub_freebsd_load_elf_meta32): Likewise.
17610 (grub_freebsd_load_elf_meta64): Likewise.
17611 (grub_freebsd_add_meta): Removed.
17612 (grub_netbsd_load_elf_meta32): New prototype.
17613 (grub_netbsd_load_elf_meta64): Likewise.
17614 (grub_bsd_add_meta): Likewise.
17615 (grub_openbsd_ramdisk_descriptor): New struct.
17616 (grub_openbsd_find_ramdisk32): New prototype.
17617 (grub_openbsd_find_ramdisk64): Likewise.
17618 * include/grub/i386/coreboot/loader.h: Removed.
17619 * include/grub/i386/efi/loader.h: Likewise.
17620 * include/grub/i386/ieee1275/loader.h: Likewise.
17621 * include/grub/i386/linux.h (linux_kernel_header): Change void *
17622 to grub_uint32_t.
17623 * include/grub/i386/loader.h: Removed.
17624 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
17625 value.
17626 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
17627 (grub_phys_addr_t): New type.
17628 (grub_vtop): New inline function.
17629 (grub_map_memory): Likewise.
17630 (grub_unmap_memory): Likewise.
17631 * include/grub/i386/multiboot/loader.h: Removed.
17632 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
17633 (NETBSD_BTINFO_CONSOLE): New definition.
17634 (NETBSD_BTINFO_SYMTAB): Likewise.
17635 (NETBSD_BTINFO_MODULES): Likewise.
17636 (NETBSD_BTINFO_FRAMEBUF): Likewise.
17637 (grub_netbsd_bootinfo): New struct.
17638 (grub_netbsd_btinfo_common): Use explicit bitsize.
17639 (grub_netbsd_btinfo_mmap_entry): Removed.
17640 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
17641 (grub_netbsd_btinfo_bootdisk): New struct.
17642 (grub_netbsd_btinfo_symtab): Likewise.
17643 (grub_netbsd_btinfo_serial): Likewise.
17644 (grub_netbsd_btinfo_modules): Likewise.
17645 (grub_netbsd_btinfo_framebuf): Likewise.
17646 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
17647 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
17648 Likewise.
17649 (grub_openbsd_bootargs): Use explicit bitsize.
17650 (grub_openbsd_bootarg_console): New struct.
17651 (GRUB_OPENBSD_COM_MAJOR): New definition.
17652 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
17653 * include/grub/i386/pc/efiemu.h: Removed.
17654 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
17655 * include/grub/i386/qemu/loader.h: Removed.
17656 * include/grub/i386/relocator.h: Rewritten.
17657 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
17658 * include/grub/mips/memory.h: New file.
17659 * include/grub/mips/multiboot.h: Rewritten.
17660 * include/grub/mips/relocator.h: Rewritten.
17661 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
17662 (grub_vtop): New function.
17663 (grub_map_memory): Likewise.
17664 (grub_unmap_memory): Likewise.
17665 * include/grub/misc.h (ALIGN_DOWN): New definition.
17666 * include/grub/mm.h (grub_mm_check_real): New proto.
17667 (GRUB_MM_CHECK): New definition.
17668 * include/grub/mm_private.h: New file.
17669 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
17670 (grub_multiboot_get_mbi_size): Removed.
17671 (grub_multiboot_make_mbi): Change prottype.
17672 (grub_multiboot_set_accepts_video): New proto.
17673 (grub_multiboot_add_elfsyms): Likewise.
17674 (grub_multiboot_payload_eip): New variable.
17675 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
17676 New prototype.
17677 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
17678 New definition.
17679 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
17680 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
17681 * include/grub/powerpc/ieee1275/loader.h: Removed.
17682 * include/grub/powerpc/memory.h: New file.
17683 * include/grub/powerpc/relocator.h: Likewise.
17684 * include/grub/relocator.h: Likewise.
17685 * include/grub/relocator_private.h: Likewise.
17686 * include/grub/sparc64/ieee1275/loader.h: Removed.
17687 * include/grub/x86_64/memory.h: New file.
17688 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
17689 (grub_xnu_heap_malloc): Likewise.
17690 (grub_xnu_heap_real_start): Removed.
17691 (grub_xnu_heap_start): Likewise.
17692 (grub_xnu_relocator): New variable.
17693 (grub_xnu_heap_target_start): Likewise.
17694 * tests/util/grub-shell.in: Support non-pc.
17695 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 17696
5303b85d
VS
176972010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17698
17699 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
17700 on malloc error.
17701 (grub_bidi_logical_to_visual): Check that malloc succeded.
17702 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
17703 puts.
17704 (grub_xputs_normal): Likewise.
17705
d768d159
VS
177062010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17707
17708 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
17709 extra_dist.
17710
177112010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17712
17713 * grub-core/efiemu/runtime/efiemu.sh: Removed.
17714
5bf84df4
VS
177152010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17716
17717 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
17718
3626810e
VS
177192010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17720
17721 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
17722 dprintf.
17723
a7363f53
BC
177242010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
17725
17726 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
17727
902f75f6
VS
177282010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17729
17730 * grub-core/normal/term.c (print_more): Fix a memory leak.
17731 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
17732 (grub_xputs_normal): Likewise.
17733
3c707967
VS
177342010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17735
17736 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
17737 the begining of the string
17738
2053cc07
VS
177392010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17740
17741 * grub-core/script/script.c (grub_script_parse): Free parsed on
17742 failure.
17743
46422ebf
VS
177442010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17745
17746 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
17747 on failure.
17748
9e0fa3f6
VS
177492010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17750
17751 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
17752 return.
17753
3393cf16
VS
177542010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17755
17756 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
17757 (scroll_up): Fix a memory leak.
17758
b17540cb
VS
177592010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17760
17761 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
17762 errors.
17763
67140446
VS
177642010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
17765
17766 Handle USB pendrives exposed as floppies.
17767
17768 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
17769 floppy.
17770 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17771 Check for partitions on all devices.
17772
e35e46fc
VS
177732010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17774
17775 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
17776 (readkey): Likewise.
17777
d24c6190
BC
177782010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17779
17780 Multiple variable names support to "export" command.
17781
17782 * normal/context.c (grub_cmd_export): "export" command supports
17783 multiple variable names.
17784
04ddcc6a
ST
177852010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
17786
17787 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
17788 --target=drive output to Mach device name.
17789
0c8b61d8
BC
177902010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17791
17792 New Automake based build system for GRUB.
17793
17794 * ABOUT-NLS: New file.
17795 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
17796 in Makefile.util.def file.
17797 * Makefile.util.def: New file. Autogen build definitions file for
17798 GRUB host utils.
17799 * conf/Makefile.common: New file. Common variables for GRUB host
17800 utils and target modules.
17801 * conf/Makefile.extra-dist: New file. Extra files for make dist.
17802 * docs/Makefile.am: New file. Automake file for docs.
17803 * gentpl.py: New file. Python script to generate Autogen
17804 template.
17805 * grub-core/Makefile.am: New file. GRUB target modules' rules
17806 that doesn't fit in Makefile.core.def file.
17807 * grub-core/Makefile.core.def: New file. Autogen build
17808 definitions file for GRUB target modules.
17809 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
17810 specific setjmp.S file.
17811 * po/Makefile.am: New file.
17812
17813 * .bzrignore: New ignores.
17814 * INSTALL: New requirements, without Ruby.
17815 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
17816 * autogen.sh: Updated to invoke autogen as necessary.
17817 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
17818 and defines for Automake conditionals.
17819 * geninit.sh: Refactoring.
17820
17821 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
17822 necessary.
17823 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
17824 New prototype.
17825
17826 * include/grub/test.h: Fix functional test modules' naming.
17827 * grub-core/tests/example_functional_test.c: Fix test module name.
17828
17829 * util/misc.c: Hosted versions' of grub functions for libgrub.a
17830 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
17831 * util/grub-editenv.c: Likewise.
17832 * util/grub-fstest.c: Likewise.
17833 * util/grub-mkdevicemap.c: Likewise.
17834 * util/grub-mkfont.c: Likewise.
17835 * util/grub-mkimage.c: Likewise.
17836 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17837 * util/grub-probe.c: Likewise.
17838 * util/grub-script-check.c: Likewise.
17839 * util/i386/pc/grub-setup.c: Likewise.
17840 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17841
17842 * tests/util/grub-shell.in: Fix override directory path.
17843 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17844 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17845
17846 * util/lvm.c: Update #includes.
17847 * util/raid.c: Likewise.
17848 * util/resolve.c: Likewise.
17849 * grub-core/bus/emu/pci.c: Likewise.
17850 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17851 * grub-core/lib/posix_wrap/string.h: Likewise.
17852 * grub-core/kern/emu/main.c: Likewise.
17853
17854 * grub-core/gensymlist.sh: New file. Script for generating kernel
17855 symbols file.
17856 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17857
17858 * grub-core/gentrigtables.c: Fix unused variable warnings.
17859
17860 * Makefile.in: Removed.
17861 * conf/any-emu.rmk: Removed.
17862 * conf/common.rmk: Removed.
17863 * conf/i386-coreboot.rmk: Removed.
17864 * conf/i386-efi.rmk: Removed.
17865 * conf/i386-ieee1275.rmk: Removed.
17866 * conf/i386-multiboot.rmk: Removed.
17867 * conf/i386-pc.rmk: Removed.
17868 * conf/i386-qemu.rmk: Removed.
17869 * conf/i386.rmk: Removed.
17870 * conf/mips-yeeloong.rmk: Removed.
17871 * conf/mips.rmk: Removed.
17872 * conf/powerpc-ieee1275.rmk: Removed.
17873 * conf/sparc64-ieee1275.rmk: Removed.
17874 * conf/tests.rmk: Removed.
17875 * conf/x86-efi.rmk: Removed.
17876 * conf/x86_64-efi.rmk: Removed.
17877 * gendistlist.sh: Removed.
17878 * geninitheader.sh: Removed.
17879 * genkernsyms.sh.in: Removed.
17880 * genmk.rb: Removed.
17881 * gensymlist.sh.in: Removed.
17882 * mkinstalldirs: Removed.
17883 * boot: Moved ...
17884 * grub-core/boot: ... to here.
17885 * bus: Moved ...
17886 * grub-core/bus: ... to here.
17887 * commands: Moved ...
17888 * grub-core/commands: ... to here.
17889 * disk: Moved ...
17890 * grub-core/disk: ... to here.
17891 * efiemu: Moved ...
17892 * grub-core/efiemu: ... to here.
17893 * font: Moved ...
17894 * grub-core/font: ... to here.
17895 * fs: Moved ...
17896 * grub-core/fs: ... to here.
17897 * gencmdlist.sh: Moved ...
17898 * grub-core/gencmdlist.sh: ... to here.
17899 * genemuinit.sh: Moved ...
17900 * grub-core/genemuinit.sh: ... to here.
17901 * genemuinitheader.sh: Moved ...
17902 * grub-core/genemuinitheader.sh: ... to here.
17903 * genfslist.sh: Moved ...
17904 * grub-core/genfslist.sh: ... to here.
17905 * genhandlerlist.sh: Moved ...
17906 * grub-core/genhandlerlist.sh: ... to here.
17907 * genmoddep.awk: Moved ...
17908 * grub-core/genmoddep.awk: ... to here.
17909 * genmodsrc.sh: Moved ...
17910 * grub-core/genmodsrc.sh: ... to here.
17911 * genpartmaplist.sh: Moved ...
17912 * grub-core/genpartmaplist.sh: ... to here.
17913 * genparttoollist.sh: Moved ...
17914 * grub-core/genparttoollist.sh: ... to here.
17915 * genterminallist.sh: Moved ...
17916 * grub-core/genterminallist.sh: ... to here.
17917 * gentrigtables.c: Moved ...
17918 * grub-core/gentrigtables.c: ... to here.
17919 * genvideolist.sh: Moved ...
17920 * grub-core/genvideolist.sh: ... to here.
17921 * gettext: Moved ...
17922 * grub-core/gettext: ... to here.
17923 * gfxmenu: Moved ...
17924 * grub-core/gfxmenu: ... to here.
17925 * gnulib: Moved ...
17926 * grub-core/gnulib: ... to here.
17927 * hello: Moved ...
17928 * grub-core/hello: ... to here.
17929 * hook: Moved ...
17930 * grub-core/hook: ... to here.
17931 * io: Moved ...
17932 * grub-core/io: ... to here.
17933 * kern: Moved ...
17934 * grub-core/kern: ... to here.
17935 * lib: Moved ...
17936 * grub-core/lib: ... to here.
17937 * loader: Moved ...
17938 * grub-core/loader: ... to here.
17939 * mmap: Moved ...
17940 * grub-core/mmap: ... to here.
17941 * normal: Moved ...
17942 * grub-core/normal: ... to here.
17943 * partmap: Moved ...
17944 * grub-core/partmap: ... to here.
17945 * parttool: Moved ...
17946 * grub-core/parttool: ... to here.
17947 * script: Moved ...
17948 * grub-core/script: ... to here.
17949 * term: Moved ...
17950 * grub-core/term: ... to here
17951 * tests/example_functional_test.c: Moved ...
17952 * grub-core/tests/example_functional_test.c: ... to here.
17953 * tests/lib/functional_test.c: Moved ...
17954 * grub-core/tests/lib/functional_test.c: ... to here.
17955 * tests/lib/test.c: Moved ...
17956 * grub-core/tests/lib/test.c: ... to here.
17957 * video: Moved ...
17958 * grub-core/video: ... to here.
17959
645586e6
BC
179602010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17961
17962 Replace --enable-grub-emu-modules with grub-emu-lite.
17963
17964 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17965 cache.S.
17966
17967 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17968 * kern/emu/full.c: New file. For grub-emu specific initialization.
17969 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17970 * kern/emu/main.c: Call initialization function grub_emu_init.
17971
17972 * Makefile.in: Include grub-emu-lite in install.
17973 * commands/parttool.c: Use grub_no_autoload to differentiate
17974 between grub-emu and grub-emu-lite.
17975 * include/grub/misc.h: New variable grub_no_autoload.
17976
17977 * conf/any-emu.rmk: New rules for grub-emu-lite.
17978 * configure.ac: Remove --enable-grub-emu-modules.
17979 * genmk.rb: Cleanup unnecessary rules.
17980 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
17981
17982 * normal/main.c: Don't load list files on grub-emu-lite.
17983 * util/misc.c (grub_arch_sync_caches): Removed.
17984
f86a4030
CW
179852010-08-23 Colin Watson <cjwatson@ubuntu.com>
17986
17987 * kern/mips/startup.S (grub_prefix): Update comment to refer to
17988 grub-mkimage rather than grub-mkelfimage.
17989 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17990
06776944
VS
179912010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
17994 a key after CapsLock or NumLock. It's just a qemu bug.
17995
df262419
VS
179962010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17997
17998 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
17999 needed by libusb wrapper.
18000
b40ea81b
ST
180012010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
18002
18003 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
18004
dee50575
VS
180052010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
18006
18007 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
18008 --nounzip is passed.
18009
fb1d7b79
VS
180102010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
18011
18012 USB hotunplugging and USB serial support.
18013
18014 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
18015 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
18016 (grub_uhci_transfer): Respect timeout and set *actual.
18017 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
18018 non-standard length.
18019 (grub_usb_device_attach): Autoload modules.
18020 (GRUB_MOD_INIT): Set grub_term_poll_usb.
18021 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
18022 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
18023 users updated.
18024 (grub_usb_add_hub): Fill nports and children.
18025 (attach_root_port): Receive hub instead of controller.
18026 All users updated. Fill hub->devices.
18027 (grub_usb_root_hub): Allocate hub->devices.
18028 (detach_device): New function.
18029 (poll_nonroot_hub): Fill children and detach devices.
18030 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
18031 actual arguments. All users updated.
18032 (grub_usb_bulk_read_extended): New function.
18033 * bus/usb/serial/common.c: New file.
18034 * bus/usb/serial/ftdi.c: Likewise.
18035 * bus/usb/serial/pl2303.c: Likewise.
18036 * commands/terminal.c (handle_command): Support wildcard.
18037 * commands/usbtest.c: Output "Unknown" instead of empty string.
18038 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
18039 (usbserial_common_mod_SOURCES): New variable.
18040 (usbserial_common_mod_CFLAGS): Likewise.
18041 (usbserial_common_mod_LDFLAGS): Likewise.
18042 (pkglib_MODULES): Add usbserial_pl2303.mod.
18043 (usbserial_pl2303_mod_SOURCES): New variable.
18044 (usbserial_pl2303_mod_CFLAGS): Likewise.
18045 (usbserial_pl2303_mod_LDFLAGS): Likewise.
18046 (pkglib_MODULES): Add usbserial_ftdi.mod.
18047 (usbserial_ftdi_mod_SOURCES): New variable.
18048 (usbserial_ftdi_mod_CFLAGS): Likewise.
18049 (usbserial_ftdi_mod_LDFLAGS): Likewise.
18050 (pkglib_MODULES): Add serial.mod.
18051 (serial_mod_SOURCES): New variable.
18052 (serial_mod_CFLAGS): Likewise.
18053 (serial_mod_LDFLAGS): Likewise.
18054 * conf/i386-pc.rmk: Likewise.
18055 * conf/mips-yeeloong.rmk: Likewise.
18056 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
18057 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
18058 * disk/usbms.c (first_available_slot): New variable.
18059 (grub_usbms_attach): Don't reuse free slots due to potential cache
18060 problems.
18061 * include/grub/serial.h: Moved to ..
18062 * include/grub/ns8250.h: ...this.
18063 * include/grub/serial.h: New file.
18064 * include/grub/term.h (grub_term_poll_usb): New variable.
18065 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
18066 readkey. All users updated.
18067 (grub_terminfo_output_state): Pass term to put.
18068 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
18069 (grub_usb_controller_dev): Add timeout and actual arguments to
18070 transfer. All users updated.
18071 (grub_usb_interface): New field detach_data.
18072 (grub_usb_device): New fields children and nports.
18073 (grub_usb_ep_type_t): New type.
18074 (grub_usb_get_ep_type): New function.
18075 (grub_usb_bulk_read_extended): Likewise.
18076 * include/grub/usbdesc.h (grub_usb_desc): New type.
18077 * include/grub/usbserial.h: New file.
18078 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
18079 * kern/term.c (grub_term_poll_usb): New variable.
18080 (grub_getkey): Call grub_term_poll_usb if set.
18081 (grub_checkkey): Likewise.
18082 (grub_getkeystatus): Likewise.
18083 * term/serial.c: Moved controller-specific parts to ...
18084 * term/ns8250.c: ... here.
18085 * term/serial.c: Mostly rewritten.
18086 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
18087 according to spec.
18088
21a313de
RM
180892010-08-20 Robert Millan <rmh@gnu.org>
18090
18091 Make kFreeBSD code more generic to support ext2fs as root, ufs as
18092 a separate module and maybe other interesting combinations.
18093
18094 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
18095 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
18096 (kfreebsd_entry): Add generic filesystem module load routine.
18097 Map GRUB `ext2' to kFreeBSD `ext2fs'.
18098
63c734a6
CW
180992010-08-20 Colin Watson <cjwatson@ubuntu.com>
18100
18101 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
18102 "numcenter" (I misunderstood the purpose of this entry).
18103 * docs/grub.texi (sendkey): Likewise.
18104
c4d16542
CW
181052010-08-20 Colin Watson <cjwatson@ubuntu.com>
18106
18107 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
18108 status flag options; simply omitting the option is equivalent and
18109 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
18110 (keysym_table): Rename "num5numlock" to "numlock".
18111 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
18112 can uniformly say that only the last of multiple `sendkey'
18113 invocations has any effect.
18114 * docs/grub.texi (sendkey): New section.
18115
93541d66
CW
181162010-08-19 Colin Watson <cjwatson@ubuntu.com>
18117
18118 * commands/i386/pc/sendkey.c (options): Fix three typos.
18119
b4ece5e1
VS
181202010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18121
18122 Implement sendkey support.
18123
18124 * commands/i386/pc/sendkey.c: New file.
18125 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
18126 (sendkey_mod_SOURCES): New variable.
18127 (sendkey_mod_CFLAGS): Likewise.
18128 (sendkey_mod_LDFLAGS): Likewise.
18129
51f1f5af
CW
181302010-08-18 Colin Watson <cjwatson@ubuntu.com>
18131
18132 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
18133 fix warnings from Autoconf.
18134
9da94e05
CW
181352010-08-18 Colin Watson <cjwatson@ubuntu.com>
18136
18137 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
18138 to avoid false positives with some assemblers that output things
18139 like "someprefix_func" as part of their output.
18140
729a0f2e
RM
181412010-08-15 Robert Millan <rmh@gnu.org>
18142
18143 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
18144 errors.
18145 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
18146 grub_get_libzfs_handle() errors.
18147
f3710e08
RM
181482010-08-14 Robert Millan <rmh@gnu.org>
18149
18150 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
18151 filesystem is not ZFS.
18152
7a3c13de
BC
181532010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18154
18155 Fix for misspelled color names defaulting to black/black (bug
18156 reported by Doug Nazar)
18157
18158 * include/grub/normal.h (grub_parse_color_name_pair): Add return
18159 status to prototype.
18160 * normal/color.c (grub_parse_color_name_pair): Return failure
18161 status.
18162 (grub_env_write_color_normal): Ignore bad color names.
18163 (grub_env_write_color_highlight): Likewise.
18164 * normal/main.c (GRUB_MOD_INIT): Set default color names.
18165
ab8ba50d
BC
181662010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18167
18168 "shift" command support to GRUB script.
18169
18170 * include/grub/script_sh.h (grub_script_shift): New prototype.
18171 * script/execute.c (grub_script_shift): New function.
18172 * script/main.c (grub_script_init): Register shift command.
18173 (grub_script_fini): Unregister shift command.
18174 * util/grub-script-check.c (grub_script_cmd_shift): New function.
18175
18176 * tests/grub_script_shift.in: New testcase.
18177 * conf/tests.rmk: Rules for new testcase.
18178
4d61999e
BC
181792010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18180
18181 "continue" command support to GRUB script.
18182
18183 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
18184 (grub_script_break): Continue support.
18185 * script/main.c (grub_script_init): Register continue command.
18186 (grub_script_fini): Unregister continue command.
18187
18188 * tests/grub_script_continue.in: New testcase.
18189 * conf/tests.rmk: Rules for new testcase.
18190
4df51e00
BC
181912010-08-12 BVK Chaitanya <bvk@dbook>
18192
18193 "break" command support to GRUB script.
18194
18195 * conf/common.rmk: Rule updates to grub-script-check.
18196 * include/grub/misc.h (grub_min): New function.
18197 * include/grub/script_sh.h (grub_script_init): New prototype.
18198 (grub_script_fini): New prototype.
18199 (grub_script_break): New prototype.
18200 * script/main.c (grub_script_init): New function.
18201 (grub_script_fini): New function.
18202 * script/execute.c (grub_script_break): New function.
18203 * normal/main.c: Calls to grub_script_{init,fini}.
18204 * util/grub-script-check.c (grub_script_break): New function.
18205
18206 * tests/grub_script_break.in: New testcase.
18207 * conf/tests.rmk: Rules for new test case.
18208
f12c8420
BC
182092010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18210
18211 Function parameters support to GRUB script.
18212
18213 * script/yylex.l (VARIABLE): Regular expression update.
18214 * script/function.c (grub_script_function_call): Moved ...
18215 * script/execute.c (grub_script_function_call): ... to here.
18216 (grub_script_execute_arglist_to_argv): Removed.
18217 (grub_script_arglist_to_argv): New function.
18218 * script/argv.c: New file.
18219 (grub_script_argv_free): New function.
18220 (grub_script_argv_next): Likewise.
18221 (grub_script_argv_append): Likewise.
18222 (grub_script_argv_split_append): Likewise.
18223 * include/grub/script_sh.h (grub_script_argv): New struct.
18224 (grub_script_argv_free): New function.
18225 (grub_script_argv_next): Likewise.
18226 (grub_script_argv_append): Likewise.
18227 (grub_script_argv_split_append): Likewise.
18228
18229 * conf/common.rmk (normal.mod): New source script/argv.c.
18230
18231 * tests/grub_script_echo1.in: More tests.
18232 * tests/grub_script_vars1.in: Likewise.
18233 * tests/grub_script_functions.in: New test case.
18234 * conf/tests.rmk: Rules for new testcase.
18235
8022b748
BC
182362010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18237
18238 Remove grub_script_cmdblock struct.
18239
18240 * include/grub/script_sh.h: Remove grub_script_cmdblock.
18241 * script/parser.y: Likewise.
18242 * script/execute.c: Rename cmdblock suffix to cmdlist.
18243 * script/script.c: Likewise.
18244 * util/grub-script-check.c: Likewise.
18245
79a6ba61
YB
182462010-08-11 Yves Blusseau <blusseau@zetam.org>
18247
18248 * .bzrignore: add grub-macho2img
18249
d04b9414
VS
182502010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18251
18252 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
18253
f947ab49
VS
182542010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18255
18256 Remove the dump of sm712 initialisation sequence.
18257
18258 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
18259 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
18260 (GRUB_VGA_IO_MISC_WRITE): Likewise.
18261 (GRUB_VGA_CR_*): Added many registers.
18262 (GRUB_VGA_SR_*): Likewise.
18263 (GRUB_VGA_GR_*): Likewise.
18264 (grub_vga_write_arx): New function.
18265 (grub_video_hw_config): New struct.
18266 (grub_vga_set_geometry): New function.
18267 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
18268 GRUB_PCI_CLASS_SUBCLASS_VGA.
18269 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
18270 * video/sm712.c (grub_sm712_write_reg): New function
18271 (grub_sm712_read_reg): Likewise.
18272 (grub_sm712_sr_write): Likewise.
18273 (grub_sm712_gr_write): Likewise.
18274 (grub_sm712_cr_write): Likewise.
18275 (grub_sm712_write_arx): Likewise.
18276 (grub_sm712_cr_shadow_write): Likewise.
18277 (grub_sm712_write_dda_lookup): Likewise.
18278 (grub_video_sm712_setup): Initialise the video rather then
18279 blindly replay the dump.
18280 (main) [TEST]: Add a routine to be able to compile as standalone for
18281 tests.
18282 * video/sm712_init.c (sm712_init): Removed.
18283 (sm712_sr_seq1): New array.
18284 (sm712_sr_seq2): Likewise.
18285
f0206638
VS
182862010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18287
18288 * include/grub/vga.h: Add missing grub/pci.h include.
18289
2764da3b
YB
182902010-08-10 Yves Blusseau <blusseau@zetam.org>
18291
18292 * util/grub-macho2img.c (main): fix typo
18293
cf0c775e
VS
182942010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18295
18296 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
18297 (grub_vga_gr_read): Likewise.
18298 (grub_vga_cr_write): Likewise.
18299 (grub_vga_cr_read): Likewise.
18300 (grub_vga_sr_write): Likewise.
18301 (grub_vga_sr_read): Likewise.
18302 (grub_vga_palette_read): Likewise.
18303 (grub_vga_palette_write): Likewise.
18304 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
18305 (grub_sm712_sr_read): New function.
18306 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
18307 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
18308
07f360e9
RM
183092010-08-09 Robert Millan <rmh@gnu.org>
18310
18311 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
18312 out unused variables on non-ZFS build.
18313
346c2072
RM
183142010-08-08 Robert Millan <rmh@gnu.org>
18315
18316 Fix path generation for sub-filesystems in ZFS.
18317
18318 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
18319 missing slash.
18320
71175420
RM
183212010-08-08 Robert Millan <rmh@gnu.org>
18322
18323 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
18324
0d8286f3
RM
183252010-08-08 Robert Millan <rmh@gnu.org>
18326
18327 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
18328 exist, issue a proper error message (rely on `ls' for translated
18329 strings).
18330
55dd2924
RM
183312010-08-08 Robert Millan <rmh@gnu.org>
18332
18333 Fix grub-probe invocation.
18334
18335 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
18336
d3dd9e80
RM
183372010-08-04 Robert Millan <rmh@gnu.org>
18338
18339 * configure.ac: Remove checks for getfsstat() and getmntany().
18340 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
18341 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
18342 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
18343 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
18344 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
18345 function.
18346 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
18347 via find_mount_point_from_dir() and getfsstat() / getmntany().
18348
0de22aa9
RM
183492010-08-04 Robert Millan <rmh@gnu.org>
18350
18351 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18352 (grub_find_zpool_from_mount_point): Merge into ...
18353 (grub_find_zpool_from_dir): ... this.
18354 * kern/emu/misc.c: Likewise.
18355
18356 * kern/emu/misc.c
18357 (grub_make_system_path_relative_to_its_root): Replace
18358 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
18359 with grub_find_zpool_from_dir().
18360 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
18361
62858144
RM
183622010-08-04 Robert Millan <rmh@gnu.org>
18363
18364 Support OpenSolaris in ZFS device resolution.
18365
18366 * configure.ac: Check for getmntany().
18367 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
18368 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
18369 support.
18370
9dd6fd50
RM
183712010-08-03 Robert Millan <rmh@gnu.org>
18372
18373 Fix grub-emu build.
18374
18375 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
18376 * include/grub/emu/misc.h: ... here.
18377
18378 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
18379 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
18380
18381 * util/misc.c: Remove `<grub/util/libzfs.h>'.
18382 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
18383 (grub_get_libzfs_handle): Move to ...
18384 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
18385 (grub_get_libzfs_handle): ... here.
18386
c9f7ff97
BC
183872010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
18388
18389 * script/execute.c (grub_script_execute_cmdline): Check for NULL
18390 as command name case.
18391
a870a783
CW
183922010-08-02 Colin Watson <cjwatson@ubuntu.com>
18393
18394 * disk/raid.c (insert_array): Select unique numbers for named arrays
18395 as well, for use as keys in the disk cache.
18396
c7db243b
RM
183972010-08-01 Robert Millan <rmh@gnu.org>
18398
18399 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
18400 kFreeBSD device name, except on ZFS where the filesystem label is
18401 used.
18402 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
18403 `/boot/zfs/zpool.cache'.
18404 Set mountfrom kernel variable using ${kfreebsd_device}.
18405
f7abdefb
RM
184062010-08-01 Robert Millan <rmh@gnu.org>
18407
18408 Make it even harder to use uninitialized `libzfs_handle' (and
18409 make the interface a bit simpler).
18410
18411 * include/grub/util/misc.h (grub_util_init_libzfs)
18412 (libzfs_handle): Remove.
18413 (grub_get_libzfs_handle): New prototype.
18414
18415 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
18416 attribute.
18417 (grub_util_init_libzfs): Remove.
18418 (grub_get_libzfs_handle): New function.
18419
18420 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
18421 grub_get_libzfs_handle() to obtain a libzfs handle instead of
18422 accessing `libzfs_handle' directly.
18423
c882acc0
RM
184242010-08-01 Robert Millan <rmh@gnu.org>
18425
18426 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18427 (grub_find_zpool_from_mount_point): New function prototypes.
18428
18429 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18430 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18431
18432 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18433 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18434 `static' attribute.
18435
18436 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18437 finding zpool from mount point into ...
18438 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18439
18440 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18441 requested path is part of a ZFS pool, use
18442 grub_find_zpool_from_mount_point() to detect its filesystem name,
18443 and generate a path with `/fsname@path' syntax.
18444
8bfe31d8
CW
184452010-08-01 Colin Watson <cjwatson@ubuntu.com>
18446
18447 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
18448 (void) rather than () so that this is a proper prototype.
18449
553df63d
VS
184502010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18451
18452 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
18453
8687cf07
VS
184542010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18455
18456 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
18457 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
18458
ea9be8ea
CW
184592010-08-01 Colin Watson <cjwatson@ubuntu.com>
18460
18461 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
18462
6eea041a
CW
184632010-08-01 Colin Watson <cjwatson@ubuntu.com>
18464
18465 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
18466
2cfb45df
CW
184672010-08-01 Colin Watson <cjwatson@ubuntu.com>
18468
18469 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
18470 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
18471 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
18472 disable gfxpayload.
18473 (Shell-like scripting): Add real content.
18474 (Serial terminal): Suggest `terminal_input serial; terminal_output
18475 serial' rather than putting the two commands on separate lines,
18476 since console input will be inoperative after the first command.
18477 (menuentry): Document --class, --users, and --hotkey options.
18478 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
18479 Vladimir Serbinenko).
18480
7decd202
VS
184812010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
184822010-08-01 Colin Watson <cjwatson@ubuntu.com>
18483
18484 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
18485
c882acc0
RM
184862010-08-01 Robert Millan <rmh@gnu.org>
18487
18488 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18489 (grub_find_zpool_from_mount_point): New function prototypes.
18490
18491 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18492 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18493
18494 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18495 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18496 `static' attribute.
18497
18498 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18499 finding zpool from mount point into ...
18500 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18501
18502 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18503 requested path is part of a ZFS pool, use
18504 grub_find_zpool_from_mount_point() to detect its filesystem name,
18505 and generate a path with `/fsname@path' syntax.
18506
deb0caa3
RM
185072010-08-01 Robert Millan <rmh@gnu.org>
18508
18509 Prevent accidental use of uninitialized libzfs_handle.
18510
18511 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
18512 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
18513 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
18514
ce04ef47
CW
185152010-08-01 Colin Watson <cjwatson@ubuntu.com>
18516
18517 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
18518 util/grub.d/10_linux.in). Fixes Debian bug #591093.
18519
ebf53056
RM
185202010-08-01 Robert Millan <rmh@gnu.org>
18521
18522 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 18523
3710bb6b
RM
185242010-07-31 Robert Millan <rmh@gnu.org>
18525
18526 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
18527
8072efeb
RM
185282010-07-31 Robert Millan <rmh@gnu.org>
18529
18530 * kern/emu/misc.c: Add missing license header.
18531
3169f4c7
RM
185322010-07-31 Robert Millan <rmh@gnu.org>
18533
18534 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
18535
18536 * include/grub/util/libnvpair.h: Include `<config.h>'.
18537 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
18538 declaring libnvpair prototypes ourselves.
18539 * include/grub/util/libzfs.h: Include `<config.h>'.
18540 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
18541 declaring libzfs prototypes ourselves.
18542
18543 (libzfs_handle): Moved to ...
18544 * include/grub/util/misc.h (libzfs_handle): ... here.
18545 Include `<grub/util/libzfs.h>'.
18546
c9a00aee
RM
185472010-07-30 Robert Millan <rmh@gnu.org>
18548
18549 * include/grub/emu/misc.h: Add missing license header.
18550
a184f9c8
RM
185512010-07-30 Robert Millan <rmh@gnu.org>
18552
18553 Enable `grub-probe -t device' resolution on ZFS.
18554
18555 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
18556 * include/grub/util/libnvpair.h: New file.
18557 * include/grub/util/libzfs.h: New file.
18558
18559 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
18560 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
18561 `<grub/util/libnvpair.h>'.
18562 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
18563
18564 (find_mount_point_from_dir): New static function.
18565 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
18566 function.
18567 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
18568 find_root_device_from_libzfs() before ressorting to find_root_device().
18569
18570 * include/grub/util/misc.h (grub_util_init_libzfs): New function
18571 prototype.
18572 * util/misc.c: Include `<grub/util/libzfs.h>'.
18573 (grub_util_init_libzfs): New function.
18574 [HAVE_LIBZFS] (libzfs_handle): New global variable.
18575 [HAVE_LIBZFS] (fini_libzfs): New static function.
18576 (grub_util_init_libzfs): New function.
18577 * util/grub-probe.c (main): Call grub_util_init_libzfs().
18578
f7790cdd
RM
185792010-07-30 Robert Millan <rmh@gnu.org>
18580
18581 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
18582 (xmalloc, xrealloc, xstrdup, xasprintf): Add
18583 `warn_unused_result' attribute.
18584 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
18585 (grub_xasprintf, grub_xvasprintf): Likewise.
18586 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
18587
0806b63c
RM
185882010-07-29 Robert Millan <rmh@gnu.org>
18589
18590 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
18591 (probe): Handle `PRINT_FS_LABEL'.
18592 (main): Handle `-t fs_label'.
18593
9f841f5c
RM
185942010-07-29 Robert Millan <rmh@gnu.org>
18595
18596 * configure.ac: Remove grub-mkisofs checks.
18597
46371121
VS
185982010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18599
18600 * util/ieee1275/grub-install.in: Don't use empty grub_device.
18601 Reported by: Lennart Sorensen.
18602
186032010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18604
18605 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
18606 prior to terminal_input/terminal_output separation. It's been over 1.5
18607 years and those versions weren't widely deployed.
18608
a9600892
CW
186092010-07-22 Colin Watson <cjwatson@ubuntu.com>
18610
18611 * disk/raid.c (insert_array): Don't count named arrays when looking
18612 for unused array numbers.
697e053c 18613 Reported and tested by: Michael Guntsche.
a9600892 18614
c03507df
CW
186152010-07-20 Colin Watson <cjwatson@ubuntu.com>
18616
18617 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
18618 implementation of this so that grub-emu links again, with a note
18619 that this should support hotplugging in the future.
18620
b26f1c11
CW
186212010-07-20 Colin Watson <cjwatson@ubuntu.com>
18622
18623 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18624
efc9d7f1
CW
186252010-07-20 Colin Watson <cjwatson@ubuntu.com>
18626
18627 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
18628 handle on failure.
18629 (grub_loopback_close): Remove empty function.
18630 (grub_loopback_dev): Remove close method.
18631
dd8ff5c9
CW
186322010-07-20 Colin Watson <cjwatson@ubuntu.com>
18633
18634 Disable EFI cursor when the EFI console becomes inactive.
18635
18636 * term/efi/console.c (grub_efi_console_init): New function.
18637 (grub_efi_console_fini): New function.
18638 (grub_console_term_output): Register init and fini methods.
18639
5e3bec67
VS
186402010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18641
18642 * tests/util/grub-shell-tester.in: Remove bashism and declare as
18643 sh script.
18644
afaec079
VS
186452010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18646
18647 * disk/loopback.c (grub_loopback): Replace filename with file.
18648 (delete_loopback): Handle new semantics.
18649 (grub_cmd_loopback): Likewise.
18650 (grub_loopback_iterate): Likewise.
18651 (grub_loopback_close): Likewise.
18652
a6a11f3c
VS
186532010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18654
18655 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
18656 with -p "".
18657 Reported by: Tito Keitel.
18658
64a638b0
VS
186592010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18660
18661 * docs/grub.texi (Naming convention): Document new naming convention.
18662
ab8ba957
VS
186632010-07-20 Vadim Solomin <vadic052@gmail.com>
186642010-07-20 Colin Watson <cjwatson@ubuntu.com>
18665
18666 Generate device.map in something closer to the old ordering.
18667
18668 * util/deviceiter.c (struct device): New declaration.
18669 (compare_file_names): Rename to ...
18670 (compare_devices): ... this. Sort by kernel name in preference to
18671 the stable by-id name, but keep the latter as a fallback comparison.
18672 Update header comment.
18673 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
18674 of `struct device' rather than of plain file names.
18675
a29d6a4b
TF
186762010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
18677
18678 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
18679 on i386.
18680
39d824e8
VS
186812010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18682
18683 * commands/acpi.c (setup_common_tables): Use sizeof instead of
18684 hardcoding size.
18685 (setv1table): Likewise.
18686
f058276b
FZ
186872010-07-20 Colin Watson <cjwatson@ubuntu.com>
18688
18689 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
18690 removing the homehost if present.
18691 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
18692 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
18693 removing the homehost if present.
18694 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
18695 if possible.
18696 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
18697
18698 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
18699 parameter. Set its pointer target to 0.
18700 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
18701 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
18702 `data_offset' value from the superblock for 1.x metadata.
18703 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
18704 data on the device.
18705 (insert_array): Record the start sector of data on the device.
18706 (grub_raid_register): Pass start_sector parameters to
18707 grub_raid_list->detect and insert_array.
18708 * include/grub/raid.h (struct grub_raid_array): Add start_sector
18709 member.
18710 (struct grub_raid): Add start_sector parameter to `detect'.
18711
18712 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
18713 __attribute__ ((packed)), leaving a comment.
18714 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
18715 (grub_mdraid_detect_09): ... here and ...
18716 (grub_mdraid_detect_1x): ... here.
18717
187182010-07-20 Peter Henn <peter.henn@web.de>
18719
18720 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
18721 chunk size and disk size, which are already given as sector counts
18722 as distinct from the 0.90 units. Fetch the correct device number
18723 from the role table instead of using the table index.
18724
187252010-07-20 Felix Zielcke <fzielcke@z-51.de>
18726
18727 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
18728 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
18729 (WriteMostly1): New macro.
18730 Set array->name to NULL for metadata format 0.90. Add support for
18731 metadata 1.x. Fix some comments.
18732 * disk/raid.c (): Add support for name based RAID arrays. Fix a
18733 few comments.
18734 * util/getroot.c (grub_util_get_grub_dev): Add support for
18735 /dev/md/name style devices.
18736
4b761da9
CW
187372010-07-20 Colin Watson <cjwatson@ubuntu.com>
18738
18739 * .bzrignore: Ignore 20_linux_xen.
18740
5771289a
CW
187412010-07-17 Colin Watson <cjwatson@ubuntu.com>
18742
18743 * util/import_unicode.py: Remove unnecessary imports.
18744
5dab68df
AN
187452010-07-17 Aleš Nesrsta <starous@volny.cz>
18746
18747 Hotplugging and USB hub support.
18748
18749 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
18750 (grub_ohci): Likewise.
18751 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
18752 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
18753 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
18754 (GRUB_OHCI_CTRL_EDS): Likewise.
18755 (GRUB_OHCI_BULK_EDS): Likewise.
18756 (GRUB_OHCI_TDS): Likewise.
18757 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
18758 (grub_ohci_ed_phys2virt): New function.
18759 (grub_ohci_virt_to_phys): Likewise.
18760 (grub_ohci_td_phys2virt): Likewise.
18761 (grub_ohci_td_virt2phys): Likewise.
18762 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
18763 attachment.
18764 (grub_ohci_find_ed): New function.
18765 (grub_ohci_alloc_td): Likewise.
18766 (grub_ohci_free_td): Likewise.
18767 (grub_ohci_free_tds): Likewise.
18768 (grub_ohci_transfer): Use previously allocated memory.
18769 (grub_ohci_portstatus): Reset status changed bit.
18770 (grub_ohci_detect_dev): Supply status changed.
18771 (grub_ohci_fini_hw): Free memory.
18772 (grub_ohci_restore_hw): Reallocate memory.
18773 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
18774 Reset status change.
18775 (grub_uhci_detect_dev): Supply status_change.
18776 * bus/usb/usb.c (attach_hooks): New var.
18777 (grub_usb_device_attach): New function.
18778 (grub_usb_register_attach_hook_class): Likewise.
18779 (grub_usb_unregister_attach_hook_class): Likewise.
18780 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
18781 (grub_usb_add_hub): Reset connection changed bit.
18782 (attach_root_port): New function.
18783 (grub_usb_root_hub): Likewise.
18784 (poll_nonroot_hub): Likewise.
18785 (grub_usb_poll_devices): Likewise.
18786 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
18787 * disk/usbms.c (grub_usbms_open): Use device hooks.
18788 (grub_usbms_iterate) :Poll devices.
18789 (grub_usbms_finddevs): Split into ...
18790 (grub_usbms_attach): ... this ...
18791 (grub_usbms_attach): ... and this.
18792 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
18793 in detect_dev.
18794 (grub_usb_interface): New fields attached and detach_hook.
18795 (grub_usb_attach_hook_class): New type.
18796 (grub_usb_attach_desc): New struct.
18797 (grub_usb_register_attach_hook_class): New function.
18798 (grub_usb_unregister_attach_hook_class): Likewise.
18799 (grub_usb_poll_devices): Likewise.
18800 (grub_usb_device_attach): Likewise.
18801 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
18802 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
18803
3222efaf
VS
188042010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18805
18806 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
18807 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
18808 delta determination style. Works with most NetBSD partitions too.
18809
139b714a
VS
188102010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18811
18812 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
18813 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
18814
986aad56
VS
188152010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18816
18817 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
18818
99be513c
AB
188192010-07-14 Anton Blanchard <anton@samba.org>
18820
18821 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
18822 ET_DYN files.
18823
18075f62
GS
188242010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18825
18826 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
18827
8d9a5b15
GS
188282010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18829
18830 * kern/partition.c (grub_partition_check_containment): New function to
18831 check that a partition is physically contained in a parent. Since
18832 offsets are relative (and non-negative), this reduces to checking that
18833 the partition ends before its parent.
18834 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18835 (grub_partition_iterate): Likewise.
18836 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18837 comments.
18838 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18839 partitions that start before their parent, and add debug printfs.
18840
19563c25
CW
188412010-07-13 Colin Watson <cjwatson@ubuntu.com>
18842
18843 * Makefile.in (.SUFFIX): Spell correctly, as ...
18844 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18845 bare module name without `.mod', e.g. `test') tried to invoke a
18846 Modula-2 compiler.
18847
1a1f1e67
CW
188482010-07-13 Colin Watson <cjwatson@ubuntu.com>
18849
18850 * README: Point to the Info manual.
18851
811b0dca
JS
188522010-07-13 Jiro SEKIBA <jir@unicus.jp>
18853
18854 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18855 2nd superblock position from partition size.
18856
e4f4eafc
CW
188572010-07-10 Colin Watson <cjwatson@ubuntu.com>
18858
18859 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18860 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18861 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18862 outputs.
18863
4274c30f
VS
188642010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18865
18866 Restructure SCSI .id handling.
18867 Reported and tested by: Aleš Nesrsta.
18868
18869 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18870 (grub_atapi_dev): Changed .name to "ata". New field .id.
18871 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18872 (grub_usbms_dev): New field .id.
18873 * disk/scsi.c (grub_scsi_iterate): Generate name.
18874 (grub_scsi_open): Parse name.
18875 * include/grub/scsi.h (grub_make_scsi_id): New function.
18876 (grub_scsi_dev): Change iterate and open to number instead of naming
18877 busses. All users updated.
18878 (grub_scsi): Remove name. Add .bus.
18879
5bc24388
VS
188802010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18881
18882 * commands/help.c (grub_cmd_help): Fix a typo.
18883
249975ba
VS
188842010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18885
18886 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18887 Reported and tested by: Colin Watson.
18888
3eaac1a1
VS
188892010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18890
18891 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18892 in this context.
18893
becce1b1
VS
188942010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18895
18896 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18897
f7bf0918
CW
188982010-07-07 Colin Watson <cjwatson@ubuntu.com>
18899
18900 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18901 indentation.
18902
0b0f9620
CW
189032010-07-06 Colin Watson <cjwatson@ubuntu.com>
18904
18905 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18906 and disk/raid6_recover.c.
18907 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18908 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18909
1e545469
CW
189102010-07-06 Colin Watson <cjwatson@ubuntu.com>
18911
18912 * term/gfxterm.c (repaint_schedulded): Rename to ...
18913 (repaint_scheduled): ... this. Update all callers.
18914 (repaint_was_schedulded): Rename to ...
18915 (repaint_was_scheduled): ... this. Update all callers.
18916
5357687a
CW
189172010-07-06 Colin Watson <cjwatson@ubuntu.com>
18918
18919 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18920 which we expect to be handled by upper layers.
18921
29d7e783
BC
189222010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18923
18924 * bus/usb/usbhub.c: #include time.h header.
18925
37582066
CW
189262010-07-06 Colin Watson <cjwatson@ubuntu.com>
18927
18928 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18929 entry_name also for entries without stat blocks (e.g. ".."); fixes
18930 corruption of the first entry in a directory.
18931
c8c06953
CW
189322010-07-06 Colin Watson <cjwatson@ubuntu.com>
18933
18934 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18935 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18936 doesn't work otherwise.
18937
e75056f1
CW
189382010-07-05 Colin Watson <cjwatson@ubuntu.com>
18939
18940 * docs/grub.texi (Features): Update list of supported file systems.
18941 (GNU/Linux): Update for GRUB 2.
18942 (Serial terminal): Remove mention of --disable-serial, which was a
18943 GRUB Legacy configure option. Update instructions to use
18944 `terminal_input' and `terminal_output' rather than `terminal'.
18945 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18946 configuration' and `Installing GRUB using grub-install'.
18947 (Menu entry editor): Update for GRUB 2.
18948 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18949 Document new -a, -u, and -v options.
18950 (initrd): New section.
18951 (initrd16): New section.
18952 (linux): New section.
18953 (linux16): New section.
18954 (search): The `var' argument to `--set' is optional.
18955 (GRUB only offers a rescue shell): Go into a little more detail on
18956 drive ordering.
18957
5cf69151
CW
189582010-07-05 Colin Watson <cjwatson@ubuntu.com>
18959
18960 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18961
e3f90044
CW
189622010-07-05 Colin Watson <cjwatson@ubuntu.com>
18963
18964 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18965 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18966
38d8f4f3
CW
189672010-07-05 Colin Watson <cjwatson@ubuntu.com>
18968
18969 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18970 install_prefix, in line with install_dos_part and install_bsd_part.
18971 Add new prefix variable, which is copied to install_prefix after
18972 comparing core.img in memory with the one read from disk in the
18973 no-embedding case, and use that rather than overwriting
18974 install_prefix immediately when installing to a partition.
18975 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18976 Bicakci.
18977
57ebd41e
GS
189782010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18979
18980 * configure.ac: Avoid == in test command, it's not portable.
18981 * util/grub.d/30_os-prober.in: Likewise.
18982
cb7f64b2
CW
189832010-07-04 Colin Watson <cjwatson@ubuntu.com>
18984
18985 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
18986
6b654bb0
GS
189872010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18988
18989 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
18990 multiple (top-level) partmaps.
18991
72a2026d
VS
189922010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18993
18994 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 18995 Reported by: Tino Keitel.
72a2026d 18996
df3eb88f
VS
189972010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18998
18999 Bidi and diacritics support.
19000
19001 * Makefile.in (widthspec.bin): New target.
19002 (widthspec.h): Likewise.
19003 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
19004 * autogen.sh: Generate unidata.c.
19005 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
19006 * commands/ls.c (grub_ls_list_devices): Likewise.
19007 (grub_ls_list_files): Likewise.
19008 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
19009 (grub_mini_cmd_lsmod): Likewise.
19010 * commands/read.c: Likewise.
19011 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
19012 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
19013 * lib/arg.c (grub_arg_show_help): Likewise.
19014 * lib/crypto.c (grub_password_get): Likewise.
19015 * normal/auth.c (grub_username_get): Likewise.
19016 * normal/misc.c (grub_normal_print_device_info): Likewise.
19017 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
19018 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
19019 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
19020 (normal/charset.c_DEPENDENCIES): New variable.
19021 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
19022 (pkglib_MODULES): Remove charset.mod.
19023 (charset_mod_SOURCES): Removed.
19024 (charset_mod_CFLAGS): Likewise.
19025 (charset_mod_LDFLAGS): Likewise.
19026 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
19027 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
19028 and term/tparm.c.
19029 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19030 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19031 (kernel_img_HEADERS): Add terminfo.h.
19032 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
19033 Fill ->font. Reverse ascii bitmaps.
19034 (grub_font_get_xheight): New function.
19035 * font/font.c (grub_font_get_string_width): Moved from here ...
19036 * gfxmenu/font.c (grub_font_get_string_width): ... here.
19037 * font/font.c (grub_font_draw_string): Moved from here ...
19038 * gfxmenu/font.c (grub_font_draw_string): ... here.
19039 * font/font.c (grub_font_dup_glyph): New function.
19040 (grub_font_blit_glyph): Likewise.
19041 (grub_font_blit_glyph_mirror): Likewise.
19042 (blit_comb): Likewise.
19043 (grub_font_construct_dry_run): Likewise.
19044 (grub_font_get_constructed_device_width): Likewise.
19045 (grub_font_construct_glyph): Likewise.
19046 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
19047 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
19048 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
19049 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
19050 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
19051 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
19052 (grub_font_get_xheight): New proto.
19053 (grub_font_get_constructed_device_width): Likewise.
19054 (grub_font_construct_glyph): Likewise.
19055 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
19056 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
19057 * include/grub/font.h (grub_font_draw_string): Moved from here ...
19058 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
19059 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
19060 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
19061 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
19062 (grub_console_getcharwidth): Likewise.
19063 * include/grub/misc.h (grub_xputs): New proto.
19064 (grub_puts): Inlined.
19065 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
19066 (grub_normal_get_line_counter): Removed.
19067 (grub_install_newline_hook): Likewise.
19068 (grub_normal_get_char_counter): New proto.
19069 (grub_normal_reset_more): Likewise.
19070 (grub_xputs_normal): Likewise.
19071 * include/grub/powerpc/ieee1275/console.h: Removed.
19072 * include/grub/sparc64/ieee1275/console.h: Likewise.
19073 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
19074 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
19075 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
19076 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
19077 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
19078 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
19079 (grub_term_input): Pass reference to self. All users updated.
19080 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
19081 Pass reference to self. New fields normal_color, highlight_color and
19082 data. All users updated.
19083 (grub_putchar): Removed.
19084 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
19085 (grub_unicode_estimate_width): New function.
19086 (grub_term_getcharwidth): Add defaults.
19087 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
19088 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
19089 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
19090 (grub_cls): Remove EXPORT_FUNC.
19091 (grub_setcolorstate): Inline.
19092 (grub_newline_hook): Removed.
19093 * include/grub/terminfo.h: Rewritten. All users updated.
19094 * include/grub/unicode.h: New file.
19095 * include/grub/video.h (grub_video_signed_rect): New type.
19096 * kern/emu/console.c (grub_console_highlight_color): Removed.
19097 (grub_console_normal_color): Likewise.
19098 (grub_console_standard_color): Made static.
19099 (grub_ncurses_putchar): Remove mapping.
19100 (grub_ncurses_getcharwidth): Removed.
19101 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
19102 (grub_ncurses_setcolor): Removed.
19103 (grub_ncurses_getcolor): Likewise.
19104 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
19105 (grub_console_putchar): ... this.
19106 (grub_console_putchar): Handle argument difference.
19107 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
19108 console_init_early and console_init_lately.
19109 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
19110 * kern/misc.c (grub_puts): Removed.
19111 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
19112 (grub_vsnprintf_real): Remove str = NULL support.
19113 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
19114 * normal/charset.c (grub_utf8_to_ucs4): ... here.
19115 * kern/term.c (grub_putcode): Renamed to ...
19116 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
19117 (grub_putchar): Removed.
19118 (grub_xputs_dumb): New function.
19119 (grub_xputs): New variable.
19120 * lib/charset.c: Move from here ...
19121 * normal/charset.c: ... to here.
19122 (grub_ucs4_to_utf8): New function.
19123 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
19124 (join_types): New variable.
19125 (unpack_join): New function.
19126 (bidi_types): New variable.
19127 (unpack_bidi): New function.
19128 (get_bidi_type): Likewise.
19129 (get_join_type): Likewise.
19130 (is_mirrored): Likewise.
19131 (grub_unicode_get_comb_type): Likewise.
19132 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
19133 (is_type_after): Likewise.
19134 (grub_unicode_aglomerate_comb): Likewise.
19135 (bidi_line_wrap): Likewise.
19136 (grub_bidi_line_logical_to_visual): Likewise.
19137 (grub_bidi_logical_to_visual): Likewise.
19138 (grub_unicode_mirror_code): Likewise.
19139 (grub_unicode_shape_code): Likewise.
19140 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
19141 Don't use grub_putchar.
19142 * normal/main.c (grub_normal_init_page): Use grub_putcode.
19143 (grub_normal_reader_init): Likewise.
19144 (grub_xputs_saved): New variable.
19145 (GRUB_MOD_INIT): Set grub_xputs.
19146 (GRUB_MOD_FINI): Restore grub_xputs.
19147 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
19148 (menu_init): Avoid printing gfxmenu error.
19149 (show_menu): Use grub_normal_get_char_counter.
19150 * normal/menu_entry.c (update_screen): Fix out-of-array.
19151 (complete): Avoid NULL dereferencing.
19152 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
19153 * normal/menu_text.c (print_spaces): Removed.
19154 (grub_print_ucs4): Likewise.
19155 (grub_print_message_indented): Use grub_print_ucs4.
19156 (print_message): Use grub_putcode.
19157 (print_entry): Hanlde diacritics.
19158 * normal/term.c (term_state): New type.
19159 (grub_more_lines): Removed.
19160 (term_states): New variable.
19161 (grub_normal_line_counter): Renamed to ..
19162 (grub_normal_char_counter): ...this. All users updated.
19163 (grub_normal_get_line_counter): Renamed to ...
19164 (grub_normal_get_char_counter): ... this.
19165 (grub_normal_reset_more): New function.
19166 (process_newline): Removed.
19167 (print_more): New function.
19168 (grub_install_newline_hook): Removed.
19169 (map_code): New function.
19170 (grub_puts_terminal): Use grub_print_ucs4.
19171 (putglyph): New function.
19172 (putcode_real): Likewise.
19173 (grub_putcode): Use putcode_real.
19174 (get_maxwidth): New function.
19175 (get_startwidth): Likewise.
19176 (print_ucs4_terminal): Likewise.
19177 (find_term_state): Likewise.
19178 (put_glyphs_terminal): Likewise.
19179 (print_backlog): Likewise.
19180 (print_ucs4_real): Likewise.
19181 (grub_print_ucs4): Likewise.
19182 (grub_xputs_normal): Likewise.
19183 * term/efi/console.c (grub_console_putchar): Output diacritics.
19184 (grub_console_getcharwidth): Removed.
19185 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19186 * term/gfxterm.c (clear_char): Free chars.
19187 (scroll_up): Avoid leaking memory.
19188 (grub_gfxterm_putchar): Support diacritics.
19189 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19190 * term/i386/pc/console.c (grub_console_term_output): Declare as
19191 GRUB_TERM_CODE_TYPE_VGA.
19192 * term/i386/pc/vga.c (grub_vga_term): Declare as
19193 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
19194 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
19195 GRUB_TERM_CODE_TYPE_VGA.
19196 * term/i386/vga_common.c (map_char): Removed.
19197 (grub_console_putchar): Likewise.
19198 (grub_console_getcharwidth): Likewise.
19199 * term/ieee1275/ofconsole.c: Simplify using terminfo.
19200 (colors): Reordered to match terminfo.
19201 (grub_ofconsole_normal_color): Removed.
19202 (grub_ofconsole_writeesc): Likewise.
19203 (grub_ofconsole_highlight_color): Likewise.
19204 (grub_ofconsole_getcharwidth): Likewise.
19205 (grub_ofconsole_setcolorstate): Likewise.
19206 (grub_ofconsole_setcolor): Likewise.
19207 (grub_ofconsole_getcolor): Likewise.
19208 (grub_ofconsole_readkey): Renamed to ...
19209 (readkey): ... this. Remove escape sequence handling. Return -1 on no
19210 key.
19211 (grub_ofconsole_checkkey): Removed.
19212 (grub_ofconsole_getkey): Likewise.
19213 (grub_ofconsole_getxy): Likewise.
19214 (grub_ofconsole_gotoxy): Likewise.
19215 (grub_ofconsole_cls): Likewise.
19216 (grub_ofconsole_refresh): Likewise.
19217 (grub_ofconsole_terminfo_input): New struct.
19218 (grub_ofconsole_terminfo_output): Likewise.
19219 (grub_ofconsole_term_input): Use terminfo.
19220 (grub_ofconsole_term_output): Likewise.
19221 (grub_console_init): Split into ...
19222 (grub_console_init_early): ...this and ...
19223 (grub_console_init_lately): ...this. Use terminfo.
19224 (grub_ofconsole_putchar): Renamed to ...
19225 (put): ... this. Remove mapping.
19226 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
19227 * term/serial.c: Simplify using terminfo.
19228 (xpos): Removed.
19229 (ypos): Likewise.
19230 (keep_track): Likewise.
19231 (registered): Likewise.
19232 (input_buf): Likewise.
19233 (npending): Likewise.
19234 (serial_translate_key_sequence): Likewise.
19235 (fill_input_buf): Likewise.
19236 (grub_serial_checkkey): Likewise.
19237 (grub_serial_getkey): Likewise.
19238 (grub_serial_getxy): Likewise.
19239 (grub_serial_gotoxy): Likewise.
19240 (grub_serial_putchar): Likewise.
19241 (grub_serial_cls): Likewise.
19242 (grub_serial_setcolorstate): Likewise.
19243 (grub_serial_setcursor): Likewise.
19244 (serial_hw_init): Use serial_hw_fetch.
19245 (grub_serial_terminfo_input): New variable.
19246 (grub_serial_terminfo_output): Likewise.
19247 (grub_serial_term_input): Use terminfo.
19248 (grub_serial_term_output): Likewise.
19249 * term/terminfo.c (putstr): Use put.
19250 (grub_terminfo_all_free): New function
19251 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
19252 (grub_terminfo_output_register): New function.
19253 (grub_terminfo_output_unregister): Likewise.
19254 (grub_terminfo_getxy): Likewise.
19255 (grub_terminfo_readkey): Likewise.
19256 (grub_terminfo_checkkey): Likewise.
19257 (grub_terminfo_getkey): Likewise.
19258 (grub_terminfo_input_init): Likewise.
19259 (print_terminfo): Likewise.
19260 (grub_cmd_terminfo): Handle encoding.
19261 (grub_terminfo_gotoxy): Track position.
19262 (grub_terminfo_cls): Likewise.
19263 (grub_terminfo_putchar): Likewise.
19264 (grub_terminfo_setcolorstate): Handle colors
19265 (grub_terminfo_cursor_on): This ...
19266 (grub_terminfo_cursor_off): ... and this merged into ...
19267 (grub_terminfo_setcursor): ... this.
19268 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
19269 * unicode/ArabicShaping.txt: New file (imported from Unicode).
19270 * unicode/BidiMirroring.txt: Likewise.
19271 * unicode/UnicodeData.txt: Likewise.
19272 * unicode/COPYING: Likewise.
19273 * util/grub-editenv.c (grub_putchar): Removed.
19274 (grub_xputs_real): New function.
19275 (grub_xputs): New variable.
19276 * util/grub-fstest.c (grub_putchar): Removed.
19277 (grub_xputs_real): New function.
19278 (grub_xputs): New variable.
19279 * util/grub-mkdevicemap.c (grub_putchar): Removed.
19280 (grub_xputs_real): New function.
19281 (grub_xputs): New variable.
19282 * util/grub-probe.c (grub_putchar): Removed.
19283 (grub_xputs_real): New function.
19284 (grub_xputs): New variable.
19285 * util/grub-script-check.c (grub_putchar): Removed.
19286 (grub_xputs_real): New function.
19287 (grub_xputs): New variable.
19288 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
19289 (grub_xputs_real): New function.
19290 (grub_xputs): New variable.
19291 * util/import_unicode.py: New file.
19292 * util/grub-mkfont.c (ft_errmsgs): New array.
19293 (grub_glyph_info): Make bitmap a pointer.
19294 (file_formats): New type WIDTH_SPEC.
19295 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
19296 (options): Add width-spec.
19297 (help): Likewise.
19298 (add_char): Renamed to ...
19299 (add_glyph): ... this.
19300 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
19301 (glyph_replace): New type.
19302 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
19303 (add_char): New function.
19304 (add_subst): Likewise.
19305 (process_cursive): Likewise.
19306 (add_font): Handle GSUB.
19307 (write_font_width_spec): New function.
19308 (main): Sort glyphs.
19309 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
19310 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
19311 * kern/term.c (grub_cls): Moved from here...
19312 * normal/term.c (grub_cls): ... here.
19313
50f0bcda
CW
193142010-07-02 Colin Watson <cjwatson@ubuntu.com>
19315
19316 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
19317 suitable for using within the format argument of printf when
19318 converting grub_size_t.
19319 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
19320 "x" to convert grub_size_t arguments.
19321
40372103
VS
193222010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19323
19324 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
19325 too long captions.
19326 (list_get_minimal_size): Take selection box into account.
19327
942a10c7
VS
193282010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19329
19330 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
19331 NULL font.
19332
2bdb2892
CW
193332010-07-02 Colin Watson <cjwatson@ubuntu.com>
19334
19335 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
19336 devices when iterating over /dev/disk/by-id; they will be handled
19337 later if appropriate, which they aren't always (e.g. LVM).
19338
e03ed6c1
CW
193392010-07-02 Colin Watson <cjwatson@ubuntu.com>
19340
19341 * include/grub/misc.h (grub_reboot): Declare as noreturn.
19342 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
19343 fails.
19344 (grub_halt): Likewise.
19345 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
19346 reset-all fails.
19347 (grub_halt): Don't return, even if all of shut-down, power-off, and
19348 poweroff fail.
19349
47695765
CW
193502010-07-02 Colin Watson <cjwatson@ubuntu.com>
19351
19352 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
19353 arguments, not three.
19354
507736c8
CW
193552010-07-02 Colin Watson <cjwatson@ubuntu.com>
19356
19357 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
19358 * util/grub.d/10_linux.in: Use it to check for LVM, so that
19359 LVM-on-RAID is handled correctly.
19360
e3c8cd37
CW
193612010-07-02 Colin Watson <cjwatson@ubuntu.com>
19362
19363 * docs/grub.texi (Changes from GRUB Legacy): New section.
19364 (Future): Fix typo.
19365
8d4a2fec
CW
193662010-07-02 Colin Watson <cjwatson@ubuntu.com>
19367
19368 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
19369 grub.d/README accidentally ends up executable for one reason or
19370 another. Ignore it.
19371
1c4827be
VS
193722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19373
19374 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
19375 (gpt_partition_map_iterate): Support non-512B sectors.
19376
d9a0c941
VS
193772010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19378
19379 * kern/efi/init.c (grub_efi_init): Disable watchdog.
19380 Tested by: Seth Goldberg.
19381
48f27e87
VS
193822010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19383
19384 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
19385 Properly align mbi.
19386 Reported by: Seth Goldberg.
19387
b0c4f956
VS
193882010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19389
19390 * util/grub-mkrescue.in: Avoid module duplication.
19391
105a2e8c
SF
193922010-07-01 Sean Finney <seanius@seanius.net>
19393
19394 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
19395
5944958c
SF
193962010-07-01 Sean Finney <seanius@seanius.net>
19397
19398 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
19399
194002010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19401
19402 * disk/lvm.c (grub_lvm_checkvalue): New function.
19403 (grub_lvm_check_flag): Likewise.
19404
b79889ba
RM
194052010-07-01 Robert Millan <rmh@gnu.org>
19406
19407 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
19408 Support 'p' as partition separator on kernel of FreeBSD (used
19409 with GPT labels).
19410 (grub_util_biosdisk_get_grub_dev): Likewise.
19411
ec1d04f1
VS
194122010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19413
19414 Yeeloong firmware port.
19415
19416 * boot/mips/yeeloong/fwstart.S: New file.
19417 * bus/cs5536.c (gpiodump): New const.
19418 (set_io_space): New function.
19419 (set_iod): Likewise.
19420 (set_p2d): Likewise.
19421 (grub_cs5536_init_geode): Likewise.
19422 * commands/mips/yeeloong/lsspd.c: New file.
19423 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
19424 (serial_mod_SOURCES): New variable.
19425 (serial_mod_CFLAGS): Likewise.
19426 (serial_mod_LDFLAGS): Likewise.
19427 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
19428 term/terminfo.c and term/tparm.c.
19429 (pkglib_IMAGES): Add fwstart.img.
19430 (fwstart_img_SOURCES): New variable.
19431 (fwstart_img_CFLAGS): Likewise.
19432 (fwstart_img_ASFLAGS): Likewise.
19433 (fwstart_img_LDFLAGS): Likewise.
19434 (fwstart_img_FORMAT): Likewise.
19435 (pkglib_MODULES): Add lsspd.mod.
19436 (lsspd_mod_SOURCES): New variable.
19437 (lsspd_mod_CFLAGS): Likewise.
19438 (lsspd_mod_LDFLAGS): Likewise.
19439 (pkglib_MODULES): Add halt.mod.
19440 (halt_mod_SOURCES): New variable.
19441 (halt_mod_CFLAGS): Likewise.
19442 (halt_mod_LDFLAGS): Likewise.
19443 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
19444 (serial_mod_SOURCES): Removed.
19445 (serial_mod_CFLAGS): Likewise.
19446 (serial_mod_LDFLAGS): Likewise.
19447 * disk/ata.c (check_device): New function.
19448 (grub_ata_device_initialize): Use check_device.
19449 (grub_ata_iterate): Recheck devices.
19450 (grub_ata_open): Likewise.
19451 (grub_atapi_iterate): Likewise.
19452 (grub_atapi_open): Likewise.
19453 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
19454 (GRUB_ATA_CH1_PORT1): Likewise.
19455 (GRUB_ATA_CH0_PORT2): Likewise.
19456 (GRUB_ATA_CH1_PORT2): Likewise.
19457 * include/grub/mips/loongson.h: New file.
19458 * include/grub/mips/yeeloong/ec.h: Likewise.
19459 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
19460 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
19461 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
19462 * include/grub/misc.h (grub_halt): Declare as noreturn.
19463 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
19464 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
19465 (UART_ENABLE_FIFO_TRIGGER1): New definition.
19466 (UART_ENABLE_DTRRTS): Likewise.
19467 (UART_ENABLE_MODEM): Removed.
19468 (UART_ENABLE_OUT2): New const.
19469 * include/grub/term.h (grub_term_register_input_active): New function.
19470 (grub_term_register_output_active): Likewise.
19471 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
19472 argument.
19473 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
19474 (init_pci): New function.
19475 (grub_machine_init): Execute platform init when firmware. Init serial.
19476 (grub_halt): Implement.
19477 (grub_exit): Likewise.
19478 (grub_reboot): Likewise.
19479 * term/serial.c (serial_hw_init): Update macros.
19480 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
19481 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
19482 (image_targets): New target mipsel-yeeloong-flash.
19483 (generate_image): Support IMAGE_YEELOONG_FLASH.
19484 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
19485 (grub_video_sm712_setup): Init card.
19486 (grub_video_sm712_set_palette): Removed.
19487 * video/sm712_init.c: New file.
19488
ff4a70d2
CW
194892010-06-30 Colin Watson <cjwatson@ubuntu.com>
19490
19491 * Makefile.in (install-local): Temporarily prepend $(builddir) to
19492 PATH when running help2man and then run it on the unadorned
19493 executable names, rather than passing $(builddir)/* paths to
19494 help2man. This avoids the build directory ending up in generated
19495 manual pages.
19496
1246efeb
CW
194972010-06-29 Colin Watson <cjwatson@ubuntu.com>
19498
19499 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
19500 to avoid accidents when debugging with 'sh -x'.
19501 * util/grub-mkrescue.in: Likewise.
19502 * util/grub.d/00_header.in: Likewise.
19503 * util/grub.d/10_hurd.in: Likewise.
19504 * util/grub.d/10_kfreebsd.in: Likewise.
19505 * util/grub.d/10_linux.in: Likewise.
19506 * util/grub.d/10_netbsd.in: Likewise.
19507 * util/grub.d/10_windows.in: Likewise.
19508 * util/grub.d/20_linux_xen.in: Likewise.
19509 * util/grub.d/30_os-prober.in: Likewise.
19510 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19511
1ba9b889
CW
195122010-06-29 Colin Watson <cjwatson@ubuntu.com>
19513
19514 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
19515 last character in the buffer.
19516 Reported by: Vladimir Serbinenko.
19517
dccaf99d
RM
195182010-06-29 Robert Millan <rmh@gnu.org>
19519
19520 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
19521 (Command-line and menu entry commands): Document `badram' command.
19522
d500ed12
RM
195232010-06-28 Robert Millan <rmh@gnu.org>
19524
19525 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
19526 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
19527 command using ${GRUB_BADRAM} as parameter.
19528
20bc84a6
CW
195292010-06-28 Colin Watson <cjwatson@ubuntu.com>
19530
19531 * docs/grub.texi (Device map): New section.
19532 (Themes): New section (stub).
19533 * Makefile.in (docs/grub.info): The info documentation now builds
19534 without errors. Make sure it stays that way.
19535
4045dee1
VS
195362010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19537
19538 Use normal parser for menu entries.
19539 Reported by: Thomas Frauendorfer
19540
19541 * include/grub/parser.h (grub_parser_execute): Don't export.
19542 * normal/menu.c (grub_menu_execute_entry_real): New function.
19543 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
19544
bca58c7b
CW
195452010-06-28 Colin Watson <cjwatson@ubuntu.com>
19546
19547 * docs/grub.texi (Embedded configuration): New section (replacing
19548 old "Preset Menu" stub).
19549 (Images): New section.
19550 (configfile): Note that any menu entries defined in `file' are shown
19551 immediately.
19552
dec53e63
JT
195532010-06-28 Josh Triplett <josh@joshtriplett.org>
19554
19555 * mmap/i386/pc/mmap_helper.S: Set CF on return.
19556
c06e40f7
CW
195572010-06-28 Colin Watson <cjwatson@ubuntu.com>
19558
19559 * util/grub-install.in: Add --debug-image= option.
19560
cb88052b
CW
195612010-06-28 Colin Watson <cjwatson@ubuntu.com>
19562
19563 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
19564 possible on Linux.
19565
19566 * util/deviceiter.c (check_device): Rename to ...
19567 (check_device_readable_unique): ... this. Update all callers.
19568 Maintain and check a list of which devices (by canonicalized name)
19569 have already been seen.
19570 (clear_seen_devices): New function.
19571 (compare_file_names) [__linux__]: New function.
19572 (grub_util_iterate_devices): Clear the list of seen devices on exit
19573 and (just in case) on entry.
19574 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
19575 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
19576 seen-devices list, superseded by general code in check_device.
19577
bbe34652
CW
195782010-06-28 Colin Watson <cjwatson@ubuntu.com>
19579
19580 * commands/cat.c (options): New variable.
19581 (grub_cmd_cat): Parse options. If the --dos option is given, print
19582 DOS-style "\r\n" line endings as simple newlines (Debian bug
19583 #586358).
19584 (GRUB_MOD_INIT): Use extcmd.
19585 (GRUB_MOD_FINI): Likewise.
19586 * docs/grub.texi (cat): Document --dos.
19587
412e09f3
VS
195882010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19589
19590 XEN with Linux grub-mkconfig support.
19591
19592 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
19593 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
19594 GRUB_CMDLINE_XEN_DEFAULT.
19595 * util/grub.d/20_linux_xen.in: New file.
19596
53f3ef38 195972010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
19598
19599 Initialise VGA video on qemu ourselves.
19600
19601 * boot/i386/qemu/boot.S: Don't call 0xc000.
19602 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
19603 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
19604 (kernel_img_HEADERS): Add pci.h.
19605 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
19606 * configure.ac: Force unifont on qemu and yeeloong.
19607 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
19608 (grub_vga_palette_write): Use correct register.
19609 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
19610 Call grub_qemu_init_cirrus.
19611 * kern/i386/qemu/init.c: New file.
19612 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
19613
19614 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
19615
c75be4fb
PR
196162010-06-26 Pavel Roskin <proski@gnu.org>
19617
19618 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
19619 13.
19620
d8034603
CW
196212010-06-26 Colin Watson <cjwatson@ubuntu.com>
19622
19623 * docs/grub.texi (Simple configuration): Explain that
19624 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
19625 set to `true' to disable their respective recovery entries, not
19626 merely set.
19627
3fa06487
CW
196282010-06-26 Colin Watson <cjwatson@ubuntu.com>
19629
19630 Make the `source' command slightly faster.
19631
19632 * normal/main.c (grub_normal_execute): Don't re-read list files when
19633 nested.
19634
e9b29642
CW
196352010-06-23 Colin Watson <cjwatson@ubuntu.com>
19636
19637 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
19638 field position and mask size to red fields from mode_info, not
19639 green.
19640 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
19641 Remove redundant tag->common.framebuffer_type assignment.
19642 Reported by: Seth Goldberg.
19643
e726542f
CW
196442010-06-23 Colin Watson <cjwatson@ubuntu.com>
19645
19646 Sync up other versions of the Linux loader with Robert Millan's
19647 change of 2010-01-09, "Make loader output a bit more user-friendly".
19648
19649 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
19650 grub_dprintf().
19651 (grub_cmd_linux): Likewise.
19652 (grub_cmd_initrd): Likewise.
19653 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
19654 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19655
d6e98a17
CW
196562010-06-21 Colin Watson <cjwatson@ubuntu.com>
19657
19658 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
19659 larger than MEMORY_MAP_SIZE.
19660
14d3f08e
BC
196612010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
19662
19663 Fix parallel build.
19664
19665 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
19666 dependency.
19667 * script/parser.y: #include grub_script.tab.h header.
19668
4f9613a3
VS
196692010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19670
19671 Support >3GiB and <16MiB RAM in i386-qemu.
19672
19673 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
19674 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
19675 (grub_lower_mem): Removed.
19676 (grub_upper_mem): Likewise.
19677 (mem_size): Made static.
19678 (above_4g): New variable.
19679 (grub_machine_mmap_init): Detect small mem_size and above_4g.
19680 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
19681 support.
19682
05e51879
VS
196832010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19684
19685 Cirrus 5446 and Bochs video cards support.
19686
19687 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
19688 video_bochs.mod
19689 (video_cirrus_mod_SOURCES): New variable.
19690 (video_cirrus_mod_CFLAGS): Likewise.
19691 (video_cirrus_mod_LDFLAGS): Likewise.
19692 (video_bochs_mod_SOURCES): Likewise.
19693 (video_bochs_mod_CFLAGS): Likewise.
19694 (video_bochs_mod_LDFLAGS): Likewise.
19695 * include/grub/vga.h: New file.
19696 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
19697 (grub_video_fb_set_page_t): New type.
19698 (grub_video_fb_setup): New prototype.
19699 (grub_video_fb_swap_buffers): Likewise.
19700 (grub_video_fb_get_info_and_fini): Likewise.
19701 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
19702 (CRTC_DATA_PORT): Likewise.
19703 (CRTC_CURSOR): Likewise.
19704 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19705 (CRTC_CURSOR_ADDR_LOW): Likewise.
19706 (CRTC_CURSOR_DISABLE): Likewise.
19707 (update_cursor): Use grub_vga_cr_write.
19708 (grub_vga_text_setcursor): Likewise.
19709 * video/bochs.c: New file.
19710 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
19711 (palette): Likewise.
19712 (palette_size): Likewise.
19713 (framebuffer): New variable.
19714 (grub_video_fb_init): Use 'framebuffer'.
19715 (grub_video_fb_fini): Likewise.
19716 (grub_video_fb_get_info): Likewise.
19717 (grub_video_fb_get_palette): Likewise.
19718 (grub_video_fb_set_palette): Likewise.
19719 (grub_video_fb_set_viewport): Likewise.
19720 (grub_video_fb_get_viewport): Likewise.
19721 (grub_video_fb_map_color): Likewise.
19722 (grub_video_fb_map_rgb): Likewise.
19723 (grub_video_fb_map_rgba): Likewise.
19724 (grub_video_fb_unmap_color): Likewise.
19725 (grub_video_fb_unmap_color_int): Likewise.
19726 (grub_video_fb_fill_rect): Likewise.
19727 (grub_video_fb_blit_bitmap): Likewise.
19728 (grub_video_fb_blit_render_target): Likewise.
19729 (grub_video_fb_scroll): Likewise.
19730 (grub_video_fb_create_render_target): Likewise.
19731 (grub_video_fb_doublebuf_blit_init): Likewise.
19732 (grub_video_fb_set_active_render_target): Handle doublebuffering.
19733 (doublebuf_pageflipping_update_screen): New function.
19734 (doublebuf_pageflipping_init): Likewise.
19735 (grub_video_fb_setup): Likewise.
19736 (grub_video_fb_swap_buffers): Likewise.
19737 (grub_video_fb_get_info_and_fini): Likewise.
19738 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
19739 All users updated.
19740 (doublebuf_pageflipping_commit): Restructured into ...
19741 (doublebuf_pageflipping_set_page): ... this.
19742 (doublebuf_pageflipping_update_screen): Removed.
19743 (doublebuf_pageflipping_init): Likewise.
19744 (double_buffering_init): Likewise.
19745 (grub_video_vbe_setup): Use grub_video_fb_setup.
19746 (grub_video_vbe_swap_buffers): Removed.
19747 (grub_video_vbe_set_active_render_target): Likewise.
19748 (grub_video_vbe_get_active_render_target): Likewise.
19749 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
19750 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
19751 grub_video_fb_set_active_render_target and
19752 grub_video_fb_get_active_render_target.
19753 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
19754 (SEQUENCER_DATA_PORT): Likewise.
19755 (MAP_MASK_REGISTER): Likewise.
19756 (CRTC_ADDR_PORT): Likewise.
19757 (CRTC_DATA_PORT): Likewise.
19758 (START_ADDR_HIGH_REGISTER): Likewise.
19759 (START_ADDR_LOW_REGISTER): Likewise.
19760 (GRAPHICS_ADDR_PORT): Likewise.
19761 (GRAPHICS_DATA_PORT): Likewise.
19762 (READ_MAP_REGISTER): Likewise.
19763 (INPUT_STATUS1_REGISTER): Likewise.
19764 (INPUT_STATUS1_VERTR_BIT): Likewise.
19765 (get_map_mask): Use grub_vga_sr_read.
19766 (set_map_mask): Use grub_vga_sr_write.
19767 (set_read_map): Use grub_vga_gr_write.
19768 (set_start_address): Use grub_vga_cr_write.
19769 * video/sm712.c (framebuffer): Remove leftover fields.
19770
4321c64a
CW
197712010-06-20 Colin Watson <cjwatson@ubuntu.com>
19772
19773 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
19774 setting GRUB_VIDEO_BACKEND. Make it available as a user override
19775 instead. Replace the gfxterm backend check with a check that
19776 ${GRUB_PREFIX}/video.lst is non-empty.
19777 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
19778 again.
19779 (load_video): New generated function. Call it before loading
19780 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
19781 * util/grub.d/10_linux.in (linux_entry): Call load_video.
19782 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
19783 * docs/grub.texi (Simple configuration): Document
19784 GRUB_VIDEO_BACKEND.
19785
197862010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19787
19788 Use video functions in linux and xnu loaders.
19789
19790 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
19791 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
19792 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
19793 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
19794 loader/i386/pc/linux.c.
19795 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
19796 (find_line_len): Removed.
19797 (find_framebuf): Likewise.
19798 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
19799 * loader/i386/efi/xnu.c: Removed.
19800 * loader/i386/pc/xnu.c: Moved from here...
19801 * loader/i386/xnu.c: ...here.
19802
19803 Enable priorities in video drivers.
19804
19805 * include/grub/video.h (grub_video_adapter_prio_t): New type.
19806 (grub_video_adapter): New field prio.
19807 (grub_video_register): Respect prio when inserting.
19808 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
19809 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
19810 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
19811 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
19812 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
19813 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
19814 * video/sm712.c (grub_video_sm712_adapter): Likewise.
19815
19816 Fix SDL driver ID.
19817
19818 * include/grub/video.h (grub_video_driver_id_t): New value
19819 GRUB_VIDEO_DRIVER_SDL.
19820 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
19821
7d24e434
CW
198222010-06-17 Colin Watson <cjwatson@ubuntu.com>
19823
19824 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
19825 argument to printf.
19826 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19827
c88a83f6
CW
198282010-06-17 Colin Watson <cjwatson@ubuntu.com>
19829
19830 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
19831 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19832
094dfb69
CW
198332010-06-17 Colin Watson <cjwatson@ubuntu.com>
19834
19835 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19836 directly, and recommend grub-install instead.
19837 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19838
2164da6b
CW
198392010-06-17 Colin Watson <cjwatson@ubuntu.com>
19840
19841 Fix i386-pc prefix handling with nested partitions (Debian bug
19842 #585068). Note that the case where the core image is booted using
19843 multiboot and relocated from its original location still requires
19844 more work.
19845
19846 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19847 with "(,", fill the boot drive in between those two characters, but
19848 expect that a full partition specification including partition map
19849 names will follow.
19850 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19851 specified, write a prefix without the drive name but including a
19852 full partition specification.
19853
044e2e60
CW
198542010-06-16 Colin Watson <cjwatson@ubuntu.com>
19855
19856 * util/grub-mkconfig.in: Ignore non-option arguments, for
19857 compatibility with older versions (before 2010-06-12) which did the
19858 same. In particular, this makes it easier to ship an update-grub
19859 wrapper which is compatible with that used with GRUB Legacy (Debian
19860 bug #586056).
19861
5591324f
GS
198622010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19863
19864 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19865 for manual page generation.
19866
662e24d5
GS
198672010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19868
19869 * po/POTFILES: Remove leftover commands/handler.c.
19870
8d70754e
CW
198712010-06-14 Colin Watson <cjwatson@ubuntu.com>
19872
19873 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19874 left this script non-functional.
19875
41160e2e
CW
198762010-06-14 Colin Watson <cjwatson@ubuntu.com>
19877
19878 * docs/man/grub-emu.h2m: New file.
19879
b5309cc1
CW
198802010-06-13 Colin Watson <cjwatson@ubuntu.com>
19881
19882 * docs/grub.texi (Commands): Document reduced command set in rescue
19883 mode.
19884 (cpuid): New section.
19885
fcb2d090
GS
198862010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19887
19888 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19889 new partition naming style.
19890 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19891
96e5c556
BC
198922010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19893
19894 Add "-o grub.iso" like cmdline options support.
19895
19896 * util/grub-install.in: Improve cmdline option parsing.
19897 * util/grub-mkconfig.in: Likewise.
19898 * util/grub-mkrescue.in: Likewise.
19899 * util/grub-reboot.in: Likewise.
19900 * util/grub-set-default.in: Likewise.
19901 * util/i386/efi/grub-install.in: Likewise.
19902 * util/ieee1275/grub-install.in: Likewise.
19903 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19904
c16be99b
CW
199052010-06-12 Colin Watson <cjwatson@ubuntu.com>
19906
19907 * .bzrignore: Ignore 41_custom.
19908
ce08a9fb
TS
199092010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19910
19911 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19912
7beac90c
CW
199132010-06-12 Colin Watson <cjwatson@ubuntu.com>
19914
19915 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19916 prototype declarations.
19917
19918 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19919 generating fs, partmap, and video lists.
19920 * include/grub/fs.h (grub_fs_register): Omit prototype if
19921 GRUB_LST_GENERATOR is defined.
19922 * include/grub/partition.h (grub_partition_map_register): Likewise.
19923 * include/grub/video.h (grub_video_register): Likewise.
19924
1c8f0f8d
JM
199252010-06-12 Javier Martín <lordhabbit@gmail.com>
19926
19927 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19928
a6085973
TS
199292010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19930
19931 * util/grub-mkrescue.in: Support --xorriso argument.
19932
25c56d29
VS
199332010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19934
19935 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19936 Suggested by: Thomas Schmitt.
19937
e03e4b24
VS
199382010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19939
19940 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19941 Suggested by: Thomas Schmitt.
19942
57711df6
VS
199432010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19944
19945 custom.cfg support.
19946
19947 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19948 * util/grub.d/41_custom.in: New file.
19949
ee62c427
CW
199502010-06-12 Colin Watson <cjwatson@ubuntu.com>
19951
19952 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19953 been merged back into normal.
19954
283af07a
CW
199552010-06-11 Colin Watson <cjwatson@ubuntu.com>
19956
19957 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19958 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19959
56a0d956
CW
199602010-06-11 Colin Watson <cjwatson@ubuntu.com>
19961
19962 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19963 when generating manual pages.
19964 * docs/man/grub-bin2h.h2m: New file.
19965 * docs/man/grub-editenv.h2m: New file.
19966 * docs/man/grub-fstest.h2m: New file.
19967 * docs/man/grub-install.h2m: New file.
19968 * docs/man/grub-macho2img.h2m: New file.
19969 * docs/man/grub-mkconfig.h2m: New file.
19970 * docs/man/grub-mkdevicemap.h2m: New file.
19971 * docs/man/grub-mkfont.h2m: New file.
19972 * docs/man/grub-mkimage.h2m: New file.
19973 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19974 * docs/man/grub-mkrelpath.h2m: New file.
19975 * docs/man/grub-mkrescue.h2m: New file.
19976 * docs/man/grub-ofpathname.h2m: New file.
19977 * docs/man/grub-pe2elf.h2m: New file.
19978 * docs/man/grub-probe.h2m: New file.
19979 * docs/man/grub-reboot.h2m: New file.
19980 * docs/man/grub-script-check.h2m: New file.
19981 * docs/man/grub-set-default.h2m: New file.
19982 * docs/man/grub-setup.h2m: New file.
19983
3a37e322
VS
199842010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
19985
19986 Use FOR_* macros instead of *_iterate whenever possible.
19987
19988 * commands/handler.c: Removed.
19989 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
19990 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
19991 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19992 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
19993 (grub_probe_SOURCES): Remove kern/parser.c.
19994 (util/grub-script-check.c_DEPENDENCIES): Removed.
19995 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
19996 and grub_script_check_init.c.
19997 (grub_script_check_init.lst): Removed.
19998 (grub_script_check_init.h): Likewise.
19999 (grub_script_check_init.c): Likewise.
20000 (pkglib_MODULES): Remove handler.mod and sh.mod.
20001 (handler_mod_SOURCES): Removed.
20002 (handler_mod_CFLAGS): Likewise.
20003 (handler_mod_LDFLAGS): Likewise.
20004 (normal_mod_SOURCES): Remove normal/handler.c.
20005 Add script/main.c, script/script.c, script/execute.c,
20006 script/function.c, script/lexer.c, grub_script.tab.c
20007 and grub_script.yy.c.
20008 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20009 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20010 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
20011 (grub_setup_SOURCES): Remove kern/parser.c.
20012 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20013 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
20014 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
20015 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20016 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20017 (grub_setup_SOURCES): Remove kern/parser.c.
20018 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20019 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
20020 * include/grub/command.h (grub_command_iterate): Removed.
20021 (FOR_COMMANDS): New macro.
20022 * include/grub/dl.h (grub_dl): New member next.
20023 (grub_dl_iterate): Removed.
20024 (grub_dl_head): New variable declaration.
20025 (FOR_DL_MODULES): New macro.
20026 * include/grub/fs.h: Include list.h.
20027 (grub_fs): Make next first element.
20028 (grub_fs_list): New variable declaration.
20029 (grub_fs_register): Make inline.
20030 (grub_fs_unregister): Likewise.
20031 (grub_fs_iterate): Removed.
20032 (FOR_FILESYSTEMS): New macro.
20033 * include/grub/handler.h: Removed.
20034 * include/grub/list.h (grub_list_hook_t): Removed.
20035 (grub_list_test_t): Likewise.
20036 (grub_list_pop): Likewise.
20037 (grub_list_iterate): Likewise.
20038 (grub_list_insert): Likewise.
20039 (FOR_LIST_ELEMENTS): New macro.
20040 * include/grub/parser.h (grub_parser_class): Removed.
20041 (grub_parser_register): Likewise.
20042 (grub_parser_unregister): Likewise.
20043 (grub_parser_get_current): Likewise.
20044 (grub_parser_set_current): Likewise.
20045 (grub_register_rescue_parser): Likewise.
20046 (grub_rescue_parse_line): New function.
20047 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
20048 * include/grub/script_sh.h (grub_script_function_list): New variable
20049 declaration.
20050 (FOR_SCRIPT_FUNCTIONS): New macro.
20051 (grub_script_function_iterate): Removed.
20052 (grub_normal_parse_line): New prototype.
20053 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
20054 (FOR_DISABLED_TERM_INPUTS): Likewise.
20055 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
20056 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
20057 * include/grub/video.h (grub_video_adapter): Move 'next' to first
20058 element.
20059 (grub_video_register): Inline.
20060 (grub_video_unregister): Likewise.
20061 (grub_video_adapter_list): New variable declaration.
20062 (grub_video_iterate): Removed.
20063 (FOR_VIDEO_ADAPTERS): New macro.
20064 * kern/dl.c (grub_dl_list): Removed. All users updated.
20065 (grub_dl_iterate): Removed.
20066 * kern/fs.c (grub_fs_list): Make global.
20067 (grub_fs_register): Removed.
20068 (grub_fs_unregister): Likewise.
20069 (grub_fs_iterate): Likewise.
20070 * kern/handler.c: Removed.
20071 * kern/list.c (grub_list_pop): Removed.
20072 (grub_list_iterate): Likewise.
20073 (grub_list_insert): Likewise.
20074 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
20075 (grub_prio_list_insert): Don't use grub_list_insert.
20076 * kern/main.c (grub_register_rescue_parser): Don't call
20077 grub_register_rescue_parser.
20078 * kern/parser.c (grub_parser_class): Removed.
20079 (grub_parser_execute): Use grub_rescue_parse_line.
20080 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
20081 (grub_rescue_parser): Removed.
20082 (grub_register_rescue_parser): Likewise.
20083 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
20084 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
20085 (grub_auth_check_authentication): Likewise.
20086 * normal/completion.c (iterate_command): Removed.
20087 (grub_normal_do_completion): Use FOR_COMMANDS.
20088 * normal/handler.c: Removed.
20089 * normal/main.c (read_config_file): Remove parser changing.
20090 (grub_normal_execute): Don't call read_handler_list.
20091 (grub_normal_read_line_real): Statically allocate prompt.
20092 (grub_cmdline_run): Use grub_normal_parse_line.
20093 (GRUB_MOD_FINI): Don't call free_handler_list.
20094 * normal/menu_entry.c (run): Likewise.
20095 * script/function.c (grub_script_function_list): Make global.
20096 (grub_script_function_iterate): Removed.
20097 * script/main.c (grub_normal_parse_line): Make global.
20098 (grub_sh_parser): Removed.
20099 (GRUB_MOD_INIT): Likewise.
20100 (GRUB_MOD_FINI): Likewise.
20101 * tests/lib/functional_test.c (grub_functional_test): Use
20102 FOR_LIST_ELEMENTS.
20103 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
20104 (grub_test_run): Use FOR_LIST_ELEMENTS.
20105 * tests/lib/unit_test.c (main): Likewise.
20106 * util/deviceiter.c (grub_util_iterate_devices): Don't use
20107 grub_list_pop.
20108 * util/grub-fstest.c (grub_term_input_class): Removed.
20109 (grub_term_output_class): Likewise.
20110 * util/grub-probe.c: Likewise.
20111 * util/i386/pc/grub-setup.c: Likewise.
20112 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20113 * util/grub-script-check.c (main): Don't call grub_init_all and
20114 grub_fini_all.
20115 * video/video.c (grub_video_adapter_list): Make global.
20116 (grub_video_register): Removed.
20117 (grub_video_unregister): Likewise.
20118 (grub_video_iterate): Likewise.
20119
6289c3a7
VS
201202010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
20121
20122 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
20123 reported by Henrique Ferreiro.
20124
91460247
RM
201252010-06-09 Robert Millan <rmh@gnu.org>
20126
20127 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
20128 ones, when both are available.
20129
0ea7c4f9
GS
201302010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20131
20132 Make --version uniform and avoid hard-coded program name.
20133
20134 * util/grub-mkimage.c (main): Use `program_name' instead of
20135 hard-coded string.
20136 * util/i386/pc/grub-setup.c (main): Likewise.
20137 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
20138 * util/grub-install.in: Save the basename of $0 in $self, and use the
20139 latter in informational messages. Use the same format for --version
20140 as the binary programs.
20141 * util/grub-mkconfig.in: Likewise.
20142 * util/grub-mkrescue.in: Likewise.
20143 * util/grub-reboot.in: Likewise.
20144 * util/grub-set-default.in: Likewise.
20145 * util/i386/efi/grub-install.in: Likewise.
20146 * util/ieee1275/grub-install.in: Likewise.
20147 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20148
e8a6f3b6
GS
201492010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20150
20151 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
20152 embedding area. Use <= instead of == when checking for non-emptiness.
20153
f4d095d7
GS
201542010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20155
20156 * configure.ac: Add `.' to the directories searched for unifont.
20157
50e532ca
CW
201582010-06-08 Colin Watson <cjwatson@ubuntu.com>
20159
20160 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
20161 grub_script.yy.h.
20162
d39f3dec
CW
201632010-06-08 Colin Watson <cjwatson@ubuntu.com>
20164
20165 * docs/grub.texi (History): Expand to cover GRUB 2.
20166 (Serial terminal): Refer to `terminal_input' and `terminal_output'
20167 commands, not `terminal'.
20168 (serial): Likewise.
20169 (terminal_input): New section.
20170 (terminal_output): New section.
20171 (uppermem): New section (stub).
20172 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
20173
6ef0ddb4
CW
201742010-06-08 Colin Watson <cjwatson@ubuntu.com>
20175
20176 * docs/grub.texi (Security): Menu entries are unrestricted by
20177 default, not restricted to superusers as I had previously thought.
20178 Reword to account for this.
20179
e0f4c438
CW
201802010-06-07 Colin Watson <cjwatson@ubuntu.com>
20181
20182 * kern/emu/misc.c (device_mapper_null_log): New function.
20183 (grub_device_mapper_supported): New function.
20184 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
20185 prototype.
20186 * kern/emu/hostdisk.c (find_partition_start): Check whether
20187 device-mapper is supported before trying to use it.
20188 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
20189
da908200
CW
201902010-06-07 Colin Watson <cjwatson@ubuntu.com>
20191
20192 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
20193 (File name syntax): Likewise.
20194 (help): --all is no longer supported in GRUB 2. Be more precise
20195 about pattern matching.
20196
fb55c3ac
CW
201972010-06-07 Colin Watson <cjwatson@ubuntu.com>
20198
20199 * normal/completion.c (grub_normal_do_completion): When completing
20200 arguments to "set" and the current word contains an equals sign,
20201 skip to after the equals sign before starting completion.
20202
258c2573
CW
202032010-06-07 Colin Watson <cjwatson@ubuntu.com>
20204
20205 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
20206
ee75515e
CW
202072010-06-07 Colin Watson <cjwatson@ubuntu.com>
20208
20209 * docs/grub.texi (Network): New section.
20210 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
20211 `(nd)' as in GRUB Legacy.
20212 (pxe_unload): New section.
20213
a6a700aa
CW
202142010-06-07 Colin Watson <cjwatson@ubuntu.com>
20215
20216 * docs/grub.texi (Troubleshooting): `echo' is not usually available
20217 in the rescue shell, so recommend using `set' instead. Thanks,
20218 Jordan Uggla.
20219
4003dd38
CW
202202010-06-07 Colin Watson <cjwatson@ubuntu.com>
20221
20222 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
20223 (password): New section.
20224 (password_pbkdf2): New section.
20225 (search): New section.
20226 (Security): New section.
20227 (Troubleshooting): New section, currently very incomplete.
20228 (Invoking grub-mkpasswd-pbkdf2): New section.
20229 (Internals): New section, currently very incomplete.
20230
e1cbcc40
CW
202312010-06-07 Colin Watson <cjwatson@ubuntu.com>
20232
20233 * util/grub.d/00_header.in: Add some more quoting (of
20234 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
20235 work again.
20236 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
20237
db8fa1ad
CW
202382010-06-07 Colin Watson <cjwatson@ubuntu.com>
20239
20240 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
20241 to `count', fixing variable shadowing that broke the -c option.
20242
202432010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
20244
20245 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
20246 in case they contain spaces.
20247
f28a9212
CW
202482010-06-04 Colin Watson <cjwatson@ubuntu.com>
20249
20250 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
20251 "part_" to partmap module names, in line with grub-install.
20252 Reported by: Jindřich Makovička (Debian bug #584426).
20253
9cdfe32f
CW
202542010-06-04 Colin Watson <cjwatson@ubuntu.com>
20255
20256 * util/grub-mkimage.c: Make target-related error messages slightly
20257 more helpful; -O talks about "format". Explicitly point to the use
20258 of -O if no target is specified.
20259 Reported by: Didier Raboud (Debian bug #584415).
20260
795b593a
CW
202612010-06-03 Colin Watson <cjwatson@ubuntu.com>
20262
20263 * INSTALL: Document several build requirements for optional features
20264 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
20265
9d9b5833
GS
202662010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
20267
20268 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
20269 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
20270 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
20271
0819fec8
CW
202722010-06-02 Colin Watson <cjwatson@ubuntu.com>
20273
20274 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
20275 Thanks to Jordan Uggla for spotting this.
20276
49396b4f
VS
202772010-06-02 Aleš Nesrsta <starous@volny.cz>
20278
20279 Finally make USB usable.
20280
20281 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
20282 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
20283 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
20284 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
20285 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
20286 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
20287 (GRUB_OHCI_FSMPS): Likewise.
20288 (GRUB_OHCI_PERIODIC_START): Likewise.
20289 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
20290 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
20291 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
20292 (GRUB_OHCI_SET_PORT_RESET): Likewise.
20293 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
20294 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
20295 (grub_ohci_transaction): Likewise.
20296 (grub_ohci_transfer): Improve condition detection algorithms.
20297 Handle toggle property. Program the transactions correctly.
20298 Improve error handling. Various important fixups.
20299 (grub_ohci_portstatus): Put register writes in right order.
20300 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
20301 (grub_uhci_transfer): Don't show "failed" message on success.
20302 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
20303 array.
20304 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
20305 determine its size.
20306 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
20307 before initialization is completed. Use IN direction for empty
20308 transfers. Use last_trans and compute toggle.
20309 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
20310 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
20311 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
20312 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
20313 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
20314 (grub_usb_device): Increase toggle to 256.
20315 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
20316 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
20317 GRUB_USBMS_SUBCLASS_SFF8070.
20318 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
20319 (grub_scsi_inquiry): New member page and alloc_length.
20320 (grub_scsi_request_sense): New structure.
20321 (grub_scsi_request_sense_data): Likewise.
20322 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
20323 control.
20324 * disk/scsi.c (grub_scsi_request_sense): New function.
20325 (grub_scsi_test_unit_ready): Likewise.
20326 (grub_scsi_inquiry): Fill new fields.
20327 (grub_scsi_read_capacity): Likewise.
20328 (grub_scsi_read10): Add request sense at the end.
20329 (grub_scsi_read12): Likewise.
20330 (grub_scsi_write10): Likewise.
20331 (grub_scsi_write12): Likewise.
20332 (grub_scsi_open): Add Test Unit Ready.
20333 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
20334 Support additional subclasses. Con't clear halt yet. Activate the
20335 proper config. Calculate LUNs correctly.
20336 (grub_usbms_transfer): Various important fixups.
20337
203382010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20339
20340 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
20341 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
20342 (grub_ohci_fini_hw): New function.
20343 (grub_ohci_restore_hw): Likewise.
20344 (GRUB_MOD_INIT(ohci)): Register preboot hook.
20345 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
20346 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
20347
203482010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20349
20350 Dedicated DMA allocations.
20351
20352 * bus/pci.c (grub_memalign_dma32): New function
20353 (grub_dma_free): Likewise.
20354 (grub_dma_get_virt): Likewise.
20355 (grub_dma_get_phys): Likewise.
20356 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
20357 (grub_ohci_pci_iter): Use dma32_alloc.
20358 (grub_ohci_transfer): Likewise.
20359 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20360 (grub_usb_bulk_readwrite): Likewise.
20361 * include/grub/pci.h: Add declarations.
20362
203632010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20364
20365 CS5536 support.
20366
20367 * bus/cs5536.c: New file.
20368 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
20369 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
20370 (cs5536_mod_SOURCES): New variable.
20371 (cs5536_mod_CFLAGS): Likewise.
20372 (cs5536_mod_LDFLAGS): Likewise.
20373 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
20374 machine/pci.h.
20375 (kernel_img_SOURCES): Add bus/cs5536.c.
20376 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
20377 usb_keyboard.mod.
20378 (usb_mod_SOURCES): New variable.
20379 (usb_mod_CFLAGS): New variable.
20380 (usb_mod_LDFLAGS): New variable.
20381 (usbtest_mod_SOURCES): New variable.
20382 (usbtest_mod_CFLAGS): New variable.
20383 (usbtest_mod_LDFLAGS): New variable.
20384 (ohci_mod_SOURCES): New variable.
20385 (ohci_mod_CFLAGS): New variable.
20386 (ohci_mod_LDFLAGS): New variable.
20387 (usbms_mod_SOURCES): New variable.
20388 (usbms_mod_CFLAGS): New variable.
20389 (usbms_mod_LDFLAGS): New variable.
20390 (usb_keyboard_mod_SOURCES): New variable.
20391 (usb_keyboard_mod_CFLAGS): New variable.
20392 (usb_keyboard_mod_LDFLAGS): New variable.
20393 * include/grub/smbus.h: New file.
20394 * include/grub/cs5536.h: New file.
20395
0b35b2a9
CW
203962010-06-02 Colin Watson <cjwatson@ubuntu.com>
20397
20398 * util/grub.d/00_header.in: Add safety check to make sure that
20399 ${locale_dir} exists before trying to probe it.
20400
ca0afd5b
CW
204012010-06-02 Colin Watson <cjwatson@ubuntu.com>
20402
20403 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
20404 per the GNU Coding Standards; this is now too obscure to be worth
20405 documenting.
20406 (QNX): Likewise.
20407 (chainloader): Remove cross-reference to `SCO UnixWare'.
20408
1c41aa78
CW
204092010-06-02 Colin Watson <cjwatson@ubuntu.com>
20410
20411 * docs/grub.texi (Chain-loading): New section.
20412 (DOS/Windows): New section, borrowed from GRUB Legacy with details
20413 adjusted for GRUB 2.
20414 (SCO UnixWare): Likewise.
20415 (QNX): Likewise.
20416 (chainloader): Add reference to `Block list syntax'.
20417 (drivemap): New section.
20418 (parttool): New section.
20419
bb8ea0f5
CW
204202010-06-02 Colin Watson <cjwatson@ubuntu.com>
20421
20422 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
20423 the grub shell'.
20424 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
20425 (Installing GRUB using grub-install): Remove reference to the grub
20426 shell; mention `grub-mkimage' and `grub-setup' instead.
20427 (Invoking grub-install): Likewise.
20428 (Interface): Add reference to `Menu entry editor'.
20429 (serial): Remove `--device' option.
20430
288dd6ed
CW
204312010-06-02 Colin Watson <cjwatson@ubuntu.com>
20432
20433 * docs/grub.texi (Configuration): New section, documenting
20434 configuration file generation using grub-mkconfig. I've left a slot
20435 for documenting the full shell scripting format but have not yet
20436 started on writing that up.
20437 (Invoking grub-mkconfig): New section.
20438
34c9f0e9
CW
204392010-06-02 Colin Watson <cjwatson@ubuntu.com>
20440
20441 * docs/grub.texi (direntry): Remove grub-terminfo reference.
20442 (GNU GRUB manual): Likewise.
20443 (General commands): Update description of `terminfo' for GRUB 2.
20444
9121567e
CW
204452010-06-02 Colin Watson <cjwatson@ubuntu.com>
20446
20447 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
20448 (GRUB_MOD_INIT): Fix capitalisation.
20449 * docs/grub.texi (Command-line and menu entry commands): Document
20450 gettext and gptsync commands.
20451
ab631611
CW
204522010-06-02 Colin Watson <cjwatson@ubuntu.com>
20453
20454 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
20455 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
20456
bde4a9ac
CW
204572010-06-01 Colin Watson <cjwatson@ubuntu.com>
20458
20459 Add btrfs probing support, currently only in the single-device case.
20460
20461 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
20462 function.
20463 (grub_guess_root_device): Call find_root_device_from_mountinfo
20464 before looking in /dev.
20465
b1d17e10
VS
204662010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20467
20468 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
20469 GRUB_DISK_SIZE_UNKNOWN.
20470 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
20471
dfbfe004
JS
204722010-05-31 Jiro SEKIBA <jir@unicus.jp>
20473
20474 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
20475 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
20476 corrupted or not synced properly.
20477
c2ffc8e9
VS
204782010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20479
20480 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
20481 Reported by: Seth Goldberg.
20482
56293166
VS
204832010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20484
20485 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
20486 addition of dest.
20487 Reported by: Seth Goldberg.
20488
7620e7de
VS
204892010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20490
20491 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
20492 Reported by: Seth Goldberg.
20493
c837af3f
VS
204942010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20495
20496 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
20497 64-bit address as signed on MIPS.
20498
c7c75cf4
CW
204992010-05-28 Colin Watson <cjwatson@ubuntu.com>
20500
20501 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
20502 to the empty string.
20503
fa4b8490
BC
205042010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
20505
20506 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
20507
20508 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
20509 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
20510 * kern/misc.c (__enable_execute_stack): Disable on
20511 GRUB_MACHINE_EMU.
20512
a33075b9
CW
205132010-05-28 Colin Watson <cjwatson@ubuntu.com>
20514
20515 Make grub-probe work with symbolic links under /dev/mapper as well
20516 as with real block devices. The Linux world seems to be (at best)
20517 in transition here, and GRUB shouldn't get caught in the middle.
20518
20519 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
20520 /dev/mapper.
20521
d8708134
CW
205222010-05-27 Colin Watson <cjwatson@ubuntu.com>
20523
20524 * util/grub-script-check.c (main): Ensure defined behaviour on empty
20525 input files (in which case exit zero).
20526
db2102a0
CW
205272010-05-27 Colin Watson <cjwatson@ubuntu.com>
20528
20529 * kern/emu/misc.c (canonicalize_file_name): realpath can still
20530 return NULL for various reasons even if it has a maximum-length
20531 buffer: for example, there might be a symlink loop, or the path
20532 might exceed PATH_MAX. If this happens, return NULL.
20533
5fdba519
RM
205342010-05-27 Robert Millan <rmh@gnu.org>
20535
20536 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
20537 partmap module to handle cross-partmap setups.
20538 Reported by Orestes Mas. Gràcies!
20539
d1d368e4
CW
205402010-05-27 Colin Watson <cjwatson@ubuntu.com>
20541
20542 * util/grub-mkrescue.in: Initialise override_dir rather than
20543 assuming that it's unset or empty in the environment.
20544
95ac3c73
GS
205452010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
20546
20547 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
20548 variable index into p_index to suppress a warning with -Wshadow.
20549
7d8c0213
BC
205502010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
20551
20552 * INSTALL: Added flex >= 2.5.35 requirement.
20553
db4d5813
VS
205542010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20555
20556 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
20557
f24f4300
VS
205582010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20559
20560 cmostest support.
20561
20562 * commands/i386/cmostest.c: New file.
20563 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
20564 (cmostest_mod_SOURCES): New variable.
20565 (cmostest_mod_CFLAGS): Likewise.
20566 (cmostest_mod_LDFLAGS): Likewise.
20567 * conf/i386-pc.rmk: Likewise.
20568 * docs/grub.texi (Vendor power-on keys): New section.
20569 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
20570 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
20571 and GRUB_BUTTON_CMOS_ADDRESS.
20572 * util/grub.d/00_header.in: Handle powering-on by separate button.
20573
ad603f61
VS
205742010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20575
20576 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
20577 Removed drawing_scrollbar argument. All users updated
20578 Fixes #29792.
20579 Reported by Jo Shields
20580
3ecb080a
VS
205812010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20582
20583 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
20584 buffer since gfxterm handles double repaint.
20585
5f2316c1
VS
205862010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20587
20588 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
20589 * term/gfxterm.c (real_scroll): Likewise.
20590
9a25f885
VS
205912010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20592
20593 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
20594 before calling BIOS.
20595
39fbb79a
VS
205962010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20597
20598 * include/grub/i18n.h: Always enable grub_gettext.
20599
228cfa97
VS
206002010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20601
20602 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
20603 partition naming style.
20604
21717c8f
CW
206052010-05-21 Colin Watson <cjwatson@ubuntu.com>
20606
20607 * util/grub-mkconfig.in: Fix handling of -o so that it works when
20608 not the first option.
20609
c0f48e65
CW
206102010-05-20 Colin Watson <cjwatson@ubuntu.com>
20611
20612 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
20613
96779aec
CW
206142010-05-20 Colin Watson <cjwatson@ubuntu.com>
20615
20616 * util/misc.c: Move inclusion of <limits.h> to ...
20617 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
20618
fa9d256e
GS
206192010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
20620
20621 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
20622 Fix merge error in NetBSD code.
20623 (find_partition_start) [__NetBSD__]: Likewise.
20624
123b7a85
BC
206252010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
20626
20627 Fix grub-mkrescue usage unit testing.
20628
20629 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
20630
74276c0d
CF
206312010-05-18 Christian Franke <franke@computer.org>
20632
20633 * util/grub.d/10_windows.in: Use path names instead of
20634 drive letters to prevent warning from Cygwin 1.7.
20635 Add drivemap command to menuentry if needed.
20636
c4f7b523
ST
206372010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
20638
20639 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
20640 gnumach and gnumach.gz.
20641
95b97950
VS
206422010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20643
20644 * include/grub/i18n.h (gettext): Inline instead of using #define.
20645 (grub_gettext): Likewise.
20646 (_): Likewise.
20647
01b8d2d7
VS
206482010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20649
20650 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
20651 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
20652 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
20653 (main): Add a slash after pkglibdirroot.
20654
654e1d1e
VS
206552010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20656
20657 * util/grub-install.in: Add missing "in" keyword.
20658
26966aeb
VS
206592010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20660
20661 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
20662 Reported by: Seth Goldberg.
20663
75006747
VS
206642010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20665
20666 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
20667
74cbf5bd
CW
206682010-05-18 Colin Watson <cjwatson@ubuntu.com>
20669
20670 * configure.ac: Check for Linux device-mapper support.
20671
20672 * util/hostdisk.c (device_is_mapped): New function.
20673 (find_partition_start): New function, partly broken out from
20674 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
20675 device-mapper support added.
20676 (linux_find_partition): Use find_partition_start.
20677 (convert_system_partition_to_system_disk): Add `st' argument.
20678 Support Linux /dev/mapper/* devices if device-mapper support is
20679 available; only DM-RAID devices are understood at present.
20680 (find_system_device): Add `st' argument. Pass it to
20681 convert_system_partition_to_system_disk.
20682 (grub_util_biosdisk_get_grub_dev): Pass stat result to
20683 find_system_device and convert_system_partition_to_system_disk. Use
20684 find_partition_start.
20685
20686 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
20687 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
20688 * util/deviceiter.c [__linux__]: Define MINOR.
20689 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
20690 * util/mkdevicemap.c (grub_putchar): New function.
20691 (grub_getkey): New function.
20692 (grub_refresh): New function.
20693 (main): Set debug=all if -v -v is used.
20694
355b51e9
CW
206952010-05-18 Colin Watson <cjwatson@ubuntu.com>
20696
20697 Fix build with non-GNU libcs.
20698
20699 * util/misc.c (canonicalize_file_name): Move to ...
20700 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
20701 grub_make_system_path_relative_to_its_root.
20702
7fb5c25f
CW
207032010-05-18 Colin Watson <cjwatson@ubuntu.com>
20704
20705 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
20706 we handle finding grub-mkimage. Default to finding grub-mkimage in
20707 ${bindir} with program_transform_name applied, and provide a
20708 --grub-mkimage option to override this.
20709
1d3293d6
VS
207102010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20711
20712 Remove grub-mkisofs.
20713
20714 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
20715 (grub_mkisofs_SOURCES): Removed.
20716 (grub_mkisofs_CFLAGS): Removed.
20717 * util/mkisofs/defaults.h: Removed.
20718 * util/mkisofs/eltorito.c: Likewise.
20719 * util/mkisofs/exclude.h: Likewise.
20720 * util/mkisofs/hash.c: Likewise.
20721 * util/mkisofs/include/: Likewise.
20722 * util/mkisofs/include/fctldefs.h: Likewise.
20723 * util/mkisofs/include/mconfig.h: Likewise.
20724 * util/mkisofs/include/prototyp.h: Likewise.
20725 * util/mkisofs/include/statdefs.h: Likewise.
20726 * util/mkisofs/iso9660.h: Likewise.
20727 * util/mkisofs/joliet.c: Likewise.
20728 * util/mkisofs/match.c: Likewise.
20729 * util/mkisofs/match.h: Likewise.
20730 * util/mkisofs/mkisofs.c: Likewise.
20731 * util/mkisofs/mkisofs.h: Likewise.
20732 * util/mkisofs/msdos_partition.h: Likewise.
20733 * util/mkisofs/multi.c: Likewise.
20734 * util/mkisofs/name.c: Likewise.
20735 * util/mkisofs/rock.c: Likewise.
20736 * util/mkisofs/tree.c: Likewise.
20737 * util/mkisofs/write.c: Likewise.
20738
5dde9afe
VS
207392010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20740
20741 Unify grub-mkimage accross platforms.
20742
20743 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
20744 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
20745 (grub_mkelfimage_SOURCES): Removed.
20746 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
20747 (util/grub-mkimage.c_DEPENDENCIES): .. this.
20748 (bin_UTILITIES): Add grub-mkimage.
20749 (grub_mkimage_SOURCES): New variable.
20750 (kernel_img_HEADERS): Remove machine/kernel.h.
20751 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
20752 (pkglib_PROGRAMS): Add kernel.img.
20753 (kernel_img_HEADERS): Add machine/kernel.h.
20754 (kernel_img_FORMAT): Removed.
20755 (bin_UTILITIES): Remove grub-mkimage.
20756 (grub_mkimage_SOURCES): Removed.
20757 (grub_mkimage_CFLAGS): Likewise.
20758 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20759 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
20760 (pkglib_PROGRAMS): Add kernel.img.
20761 (bin_UTILITIES): Remove grub-mkimage.
20762 (grub_mkimage_SOURCES): Removed.
20763 (grub_mkimage_CFLAGS): Likewise.
20764 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20765 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
20766 (pkglib_PROGRAMS): Add kernel.img.
20767 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
20768 (pkglib_PROGRAMS): Add kernel.img.
20769 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
20770 (grub_mkimage_SOURCES): Removed.
20771 (grub_mkimage_CFLAGS): Likewise.
20772 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20773 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
20774 (pkglib_PROGRAMS): Add kernel.img.
20775 (bin_UTILITIES): Remove grub-mkimage.
20776 (grub_mkimage_SOURCES): Removed.
20777 (grub_mkimage_CFLAGS): Likewise.
20778 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20779 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
20780 (grub_mkimage_SOURCES): Removed.
20781 (grub_mkimage_CFLAGS): Likewise.
20782 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20783 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
20784 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
20785 (grub_pe32_optional_header): ... this.
20786 (grub_pe64_optional_header): ... and this. All users updated.
20787 (GRUB_PE32_PE32_MAGIC): Split into ..
20788 (GRUB_PE32_PE32_MAGIC): .. this.
20789 (GRUB_PE32_PE64_MAGIC): .. and this.
20790 (GRUB_PE32_SIGNATURE_SIZE): New definition.
20791 * include/grub/elf.h (PT_GNU_STACK): New definition.
20792 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
20793 * include/grub/i386/efi/kernel.h: Likewise.
20794 * include/grub/i386/kernel.h: Likewise.
20795 * include/grub/i386/pc/kernel.h: Likewise.
20796 * include/grub/i386/qemu/boot.h: Likewise.
20797 * include/grub/mips/kernel.h: Likewise.
20798 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20799 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20800 * include/grub/powerpc/kernel.h: Likewise.
20801 * include/grub/sparc64/ieee1275/boot.h: Likewise.
20802 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20803 * include/grub/sparc64/kernel.h: Likewise.
20804 * include/grub/x86_64/efi/kernel.h: Likewise.
20805 * include/grub/x86_64/kernel.h: Likewise.
20806 * include/grub/offsets.h: New file.
20807 * include/grub/kernel.h (grub_module_info): Split into ...
20808 (grub_module_info32): ... this.
20809 (grub_module_info64): ... and this.
20810 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
20811 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
20812 (grub_boot_blocklist): Moved from here ...
20813 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
20814 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
20815 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
20816 * include/grub/types.h (grub_target_to_host16): Removed.
20817 (grub_target_to_host32): Likewise.
20818 (grub_target_to_host64): Likewise.
20819 (grub_host_to_target16): Likewise.
20820 (grub_host_to_target32): Likewise.
20821 (grub_host_to_target64): Likewise.
20822 (grub_host_to_target_addr): Likewise.
20823
20824 Support grub-mkrescue for efi, coreboot and qemu.
20825
20826 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
20827 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
20828 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
20829 * util/grub-mkrawimage.c: Moved from here ...
20830 * util/grub-mkimage.c: ... here. All users updated.
20831 (ALIGN_ADDR): Use image_target.
20832 (TARGET_NO_FIELD): New const.
20833 (image_target_desc): New type.
20834 (image_targets): New array.
20835 (grub_target_to_host64): Use image_target.
20836 (grub_target_to_host32): Likewise.
20837 (grub_target_to_host16): Likewise.
20838 (grub_host_to_target64): Likewise.
20839 (grub_host_to_target32): Likewise.
20840 (grub_host_to_target16): Likewise.
20841 (grub_host_to_target_addr): Likewise.
20842 (generate_image): Handle multiimage.
20843 (main): Require -O parameter. All users updated.
20844 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20845 util/efi/grub-mkimage.c
20846 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20847 New option --rom-directory.
20848 Use xorriso.
20849 * util/i386/efi/grub-mkimage.c: Removed.
20850 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
20851 (grub_target_to_host32): Likewise.
20852 (grub_target_to_host64): Likewise.
20853 (grub_host_to_target16): Likewise.
20854 (grub_host_to_target32): Likewise.
20855 (grub_host_to_target64): Likewise.
20856 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20857 (grub_target_to_host32): Likewise.
20858 (grub_target_to_host64): Likewise.
20859 (grub_host_to_target16): Likewise.
20860 (grub_host_to_target32): Likewise.
20861 (grub_host_to_target64): Likewise.
20862
f4fc97d0
BC
208632010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20864
20865 Source tree is reorganized for emu build.
20866
20867 * include/grub/util/console.h: Move from here...
20868 * include/grub/emu/console.h: ...to here.
20869 * include/grub/util/getroot.h: Move from here...
20870 * include/grub/emu/getroot.h: ...to here.
20871 * include/grub/util/hostdisk.h: Move from here...
20872 * include/grub/emu/hostdisk.h: ...to here.
20873 * util/console.c: Move from here...
20874 * kern/emu/console.c: ...to here.
20875 * util/getroot.c: Move from here...
20876 * kern/emu/getroot.c: ...to here.
20877 * util/grub-emu.c: Move from here...
20878 * kern/emu/main.c: ...to here.
20879 * util/hostdisk.c: Move from here...
20880 * kern/emu/hostdisk.c: ...to here.
20881 * util/hostfs.c: Move from here...
20882 * kern/emu/hostfs.c: ...to here.
20883 * util/mm.c: Move from here...
20884 * kern/emu/mm.c: ...to here.
20885 * util/pci.c: Move from here...
20886 * bus/emu/pci.c: ...to here.
20887 * util/sdl.c: Move from here...
20888 * video/emu/sdl.c: ...to here.
20889 * util/time.c: Move from here...
20890 * kern/emu/time.c: ...to here.
20891 * util/usb.c: Move from here...
20892 * bus/usb/emu/usb.c: ...to here.
20893
20894 * include/grub/emu/misc.h: New header for grub-emu functions.
20895 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20896
20897 * conf/any-emu.rmk: Rule updates for above renames.
20898 * conf/common.rmk: Likewise.
20899 * conf/i386-pc.rmk: Likewise.
20900 * conf/i386-qemu.rmk: Likewise.
20901 * conf/mips.rmk: Likewise.
20902 * conf/sparc64-ieee1275.rmk: Likewise.
20903 * conf/x86-efi.rmk: Likewise.
20904
20905 * disk/lvm.h: #include updates for above renames.
20906 * util/grub-mkrelpath.c: Likewise.
20907 * util/grub-probe.c: Likewise.
20908 * util/i386/pc/grub-setup.c: Likewise.
20909 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20910 * kern/emu/console.c: Likewise.
20911 * kern/emu/getroot.c: Likewise.
20912 * kern/emu/hostdisk.c: Likewise.
20913 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20914
20915 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20916 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20917 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20918 * util/misc.c: Remove grub-emu functions.
20919
cced9145
VS
209202010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20921
20922 Fix gfxmenu crash.
20923 Reported by: Thorsten Grützmacher.
20924
20925 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20926 timeout hook.
20927 (circprog_set_property): Register and unregister timeout hook.
20928 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20929 (label_destroy): Free template. and unregister hook.
20930 (label_set_state): New function.
20931 (label_set_property): Handle templates and hooks.
20932 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20933 timeout hook.
20934 (progress_bar_set_property): Register and unregister timeout hook.
20935 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20936 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20937 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20938 (update_timeout_visit): Removed.
20939 (update_timeouts): New function.
20940 (redraw_timeouts): Likewise.
20941 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20942 (grub_gfxmenu_clear_timeout): Likewise.
20943 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20944 (grub_gfxmenu_timeout_notify): Likewise.
20945 (grub_gfxmenu_timeout_notifications): New external variable.
20946 (grub_gfxmenu_timeout_register): New function.
20947 (grub_gfxmenu_timeout_unregister): Likewise.
20948
c6e5caab
VS
209492010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20950
20951 Transform (broken) vga terminal into (working) vga video driver.
20952
20953 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20954 video/i386/pc/vga.c.
20955 * include/grub/video.h (grub_video_driver_id):
20956 Add GRUB_VIDEO_DRIVER_VGA.
20957 * term/i386/pc/vga.c: Renamed to ...
20958 * video/i386/pc/vga.c: ...this
20959 (DEBUG_VGA): Removed.
20960 (CHAR_WIDTH): Likewise.
20961 (CHAR_HEIGHT): Likewise.
20962 (TEXT_WIDTH): Likewise.
20963 (TEXT_HEIGHT): Likewise.
20964 (DEFAULT_FG_COLOR): Likewise.
20965 (DEFAULT_BG_COLOR): Likewise.
20966 (colored_char): Likewise.
20967 (xpos): Likewise.
20968 (ypos): Likewise.
20969 (cursor_state): Likewise.
20970 (fg_color): Likewise.
20971 (bg_color): Likewise.
20972 (text_buf): Likewise.
20973 (page): Likewise.
20974 (font): Likewise.
20975 (framebuffer): New variable.
20976 (set_read_map): Disabled.
20977 (setup): New variable.
20978 (is_target): Likewise.
20979 (grub_vga_mod_init): Likewise.
20980 (grub_vga_mod_fini): Likewise.
20981 (check_vga_mem): Likewise.
20982 (write_char): Likewise.
20983 (write_cursor): Likewise.
20984 (scroll_up): Likewise.
20985 (grub_vga_putchar): Likewise.
20986 (grub_vga_getcharwidth): Likewise.
20987 (grub_vga_getwh): Likewise.
20988 (grub_vga_getxy): Likewise.
20989 (grub_vga_gotoxy): Likewise.
20990 (grub_vga_cls): Likewise.
20991 (grub_vga_setcolorstate): Likewise.
20992 (grub_vga_setcursor): Likewise.
20993 (grub_video_vga_init): New function.
20994 (grub_video_vga_setup): Likewise.
20995 (grub_video_vga_fini): Likewise.
20996 (update_target): Likewise.
20997 (grub_video_vga_blit_bitmap): Likewise.
20998 (grub_video_vga_blit_render_target): Likewise.
20999 (grub_video_vga_set_active_render_target): Likewise.
21000 (grub_video_vga_get_active_render_target): Likewise.
21001 (grub_video_vga_swap_buffers): Likewise.
21002 (grub_video_vga_set_palette): Likewise.
21003 (grub_video_vga_get_info_and_fini): Likewise.
21004 (grub_vga_term): Removed.
21005 (grub_video_vga_adapter): New variable.
21006 (GRUB_MOD_INIT): Register a video driver instead of terminal.
21007 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
21008
2bf61a98
VS
210092010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21010
21011 * video/readers/jpeg.c: Indented.
21012
09ddcd11
VS
210132010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21014
21015 Various jpeg cleanups.
21016
21017 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
21018 (grub_jpeg_decode_quan_table): Use sizeof.
21019 (grub_jpeg_decode_du): Use ARRAY_SIZE.
21020
e5507505
PH
210212010-05-05 Peter Hurley <No e-mail available> (tiny change)
21022
21023 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
21024 tables. Ignore non-last ac bit.
21025 (grub_jpeg_decode_quan_table): Likewise.
21026
7e720a9b
VS
210272010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21028
21029 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
21030 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
21031 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21032 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
21033 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
21034 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
21035
a7fc080b
VS
210362010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21037
21038 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
21039 error.
21040
2bf6012d
VS
210412010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21042
21043 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
21044
265d68cd
VS
210452010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21046
21047 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
21048 condition.
21049
210502010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
21051
21052 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
21053 part.
21054
265d68cd 210552010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
21056
21057 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
21058 pointers.
21059
265d68cd 210602010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
21061
21062 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
21063
d1b61374
CF
210642010-05-01 Christian Franke <franke@computer.org>
21065
21066 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
21067 Remove broken Cygwin path conversion.
21068 * util/misc.c: [__CYGWIN__] Add include and define.
21069 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
21070 for Cygwin 1.7.
21071 (make_system_path_relative_to_its_root): Simplify loop, replace early
21072 return by break.
21073 [__CYGWIN__] Add conversion to win32 path.
21074 Include "/" case in trailing slash removal.
21075
3558c6e9
VS
210762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21077
21078 * kern/main.c (grub_load_config): Fix copy-pasted comment.
21079 Reported by: Seth Goldberg
21080
f5f3ff93
VS
210812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21082
21083 * commands/help.c (grub_cmd_help): Fix a typo.
21084 Reported by: Seth Goldberg
21085
d8b5cd40
VS
210862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21087
21088 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
21089 name and add N_.
21090 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
21091 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
21092 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
21093 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
21094 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
21095 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
21096 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21097 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21098 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21099 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21100 * normal/context.c (GRUB_MOD_INIT): Likewise.
21101 * normal/main.c (GRUB_MOD_INIT): Likewise.
21102 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21103 * term/serial.c (GRUB_MOD_INIT): Likewise.
21104 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21105
88c14915
VS
211062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21107
21108 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
21109 extra == 0.
21110
165134bc
VS
211112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21112
21113 * commands/iorw.c: New file.
21114 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
21115 (iorw_mod_SOURCES): New variable.
21116 (iorw_mod_CFLAGS): Likewise.
21117 (iorw_mod_LDFLAGS): Likewise.
21118
c5ac9b32
VS
211192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21120
21121 Hotkey support
21122
21123 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
21124 * normal/main.c (hotkey_aliases): New variable.
21125 (grub_normal_add_menu_entry): Parse "--hotkey".
21126 * normal/menu_text.c (run_menu): Handle hotkeys.
21127
ce60689c
VS
211282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21129
21130 * kern/i386/coreboot/init.c (grub_machine_init): Call
21131 grub_machine_mmap_init on qemu.
21132
0359d006
VS
211332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21134
21135 * boot/i386/qemu/boot.S: Add a missing .code16.
21136
7819a456
VS
211372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21138
21139 Use LBIO on coreboot.
21140
21141 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
21142 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
21143 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
21144 New declaration.
21145 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
21146 grub_machine_mmap_init on coreboot.
21147 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
21148 GRUB_LINUXBIOS_MEMBER_LINK.
21149 (grub_machine_mmap_iterate): Fix declaration.
21150 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
21151
7210dca9
VS
211522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21153
21154 Split coreboot and multiboot ports.
21155
21156 * conf/i386-multiboot.rmk: New file.
21157 * configure.ac: Add multiboot port.
21158 * include/grub/i386/multiboot/boot.h: New file.
21159 * include/grub/i386/multiboot/console.h: Likewise.
21160 * include/grub/i386/multiboot/init.h: Likewise.
21161 * include/grub/i386/multiboot/kernel.h: Likewise.
21162 * include/grub/i386/multiboot/loader.h: Likewise.
21163 * include/grub/i386/multiboot/memory.h: Likewise.
21164 * include/grub/i386/multiboot/serial.h: Likewise.
21165 * include/grub/i386/multiboot/time.h: Likewise.
21166 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
21167 * loader/multiboot.c: Likewise.
21168 * loader/multiboot_mbi2.c: Likewise.
21169 * util/grub-mkrescue.in: Generate multiboot rescue.
21170
6f8aaf68
VS
211712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21172
3080f7a7
VS
21173 * kern/parser.c (grub_parser_execute): Cope with read-only config.
21174
211752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21176
21177 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
21178
21179 * commands/terminal.c (abstract_terminal): New struct.
21180 (handle_command): New function. Based on grub_cmd_terminal_input.
21181 (grub_cmd_terminal_input): Use handle_command.
21182 (grub_cmd_terminal_output): Use handle_command.
21183
a8ebb841
BC
211842010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
21185
21186 Fix comment handling.
21187
21188 * tests/grub_script_comments.in: New testcase.
21189 * conf/tests.rmk: Rules for new testcase.
21190 * script/yylex.l: Updated flex rules.
21191
bb06ba08
ST
211922010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
21193
21194 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
21195 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
21196 if argc is 1.
bb06ba08 21197
cc9d2425
VS
211982010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21199
21200 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
21201 autogen issues.
21202
460d8402
CF
212032010-04-26 Christian Franke <franke@computer.org>
21204
21205 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
21206 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
21207 (grub_get_prefix): Remove function.
21208 * util/grub-emu.c (main): Replace grub_get_prefix () call by
21209 make_system_path_relative_to_its_root ().
21210 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
21211
553c01f9
CF
212122010-04-24 Christian Franke <franke@computer.org>
21213
21214 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
21215 (kernel_img_LDFLAGS): Remove -static-libgcc.
21216
2aec1692
CF
212172010-04-24 Christian Franke <franke@computer.org>
21218
21219 * configure.ac: Do not CHECK_BSS_START_SYMBOL
21220 and CHECK_END_SYMBOL if grub-emu is built.
21221 Unset TARGET_OBJ2ELF if grub-emu is built
21222 without module support.
21223
f67dc308
JS
212242010-04-24 Jiro SEKIBA <jir@unicus.jp>
21225
21226 Nilfs2 support.
21227
21228 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
21229 (grub_fstest_SOURCES): Likewise.
21230 (pkglib_MODULES): Add nilfs2.mod.
21231 (nilfs2_mod_SOURCES): New variable.
21232 (nilfs2_mod_CFLAGS): Likewise.
21233 (nilfs2_mod_LDFLAGS): Likewise.
21234 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21235 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21236 * fs/nilfs2.c: New file.
21237
4ba8d354
VS
212382010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
21239
21240 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
21241 is not supported.
21242
0d2c20c6
GS
212432010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
21244
21245 Add grub-mkconfig support for NetBSD.
21246
21247 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
21248 * util/grub-mkconfig.in: export new NetBSD specific variables.
21249 * po/POTFILES-shell: added 10_netbsd.in.
21250 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
21251
bc4a2d83
BC
212522010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
21253
21254 Fix emu build with grub-emu-pci and grub-emu-modules.
21255
21256 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
21257 functions.
21258 * include/grub/libpciaccess.h: New file.
21259 * conf/any-emu.rmk: Update kernel headers for emu build.
21260
f48c87aa
VS
212612010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21262
21263 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
21264
18959385
VS
212652010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21266
21267 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
21268
0037de3f
VS
212692010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21270
21271 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
21272 Retrieve chosen/bootpath if bootpath isn't hardcoded.
21273 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
21274 util/ieee1275/ofpath.c.
21275 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
21276 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
21277 * include/grub/sparc64/ieee1275/boot.h
21278 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
21279 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
21280 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
21281 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
21282 const char *.
21283 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
21284 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
21285 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
21286 install.
21287
38e55e90
GS
212882010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21289
21290 * util/grub-mkconfig.in: Corrected two == equality tests.
21291 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
21292 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
21293 expect a number appended to it.
21294 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
21295 expects a number appended to it.
21296
a9e6ff28
VS
212972010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21298
21299 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
21300
0b830b8f
VS
213012010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21302
21303 * util/hostdisk.c (make_device_name): Change to new partition naming.
21304
0973daeb
VS
213052010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
21306
21307 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
21308
460d8402 213092010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
21310
21311 * Makefile.in: Add missing localedir setting.
21312
0b456309
CW
213132010-04-14 Colin Watson <cjwatson@ubuntu.com>
21314
21315 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
21316 mistake in r2156. Noticed by Anthony Fok.
21317
21318 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
21319 @localedir@.
21320 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21321
08f46d62
BC
213222010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
21323
21324 Fix a spurious, uninitialized variable warning.
21325
21326 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
21327 Initialize variable, shdr.
21328 (grub_freebsd_load_elfmodule): Likewise.
21329 (grub_freebsd_load_elf_meta): Likewise.
21330
8c4a72d4
BC
213312010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
21332
21333 Fix for escaped dollar in double quoted strings.
21334
21335 * script/yylex.l: Updated flex rules.
21336 * conf/tests.rmk: Rule for new testcase.
21337 * tests/grub_script_dollar.in: New testcase.
21338
ce44826e
CPE
213392010-04-13 Carles Pina i Estany <carles@pina.cat>
213402010-04-13 Colin Watson <cjwatson@ubuntu.com>
21341
21342 Enclose all translated strings in grub.cfg in single quotes, and
21343 escape them appropriately (Ubuntu bug #552921).
21344
21345 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
21346 * util/grub.d/10_hurd.in: Use it.
21347 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21348 * util/grub.d/10_linux.in (linux_entry): Likewise.
21349
4b0cd8f8
VS
213502010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21351
21352 Fix cygwin compilation.
21353
21354 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
21355 * include/grub/misc.h (__register_frame_info)
21356 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
21357 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21358 * kern/misc.c (__register_frame_info)
21359 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
21360 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21361
01fcf061
VS
213622010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21363
21364 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
21365
5d04b11e
VS
213662010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21367
21368 Unify libgcc processing.
21369
21370 * Makefile.in (kernel_img_LDFLAGS): New variable.
21371 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
21372 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
21373 overwriting.
21374 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
21375 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
21376 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
21377 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
21378 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
21379 overwriting. Remove -lgcc and -static-libgcc
21380 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
21381 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21382 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21383 (kernel_img_LDFLAGS): Append instead of overwriting.
21384 Remove -lgcc and -static-libgcc
21385 * conf/sparc64-ieee1275.rmk: Likewise.
21386 * include/grub/powerpc/libgcc.h: Move to ...
21387 * include/grub/libgcc.h: .. this.
21388 * include/grub/libgcc.h: Don't export most of the function on x86.
21389 (__bswapsi2): New export.
21390 (__bswapdi2): Likewise.
21391 * include/grub/mips/libgcc.h: Removed.
21392 * include/grub/sparc64/libgcc.h: Likewise.
21393
b7f3ac29
VS
213942010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21395
21396 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
21397 disk_info_msg (conflicts with gettexting into languages with cases).
21398
2c7031b1
GS
213992010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
21400
21401 Add grub-probe support for NetBSD.
21402
21403 * util/getroot.c (find_root_device): Convert block device to
21404 character device on NetBSD.
21405 * util/probe.c (probe): Require character device on NetBSD.
21406 * util/hostdisk.c: NetBSD specific headers.
21407 (configure_device_driver): new function to tune device driver
21408 parameters (currently only for NetBSD floppy driver).
21409 (grub_util_biosdisk_open): NetBSD specific code (get disk size
21410 via disklabel ioctl).
21411 (open_device): call configure_device_driver on NetBSD.
21412 (convert_system_partition_to_system_disk): NetBSD specific code.
21413 (device_is_wholedisk): Likewise.
21414 (grub_util_biosdisk_get_grub_dev): Likewise.
21415 (make_device_name): Fixed a typo in bsd_part_str.
21416 * configure.ac: check for opendisk() and getrawpartition() on
21417 NetBSD and set LIBUTIL.
21418 * Makefile.in: add LIBUTIL to LIBS.
21419
f516290c
BC
214202010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21421
21422 Documentation fix.
21423
21424 * util/grub-script-check.c: Better help message.
21425
d8dcc0df
BC
214262010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21427
21428 Fix FreeBSD build.
21429
21430 * configure.ac: Flex version check.
21431 * conf/common.rmk: Add -Wno-error to sh.mod.
21432 * script/yylex.l: Remove all #pragma.
21433
6734334a
VS
214342010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21435
21436 * include/grub/util/misc.h (canonicalise_file_name): Add missing
21437 prototype.
21438 Reported by: Seth Goldberg.
21439
daea6abd
VS
214402010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21441
21442 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
21443 Rename "module" to "module2".
21444 Reported by: Seth Goldberg.
21445
f2fd9d2b
VS
214462010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21447
21448 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
21449 EXPORT_FUNC.
21450 Reported by: Seth Goldberg.
21451
be124579
VS
214522010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21453
21454 * lib/posix_wrap/locale.h: Add missing file.
21455 Reported by: Seth Goldberg.
21456
ef5da797
VS
214572010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21458
21459 grub-emu module load support.
21460
21461 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
21462 NO_DYNAMIC_MODULES switched to this.
21463 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
21464 (CFLAGS): Likewise.
21465 * conf/any-emu.rmk: Generate symlist.
21466 (kernel_img_HEADERS): Add util/datetime.h.
21467 (kernel_img_HEADERS) [sdl]: Add sdl.h.
21468 (kernel_img_HEADERS) [libusb]: Add libusb.h.
21469 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
21470 kern/$(target_cpu)/cache.S.
21471 * configure.ac (grub-emu-modules): New option.
21472 * genmk.rb: Handle multiple source lists.
21473 * include/grub/sdl.h: New file.
21474 * include/grub/libusb.h: Likewise.
21475 * util/grub-emu.c (main): Hanle (host) root.
21476 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
21477 GRUB_ERR_UNKNOWN_DEVICE.
21478 * util/misc.c: Move mm functions to ...
21479 * util/mm.c: ... here. All users updated.
21480
47822096
VS
214812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21482
21483 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
21484 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
21485 missing files.
21486 (maintainer-clean): Remove libgcrypt-grub.
21487
5d7e7445
VS
214882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21489
21490 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
21491
25f4e252
EC
214922010-04-09 EFI Coder <eficoder@hotmail.com>
21493
21494 * normal/menu_text.c (print_message): Clean up the message and show
21495 the Fn information when on EFI
21496 * term/efi/console.c (grub_console_checkkey): Add F4 support.
21497
027de555
VS
214982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21499
21500 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
21501 All users updated.
21502 * normal/crypto.c (read_crypto_list): Likewise.
21503 * normal/dyncmd.c (read_command_list): Likewise.
21504 * normal/term.c (read_terminal_list): Likewise.
21505 * normal/main.c (read_lists): Use explicit prefix.
21506 (read_lists_hook): Use read_lists.
21507 (grub_normal_execute): Likewise.
21508
47779711
VS
215092010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21510
21511 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
21512 Reported by: Thomas Schmitt.
21513 Add -no-emul-boot to grub-mkisofs parameters.
21514
1118c32e
VS
215152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21516
21517 * font/font.c: Indented.
21518
7d652447
BC
215192010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21520
21521 Elif support to GRUB script (by Deepak Vankadaru).
21522
21523 * tests/grub_script_if.in: New testcase.
21524 * conf/tests.rmk: Rule for new testcase.
21525 * script/parser.y: Grammar rules for elif.
21526
34bb22df
BC
215272010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21528
21529 While and until loops support to GRUB script.
21530
21531 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
21532 (grub_script_create_cmdwhile): New function prototype.
21533 (grub_script_execute_cmdwhile): New function prototype.
21534 * script/execute.c (grub_script_execute_cmdwhile): New function.
21535 * script/parser.y (command): New commands.
21536 (whilecmd): New grammar rule.
21537 (untilcmd): New grammar rule.
21538 * script/script.c (grub_script_create_cmdwhile): New function.
21539 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
21540 function.
21541
21542 * tests/grub_script_while1.in: New testcase.
21543 * conf/tests.rmk: Rule for new testcase.
21544
e215d8e0
VS
215452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21546
21547 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
21548 as *.jpg.
21549
d7c43ba1
MV
215502010-04-09 Mario Vazquez <mariovazq@gmail.com>
21551
21552 GRUB_BACKGROUND support.
21553
21554 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
21555 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
21556
d64795c0
VS
215572010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21558
21559 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 21560 Idea by: Mario Vazquez
d64795c0
VS
21561
21562 * util/grub.d/00_header.in: Load pf2 and image modules.
21563
f267f83a
VS
215642010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21565
21566 grub-mkconfig multiple terminal support.
21567
21568 * util/grub-mkconfig.in: Handle multiple terminals correctly.
21569 * util/grub.d/00_header.in: Likewise.
21570
b7841ceb
VS
215712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21572
21573 * Makefile.in: Specify files explicitly instead of using $< and $@ since
21574 we use cd $(srcdir).
21575
df60998c
CW
215762010-04-08 Colin Watson <cjwatson@ubuntu.com>
21577
21578 * util/grub.d/10_linux.in: Only use the first word of
21579 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
21580 spaces in GRUB_DISTRIBUTOR.
21581 * util/grub.d/10_kfreebsd.in: Likewise.
21582 * util/grub.d/10_hurd.in: Likewise.
21583
fa09c82e
BC
215842010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
21585
14e18ae3 21586 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
21587
21588 * tests/util/grub-shell.in: Remove -serial stdio option.
21589
daf892b3
BC
215902010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
21591
21592 POSIX header file wrappers.
21593
21594 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
21595 equivalents.
21596 * lib/posix_wrap/ctype.h: Likewise.
21597 * lib/posix_wrap/errno.h: Likewise.
21598 * lib/posix_wrap/langinfo.h: Likewise.
21599 * lib/posix_wrap/limits.h: Likewise.
21600 * lib/posix_wrap/localcharset.h: Likewise.
21601 * lib/posix_wrap/stdint.h: Likewise.
21602 * lib/posix_wrap/stdio.h: Likewise.
21603 * lib/posix_wrap/stdlib.h: Likewise.
21604 * lib/posix_wrap/string.h: Likewise.
21605 * lib/posix_wrap/sys/types.h: Likewise.
21606 * lib/posix_wrap/unistd.h: Likewise.
21607 * lib/posix_wrap/wchar.h: Likewise.
21608 * lib/posix_wrap/wctype.h: Likewise.
21609 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
21610 (grub_script.yy.h): Likewise.
21611 * script/yylex.l: Remove POSIX emulation #defines.
21612 * Makefile.in (POSIX_CFLAGS): New variable.
21613 (GNULIB_UTIL_CFLAGS): Likewise.
21614
21615 Regexp support.
21616
21617 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
21618 (regexp_mod_SOURCES): New variable.
21619 (regexp_mod_CFLAGS): Likewise.
21620 (regexp_mod_LDFLAGS): Likewise.
21621 * commands/regexp.c: New file.
21622 * gnulib/regcomp.c: New file. Imported from gnulib.
21623 * gnulib/regex.c: Likewise.
21624 * gnulib/regex_internal.c: Likewise.
21625 * gnulib/regex_internal.h: Likewise.
21626 * gnulib/regexec.c: Likewise.
21627 * gnulib/regex.h: Likewise.
21628
974ac4f7
VS
216292010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21630
21631 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
21632 unsupported video mode types.
21633
2622c3ff
VS
216342010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21635
21636 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
21637
064cb524
VS
216382010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21639
21640 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
21641 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
21642
a8c3b552
VS
216432010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
21644
21645 Remove unused grub_vga_get_font.
21646
21647 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
21648 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
21649
187bbe3d
GS
216502010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21651
21652 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
21653 * include/grub/misc.h: Likewise.
21654
b9396631
GS
216552010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21656
21657 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
21658 for which failure is fatal.
21659
50479feb
GS
216602010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21661
21662 * util/grub-install.in: Use mkdir -p to create grub directory.
21663 * util/i386/efi/grub-install.in: Likewise.
21664 * util/ieee1275/grub-install.in: Likewise.
21665
b1654fdf
GS
216662010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21667
21668 * Makefile.in (LEX): new variable.
21669
bd5a6415
GS
216702010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21671
21672 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
21673 `=' and added double quotes on operands of this equality test.
21674
3db3a82b
VS
216752010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21676
21677 * Makefile.in (uninstall): Remove a leftover debug echo.
21678 Reported by: Grégoire Sutre
21679
38023412
VS
216802010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21681
21682 MIPS multiboot2 support.
21683
21684 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
21685 (multiboot2_mod_SOURCES): New variable.
21686 (multiboot2_mod_CFLAGS): Likewise.
21687 (multiboot2_mod_LDFLAGS): Likewise.
21688 (multiboot2_mod_ASFLAGS): Likewise.
21689 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
21690 definition.
21691 (MULTIBOOT_ENTRY_REGISTER): Likewise.
21692 (MULTIBOOT_MBI_REGISTER): Likewise.
21693 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
21694 (MULTIBOOT_ELF32_MACHINE): Likewise.
21695 (MULTIBOOT_ELF64_MACHINE): Likewise.
21696 * include/grub/mips/multiboot.h: New file.
21697 * include/grub/video.h (grub_video_driver_id): New type
21698 GRUB_VIDEO_DRIVER_SM712.
21699 (grub_video_get_info_and_fini): Export.
21700 (grub_video_get_palette): Likewise.
21701 (grub_video_get_driver_id): Likewise.
21702 * include/multiboot2.h: Resynced with spec.
21703 * loader/i386/multiboot.c: Moved from here ...
21704 * loader/multiboot.c: ... here. All users updated.
21705 (grub_multiboot_boot): Use platform-specific macros.
21706 * loader/i386/multiboot_elfxx.c: Moved from here ...
21707 * loader/multiboot_elfxx.c: ... here. All users updated.
21708 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
21709 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
21710 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
21711
47674667
VS
217122010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
21713
21714 Import gnulib argp module.
21715
21716 * gnulib/argp-ba.c: New file.
21717 * gnulib/argp-eexst.c: Likewise.
21718 * gnulib/argp-fmtstream.c: Likewise.
21719 * gnulib/argp-fmtstream.h: Likewise.
21720 * gnulib/argp-fs-xinl.c: Likewise.
21721 * gnulib/argp-help.c: Likewise.
21722 * gnulib/argp-namefrob.h: Likewise.
21723 * gnulib/argp-parse.c: Likewise.
21724 * gnulib/argp-pin.c: Likewise.
21725 * gnulib/argp-pv.c: Likewise.
21726 * gnulib/argp-pvh.c: Likewise.
21727 * gnulib/argp-version-etc.c: Likewise.
21728 * gnulib/argp-version-etc.h: Likewise.
21729 * gnulib/argp-xinl.c: Likewise.
21730 * gnulib/argp.h: Likewise.
21731
495442ed
VS
217322010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21733
21734 * kern/device.c (grub_device_iterate): Clear errors after failed
21735 opening device.
21736
f9fd65df
VS
217372010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21738
21739 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
21740 returned by firmware.
21741
af09641e
VS
217422010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
21743
21744 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
21745 compilation on coreboot and qemu
21746
016883a5
VS
217472010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21748
21749 * include/multiboot2.h: Resync with spec.
21750
f97e1f7d
VS
217512010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21752
21753 Multiboot2 tag support
21754
21755 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
21756 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
21757 Remove loader/multiboot_loader.c.
21758 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
21759 (grub_multiboot2_real_boot): Likewise.
21760 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
21761 (grub_get_multiboot_mmap_count): New proto.
21762 (grub_fill_multiboot_mmap): Likewise.
21763 (grub_multiboot_set_video_mode): Likewise.
21764 (grub_multiboot_set_console): Likewise.
21765 (grub_multiboot_load): Likewise.
21766 (grub_multiboot_load_elf): Likewise.
21767 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
21768 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
21769 * include/multiboot.h: Resynced with specification.
21770 * include/multiboot2.h: Resynced with specification.
21771 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
21772 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
21773 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
21774 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
21775 users updated.
21776 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
21777 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
21778 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
21779 Removed.
21780 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
21781 Moved from here...
21782 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
21783 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21784 Moved from here...
21785 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
21786 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
21787 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
21788 All users updated.
21789 * loader/i386/multiboot_mbi2.c: New file.
21790
3506b90b
VS
217912010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21792
21793 Resync with gnulib.
21794
21795 * Makefile.in (GNULIB_CFLAGS): New variable.
21796 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
21797 (grub_script_check_CFLAGS): New variable.
21798 * gnulib/alloca.h: Resync with gnulib.
21799 * gnulib/error.c: Likewise.
21800 * gnulib/error.h: Likewise.
21801 * gnulib/fnmatch.c: Likewise.
21802 * gnulib/fnmatch_loop.c: Likewise.
21803 * gnulib/getdelim.c: Likewise.
21804 * gnulib/getline.c: Likewise.
21805 * gnulib/getopt.c: Likewise.
21806 * gnulib/getopt1.c: Likewise.
21807 * gnulib/getopt_int.h: Likewise.
21808 * gnulib/gettext.h: Likewise.
21809 * gnulib/progname.c: Likewise.
21810 * gnulib/progname.h: Likewise.
21811
394a3120
GS
218122010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
21813
21814 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
21815 which is the case with --disabled-nls.
21816
21817 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
21818 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
21819 * util/misc.c: Likewise.
21820 * util/mkisofs/mkisofs.c: Likewise.
21821 * util/mkisofs/mkisofs.h: Likewise.
21822
969d1c78
VS
218232010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21824
21825 Simplify Apple CC support.
21826
21827 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
21828 Add 0 byte at the end not to have a symbol with empty target.
21829 * mmap/i386/pc/mmap_helper.S: Likewise.
21830 * genmk.rb: Ignore errors 2030 and 2050.
21831 * kern/i386/pc/startup.S: Use LOCAL when possible.
21832
8d2977bb
BC
218332010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
21834
21835 Testcase and the fix for final semicolon on cmdline.
21836
21837 * tests/grub_script_final_semicolon.in: New testcase.
21838 * conf/tests.rmk: Rules for the new testcase.
21839 * script/parser.y: Grammar fix.
21840
a7bd6915
BC
218412010-03-26 BVK Chaitanya <bvk@localhost>
21842
21843 Blank lines testcase for GRUB script.
21844
21845 * tests/grub_script_blanklines.in: New testcase.
21846 * conf/tests.rmk: Rules for the new testcase.
21847
e4ff6628
VS
218482010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21849
21850 Don't use __FILE__.
21851
21852 * genmk.rb: Add -DGRUB_FILE to all C targets.
21853 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21854 * include/grub/list.h: Likewise.
21855 * include/grub/misc.h: Likewise.
21856 * include/grub/mm.h: Likewise.
21857 * include/grub/test.h: Likewise.
21858 * kern/mm.c: Likewise.
21859 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21860
6a5cf6b6
VS
218612010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21862
21863 Sunpc partitions support.
21864
21865 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21866 (grub_fstest_SOURCES): Likewise.
21867 (pkglib_MODULES): Add part_sunpc.mod.
21868 (part_sunpc_mod_SOURCES): New variable.
21869 (part_sunpc_mod_CFLAGS): Likewise.
21870 (part_sunpc_mod_LDFLAGS): Likewise.
21871 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21872 * partmap/sunpc.c: New file.
21873
746d9045
BC
218742010-03-26 BVK Chaitanya <bvk@localhost>
21875
21876 For loop support to GRUB script.
21877
21878 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21879 (grub_script_create_cmdfor): New function prototype.
21880 (grub_script_execute_cmdfor): New function prototype.
21881 * script/execute.c (grub_script_execute_cmdfor): New function.
21882 * script/parser.y (command): New for command.
21883 (forcmd): New grammar rule.
21884 * script/script.c (grub_script_create_cmdfor): New function.
21885 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21886 function.
21887 * tests/grub_script_for1.in: New testcase.
21888 * conf/tests.rmk: Rules for new testcase.
21889
18486b18
VS
218902010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21891
21892 Nested partitions
21893
21894 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21895 'partition' is NULL, grub_partition_get_start already does that.
21896 * commands/loadenv.c (check_blocklists): Likewise.
21897 (write_blocklists): Likewise.
21898 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21899 (grub_fstest_SOURCES): Likewise.
21900 (pkglib_MODULES): Add part_bsd.mod.
21901 (part_bsd_mod_SOURCES): New variable.
21902 (part_bsd_mod_CFLAGS): Likewise.
21903 (part_bsd_mod_LDFLAGS): Likewise.
21904 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21905 (grub_emu_SOURCES): Likewise.
21906 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21907 * include/grub/bsdlabel.h: New file.
21908 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21909 'get_name'.
21910 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21911 (grub_partition_map_list): New variable.
21912 (grub_partition_map_register): Inline.
21913 (grub_partition_map_unregister): Likewise.
21914 (FOR_PARTITION_MAPS): New macro.
21915 (grub_partition_map_iterate): Removed.
21916 (grub_partition_get_start): Handle nested partitions.
21917 * include/grub/msdos_partition.h: Remove bsd-related entries.
21918 (grub_pc_partition): Remove.
21919 * kern/disk.c (grub_disk_close): Free partition data.
21920 (grub_disk_adjust_range): Handle nested partitions.
21921 * kern/partition.c (grub_partition_map_probe): New function.
21922 (grub_partition_probe): Parse name to number, handle subpartitions.
21923 (get_partmap): New function.
21924 (grub_partition_iterate): Handle subpartitions.
21925 (grub_partition_get_name): Likewise.
21926 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21927 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21928 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21929 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21930 Set 'number'.
21931 (acorn_partition_map_probe): Remove.
21932 (acorn_partition_map_get_name): Likewise.
21933 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21934 Set 'number'.
21935 Set 'index' to 0 since there can be only one partition entry per sector.
21936 (amiga_partition_map_probe): Remove.
21937 (amiga_partition_map_get_name): Likewise.
21938 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21939 Set 'number'.
21940 Set 'offset' and 'index' to real positions of partitions.
21941 (apple_partition_map_probe): Remove.
21942 (apple_partition_map_get_name): Likewise.
21943 * partmap/bsdlabel.c: New file.
21944 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21945 Set 'number'.
21946 Allocate 'data' so it can be correctly freed.
21947 Set 'index' to offset inside sector.
21948 (gpt_partition_map_probe): Remove.
21949 (gpt_partition_map_get_name): Likewise.
21950 * partmap/msdos.c (grub_partition_parse): Remove.
21951 (pc_partition_map_iterate): Don't force raw access.
21952 Set 'number'.
21953 Make 'ext_offset' a local variable.
21954 (pc_partition_map_probe): Remove.
21955 (pc_partition_map_get_name): Remove.
21956 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21957 Set 'number'.
21958 (sun_partition_map_probe): Remove.
21959 (sun_partition_map_get_name): Likewise.
21960 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21961 (grub_pcpart_type): Likewise.
21962 * util/hostdisk.c (open_device): Handle new numbering scheme.
21963 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21964 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21965 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21966 * util/grub-install.in: Insert all subpartition modules.
21967 * util/ieee1275/grub-install.in: Likewise.
21968
a3940f88
AG
219692010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21970
21971 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21972 grammar.
21973
21b99926 219742010-03-24 Colin Watson <cjwatson@ubuntu.com>
21975
21976 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
21977
bed1d352
CW
219782010-03-21 Colin Watson <cjwatson@ubuntu.com>
21979
21980 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
21981 match where 'make install' puts them.
21982 * util/i386/efi/grub-install.in: Likewise.
21983
c9f58427
CW
219842010-03-19 Colin Watson <cjwatson@ubuntu.com>
21985
21986 * .bzrignore: Add gentrigtables, grub-script-check,
21987 grub_script_check_init.c, grub_script_check_init.h, and
21988 trigtables.c.
21989
f84afb27
VS
219902010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
21991
21992 * kern/parser.c: Indented.
21993
ed0e3d30
VS
219942010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21995
21996 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
21997
0ea81d98
VS
219982010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21999
22000 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
22001 alpha_mask_size == 0 case.
22002
0cdc2a09
BC
220032010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
22004
22005 GRUB shell lexer and parser improvements.
22006
22007 * conf/any-emu.rmk: Build rule updates.
22008 * conf/common.rmk: Likewise.
22009 * conf/i386-coreboot.rmk: Likewise.
22010 * conf/i386-efi.rmk: Likewise.
22011 * conf/i386-ieee1275.rmk: Likewise.
22012 * conf/i386-pc.rmk: Likewise.
22013 * conf/powerpc-ieee1275.rmk: Likewise.
22014 * conf/x86_64-efi.rmk: Likewise.
22015
22016 * configure.ac: Configure check for flex.
22017
22018 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
22019 types.
22020 (grub_lexer_param): Struct member updates.
22021 (grub_parser_param): Likewise.
22022 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
22023 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
22024 (grub_script_lexer_init): Prototype update.
22025 (grub_script_lexer_record_start): Likewise.
22026 (grub_script_lexer_record_stop): Likewise.
22027 (grub_script_lexer_yywrap): New function prototype.
22028 (grub_script_lexer_fini): Likewise.
22029 (grub_script_execute_argument_to_string): Removed by...
22030 (grub_script_execute_argument_to_argv): ...better version.
22031
22032 * script/execute.c (ROUND_UPTO): New macro.
22033 (grub_script_execute_cmdline): Out of memory fixes.
22034 (grub_script_execute_menuentry): Likewise.
22035 (grub_script_execute_argument_to_string): Removed. Update all
22036 users by...
22037 (grub_script_execute_argument_to_argv): ...better version.
22038 * script/function.c (grub_script_function_create): Use
22039 grub_script_execute_argument_to_argv instead of
22040 grub_script_execute_argument_to_string.
22041
22042 * script/lexer.c (check_varstate): Removed.
22043 (check_textstate): Removed.
22044 (grub_script_lexer_record_start): Likewise.
22045 (grub_script_lexer_record_stop): Likewise.
22046 (recordchar): Replaced with...
22047 (grub_script_lexer_record): ...new function.
22048 (nextchar): Removed.
22049 (grub_script_lexer_init): Rewritten.
22050 (grub_script_yylex): Rewritten.
22051 (append_newline): New function.
22052 (grub_script_lexer_yywrap): New function.
22053 (grub_script_lexer_fini): New function.
22054 (grub_script_yyerror): Sets error flag.
22055
22056 * script/yylex.l: New file.
22057 (grub_lexer_yyfree): Wrapper for flex yyffre.
22058 (grub_lexer_yyalloc): Likewise.
22059 (grub_lexer_yyrealloc): Likewise.
22060 * script/parser.y: Refactored.
22061
22062 * script/script.c (grub_script_arg_add): Out of memory fixes.
22063 (grub_script_add_arglist): Likewise.
22064 (grub_script_create_cmdline): Likewise.
22065 (grub_script_create_cmdmenu): Likewise.
22066 (grub_script_add_cmd): Likewise.
22067 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
22068 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
22069 unnecessary code.
22070
22071 * tests/grub_script_echo1.in: New testcase.
22072 * tests/grub_script_vars1.in: New testcase.
22073 * tests/grub_script_echo_keywords.in: New testcase.
22074
1d63a066
VS
220752010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22076
22077 Remove some redundancy in build system.
22078
22079 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
22080 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
22081 (TARGET_LDFLAGS): Add -nostdlib.
22082 (TARGET_IMG_LDFLAGS): Likewise.
22083 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
22084 anything since mmap isn't available.
22085 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
22086 Add util/time.c.
22087 (pkglib_MODULES): Remove reboot.mod.
22088 (reboot_mod_SOURCES): Removed.
22089 (reboot_mod_CFLAGS): Likewise.
22090 (reboot_mod_LDFLAGS): Likewise.
22091 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
22092 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
22093 (DEFSYMFILES): Add kernel_syms.lst.
22094 (kernel_img_HEADERS): Add common headers.
22095 (symlist.c): New target.
22096 (kernel_syms.lst): Likewise.
22097 (pkglib_MODULES): Add memdisk.mod.
22098 (memdisk_mod_SOURCES): New variable.
22099 (memdisk_mod_CFLAGS): Likewise.
22100 (memdisk_mod_LDFLAGS): Likewise.
22101 (pkglib_MODULES): Add reboot.mod.
22102 (reboot_mod_SOURCES): New variable.
22103 (reboot_mod_CFLAGS): Likewise.
22104 (reboot_mod_LDFLAGS): Likewise.
22105 (pkglib_MODULES): Add date.mod.
22106 (date_mod_SOURCES): New variable.
22107 (date_mod_CFLAGS): Likewise.
22108 (date_mod_LDFLAGS): Likewise.
22109 (pkglib_MODULES): Add datehook.mod.
22110 (datehook_mod_SOURCES): New variable.
22111 (datehook_mod_CFLAGS): Likewise.
22112 (datehook_mod_LDFLAGS): Likewise.
22113 (pkglib_MODULES): Add lsmmap.mod.
22114 (lsmmap_mod_SOURCES): New variable.
22115 (lsmmap_mod_CFLAGS): Likewise.
22116 (lsmmap_mod_LDFLAGS): Likewise.
22117 (pkglib_MODULES): Add boot.mod.
22118 (boot_mod_SOURCES): New variable.
22119 (boot_mod_CFLAGS): Likewise.
22120 (boot_mod_LDFLAGS): Likewise.
22121 * conf/i386-coreboot.rmk: Removed redundant parts.
22122 * conf/i386-ieee1275.rmk: Likewise.
22123 * conf/i386-pc.rmk: Likewise.
22124 * conf/mips-yeeloong.rmk: Likewise.
22125 * conf/mips.rmk: Likewise.
22126 * conf/powerpc-ieee1275.rmk: Likewise.
22127 * conf/sparc64-ieee1275.rmk: Likewise.
22128 * conf/x86_64-efi.rmk: Likewise.
22129 * conf/i386-coreboot.rmk: Moved qemu parts ..
22130 * conf/i386-qemu.rmk: ... here
22131 * conf/i386-efi.rmk: Moved common parts to...
22132 * conf/x86-efi.rmk: ... here.
22133 * conf/i386.rmk: Added modules common to all x86 variants.
22134 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
22135 * disk/memdisk.c: Remove grub/machine/kernel.h.
22136 * gensymlist.sh.in: Include symbol.h.
22137 * hook/datehook.c: Correct module name.
22138 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
22139 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
22140 * include/grub/i386/efi/serial.h: New file.
22141 * include/grub/x86_64/efi/serial.h: Likewise.
22142 * util/time.c: Likewise.
22143 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
22144
463ac55f
CK
221452010-03-14 Colin King <colin.king@ubuntu.com>
221462010-03-14 Colin Watson <cjwatson@ubuntu.com>
22147
22148 Shrink the pre-partition-table part of boot.img by eight bytes.
22149
22150 * boot/i386/pc/boot.S (ERR): New macro.
22151 (chs_mode): Use ERR.
22152 (geometry_error): Likewise.
22153 (hd_probe_error): Remove. This is only used once, so we wrwite
22154 it inline instead.
22155 (read_error): Instead of printing read_error_string, just set up
22156 %si and fall through to ...
22157 (error_message): ... this new function, also used by ERR.
22158
08e46ede
CW
221592010-03-14 Colin Watson <cjwatson@ubuntu.com>
22160
22161 Speed up consecutive hostdisk operations on the same device.
22162
22163 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
22164 (grub_util_biosdisk_open): Initialise disk->data.
22165 (struct linux_partition_cache): New structure.
22166 (linux_find_partition): Cache partition start positions; these are
22167 expensive to compute on every read and write.
22168 (open_device): Cache open file descriptor in disk->data, so that we
22169 don't have to reopen it and flush the buffer cache for consecutive
22170 operations on the same device.
22171 (grub_util_biosdisk_close): New function.
22172 (grub_util_biosdisk_dev): Set `close' member.
22173
22174 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
22175 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
22176 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22177 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22178 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
22179
4a6d2d06
VS
221802010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22181
22182 Compile parts of grub-emu as modules.
22183
22184 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
22185 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
22186 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
22187 (all-local): Add $(GRUB_EMU).
22188 (install-local): Install $(GRUB_EMU).
22189 (uninstall): Uninstall $(GRUB_EMU).
22190 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
22191 * kern/dl.c: Likewise.
22192 * commands/sleep.c: Not include machine/time.h.
22193 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
22194 (COMMON_CFLAGS): Likewise.
22195 (sbin_UTILITIES): Remove grub-emu.
22196 (grub_emu_SOURCES): Removed.
22197 (kernel_img_RELOCATABLE): New variable.
22198 (pkglib_PROGRAMS): Add kernel.img.
22199 (kernel_img_SOURCES): New variable
22200 (kernel_img_CFLAGS): Likewise.
22201 (kernel_img_LDFLAGS): Likewise.
22202 (TARGET_NO_STRIP): Likewise.
22203 (TARGET_NO_DYNAMIC_MODULES): Likewise.
22204 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
22205 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
22206 (grub-emu): New target.
22207 (GRUB_EMU): New variable.
22208 * configure.ac: Whitelist -emu as possible x86_64 architecture.
22209 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
22210 * loader/xnu.c: Likewise.
22211 * include/grub/pci.h: Likewise.
22212 * genemuinit.sh: New file.
22213 * genemuinitheader.sh: Likewise.
22214 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
22215 Support TARGET_NO_DYNAMIC_MODULES.
22216 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
22217 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
22218 * disk/loopback.c: Likewise.
22219 * font/font_cmd.c: Likewise.
22220 * partmap/acorn.c: Likewise.
22221 * partmap/amiga.c: Likewise.
22222 * partmap/apple.c: Likewise.
22223 * partmap/gpt.c: Likewise.
22224 * partmap/msdos.c: Likewise.
22225 * partmap/sun.c: Likewise.
22226 * parttool/msdospart.c: Likewise.
22227 * term/gfxterm.c: Likewise.
22228 * video/bitmap.c: Likewise.
22229 * video/readers/jpeg.c: Likewise.
22230 * video/readers/png.c: Likewise.
22231 * video/readers/tga.c: Likewise.
22232 * video/video.c: Likewise.
22233 * util/grub-emu.c (read_command_list): Removed.
22234 (main): Don't call util_init_nls.
22235 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
22236 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
22237
91fdd2ed
VS
222382010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22239
22240 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
22241 date.mod, datehook.mod.
22242 (datetime_mod_SOURCES): New variable.
22243 (datetime_mod_CFLAGS): Likewise.
22244 (datetime_mod_LDFLAGS): Likewise.
22245 (date_mod_SOURCES): Likewise.
22246 (date_mod_CFLAGS): Likewise.
22247 (date_mod_LDFLAGS): Likewise.
22248 (datehook_mod_SOURCES): Likewise.
22249 (datehook_mod_CFLAGS): Likewise.
22250 (datehook_mod_LDFLAGS): Likewise.
22251 * conf/sparc64-ieee1275.rmk: Likewise.
22252 * lib/ieee1275/datetime.c: New file.
22253
873ccae6
VS
222542010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22255
22256 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
22257 (ieee1275_fb_mod_SOURCES): New variable.
22258 (ieee1275_fb_mod_CFLAGS): Likewise.
22259 (ieee1275_fb_mod_LDFLAGS): Likewise.
22260 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
22261 New proto.
22262 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
22263 (HEAP_MAX_ADDR): Likewise.
22264 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
22265 type.
22266 Correct stop condition.
22267 (grub_ieee1275_devices_iterate): New function.
22268 * video/ieee1275.c: New file.
22269
601c97c0
VS
222702010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22271
22272 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
22273
22274 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
22275 as scratch.
22276 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
22277 SCRATCH_PAD_DISKBOOT as scratch.
22278 (bootit): Pass Openfirmware pointer in %o4.
22279 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
22280 of 0x200000.
22281 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
22282 with util/grub-mkrawimage.c.
22283 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
22284 * include/grub/aout.h (AOUT_MID_SUN): New definition.
22285 (grub_aout_get_type) [GRUB_UTIL]: Removed.
22286 (grub_aout_load) [GRUB_UTIL]: Likewise.
22287 * include/grub/kernel.h (grub_modules_get_end): New proto.
22288 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
22289 (SCRATCH_PAD_BOOT): New definition.
22290 (SCRATCH_PAD_DISKBOOT): Likewise.
22291 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
22292 * include/grub/sparc64/ieee1275/ieee1275.h
22293 (grub_ieee1275_original_stack): New variable
22294 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22295 New definition
22296 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
22297 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
22298 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
22299 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
22300 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
22301 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
22302 (grub_platform_image_format_t): New type.
22303 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
22304 * kern/main.c (grub_modules_get_end)
22305 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
22306 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
22307 (codestart): Switch stacks.
22308 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
22309 variable.
22310 (grub_heap_init): Use grub_modules_get_end.
22311 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
22312 stack.
22313 * util/grub-mkrawimage.c (generate_image): Support sparc64.
22314 (main): Likewise.
22315 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
22316
d68b491e
TG
223172010-03-14 Thorsten Glaser <tg@mirbsd.org>
22318
22319 * util/grub-mkrescue.in: Base ISO UUID on UTC.
22320
4e02ed50
MK
223212010-03-08 Matt Kraai <kraai@ftbfs.org>
22322
22323 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
22324 bug #559005).
22325
1f15fc1e
VS
223262010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
22327
22328 * genmoddep.awk: Output all missing symbols and not only first.
22329
fce5d8ff
VS
223302010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22331
22332 * NEWS: Put the date of 1.98 release.
22333
d1e8a02f
VS
223342010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22335
22336 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
22337 ft2build.h.
22338
696fd607
VS
223392010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22340
22341 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
22342 completition in the middle of string.
22343
33e2e6f3
VS
223442010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22345
22346 * util/grub-mkrescue.in: Use mktemp with explicit template.
22347
b1f6d291
VS
223482010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22349
22350 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
22351
2ac227c7
VS
223522010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22353
22354 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
22355 right pointer.
22356
8f9a632b
VS
223572010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22358
22359 Fix FreeBSD compilation.
22360
22361 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
22362 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
22363
60b03859
VS
223642010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22365
22366 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
22367
48a5a769
VS
223682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22369
22370 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
22371
3ab4bd77
VS
223722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22373
22374 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
22375
d116e0d8
RM
223762010-03-04 Robert Millan <rmh.grub@aybabtu.com>
22377
22378 Support relative image path in theme file.
22379
22380 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
22381 (image_set_property): Handle theme_dir and relative path.
22382
c7ef54aa
VS
223832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22384
22385 * configure.ac: Alias amd64 to x86_64.
22386
fcee14ed
VS
223872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22388
22389 * NEWS: mention multiboot on EFI.
22390
d0780363
VS
223912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22392
22393 * kern/main.c (grub_load_modules): Handle errors from init functions of
22394 embeded modules.
22395
41168ea4
VS
223962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22397
22398 * normal/autofs.c (autoload_fs_module): Handle errors.
22399
b54d93ac
VS
224002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22401
22402 Disable linux.mod on qemu-mips since it's not functional and leads
22403 to compilation failure.
22404
22405 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
22406 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
22407 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
22408 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
22409 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
22410 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
22411 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
22412 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
22413 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
22414 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
22415 Reported by: BVK Chaitanya
22416
fc8345da
JU
224172010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
22418
22419 * INSTALL: Add gettext as a dependency and add qemu to a new section
22420 "Prerequisites for make-check".
22421
4760f979
CF
224222010-03-04 Christian Franke <franke@computer.org>
22423
22424 * util/grub-pe2elf.c: Add missing include "progname.h".
22425
f209b5b2
VS
224262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22427
22428 * normal/crypto.c (read_crypto_list): Fix a typo.
22429 Reported by: Seth Goldberg.
22430
b4b7be98
VS
224312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22432
22433 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 22434 Reported by: Seth Goldberg.
b4b7be98 22435
c0ee0385
VS
224362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22437
22438 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
22439 ascii.bitmaps.
22440
a8efbf64
VS
224412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22442
22443 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 22444 Reported by: Seth Goldberg.
a8efbf64 22445
08dcd913
VS
224462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22447
22448 * util/i386/efi/grub-install.in: Copy gettext files.
22449
c4d0b332
VS
224502010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22451
22452 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
22453
c6f2fe52
VS
224542010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22455
22456 Wait for user entry basing on presence of output rather than on errors.
22457
22458 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
22459 (grub_install_newline_hook): Likewise.
22460 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
22461 * normal/menu.c (show_menu): Check line_counter to determine presence
22462 of output.
22463 * normal/term.c (grub_normal_line_counter): New variable.
22464 (grub_normal_get_line_counter): New function.
22465 (grub_install_newline_hook): Likewise.
22466
5382b1e4
VS
224672010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22468
22469 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
22470
5519963b
VS
224712010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22472
22473 * configure.ac: Update version to 1.98.
22474
72b28631
VS
224752010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22476
22477 * util/grub.d/10_linux.in (linux_entry): Don't default to
22478 gfxpayload=keep if Linux doesn't support video handover.
22479
c140a180
VS
224802010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
22481
22482 Don't compile video modules on yeeloong since video subsystem is part
22483 of kernel.
22484
22485 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
22486 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
22487 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
22488 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
22489 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
22490 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
22491 * include/grub/bitmap_scale.h: Likewise.
22492 * include/grub/bufio.h: Likewise.
22493 * include/grub/font.h: Likewise.
22494 * include/grub/gfxterm.h: Likewise.
22495 * include/grub/video.h: Likewise.
22496 * include/grub/vbe.h: Don't include video_fb.h.
22497 * video/i386/pc/vbe.c: Include video_fb.h.
22498 * commands/i386/pc/vbetest.c: Include video.h.
22499
a0ca21c2
CW
225002010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
22501
22502 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
22503 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
22504 default entry if GRUB_SAVEDEFAULT=true. This allows using
22505 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
22506 saving a new default on every boot.
22507
4a8a763c
VS
225082010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22509
22510 * normal/crypto.c (read_crypto_list): Fix a memory leak.
22511 * normal/term.c (read_terminal_list): Likewise.
22512 * normal/main.c (grub_normal_init_page): Likewise.
22513 (grub_normal_read_line_real): Likewise.
22514
607ffde2
VS
225152010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22516
22517 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
22518 memory leak.
22519 Reported by: Seth Goldberg.
22520
2b8fa975
CW
225212010-02-24 Joey Korkames <joey+lists@kidfixit.com>
22522
22523 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
22524 duplicate declaration of `start'.
22525
618307dd
VS
225262010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22527
22528 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
22529 filename.
22530 Reported by: Georgy Buranov
22531
7dd05b96 225322010-02-20 Carles Pina i Estany <carles@pina.cat>
22533
22534 * util/grub-mkrawimage.c (usage): Change string formatting to
22535 improve gettext.
22536
d1484a42
MRA
225372010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22538
22539 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
22540 backspace keys.
22541
42b1d186
VS
225422010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22543
22544 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
22545 Reported by: Michael Suchanek.
22546
225472010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
22548
22549 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
22550 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
22551
d9f31a41
VS
225522010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
22553
22554 Remove any reference to non-free fonts.
22555
22556 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
22557 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
22558 uses non-free components.
22559 * font/font.c (grub_font_get_name): Remove example name.
22560 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
22561 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22562 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
22563 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
22564
2793c71e
GB
225652010-02-16 Georgy Buranov <gburanov@gmail.com>
22566
22567 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
22568
402e3779
VS
225692010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22570
22571 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
22572 Double divisor.
22573 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
22574 features.
22575 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
22576
0dd1e0dd
VS
225772010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22578
22579 * gensymlist.sh.in: Use TARGET_CC instead of CC.
22580
6fa7cfce
ST
225812010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22582
22583 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
22584 * docs/grub.texi (Command-line and menu entry commands): Document play
22585 command.
22586
37c8483b
ST
225872010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22588
22589 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
22590 parse arguments as inline tempo and notes. Move code for playing notes
22591 to...
22592 (play): ... new function.
22593
14da0fb7
ST
225942010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22595
22596 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
22597 grub_uint16_t instead of short.
22598 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
22599 disk from little endian to cpu endianness.
22600
04459e70
ST
226012010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
22602
22603 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
22604 GRUB_TICKS_PER_SECOND instead of 120.
22605
a0876943
VS
226062010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22607
22608 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
22609 escape sequence after \e.
22610
e29f95dc
VS
226112010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22612
22613 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
22614 non-ASCII characters.
22615
d27859b2
VS
226162010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22617
22618 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
22619 set root in single quotes to prevent \, from being unescaped.
22620
bc028f2f
VS
226212010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22622
22623 Prevent unknown commands from stopping menuentry execution.
22624
22625 * script/execute.c (grub_script_execute_cmdline): Print error after
22626 unknown command.
22627
095f5f82
VS
226282010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22629
22630 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
22631 Reported by: Pavel Pisa.
22632
8c717950
VS
226332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22634
22635 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
22636
904935c3
VS
226372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22638
22639 Merge grub_ieee1275_map_physical into grub_map and rename to
22640 grub_ieee1275_map
22641
22642 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
22643 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
22644 Remove.
22645 * kern/ieee1275/openfw.c (grub_map): Rename to ...
22646 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
22647 necessary.
22648 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
22649
5b59a4e3
VS
226502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22651
22652 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
22653 opening and not after.
22654
69e137e8
VS
226552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22656
22657 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
22658 constants.
22659
2c0fcc36
VS
226602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22661
22662 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
22663 (alloc_phys): Use ALIGN_UP instead of align_addr.
22664
8c6052ce
VS
226652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22666
22667 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
22668
17cec782
VS
226692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22670
22671 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
22672
e0128bbd
VS
226732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22674
22675 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
22676 verbose dprintf.
22677
ca62070b
VS
226782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22679
22680 Fix over-4GiB seek on sparc64.
22681
22682 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
22683 Replace pos_i and pos_lo with pos. All users updated.
22684 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22685 New constant.
22686 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22687 Likewise.
22688 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
22689 and pos_lo.
22690
bdca2607
VS
226912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22692
22693 * util/grub-mkrawimage.c (main): Call set_program_name.
22694
da278c4d
VS
226952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22696
22697 Properly align 64-bit targets.
22698
22699 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
22700 (generate_image): Use ALIGN_ADDR.
22701
b274d734
VS
227022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22703
22704 Properly create cross-endian images.
22705
22706 * include/grub/types.h (grub_host_to_target_addr): New macro
22707 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
22708
82da2062
VS
227092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22710
22711 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
22712
7cae4377
VS
227132010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22714
22715 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
22716
22717 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
22718 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
22719 (grub_linux_boot): Divide by 64K when on VESA.
22720
65a533e7
VS
227212010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22722
22723 Support GRUB_GFXPAYLOAD_LINUX.
22724
22725 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
22726 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
22727
dd01d397
VS
227282010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22729
22730 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
22731 to show messages instead of discarding them.
22732 Process errors after executing command and not before. Keep old method
22733 too as precaution.
22734
660960d6
VS
227352010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
22736
22737 * configure.ac: Check for ft2build.h.
22738
62509f04
VS
227392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22740
22741 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
22742
473df63d
VS
227432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22744
22745 * genkernsyms.sh.in: Use TARGET_CC.
22746
c98d2a13
CW
227472010-02-07 Colin Watson <cjwatson@ubuntu.com>
22748
22749 * NEWS: Update.
22750
6e14234c
VS
227512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22752
22753 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
22754 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
22755 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 22756
b255e9cf
YB
227572010-02-07 Yves Blusseau <blusseau@zetam.org>
22758
6e14234c 22759 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 22760
98e6959d
VS
227612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22762
22763 Fix warnings in grub-emu when compiling with maximum warning options.
22764
22765 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
22766 (grub_arch_modules_addr): Return 0 and not NULL.
22767 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 22768 (xstrdup): Use newstr instead of dup.
f88d801b
VS
22769 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
22770 of disk to dsk to avoid shadowing.
74e4934e
VS
22771 (find_free_slot): Fix prototype.
22772 * util/getroot.c (grub_util_is_dmraid): Make static.
22773 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
22774 Add missing prototype.
22775 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 22776
74e31b5c
VS
227772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22778
22779 * loader/i386/linux.c (grub_linux_setup_video): Handle error
22780 appropriately.
22781
6b2ad14b
VS
227822010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22783
22784 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
22785 code out.
22786
8f891adc
VS
227872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22788
22789 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
22790 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
22791 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
22792 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
22793 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
22794 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
22795
74b45184
VS
227962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22797
22798 * include/grub/err.h (grub_err_printf): Don't export.
22799
a4bced77
VS
228002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22801
22802 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
22803
007d0695
VS
228042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22805
22806 * include/grub/i18n.h (grub_gettext_dummy): Removed.
22807 * kern/misc.c (grub_gettext_dummy): Make static.
22808
b6c0d9c2
VS
228092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22810
22811 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
22812 by non-valid ones.
22813 * kern/term.c (grub_putchar): Likewise.
22814
f51a90d0
VS
228152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22816
22817 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
22818 buggy hook call and memory leak.
22819
6846cec5
VS
228202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22821
22822 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
22823
468d69fe
VS
228242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22825
22826 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
22827
51906b8c
VS
228282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22829
22830 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
22831 modevar.
22832 Return grub_errno on allocation error.
22833
09706ce5
VS
228342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22835
22836 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22837
911df80c
YB
228382010-02-06 Yves Blusseau <blusseau@zetam.org>
22839
22840 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22841 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22842
3746a6bc
VS
228432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22844
22845 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22846 non-pxe disk.
22847 (grub_pxefs_open): Likewise.
22848
09706ce5
VS
228492010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22850
22851 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22852 * util/grub.d/10_kfreebsd.in: Likewise.
22853 * util/grub.d/10_linux.in: Likewise.
22854
7cc192d9
VS
228552010-02-06 Colin D Bennett <colin@gibibit.com>
22856
22857 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22858 (gfxmenu_mod_SOURCES): New variable.
22859 (gfxmenu_mod_CFLAGS): Likewise.
22860 (gfxmenu_mod_LDFLAGS): Likewise.
22861 * include/grub/term.h (grub_term_set_current_output): Declare
22862 argument as const.
22863 * docs/gfxmenu-theme-example.txt: New file.
22864 * gfxmenu/gfxmenu.c: Likewise.
22865 * gfxmenu/gui_box.c: Likewise.
22866 * gfxmenu/gui_canvas.c: Likewise.
22867 * gfxmenu/gui_circular_progress.c: Likewise.
22868 * gfxmenu/gui_image.c: Likewise.
22869 * gfxmenu/gui_label.c: Likewise.
22870 * gfxmenu/gui_list.c: Likewise.
22871 * gfxmenu/gui_progress_bar.c: Likewise.
22872 * gfxmenu/gui_string_util.c: Likewise.
22873 * gfxmenu/gui_util.c: Likewise.
22874 * gfxmenu/icon_manager.c: Likewise.
22875 * gfxmenu/model.c: Likewise.
22876 * gfxmenu/named_colors.c: Likewise.
22877 * gfxmenu/theme_loader.c: Likewise.
22878 * gfxmenu/view.c: Likewise.
22879 * gfxmenu/widget-box.c: Likewise.
22880 * include/grub/gfxmenu_model.h: Likewise.
22881 * include/grub/gfxmenu_view.h: Likewise.
22882 * include/grub/gfxwidgets.h: Likewise.
22883 * include/grub/gui.h: Likewise.
22884 * include/grub/gui_string_util.h: Likewise.
22885 * include/grub/icon_manager.h: Likewise.
22886
228872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22888
22889 Agglomerate scrolling in gfxterm.
22890
22891 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22892 (grub_virtual_screen_setup): Initialise 'total_screen'.
22893 (write_char): Split to ...
22894 (paint_char): ... this ...
22895 (write_char): ... and this.
22896 (paint_char): Handle delayed scrolling.
22897 (draw_cursor): Likewise.
22898 (scroll_up): Split to ...
22899 (real_scroll): ... this ...
22900 (scroll_up): ... and this.
22901 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22902 characters.
22903 (grub_gfxterm_refresh): Call real_scroll.
22904
229052010-02-06 Colin D Bennett <colin@gibibit.com>
22906
22907 * include/grub/misc.h (grub_iscntrl): New inline function.
22908 (grub_isalnum): Likewise.
22909 (grub_strtol): Likewise.
22910
229112010-02-06 Colin D Bennett <colin@gibibit.com>
22912
22913 * normal/menu_text.c (get_entry_number): Move from here ...
22914 * normal/menu.c (get_entry_number): ... moved here.
22915 * include/grub/menu.h (grub_menu_get_default_entry_index):
22916 New prototype.
22917 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22918 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22919 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22920 (grub_menu_viewer_should_return): Likewise.
22921 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22922 * normal/menu_text.c (run_menu): Enable menu switching.
22923 * normal/menu_viewer.c (should_return): New variable.
22924 (menu_viewer_changed): Likewise.
22925 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22926 (grub_menu_viewer_should_return): New function.
22927 (menuviewer_write_hook): Likewise.
22928 (grub_menu_viewer_init): Likewise.
22929
229302010-02-06 Colin D Bennet <colin@gibibit.com>
229312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22932
22933 Support for gfxterm in a window.
22934
22935 * include/grub/gfxterm.h: New file.
22936 * include/grub/video.h (struct grub_video_rect): New declaration.
22937 (grub_video_rect_t): Likewise.
22938 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22939 (refcount): New variable.
22940 (render_target): Likewise.
22941 (window): Likewise.
22942 (repaint_callback): Likewise.
22943 (grub_virtual_screen_setup): Use 'render_target'.
22944 (init_window): New function.
22945 (grub_gfxterm_init_window): Likewise.
22946 (grub_gfxterm_init): Check reference counter.
22947 Use init_window.
22948 (destroy_window): New function.
22949 (grub_gfxterm_destroy_window): Likewise.
22950 (grub_gfxterm_fini): Check reference counter.
22951 Use destroy_window.
22952 (redraw_screen_rect): Restore viewport.
22953 Use 'render_target' and 'window'.
22954 Call 'repaint_callback'.
22955 (write_char): Use 'render_target'.
22956 (draw_cursor): Likewise.
22957 (scroll_up): Restore viewport.
22958 Use 'render_target' and 'window'.
22959 Call 'repaint_callback'.
22960 (grub_gfxterm_cls): Likewise.
22961 (grub_gfxterm_refresh): Use 'window'.
22962 (grub_gfxterm_set_repaint_callback): New function.
22963 (grub_gfxterm_background_image_cmd): Use 'window'.
22964 (grub_gfxterm_get_term): New function.
22965 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22966
229672010-02-06 Colin D Bennett <colin@gibibit.com>
22968
22969 Bitmap scaling support.
22970
22971 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22972 (bitmap_scale_mod_SOURCES): New variable.
22973 (bitmap_scale_mod_CFLAGS): Likewise.
22974 (bitmap_scale_mod_LDFLAGS): Likewise.
22975 * include/grub/bitmap_scale.h: New file.
22976 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
22977 (background_image_cmd_options): New variable.
22978 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
22979 (cmd): Rename and change type to ...
22980 (background_image_cmd_handle): ... this. All users updated.
22981 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
22982 * video/bitmap_scale.c: New file.
22983
229842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22985
22986 SDL support.
22987
22988 * Makefile.in (LIBSDL): New variable.
22989 (enable_grub_emu_sdl): Likewise.
22990 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
22991 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
22992 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
22993 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
22994 * util/sdl.c: New file.
22995
229962010-02-06 Colin D Bennett <colin@gibibit.com>
229972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22998
22999 Double buffering support.
23000
23001 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
23002 * include/grub/video.h: Update comment.
23003 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
23004 New type.
23005 (grub_video_fb_doublebuf_blit_init): New prototype.
23006 * term/gfxterm.c (scroll_up): Support double buffering.
23007 (grub_gfxterm_refresh): Likewise.
23008 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
23009 (grub_video_fb_doublebuf_blit_init): Likewise.
23010 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
23011 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
23012 'displayed_page', 'render_page' and 'update_screen'.
23013 (grub_video_vbe_fini): Free offscreen buffer.
23014 (doublebuf_pageflipping_commit): New function.
23015 (doublebuf_pageflipping_update_screen): Likewise.
23016 (doublebuf_pageflipping_init): Likewise.
23017 (double_buffering_init): Likewise.
23018 (grub_video_vbe_setup): Enable doublebuffering.
23019 (grub_video_vbe_swap_buffers): Implement.
23020 (grub_video_vbe_set_active_render_target): Handle double buffering.
23021 (grub_video_vbe_get_active_render_target): Likewise.
23022 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
23023 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
23024 (grub_video_vbe_enable_double_buffering): Likewise.
23025 (grub_video_vbe_swap_buffers): Use update_screen.
23026 (grub_video_set_mode): Use double buffering.
23027
230282010-02-06 Robert Millan <rmh.grub@aybabtu.com>
23029
23030 * maintainance/gentrigtables.py: Remove.
23031 * lib/trig.c: Likewise.
23032
23033 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
23034
23035 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
23036 `trigtables.c'.
23037 (trigtables.c): New rule.
23038 (gentrigtables): Likewise.
23039 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
23040
230412010-02-06 Robert Millan <rmh.grub@aybabtu.com>
23042
23043 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
23044 integer constants.
23045
230462010-02-06 Colin D Bennet <colin@gibibit.com>
23047
23048 Trigonometry support.
23049
23050 * include/grub/trig.h: New file.
23051 * lib/trig.c: Likewise.
23052 * maintainance/gentrigtables.py: Likewise.
23053 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
23054 (trig_mod_SOURCES): New variable.
23055 (trig_mod_CFLAGS): Likewise.
23056 (trig_mod_LDFLAGS): Likewise.
23057
5562834e
VS
230582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23059
23060 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
23061 disk devices.
23062
4f8528fc
VS
230632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23064
23065 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
23066 error.
23067
2b4068e9
VS
230682010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
23069
23070 * util/hostdisk.c (open_device): Don't use partition device when reading
23071 before the partition.
23072 (grub_util_biosdisk_read): Don't read from partition and before the
23073 partition in single operation.
23074 (grub_util_biosdisk_write): Don't write to partition and before the
23075 partition in single operation.
23076
399f6e4d
TL
230772010-02-03 Torsten Landschoff <torsten@debian.org>
23078
23079 * kern/disk.c (grub_disk_read): Fix offset computation when reading
23080 last sectors.
23081
996649b0
VS
230822010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
23083
23084 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
23085 CDROM reads.
23086 (grub_biosdisk_write): Refuse to write to CDROM.
23087
3b205d4d
VS
230882010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
23089
23090 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
23091
61e89d9d
VS
230922010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
23093
23094 * font/font.c (find_glyph): Check that bmp_idx is available before
23095 using it.
23096 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
23097 with (font == NULL).
23098
bf7fcba2
CS
230992010-01-28 Christian Schmitt <chris@ilovelinux.de>
23100
23101 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
23102
f45d2663
BC
231032010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
23104
23105 * include/grub/script_sh.h (sourcecode): Add const qualifier.
23106 * util/grub-script-check.c (getline): Fix empty lines case.
23107
ec1444e6
RM
231082010-01-28 Robert Millan <rmh.grub@aybabtu.com>
23109
23110 * Makefile.in (check): Exit with fail status when one of the tests
23111 fails.
23112 * tests/example_functional_test.c (example_test): Fix reversed assert.
23113 * tests/example_unit_test.c (example_test): Likewise.
23114
2e1cb9bb
CW
231152010-01-28 Colin Watson <cjwatson@ubuntu.com>
23116
23117 * util/grub.d/10_linux.in: This script does not use any of the
23118 contents of gettext.sh, only the external command `gettext', so stop
23119 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
23120 the same prefix as GRUB.)
23121 * util/grub.d/10_kfreebsd.in: Likewise.
23122
63533ab0
VS
231232010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23124
23125 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
23126 of the line.
23127
989e1f93
VS
231282010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23129
23130 * kern/disk.c (grub_disk_read): Fix offset computation when reading
23131 last sectors.
23132
e709ebe2
VS
231332010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23134
23135 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
23136 having a 4KiB and not 32KiB buffer size.
23137
27dea7ed
RM
231382010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23139
23140 * util/hostfs.c: Include `<errno.h>'.
23141 (grub_hostfs_read): Handle errors from fseeko() and fread().
23142
67667b9c
RM
231432010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23144
23145 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
23146 loop when using read hooks on files whose size isn't sector-aligned.
23147
c294d9d8
RM
231482010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23149
23150 Remove unused parameter.
23151
23152 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
23153 (grub_iso9660_open): Remove initialization of `data->length'.
23154
af75a9f1
RM
231552010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23156
23157 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
23158 memleak conditions.
23159
254e2ce5 231602010-01-27 Carles Pina i Estany <carles@pina.cat>
23161
23162 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
23163 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
23164
b510928c 231652010-01-26 Carles Pina i Estany <carles@pina.cat>
23166
23167 * util/bin2h.c (usage): Fix warning (space after backslash).
23168
aa2f9dd2 231692010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 23170
23171 * font/font.c: Include `grub/fontformat.h.
23172 Remove font file format constants.
23173 (grub_font_load): Use the new macros.
23174 * include/grub/fontformat.h: New file.
23175 * util/grub-mkfont.c: Include `grub/fontformat.c'.
23176 (write_font_pf2): Use the new macros.
23177
94e7e712
RM
231782010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23179
23180 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
23181 does.
23182
3973a59a
RM
231832010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23184
23185 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
23186
23187 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
23188 (_start): Macroify `0x7F'.
23189
23190 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
23191 (make_install_device): Use "(pxe)" as fallback prefix when booting
23192 via PXE.
23193
42e0cba3
GS
231942010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
23195
23196 * configure.ac: Reset LIBS after check for libgcc symbols.
23197
847effd8
CW
231982010-01-25 Colin Watson <cjwatson@ubuntu.com>
23199
23200 * util/hostdisk.c (open_device): Add trailing newline to debug
23201 message.
23202
ea4a7e35
GS
232032010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
23204
23205 * configure.ac: Check for `limits.h'.
23206 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
23207
67951a53
RM
232082010-01-24 Robert Millan <rmh.grub@aybabtu.com>
23209
23210 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
23211 capitalize error strings.
23212
c273d4ce
ST
232132010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
23214
23215 * util/grub.d/10_hurd.in: Add a recovery mode.
23216
69be5b74
VS
232172010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
23218
23219 * configure.ac: Check for libgcc symbols with -nostdlib.
23220
fc9e5810
BC
232212010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
23222
23223 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
23224
4b358c0a
VS
232252010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23226
23227 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
23228 stack since heap may be unavailable at that point.
23229 (grub_ofconsole_gotoxy): Likewise.
23230
454fcd1c
VS
232312010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23232
23233 * configure.ac: Check for _restgpr_14_x.
23234 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
23235 and _savegpr_* prototypes.
23236
566863ca
RM
232372010-01-22 Robert Millan <rmh.grub@aybabtu.com>
23238
23239 Use generic grub_reboot() for i386-efi.
23240
23241 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
23242 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
23243 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
23244
bf86e59a
VS
232452010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23246
23247 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
23248 presence of "prefix" variable as it breaks when normal.mod is
23249 embedded.
23250
d645e0f8
VS
232512010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23252
23253 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
23254 stack since heap is unavailable at that point.
23255
f9ab2e25
VS
232562010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23257
23258 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
23259 (grub_freebsd_bootinfo): Rewritten.
23260 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
23261
01fc7054
VS
232622010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23263
23264 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
23265
caab4fd6
RM
232662010-01-21 Robert Millan <rmh.grub@aybabtu.com>
23267
23268 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
23269 domain now.
23270
67eb1427
FZ
232712010-01-20 Felix Zielcke <fzielcke@z-51.de>
23272
23273 * util/misc.c (make_system_path_relative_to_its_root): Change the work
23274 around for handling "/" to the correct fix. Fix a memory leak. Use
23275 xstrdup instead of strdup.
23276
a9ed4ff3
VS
232772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23278
23279 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
23280
232812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
23282
23283 Optimise glyph lookup by Basic Multilingual Plane lookup array.
23284
23285 * font/font.c (struct grub_font): New member 'bmp_idx'.
23286 (font_init): Initialise 'bmp_idx'.
23287 (load_font_index): Fill 'bmp_idx'.
23288 (find_glyph): Make inline. Use bmp_idx for BMP characters.
23289
48209f4f
VS
232902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23291
23292 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
23293 unnecessary calls.
23294
9f0a4bb7
VS
232952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23296
23297 Move context handling out of the kernel.
23298
23299 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
23300 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
23301 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
23302 * conf/i386-efi.rmk: Likewise.
23303 * conf/i386-ieee1275.rmk: Likewise.
23304 * conf/i386-pc.rmk: Likewise.
23305 * conf/powerpc-ieee1275.rmk: Likewise.
23306 * conf/sparc64-ieee1275.rmk: Likewise.
23307 * conf/x86_64-efi.rmk: Likewise.
23308 * include/grub/env.h: Include grub/menu.h.
23309 (grub_env_var_type): Removed.
23310 (grub_env_var): Replaced field 'type' with 'global'.
23311 (grub_env_find): New prototype.
23312 (grub_env_context_open): Remove EXPORT_FUNC.
23313 (grub_env_context_close): Likewise.
23314 (grub_env_export): Likewise.
23315 (grub_env_set_data_slot): Removed.
23316 (grub_env_get_data_slot): Likewise.
23317 (grub_env_unset_data_slot): Likewise.
23318 (grub_env_unset_menu): New prototype.
23319 (grub_env_set_menu): Likewise.
23320 (grub_env_get_menu): Likewise.
23321 * include/grub/env_private.h: New file.
23322 * include/grub/normal.h (grub_context_init): New prototype.
23323 (grub_context_fini): Likewise.
23324 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
23325 * normal/context.c (grub_cmd_export): ... to here.
23326 * kern/env.c: Include env_private.h.
23327 (HASHSZ): Moved to include/grub/env_private.h.
23328 (grub_env_context): Likewise.
23329 (grub_env_sorted_var): Likewise.
23330 (current_context): Renamed from this ...
23331 (grub_current_context): ...to this. 'static' removed. All users updated.
23332 (grub_env_find): Removed 'static'.
23333 (grub_env_context_open): Moved to normal/context.c.
23334 (grub_env_context_close): Likewise.
23335 (grub_env_export): Likewise.
23336 (mangle_data_slot_name): Removed.
23337 (grub_env_set_data_slot): Likewise.
23338 (grub_env_get_data_slot): Likewise.
23339 (grub_env_unset_data_slot): Likewise.
23340 * kern/main.c (grub_set_root_dev): Don't export root.
23341 It will be done later.
23342 (grub_main): Don't export prefix.
23343 It will be done later.
23344 * normal/context.c: New file.
23345 * normal/main.c (free_menu): Use grub_env_unset_menu.
23346 (grub_normal_add_menu_entry): Use grub_env_get_menu.
23347 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
23348 (GRUB_MOD_INIT(normal)): Call grub_context_init.
23349 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
23350
8dd35b8c
VS
233512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23352
23353 setpci support.
23354
23355 * commands/setpci.c: New file.
23356 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
23357 (setpci_mod_SOURCES): New variable.
23358 (setpci_mod_CFLAGS): Likewise.
23359 (setpci_mod_LDFLAGS): Likewise.
23360
449193d5
VS
233612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23362
23363 Byte-addressable PCI configuration space.
23364
23365 * bus/pci.c (grub_pci_make_address): Use byte address instead of
23366 dword address.
23367 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
23368 GRUB_PCI_REG_CACHELINE.
23369 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
23370 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
23371 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
23372 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
23373 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
23374 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
23375 grub_pci_make_address.
23376 (lock_rom_area): Likewise.
23377 * commands/lspci.c (grub_lspci_iter): Use macroses
23378 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
23379 of grub_pci_make_address.
23380 * disk/ata.c (grub_ata_pciinit): Likewise.
23381 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
23382 (GRUB_PCI_REG_VENDOR): Likewise.
23383 (GRUB_PCI_REG_DEVICE): Likewise.
23384 (GRUB_PCI_REG_COMMAND): Likewise.
23385 (GRUB_PCI_REG_STATUS): Likewise.
23386 (GRUB_PCI_REG_REVISION): Likewise.
23387 (GRUB_PCI_REG_CLASS): Likewise.
23388 (GRUB_PCI_REG_CACHELINE): Likewise.
23389 (GRUB_PCI_REG_LAT_TIMER): Likewise.
23390 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
23391 (GRUB_PCI_REG_BIST): Likewise.
23392 (GRUB_PCI_REG_ADDRESSES): Likewise.
23393 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23394 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23395 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23396 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23397 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23398 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23399 (GRUB_PCI_REG_CIS_POINTER): Likewise.
23400 (GRUB_PCI_REG_SUBVENDOR): Likewise.
23401 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
23402 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
23403 (GRUB_PCI_REG_CAP_POINTER): Likewise.
23404 (GRUB_PCI_REG_IRQ_LINE): Likewise.
23405 (GRUB_PCI_REG_IRQ_PIN): Likewise.
23406 (GRUB_PCI_REG_MIN_GNT): Likewise.
23407 (GRUB_PCI_REG_MAX_LAT): Likewise.
23408 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
23409 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
23410 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 23411 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
23412 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
23413 space.
23414
96d73208
RM
234152010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23416
23417 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
23418 can be reliably determined to be supported.
23419
d4484482
RM
234202010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23421
23422 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
23423 that VESA is supported.
23424 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
23425 supported.
23426
00308ecf
VS
234272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23428
23429 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
23430
f66924a4
RM
234312010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23432
23433 * util/misc.c (make_system_path_relative_to_its_root): Work around
23434 special-casing of "/", as previous incarnation of this routine did.
23435
cbca0ada
VS
234362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23437
23438 Fix any-emu compilation.
23439
23440 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
23441 * grub_bin2h_SOURCES: New variable.
23442
34a66d99
RM
234432010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23444
23445 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
23446
94fabf58
RM
234472010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23448
23449 * util/grub.d/00_header.in: Fix handling of locale_dir.
23450
02cf98ca
VS
234512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23452
23453 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
23454 as possible unifont location (Gentoo).
23455 Reported by: Alexander Brüning
23456
327dbcd7
VS
234572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23458
23459 Don't try to generate lists for kernel.img.
23460
23461 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
23462 (pkglib_MODULES): Remove kernel.img.
23463 (kernel_img_EXPORTS): Removed.
23464 (kernel_img_RELOCATABLE): New variable.
23465 * conf/x86_64-efi.rmk: Likewise.
23466 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
23467
ca467290
VS
234682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23469
23470 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
23471 grub_xasprintf or grub_snprintf.
23472 (grub_vsprintf): Likewise.
23473 (grub_snprintf): New proto.
23474 (grub_vsnprintf): Likewise.
23475 (grub_xasprintf): Likewise.
23476 (grub_xvasprintf): Likewise.
23477 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
23478 (grub_sprintf): Removed.
23479 (grub_vsnprintf): New function.
23480 (grub_snprintf): Likewise.
23481 (grub_xvasprintf): Likewise.
23482 (grub_xasprintf): Likewise.
23483 (grub_vsprintf): Renamed to ...
23484 (grub_vsnprintf_real): ...this. New argument max_len.
23485
aca655fd
BC
234862010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
23487
23488 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
23489 fix grub-script-check warning.
23490
7ee92c32
VS
234912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23492
23493 * include/grub/font.h (grub_font_load): Fix prototype.
23494
f80927ca
VS
234952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23496
23497 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
23498
119c50ea
VS
234992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23500
23501 * include/grub/x86_64/at_keyboard.h: New file.
23502
47d5f3c1
VS
235032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23504
23505 * loader/mips/linux.c: Include missing grub/i18n.h.
23506
55ff5266
RM
235072009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23508
23509 * normal/menu.c (notify_execution_failure): Clarify error message.
23510
c893cc87
RM
235112009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23512
23513 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
23514 return value (and revert all return statements). Update users.
23515
917dd370
CW
235162010-01-20 Dan Merillat <debian@dan.merillat.org>
23517
23518 * kern/device.c (grub_device_iterate): Allocate new part_ent
23519 structure based on sizeof (*p) rather than sizeof (p->next), to
23520 account for structure padding.
23521
23522 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
23523 disk is NULL, which might happen for LVM physical volumes with no
23524 LVM signature.
23525
d4a4ee57
RM
235262009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23527
23528 * loader/mips/linux.c (grub_cmd_initrd)
23529 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
23530
235312009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23532
23533 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
23534 (grub_video_video_init, grub_video_bitmap_init)
23535 (grub_font_manager_init, grub_term_gfxterm_init)
23536 (grub_at_keyboard_init): New extern declarations.
23537 (grub_machine_init): Initialize gfxterm and at_keyboard.
23538
23539 * kern/main.c (grub_main): Revert grub_printf delay kludge.
23540
23541 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
23542 `gfxterm.mod' into core image.
23543
23544 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23545 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23546 (kernel_img_FORMAT): Copy to ...
23547
23548 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23549 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23550 (kernel_img_FORMAT): ... here, and ...
23551
23552 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23553 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23554 (kernel_img_FORMAT): ... here.
23555
23556 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
23557 and input (at_keyboard) terminals in kernel.
23558 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
23559
23560 (pkglib_MODULES): Remove `pci.mod'.
23561 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
23562 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
23563 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
23564 (at_keyboard_mod_LDFLAGS): Remove variables.
23565
235662010-01-11 Felix Zielcke <fzielcke@z-51.de>
23567
23568 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
23569
235702009-12-10 Robert Millan <rmh.grub@aybabtu.com>
23571
23572 * include/grub/mips/libgcc.h: Only export symbols for functions
23573 that libgcc provides.
23574
235752009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
23576
23577 MIPS support.
23578
23579 * bus/bonito.c: New file.
23580 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
23581 GRUB_PCI_NUM_DEVICES.
23582 * term/i386/pc/serial.c: Move to ...
23583 * term/serial.c: ... here. All users updated.
23584 * util/i386/pc/grub-mkimage.c: Move to ...
23585 * util/grub-mkrawimage.c: ... here. All users updated.
23586 * term/i386/pc/at_keyboard.c: Move to ...
23587 * term/at_keyboard.c: ... here. All users updated.
23588 * conf/mips-qemu-mips.rmk: New file.
23589 * conf/mips-yeeloong.rmk: Likewise.
23590 * conf/mips.rmk: Likewise.
23591 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
23592 mipsel-qemu-mips.
23593 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
23594 to port addresses.
23595 (grub_ata_pciinit): Support CS5536.
23596 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
23597 * font/font_cmd.c (loadfont_command): Open file before passing it to
23598 grub_font_load.
23599 (pseudo_file_read): New function.
23600 (pseudo_file_close): Likewise.
23601 (pseudo_fs): New structure.
23602 (load_font_module): New function.
23603 (GRUB_MOD_INIT(font_manager)): Load embedded font.
23604 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
23605 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
23606 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
23607 * include/grub/i386/at_keyboard.h: Split into ...
23608 * include/grub/at_keyboard.h: ... this ...
23609 * include/grub/i386/at_keyboard.h: ... and this.
23610 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
23611 New prototype.
23612 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
23613 updated.
23614 (grub_elf64_size): Likewise.
23615 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
23616 filename.
23617 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
23618 * include/grub/i386/coreboot/serial.h: Rewritten.
23619 * include/grub/i386/ieee1275/serial.h: Include
23620 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
23621 * include/grub/i386/pc/serial.h: Moved from here ...
23622 * include/grub/serial.h: ... to here. All users updated.
23623 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
23624 (GRUB_PCI_NUM_BUS): Likewise.
23625 (GRUB_PCI_NUM_DEVICES): Likewise.
23626 (grub_pci_device_map_range): Add missing volatile keyword.
23627 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
23628 * include/grub/mips/at_keyboard.h: New file.
23629 * include/grub/mips/cache.h: Likewise.
23630 * include/grub/mips/io.h: Likewise.
23631 * include/grub/mips/kernel.h: Likewise.
23632 * include/grub/mips/libgcc.h: Likewise.
23633 * include/grub/mips/pci.h: Likewise.
23634 * include/grub/mips/qemu-mips/boot.h: Likewise.
23635 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23636 * include/grub/mips/qemu-mips/loader.h: Likewise.
23637 * include/grub/mips/qemu-mips/memory.h: Likewise.
23638 * include/grub/mips/qemu-mips/serial.h: Likewise.
23639 * include/grub/mips/qemu-mips/time.h: Likewise.
23640 * include/grub/mips/relocator.h: Likewise.
23641 * include/grub/mips/time.h: Likewise.
23642 * include/grub/mips/types.h: Likewise.
23643 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
23644 * include/grub/mips/yeeloong/boot.h: Likewise.
23645 * include/grub/mips/yeeloong/kernel.h: Likewise.
23646 * include/grub/mips/yeeloong/loader.h: Likewise.
23647 * include/grub/mips/yeeloong/memory.h: Likewise.
23648 * include/grub/mips/yeeloong/pci.h: Likewise.
23649 * include/grub/mips/yeeloong/serial.h: Likewise.
23650 * include/grub/mips/yeeloong/time.h: Likewise.
23651 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
23652 * kern/elf.c (grub_elf32_size): New parameter. All users
23653 updated.
23654 (grub_elf64_size): Likewise.
23655 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
23656 Load modules before saying "Welcome to GRUB!".
23657 Call grub_refresh after saying "Welcome to GRUB!".
23658 * kern/mips/cache.S: New file.
23659 * kern/mips/cache_flush.S: Likewise.
23660 * kern/mips/dl.c: Likewise.
23661 * kern/mips/init.c: Likewise.
23662 * kern/mips/qemu-mips/init.c: Likewise.
23663 * kern/mips/startup.S: Likewise.
23664 * kern/mips/yeeloong/init.c: Likewise.
23665 * kern/term.c (grub_putcode): Handle NULL terminal.
23666 (grub_getcharwidth): Likewise.
23667 (grub_getkey): Likewise.
23668 (grub_checkkey): Likewise.
23669 (grub_getkeystatus): Likewise.
23670 (grub_getxy): Likewise.
23671 (grub_getwh): Likewise.
23672 (grub_gotoxy): Likewise.
23673 (grub_cls): Likewise.
23674 (grub_setcolorstate): Likewise.
23675 (grub_setcolor): Likewise.
23676 (grub_getcolor): Likewise.
23677 (grub_refresh): Likewise.
23678 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
23679 (write_jump): Add hatch nop.
23680 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
23681 * lib/mips/setjmp.S: New file.
23682 * loader/mips/linux.c: Likewise.
23683 * term/i386/pc/at_keyboard.c: Move from here ...
23684 * term/at_keyboard.c: ... to here.
23685 * term/i386/pc/serial.c: Moved from here ...
23686 * term/serial.c: ... to here. All users updated.
23687 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
23688 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
23689 (serial_translate_key_sequence): Avoid deadlock.
23690 (grub_serial_getkey): Handle backspace.
23691 (grub_serial_putchar): Fix newline handling.
23692 * util/i386/pc/grub-mkimage.c: Move from here ...
23693 * util/grub-mkrawimage.c: ... to here. All users updated.
23694 (generate_image): New parameters 'font_path' and 'format'.
23695 Support embedding font.
23696 Use grub_host_to_target* instead of grub_cpu_to_le*.
23697 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
23698 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
23699 (options): New option "--font".
23700 (usage): Likewise.
23701 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
23702 (main): Handle "--font".
23703 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
23704 (grub_virtual_screen_setup): Set bg_color_display.
23705 (redraw_screen_rect): Use bg_color_display instead of incorrect
23706 bg_color.
23707 (grub_gfxterm_cls): Likewise.
23708 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
23709 Support embedding config file.
23710 (add_segments): Likewise.
23711 (options): New option "--config".
23712 (main): Handle "--config".
23713 * video/sm712.c: New file.
23714
25c2b5b3
RM
237152010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23716
23717 Fix parallel builds.
23718
23719 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
23720 font.c depend on ascii.h).
23721
237222010-01-12 Carles Pina i Estany <carles@pina.cat>
23723
23724 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
23725
237262010-01-11 Carles Pina i Estany <carles@pina.cat>
23727
23728 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
23729 By default: disabled.
23730 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
23731 parameter.
23732
237332010-01-10 Carles Pina i Estany <carles@pina.cat>
23734
23735 * font/font.c: Update copyright years.
23736 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
23737
237382010-01-10 Carles Pina i Estany <carles@pina.cat>
23739
23740 * font/font.c: Include `ascii.h'.
23741 (ASCII_BITMAP_SIZE): New macro.
23742 (ascii_font_glyph): Define.
23743 (ascii_glyph_lookup): New function.
23744 (grub_font_get_string_width): Change comment. If glyph not found, use
23745 ascii_glyph_lookup.
23746 (grub_font_get_glyph_with_fallback): If glyph not available returns
23747 ascii_glyph_lookup.
23748 * util/grub-mkfont.c (file_formats): New enum.
23749 (options): Add `ascii-bitmaps' new option.
23750 (usage): Add `asii-bitmaps' new option.
23751 (write_font_ascii_bitmap): New function.
23752 (write_font): Rename to ...
23753 (write_font_p2): ... this. Remove print_glyphs call.
23754 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
23755 used. Call print_glyphs.
23756 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
23757
237582010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23759
23760 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
23761 (grub_bin2h_SOURCES): New variable.
23762 * util/bin2h.c: New file.
23763
915fc1b8
VS
237642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23765
23766 * include/multiboot.h: Resynced with spec.
23767 * include/multiboot2.h: Likewise.
23768 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
23769 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
23770
9444b678
RM
237712010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23772
23773 * include/grub/term.h (grub_term_register_input,
23774 grub_term_register_output): Check return of terminal init()
23775 routines, and abort if errors are raised.
23776
23777 * commands/terminal.c: Update copyright year.
23778
cba98e8d
RM
237792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23780
23781 * commands/terminal.c (grub_cmd_terminal_input)
23782 (grub_cmd_terminal_output): Check return of terminal init()
23783 routines, and abort if errors are raised.
23784
6f7db5d6
VS
237852010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23786
23787 * include/grub/i386/bsd.h: Fix include pathes.
23788
262bff8d
VS
237892010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23790
23791 Add missing *BSD copyright headers.
23792
23793 * include/grub/aout.h: Add BSD licence.
23794 * include/grub/i386/bsd.h: Parts under different licences moved to ...
23795 * include/grub/i386/freebsd_linker.h: ... here,
23796 * include/grub/i386/freebsd_reboot.h: ... here,
23797 * include/grub/i386/netbsd_bootinfo.h: ... here,
23798 * include/grub/i386/netbsd_reboot.h: ... here,
23799 * include/grub/i386/openbsd_bootarg.h: ... here,
23800 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
23801 licence to each file.
23802
b2cab848
RM
238032010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23804
23805 * acinclude.m4: Remove `nop' assembly instruction; it's not
23806 implemented by all architectures.
23807
2cb6be4b
RM
238082010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23809
23810 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
23811 ELILO. This is no longer necessary.
23812
a2eaee15
BC
238132010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
23814
23815 Added new tool, grub-scrit-check to verify grub.cfg syntax.
23816
23817 * util/grub-script-check.c: grub-script-check tool.
23818 * conf/common.rmk: Make rules for grub-script-check.
23819
88d17012
RM
238202010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23821
23822 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
23823 spotting it back in 2008. Shame on me for forgetting he did.
23824
23825 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
23826
8040619d
RM
238272010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23828
23829 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
23830 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
23831 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
23832 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
23833 (GRUB_VIDEO_TYPE_EFI): Rename to ...
23834 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23835
a0c2a0f6
RM
238362010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23837
23838 * include/grub/test.h: Add license header.
23839 * tests/example_functional_test.c: Likewise.
23840 * tests/example_unit_test.c: Likewise.
23841 * tests/lib/functional_test.c: Likewise.
23842 * tests/lib/test.c: Likewise.
23843 * tests/lib/unit_test.c: Likewise.
23844
b0b13907
VS
238452010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23846
23847 Use flag-based instead of hook-based video mode selection and "auto"
23848 keyword.
23849
23850 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23851 (grub_video_set_mode): Changed prototype. All users updated.
23852 (grub_video_check_mode_flag): New inline function.
23853 * video/video.c (parse_modespec): New function.
23854 (grub_video_set_mode): Parse flags and keywords.
23855
ea379330 238562010-01-17 Carles Pina i Estany <carles@pina.cat>
23857
23858 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23859 fprintf call.
23860
e15c215e
FZ
238612010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23862
23863 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23864
409ae1c9 238652010-01-16 Carles Pina i Estany <carles@pina.cat>
23866
23867 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23868 string.
23869 * util/grub-emu.c (usage): Likewise.
23870 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23871 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23872 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23873 * util/i386/pc/grub-setup.c (usage): Likewise.
23874
70a14d3d 238752010-01-16 Carles Pina i Estany <carles@pina.cat>
23876
23877 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23878 the message.
23879 (grub_util_info): Likewise.
23880 (grub_util_error): Likewise.
23881 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23882 and/or new lines in `grub_util_warna', `grub_util_info',
23883 `grub_util_error' calls.
23884 * util/getroot.c: Likewise.
23885 * util/grub-editenv.c: Likewise.
23886 * util/grub-emu.c: Likewise.
23887 * util/grub-fstest.c: Likewise.
23888 * util/grub-mkdevicemap.c: Likewise.
23889 * util/grub-mkfont.c: Likewise.
23890 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23891 * util/grub-mkrelpath.c: Likewise.
23892 * util/grub-pe2elf.c: Likewise.
23893 * util/grub-probe.c: Likewise.
23894 * util/hostdisk.c: Likewise.
23895 * util/i386/efi/grub-mkimage.c: Likewise.
23896 * util/i386/pc/grub-mkimage.c: Likewise.
23897 * util/i386/pc/grub-setup.c: Likewise.
23898 * util/ieee1275/ofpath.c: Likewise.
23899 * util/mkisofs/eltorito.c: Likewise.
23900 * util/mkisofs/rock.c: Likewise.
23901 * util/mkisofs/write.c: Likewise.
23902 * util/raid.c: Likewise.
23903 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23904 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23905
a0b766fc
VS
239062010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23907
23908 Enable multiboot on non-pc.
23909
23910 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23911 multiboot.mod and multiboot2.mod to ...
23912 * conf/i386.rmk (pkglib_MODULES): ... here.
23913 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23914 Moved to ...
23915 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23916 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23917 Moved to ...
23918 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23919 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23920 Moved to ...
23921 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23922 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23923 Moved to ...
23924 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23925 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23926 relocator.mod.
23927 (ata_mod_SOURCES): Removed.
23928 (ata_mod_CFLAGS): Likewise.
23929 (ata_mod_LDFLAGS): Likewise.
23930 (relocator_mod_SOURCES): Removed.
23931 (relocator_mod_CFLAGS): Likewise.
23932 (relocator_mod_ASFLAGS): Likewise.
23933 (relocator_mod_LDFLAGS): Likewise.
23934 Include i386.mk.
23935 * include/grub/x86_64/multiboot.h: New file.
23936 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23937 Terminate EFI.
23938
884ade56
VS
239392010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23940
23941 Video multiboot support.
23942
23943 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23944 New prototype.
23945 * include/multiboot.h: Resynced with multiboot specification.
23946 * include/multiboot2.h: Likewise.
23947 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23948 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23949 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23950 (HAS_VGA_TEXT): Likewise.
23951 (accepts_video): New variable.
23952 (grub_multiboot_set_accepts_video): New function.
23953 (grub_multiboot_get_mbi_size): Account for video structures.
23954 (set_video_mode): New function.
23955 (retrieve_video_parameters): Likewise.
23956 (grub_multiboot_make_mbi): Fill video fields.
23957
0d90e8a6
VS
239582010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23959
23960 Video driver ids.
23961
23962 * include/grub/video.h (grub_video_driver_id): New type.
23963 (grub_video_adapter): New member 'id'. All users updated.
23964 (grub_video_get_driver_id): New proto.
23965 * video/video.c (grub_video_get_driver_id): New function.
23966
5c71db1b 239672010-01-14 Carles Pina i Estany <carles@pina.cat>
23968
23969 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23970 `var=val'.
23971
cca15b52 239722010-01-14 Carles Pina i Estany <carles@pina.cat>
23973
23974 * normal/cmdline.c (print_completion): Gettextizze.
23975
c586fbb2 239762001-01-14 Carles Pina i Estany <carles@pina.cat>
23977
23978 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
23979
ba2f6848 239802010-01-14 Carles Pina i Estany <carles@pina.cat>
23981
23982 * gettext/gettext.c (grub_gettext_translate): Push and pop
23983 grub_errno.
23984 (grub_gettext_delete_list): Change comment style.
23985 * kern/err.c (grub_error): Gettextizze.
23986 (grub_fatal): Gettextizze.
23987
0a46429a
RM
239882010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23989
23990 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
23991 (grub_linux16_real_boot): ... this.
23992 * kern/i386/loader.S: Likewise.
23993 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
23994 (grub_linux16_boot): New function. Switches to text mode and calls
23995 grub_linux16_real_boot().
23996
23997 * loader/i386/bsd.c: Include `<grub/video.h>'.
23998 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
23999 text mode before calling grub_unix_real_boot().
24000
24001 * loader/i386/multiboot.c: Include `<grub/video.h>'.
24002 (grub_multiboot_boot): Switch to text mode before calling
24003 grub_relocator32_boot().
24004
24005 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
24006 (grub_chainloader_boot): Switch to text mode before calling
24007 grub_chainloader_real_boot().
24008
d6f93a66
RM
240092010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
240102010-01-05 Colin Watson <cjwatson@ubuntu.com>
24011
24012 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
24013 non-empty value.
24014
240152010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
240162010-01-05 Colin Watson <cjwatson@ubuntu.com>
24017
24018 * util/grub.d/00_header.in: Define a "savedefault" function for use
24019 in menu entries.
24020 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
24021
240222010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
240232010-01-05 Colin Watson <cjwatson@ubuntu.com>
24024
24025 * util/grub-mkconfig_lib.in (save_default_entry): Only set
24026 saved_entry if boot_once is unset.
24027 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
24028 previous saved entry (i.e. grub-reboot).
24029
240302009-12-08 Colin Watson <cjwatson@ubuntu.com>
24031
24032 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
24033
240342009-12-08 Colin Watson <cjwatson@ubuntu.com>
24035
24036 * util/grub.d/00_header.in: Use `set var=val' rather than plain
24037 `var=val'.
24038 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
24039
240402009-12-08 Colin Watson <cjwatson@ubuntu.com>
24041
24042 * util/grub-reboot.in: Fix --version output.
24043 * util/grub-set-default.in: Likewise.
24044
240452009-12-08 Colin Watson <cjwatson@ubuntu.com>
24046
24047 * util/grub.d/00_header.in: Silently ignore zero-sized environment
24048 blocks.
24049
240502009-12-08 Colin Watson <cjwatson@ubuntu.com>
24051
24052 * util/grub.d/00_header.in: Quote the value assigned to `default',
24053 in case it contains spaces.
24054
240552009-12-08 Colin Watson <cjwatson@ubuntu.com>
24056
24057 * util/grub.d/30_os-prober.in: Fix merge error that moved a
24058 `save_default_entry' call from the macosx case to the linux case.
24059
240602009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
240612009-10-25 Colin Watson <cjwatson@ubuntu.com>
24062
24063 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
24064 in `chosen' environment variable.
24065 * normal/menu_text.c (get_entry_number): Check if the variable
24066 matches the title of a menu entry.
24067 (run_menu): Pass menu to get_entry_number.
24068
24069 * util/grub-reboot.in: New file.
24070 * util/grub-set-default.in: New file.
24071 * conf/common.rmk (grub-reboot): New utility.
24072 (grub-set-default): New utility.
24073
24074 * util/grub-mkconfig_lib.in (save_default_entry): New function.
24075 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
24076 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
24077 move it to `saved_entry' for the next boot. Load environment on
24078 initialisation.
24079 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
24080 * util/grub.d/10_hurd.in: Likewise.
24081 * util/grub.d/10_linux.in (linux_entry): Likewise.
24082 * util/grub.d/10_windows.in: Likewise.
24083 * util/grub.d/30_os-prober.in: Likewise.
24084
24085 * util/grub-install.in: Create environment block.
24086 * util/i386/efi/grub-install.in: Likewise.
24087 * util/ieee1275/grub-install.in: Likewise.
24088 * util/sparc64/ieee1275/grub-install.in: Likewise.
24089
0934d184
BC
240902010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
24091
24092 Unit testing framework for GRUB.
24093
24094 * Makefile.in: Test framework build rules for 'make check'.
24095 * conf/tests.rmk: Build rules for individual tests and framework.
24096
24097 * include/grub/test.h: Header file for whitebox tests.
24098 * tests/lib/functional_test.c: Framework support for whitebox
24099 functional tests.
24100 * tests/lib/test.c: Common whitebox testing code for unit and
24101 functional tests.
24102 * tests/lib/unit_test.c: Framework support for whitebox unit
24103 tests.
24104
24105 * tests/util/grub-shell-tester.in: Support utility for grub-script
24106 tests.
24107 * tests/util/grub-shell.in: Utility to execute grub-script
24108 commands in a Qemu instance.
24109
24110 * tests/example_functional_test.c: Example whitebox functional
24111 test.
24112 * tests/example_grub_script_test.in: Example grub-script test.
24113 * tests/example_scripted_test.in: Example scripted test.
24114 * tests/example_unit_test.c: Example whitebox unit test.
24115
9c4ffeeb
VS
241162010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
24117
24118 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
24119 Add loader/i386/multiboot_mbi.c.
24120 (multiboot2_mod_SOURCES): Likewise.
24121 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
24122 (multiboot2_mod_SOURCES): Likewise.
24123 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
24124 (grub_multiboot_make_mbi): Likewise.
24125 (grub_multiboot_free_mbi): Likewise.
24126 (grub_multiboot_init_mbi): Likewise.
24127 (grub_multiboot_add_module): Likewise.
24128 (grub_multiboot_set_bootdev): Likewise.
24129 * loader/i386/multiboot.c (mbi): Removed.
24130 (mbi_dest): Likewise.
24131 (alloc_mbi): New variable.
24132 (grub_multiboot_payload_size): Removed. All users updated.
24133 (grub_multiboot_pure_size): New variable.
24134 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
24135 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
24136 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
24137 (grub_fill_multiboot_mmap): Likewise.
24138 (grub_multiboot_get_bootdev): Likewise.
24139 (grub_multiboot): Use multiboot_mbi functions.
24140 * loader/i386/multiboot_mbi.c: New file.
24141
17383dfe
VS
241422010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24143
24144 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
24145 it would result in module crash.
24146
c1f28820
VS
241472010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24148
24149 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
24150 (grub_ofconsole_getwh): Split to ...
24151 (grub_ofconsole_getwh): ... this.
24152 (grub_ofconsole_dimensions): ...and this.
24153 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
24154
58655a16
RM
241552010-01-13 Robert Millan <rmh.grub@aybabtu.com>
24156
24157 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
24158
10891398
VS
241592010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24160
24161 * loader/i386/pc/multiboot2.c: Removed stalled file.
24162
0b8a223c
VS
241632010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24164
24165 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
24166 Reported by: Grégoire Sutre
24167
92ab12b0
RM
241682010-01-11 Robert Millan <rmh.grub@aybabtu.com>
24169
24170 * util/misc.c (canonicalize_file_name): New function.
24171 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
24172 instead of realpath().
24173
a788afb6
CW
241742010-01-11 Colin Watson <cjwatson@ubuntu.com>
24175
24176 * util/grub-install.in (usage): Clarify meaning of --root-directory,
24177 and make it clearer that it's optional. Based on confusion
24178 witnessed on IRC.
24179
ffa8e3d2
VS
241802010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24181
24182 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
24183 in premature implicit newline.
24184
e9060a9d
VS
241852010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24186
24187 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
24188 which resulted in garbled command line at the end of screen.
24189
f0d0c0b7
RM
241902010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24191
24192 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
24193 initialization with similar approach as with other Linux loaders.
24194
0e60bae7
RM
241952010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24196
24197 Fix i386-ieee1275 build.
24198
24199 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
24200 and grub_term_height() for video_{width,height} initialization.
24201
242022010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
24203
24204 Fix grub-emu build.
24205
24206 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
24207
cdb3f378
RM
242082010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
242092010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24210
24211 Support for multiple terminals.
24212
24213 * Makefile.in (pkglib_DATA): terminal.lst.
24214 (terminal.lst): New target.
24215 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
24216 (GRUB_MOD_INIT(handler)): Likewise.
24217 (GRUB_MOD_FINI(handler)): Likewise.
24218 * commands/help.c (grub_cmd_help): Handle multiple terminals.
24219 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
24220 * commands/sleep.c (do_print): Use grub_term_restore_pos.
24221 (grub_cmd_sleep): Use grub_term_save_pos.
24222 * commands/terminal.c: New file.
24223 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
24224 commands/terminal.c and lib/charset.c.
24225 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
24226 (pkglib_MODULES): Add terminal.mod.
24227 (terminal_mod_SOURCES): New variable.
24228 (terminal_mod_CFLAGS): Likewise.
24229 (terminal_mod_LDFLAGS): Likewise.
24230 * genhandlerlist.sh: Don't handle terminals.
24231 * genmk.rb: Generate terminal-*.lst.
24232 * genterminallist.sh: New file.
24233 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
24234 (grub_is_valid_utf8): Likewise.
24235 (grub_utf8_to_ucs4_alloc): Likewise.
24236 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
24237 (grub_menu_register_viewer): Changed argument.
24238 (grub_menu_try_text): New proto.
24239 (grub_gfxmenu_try_hook): New declaration.
24240 * include/grub/normal.h (grub_normal_exit_level): New declaration.
24241 (grub_menu_init_page): Additional argument term.
24242 (grub_normal_init_page): Likewise.
24243 (grub_cmdline_get): Arguments simplified.
24244 (grub_utf8_to_ucs4_alloc): Removed.
24245 (grub_print_ucs4): Additional argument term.
24246 (grub_getstringwidth): Likewise.
24247 (grub_print_message_indented): Likewise.
24248 (grub_menu_text_register_instances): New proto.
24249 (grub_show_menu): Likewise.
24250 (read_terminal_list): Likewise.
24251 (grub_set_more): Likewise.
24252 * include/grub/parser.h: Include handler.h.
24253 * include/grub/reader.h: Rewritten.
24254 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
24255 (GRUB_TERM_WIDTH): Changed to function.
24256 (GRUB_TERM_HEIGHT): Likewise.
24257 (GRUB_TERM_BORDER_WIDTH): Likewise.
24258 (GRUB_TERM_BORDER_HEIGHT): Likewise.
24259 (GRUB_TERM_NUM_ENTRIES): Likewise.
24260 (GRUB_TERM_ENTRY_WIDTH): Likewise.
24261 (GRUB_TERM_CURSOR_X): Likewise.
24262 (grub_term_input_class): Likewise.
24263 (grub_term_output_class): Likewise.
24264 (grub_term_outputs_disabled): New declaration.
24265 (grub_term_inputs_disabled): Likewise.
24266 (grub_term_outputs): Likewise.
24267 (grub_term_inputs): Likewise.
24268 (grub_term_register_input): Rewritten.
24269 (grub_term_register_output): Likewise.
24270 (grub_term_unregister_input): Likewise.
24271 (grub_term_unregister_output): Likewise.
24272 (FOR_ACTIVE_TERM_INPUTS): New macro.
24273 (FOR_DISABLED_TERM_INPUTS): Likewise.
24274 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
24275 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
24276 * include/grub/terminfo.h: Add oterm argument to all protypes.
24277 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
24278 Use grub_rescue_run.
24279 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
24280 All users updated.
24281 * kern/reader.c: Removed. All users updated.
24282 * kern/rescue_reader.c (grub_rescue_init): Removed.
24283 (grub_rescue_reader): Likewise.
24284 (grub_register_rescue_reader): Likewise.
24285 (grub_rescue_run): New function based on kern/reader.c.
24286 * kern/term.c: Adapted for multiterm.
24287 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
24288 (grub_is_valid_utf8): Likewise.
24289 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
24290 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
24291 right terminal.
24292 * loader/i386/linux.c (grub_linux_boot): Likewise.
24293 * normal/auth.c (grub_username_get): New function.
24294 (grub_auth_check_authentication): Use grub_username_get.
24295 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
24296 * normal/color.c: Adapt for multiterm.
24297 * normal/main.c (read_config_file): Don't use grub_reader_loop.
24298 (grub_normal_init_page): Additional argument term.
24299 (read_lists): Call read_terminal_lists.
24300 (grub_enter_normal_mode): Call grub_cmdline_run.
24301 Handle grub_normal_exit_level.
24302 (grub_cmd_normal): Make reentrant.
24303 (grub_cmd_normal_exit): New function.
24304 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
24305 * normal/menu.c: Adapt for multiterm.
24306 * normal/menu_entry.c: Likewise.
24307 * normal/menu_text.c: Likewise.
24308 * normal/menu_viewer.c: Removed. All users updated.
24309 * normal/term.c: New file.
24310 * util/console.c: Change order of includes to workaround a bug in
24311 ncurses headers.
24312 * term/terminfo.c: New argument oterm on all exported functions.
24313 All users updated.
24314 * util/grub-editenv.c (grub_term_input_class): Removed.
24315 (grub_term_output_class): Likewise.
24316
1a064917
RM
243172010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24318
24319 Make loader output a bit more user-friendly.
24320
24321 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
24322 is being loaded. Likewise for the Hurd.
24323
24324 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
24325 that kernel of FreeBSD ${version} is being loaded.
24326
24327 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
24328 grub_dprintf().
24329 (grub_cmd_initrd): Likewise.
24330 * util/grub.d/10_linux.in (linux_entry): Print message indicating
24331 that Linux ${version} is being loaded. Likewise for initrd.
24332
5ce0a83a 243332010-01-09 Carles Pina i Estany <carles@pina.cat>
24334
24335 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
24336
809bbfeb 243372010-01-08 Carles Pina i Estany <carles@pina.cat>
24338
24339 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
24340 (GRUB_MOD_INIT): Gettextizze.
24341 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
24342 (GRUB_MOD_INIT): Gettextizze.
24343 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
24344 (grub_cmd_linux): Capitalise Linux.
24345 (GRUB_MOD_INIT): Gettextizze.
24346 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
24347 (grub_cmd_linux): Capitalise Linux.
24348 (GRUB_MOD_INIT): Gettextizze.
24349 * loader/i386/linux.c: Include `<grub/i18n.h>'.
24350 (grub_cmd_linux): Capitalise Linux.
24351 (GRUB_MOD_INIT): Gettextizze.
24352 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
24353 (GRUB_MOD_INIT): Gettextizze.
24354 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
24355 (grub_cmd_linux): Capitalise Linux.
24356 (GRUB_MOD_INIT): Gettextizze.
24357 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
24358 (grub_cpu_xnu_init): Gettextizze.
24359 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
24360 (GRUB_MOD_INIT): Gettextizze.
24361 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
24362 (GRUB_MOD_INIT): Gettextizze.
24363 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
24364 (grub_linux_load64): Capitalise Linux.
24365 (GRUB_MOD_INIT): Gettextizze.
24366 * loader/xnu.c: Include `<grub/i18n.h>'.
24367 (GRUB_MOD_INIT): Gettextizze.
24368 * po/POTFILES: Add `loader/efi/appleloader.c',
24369 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
24370 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
24371 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
24372 `loader/i386/xnu.c', `loader/multiboot_loader.c',
24373 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
24374 and `loader/xnu.c'.
24375
b394b2ca
RM
243762010-01-08 Robert Millan <rmh.grub@aybabtu.com>
24377
24378 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
24379
243802010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
24381
24382 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
24383 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
24384 * util/mkisofs/mkisofs.c (main): Readjust --version output.
24385
bc8b32b3
RM
243862010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24387
24388 Reset Multiboot 2 support. New loader implements the draft in
24389 /branches/multiboot2 and shares as much code as possible with the
24390 production Multiboot 1 implementation.
24391
24392 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
24393 * loader/multiboot2.c: Likewise.
24394 * loader/i386/multiboot_helper.S: Likewise.
24395 * include/multiboot2.h: Replace with latest version from the draft
24396 in /branches/multiboot2.
24397
24398 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
24399 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
24400 and `loader/multiboot2.c'.
24401 (pkglib_MODULES): Add `multiboot2.mod'.
24402 (multiboot2_mod_SOURCES): New variable.
24403 (multiboot2_mod_LDFLAGS): Likewise.
24404 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
24405
24406 * conf/i386-pc.rmk: Likewise.
24407
24408 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24409 (multiboot_mod_SOURCES): Remove variable.
24410 (multiboot_mod_LDFLAGS): Likewise.
24411 (multiboot_mod_CFLAGS): Likewise.
24412
24413 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
24414 `<multiboot2.h>' instead of `<multiboot.h>'.
24415 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
24416 (MULTIBOOT_HEADER_MAGIC): New macros.
24417
24418 * loader/multiboot_loader.c (module_version_status): Remove variable.
24419 (find_multi_boot2_header): Remove function.
24420 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
24421 logic. Always check for the Multiboot version we're compiling for.
24422 (grub_cmd_module_loader): Likewise.
24423 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
24424 command instead of `multiboot'.
24425
5d2c52b8
RM
244262010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24427
24428 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
24429 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
24430 all users.
24431
53108d92
RM
244322010-01-07 Robert Millan <rmh.grub@aybabtu.com>
244332010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24434
24435 Fix breakage introduced with previous commit.
24436
24437 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
24438 commands.
24439 * normal/handler.c (read_handler_list): Revert part of previous commit
24440 affecting this file.
24441 * normal/main.c (read_lists): Move read_handler_list() call back to ...
24442 (grub_normal_execute): ... here.
24443
e2e936b2
RM
244442010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24445
24446 Merge prefix-redefinition-fix branch.
24447
24448 * normal/autofs.c (read_fs_list): Make function capable of being
24449 run multiple times, gracefuly replacing the previous data
24450 structures.
24451 * normal/dyncmd.c (read_command_list): Likewise.
24452 * normal/handler.c (read_handler_list): Likewise.
24453 * normal/main.c (read_lists): New function. Calls all the
24454 list reading functions.
24455 (grub_normal_execute): Use read_lists() instead of calling all
24456 list reading functions explicitly. Register read_lists() as a
24457 variable hook attached to ${prefix}.
24458
607a3701
VS
244592010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24460
24461 Merge crypto branch.
24462
24463 * Makefile.in (pkglib_DATA): Add crypto.lst.
24464 (crypto.lst): New target.
24465 * commands/hashsum.c: New file.
24466 * commands/password.c (check_password): Use grub_crypto_memcmp.
24467 * commands/password_pbkdf2.c: New file.
24468 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
24469 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
24470 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
24471 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
24472 -I$(srcdir)/lib/libgcrypt_wrap.
24473 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
24474 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
24475 password_pbkdf2.mod.
24476 (crypto_mod_SOURCES): New variable.
24477 (crypto_mod_CFLAGS): Likewise.
24478 (crypto_mod_LDFLAGS): Likewise.
24479 (hashsum_mod_SOURCES): New variable.
24480 (hashsum_mod_CFLAGS): Likewise.
24481 (hashsum_mod_LDFLAGS): Likewise.
24482 (pbkdf2_mod_SOURCES): New variable.
24483 (pbkdf2_mod_CFLAGS): Likewise.
24484 (pbkdf2_mod_LDFLAGS): Likewise.
24485 (password_pbkdf2_mod_SOURCES): New variable.
24486 (password_pbkdf2_mod_CFLAGS): Likewise.
24487 (password_pbkdf2_mod_LDFLAGS): Likewise.
24488 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
24489 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
24490 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
24491 Include conf/gcry.rmk.
24492 * include/grub/auth.h: Rewritten.
24493 * include/grub/crypto.h: New file.
24494 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
24495 * include/grub/normal.h (read_crypto_list): New prototype.
24496 * lib/crypto.c: New file.
24497 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24498 * lib/pbkdf2.c: Likewise.
24499 * normal/auth.c (grub_auth_strcmp): Removed.
24500 (grub_iswordseparator): Likewise.
24501 (grub_auth_strword): Likewise.
24502 (is_authenticated): Use grub_strword.
24503 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
24504 and grub_strword. Pass entered password to authentication callback.
24505 * normal/crypto.c: New file.
24506 * normal/main.c: Call read_crypto_list.
24507 * util/grub-mkpasswd-pbkdf2.c: New file.
24508 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
24509
42841caa
VS
245102010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
24511
24512 Fix descent and ascent calculation.
24513
24514 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
24515 (options): New option "asce".
24516 (usage): Likewise.
24517 (add_char): Ignore invalid glyphs for descent calculation.
24518 Calculate ascent from actual content.
24519 (print_glyphs): Use 'asce'.
24520 (write_font): Likewise. Allow ascent override.
24521 (main): Handle "asce" option.
24522
e7730de7 245232010-01-06 Carles Pina i Estany <carles@pina.cat>
24524
24525 * kern/err.c: Include `<grub/i18n.h>'.
24526 (grub_print_error): Add full stop. Gettextizze.
24527 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
24528 (grub_bsd_load_elf): Capitalise ELF.
24529 (grub_cmd_freebsd_loadenv): Add `s' in error string.
24530 (grub_cmd_freebsd_module): Likewise.
24531 (grub_cmd_freebsd_module_elf): Likewise.
24532 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
24533
40e3a41f 245342010-01-06 Carles Pina i Estany <carles@pina.cat>
24535
24536 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
24537 * commands/search_file.c (HELP_MESSAGE): New macro.
24538 * commands/search_label.c (HELP_MESSAGE): Likewise.
24539 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
24540 * po/POTFILES: Add `commands/search_file.c',
24541 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
24542 `commands/search.c'.
24543
83507e68
RM
245442010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24545
24546 * config.rpath: Update from Gnulib.
24547
465c787b
YB
245482010-01-05 Yves Blusseau <blusseau@zetam.org>
24549
24550 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
24551
6581dd3a
YB
245522010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
24553
24554 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
24555
3bff18c5
CW
245562010-01-05 Colin Watson <cjwatson@ubuntu.com>
24557
24558 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
24559 arguments to fread so that we get a return value in bytes, rather
24560 than something that will normally be rounded down to 0.
24561 Adjust error handling to avoid producing garbage when size_t is not
24562 the same size as long long.
24563
a1368118
CW
245642010-01-05 Colin Watson <cjwatson@ubuntu.com>
24565
24566 * util/mkisofs/write.c (padblock_write): Check return value of
24567 fread.
24568
7c302978
RM
245692010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24570
24571 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
24572 floppy images now.
24573
24574 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
24575
e33ace06
RM
245762010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24577
24578 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
24579 instead of manual alignment.
24580 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
24581 verbose). Avoid attempts to read past end of the device
24582 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
24583 but GRUB_DISK_CACHE_SIZE may exceed that).
24584
4b856776
RM
245852010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24586
24587 * commands/crc.c (grub_cmd_crc): Abort on read errors.
24588 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
24589 it to upper layer.
24590
52c2d97f
VS
245912010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24592
24593 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
24594 New constant.
24595 (grub_efi_piwg_device_path): New structure
24596 (grub_efi_piwg_device_path_t): New type.
24597 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
24598 (devpath_1): Transform to a structure. All users updated.
24599 (devpath_2): Likewise.
24600 (devpath_3): Likewise.
24601 (devpath_4): Likewise.
24602 (devpath_5): Likewise.
24603
98ff6a54
VS
246042010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24605
24606 * loader/efi/appleloader.c: Restored. Update all users.
24607
3a73dcb6
RM
246082010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24609
24610 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
24611
24612 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
24613 (struct boot_blocklist): Move from here ...
24614 * include/grub/i386/pc/boot.h [ASM_FILE]
24615 (struct grub_boot_blocklist): ... to here. Update all users.
24616 (setup): Only initialize `start' member of `first_block'
24617 structure. Add assert() calls to verify the other members.
24618
24619 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
24620 (generate_image): Fix broken blocklist length initialization.
24621 Add assert() call to verify blocklist `segment' field.
24622
ab0eeb0c
RM
246232010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24624
24625 * loader/efi/appleloader.c: Remove. Update all users.
24626
58bc8bd5
RM
246272010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24628
24629 * boot/i386/pc/boot.S: Update copyright year.
24630 * boot/i386/pc/cdboot.S: Likewise.
24631 * boot/i386/pc/diskboot.S: Likewise.
24632 * boot/i386/pc/lnxboot.S: Likewise.
24633 * boot/i386/pc/pxeboot.S: Likewise.
24634 * bus/pci.c: Likewise.
24635 * commands/cmp.c: Likewise.
24636 * commands/help.c: Likewise.
24637 * commands/hexdump.c: Likewise.
24638 * commands/i386/pc/halt.c: Likewise.
24639 * commands/i386/pc/play.c: Likewise.
24640 * commands/i386/pc/vbeinfo.c: Likewise.
24641 * commands/ls.c: Likewise.
24642 * commands/test.c: Likewise.
24643 * disk/dmraid_nvidia.c: Likewise.
24644 * disk/i386/pc/biosdisk.c: Likewise.
24645 * disk/ieee1275/nand.c: Likewise.
24646 * disk/ieee1275/ofdisk.c: Likewise.
24647 * disk/lvm.c: Likewise.
24648 * disk/raid.c: Likewise.
24649 * disk/raid6_recover.c: Likewise.
24650 * disk/scsi.c: Likewise.
24651 * fs/affs.c: Likewise.
24652 * fs/cpio.c: Likewise.
24653 * fs/ext2.c: Likewise.
24654 * fs/hfs.c: Likewise.
24655 * fs/iso9660.c: Likewise.
24656 * fs/ntfs.c: Likewise.
24657 * fs/sfs.c: Likewise.
24658 * fs/udf.c: Likewise.
24659 * fs/ufs.c: Likewise.
24660 * fs/xfs.c: Likewise.
24661 * gencmdlist.sh: Likewise.
24662 * genmk.rb: Likewise.
24663 * include/grub/disk.h: Likewise.
24664 * include/grub/efi/api.h: Likewise.
24665 * include/grub/efi/efi.h: Likewise.
24666 * include/grub/efi/pe32.h: Likewise.
24667 * include/grub/elf.h: Likewise.
24668 * include/grub/fs.h: Likewise.
24669 * include/grub/i386/at_keyboard.h: Likewise.
24670 * include/grub/i386/pc/memory.h: Likewise.
24671 * include/grub/i386/pc/vbe.h: Likewise.
24672 * include/grub/i386/pci.h: Likewise.
24673 * include/grub/i386/tsc.h: Likewise.
24674 * include/grub/ieee1275/ieee1275.h: Likewise.
24675 * include/grub/ntfs.h: Likewise.
24676 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24677 * include/grub/sparc64/libgcc.h: Likewise.
24678 * include/grub/symbol.h: Likewise.
24679 * include/grub/types.h: Likewise.
24680 * include/multiboot2.h: Likewise.
24681 * io/gzio.c: Likewise.
24682 * kern/device.c: Likewise.
24683 * kern/disk.c: Likewise.
24684 * kern/efi/efi.c: Likewise.
24685 * kern/efi/mm.c: Likewise.
24686 * kern/elf.c: Likewise.
24687 * kern/file.c: Likewise.
24688 * kern/i386/dl.c: Likewise.
24689 * kern/i386/pc/init.c: Likewise.
24690 * kern/i386/pc/startup.S: Likewise.
24691 * kern/ieee1275/ieee1275.c: Likewise.
24692 * kern/ieee1275/init.c: Likewise.
24693 * kern/main.c: Likewise.
24694 * kern/mm.c: Likewise.
24695 * kern/powerpc/dl.c: Likewise.
24696 * kern/sparc64/dl.c: Likewise.
24697 * kern/x86_64/dl.c: Likewise.
24698 * lib/hexdump.c: Likewise.
24699 * loader/efi/appleloader.c: Likewise.
24700 * loader/i386/ieee1275/linux.c: Likewise.
24701 * loader/i386/pc/chainloader.c: Likewise.
24702 * loader/i386/pc/linux.c: Likewise.
24703 * loader/i386/pc/multiboot2.c: Likewise.
24704 * loader/ieee1275/multiboot2.c: Likewise.
24705 * loader/multiboot2.c: Likewise.
24706 * loader/multiboot_loader.c: Likewise.
24707 * loader/powerpc/ieee1275/linux.c: Likewise.
24708 * normal/completion.c: Likewise.
24709 * normal/menu_entry.c: Likewise.
24710 * partmap/apple.c: Likewise.
24711 * util/grub.d/10_hurd.in: Likewise.
24712 * util/hostfs.c: Likewise.
24713 * video/readers/png.c: Likewise.
24714
e2d70b5c
CW
247152010-01-03 Colin Watson <cjwatson@ubuntu.com>
24716
24717 * include/grub/misc.h (GNUC_PREREQ): New macro.
24718 (ATTRIBUTE_ERROR): New macro.
24719 * include/grub/list.h (grub_bad_type_cast_real): Use
24720 ATTRIBUTE_ERROR.
24721
a173283f 247222010-01-03 Carles Pina i Estany <carles@pina.cat>
24723
24724 * normal/menu_text.c (print_message): Change messages.
24725
7fa7ff74 247262010-01-03 Carles Pina i Estany <carles@pina.cat>
24727
24728 * normal/menu_entry.c (store_completion): Gettextizze.
24729
136d24f6 247302010-01-03 Carles Pina i Estany <carles@pina.cat>
24731
24732 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
24733
f936862e 247342010-01-03 Carles Pina i Estany <carles@pina.cat>
24735
24736 * po/POTFILES: Sort correctly.
24737
29c44ad1 247382010-01-03 Carles Pina i Estany <carles@pina.cat>
24739
24740 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
24741 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
24742 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
24743 full stop.
24744 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
24745 summary. Gettextizze the strings.
24746 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
24747 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
24748 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
24749 full stop.
24750 (GRUB_MOD_INIT): Remove command name from summary.
24751 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
24752 summary.
24753 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
24754 * term/i386/pc/serial.c (options): Add full stops.
24755 (GRUB_MOD_INIT): Remove command name from the summary.
24756
77a79592 247572010-01-03 Carles Pina i Estany <carles@pina.cat>
24758
24759 * commands/acpi.c: Gettextizze help strings and/or options. Include
24760 `grub/i18n.h' if needed.
24761 * commands/blocklist.c: Likewise.
24762 * commands/boot.c: Likewise.
24763 * commands/cat.c: Likewise.
24764 * commands/cmp.c: Likewise.
24765 * commands/configfile.c: Likewise.
24766 * commands/crc.c: Likewise.
24767 * commands/date.c: Likewise.
24768 * commands/echo.c: Likewise.
24769 * commands/efi/fixvideo.c: Likewise.
24770 * commands/efi/loadbios.c: Likewise.
24771 * commands/gptsync.c: Likewise.
24772 * commands/halt.c: Likewise.
24773 * commands/handler.c: Likewise.
24774 * commands/hdparm.c: Likewise.
24775 * commands/hexdump.c: Likewise.
24776 * commands/i386/cpuid.c: Likewise.
24777 * commands/i386/pc/drivemap.c: Likewise.
24778 * commands/i386/pc/halt.c: Likewise.
24779 * commands/i386/pc/pxecmd.c: Likewise.
24780 * commands/i386/pc/vbeinfo.c: Likewise.
24781 * commands/i386/pc/vbetest.c: Likewise.
24782 * commands/ieee1275/suspend.c: Likewise.
24783 * commands/keystatus.c: Likewise.
24784 * commands/loadenv.c: Likewise.
24785 * commands/ls.c: Likewise.
24786 * commands/lsmmap.c: Likewise.
24787 * commands/lspci.c: Likewise.
24788 * commands/memrw.c: Likewise.
24789 * commands/minicmd.c: Likewise.
24790 * commands/parttool.c: Likewise.
24791 * commands/password.c: Likewise.
24792 * commands/probe.c: Likewise.
24793 * commands/read.c: Likewise.
24794 * commands/reboot.c: Likewise.
24795 * commands/search.c: Likewise.
24796 * commands/sleep.c: Likewise.
24797 * commands/test.c: Likewise.
24798 * commands/true.c: Likewise.
24799 * commands/usbtest.c: Likewise.
24800 * commands/videotest.c: Likewise.
24801 * commands/xnu_uuid.c: Likewise.
24802 * disk/loopback.c: Likewise.
24803 * hello/hello.c: Likewise.
24804 * loader/i386/bsd.c: Likewise.
24805 * term/i386/pc/serial.c: Likewise.
24806 * po/POTFILES: Add new files.
24807
da8d5c53
CW
248082010-01-02 Colin Watson <cjwatson@ubuntu.com>
24809
24810 * term/i386/pc/at_keyboard.c
24811 (keyboard_controller_wait_untill_ready): Rename to ...
24812 (keyboard_controller_wait_until_ready): ... this. Update all users.
24813
33937904 248142010-01-01 Carles Pina i Estany <carles@pina.cat>
24815
24816 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
24817 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
24818 string using string width.
24819 * normal/menu_text.c (grub_print_message_indented): Use
24820 grub_print_spaces and not print_spaces.
24821 (print_timeout): Likewise.
24822 (print_spaces): Move to...
24823 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
24824
3fd3b8d8
RM
248252010-01-01 Robert Millan <rmh.grub@aybabtu.com>
24826
24827 Import from Gnulib.
24828
24829 * gnulib/getdelim.c: New file.
24830 * gnulib/getline.c: Likewise.
24831
33433555
VS
248322009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
24833
24834 * include/grub/list.h (grub_assert_fail): Removed.
24835 (grub_bad_type_cast_real): New function.
24836 (grub_bad_type_cast): New macro.
24837 (GRUB_AS_LIST): Use grub_bad_type_cast.
24838 (GRUB_AS_LIST_P): Likewise.
e44721e8 24839 (GRUB_AS_NAMED_LIST): Likewise.
33433555 24840 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 24841 (GRUB_AS_PRIO_LIST): Likewise.
33433555 24842 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 24843 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 24844
f5a51306
VS
248452009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24846
24847 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24848 Fix syntax error.
24849
90d1e879
RM
248502009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24851
24852 * configure.ac: Check for TARGET_CFLAGS initialization before we
24853 initialize it ourselves (sigh).
24854 Move a few modifications to TARGET_CFLAGS to be unconditional
24855 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24856 eh_frame)
24857
24858 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24859 * term/i386/pc/at_keyboard.c
24860 (keyboard_controller_wait_untill_ready): Likewise.
24861 (keyboard_controller_led): Rename `led_status' paramter to avoid
24862 name conflict.
24863
465b5a81 248642009-12-28 Carles Pina i Estany <carles@pina.cat>
24865
24866 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24867 quotes.
24868
c181849b
VS
248692009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24870
24871 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24872
9c8739a4
VS
248732009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24874
24875 * normal/menu_text.c (grub_print_message_indented): Prevent
24876 past-the-end-of-array dereference.
24877
3e74249c
VS
248782009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24879
24880 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24881 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24882
64fd18ed 248832009-12-27 Carles Pina i Estany <carles@pina.cat>
24884
24885 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24886 * normal/main.c (grub_normal_read_line): Remove a space from the
24887 default prompt.
24888
714af9b9 248892009-12-27 Carles Pina i Estany <carles@pina.cat>
24890
24891 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24892 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24893 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24894 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24895 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24896 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24897 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24898
82f3e412 248992009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 24900
24901 * video/readers/jpeg.c (cmd): Declare.
24902 (grub_cmd_jpegtest): Use `grub_command_t' type.
24903 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24904 Assign to `cmd'.
24905 (GRUB_MOD_FINI): Use `cmd' to unregister.
24906 * video/readers/png.c (cmd): Declare.
24907 (grub_cmd_pngtest): Use `grub_command_t' type.
24908 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24909 Assign to `cmd'.
24910 (GRUB_MOD_FINI): Use `cmd' to unregister.
24911 * video/readers/tga.c (cmd): Declare.
24912 (grub_cmd_tgatest): Use `grub_command_t' type.
24913 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24914 Assign to `cmd'.
24915 (GRUB_MOD_FINI): Use `cmd' to unregister.
24916
82f3e412 249172009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 24918
24919 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24920 stops.
24921 * kern/corecmd.c (grub_register_core_commands): Likewise.
24922 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24923 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24924 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24925 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24926 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24927 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24928 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24929 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24930 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24931 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24932 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24933 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24934 * normal/handler.c (insert_handler): Likewise.
24935 * normal/main.c (GRUB_MOD_INIT): Likewise.
24936 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24937
fdcdbb66 249382009-12-26 Carles Pina i Estany <carles@pina.cat>
24939
24940 * commands/help.c (grub_cmd_help): Print the command name before the
24941 summary.
24942 (GRUB_MOD_INIT): Remove command name from the summary.
24943 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 24944 string as summary.
fdcdbb66 24945 * lib/arg.c (find_long): Print the command name before the summary.
24946 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24947 summary.
24948 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24949 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24950 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24951 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24952 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24953 * commands/date.c (GRUB_MOD_INIT): Likewise.
24954 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24955 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24956 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24957 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24958 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24959 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24960 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24961 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24962 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24963 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24964 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24965 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24966 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24967 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24968 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24969 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24970 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24971 * commands/password.c (GRUB_MOD_INIT): Likewise.
24972 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24973 * commands/read.c (GRUB_MOD_INIT): Likewise.
24974 * commands/search.c (GRUB_MOD_INIT): Likewise.
24975 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24976 * commands/test.c (GRUB_MOD_INIT): Likewise.
24977 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
24978 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24979 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24980 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
24981 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24982 * lib/arg.c (GRUB_MOD_INIT): Likewise.
24983 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
24984 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24985 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24986 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24987 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24988 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
24989 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
24990 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
24991
9c288be2
VS
249922009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24993
24994 Use search command for preliminar UUID search.
24995
24996 * commands/search.c: Split into ...
24997 * commands/search_wrap.c: ...this
24998 * commands/search.c: ...and this.
24999 * commands/search_file.c: New file.
25000 * commands/search_label.c: New file.
25001 * commands/search_uuid.c: New file.
25002 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
25003 Add commands/search_wrap.c, commands/search_file.c,
25004 commands/search_label.c and commands/search_uuid.c.
25005 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
25006 (search_mod_SOURCES): Set to commands/search_wrap.c.
25007 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
25008 search_label.mod.
25009 (search_fs_file_mod_SOURCES): New variable.
25010 (search_fs_file_mod_CFLAGS): Likewise.
25011 (search_fs_file_mod_LDFLAGS): Likewise.
25012 (search_label_mod_SOURCES): Likewise.
25013 (search_label_mod_CFLAGS): Likewise.
25014 (search_label_mod_LDFLAGS): Likewise.
25015 (search_fs_uuid_mod_SOURCES): New variable.
25016 (search_fs_uuid_mod_CFLAGS): Likewise.
25017 (search_fs_uuid_mod_LDFLAGS): Likewise.
25018 (fs_file_mod_SOURCES): Removed.
25019 (fs_file_mod_CFLAGS): Likewise.
25020 (fs_file_mod_LDFLAGS): Likewise.
25021 (fs_uuid_mod_SOURCES): Removed.
25022 (fs_uuid_mod_CFLAGS): Likewise.
25023 (fs_uuid_mod_LDFLAGS): Likewise.
25024 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
25025 Set to util/grub-install.in.
25026 * disk/fs_file.c: Removed.
25027 * disk/fs_uuid.c: Likewise.
25028 * include/grub/search.h: New file.
25029 * util/grub-install.in: Handle sparc64.
25030 Create and use load.cfg.
25031 * util/sparc64/ieee1275/grub-install.in: Removed.
25032
db943399
VS
250332009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
25034
25035 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
25036 Ignore return status if CF is cleared.
25037 (grub_biosdisk_get_diskinfo_standard): Likewise.
25038
3fdae612
RM
250392009-12-25 Robert Millan <rmh.grub@aybabtu.com>
25040
25041 * term/i386/pc/at_keyboard.c
25042 (keyboard_controller_wait_untill_ready): New function.
25043 (grub_keyboard_controller_write, grub_keyboard_controller_read)
25044 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
25045 for keyboard polling, rather than duplicate the same loop. This
25046 saves a few bytes in code size.
25047
7ebaa2b4
VS
250482009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
25049
25050 Support for (pxe[:server[:gateway]]) syntax and
25051 use environment variable for PXE.
25052
25053 * commands/i386/pc/pxecmd.c (options): Removed.
25054 (print_ip): Removed.
25055 (grub_cmd_pxe): Removed
25056 (grub_cmd_pxe_unload): New function.
25057 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
25058 (grub_pxe_your_ip): Made static.
25059 (grub_pxe_default_server_ip): Likewise.
25060 (grub_pxe_default_gateway_ip): Likewise.
25061 (grub_pxe_blksize): Likewise.
25062 (parse_ip): New function.
25063 (grub_pxe_open): Support server and gateway specification.
25064 (grub_pxe_close): Free disk->data.
25065 (grub_pxefs_open): Use disk->data.
25066 (grub_pxefs_read): Likewise.
25067 (grub_env_write_readonly): New function.
25068 (set_mac_env): Likewise.
25069 (set_env_limn_ro): Likewise.
25070 (parse_dhcp_vendor): Likewise.
25071 (grub_pxe_detect): Set the environment variables.
25072 (set_ip_env): New function.
25073 (write_ip_env): Likewise.
25074 (grub_env_write_pxe_default_server): Likewise.
25075 (grub_env_write_pxe_default_gateway): Likewise.
25076 (grub_env_write_pxe_blocksize): Likewise.
25077 (GRUB_MOD_INIT(pxe)): Set environment variables.
25078 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
25079 (grub_pxe_mac_addr_t): ... this. All users updated.
25080 (grub_pxe_your_ip): Removed.
25081 (grub_pxe_server_ip): Likewise.
25082 (grub_pxe_gateway_ip): Likewise.
25083 (grub_pxe_blksize): Likewise.
25084
ec5f98ab 250852009-12-25 Carles Pina i Estany <carles@pina.cat>
25086
25087 * commands/help.c: Include `<grub/i18n.h>'.
25088 (grub_cmd_help): Gettextizze.
25089 (GRUB_MOD_INIT): Likewise.
25090 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
25091 (GRUB_MOD_INIT): Gettextizze.
25092 * commands/search.c: Include `<grub/i18n.h>'.
25093 (options): Gettextizze.
25094 (GRUB_MOD_INIT): Gettextizze.
25095 * lib/arg.c: Include `<grub/i18n.h>'.
25096 (help_options): Gettextizze.
25097 (find_long): Likewise.
25098 (grub_arg_show_help): Likewise.
25099 * normal/dyncmd.c: Include `<grub/i18n.h>'.
25100 (read_command_list): Gettextizze.
25101 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 25102 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 25103
22815526
RM
251042009-12-25 Robert Millan <rmh.grub@aybabtu.com>
25105
25106 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
25107 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
25108 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
25109 (led_status): New variable.
25110 (keyboard_controller_led): New function.
25111 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
25112 update led status for caps lock, num lock and scroll lock.
25113
0ad46fd7
FZ
251142009-12-25 Felix Zielcke <fzielcke@z-51.de>
25115
25116 * util/hostdisk.c (open_device): Fix a comment.
25117
d0e158c2
RM
251182009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25119
25120 * util/grub-install.in (host_os): New variable.
25121 * util/i386/efi/grub-install.in (host_os): Likewise.
25122
401c0ad6
RM
251232009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25124
25125 * util/mkisofs/write.c (padblock_write): Abort when given an
25126 excedingly large embed image, instead of silently truncating it.
25127
d14d3370
RM
251282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25129
25130 * include/multiboot.h: Indentation fixes.
25131
eeed10b4
RM
251322009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25133
25134 * include/multiboot.h (struct multiboot_aout_symbol_table)
25135 (struct multiboot_elf_section_header_table): New structure
25136 declarations (stolen from GRUB Legacy).
25137 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
25138 table information.
25139
25140 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
25141 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
25142 type aliases.
25143
681c70ab
RM
251442009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25145
25146 * include/multiboot.h: Make comments src2texi-friendly.
25147
e4d47d8d
RM
251482009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25149
25150 For consistency with [multiboot]/docs/boot.S.
25151
25152 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
25153 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
25154 (MULTIBOOT_MAGIC2): Rename from this ...
25155 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
25156
a0b70bda
RM
251572009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25158
25159 * include/multiboot.h: Remove `<grub/types.h>'.
25160 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
25161 types. Update all users.
25162
61ba42be 251632009-12-25 Carles Pina i Estany <carles@pina.cat>
25164
25165 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
25166 `couldn't' and `can not' by `cannot'.
25167 * commands/i386/pc/drivemap.c: Likewise.
25168 * disk/ata.c: Likewise.
25169 * disk/ieee1275/nand.c: Likewise.
25170 * fs/affs.c: Likewise.
25171 * fs/fat.c: Likewise.
25172 * fs/hfs.c: Likewise.
25173 * fs/hfsplus.c: Likewise.
25174 * fs/iso9660.c: Likewise.
25175 * fs/jfs.c: Likewise.
25176 * fs/minix.c: Likewise.
25177 * fs/reiserfs.c: Likewise.
25178 * fs/sfs.c: Likewise.
25179 * fs/udf.c: Likewise.
25180 * fs/ufs.c: Likewise.
25181 * fs/xfs.c: Likewise.
25182 * loader/powerpc/ieee1275/linux.c: Likewise.
25183 * loader/sparc64/ieee1275/linux.c: Likewise.
25184 * util/grub-probe.c: Likewise.
25185 * util/misc.c: Likewise.
25186
7fd0baee 251872009-12-24 Carles Pina i Estany <carles@pina.cat>
25188
25189 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
25190 grub_errno calls.
25191 * commands/acpi.c: Likewise.
25192 * commands/blocklist.c: Likewise.
25193 * commands/efi/loadbios.c: Likewise.
25194 * commands/i386/pc/drivemap.c: Likewise.
25195 * commands/loadenv.c: Likewise.
25196 * commands/memrw.c: Likewise.
25197 * commands/password.c: Likewise.
25198 * commands/videotest.c: Likewise.
25199 * disk/ata.c: Likewise.
25200 * disk/ata_pthru.c: Likewise.
25201 * disk/dmraid_nvidia.c: Likewise.
25202 * disk/ieee1275/nand.c: Likewise.
25203 * disk/ieee1275/ofdisk.c: Likewise.
25204 * disk/loopback.c: Likewise.
25205 * disk/lvm.c: Likewise.
25206 * disk/mdraid_linux.c: Likewise.
25207 * disk/raid.c: Likewise.
25208 * disk/raid6_recover.c: Likewise.
25209 * disk/scsi.c: Likewise.
25210 * efiemu/main.c: Likewise.
25211 * efiemu/mm.c: Likewise.
25212 * efiemu/pnvram.c: Likewise.
25213 * efiemu/symbols.c: Likewise.
25214 * font/font.c: Likewise.
25215 * fs/cpio.c: Likewise.
25216 * fs/hfsplus.c: Likewise.
25217 * fs/iso9660.c: Likewise.
25218 * fs/jfs.c: Likewise.
25219 * fs/minix.c: Likewise.
25220 * fs/ntfs.c: Likewise.
25221 * fs/ntfscomp.c: Likewise.
25222 * fs/reiserfs.c: Likewise.
25223 * fs/ufs.c: Likewise.
25224 * fs/xfs.c: Likewise.
25225 * gettext/gettext.c: Likewise.
25226 * include/grub/auth.h: Likewise.
25227 * kern/elf.c: Likewise.
25228 * kern/file.c: Likewise.
25229 * kern/ieee1275/init.c: Likewise.
25230 * kern/ieee1275/mmap.c: Likewise.
25231 * kern/ieee1275/openfw.c: Likewise.
25232 * kern/powerpc/dl.c: Likewise.
25233 * kern/sparc64/dl.c: Likewise.
25234 * lib/arg.c: Likewise.
25235 * loader/i386/bsd.c: Likewise.
25236 * loader/i386/bsdXX.c: Likewise.
25237 * loader/i386/efi/linux.c: Likewise.
25238 * loader/i386/efi/xnu.c: Likewise.
25239 * loader/i386/ieee1275/linux.c: Likewise.
25240 * loader/i386/linux.c: Likewise.
25241 * loader/i386/multiboot.c: Likewise.
25242 * loader/i386/pc/linux.c: Likewise.
25243 * loader/i386/pc/multiboot2.c: Likewise.
25244 * loader/i386/xnu.c: Likewise.
25245 * loader/ieee1275/multiboot2.c: Likewise.
25246 * loader/macho.c: Likewise.
25247 * loader/machoXX.c: Likewise.
25248 * loader/multiboot2.c: Likewise.
25249 * loader/multiboot_loader.c: Likewise.
25250 * loader/powerpc/ieee1275/linux.c: Likewise.
25251 * loader/sparc64/ieee1275/linux.c: Likewise.
25252 * loader/xnu.c: Likewise.
25253 * loader/xnu_resume.c: Likewise.
25254 * mmap/i386/pc/mmap.c: Likewise.
25255 * normal/menu_viewer.c: Likewise.
25256 * partmap/acorn.c: Likewise.
25257 * partmap/amiga.c: Likewise.
25258 * partmap/apple.c: Likewise.
25259 * script/lexer.c: Likewise.
25260 * term/gfxterm.c: Likewise.
25261 * term/i386/pc/serial.c: Likewise.
25262 * term/i386/pc/vga.c: Likewise.
25263 * term/ieee1275/ofconsole.c: Likewise.
25264 * term/terminfo.c: Likewise.
25265 * video/bitmap.c: Likewise.
25266 * video/efi_gop.c: Likewise.
25267 * video/efi_uga.c: Likewise.
25268 * video/fb/video_fb.c: Likewise.
25269 * video/i386/pc/vbe.c: Likewise.
25270 * video/readers/tga.c: Likewise.
25271 * video/video.c: Likewise.
25272
0ad46fd7 252732009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
25274
25275 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
25276 * commands/lspci.c: Likewise.
25277 * commands/probe.c: Likewise.
25278 * commands/xnu_uuid.c: Likewise.
25279 * conf/i386-coreboot.rmk: Likewise.
25280 * conf/i386-efi.rmk: Likewise.
25281 * conf/i386-ieee1275.rmk: Likewise.
25282 * conf/i386-pc.rmk: Likewise.
25283 * conf/powerpc-ieee1275.rmk: Likewise.
25284 * conf/sparc64-ieee1275.rmk: Likewise.
25285 * conf/x86_64-efi.rmk: Likewise.
25286 * fs/i386/pc/pxe.c: Likewise.
25287 * gettext/gettext.c: Likewise.
25288 * include/grub/efi/graphics_output.h: Likewise.
25289 * include/grub/i386/pc/memory.h: Likewise.
25290 * kern/env.c: Likewise.
25291 * kern/i386/qemu/startup.S: Likewise.
25292 * lib/i386/pc/biosnum.c: Likewise.
25293 * lib/i386/relocator.c: Likewise.
25294 * lib/i386/relocator_asm.S: Likewise.
25295 * lib/relocator.c: Likewise.
25296 * loader/i386/bsd.c: Likewise.
25297 * loader/i386/multiboot.c: Likewise.
25298 * loader/i386/pc/chainloader.c: Likewise.
25299 * loader/i386/xnu.c: Likewise.
25300 * loader/xnu.c: Likewise.
25301 * normal/main.c: Likewise.
25302 * normal/menu_text.c: Likewise.
25303 * util/getroot.c: Likewise.
25304 * util/grub-mkconfig_lib.in: Likewise.
25305 * util/grub.d/00_header.in: Likewise.
25306 * util/i386/pc/grub-mkimage.c: Likewise.
25307 * util/mkisofs/eltorito.c: Likewise.
25308 * util/mkisofs/exclude.h: Likewise.
25309 * util/mkisofs/hash.c: Likewise.
25310 * util/mkisofs/iso9660.h: Likewise.
25311 * util/mkisofs/joliet.c: Likewise.
25312 * util/mkisofs/mkisofs.c: Likewise.
25313 * util/mkisofs/mkisofs.h: Likewise.
25314 * util/mkisofs/multi.c: Likewise.
25315 * util/mkisofs/name.c: Likewise.
25316 * util/mkisofs/rock.c: Likewise.
25317 * util/mkisofs/tree.c: Likewise.
25318 * util/mkisofs/write.c: Likewise.
25319 * video/efi_gop.c: Likewise.
25320
009ec743
VS
253212009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
25322
25323 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
25324 size counting.
25325
0ad46fd7 253262009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
25327
25328 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
25329 * genmk.rb (class SCRIPT): Modify the target file instead of source.
25330
d3d30ea0
VS
253312009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25332
25333 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
25334 (GRUB_MOD_INIT(memrw)): Update help line.
25335
a34f5c70
VS
253362009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25337
25338 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
25339 Use grub_extcmd_t. All users updated.
25340 (options): New variable.
25341 (grub_cmd_read): Restructure for readability. Support "-v" option.
25342 (grub_cmd_write): Restructure for readability.
25343
0ad46fd7 253442009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
25345
25346 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
25347
0ad46fd7 253482009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
25349
25350 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
25351 with the actual contents of the correspondending make variable.
25352 * util/grub-mkrescue.in (pkglib_DATA): New variable.
25353 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
25354 specifying `*.lst' and `efiemu??.o'
25355
0ad46fd7 253562009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
25357
25358 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
25359 after function name.
25360 Noticed by Rene Engelhard <rene@debian.org>.
25361
dc77a799
VS
253622009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25363
25364 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
25365 (options): New variable.
25366 (iospace): Likewise.
25367 (grub_lspci_iter): List IO spaces if "-i" was given.
25368 (grub_cmd_lspci): Parse options.
25369 (GRUB_MOD_INIT(lspci)): Use extcmd.
25370 (GRUB_MOD_FINI(lspci)): Likewise.
25371
0ad46fd7 253722009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
25373
25374 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
25375 `function' keyword.
25376 Patch by Tony Mancill <tmancill@debian.org>.
25377
b5d5993b
VS
253782009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25379
25380 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
25381 (grub_uhci_portstatus): Likewise.
25382 (grub_uhci_portstatus): Add necessary delay.
11d18281 25383 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 25384
941903f2 253852009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 25386
941903f2 25387 * commands/acpi.c (options): Fix capitalizations and/or full stops.
25388 (GRUB_MOD_INIT): Likewise.
25389 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 25390 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
25391 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 25392 * commands/efi/loadbios.c (enable_rom_area): Likewise.
25393 (enable_rom_area): Likewise.
25394 (GRUB_MOD_INIT): Likewise.
25395 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
25396 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
25397 * commands/handler.c (GRUB_MOD_INIT): Likewise.
25398 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
25399 * commands/hexdump.c (options): Likewise.
25400 * commands/i386/cpuid.c (options): Likewise.
25401 (GRUB_MOD_INIT): Likewise.
25402 * commands/i386/pc/drivemap.c (options): Likewise.
25403 (GRUB_MOD_INIT): Likewise.
25404 * commands/i386/pc/halt (options): Likewise.
25405 (GRUB_MOD_INIT): Likewise.
25406 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
25407 * commands/i386/pc/pxecmd.c (options): Likewise.
25408 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
25409 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
25410 * commands/keystatus.c (options): Likewise.
25411 (GRUB_MOD_INIT): Likewise.
25412 * commands/loadenv.c (options): Likewise.
25413 * commands/ls.c (options): Likewise.
25414 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
25415 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
25416 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
25417 * commands/parttool.c (helpmsg): Likewise.
25418 * commands/probe.c (options): Likewise.
25419 * commands/read.c (GRUB_MOD_INIT): Likewise.
25420 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
25421 * commands/search.c (options): Likewise.
25422 * commands/sleep.c (options): Likewise.
25423 * commands/test.c (GRUB_MOD_INIT): Likewise.
25424 * commands/true.c (GRUB_MOD_INIT): Likewise.
25425 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
25426 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
25427 * lib/arg.c (help_options): Likewise.
e9bbb4e7 25428 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
25429 `$(XGETTEXT)'.
98a50553 25430 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 25431
0ad46fd7 254322009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 25433
ef3c2c3a 25434 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
25435 instead of specifying them explicit.
25436
7922f68b
RM
254372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25438
25439 * NEWS: Add grub-probe support for GNU/Hurd.
25440
537ce47f
RM
254412009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25442
25443 * NEWS: gettext was added after 1.97.
25444
9b214e3a
RM
254452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25446
25447 * util/mkisofs/msdos_partition.h: New file (based on
25448 include/grub/msdos_partition.h).
25449 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
25450 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
25451 (ld_options, main): Recognize --protective-msdos-label.
25452 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
25453 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
25454 (padblock_write): If `use_protective_msdos_label' is set, patch a
25455 protective DOS-style label in the output image.
25456
25457 * util/grub-mkrescue.in: Use --protective-msdos-label.
25458
e9309813
RM
254592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25460
25461 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
25462 boot.
25463
0ae56929
RM
254642009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25465
25466 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
25467 variables.
25468 (ld_options, main): Recognize `--embedded-boot'.
25469 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
25470 declarations.
25471 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
25472 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
25473 (padblock_write): Likewise. Rewrite to support embedded boot image.
25474
25475 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
25476 for BIOS-based disk boot instead of only ElTorito.
25477
b15937b1
RM
254782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25479
25480 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
25481 build (not needed for bootstrap).
25482
52cc3ce0
RM
254832009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25484
25485 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
25486 from i386-pc build (not needed for bootstrap).
25487 Rewrite a pair of strings.
25488
36f5ff04
RM
254892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25490
25491 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
25492
973c6c85 254932009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
25494
25495 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
25496
05d21547
AB
254972009-12-21 Andreas Born <futur.andy@googlemail.com>
25498
25499 * kern/env.c (grub_env_context_open): Mark exported variable for
25500 reexport.
25501
0175d51f
AB
255022009-12-21 Andreas Born <futur.andy@googlemail.com>
25503
25504 * kern/env.c (grub_env_export): Create nonexistent variables before
25505 exporting.
25506
7f39d92f 255072009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 25508
7f39d92f 25509 * include/grub/auth.h: Include `<grub/i18n.h>'.
25510 (GRUB_GET_PASSWORD): Gettextizze string.
25511 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
25512 menu_text.c.
25513 (grub_utf8_to_ucs4_alloc): Fix indentation.
25514 (grub_print_ucs4): Likewise.
25515 (grub_getstringwidth): Likewise.
25516 (print_message_indented): New declaration.
25517 * normal/auth.c: Include `<grub/i18n.h>'.
25518 (grub_auth_check_authentication): Gettexttize string.
25519 * normal/cmdline.c: Include `<grub/i18n.h>'.
25520 (grub_cmdline_get): Gettextizze.
25521 * normal/color.c: Include `<grub/i18n.h>'.
25522 (grub_parse_color_name_pair): Gettexttize strings.
25523 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
25524 string (use `print_message_indented').
25525 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
25526 `include/grub/normal.h'.
25527 (print_message_indented): Renamed to ...
25528 (grub_print_message_indented): ... this. Remove `static' qualifer (now
25529 used in normal/main.c).
25530 (print_message): Use `grub_print_message_indented' instead of
25531 `print_message_indented'.
25532 (print_timeout): Likewise.
25533 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
25534 (grub_normal_print_device_info): Gettexttize strings.
25535 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
25536
3041d898
VS
255372009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25538
25539 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
25540 of arguments. Return number of tokens and not arguments. All users
25541 updated.
25542
de15bf8e
VS
255432009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25544
25545 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
25546 non-MSDOS paritions.
25547
e0a6ca52
VS
255482009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
25549
25550 * include/grub/types.h (UNUSED): Removed since it conflicts with
25551 NetBSD headers. All users changed to direct __attribute__ ((unused)).
25552 Reported by Grégoire Sutre.
25553
b99518d1 255542009-12-19 Carles Pina i Estany <carles@pina.cat>
25555
25556 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
25557 (grub_print_ucs4_alloc): Likewise.
25558 (grub_getstringwidth): Likewise.
25559 * normal/main.c (grub_normal_init_page): Gettextize version string.
25560 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
25561 (getstringwidth): Renamed to ...
25562 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
25563 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
25564 (grub_print_ucs4): Remove `static' qualifer (now used in
25565 normal/main.c).
25566 * po/POTFILES: Add normal/main.c.
25567
bfd5e52b 255682009-12-19 Carles Pina i Estany <carles@pina.cat>
25569
25570 * normal/menu_text.c (STANDARD_MARGIN): New macro.
25571 (print_message_indented): Add `margin_left' and `margin_right'
25572 parameters.
25573 (print_message): Update `print_message_indented' calls. Adds '\n' to the
25574 strings.
25575 (print_timeout): Use `print_message_indented' to print the message.
25576 Deletes `second_stage' parameter.
25577 (run_menu): Update `print_timeout' calls.
25578
5a1ad2b9
VS
255792009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25580
25581 Fix console palette on OpenFirmware.
25582
25583 * term/ieee1275/ofconsole.c (MAX): Removed.
25584 (colors): Redone based on VGA palette.
25585 (grub_ofconsole_setcolor): Discard brightness bit since only 8
25586 colors are supported.
25587 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
25588
b045f00a
VS
255892009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25590
25591 Fix potential EfiEmu double prepare.
25592
25593 * efiemu/main.c (prepared): New variable
25594 (grub_efiemu_unload): Set prepare to '0'.
25595 (grub_efiemu_prepare): Return if already prepared. Set prepared.
25596
25597 set_virtual_address_map support.
25598
25599 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
25600 prototype.
25601 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
25602 prototype.
25603 (grub_efiemu_crc32): Likewise.
25604 (grub_efiemu_crc64): Likewise.
25605 (grub_efiemu_set_virtual_address_map): Likewise.
25606 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
25607 New definition.
25608 (grub_autoefi_set_virtual_address_map): Likewise.
25609 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
25610 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
25611 Restructure flow to accomodate it.
25612 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
25613 (grub_efiemu_crc): Recompute CRC32.
25614 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
25615 (efiemu_ptv_relocated): ... this. Made global. All users updated.
25616 * efiemu/symbols.c (relocated_handle): New variable.
25617 (grub_efiemu_free_syms): Free relocated_handle.
25618 (grub_efiemu_alloc_syms): Allocate relocated_handle.
25619 (grub_efiemu_write_sym_markers): New function.
25620 (grub_efiemu_set_virtual_address_map): Likewise.
25621
25622 Newer XNU parameters.
25623
25624 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
25625 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
25626 (grub_xnu_fill_devicetree): New prototype.
25627 (grub_xnu_heap_real_start): New variable.
25628 * loader/xnu.c (get_name_ptr): New function.
25629 (grub_xnu_load_driver): Fill namelen and name.
25630
25631 64-bit xnu support.
25632
25633 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
25634 and 'loader/macho64.c'.
25635 * conf/i386-pc.rmk: Likewise.
25636 * conf/x86_64-efi.rmk: Likewise.
25637 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
25638 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
25639 * include/grub/macho.h (grub_macho_segment64): New structure.
25640 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
25641 (grub_macho_size32): ... to this.
25642 (grub_macho32_get_entry_point): Renamed from ...
25643 (grub_macho_get_entry_point32): ... to this.
25644 (grub_macho_contains_macho64): New prototype.
25645 (grub_macho_size64): Likewise.
25646 (grub_macho_get_entry_point64): Likewise.
25647 (grub_macho32_load): Renamed from ...
25648 (grub_macho_load32): ... to this.
25649 (grub_macho32_filesize): Renamed from ...
25650 (grub_macho_filesize32): ... to this.
25651 (grub_macho32_readfile): Renamed from ...
25652 (grub_macho_readfile32): ... to this.
25653 (grub_macho_filesize64): New prototype.
25654 (grub_macho_readfile64): Likewise.
25655 (grub_macho_parse32): Likewise.
25656 (grub_macho_parse64): Likewise.
25657 * loader/macho.c: Split into ...
25658 * loader/machoXX.c: ... and this. Replace 32 with XX.
25659 * loader/macho32.c: New file.
25660 * loader/macho64.c: Likewise.
25661 * loader/xnu.c (grub_xnu_is_64bit): New variable.
25662 (grub_cmd_xnu_kernel): Make 32-bit only.
25663 (grub_cmd_xnu_kernel64): New function.
25664 (grub_xnu_load_driver): Support Mach-O 64.
25665 (grub_cmd_xnu_mkext): Likewise.
25666 * util/grub.d/30_os-prober.in (osx_entry): New function.
25667 Generate entries for 64-bit boot too.
25668
25669 Eliminate ad-hoc tree format in XNU and EfiEmu.
25670
25671 * efiemu/main.c (grub_efiemu_prepare): Update comment.
25672 * efiemu/pnvram.c: Rewritten to use environment variables.
25673 All users updated.
25674
25675 Inline utf16_to_utf8.
25676
25677 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
25678 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
25679 All users updated.
25680 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
25681
25682 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
25683 * commands/usbtest.c (grub_usb_get_string): ... move here.
25684 (usb_print_str): Fix error handling.
25685 * include/grub/usb.h (grub_usb_get_string): Remove.
25686
25687 UTF-8 to UTF-16 transformation.
25688
25689 * conf/common.rmk (pkglib_MODULES): Add charset.mod
25690 (charset_mod_SOURCES): New variable.
25691 (charset_mod_CFLAGS): Likewise.
25692 (charset_mod_LDFLAGS): Likewise.
25693 * include/grub/utf.h: New file.
25694 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
25695
25696 Support for device properties.
25697
25698 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
25699 (grub_xnu_devprop_device_header): Likewise.
25700 (grub_xnu_devprop_device_descriptor): Likewise.
25701 (grub_xnu_devprop_add_device): New prototype.
25702 (grub_xnu_devprop_remove_device): Likewise.
25703 (grub_xnu_devprop_remove_property): Likewise.
25704 (grub_xnu_devprop_add_property_utf8): Likewise.
25705 (grub_xnu_devprop_add_property_utf16): Likewise.
25706 (grub_cpu_xnu_init): Likewise.
25707 (grub_cpu_xnu_fini): Likewise.
25708 (grub_cpu_xnu_unload): Likewise.
25709 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
25710 (property_descriptor): Likewise.
25711 (devices): New variable.
25712 (grub_xnu_devprop_remove_property): New function.
25713 (grub_xnu_devprop_add_device): Likewise.
25714 (grub_xnu_devprop_remove_device): Likewise.
25715 (grub_xnu_devprop_add_property): Likewise.
25716 (grub_xnu_devprop_add_property_utf8): Likewise.
25717 (grub_xnu_devprop_add_property_utf16): Likewise.
25718 (hextoval): Likewise.
25719 (grub_cpu_xnu_fill_devprop): Likewise.
25720 (grub_cmd_devprop_load): Likewise.
25721 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
25722 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
25723 (cmd_devprop_load): New variable.
25724 (grub_cpu_xnu_init): New function.
25725 (grub_cpu_xnu_fini): Likewise.
25726 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
25727 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
25728 (grub_cmd_xnu_devtree): Likewise.
25729 (hextoval): New function.
25730 (unescape): Likewise.
25731 (grub_xnu_fill_devicetree): Likewise.
25732
25733 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
25734 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
25735
0945f181
VS
257362009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25737
25738 Workaround for broken ATI VBE.
25739
25740 * video/i386/pc/vbe.c (last_set_mode): New variable.
25741 (grub_vbe_set_video_mode): Set 'last_set_mode'.
25742 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
25743 (grub_video_vbe_setup): Don't check for reserved flag.
25744
0ad46fd7 257452009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
25746
25747 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
25748 the `find' command.
25749
c179ebe4
VS
257502009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
25751
25752 UUID support for HFS.
25753
25754 * fs/hfs.c (grub_hfs_uuid): New function.
25755 (grub_hfs_fs): New value .uuid.
25756 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
25757
0ad46fd7 257582009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
25759
25760 Fix a segfault with parsing unknown long options.
25761
25762 * util/grub-mkrelpath.c (options): Zero terminate it.
25763
c4a3e41a
CPE
257642009-12-13 Carles Pina i Estany <carles@pina.cat>
25765
25766 * include/grub/misc.h (grub_puts): New declaration.
25767 (grub_puts_): Likewise.
a22008a6 25768 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
25769 (grub_puts_): Likewise.
25770
2e8a7602
RM
257712009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25772
25773 * util/grub-probe.c (probe): Improve error message.
25774
b50b77b9
RM
257752009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25776
25777 * loader/i386/multiboot_elfxx.c
25778 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
25779 initialization.
25780
257812009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25782
25783 Relocator framework
25784
25785 * loader/i386/xnu_helper.S: Removed. All users updated.
25786 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
25787 (relocator_mod_SOURCES): New variable.
25788 (relocator_mod_CFLAGS): Likewise.
25789 (relocator_mod_LDFLAGS): Likewise.
25790 (relocator_mod_ASFLAGS): Likewise.
25791 * conf/x86_64.rmk: Likewise.
25792 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
25793 (grub_multiboot_payload_entry_offset): Likewise.
25794 (grub_multiboot_forward_relocator): Likewise.
25795 (grub_multiboot_forward_relocator_end): Likewise.
25796 (grub_multiboot_backward_relocator): Likewise.
25797 (grub_multiboot_backward_relocator_end): Likewise.
25798 (grub_multiboot_payload_eip): New variable.
25799 (grub_multiboot_payload_orig): Likewise.
25800 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
25801 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
25802 * include/grub/i386/memory.h
25803 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
25804 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
25805 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
25806 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
25807 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
25808 * include/grub/i386/relocator.h: New file.
25809 * include/grub/x86_64/relocator.h: Likewise.
25810 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
25811 (XNU_RELOCATOR): New macro.
25812 (grub_xnu_launcher_start): Remove.
25813 (grub_xnu_launcher_end): Likewise.
25814 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
25815 (grub_xnu_heap_real_start): Remove.
25816 (grub_xnu_heap_start): Change to void *. All users updated.
25817 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
25818 * lib/i386/relocator.c: New file.
25819 * lib/i386/relocator_asm.S: Likewise.
25820 * lib/i386/relocator_backward.S: Likewise.
25821 * lib/mips/relocator.c: Likewise.
25822 * lib/mips/relocator_asm.S: Likewise.
25823 * lib/relocator.c: Likewise.
25824 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
25825 (entry): Removed.
25826 (playground): Likewise.
25827 (grub_multiboot_payload_orig): New variable.
25828 (grub_multiboot_payload_dest): Likewise.
25829 (grub_multiboot_payload_size): Likewise.
25830 (grub_multiboot_payload_eip): Likewise.
25831 (grub_multiboot_payload_esp): Likewise.
25832 (grub_multiboot_boot): Use grub_relocator32_boot.
25833 (grub_multiboot_unload): Free relocators.
25834 (grub_multiboot): Setup stack. Use relocators.
25835 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25836 (grub_multiboot_load_elfXX): Use relocators.
25837 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25838 (grub_multiboot_payload_size): Likewise.
25839 (grub_multiboot_payload_dest): Likewise.
25840 (grub_multiboot_payload_entry_offset): Likewise.
25841 (grub_multiboot_forward_relocator): Likewise.
25842 (grub_multiboot_backward_relocator): Likewise.
25843 (grub_multiboot_real_boot): Likewise.
25844 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25845 (grub_xnu_entry_point): Likewise.
25846 (grub_xnu_arg1): Likewise.
25847 (grub_xnu_stack): Likewise.
25848 (grub_xnu_launch): Removed.
25849 (grub_xnu_boot_resume): New function.
25850 (grub_xnu_boot): Use relocators.
25851 * loader/i386/xnu_helper.S: Removed.
25852 * loader/xnu.c (grub_xnu_heap_start): New variable.
25853 (grub_xnu_heap_size): Likewise.
25854 (grub_xnu_heap_malloc): Use relocators.
25855 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25856
29eb90c6
VS
258572009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25858
25859 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25860 anything.
25861
31027430
CPE
258622009-12-13 Carles Pina i Estany <carles@pina.cat>
25863
25864 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25865 GRUB_ERR_NONE before calling grub_env_set.
25866
dc0c71d9
RM
258672009-12-12 Robert Millan <rmh@aybabtu.com>
25868
25869 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25870 * genmk.rb (video): New variable.
25871 (CLEANFILES, VIDEOFILES): Add #{video}.
25872 (#{video}): New target rule.
25873 * genvideolist.sh: New file.
25874 * Makefile.in (pkglib_DATA): Add video.lst.
25875 (video.lst): New target rule.
25876 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25877 `video.lst'.
25878 * util/grub.d/30_os-prober.in: Replace `vbe' with
25879 ${GRUB_VIDEO_BACKEND}.
25880
2a4bfcf0
RM
258812009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25882
25883 * THANKS: Add David Miller.
25884
2a3aa4d5
RM
258852009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25886
25887 libpciaccess support.
25888
25889 * Makefile.in (LIBPCIACCESS): New variable.
25890 (enable_grub_emu_pci): Likewise.
25891 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25892 util/pci.c and commands/lspci.c.
25893 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25894 * configure.ac (grub-emu-pci): New option.
25895 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25896 (grub_pci_device_unmap_range): Likewise.
25897 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25898 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25899 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25900 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25901 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25902 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25903 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25904 * include/grub/pciutils.h: New file.
25905 * util/pci.c: Likewise.
25906
0ad46fd7 259072009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
25908
25909 * util/misc.c: Don't include <errno.h> twice.
25910
0ad46fd7 259112009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
25912
25913 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25914 name in an error message.
25915 (grub_biosdisk_rw): Likewise.
25916
2e59983c
VS
259172009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25918
25919 Eliminate NTFS 4Gib barrier.
25920
25921 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25922 (read_run_data): Likewise.
25923 (grub_ntfs_read_run_list): Likewise.
25924 (grub_ntfs_read_block): Likewise.
25925 (grub_ntfs_iterate_dir): Likewise.
25926 (read_mft): Likewise.
25927 (read_data): Likewise.
25928 Use COM_LOG_LEN.
25929 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25930 to avoid 64-bit division
25931 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25932 (grub_ntfs_rlst): Use grub_disk_addr_t.
25933
71ee178a
VS
259342009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25935
25936 Eliminate grub-fstest 4Gib barrier.
25937
25938 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25939 (read_file): Fix error reporting.
25940
2520d4b8
VS
259412009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25942
25943 Eliminate hexdump 4Gib barrier.
25944
25945 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25946 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25947
e1f27065
VS
259482009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25949
25950 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25951 Fixes amarsh bug.
25952
1a0f7f45
RM
259532009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25954
25955 Remove miscellaneous files in distclean target.
25956
25957 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25958
c631d9fb
CW
259592009-12-09 Colin Watson <cjwatson@ubuntu.com>
25960
25961 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25962 if they're already set. This resolves the conflict between my
25963 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25964 fixing the --grub-probe option again.
25965 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25966 change on 2009-10-06, so that we now once again source
25967 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25968
7c7b6106
RM
259692009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25970
25971 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25972 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25973 `util/devicemap.c'.
25974
e3069ec1
CPE
259752009-12-08 Carles Pina i Estany <carles@pina.cat>
25976
25977 * include/grub/misc.h (grub_printf_): New declaration.
25978 * kern/misc.c (grub_printf_): New definition.
25979 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
25980 instead of `grub_printf' and `_'.
25981 * normal/menu_entry.c (store_completion): Likewise.
25982 (run): Likewise.
25983 (grub_menu_entry_run): Likewise.
25984 * normal/menu_text.c (grub_wait_after_message): Likewise.
25985 (notify_booting): Likewise.
25986 (notify_fallback): Likewise.
25987 (notify_execution_failure): Likewise.
25988
d6ceebf1
CW
259892009-12-07 Colin Watson <cjwatson@ubuntu.com>
25990
25991 * configure.ac: Check for vasprintf.
25992 * util/misc.c (asprintf): Move allocation from here ...
25993 (vasprintf): ... to here. New function.
25994 (xasprintf): New function.
25995 * include/grub/util/misc.h (vasprintf, xasprintf): Add
25996 prototypes.
25997 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25998 * util/grub-mkfont.c (write_font): Likewise.
25999 * util/grub-probe.c (probe): Likewise.
26000 * util/hostdisk.c (make_device_name): Likewise.
26001
de6daa8b
DM
260022009-12-06 David S. Miller <davem@sunset.davemloft.net>
26003
26004 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
26005 anything even prefixed with 'cdrom' as a cdrom.
26006
0ad46fd7 260072009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
26008
26009 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
26010 mount points.
26011
98d3dc02
CPE
260122009-12-05 Carles Pina i Estany <carles@pina.cat>
26013
26014 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
26015 grub_gettext_msg_list.
26016 (grub_gettext_gettranslation_from_position): Return const char *
26017 and not char *.
a2c1332b 26018 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
26019 returns from the list if existing there.
26020 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
26021 (grub_gettext_delete_list): Delete the list.
26022 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
26023 lang environment variable is changed.
26024 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
26025
b283f108
VS
260262009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
26027
26028 Rename kernel.mod to kernel.img.
26029
26030 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
26031 (kernel_mod_EXPORTS): Rename to ...
26032 (kernel_img_EXPORTS): ... this.
26033 (kernel_mod_SOURCES): Rename to ...
26034 (kernel_img_SOURCES): ... this.
26035 (kernel_mod_HEADERS): Rename to ...
26036 (kernel_img_HEADERS): ... this. All users updated.
26037 (kernel_mod_CFLAGS): Rename to ...
26038 (kernel_img_CFLAGS): ... this.
26039 (kernel_mod_ASFLAGS): Rename to ...
26040 (kernel_img_ASFLAGS): ... this.
26041 (kernel_mod_LDFLAGS): Rename to ...
26042 (kernel_img_LDFLAGS): ... this.
26043 * conf/x86_64-efi.rmk: Likewise.
26044 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
26045 (read_kernel_image): ... this. All users updated.
26046 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
26047
69055f8a
CPE
260482009-12-05 Carles Pina i Estany <carles@pina.cat>
26049
26050 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
26051 (print_spaces): New function.
26052 (grub_print_ucs4): New function.
26053 (getstringwidth): New function.
26054 (print_message_indented): New function.
26055 (print_message): Gettexttize strings using print_message_indented.
26056 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
26057 width.
26058 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 26059 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
26060 Gettextize.
26061 * normal/menu_entry.c (store_completion): Cleanup the gettextized
26062 string.
26063 (run): Likewise.
26064 (grub_menu_entry_run): Likewise.
26065 * PO/POTFILES: Add normal/menu_entry.c.
26066
f616f51c
VS
260672009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
26068
26069 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
26070
57bbe3be
CPE
260712009-12-05 Carles Pina i Estany <carles@pina.cat>
26072
26073 * util/grub-install.in: Install gettext .mo files.
26074 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
26075
013d67a1
CPE
260762009-12-05 Carles Pina i Estany <carles@pina.cat>
26077
26078 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
26079 grub_dprintf.
26080
fb954db0
RM
260812009-12-05 Robert Millan <rmh.grub@aybabtu.com>
26082
26083 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
26084 non-firmware-dependant one in realmode.S takes precedence.
26085
6b8474f8
RM
260862009-12-04 Robert Millan <rmh.grub@aybabtu.com>
26087
26088 * commands/halt.c: Replace misc arch-specific headers with
26089 `<grub/misc.h>'.
26090 * commands/reboot.c: Likewise.
26091 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
26092 `<grub/misc.h>'.
26093 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
26094 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
26095 (kernel_img_SOURCES): ... to here.
26096
26097 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
26098 * include/grub/i386/pc/init.h: Likewise.
26099 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26100 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26101
26102 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
26103
26104 * include/grub/i386/halt.h: Remove.
26105 * include/grub/i386/reboot.h: Likewise.
26106
26107 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
26108
4b2e6ca2
DM
261092009-12-03 David S. Miller <davem@sunset.davemloft.net>
26110
26111 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
26112 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
26113 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
26114 "progname.h"
26115 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
26116 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26117 (usage): Add missing comma in printf.
26118
5239348f
RM
261192009-12-02 Robert Millan <rmh.grub@aybabtu.com>
26120
26121 Use the same reboot approach on i386 coreboot and qemu as we do on
26122 BIOS.
26123
26124 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
26125 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
26126 * kern/i386/reboot.c: Remove.
26127 * include/grub/i386/reboot.h (grub_reboot): Export function.
26128 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
26129 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
26130 0xf000:0xfff0 instead of 0xffff:0x0000.
26131 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
26132 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
26133
ef34cbd4
RM
261342009-11-30 Robert Millan <rmh.grub@aybabtu.com>
26135
26136 Fix $srcdir != $objdir build.
26137
26138 * Makefile.in (po/%.po): Rewrite as ...
26139 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
26140
dc9837ea
ST
261412009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
26142
26143 Fix GNU/Hurd grub-install crash.
26144 * util/grub-probe.c (probe): Try to access `path' only when it is not
26145 NULL.
26146
2f857f98
VS
261472009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26148
26149 Correct module naming.
26150
26151 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26152 (GRUB_MOD_INIT(efi_uga)): ... to this
26153 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26154 (GRUB_MOD_FINI(efi_uga)): ... to this
26155 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26156 (GRUB_MOD_INIT(efi_gop)): ... to this
26157 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26158 (GRUB_MOD_FINI(efi_gop)): ... to this
26159
c5448046
RM
261602009-11-28 Robert Millan <rmh.grub@aybabtu.com>
26161
26162 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
26163 translatable.
26164 (usage): Translate `arg' strings using gettext().
26165 Thanks to Jordi Mallach for the suggestion.
26166
c85184ad
VS
261672009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26168
26169 GOP support. Based on patch from Bean
26170 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26171
26172 * video/efi_gop.c: New file.
26173 * include/grub/efi/graphics_output.h: Likewise.
26174 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
26175 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26176 variables.
26177 * conf/x86_64-efi.rmk: Likewise.
26178
8a4c48d8
VS
261792009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26180
26181 Rename efi_fb to efi_uga.
26182
26183 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26184 'efi_uga.mod'.
26185 (efi_fb_mod_SOURCES): Rename this ...
26186 (efi_uga_mod_SOURCES): ... to this.
26187 (efi_fb_mod_CFLAGS): Rename this ...
26188 (efi_uga_mod_CFLAGS): ... to this.
26189 (efi_fb_mod_LDFLAGS): Rename this ...
26190 (efi_uga_mod_LDFLAGS): ... to this.
26191 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26192 'efi_uga.mod'.
26193 (efi_fb_mod_SOURCES): Rename this ...
26194 (efi_uga_mod_SOURCES): ... to this.
26195 (efi_fb_mod_CFLAGS): Rename this ...
26196 (efi_uga_mod_CFLAGS): ... to this.
26197 (efi_fb_mod_LDFLAGS): Rename this ...
26198 (efi_uga_mod_LDFLAGS): ... to this.
26199 * video/efi_fb.c: Move this ...
26200 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
26201
fb6c1a7b
RM
262022009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26203
26204 * po/README: New file. Explain our PO file workflow.
26205
3bc7896c
RM
262062009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26207
26208 * po/ChangeLog: Remove. Move relevant entries back to ...
26209 * ChangeLog: ... here.
26210 * po/ca.po: Remove (now handled by TLP).
26211 * po/id.po: Likewise.
26212 * po/zh_CN.po: Likewise.
26213 * Makefile.in (LINGUAS): Initialize in a way that supports
26214 empty set.
26215
9ed4841d
RM
262162009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26217
26218 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
26219 reliing on po/LINGUAS.
26220 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
26221 (po/%.po): ... this.
26222
0ad46fd7 262232009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
26224
26225 * util/i386/efi/grub-mkimage.c: Include "progname.h".
26226 (main): Use `program_name' instead of nonexistent `progname'.
26227
e30dd392
FZ
262282009-11-26 Felix Zielcke <fzielcke@z-51.de>
26229
26230 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26231 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
26232
7656de4f
RM
262332009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26234
26235 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
26236 commit.
26237 * conf/i386-efi.rmk: Likewise.
26238 * conf/i386-ieee1275.rmk: Likewise.
26239 * conf/powerpc-ieee1275.rmk: Likewise.
26240 * conf/sparc64-ieee1275.rmk: Likewise.
26241 * conf/x86_64-efi.rmk: Likewise.
26242
db77c4d4
FZ
262432009-11-26 Felix Zielcke <fzielcke@z-51.de>
26244
26245 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
26246
a755bb04
FZ
262472009-11-26 Felix Zielcke <fzielcke@z-51.de>
26248
26249 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
26250
8a4c07fd
RM
262512009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26252
26253 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
26254 (grub_mkdevicemap_SOURCES): New variable.
26255 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
26256 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
26257 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
26258 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
26259 (grub_mkdevicemap_SOURCES): Remove.
26260 * conf/i386-efi.rmk: Likewise.
26261 * conf/i386-ieee1275.rmk: Likewise.
26262 * conf/i386-pc.rmk: Likewise.
26263 * conf/powerpc-ieee1275.rmk: Likewise.
26264 * conf/sparc64-ieee1275.rmk: Likewise.
26265 * conf/x86_64-efi.rmk: Likewise.
26266 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
26267 (usage): Fix strings to use `program_name'.
26268 (main): Initialize gettext.
26269 * util/grub-editenv.c: Likewise.
26270 * util/grub-emu.c: Likewise.
26271 * util/grub-fstest.c: Likewise.
26272 * util/grub-mkdevicemap.c: Likewise.
26273 * util/grub-mkfont.c: Likewise.
26274 * util/grub-mkrelpath.c: Likewise.
26275 * util/grub-pe2elf.c: Likewise.
26276 * util/grub-probe.c: Likewise.
26277 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26278 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
26279 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26280
26281 * util/misc.c: Include `"progname.h"'.
26282 (progname): Remove variable.
26283 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
26284
6f61ed55
FZ
262852009-11-25 Felix Zielcke <fzielcke@z-51.de>
26286
26287 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
26288 printf and print a newline after the menuentry header line.
26289 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26290
f022876b
FZ
262912009-11-25 Felix Zielcke <fzielcke@z-51.de>
26292
26293 autoconf >= 2.60 support $(localedir).
26294
26295 * INSTALL: Note that autoconf 2.60 is required.
26296 * configure.ac (AC_PREREQ): Bump to 2.60.
26297 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
26298 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26299
6717926e
YB
263002009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
26301
26302 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
26303 aclocal is run.
26304
08806a54
RM
263052009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26306
26307 * normal/main.c (grub_normal_read_line): Fix off-by-one
26308 buffer overflow.
26309
13b33fba
RM
263102009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26311
26312 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
26313 "parser.grub" in grub_command_execute() call.
26314
4a8572e9
CPE
263152009-11-24 Carles Pina i Estany <carles@pina.cat>
26316
26317 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
26318 * conf/i386-efi.rmk: Likewise.
26319 * conf/i386-ieee1275.rmk: Likewise.
26320 * conf/i386-pc.rmk: Likewise.
26321 * conf/powerpc-ieee1275.rmk: Likewise.
26322 * conf/sparc64-ieee1275.rmk: Likewise.
26323 * conf/x86_64-efi.rmk: Likewise.
26324 * gettext/gettex.c: Include <grub/i18n.h>.
26325 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
26326 here ...
26327 * include/grub/i18n.h: ... to here
26328 * include/grub/i18n.h: ... to here.
26329 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 26330 (grub_gettext_dummy): Move above user.
4a8572e9 26331
bee48093
FZ
263322009-11-24 Felix Zielcke <fzielcke@z-51.de>
26333
26334 * util/Makefile.in (install-local): Convert a `for' into a normal
26335 shell expansion.
26336
a031e91c
RM
263372009-11-24 Robert Millan <rmh.grub@aybabtu.com>
26338
26339 * autogen.sh: Add automake call.
26340 * config.guess: Remove.
26341 * config.sub: Likewise.
26342 * install-sh: Likewise.
26343
26bec39d
FZ
263442009-11-24 Felix Zielcke <fzielcke@z-51.de>
26345
26346 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
26347
8e2532fd
FZ
263482009-11-24 Felix Zielcke <fzielcke@z-51.de>
26349
26350 * util/Makefile.in (install-local): Convert a make `$(foreach)'
26351 function to a normal shell `for'.
26352
fefa1b7d
FZ
263532009-11-24 Felix Zielcke <fzielcke@z-51.de>
26354
26355 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26356
4501250b
FZ
263572009-11-24 Felix Zielcke <fzielcke@z-51.de>
26358
26359 * util/grub-mkrelpath.c: New file.
26360 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
26361 (grub_mkrelpath_SOURCES): New variable.
26362 * include/grub/util/misc.h: New function prototype.
26363 * util/misc.c (make_system_path_relative_to_its_root): New function.
26364
26365 * util/grub-mkconfig_lib.in (bindir): New variable.
26366 (grub_mkrelpath): Likewise.
26367 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
26368
26369 * util/probe.c (probe): Make the file path relative to its root.
26370 Change a info message to use the GRUB path. Enable again the
26371 check if we can read the file with GRUB facilities.
26372
26373 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
26374 to its root.
26375
11d9778b
FZ
263762009-11-24 Felix Zielcke <fzielcke@z-51.de>
26377
26378 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
26379 platform.
26380
4465287d
FZ
263812009-11-24 Felix Zielcke <fzielcke@z-51.de>
26382
26383 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
26384 strncmp().
26385
62b47f22
FZ
263862009-11-24 Felix Zielcke <fzielcke@z-51.de>
26387
26388 * util/getroot.c (grub_util_is_dmraid): New function.
26389 (grub_util_get_dev_abstraction): Treat dmraid and multipath
26390 devices as normal ones, not as LVM.
26391
1eafb9b9 263922009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
26393
26394 * conf/common.rmk: Add grub-gettext_lib target and updates
26395 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
26396 LDFLAGS.
26397 * gettext/gettext.c: New file. (Reads mo files).
26398 * include/grub/file.h (grub_file_pread): New prototype.
26399 * include/grub/i18n.h (_): New prototype.
26400 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
26401 prototypes.
26402 * kern/misc.c (grub_gettext_dummy): New function.
26403 * normal/menu_text.c: Include <grub/i18n.h>.
26404 * normal/menu_text.c (print_timeout): Gettexttize string.
26405 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
26406 * po/POTFILES: Add `normal/menu_text.c'.
26407 * po/ca.po: Add new translations.
c3ea6bd4
CPE
26408 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
26409 gettext module and defines locale_dir and lang in grub.cfg.
26410 * NEWS: Add gettext support.
26411
0fdb2568
RM
264122009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26413
26414 * util/hostdisk.c: Include `<grub/i18n.h>'.
26415 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
26416 (make_device_name): Rewrite using asprintf.
26417 (convert_system_partition_to_system_disk): Replace 0 with NULL.
26418 (find_system_device): If a device is not found, generate one just
26419 by reusing the OS path name.
26420 (read_device_map): Make it permissible for device.map not to exist.
26421
f515aa62
RM
264222009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26423
26424 * script/sh/execute.c: Move from here ...
26425 * script/execute.c: ... to here. Update all users.
26426 * script/sh/function.c: Move from here ...
26427 * script/function.c: ... to here. Update all users.
26428 * script/sh/lexer.c: Move from here ...
26429 * script/lexer.c: ... to here. Update all users.
26430 * script/sh/main.c: Move from here ...
26431 * script/main.c: ... to here. Update all users.
26432 * script/sh/parser.y: Move from here ...
26433 * script/parser.y: ... to here. Update all users.
26434 * script/sh/script.c: Move from here ...
26435 * script/script.c: ... to here. Update all users.
26436
f84b481b
RM
264372009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26438
26439 * configure.ac: Detect all `emu' platforms. Define
26440 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
26441 --enable-grub-emu logic. Disable include/grub/machine
26442 symlink on `emu' platforms.
26443
26444 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
26445 * gensymlist.sh.in: Likewise.
26446
26447 * include/grub/i386/coreboot/machine.h: Remove file.
26448 * include/grub/i386/efi/machine.h: Likewise.
26449 * include/grub/i386/ieee1275/machine.h: Likewise.
26450 * include/grub/i386/pc/machine.h: Likewise.
26451 * include/grub/i386/qemu/machine.h: Likewise.
26452 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26453 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26454 * include/grub/x86_64/efi/machine.h: Likewise.
26455
26456 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
26457 * commands/halt.c: Likewise.
26458 * commands/reboot.c: Likewise.
26459 * include/grub/autoefi.h: Likewise.
26460 * include/grub/i386/at_keyboard.h: Likewise.
26461 * include/grub/i386/kernel.h: Likewise.
26462 * include/grub/i386/loader.h: Likewise.
26463 * include/grub/i386/pc/memory.h: Likewise.
26464 * kern/dl.c: Likewise.
26465 * kern/i386/coreboot/init.c: Likewise.
26466 * loader/i386/bsd.c: Likewise.
26467 * loader/i386/linux.c: Likewise.
26468 * loader/multiboot_loader.c: Likewise.
26469 * term/i386/pc/serial.c: Likewise.
26470 * term/usb_keyboard.c: Likewise.
26471
26472 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
26473 `<grub/machine/machine.h>'
26474 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
26475 * util/misc.c: Remove `<grub/machine/machine.h>' and
26476 `<grub/machine/time.h>'.
26477
26478 * Makefile.in (enable_grub_emu): Remove variable.
26479 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
26480
26481 * conf/any-emu.rmk: New file.
26482 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
26483 (grub_emu_init.c): Move from here ...
26484 * conf/any-emu.rmk: ... to here.
26485
26486 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
26487 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
26488 * conf/any-emu.rmk: ... to here.
26489
4efeab03
RM
264902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26491
26492 * include/grub/parser.h (grub_parser_register): Document need
26493 of `name' parameter.
26494 * normal/main.c (grub_normal_read_line): Simplify prompt string.
26495 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
26496 "sh" to "grub".
26497
ea1dd8bf
RM
264982009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26499
26500 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
26501 `$(XGETTEXT)'.
26502 * include/grub/i18n.h (N_): New macro.
26503 * util/mkisofs/mkisofs.h: Likewise.
26504 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
26505 around N_().
26506 (usage): Use gettext() to translate help strings when printing them.
26507
0c140626
RM
265082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26509
26510 Based on patch from Bean
26511 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26512
26513 * video/efi_fb.c: New file.
26514 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
26515 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26516 variables.
26517 * conf/x86_64-efi.rmk: Likewise.
26518
87d58298
RM
265192009-11-22 Robert Millan <rmh.grub@aybabtu.com>
26520
26521 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
26522 * util/i386/pc/grub-setup.c: Likewise.
26523
994cc3a3
ST
265242009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
26525
26526 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
26527 <hurd/fs.h>
26528 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
26529 file_get_storage_info to implement grub_guess_root_device.
26530
26a61d6a
FZ
265312009-11-21 Felix Zielcke <fzielcke@z-51.de>
26532
26533 * Makefile.in (target): Use make's builtin $(shell) function
26534 instead of calling directly $(SHELL) to create the locale directories,
26535 inside the $(foreach) function.
26536
74ff1dd5
FZ
265372009-11-21 Felix Zielcke <fzielcke@z-51.de>
26538
26539 * util/grub-mkrescue.in: Print an error and usage if output option
26540 has not been given.
26541
0b787d0e
FZ
265422009-11-21 Felix Zielcke <fzielcke@z-51.de>
26543
26544 Patch from Loïc Minier <loic.minier@ubuntu.com>.
26545 * util/grub.d/30_os-prober.in: Cope with Linux entries where
26546 root and /boot are on different devices.
26547
1164b270
RM
265482009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26549
26550 Fix build for srcdir != objdir.
26551
26552 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
26553 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
26554 $(srcdir).
26555 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
26556 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
26557 reference for input.
26558
13774a2f
RM
265592009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26560
26561 * util/grub-mkrescue.in: Use source directory direcly (without copiing
26562 or hardlinking it). Remove -J option, Joliet is not compatible with
26563 multiple source directories.
26564
efda854e
RM
265652009-11-21 Carles Pina i Estany <carles@pina.cat>
265662009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26567
26568 * util/grub-mkrescue.in: Recognize `--override-directory' option.
26569 (process_input_dir): New function. Process an arbitrary input
26570 directory.
26571 Misc adjustments to support both "override mode" and system-wide mode.
26572
6c09890c
FZ
265732009-11-20 Felix Zielcke <fzielcke@z-51.de>
26574
26575 * configure.ac (UNIFONT_BDF): Rename to ...
26576 (FONT_SOURCE): ... this. Update all users.
26577
a797824f
FZ
265782009-11-20 Felix Zielcke <fzielcke@z-51.de>
26579
26580 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
26581 to the list of unifont files to look for.
26582
cd4f42b0
RM
265832009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26584
26585 Patch from Joe Auricchio <jauricchio@gmail.com>
26586 * commands/minicmd.c (grub_mini_cmd_clear): New function.
26587 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
26588 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
26589
393c783d
FZ
265902009-11-19 Felix Zielcke <fzielcke@z-51.de>
26591
26592 * Makefile.in (install-local): Add a missing backslash.
26593
b2f1e327
FZ
265942009-11-19 Felix Zielcke <fzielcke@z-51.de>
26595
26596 * include/grub/x86_64/io.h: New file.
26597
f577f7a0
RM
265982009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26599
26600 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
26601 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
26602 Include `"progname.h"'.
26603 (main): Initialize gettext.
26604 * util/i386/pc/grub-setup.c: Gettexttize.
26605 * util/i386/pc/grub-mkimage.c: Likewise.
26606
26607 * Makefile.in (po/*.po): Redefine as ...
26608 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
26609
3bc7896c
RM
26610 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
26611
c37943b6
RM
266122009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26613
26614 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
26615 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
26616 (program_name): Remove.
26617 (main): Initialize gettext support.
6323f705
RM
26618 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
26619 Include `<libintl.h>'.
26620 (_): New macro.
c37943b6
RM
26621
26622 * util/mkisofs/eltorito.c: Gettexttize.
26623 * util/mkisofs/joliet.c: Likewise.
26624 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
26625 * util/mkisofs/multi.c: Likewise.
26626 * util/mkisofs/rock.c: Likewise.
26627 * util/mkisofs/tree.c: Likewise.
26628 * util/mkisofs/write.c: Likewise.
26629
3bc7896c
RM
26630 * po/POTFILES: Update with new files.
26631
5ce77c6e
RM
266322009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26633
26634 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
26635 * util/mkisofs/iso9660.h: Likewise.
26636 * util/mkisofs/joliet.c: Likewise.
26637 * util/mkisofs/mkisofs.c: Likewise.
26638 * util/mkisofs/mkisofs.h: Likewise.
26639 * util/mkisofs/rock.c: Likewise.
26640 * util/mkisofs/tree.c: Likewise.
26641 * util/mkisofs/write.c: Likewise.
26642
26643 * util/mkisofs/eltorito.c (rcsid): Remove.
26644 * util/mkisofs/hash.c: Likewise.
26645 * util/mkisofs/joliet.c: Likewise.
26646 * util/mkisofs/name.c: Likewise.
26647 * util/mkisofs/rock.c: Likewise.
26648 * util/mkisofs/tree.c: Likewise.
26649 * util/mkisofs/write.c: Likewise.
26650
1dabbc77
RM
266512009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26652
26653 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
26654 instead of static allocation.
26655 * util/mkisofs/match.h: Likewise.
26656
633877cb
RM
266572009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26658
3bc7896c
RM
26659 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
26660 and `util/grub.d/10_linux.in'.
633877cb
RM
26661 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
26662 translatable Shell files.
26663
af1c0c85
RM
266642009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26665
26666 * Makefile.in ($(srcdir)/aclocal.m4): New target.
26667
769ae37b
RM
266682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26669
26670 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 26671 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
26672 * util/grub.d/10_kfreebsd.in (bindir): New variable.
26673 Add gettext initialization.
26674 (kfreebsd_entry): Make menuentry output translatable.
26675
266762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26677
26678 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
26679 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
26680 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
26681 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
26682 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 26683 * po/LINGUAS: New file.
769ae37b
RM
26684
266852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26686
26687 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
26688 other things).
26689 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
26690 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
26691 bindtextdomain() calls for gettext initialization.
26692
266932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26694
26695 * gnulib/progname.c: New file (imported from Gnulib).
26696 * gnulib/progname.h: Likewise.
26697 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26698 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
26699 (usage): Replace `progname' with `program_name'.
26700 (main): Use set_program_name() for program name initialization.
26701
267022009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26703
26704 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
26705 from here ...
26706 * Makefile.in (CPPFLAGS): ... to here.
26707
267082009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26709
26710 * aclocal.m4: Move from here ...
26711 * acinclude.m4: ... to here.
26712 * autogen.sh: Add call to `aclocal'.
26713 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
26714
267152009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26716
26717 * Makefile.in (CLEANFILES): Add `po/*.mo'.
26718 (LINGUAS): New variable.
26719 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
26720 (install-local): Install MO files.
26721 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
26722 * include/grub/i18n.h: New file.
3bc7896c
RM
26723 * po/POTFILES: New file.
26724 * po/ca.po: New file.
769ae37b
RM
26725 * util/grub.d/10_linux.in (bindir): New variable.
26726 Add gettext initialization.
26727 (linux_entry): Make menuentry output translatable.
26728 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
26729 (usage): Make --help output translatable.
26730 (main): Initialize gettext.
26731
02c0a6ad
RM
267322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26733
26734 * import_gcry.py: New file (written by Vladimir with minor
26735 adjustments).
26736 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
26737 ciphers.
26738 * INSTALL: Document that Python is required for bootstrap.
26739
267402009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26741
26742 Import ciphers from libgcrypt 1.4.4.
26743
26744 * lib/libgcrypt/cipher/ChangeLog
26745 * lib/libgcrypt/cipher/ac.c
26746 * lib/libgcrypt/cipher/arcfour.c
26747 * lib/libgcrypt/cipher/bithelp.h
26748 * lib/libgcrypt/cipher/blowfish.c
26749 * lib/libgcrypt/cipher/camellia-glue.c
26750 * lib/libgcrypt/cipher/camellia.c
26751 * lib/libgcrypt/cipher/camellia.h
26752 * lib/libgcrypt/cipher/cast5.c
26753 * lib/libgcrypt/cipher/cipher.c
26754 * lib/libgcrypt/cipher/crc.c
26755 * lib/libgcrypt/cipher/des.c
26756 * lib/libgcrypt/cipher/dsa.c
26757 * lib/libgcrypt/cipher/ecc.c
26758 * lib/libgcrypt/cipher/elgamal.c
26759 * lib/libgcrypt/cipher/hash-common.c
26760 * lib/libgcrypt/cipher/hash-common.h
26761 * lib/libgcrypt/cipher/hmac-tests.c
26762 * lib/libgcrypt/cipher/md.c
26763 * lib/libgcrypt/cipher/md4.c
26764 * lib/libgcrypt/cipher/md5.c
26765 * lib/libgcrypt/cipher/primegen.c
26766 * lib/libgcrypt/cipher/pubkey.c
26767 * lib/libgcrypt/cipher/rfc2268.c
26768 * lib/libgcrypt/cipher/rijndael-tables.h
26769 * lib/libgcrypt/cipher/rijndael.c
26770 * lib/libgcrypt/cipher/rmd.h
26771 * lib/libgcrypt/cipher/rmd160.c
26772 * lib/libgcrypt/cipher/rsa.c
26773 * lib/libgcrypt/cipher/seed.c
26774 * lib/libgcrypt/cipher/serpent.c
26775 * lib/libgcrypt/cipher/sha1.c
26776 * lib/libgcrypt/cipher/sha256.c
26777 * lib/libgcrypt/cipher/sha512.c
26778 * lib/libgcrypt/cipher/tiger.c
26779 * lib/libgcrypt/cipher/twofish.c
26780 * lib/libgcrypt/cipher/whirlpool.c
26781
af2f93ac
RM
267822009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26783
26784 Fix build for systems without error().
26785
26786 * gnulib/error.c: New file (imported from Gnulib).
26787 * gnulib/error.h: Likewise.
26788 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
26789 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
26790 (this variable is now used by error()).
26791
73fb3dd5
FZ
267922009-11-16 Felix Zielcke <fzielcke@z-51.de>
26793
814f5e96
FZ
26794 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
26795 instead of relying that char is signed.
73fb3dd5 26796
a691ca33
VS
267972009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
26798
26799 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
26800 blocksize different from specified.
26801 (grub_pxefs_read): Likewise.
26802
2af8f0f4
FZ
268032009-11-16 Felix Zielcke <fzielcke@z-51.de>
26804
26805 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
26806
26807 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
26808 (grub_ata_readwrite): Likewise. Update 2 format strings.
26809 (grub_atapi_read): Likewise.
26810
26811 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
26812 * conf/i386.rmk (pkglib_MODULES): ... to here ...
26813 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
26814 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
26815 (ata_mod_LDFLAGS): Move from here ...
26816 * conf/i386.rmk: ... to here ...
26817 * conf/x86_64-efi.rmk: ... and here.
26818 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
26819 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
26820
83bdecaf
RM
268212009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26822
26823 Relicense multiboot.h, with RMS' blessing.
26824
26825 * include/multiboot.h: Change to X11 license.
26826
fd6fd3d7
RM
268272009-11-15 Robert Millan <rmh.grub@aybabtu.com>
26828
26829 Support --version in grub-mkisofs.
26830
26831 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
26832 (OPTION_VERSION): New macro.
26833 (ld_options): Recognize --version.
26834 (usage): Move `program_name' from here ...
26835 (program_name): ... to here. Add `static' qualifier.
26836 (main): Recognize `OPTION_VERSION'.
26837
16a88c49
FZ
268382009-11-15 Felix Zielcke <fzielcke@z-51.de>
26839
26840 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26841 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26842
a4158476
RM
268432009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26844
26845 Fix help2man generation for mkisofs.
26846
26847 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26848 (usage): Send output to stdout (rather than stderr).
26849
fc2208b0
RM
268502009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26851
26852 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26853 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26854 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26855 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26856 (bin_SCRIPTS): Add `grub-mkfloppy'.
26857 (grub_mkfloppy_SOURCES): New variable.
26858
26859 * util/grub-mkrescue.in: New file.
26860 * util/i386/pc/grub-mkfloppy.in: New file.
26861
26862 * util/i386/coreboot/grub-mkrescue.in: Remove.
26863 * util/i386/pc/grub-mkrescue.in: Remove.
26864
8d0edf4a
RM
268652009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26866
26867 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26868 from here ...
26869 * include/multiboot.h (struct multiboot_header): ... to here. Update
26870 all users.
26871 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26872 from here ...
26873 * include/multiboot.h (struct multiboot_info): ... to here. Update
26874 all users.
26875 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26876 from here ...
26877 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26878 Update all users.
26879 * include/grub/multiboot.h (struct grub_mod_list): Move
26880 from here ...
26881 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26882 Update all users.
26883
a73f5969
RM
268842009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26885
26886 * include/multiboot2.h (multiboot_word): Rename from this ...
26887 (multiboot2_word): ... to this. Update all users.
26888 (multiboot_header): Rename from this ...
26889 (multiboot2_header): ... to this. Update all users.
26890 (multiboot_tag_header): Rename from this ...
26891 (multiboot2_tag_header): ... to this. Update all users.
26892 (multiboot_tag_start): Rename from this ...
26893 (multiboot2_tag_start): ... to this. Update all users.
26894 (multiboot_tag_name): Rename from this ...
26895 (multiboot2_tag_name): ... to this. Update all users.
26896 (multiboot_tag_module): Rename from this ...
26897 (multiboot2_tag_module): ... to this. Update all users.
26898 (multiboot_tag_memory): Rename from this ...
26899 (multiboot2_tag_memory): ... to this. Update all users.
26900 (multiboot_tag_unused): Rename from this ...
26901 (multiboot2_tag_unused): ... to this. Update all users.
26902 (multiboot_tag_end): Rename from this ...
26903 (multiboot2_tag_end): ... to this. Update all users.
26904
1c8927f0
RM
269052009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26906
26907 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26908 this platform we should support Multiboot1 first.
26909
26910 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26911 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26912 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26913
6e1e0d89
RM
269142009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26915
26916 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26917 of write calls (converting them to fwrite() if they aren't already).
26918 (get_torito_desc): Likewise.
26919 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26920
7f2b34d8
RM
269212009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26922
26923 * util/i386/pc/grub-install.in: Move from here ...
26924 * util/grub-install.in: ... to here. Update all users.
26925
c0ef3311
CW
269262009-11-11 Colin Watson <cjwatson@ubuntu.com>
26927
26928 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26929
e1f240ff
RM
269302009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26931
26932 Support for El Torito without floppy emulation.
26933
26934 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26935 (init_boot_catalog): Improve error handling.
26936 (get_torito_desc): Don't use floppy emulation unless requested by
26937 user. Patch boot information table when requested via
26938 `-boot-info-table'.
26939 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26940 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26941 (use_boot_info_table): New variables.
26942 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26943 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26944 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26945 `--eltorito-emul-floppy'.
26946 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26947 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26948 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26949 (use_boot_info_table, get_731): New prototypes.
26950 * util/mkisofs/write.c (get_731): New function.
26951
af7d4de5
FZ
269522009-11-11 Felix Zielcke <fzielcke@z-51.de>
26953
26954 Fix the generation of the man page.
26955
26956 * util/pc/i386/grub-install.in: Source
26957 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26958
2c55dbc0
RM
269592009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26960
26961 Large file support for grub-mkisofs.
26962
26963 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26964 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26965 (session_start): Upgrade type to `uint64_t'. Update all users.
26966 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26967 (struct directory_entry): Upgrade type of `starting_block' and
26968 `size' to `uint64_t'. Update all users.
26969 (struct deferred): Remove unused structure.
26970 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26971 Update all users.
26972 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26973 file is larger than `UINT32_MAX'.
26974 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26975 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26976 return value.
26977 (struct deferred_write): Upgrade type of `extent' and `size' to
26978 `uint64_t'. Update all users.
26979 (last_extent_written): Upgrade type to `uint64_t'. Update all
26980 users.
26981 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
26982 Update all users. Upgrade type of `remain' to `int64_t' and
26983 `use' to `size_t'. Use error() to handle fread() errors.
26984 (write_files): Rely on write_one_file() rather than calling
26985 xfwrite() directly.
26986
6a9cead5
FZ
269872009-11-09 Felix Zielcke <fzielcke@z-51.de>
26988
26989 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
26990
4825d790
RM
269912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26992
26993 * util/mkisofs/fnmatch.c: Remove.
26994 * util/mkisofs/getopt1.c: Likewise.
26995 * util/mkisofs/getopt.c: Likewise.
26996 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
26997 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
26998 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
26999 `gnulib/getopt1.c' and `gnulib/getopt.c'.
27000 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
27001
27002 * configure.ac: Detect `mingw32msvc' host_os.
27003 Check for lstat(), getuid() and getgid().
27004
27005 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
27006 instances of `u_char' with `uint8_t'.
27007
27008 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
27009 [!HAVE_GETUID] (getuid): New function (stub).
27010 [!HAVE_GETGID] (getgid): Likewise.
27011 [!HAVE_LSTAT] (lstat): Likewise.
27012 [!S_IROTH] (S_IROTH): New macro (dummy).
27013 [!S_IRGRP] (S_IRGRP): Likewise.
27014
84b860d8
RM
270152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27016
27017 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
27018 conditional expression).
27019
66e9b712
RM
270202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27021
27022 Import from Gnulib.
27023
27024 * gnulib/fnmatch.c: New file.
27025 * gnulib/fnmatch.h: Likewise.
27026 * gnulib/fnmatch_loop.c: Likewise.
27027 * gnulib/getopt.c: Likewise.
27028 * gnulib/getopt.h: Likewise.
27029 * gnulib/getopt1.c: Likewise.
27030 * gnulib/getopt_int.h: Likewise.
27031 * gnulib/gettext.h: Likewise.
27032
34f4a5b0
RM
270332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27034
27035 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
27036 * normal/handler.c (read_handler_list): Likewise.
27037
ac451143
RM
270382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27039
27040 Misc cleanup.
27041
27042 * kern/command.c (grub_register_command_prio): Use
27043 grub_zalloc() instead of explicitly zeroing data.
27044 * kern/list.c: Include `<grub/mm.h>'.
27045 (grub_named_list_find): Replace `0' with `NULL'.
27046 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
27047 (fs_module_list): Change type to `grub_named_list_t'. Update all
27048 users.
27049 * normal/dyncmd.c (read_command_list): Add space between function
27050 call and parenthesis.
27051 * normal/handler.c (read_handler_list): Likewise.
27052
4089b167
RM
270532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27054
27055 * normal/auth.c (punishment_delay): Moved from here ...
27056 (grub_auth_strcmp): ... to here (inside function).
27057
325f5037
RM
270582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27059
27060 * include/grub/list.h (struct grub_named_list): Remove `const'
27061 qualifier from `name'.
27062 (struct grub_prio_list): Likewise.
27063
7aea29a3
RM
270642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27065
27066 * normal/auth.c: Include `<grub/time.h>'.
27067 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
27068
3fd6f044
RM
270692009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27070
27071 * normal/auth.c (punishment_delay): New variable.
27072 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
27073 (grub_auth_check_authentication): Punish failed login attempts with
27074 an incremental (2^N) delay.
27075
a4cd68e4
RM
270762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27077
27078 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
27079 path with $(srcdir).
27080
7ad12f43
VS
270812009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
27082
27083 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
27084
c1129f03
RM
270852009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27086
27087 * util/i386/coreboot/grub-mkrescue.in: New file.
27088 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
27089 variables.
27090
27091 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
27092 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
27093 * configure.ac: Add header and function checks to satisfy grub-mkisofs
27094 requirements.
27095 * util/mkisofs/defaults.h: New file.
27096 * util/mkisofs/eltorito.c: Likewise.
27097 * util/mkisofs/exclude.h: Likewise.
27098 * util/mkisofs/fnmatch.c: Likewise.
27099 * util/mkisofs/getopt.c: Likewise.
27100 * util/mkisofs/getopt1.c: Likewise.
27101 * util/mkisofs/hash.c: Likewise.
27102 * util/mkisofs/include/fctldefs.h: Likewise.
27103 * util/mkisofs/include/mconfig.h: Likewise.
27104 * util/mkisofs/include/prototyp.h: Likewise.
27105 * util/mkisofs/include/statdefs.h: Likewise.
27106 * util/mkisofs/iso9660.h: Likewise.
27107 * util/mkisofs/joliet.c: Likewise.
27108 * util/mkisofs/match.c: Likewise.
27109 * util/mkisofs/match.h: Likewise.
27110 * util/mkisofs/mkisofs.c: Likewise.
27111 * util/mkisofs/mkisofs.h: Likewise.
27112 * util/mkisofs/multi.c: Likewise.
27113 * util/mkisofs/name.c: Likewise.
27114 * util/mkisofs/rock.c: Likewise.
27115 * util/mkisofs/tree.c: Likewise.
27116 * util/mkisofs/write.c: Likewise.
27117
ec8bb77d
VS
271182009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
27119
27120 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
27121 being insecure.
27122
3716b12c
RM
271232009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27124
27125 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
27126 `grub-mkimage' (and use $0 when possible).
27127
b97b7b91
RM
271282009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27129
27130 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
27131 error message for excessively large memory map.
27132
04114812
RM
271332009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27134
27135 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
27136 executable bit.
27137
e4eb2373
RM
271382009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27139
27140 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
27141 message for coreboot users.
27142
c926e1d5 271432009-11-07 Robert Millan <rmh.grub@aybabtu.com>
27144
27145 Fix build with GNU gold.
27146
27147 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
27148 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
27149 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
27150 link addresses.
27151 * aclocal.m4: Likewise.
27152
86e5b1db 271532009-11-04 Felix Zielcke <fzielcke@z-51.de>
27154
27155 * configure.ac (AC_PREREQ): Bump to 2.59d.
27156 * INSTALL: Make it more clear when Autoconf and Ruby are
27157 needed and when to run `./autogen.sh'.
27158
246cd78f 271592009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
27160
27161 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
27162 OSes.
27163
4f9dfb37 271642009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27165
27166 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
27167
b82bd5e1 271682009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27169
27170 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
27171 giving it to GNU Mach.
27172
ff1a9bca 271732009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27174
27175 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
27176 GNU partition number to get internal GRUB partition number.
27177
61697d9c 271782009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27179
27180 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
27181 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
27182
a50569e1 271832009-11-01 Robert Millan <rmh.grub@aybabtu.com>
27184
27185 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
27186 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
27187 case.
27188
5b153867 271892009-11-01 Felix Zielcke <fzielcke@z-51.de>
27190
27191 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
27192
d9e2cd70 271932009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27194
27195 Fix build problem.
27196
27197 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
27198 `-isystem=$(srcdir)/include'.
27199
805111a4 272002009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27201
27202 * util/i386/pc/grub-install.in: Remove hint that device.map should be
27203 checked (grub-install doesn't currently rely on it).
27204
fa6e945f 272052009-10-29 Robert Millan <rmh.grub@aybabtu.com>
27206
27207 Revert SVN r2660.
27208
27209 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
27210 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27211 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
27212 * conf/i386-ieee1275.rmk: Likewise.
27213 * conf/i386-pc.rmk: Likewise.
27214 * conf/powerpc-ieee1275.rmk: Likewise.
27215 * conf/sparc64-ieee1275.rmk: Likewise.
27216 * conf/x86_64-efi.rmk: Likewise.
27217
cee15086 272182009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27219
27220 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
27221
95b9239e 272222009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27223
27224 * include/grub/misc.h: Stop checking for APPLE_CC.
27225
2ed19dfd 272262009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27227
27228 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
27229 doesn't cause an infinite call loop.
27230
fdcdde19 272312009-10-28 Felix Zielcke <fzielcke@z-51.de>
27232
27233 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
27234 strings.
27235
cefabfe1 272362009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27237
27238 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
27239 variable.
27240 * Makefile.in: Likewise.
27241
ed96ab6d 272422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27243
27244 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
27245
0579b753 272462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27247
27248 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
27249
478df409 272502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27251
27252 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
27253
083d1679 272542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27255
27256 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
27257 from here ...
27258 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
27259
5947ae32 272602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27261
27262 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
27263 in $(MAKEINFO) invocation. This makes it clear in output that
27264 errors are being ignored.
27265
94180ff6 272662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27267
27268 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
27269 from here ...
27270 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27271 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
27272 * conf/i386-ieee1275.rmk: Likewise.
27273 * conf/i386-pc.rmk: Likewise.
27274 * conf/powerpc-ieee1275.rmk: Likewise.
27275 * conf/sparc64-ieee1275.rmk: Likewise.
27276 * conf/x86_64-efi.rmk: Likewise.
27277
9031b03a 272782009-10-26 Colin Watson <cjwatson@ubuntu.com>
27279
27280 * util/grub-editenv.c (main): If only a command is given, use
27281 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
27282 (usage): FILENAME is now optional and has a default.
27283
e4f6809b 272842009-10-26 Colin Watson <cjwatson@ubuntu.com>
27285
27286 Improve grub-mkconfig performance when there are several menu
27287 entries on a single filesystem.
27288
27289 * util/grub.d/10_linux.in (linux_entry): Cache the output of
27290 prepare_grub_to_access_device.
27291 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27292 * util/grub.d/30_os-prober.in: Likewise.
27293
67937d4d 272942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27295
27296 * util/grub.d/10_freebsd.in: Remove.
27297 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
27298 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
27299
ee3756cc 273002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27301
5c35048e 27302 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 27303
4dea1c6f 273042009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27305
27306 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
27307 grub_util_error() call.
27308
042484d7 273092009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27310
27311 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
27312 `reserved_first_sector' member.
27313 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
27314 `reserved_first_sector' to 1.
27315 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
27316 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
27317 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
27318 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
27319 filesystems which begin at first sector.
27320 (options): New option --skip-fs-probe.
27321 (main): Handle --skip-fs-probe and pass it to setup().
27322
d64448a7 273232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27324
27325 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
27326 (memset): Fix function prototype.
27327
508d42ec 273282009-10-25 Robert Millan <rmh.grub@aybabtu.com>
273292009-10-25 Vasily Averin <vvs@parallels.com>
27330
27331 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
27332 `dirent.direntlen == 0'.
27333
b240e30c 273342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27335
27336 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
27337 `cpio'.
27338 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
27339
346e7fbe 273402009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27341
27342 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
27343 `__trampoline_setup' and `__ucmpdi2'.
27344 * include/grub/powerpc/libgcc.h: Only export symbols for functions
27345 that libgcc provides.
27346
cdb308b0 273472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27348
27349 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
27350 * include/grub/sparc64/libgcc.h (memset): Likewise.
27351 * include/grub/misc.h (memset, memcmp): New function prototypes.
27352
fb26abc2 273532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27354
27355 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
27356 `cpio'.
27357 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
27358
f6693890 273592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27360
27361 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
27362 * docs/grub.cfg: Compensate for recent change in multiboot
27363 loader (since 2009-08-14 it won't pass filename to payload).
27364 * util/grub.d/10_hurd.in: Likewise.
27365
0933cdc0 273662009-10-21 Felix Zielcke <fzielcke@z-51.de>
27367
27368 * config.guess: Update to latest version from config git
27369 repository.
27370 * config.sub: Likewise.
27371
3b2fe8c2 273722009-10-20 Robert Millan <rmh.grub@aybabtu.com>
27373
27374 Fix build on sparc64.
27375
27376 * configure.ac: Perform checks for libgcc symbols before
27377 adding `-nostdlib' to LDFLAGS.
27378
46695a62 273792009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27380
27381 Let user specify OpenBSD root device.
27382
27383 * loader/i386/bsd.c (openbsd_root): New variable.
27384 (openbsd_opts): New option 'root'.
27385 (OPENBSD_ROOT_ARG): New macro.
27386 (grub_openbsd_boot): Use 'openbsd_root'.
27387 (grub_cmd_openbsd): Fill 'openbsd_root'.
27388
d2b6b7fc 273892009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27390
27391 * NEWS: Misc adjustments.
27392
421bd7ac 273932009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27394
27395 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
27396
f1d29d87 273972009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27398
27399 * configure.ac: Bump version to 1.97.
27400
6f3cd880 274012009-10-16 Colin Watson <cjwatson@ubuntu.com>
27402
27403 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
27404 -mno-3dnow on x86 architectures. Some toolchains enable these
27405 features by default, but they rely on registers that aren't enabled
27406 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
27407
035f7122 274082009-10-15 Robert Millan <rmh.grub@aybabtu.com>
27409
27410 Make entry text a bit more readable.
27411
27412 * util/grub.d/10_linux.in: Add `with' before `Linux'.
27413
44998e58 274142009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27415
27416 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
27417
cd2851b3 274182009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27419
27420 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
27421 operations.
27422
c6f3b249 274232009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27424
27425 * configure.ac: Add missing dollar.
27426
6b5886ba 274272009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27428
27429 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
27430
27431 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
27432 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
27433 exports.
27434 * include/grub/sparc64/libgcc.h: Likewise. Use
27435 preprocessor conditionals.
27436
e9d66f6d 274372009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27438
27439 * conf/common.rmk (grub-dumpbios): Remove rule.
27440 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
27441 * util/grub-dumpbios.in: Remove file.
27442
9155bc17 274432009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27444
27445 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
27446 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
27447
27448 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
27449 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
27450 users.
27451
27452 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
27453 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
27454 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
27455 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
27456 users.
27457
bf7f7a18 274582009-10-12 Robert Millan <rmh.grub@aybabtu.com>
27459
27460 * term/tparm.c: Switch to GPLv3.
27461
86564c26 274622009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27463
27464 * include/grub/i386/cpuid.h: Add header protection.
27465
5c936493 274662009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27467
27468 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
27469
27470 * include/grub/i386/cpuid.h: New file.
27471 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
27472 (has_longmode): Rename to ...
27473 (grub_cpuid_has_longmode): ... this. Update all users. Remove
27474 `static' attribute.
27475 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
27476 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
27477 on a CPU that doesn't implement AMD64 instruction set.
27478
186e7cf2 274792009-10-06 Colin Watson <cjwatson@ubuntu.com>
27480
27481 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
27482 that version.texi is rebuilt on version number changes.
27483
83b65c4a 274842009-10-06 Colin Watson <cjwatson@ubuntu.com>
27485
27486 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
27487 Fixes bug #27602.
27488
d244281c 274892009-10-06 Colin Watson <cjwatson@ubuntu.com>
27490
27491 * util/i386/pc/grub-install.in: Source
27492 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
27493 that the --grub-probe option will work.
27494 * util/sparc64/ieee1275/grub-install.in: Likewise.
27495
da25306d 274962009-10-05 Robert Millan <rmh.grub@aybabtu.com>
27497
27498 * configure.ac: Bump version to 1.97~beta4.
27499
e8ee83c0 275002009-10-03 Robert Millan <rmh.grub@aybabtu.com>
27501
27502 Resync grub-mkdevicemap in x86_64-efi.
27503
27504 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
27505 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
27506 `util/devicemap.c'.
27507
50dcabcf 275082009-10-01 Colin Watson <cjwatson@ubuntu.com>
27509
27510 * util/grub-editenv.c (create_envblk_file): Write new block with a
27511 .new suffix and then rename it into place, to ensure atomic
27512 creation.
27513
0e51c3a7 275142009-09-28 Robert Millan <rmh.grub@aybabtu.com>
27515
27516 Do not automatically install headers.
27517
27518 * Makefile.in (include_DATA): Remove. Update all users.
27519
31299a95 275202009-09-26 Robert Millan <rmh.grub@aybabtu.com>
27521
27522 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
27523 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
27524
27525 * util/osdetect.lua: Remove.
27526 * script/lua/lauxlib.c: Likewise.
27527 * script/lua/ldebug.c: Likewise.
27528 * script/lua/grub_main.c: Likewise.
27529 * script/lua/lauxlib.h: Likewise.
27530 * script/lua/ldebug.h: Likewise.
27531 * script/lua/ltablib.c: Likewise.
27532 * script/lua/liolib.c: Likewise.
27533 * script/lua/lstrlib.c: Likewise.
27534 * script/lua/lualib.h: Likewise.
27535 * script/lua/ldo.c: Likewise.
27536 * script/lua/ldump.c: Likewise.
27537 * script/lua/ldo.h: Likewise.
27538 * script/lua/loslib.c: Likewise.
27539 * script/lua/lundump.c: Likewise.
27540 * script/lua/grub_lib.c: Likewise.
27541 * script/lua/ldblib.c: Likewise.
27542 * script/lua/lundump.h: Likewise.
27543 * script/lua/lmem.c: Likewise.
27544 * script/lua/grub_lib.h: Likewise.
27545 * script/lua/lmathlib.c: Likewise.
27546 * script/lua/lstate.c: Likewise.
27547 * script/lua/ltm.c: Likewise.
27548 * script/lua/lvm.c: Likewise.
27549 * script/lua/lmem.h: Likewise.
27550 * script/lua/lstate.h: Likewise.
27551 * script/lua/ltm.h: Likewise.
27552 * script/lua/ltable.c: Likewise.
27553 * script/lua/lvm.h: Likewise.
27554 * script/lua/llex.c: Likewise.
27555 * script/lua/lgc.c: Likewise.
27556 * script/lua/grub_lua.h: Likewise.
27557 * script/lua/loadlib.c: Likewise.
27558 * script/lua/lfunc.c: Likewise.
27559 * script/lua/lopcodes.c: Likewise.
27560 * script/lua/lparser.c: Likewise.
27561 * script/lua/ltable.h: Likewise.
27562 * script/lua/llex.h: Likewise.
27563 * script/lua/lgc.h: Likewise.
27564 * script/lua/lfunc.h: Likewise.
27565 * script/lua/lbaselib.c: Likewise.
27566 * script/lua/lopcodes.h: Likewise.
27567 * script/lua/lparser.h: Likewise.
27568 * script/lua/lzio.c: Likewise.
27569 * script/lua/linit.c: Likewise.
27570 * script/lua/lobject.c: Likewise.
27571 * script/lua/llimits.h: Likewise.
27572 * script/lua/lstring.c: Likewise.
27573 * script/lua/lzio.h: Likewise.
27574 * script/lua/lapi.c: Likewise.
27575 * script/lua/lcode.c: Likewise.
27576 * script/lua/lua.h: Likewise.
27577 * script/lua/lobject.h: Likewise.
27578 * script/lua/lstring.h: Likewise.
27579 * script/lua/lapi.h: Likewise.
27580 * script/lua/lcode.h: Likewise.
27581 * script/lua/luaconf.h: Likewise.
27582
cb8a2c38 275832009-09-26 Colin Watson <cjwatson@ubuntu.com>
27584
27585 * docs/grub.texi (Command-line and menu entry commands): Document
27586 date and echo commands.
27587
6b9b6276 275882009-09-24 Pavel Roskin <proski@gnu.org>
27589
27590 * include/grub/kernel.h (struct grub_module_header): Remove
27591 `grub_module_header_types'. Make `type' unsigned. Make `size'
27592 32-bit on all platforms.
27593 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
27594 8-bit field. Use grub_host_to_target32() for `size'.
27595 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
27596 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
27597 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
27598
4e5a02a7 275992009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27600
27601 Fix "lost keypress" bug in at_keyboard.
27602
27603 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
27604 Checks for readyness of input buffer (without flushing it).
27605 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
27606 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
27607
c6dcedf6 276082009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27609
27610 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
27611 size check within GRUB_MACHINE_PCBIOS section.
27612
74c958b1 276132009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27614
27615 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
27616 return value.
27617 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
27618 KEYBOARD_ISREADY check.
27619 (grub_at_keyboard_checkkey): Rename to ...
27620 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
27621 Remove gratuitous cast.
27622
ff420223 276232009-09-23 Colin Watson <cjwatson@ubuntu.com>
27624
27625 * configure.ac: Call AC_PROG_MKDIR_P.
27626 * Makefile.in (docs/stamp-vti): Create docs directory. Create
27627 version.texi in $(builddir) rather than $(srcdir).
27628 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
27629 to makeinfo's @include search path.
27630
d96875df 276312009-09-23 Felix Zielcke <fzielcke@z-51.de>
27632
27633 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
27634
9b3f8365 276352009-09-23 Felix Zielcke <fzielcke@z-51.de>
27636
27637 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
27638 for `*.dpkg-new'.
27639
c44c90db 276402009-09-21 Colin Watson <cjwatson@ubuntu.com>
27641
27642 Build info documentation. Some code borrowed from Automake.
27643
27644 * configure.ac: Check for makeinfo.
27645 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
27646 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
27647 docs/version.texi.
27648 (MOSTLYCLEANFILES): Add vti.tmp.
27649 (docs/version.texi, docs/stamp-vti): Update automatically.
27650 (docs/grub.info): Build info documentation. Use --force and ignore
27651 errors for now.
27652 (all-local): Add $(INFOS).
27653 (install-local): Install info files.
27654 (uninstall): Uninstall info files.
27655 * docs/version.texi: Remove from revision control. This file is
27656 automatically generated on build now.
27657 * gendistlist.sh: Add `*.info'.
27658
e0b37bb5 276592009-09-21 Felix Zielcke <fzielcke@z-51.de>
27660
27661 * kern/term.c: Fix indentation.
27662
5a78865b 276632009-09-21 Felix Zielcke <fzielcke@z-51.de>
27664
27665 * util/hostdisk.c: Fix a comment.
27666
dace7e8a 276672009-09-20 Robert Millan <rmh.grub@aybabtu.com>
27668
27669 Fix regression introduced in r2539.
27670
27671 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
27672 to 0xA1.
27673
a83d079b 276742009-09-19 Colin Watson <cjwatson@ubuntu.com>
27675
27676 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 27677 os-prober. Under normal operation, it does not print anything to
27678 stderr; if it does, we need to debug it, and throwing away stderr
27679 makes that excessively difficult.
a83d079b 27680
be94a509 276812009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
27682
27683 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
27684
63f745e8 276852009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27686
27687 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
27688 AC_LANG_PROGRAM from autoconf.
27689 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
27690 prototypes (fixes warning).
27691
27692 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
27693 `--disable-werror' was used.
27694
bbb2a70f 276952009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27696
27697 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
27698 uninitialized `lastaddr'.
27699
77c24f1d 277002009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
27701
0f0b8c87 27702 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 27703
07197f23 277042009-09-14 Colin Watson <cjwatson@ubuntu.com>
27705
27706 * commands/test.c (get_fileinfo): Return immediately if
27707 grub_fs_probe fails.
27708
dabf1798 277092009-09-14 José Martínez <xosemp@gmail.com>
27710
27711 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
27712
d52109a7 277132009-09-14 Colin Watson <cjwatson@ubuntu.com>
27714
27715 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
27716 output.
27717
56532179 277182009-09-13 Robert Millan <rmh.grub@aybabtu.com>
27719
27720 * configure.ac: Remove --enable-grub-pe2elf. Only build
27721 grub-pe2elf when needed by the build system itself.
27722 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
27723
8ef070f5 277242009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27725
27726 * configure.ac: Bump version to 1.97~beta3.
27727 * docs/version.texi: Likewise.
27728
61229557 277292009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27730
27731 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
27732 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
27733 from here ...
27734 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
27735 (grub_linux_setup_video): ... to here (with some adjustments).
27736
5c9f8d84 277372009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27738
27739 Fix memory corruption issue (spotted by Colin Watson).
27740
27741 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
27742 causing returned size to be stored in an incorrect memory location.
27743 Fix use of uninitialized value when storing the returned size.
27744
e8f5d6e9 277452009-09-12 Yves Blusseau <blusseau@zetam.org>
27746
27747 Change clean rules to properly remove files
27748
27749 * genmk.rb: add new clean rules
27750 * Makefile.in (clean): add the new targets
27751 (mostlyclean): likewise
27752
cda2a409 277532009-09-11 Colin Watson <cjwatson@ubuntu.com>
27754
27755 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
27756 to grub_uint64_t.
27757 * fs/ntfs.c (init_file): Understand 64-bit sizes for
27758 non-resident files.
27759
86695375 277602009-09-11 Colin Watson <cjwatson@ubuntu.com>
27761
27762 * configure.ac: Don't look for help2man when cross-compiling. Fixes
27763 part of bug #27349.
27764
8aa1541a 277652009-09-10 Felix Zielcke <fzielcke@z-51.de>
27766
27767 * util/grub-mkconfig.in: Make the created config mode 400 and
27768 print a warning if it fails.
27769
48d9bb0a 277702009-09-10 Robert Millan <rmh.grub@aybabtu.com>
27771
27772 * util/grub.d/40_custom.in: Ask user to type custom entries below
27773 comment, rather than below 'exec tail' line.
27774
3b0521be 277752009-09-10 Colin Watson <cjwatson@ubuntu.com>
27776
27777 * util/grub.d/40_custom.in: Make sure that the explanatory text is
27778 visible in grub.cfg.
27779
50051d55 277802009-09-10 Colin Watson <cjwatson@ubuntu.com>
27781
27782 * util/grub.d/40_custom.in: Make it a little clearer how to use this
27783 file.
27784
c0d34387 277852009-09-10 Felix Zielcke <fzielcke@z-51.de>
27786
27787 * docs/grub.cfg: Add an example menu entry for memtest86+.
27788
80a608f3 277892009-09-09 Felix Zielcke <fzielcke@z-51.de>
27790
a2094832 27791 * config.guess: Update to latest version from config git.
80a608f3 27792 * config.sub: Likewise.
27793
99423078 277942009-09-08 Colin Watson <cjwatson@ubuntu.com>
27795
27796 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
27797 unknown-command case. Fixes bug #27320.
27798
44454e4c 277992009-09-08 Felix Zielcke <fzielcke@z-51.de>
27800
27801 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
27802 `help' if the command exists.
27803
e30d87ad 278042009-09-06 Robert Millan <rmh.grub@aybabtu.com>
27805
27806 * INSTALL: Require GCC 4.1.3 or later.
27807
9a86f1ec 278082009-09-06 Yves Blusseau <blusseau@zetam.org>
27809
27810 * Makefile.in (RMKFILES): add i386-qemu.rmk
27811 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
27812 $(srcdir)/stamp-h.in
27813
7f26d466 278142009-09-05 Robert Millan <rmh.grub@aybabtu.com>
27815
27816 * util/grub-probe.c (probe): Comment out buggy codepath, which
27817 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
27818 should be re-enabled after 1.97.
27819
3a613259 278202009-09-05 Felix Zielcke <fzielcke@z-51.de>
27821
27822 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
27823 find searches for.
27824
197f76c7 278252009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
27826
27827 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
27828 unnecessary calls to grub_error.
27829
70ba68ce 278302009-09-04 Colin Watson <cjwatson@ubuntu.com>
27831
27832 * NEWS: Mention `keystatus' and Unicode fonts.
27833
4ff0d7a4 278342009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27835
27836 * configure.ac: Bump version to 1.97~beta2.
27837 * docs/version.texi: Likewise.
27838
77c55a87 278392009-09-03 Colin Watson <cjwatson@ubuntu.com>
27840
27841 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27842 containing unwind information in some cases where it previously did
27843 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27844 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27845 discussion.
27846
f79572cd 278472009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27848
27849 Embedding loadenv module into grub-emu
27850
27851 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27852 commands/loadenv.c
27853 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27854 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27855 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27856 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27857 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27858 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27859
93a81088 278602009-09-03 Magnus Granberg <zorry@ume.nu>
27861
27862 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27863 include -fPIE in the default specs.
27864 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27865 to TARGET_CFLAGS.
27866
160034b2 278672009-09-03 Felix Zielcke <fzielcke@z-51.de>
27868
27869 * INSTALL: Note that GNU Bison 2.3 or later is required.
27870
087c07c4 278712009-09-03 Colin Watson <cjwatson@ubuntu.com>
27872
27873 * kern/i386/pc/startup.S: Fix typo.
27874
cbf978c0 278752009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27876
27877 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27878 according to GCS.
27879
278802009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 27881
27882 * docs/grub.texi (Naming convention): Describe one-based partition
27883 numbering.
27884 (Device syntax): Likewise.
27885 (File name syntax): Likewise.
27886 (Block list syntax): Likewise.
27887 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27888 menu.lst.
27889 (File name syntax): Likewise.
27890 (Command-line and menu entry commands): Document acpi, blocklist,
27891 crc, export, insmod, keystatus, ls, set, and unset commands.
27892
f3e8cdfd 278932009-09-02 Colin Watson <cjwatson@ubuntu.com>
27894
27895 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27896 to avoid implying that only one of --shift, --ctrl, or --alt may be
27897 used.
27898
c0bc232b 278992009-09-02 Colin Watson <cjwatson@ubuntu.com>
27900
27901 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27902 rather than comparing against S_IFREG, which will almost never work.
27903
aa0f752d 279042009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27905
27906 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27907 (write_blocklists): Likewise.
27908
ecb3166a 279092009-09-01 Colin Watson <cjwatson@ubuntu.com>
27910
27911 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27912 argument to grub_printf.
27913
c403a125 279142009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 27915
27916 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 27917 non GNU test.
31aba781 27918
b5e7312c 279192009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27920
27921 * kern/file.c (grub_file_read): Spelling fix
27922
fe00f472 279232009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27924
27925 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27926 loading of headers in some cases.
27927
cc55302e 279282009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27929
27930 * configure.ac: Bump version to 1.97~beta1.
27931 * docs/version.texi: Likewise.
27932
5c90cdd2 279332009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 27934
27935 * include/grub/i386/xnu.h: Add license header.
27936 include grub/err.h explicitly.
27937
c90edae4 279382009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27939
27940 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27941 to `ufs' in the vfs.root.mountfrom kernel parameter.
27942
d8888b5c 279432009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27944
27945 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27946
27947 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27948 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27949
27950 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27951 `ARRAY_SIZE' macro.
27952
6f07b921 279532009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27954
27955 * kern/file.c (grub_file_read): Check offset.
27956 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27957 * fs/jfs.c (grub_jfs_read_file): Likewise.
27958 * fs/ntfs.c (grub_ntfs_read): Likewise.
27959 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27960 * fs/minix.c (grub_minix_read_file): Correct offset check.
27961 * fs/ufs.c (grub_ufs_read_file): Likewise.
27962
b4f34077 279632009-08-28 Colin Watson <cjwatson@ubuntu.com>
27964
27965 * term/i386/pc/console.c (bios_data_area): Cast
27966 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27967
e7c69859 279682009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27969
27970 1-bit optimised blitters.
27971
27972 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27973 prototype.
27974 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27975 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27976 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27977 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27978 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27979 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27980 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
27981 function.
27982 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27983 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27984 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27985 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27986 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27987 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27988 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
27989 when possible.
27990 * video/video.c (grub_video_get_blit_format): Return
27991 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
27992
a57da43f 279932009-08-28 Colin Watson <cjwatson@ubuntu.com>
27994
27995 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
27996 the first argument to grub_printf.
27997
4cbe67e5 279982009-08-28 Colin Watson <cjwatson@ubuntu.com>
279992009-08-28 Robert Millan <rmh.grub@aybabtu.com>
28000
28001 Add `getkeystatus' terminal method. Add a new `keystatus' command
28002 to query it.
28003
28004 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
28005 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
28006 modifier key bitmasks.
28007 (struct grub_term_input): Add `getkeystatus' member.
28008 (grub_getkeystatus): Add prototype.
28009 * kern/term.c (grub_getkeystatus): New function.
28010
28011 * include/grub/i386/pc/memory.h
28012 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
28013 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
28014 Data Area layout.
28015 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
28016 (grub_console_term_input): Set `getkeystatus' member.
28017 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
28018 constants.
28019 (grub_usb_keyboard_getreport): Likewise.
28020 (grub_usb_keyboard_checkkey): Likewise.
28021 (grub_usb_keyboard_getkeystatus): New function.
28022 (grub_usb_keyboard_term): Set `getkeystatus' member.
28023
28024 * commands/keystatus.c: New file.
28025 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
28026 (keystatus_mod_SOURCES): New variable.
28027 (keystatus_mod_CFLAGS): Likewise.
28028 (keystatus_mod_LDFLAGS): Likewise.
28029 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
28030 commands/keystatus.c.
28031 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28032 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28033 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28034 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28035 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28036 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 28037
6e2a9085 280382009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
28039
28040 Split befs.mod and afs.mod into *_be.mod and *.mod
28041
28042 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
28043 (grub_fstest_SOURCES): Likewise.
28044 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
28045 (afs_be_mod_SOURCES): New variable.
28046 (afs_be_mod_CFLAGS): Likewise.
28047 (afs_be_mod_LDFLAGS): Likewise.
28048 (befs_be_mod_SOURCES): Likewise.
28049 (befs_be_mod_CFLAGS): Likewise.
28050 (befs_be_mod_LDFLAGS): Likewise.
28051 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
28052 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28053 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28054 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28055 (grub_emu_SOURCES): Likewise.
28056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28057 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28058 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28059 * fs/afs_be.c: New file.
28060 * fs/befs_be.c: New file.
28061 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
28062 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
28063 (U16): Replaced with ...
28064 (grub_afs_to_cpu16): ...this. All users updated.
28065 (U32): Replaced with ...
28066 (grub_afs_to_cpu32): ...this. All users updated.
28067 (U64): Replaced with ...
28068 (grub_afs_to_cpu64): ...this. All users updated.
28069 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
28070 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 28071 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 28072 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
28073 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
28074 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
28075 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
28076 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
28077 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
28078 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
28079 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
28080
32a71655 280812009-08-26 Bean <bean123ch@gmail.com>
28082
28083 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
28084 64-bit number.
28085 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
28086 (grub_xfs_inode_block): Change return type to grub_uint64_t.
28087 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
28088
552bf6c5 280892009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28090
28091 NetBSD memory map support.
28092
28093 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
28094 (grub_netbsd_btinfo_mmap_header): New structure.
28095 (grub_netbsd_btinfo_mmap_entry): Likewise.
28096 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
28097
1ae2078c 280982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28099
28100 Enable bsd.mod on coreboot.
28101
28102 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
28103 (bsd_mod_SOURCES): New variable.
28104 (bsd_mod_CFLAGS): Likewise.
28105 (bsd_mod_LDFLAGS): Likewise.
28106 (bsd_mod_ASFLAGS): Likewise.
28107 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
28108 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
28109
beefc598 281102009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28111
28112 Cleanup NetBSD root support.
28113
28114 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
28115 grub_bsd_get_device.
28116 Fix typo.
28117
3b76e68b 281182009-08-25 Felix Zielcke <fzielcke@z-51.de>
28119
28120 * util/grub.d/00_header.in: Move check for the video backend of
28121 gfxterm from here ...
28122 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
28123 a suitable video backend.
28124
aea664ea 281252009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28126
28127 Fix breakage in grub-setup.
28128
28129 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
28130 "msdos_partition_map".
28131
ff747d50 281322009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28133
28134 Fix breakage in normal/auth.c.
28135
28136 * normal/auth.c (grub_iswordseparator): New function.
28137
e7e1f93f 281382009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28139
28140 Authentication support.
28141
28142 * commands/password.c: New file.
28143 * conf/common.rmk (pkglib_MODULES): Add password.mod.
28144 (password_mod_SOURCES): New variable.
28145 (password_mod_CFLAGS): Likewise.
28146 (password_mod_LDFLAGS): Likewise.
28147 (normal_mod_SOURCES): Add normal/auth.c.
28148 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
28149 normal/auth.c.
28150 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28151 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28152 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28154 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28155 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28156 * include/grub/auth.h: New file.
28157 * include/grub/err.h (grub_err_t): New enum value
28158 GRUB_ERR_ACCESS_DENIED.
28159 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
28160 'users'.
28161 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
28162 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
28163 users updated.
28164 * normal/auth.c: New file.
28165 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
28166 (grub_cmdline_run): Don't allow to go to command line without
28167 authentication.
28168 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
28169 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
28170 menuentry without superuser rights.
28171 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
28172 user isn't a superuser.
28173
70f1161d 281742009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28175
28176 Save space by inlining misc.c functions.
28177
28178 * kern/misc.c (grub_iswordseparator): Made static.
28179 * kern/misc.c (grub_strcat): Moved from here ...
28180 * include/grub/misc.h (grub_strcat): ... here. Inlined.
28181 * kern/misc.c (grub_strncat): Moved from here ...
28182 * include/grub/misc.h (grub_strncat): ... here. Inlined.
28183 * kern/misc.c (grub_strcasecmp): Moved from here ...
28184 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
28185 * kern/misc.c (grub_strncasecmp): Moved from here ...
28186 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
28187 * kern/misc.c (grub_isalpha): Moved from here ...
28188 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
28189 * kern/misc.c (grub_isdigit): Moved from here ...
28190 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
28191 * kern/misc.c (grub_isgraph): Moved from here ...
28192 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
28193 * kern/misc.c (grub_tolower): Moved from here ...
28194 * include/grub/misc.h (grub_tolower): ... here. Inlined.
28195
48e40bff 281962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28197
28198 * script/sh/function.c (grub_script_function_find): Cut error message
28199 not to flood terminal.
28200 * script/sh/lexer.c (grub_script_yylex): Remove command line length
28201 limit.
28202 * script/sh/script.c (grub_script_arg_add): Duplicate string.
28203
c385bfc3 282042009-08-24 Colin Watson <cjwatson@ubuntu.com>
28205
28206 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
28207 `report' grub_uint8_t *.
28208 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
28209 Use a 50-millisecond timeout rather than just repeating
28210 grub_usb_keyboard_getreport 50 times.
28211 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
28212
2d21e3e8 282132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28214
28215 Rename *_partition_map to part_*
28216
28217 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
28218 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
28219 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
28220 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
28221 All users updated.
28222 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
28223 All users updated.
28224 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
28225 * util/grub-probe.c (probe_partmap): Don't transform partition name
28226 to get module name.
28227
dd103c4e 282282009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28229
28230 Fix OpenBSD and NetBSD support.
28231
28232 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
28233 memory address conflict.
28234 (OPENBSD_MMAP_ACPI): New definition.
28235 (OPENBSD_MMAP_NVS): Likewise.
28236 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
28237 and OPENBSD_MMAP_NVS.
28238 Add memory map terminator
28239 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 28240 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 28241
16c84d74 282422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28243
28244 Let user specify NetBSD root device.
28245
28246 * loader/i386/bsd.c (netbsd_root): New variable.
28247 (netbsd_opts): New option 'root'.
28248 (NETBSD_ROOT_ARG): New macro.
28249 (grub_netbsd_boot): Use 'netbsd_root'.
28250 (grub_bsd_unload): Free 'netbsd_root'.
28251 (grub_cmd_netbsd): Fill 'netbsd_root'.
28252
adb29902 282532009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28254
28255 Support for 64-bit NetBSD.
28256
28257 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
28258 point when booting non-FreeBSD.
28259
f5ae9f74 282602009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28261
28262 Support --no-smp and --no-acpi for NetBSD.
28263
28264 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
28265 (NETBSD_AB_NOACPI): Likewise.
28266 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
28267 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
28268
de74f136 282692009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28270
28271 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
28272 errors.
28273 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
28274 errors. Call grub_error when needed.
28275
e9a925da 282762009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28277
28278 * commands/search.c (search_fs): Try searching without autoload first.
28279 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
28280 filesystem module explicitly for faster booting.
28281
5174302b 282822009-08-23 Colin Watson <cjwatson@ubuntu.com>
28283
28284 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
28285
c8c80635 282862009-08-23 Colin Watson <cjwatson@ubuntu.com>
28287
28288 * util/grub.d/30_os-prober.in: Disable os-prober if
28289 `GRUB_DISABLE_OS_PROBER' was set to true.
28290
71acf5e5 282912009-08-23 Robert Millan <rmh.grub@aybabtu.com>
28292
28293 * partmap/pc.c: Rename to ...
28294 * partmap/msdos.c: ... this. Update all users.
28295 (grub_pc_partition_map): Rename to ...
28296 (grub_msdos_partition_map): ... this. Update all users.
28297
28298 * parttool/pcpart.c: Rename to ...
28299 * parttool/msdospart.c: ... this. Update all users.
28300
28301 * include/grub/pc_partition.h: Rename to ...
28302 * include/grub/msdos_partition.h: ... this. Update all users.
28303 (grub_pc_partition_bsd_entry): Rename to ...
28304 (grub_msdos_partition_bsd_entry): ... this. Update all users.
28305 (grub_pc_partition_disk_label): Rename to ...
28306 (grub_msdos_partition_disk_label): ... this. Update all users.
28307 (grub_pc_partition_entry): Rename to ...
28308 (grub_msdos_partition_entry): ... this. Update all users.
28309 (grub_pc_partition_mbr): Rename to ...
28310 (grub_msdos_partition_mbr): ... this. Update all users.
28311 (grub_pc_partition): Rename to ...
28312 (grub_msdos_partition): ... this. Update all users.
28313 (grub_pc_partition_is_empty): Rename to ...
28314 (grub_msdos_partition_is_empty): ... this. Update all users.
28315 (grub_pc_partition_is_extended): Rename to ...
28316 (grub_msdos_partition_is_extended): ... this. Update all users.
28317 (grub_pc_partition_is_bsd): Rename to ...
28318 (grub_msdos_partition_is_bsd): ... this. Update all users.
28319
28320 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
28321 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
28322 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
28323 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
28324 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
28325 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
28326 (gpt_mod_LDFLAGS): Rename to ...
28327 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
28328 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
28329 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
28330 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
28331 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
28332 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
28333 (part_gpt_mod_LDFLAGS): ... this.
28334 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
28335 `pcpart.mod' to `msdospart.mod'.
28336 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
28337 to ...
28338 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
28339 (msdospart_mod_LDFLAGS): ... this.
28340
c11fded5 283412009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28342
28343 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
28344 (openbsd_opts): Likewise.
28345 (netbsd_opts): Likewise.
28346 (freebsd_flags): Added 0 terminator.
28347 (openbsd_flags): Likewise.
28348 (netbsd_flags): Likewise.
28349 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
28350 (grub_cmd_freebsd): Transformed into extended command.
28351 (grub_cmd_openbsd): Likewise.
28352 (grub_cmd_netbsd): Likewise.
28353 (cmd_freebsd): Changed type to grub_extcmd_t.
28354 (cmd_openbsd): Likewise.
28355 (cmd_netbsd): Likewise.
28356 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
28357 grub_cmd_openbsd as extended commands.
28358 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
28359 cmd_netbsd and cmd_openbsd
28360
11d1c769 283612009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
28362
28363 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
28364
7a9094e5 283652009-08-21 Pavel Roskin <proski@gnu.org>
28366
5496c37e 28367 * Makefile.in (install-local): When checking if a file is in the
28368 build directory, use "test -e" to detect symlinks.
28369
7a9094e5 28370 * Makefile.in (install-local): Remove all files in
28371 $(DESTDIR)$(pkglibdir) before installing new files there.
28372
e53cea11 283732009-08-18 Felix Zielcke <fzielcke@z-51.de>
28374
28375 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
28376 grub-mkelfimage.
28377
9aced544 283782009-08-18 Felix Zielcke <fzielcke@z-51.de>
28379
28380 * util/grub-mkconfig.in: Don't use gfxterm by default if not
28381 explicitly specified by the user.
28382
b7da6bab 283832009-08-18 Pavel Roskin <proski@gnu.org>
28384
28385 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
28386 grub_uint8_t pointer for data.
28387 * include/grub/fbutil.h (struct grub_video_fbblit_info):
28388 Likewise.
28389 * video/fb/fbutil.c: Remove unnecessary casts.
28390
19f1b335 283912009-08-17 Michal Suchanek <hramrach@centrum.cz>
28392
28393 VBE cleanup.
28394
28395 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
28396 (grub_vbe_set_video_mode): Save active mode info
28397 only after setting the mode.
28398 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
28399 second argument.
28400
2f467aa9 284012009-08-17 Michal Suchanek <hramrach@centrum.cz>
28402
28403 Rename variables for clarity.
28404
28405 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
28406 (active_vbe_mode_info): ... this. All users updated.
28407 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
28408 All users updated.
28409 (initial_mode): Rename to ...
28410 (initial_vbe_mode): ... this. All users updated.
28411 (mode_in_use): Rename to ..
28412 (vbe_mode_in_use): ... this. All users updated.
28413 (mode_list): Rename to ..
28414 (vbe_mode_list): ... this. All users updated.
28415 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
28416 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
28417 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
28418 'mode_list_size' to 'vbe_mode_list_size'.
28419 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
28420 'best_mode_info' to 'best_vbe_mode_info' and
28421 'best_mode' to 'best_vbe_mode'
28422
6025fcd7 284232009-08-17 Michal Suchanek <hramrach@centrum.cz>
28424
28425 Remove duplicate grub_video_fb_get_video_ptr.
28426
28427 * include/grub/fbutil.h (get_data_ptr): Rename to ...
28428 (grub_video_fb_get_video_ptr): ... this.
28429 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
28430 * video/fb/fbutil.c: Add comment about addressing.
28431 (get_data_ptr): Rename to ...
28432 (grub_video_fb_get_video_ptr): ... this. All users updated.
28433 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
28434
cc8c6faf 284352009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28436
28437 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
28438 grub_dprintf() that was just added.
28439
08aa61f0 284402009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28441
28442 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
28443 (DEFAULT_VIDEO_MODE): Remove macros.
28444 (grub_linux_boot): Remove assumption that Linux has FB support,
28445 and use "text" as default video mode.
28446
7cef4f75 284472009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
28448
28449 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
28450 grub_dprintf.
28451 * fs/fat.c (grub_fat_read_data): Likewise.
28452
e1f39873 284532009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28454
28455 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
28456 payload.
28457 (grub_module): Likewise.
28458
c166d79e 284592009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28460
28461 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
28462 mbi->cmdline but free playground.
28463
c60cee8e 284642009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28465
28466 Handle group offset on UFS1.
28467
28468 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
28469 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
28470
c0d8b5d4 284712009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28472
28473 Split ufs.mod into ufs1.mod and ufs2.mod.
28474
28475 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
28476 (grub_fstest_SOURCES): Likewise.
28477 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
28478 (ufs_mod_SOURCES): Remove.
28479 (ufs_mod_CFLAGS): Likewise.
28480 (ufs_mod_LDFLAGS): Likewise.
28481 (ufs1_mod_SOURCES): New variable.
28482 (ufs1_mod_CFLAGS): Likewise.
28483 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 28484 (ufs2_mod_SOURCES): New variable.
28485 (ufs2_mod_CFLAGS): Likewise.
28486 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 28487 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
28488 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28489 Likewise.
28490 (grub_emu_SOURCES): Likewise.
28491 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28492 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28493 (grub_setup_SOURCES): Likewise.
28494 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28495 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
28496 (grub_setup_SOURCES): Likewise.
28497 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28498 Likewise.
28499 * fs/ufs2.c: New file.
28500 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
28501
d3539132 285022009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28503
28504 Framebuffer split.
28505
28506 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
28507 subsystem at the end.
28508 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
28509 (video_fb_mod_SOURCES): New variable.
28510 (video_fb_mod_CFLAGS): Likewise.
28511 (video_fb_mod_LDFLAGS): Likewise.
28512 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
28513 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
28514 * video/i386/pc/vbeblit.c: Moved from here ...
28515 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
28516 * video/i386/pc/vbefill.c: Moved from here ...
28517 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
28518 * video/i386/pc/vbeutil.c: Moved from here ...
28519 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
28520 * include/grub/i386/pc/vbeblit.h: Moved from here ...
28521 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
28522 * include/grub/i386/pc/vbefill.h: Moved from here ...
28523 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
28524 * include/grub/i386/pc/vbeutil.h: Moved from here ...
28525 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
28526 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
28527 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
28528 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
28529 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
28530 (grub_video_adapter): Added 'get_info_and_fini'.
28531 (grub_video_get_info_and_fini): New prototype.
28532 (grub_video_set_mode): make modestring const char *.
28533 * loader/i386/linux.c (grub_linux_setup_video): Use
28534 grub_video_get_info_and_fini.
28535 (grub_linux_boot): Move modesetting just before booting.
28536 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
28537 grub_video_get_info_and_fini.
28538 * video/i386/pc/vbe.c: Moved framebuffer part ...
28539 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
28540 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
28541 grub_video_fbstd_colors and grub_video_fb_set_palette.
28542 (grub_video_vbe_init): Clear 'framebuffer' variable and use
28543 grub_video_fb_init.
28544 (grub_video_vbe_fini): Use grub_video_fb_fini.
28545 (grub_video_vbe_setup): Use framebuffer.render_target instead of
28546 render_target and use grub_video_fb_set_active_render_target and
28547 grub_video_fb_set_palette.
28548 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
28549 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
28550 (grub_video_vbe_adapter): Use framebuffer.
28551 * video/video.c (grub_video_get_info_and_fini): New function.
28552 (grub_video_set_mode): Make modestring const char *.
28553 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
28554 values are already initialised.
28555
d404ee56 285562009-08-14 Pavel Roskin <proski@gnu.org>
28557
28558 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
28559 ABS and APPLE_CC.
28560 * boot/i386/pc/diskboot.S: Likewise.
28561 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
28562 sectors allow compilation on MacOSX.
28563 * conf/i386-pc.rmk: Enable unconditional compilation of
28564 lnxboot.img.
28565
9a10df16 285662009-08-13 Colin Watson <cjwatson@ubuntu.com>
28567
28568 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
28569 * util/grub.d/00_header.in: Enter interruptible sleep if
28570 GRUB_HIDDEN_TIMEOUT is set.
28571
be3c9ca7 285722009-08-13 Yves Blusseau <blusseau@zetam.org>
28573
28574 * include/grub/symbol.h: Add the LOCAL macro.
28575 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
28576 starting with "L_".
28577
1f9e557e 285782009-08-13 Pavel Roskin <proski@gnu.org>
28579
9ca62843 28580 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
28581 any modern compilers we support.
28582
1f9e557e 28583 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
28584 Use local labels starting with "L_" so that Apple assembler
28585 knows they are local.
28586
81623db6 285872009-08-10 Robert Millan <rmh.grub@aybabtu.com>
28588
28589 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
28590 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
28591 (bsd_kernel_types): ... this enum.
28592
28593 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
28594 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
28595 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
28596
28597 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
28598 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
28599 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
28600 messages.
28601
f5d35e7a 286022009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28603
28604 * util/grub-dumpdevtree: Moved from here ...
28605 * util/i386/efi/grub-dumpdevtree: ... to here.
28606 (hexify): New function. Converts a string to its hex version.
28607 Generate hex versions of "efi" and "device-properties" by calling
28608 hexify() on the ASCII strings rather than by hardcoding numbers.
28609
d1e1d527 286102009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28611
28612 * fs/jfs.c: Update copyright year.
28613
1ebbe064 286142009-08-08 Felix Zielcke <fzielcke@z-51.de>
28615
28616 * util/grub.d/00_header.in: Fix a comment.
28617 * util/grub.d/10_linux.in: Likewise.
28618 * util/grub.d/10_windows.in: Likewise.
28619 * util/grub.d/10_hurd.in: Likewise.
28620
a78c8d24 286212009-08-08 Felix Zielcke <fzielcke@z-51.de>
28622
28623 * util/grub-mkconfig.in: Allow the user to specify the used font
28624 with GRUB_FONT.
28625
29a6b9e8 286262009-08-08 Pavel Roskin <proski@gnu.org>
28627
b5f16cc4 28628 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
28629 available, xfs.mod needs it now.
28630
2f5cb827 28631 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
28632 the "g" modifier in sed when the intention is to strip something
28633 once. This fixes comparison of kernels with multiple dashes.
28634
29a6b9e8 28635 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
28636 on it. Add missing space before closing bracket. Fix
28637 misleading formatting.
28638
892a3d98 286392009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28640
28641 * docs/grub.texi: Major overhaul. Remove all sections that are
28642 specific to GRUB Legacy, or mostly composed of Legacy-specific
28643 information.
28644
ed94253f 286452009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28646
28647 * docs/version.texi: New file. Provides version information for
28648 grub.texi.
28649
126d6628 286502009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28651
28652 * docs/grub.texi: Update CVS information to SVN.
28653 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
28654
998b5aa9 286552009-08-07 Felix Zielcke <fzielcke@z-51.de>
28656
28657 * util/grub-mkconfig.in: Remove a wrong `fi'.
28658
818e094a 286592009-08-07 Felix Zielcke <fzielcke@z-51.de>
28660
28661 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
28662 (grub_jfs_uuid): New function.
28663 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
28664
b969c52f 286652009-08-07 Felix Zielcke <fzielcke@z-51.de>
28666
28667 * util/grub-mkconfig_lib.in (font_path): Move the functionality
28668 of it to ...
28669 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
28670 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
28671
7a4894cc 286722009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28673
28674 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
28675 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
28676 Update all users.
28677
28678 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
28679 not just "vmlinu[zx]".
28680 Moved from here ...
28681 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
28682 all users.
28683
28684 * util/grub.d/10_linux.in (find_latest): Moved from here ...
28685 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
28686 all users.
28687
4e2171f8 286882009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28689
28690 * util/grub.d/10_freebsd.in: Use an absolute device path for
28691 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
28692
6dcfcb32 286932009-08-06 Felix Zielcke <fzielcke@z-51.de>
28694
28695 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
28696 handling of multiple abstraction modules.
28697
f56a8756 286982009-08-04 Robert Millan <rmh.grub@aybabtu.com>
28699
28700 Fix a bug resulting in black screen when loading Linux using a
28701 packed video mode.
28702
28703 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
28704 function.
28705
28706 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
28707 (grub_vbe_bios_getset_dac_palette_width): New function.
28708 (grub_vbe_bios_get_dac_palette_width)
28709 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
28710 grub_vbe_bios_getset_dac_palette_width()).
28711
28712 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
28713 check for return status.
28714 (grub_vbe_get_video_mode_info): When getting information for a packed
28715 mode (<= 8 bpp), obtain DAC palette width using
28716 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
28717 {red,green,blue}_mark_size.
28718
222671b2 287192009-08-04 Felix Zielcke <fzielcke@z-51.de>
28720
ecb1a6d9 28721 * commands/search.c (options): Fix help output to match actual code.
222671b2 28722
f84114f5 287232009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
28724
28725 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
28726 of homegrown code.
28727
bd288a20 287282009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 28729
28730 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
28731 on XFS or ReiserFS.
28732
8aab5e25 287332009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28734
28735 Support Apple partition map with sector size different from 512 bytes.
28736
28737 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
28738 (apple_partition_map_iterate): Respect 'aheader.blocksize'
28739 and 'apart.partmap_size'.
28740
6ad6258a 287412009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
287422009-08-01 Robert Millan <rmh.grub@aybabtu.com>
28743
28744 Fix cpuid command.
28745
28746 * commands/i386/cpuid.c (options): New variable.
28747 (grub_cmd_cpuid): Return real error.
28748 (GRUB_MOD_INIT(cpuid)): Declare options.
28749
67459bc6 287502009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
28751
28752 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
28753 valid.
28754
fbc6ab54 287552009-07-31 Bean <bean123ch@gmail.com>
28756
28757 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
28758 log2_inode.
28759 (grub_fshelp_node): Move inode field to the end.
28760 (grub_xfs_data): Remove inode field.
28761 (grub_xfs_inode_block): Calculate inode size using sblock.
28762 (grub_xfs_inode_offset): Likewise.
28763 (grub_xfs_read_inode): Calculate inode size using sblock.
28764 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
28765 (grub_xfs_iterate_dir): Calculate inode size using sblock.
28766 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
28767 to match inode size.
28768 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
28769 not accessible when data is null.
28770 (grub_xfs_open): Likewise.
28771
f45d6cfc 287722009-07-31 Bean <bean123ch@gmail.com>
28773
28774 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
28775 Don't change pv->disk if it's already set.
28776
28777 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
28778 (grub_raid_register): ... here.
28779 (grub_raid_rescan): Removed.
28780
28781 * include/grub/raid.h (grub_raid_rescan): Removed.
28782
28783 * util/grub-fstest.c: Remove include file <grub/raid.h>.
28784 (fstest): Replace grub_raid_rescan with module fini function followed
28785 by init function.
28786
28787 * util/grub-probe.c: Add include file <grub/raid.h>.
28788 (probe_raid_level): New function.
28789 (probe): Detect abstraction by walking the disk device, support two
28790 level of abstraction (LVM on RAID) when detecting partition map.
28791
24443b5a 287922009-07-31 Pavel Roskin <proski@gnu.org>
28793
28794 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
28795 to grub_zalloc(), it was erroneous.
28796 Reported by Bean <bean123ch@gmail.com>
28797
a275d9e7 287982009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
28799
28800 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 28801 embedding zone, not only the first one.
a275d9e7 28802
56c5a47f 288032009-07-29 Joe Auricchio <jauricchio@gmail.com>
28804
28805 * term/gfxterm.c (clear_char): New function.
28806 (grub_virtual_screen_setup): Use clear_char.
28807 (scroll_up): Likewise.
28808 (grub_virtual_screen_cls): Likewise.
28809
67bb323a 288102009-07-29 Felix Zielcke <fzielcke@z-51.de>
28811
28812 * util/deviceiter.c (get_acceleraid_disk_name): New static
28813 function.
28814 (grub_util_iterate_devices): Handle Accelraid devices.
28815 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
28816
388a7c75 288172009-07-28 Robert Millan <rmh.grub@aybabtu.com>
28818
28819 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
28820 separator for the suggested gfxpayload string (';' collides with the
28821 parser and needs escaping).
28822
3bb7abcf 288232009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
28824
28825 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
28826 Clear direction flag before jumping to OS.
28827 (grub_multiboot2_real_boot): Likewise.
28828
2ddd36d7 288292009-07-28 Felix Zielcke <fzielcke@z-51.de>
28830
28831 * util/i386/pc/grub-install: Fix parsing of --disk-module
28832 option.
28833
c521b62b 288342009-07-28 Felix Zielcke <fzielcke@z-51.de>
28835
28836 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28837 when embedding.
28838
880e0a0c 288392009-07-26 Felix Zielcke <fzielcke@z-51.de>
28840
28841 * util/grub-mkconfig.in (package_version): New variable.
28842 Use it do display the version.
28843
2366e356 288442009-07-25 Felix Zielcke <fzielcke@z-51.de>
28845
28846 * kern/file.c (grub_file_open): Revert to previous check with
28847 grub_errno.
28848
7ad8c80e 288492009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28850
28851 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28852 from help line. It's out of sync with code.
28853
72b9658b 288542009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28855
28856 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28857 entries on failed boot.
28858
77435277 288592009-07-25 Felix Zielcke <fzielcke@z-51.de>
28860
28861 * kern/file.c (grub_file_open): Fix an error check.
28862
fcaa8b21 288632009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28864
35d16c74 28865 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28866 partition map couldn't be identified.
fcaa8b21 28867
48904cd1 288682009-07-23 Pavel Roskin <proski@gnu.org>
28869
ef3c317f 28870 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28871 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28872 case of little endian words becomes just an optimization.
28873 Respect const modifier.
ad8ea1f4 28874 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 28875
48904cd1 28876 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28877 to avoid loss of upper bits if align is unsigned and shorter
28878 than addr.
28879
260c9a89 288802009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28881
28882 UUID support for UFS
28883
28884 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28885 (grub_ufs_uuid): New function.
28886 (grub_ufs_fs): add .uuid
28887
f76ce889 288882009-07-21 Pavel Roskin <proski@gnu.org>
28889
28890 * kern/dl.c (grub_dl_check_header): Make static.
28891
6a6cbcaf 288922009-07-21 Felix Zielcke <fzielcke@z-51.de>
28893
28894 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28895 add drivemap for Vista. It breaks Windows 7.
28896
cffcddb2 288972009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28898
28899 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28900 128 bytes
28901
1ef44b80 289022009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28903
28904 Add BFS support
28905
28906 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28907 (grub_fstest_SOURCES): Likewise.
28908 (pkglib_MODULES): Add befs.mod.
28909 (befs_mod_SOURCES): New variable.
28910 (befs_mod_CFLAGS): Likewise.
28911 (befs_mod_LDFLAGS): Likewise.
28912 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28913 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28914 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28915 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28916 (grub_setup_SOURCES): Likewise.
28917 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28918 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28919 (grub_setup_SOURCES): Likewise.
28920 * fs/befs.c: New file.
28921 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28922 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28923 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28924 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28925 (B_KEY_INDEX_ALIGN): New declaration.
28926 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28927 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28928 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28929 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28930 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28931 (grub_afs_mount) [MODE_BFS]: Likewise.
28932 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28933 (grub_afs_fs): Use GRUB_AFS_FSNAME
28934 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28935 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28936 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28937 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28938
4f253044 289392009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28940
28941 * util/getroot.c (find_root_device): Add support for MacOSX.
28942 * util/hostdisk.c: Likewise.
28943
57a55913 289442009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28945
28946 * font/font.c (find_glyph): Check whether a font is present to avoid
28947 segmentation fault.
75421ca9 28948
289492009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 28950
28951 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28952
e98cd0c2 289532009-07-20 Pavel Roskin <proski@gnu.org>
28954
28955 * configure.ac: Trim excessively wordy excuses.
28956
1d2d169a 289572009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28958
28959 Add symlink, mtime and label support to AtheFS.
28960
28961 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28962 (grub_afs_iterate_dir): Handle symlinks.
28963 (grub_afs_open): Use grub_afs_read_symlink.
28964 (grub_afs_dir): Likewise.
28965 Pass mtime.
28966 (grub_afs_label): New function.
28967 (grub_afs_fs): Add grub_afs_label.
28968 (grub_afs_read_symlink): New function.
28969
186f3189 289702009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28971
28972 Fix AtheFS support.
28973
28974 * fs/afs.c: Fix comments style.
28975 (grub_afs_blockrun): Declare as packed.
28976 (grub_afs_datastream): Likewise.
28977 (grub_afs_bnode): Likewise.
28978 (grub_afs_btree): Likewise.
28979 (grub_afs_sblock): Likewise.
28980 Declare `name' as char.
28981 (grub_afs_inode): Declare as packed.
28982 Change void *vnode to grub_uint32_t unused.
28983 (grub_afs_iterate_dir): Check that key_size is positive.
28984 (grub_afs_mount): Don't read superblock twice.
75421ca9 28985 (grub_afs_dir): Don't free node in case of error,
186f3189 28986 grub_fshelp_find_file already handles this.
28987 (grub_afs_open): Likewise.
28988
5680109e 289892009-07-19 Pavel Roskin <proski@gnu.org>
28990
28991 * Makefile.in: Remove LIBLZO and enable_lzo.
28992 * conf/i386-pc.rmk: Remove lzo support.
28993 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
28994 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
28995 support.
28996 * kern/i386/pc/lzo1x.S: Remove.
28997 * kern/i386/pc/startup.S: Remove lzo support.
28998 * util/i386/pc/grub-mkimage.c: Likewise.
28999
ac70fa32 290002009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
29001
29002 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
29003 * fs/xfs.c (grub_xfs_dir): Likewise.
29004 * fs/afs.c (grub_afs_dir): Likewise.
29005 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
29006 (grub_iso9660_open): Likewise.
29007 * fs/jfs.c (grub_jfs_open): Likewise.
29008 * fs/ext2.c (grub_ext2_dir): Likewise.
29009 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
29010 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 29011
eab58da2 290122009-07-16 Pavel Roskin <proski@gnu.org>
29013
d2838156 29014 * configure.ac: Never add "-c" to CFLAGS.
29015
55c70904 29016 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
29017
43e6200c 29018 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
29019 grub_cv_cc_efiemu should be used.
29020
ce7a733d 29021 * configure.ac: Typo fixes.
29022
eab58da2 29023 * kern/mm.c (grub_zalloc): New function.
29024 (grub_debug_zalloc): Likewise.
29025 * include/grub/mm.h: Declare grub_zalloc() and
29026 grub_debug_zalloc().
29027 * util/misc.c (grub_zalloc): New function.
29028 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
29029 instead of grub_malloc(), remove unneeded initializations.
29030 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
29031 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
29032 * commands/parttool.c (grub_cmd_parttool): Likewise.
29033 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
29034 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
29035 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
29036 * disk/usbms.c (grub_usbms_finddevs): Likewise.
29037 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
29038 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
29039 (grub_cmd_efiemu_pnvram): Likewise.
29040 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
29041 * fs/iso9660.c (grub_iso9660_mount): Likewise.
29042 (grub_iso9660_iterate_dir): Likewise.
29043 * fs/jfs.c (grub_jfs_opendir): Likewise.
29044 * fs/ntfs.c (list_file): Likewise.
29045 (grub_ntfs_mount): Likewise.
29046 * kern/disk.c (grub_disk_open): Likewise.
29047 * kern/dl.c (grub_dl_load_core): Likewise.
29048 * kern/elf.c (grub_elf_file): Likewise.
29049 * kern/env.c (grub_env_context_open): Likewise.
29050 (grub_env_set): Likewise.
29051 (grub_env_set_data_slot): Likewise.
29052 * kern/file.c (grub_file_open): Likewise.
29053 * kern/fs.c (grub_fs_blocklist_open): Likewise.
29054 * loader/i386/multiboot.c (grub_module): Likewise.
29055 * loader/xnu.c (grub_xnu_create_key): Likewise.
29056 (grub_xnu_create_value): Likewise.
29057 * normal/main.c (grub_normal_add_menu_entry): Likewise.
29058 (read_config_file): Likewise.
29059 * normal/menu_entry.c (make_screen): Likewise.
29060 * partmap/sun.c (sun_partition_map_iterate): Likewise.
29061 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
29062 * script/sh/script.c (grub_script_parse): Likewise.
29063 * video/bitmap.c (grub_video_bitmap_create): Likewise.
29064 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
29065 * video/readers/png.c (grub_png_output_byte): Likewise.
29066 (grub_video_reader_png): Likewise.
29067
830afef7 290682009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 29069
29070 Enable all targets that can be built by default
29071
830afef7 29072 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 29073 grub-mkfont and grub-fstest if they can be built
29074
ee293aee 290752009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29076
29077 Fix hang and segmentation fault in grub-emu-usb
29078
29079 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
29080 * util/usb.c (grub_libusb_devices): likewise
29081 (grub_libusb_init): rename to ...
29082 (GRUB_MOD_INIT (libusb)):...this
29083 (grub_libusb_fini): rename to ..
29084 (GRUB_MOD_FINI (libusb)):...this
29085 * disk/usbms.c (grub_usbms_transfer): fix retry logic
29086 * include/grub/disk.h (grub_raid_init): removed, it's useless
29087 (grub_raid_fini): likewise
29088 (grub_lvm_init): likewise
29089 (grub_lvm_fini): likewise
29090 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
29091 by grub_init_all
29092
94414221 290932009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29094
29095 Fix libusb
29096
29097 * Makefile.in (LIBUSB): new macro
29098 * genmk.rb (Utility/print_tail): new method
29099 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
29100 (top level): call util.print_tail at the end.
29101
59ade63d 291022009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29103
29104 Make FreeBSD accept zpool.cache
29105
29106 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
29107 type is /boot/zfs/zpool.cache
29108
a58da8c7 291092009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29110
29111 Fix 64-bit efiemu
29112
29113 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
29114 correct wrong typedef
29115 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
29116
20591577 291172009-07-15 Pavel Roskin <proski@gnu.org>
29118
560ca572 29119 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
29120 * kern/disk.c (struct grub_disk_cache): Likewise.
29121
e8e8e4fd 29122 * commands/probe.c (options): Typo fix.
29123
fde24e10 29124 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
29125 Increase to 0x5a to accommodate FAT32. Adjust other offsets
29126 accordingly.
29127 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
29128
379c54c1 29129 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
29130 the end of "Error" to make the message more readable.
29131
7bd8f5bf 29132 * boot/i386/pc/boot.S (kernel_segment): Remove.
29133 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
29134 for destination.
29135
40b132c5 29136 * boot/i386/pc/boot.S (boot_version): Remove.
29137 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
29138 Remove.
29139
20591577 29140 * include/grub/i386/pc/boot.h: Sort all offsets.
29141 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
29142 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
29143 * boot/i386/pc/boot.S: Assert location of every offset listed in
29144 include/grub/i386/pc/boot.h.
29145
2df32b2c 291462009-07-13 Pavel Roskin <proski@gnu.org>
29147
44b5d879 29148 * include/grub/i386/coreboot/machine.h: Rename
29149 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
29150 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
29151 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
29152
17dc3751 29153 * kern/dl.c: Force native word size to suppress warnings when
29154 compiling grub-emu.
29155
2df32b2c 29156 * kern/device.c (grub_device_iterate): Change struct part_ent to
29157 hold the name, not a pointer to it. Use one grub_malloc() per
29158 partition, not two. Free partition_name if grub_malloc() fails.
29159 Set ents to NULL only before grub_partition_iterate() is called.
29160
75c59f59 291612009-07-11 Bean <bean123ch@gmail.com>
29162
29163 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
29164 childname.
29165
0ae1bf88 291662009-07-10 Bean <bean123ch@gmail.com>
291672009-07-10 Robert Millan <rmh.grub@aybabtu.com>
29168
29169 * kern/ieee1275/openfw.c (grub_children_iterate)
29170 (grub_devalias_iterate): Fix size evaluation for property or path
29171 strings, which was broken since r2132.
29172
8279cade 291732009-07-07 Pavel Roskin <proski@gnu.org>
29174
7d8a52d3 29175 * commands/search.c (search_file): Merge into ...
29176 (search_fs): ... this. Accept search type as argument.
29177 (grub_cmd_search): Pass search type to search_fs().
29178
25f9a05a 29179 * include/grub/util/console.h: New file.
29180 * util/console.c: Use it instead of grub/machine/console.h.
29181 * util/grub-emu.c: Likewise.
29182
8279cade 29183 * lib/arg.c (find_long_option): Remove.
29184 (find_long): Add `len' argument, make `s' const char *.
29185 (grub_arg_parse): Parse long options in place, not in a
29186 temporary buffer.
29187
4a11b60f 291882009-07-06 Pavel Roskin <proski@gnu.org>
29189
99f68041 29190 * commands/search.c (search_fs): Fix potential NULL pointer
29191 dereference.
29192
4a11b60f 29193 * commands/search.c (search_fs): Replace QUID macro with quid_fn
29194 function pointer.
29195
e110f4de 291962009-07-06 Daniel Mierswa <impulze@impulze.org>
29197
29198 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
29199 comparison.
29200
46eeb6a2 292012009-07-05 Pavel Roskin <proski@gnu.org>
29202
bab74958 29203 * include/grub/i386/linux.h (struct linux_kernel_params):
29204 Restore padding3, it's still needed.
29205
46eeb6a2 29206 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
29207 FreeBSD.
29208 * util/osdetect.lua: Likewise.
29209
b4a1dc79 292102009-07-05 Bean <bean123ch@gmail.com>
29211
29212 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
29213
29214 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
29215 (grub_lua_getenv): Likewise.
29216 (grub_lua_setenv): Likewise.
29217 (save_errno): New function.
29218 (push_result): Likewise.
29219 (grub_lua_enum_device): Likewise.
29220 (grub_lua_enum_file): Likewise.
29221 (grub_lua_file_open): Likewise.
29222 (grub_lua_file_close): Likewise.
29223 (grub_lua_file_seek): Likewise.
29224 (grub_lua_file_read): Likewise.
29225 (grub_lua_file_getline): Likewise.
29226 (grub_lua_file_getsize): Likewise.
29227 (grub_lua_file_getpos): Likewise.
29228 (grub_lua_file_eof): Likewise.
29229 (grub_lua_file_exist): Likewise.
29230 (grub_lua_add_menu): Likewise.
29231
29232 * script/lua/grub_lua.h (isupper): New inline function.
29233 (islower): Likewise.
29234 (ispunct): Likewise.
29235 (isxdigit): Likewise.
29236 (strcspn): Change to normal function.
29237 (strpbkr): New function declaration.
29238 (memchr): Likewise.
29239
29240 * script/lua/grub_main.c (scan_str): New function.
29241 (strcspn): Likewise.
29242 (strpbrk): Likewise.
29243 (memchr): Likewise.
29244
29245 * script/lua/linit.c (lualibs): Enable the string library.
29246
29247 * util/osdetect.lua: New file.
29248
2da92295 292492009-07-04 Robert Millan <rmh.grub@aybabtu.com>
29250
29251 * include/grub/i386/linux.h (struct linux_kernel_params): Add
29252 `capabilities' member.
29253
b2582ec9 292542009-07-02 Pavel Roskin <proski@gnu.org>
29255
29256 * genparttoollist.sh: Add missing newline at the end.
29257
32622956 292582009-07-01 Pavel Roskin <proski@gnu.org>
29259
87a7339e 29260 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
29261
d23af54e 29262 * util/hostdisk.c (open_device): Remove `const' from
29263 `sysctl_size', as sysctlbyname() can change it (in this case it
29264 doesn't actually happen).
29265
c94b18a9 29266 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
29267 using signed long int constants.
29268
c6cd3ef0 29269 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
29270 constant to avoid a warning on FreeBSD.
29271
0df63420 29272 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
29273 where it's needed.
29274
999577f1 29275 * Makefile.in: Install include/grub/machine symlink.
29276
6f41557f 29277 * Makefile.in: When installing symlinks, use "cp -fR", which
29278 works on FreeBSD and MacOSX.
29279 From Yves Blusseau <cl7m42e02@sneakemail.com>
29280
c8d22988 29281 * kern/dl.c (grub_dl_resolve_symbol): Make static.
29282 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
29283
1b96e952 29284 * util/misc.c: Move grub_reboot() and grub_halt() ...
29285 * util/grub-emu.c: ... here. Make main_env static.
29286 * include/grub/util/misc.h: Remove main_env.
29287
2ef0084d 29288 * kern/mm.c: Use correct format to print size_t.
29289
32622956 29290 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
29291 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
29292 * kern/powerpc/dl.c: Likewise.
29293 * kern/sparc64/dl.c: Likewise.
29294 * kern/x86_64/dl.c: Likewise.
29295
3f7f0cd0 292962009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29297
29298 Fix grub-emu build on sparc64-ieee1275.
29299
75421ca9 29300 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 29301 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
29302
211d06b5 293032009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29304
29305 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
29306 (grub_reboot, grub_halt): New functions.
29307
29308 * util/i386/pc/misc.c: Delete. Update all users.
29309 * util/sparc64/ieee1275/misc.c: Likewise.
29310 * util/powerpc/ieee1275/misc.c: Likewise.
29311
aaf53e3c 293122009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29313
29314 * conf/i386.rmk (setjmp_mod_SOURCES)
29315 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
29316 * conf/common.rmk (setjmp_mod_SOURCES)
29317 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
29318 to use $(target_cpu).
29319 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
29320 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
29321 * conf/powerpc-ieee1275.rmk: Likewise.
29322 * conf/sparc64-ieee1275.rmk: Likewise.
29323
29324 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
29325 $(target_cpu) for kern/$(target_cpu)/dl.c.
29326 * conf/i386-efi.rmk: Likewise.
29327 * conf/i386-ieee1275.rmk: Likewise.
29328 * conf/x86_64-efi.rmk: Likewise.
29329 * conf/i386-coreboot.rmk: Likewise.
29330 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
29331 $(target_cpu) for kern/$(target_cpu)/dl.c and for
29332 kern/$(target_cpu)/cache.S.
29333 * conf/sparc64-ieee1275.rmk: Likewise.
29334
a337130b 293352009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29336
29337 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
29338 type to `grub_uint8_t', and adjust `padding9' accordingly.
29339
c6fe4d53 293402009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29341
b09db61d 29342 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
29343
c6fe4d53 29344 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
29345 assembly in final jump, using register constraints.
29346
b09db61d 29347 (grub_linux_boot): For text mode, initialize `have_vga' using
29348 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
29349
29350 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
29351 right before the final jump.
29352
29353 Set `video_mode' to 0x3.
29354
29355 Document initialization of `video_page', `video_mode' and
29356 `video_ega_bx'.
29357
28333ad0 293582009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29359
29360 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
29361 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 29362 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 29363
02164e1b 293642009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29365
29366 Fix build on Debian / sparc.
29367
29368 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
29369
18b6c557 293702009-06-28 Pavel Roskin <proski@gnu.org>
29371
85f2aab6 29372 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
29373 fix a warning.
29374
18b6c557 29375 * util/grub.d/10_linux.in: Match SUSE style initrd names.
29376
ad760f81 293772009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29378
29379 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
29380 `err'.
29381
87a4623b 293822009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29383
29384 Revert r2338.
29385
29386 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
29387 file can't be opened. grub_file_open() is already supposed to set
75421ca9 29388 grub_errno / grub_errmsg appropriately.
87a4623b 29389 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29390
8231fb77 293912009-06-27 Pavel Roskin <proski@gnu.org>
293922009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29393
29394 * include/grub/dl.h: Include grub/elf.h.
29395 (struct grub_dl): Add symtab field.
29396 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
29397 GRUB_MODULES_MACHINE_READONLY.
29398 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
29399 of the header for read-only modules.
29400 (grub_dl_unload): Free mod->symtab for read-only modules.
29401 * kern/i386/dl.c: Use mod->symtab.
29402 * kern/powerpc/dl.c: Likewise.
29403 * kern/sparc64/dl.c: Likewise.
29404 * kern/x86_64/dl.c: Likewise.
29405
29406 * conf/i386-qemu.rmk: New file.
29407 * kern/i386/qemu/startup.S: Likewise.
29408 * kern/i386/qemu/mmap.c: Likewise.
29409 * boot/i386/qemu/boot.S: Likewise.
29410 * include/grub/i386/qemu/time.h: Likewise.
29411 * include/grub/i386/qemu/serial.h: Likewise.
29412 * include/grub/i386/qemu/kernel.h: Likewise.
29413 * include/grub/i386/qemu/console.h: Likewise.
29414 * include/grub/i386/qemu/boot.h: Likewise.
29415 * include/grub/i386/qemu/init.h: Likewise.
29416 * include/grub/i386/qemu/machine.h: Likewise.
29417 * include/grub/i386/qemu/loader.h: Likewise.
29418 * include/grub/i386/qemu/memory.h: Likewise.
29419
29420 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
29421 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
29422 [qemu] (pkglib_IMAGES): Add `boot.img'.
29423 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
29424 [qemu] (boot_img_FORMAT): New variables.
29425 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
29426 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
29427 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
29428 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29429 [qemu] (kernel_img_FORMAT): New variables.
29430
29431 * configure.ac: Recognise `i386-qemu'.
29432
29433 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
29434 (for no compression).
29435 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
29436 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
29437 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
29438 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
29439 ifdefs).
29440
97fe384e 294412009-06-27 Pavel Roskin <proski@gnu.org>
29442
29443 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
29444 read.
29445 * efiemu/prepare32.c: Likewise.
29446 * efiemu/prepare64.c: Likewise.
29447
c402ab17 294482009-06-26 Pavel Roskin <proski@gnu.org>
29449
29450 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
29451 * include/grub/elf.h: Define symbols without "32" or "64" based
29452 on GRUB_TARGET_WORDSIZE.
29453 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
29454 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
29455 ELF definitions.
29456 * efiemu/loadcore64.c: Likewise.
29457 * loader/i386/bsd32.c: Likewise.
29458 * loader/i386/bsd64.c: Likewise.
29459 * kern/dl.c: Remove own ELF definitions.
29460 * util/i386/efi/grub-mkimage.c: Likewise.
29461
9bbdfd4d 294622009-06-23 Robert Millan <rmh.grub@aybabtu.com>
29463
29464 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
29465 segment 0x0 unconditionally, because the reference generated by
29466 GAS is an absolute address.
29467
a42ce6e9 294682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29469
29470 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
29471 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
29472
c952cf92 294732009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29474
29475 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
29476 indexes. Check for -f explicitly.
cc3752ad 29477 (search_file): Improve error message.
29478 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 29479
132a0a59 294802009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29481
29482 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
29483 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
29484
387a140c 294852009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29486
29487 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
29488 * conf/i386-ieee1275.rmk: Likewise.
29489 * conf/i386-coreboot.rmk: Likewise.
29490
29491 * kern/i386/pc/startup.S (grub_stop): Remove function.
29492 * kern/i386/ieee1275/startup.S: Likewise.
29493 * kern/i386/coreboot/startup.S: Likewise.
29494 * kern/i386/misc.S (grub_stop): New function.
29495
41da9665 294962009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29497
29498 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
29499 * kern/i386/realmode.S (real_to_prot): ... to here.
29500
bf337234 295012009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29502
29503 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
29504 with `kernel.img'.
29505 (kernel_elf_SOURCES): Rename to ...
29506 (kernel_img_SOURCES): ... this.
29507 (kernel_elf_HEADERS): Rename to ...
29508 (kernel_img_HEADERS): ... this. Update all users.
29509 (kernel_elf_ASFLAGS): Rename to ...
29510 (kernel_img_ASFLAGS): ... this.
29511 (kernel_elf_CFLAGS): Rename to ...
29512 (kernel_img_CFLAGS): ... this.
29513 (kernel_elf_LDFLAGS): Rename to ...
29514 (kernel_img_LDFLAGS): ... this.
29515 * conf/i386-coreboot.rmk: Likewise.
29516 * conf/powerpc-ieee1275.rmk: Likewise.
29517
29518 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
29519 with "kernel.img".
29520
f52196ff 295212009-06-21 Pavel Roskin <proski@gnu.org>
29522
c3cee413 29523 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
29524 to match nested functions.
29525 * loader/sparc64/ieee1275/linux.c: Likewise.
29526
f52196ff 29527 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
29528
58750afc 295292009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29530
29531 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
29532 all i386 platforms.
29533
15355c7d 295342009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29535
29536 Fix asm file handling on ELF, and remove workarounds.
29537
29538 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 29539 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 29540 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
29541 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
29542
3f3ec72b 295432009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
29544
29545 Load BSD ELF modules
29546
29547 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
29548 and loader/i386/bsd64.c
29549 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
29550 (FREEBSD_MODTYPE_ELF_MODULE): New definition
29551 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
29552 (grub_freebsd_load_elfmodule32): New declaration
29553 (grub_freebsd_load_elfmoduleobj64): Likewise
29554 (grub_freebsd_load_elf_meta32): Likewise
29555 (grub_freebsd_load_elf_meta64): Likewise
29556 (grub_freebsd_add_meta): Likewise
29557 (grub_freebsd_add_meta_module): Likewise
29558 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
29559 (grub_freebsd_add_meta_module): Likewise and move module-specific
29560 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
29561 (grub_cmd_freebsd): Add elf-kernel specific parts
29562 based on grub_freebsd_add_meta_module
29563 (grub_cmd_freebsd_module): Add type parsing moved from
29564 grub_freebsd_add_meta_module
29565 (grub_cmd_freebsd_module_elf): New function
29566 (cmd_freebsd_module_elf): New variable
29567 (GRUB_MOD_INIT): Register freebsd_module_elf
29568 * loader/i386/bsd32.c: New file
29569 * loader/i386/bsd64.c: Likewise
29570 * loader/i386/bsdXX.c: Likewise
29571 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
29572 (grub_elf64_load): Likewise
29573 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
29574 All users updated
29575 (grub_elf64_load_hook_t): Likewise
29576
0db15301 295772009-06-21 Colin Watson <cjwatson@ubuntu.com>
29578
29579 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
29580 variable.
29581 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
29582 don't write a menu entry for recovery mode.
29583
546796c1 295842009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29585
29586 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
29587 after it's no longer needed.
29588
cd7310d5 295892009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29590
29591 * include/grub/i386/loader.h (grub_linux_prot_size)
29592 (grub_linux_tmp_addr, grub_linux_real_addr)
29593 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
29594 GRUB_MACHINE_PCBIOS.
29595 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
29596 common grub_util_info() call to ...
29597 (generate_image): ... here.
29598 Fix use of uninitialized memory, comparison of signed with
29599 unsigned integers and memory leak.
29600 Remove bogus module address message.
29601
ab32d3b5 296022009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
29603
29604 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
29605 grub_raid_register
29606 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
29607
024ef597 296082009-06-19 Pavel Roskin <proski@gnu.org>
29609
29610 * configure.ac: Remove stray AC_MSG_CHECKING.
29611
3ac72b51 296122009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
29613
29614 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 29615
e14cd814 296162009-06-18 Pavel Roskin <proski@gnu.org>
29617
29618 * conf/common.rmk: Add fs_file.mod.
29619 * disk/fs_file.c: New file.
29620 * include/grub/disk.h (enum grub_disk_dev_id): Add
29621 GRUB_DISK_DEVICE_FILE_ID.
29622
26586d98 296232009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29624
29625 Fix build with Apple's toolchain. Part 2
29626
29627 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
29628 a fake start
29629
26de2bcd 296302009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29631
29632 Fix build with Apple's toolchain. Part 1
29633
29634 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
29635 for long calls
29636 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 29637 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 29638 Apple's toolchain
29639
09b3490b 296402009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29641
29642 Fix warnings
29643
29644 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
29645 (decomp_block): initialize ch
29646 use grub_memcpy instead of memcpy
29647
c22a006a 296482009-06-17 Pavel Roskin <proski@gnu.org>
29649
d3638678 29650 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
29651 version, use declarations needed to use vga_text as the startup
29652 console.
29653
c22a006a 29654 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
29655 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
29656 the kernel.
29657 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
29658 and grub_at_keyboard_fini(), it's done on module load and
29659 unload.
29660
05b129e0 296612009-06-17 Felix Zielcke <fzielcke@z-51.de>
29662
29663 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
29664 file can't be found.
29665 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29666
cf24ed9e 296672009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29668
29669 Fix newline handling
29670
29671 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 29672 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 29673 (grub_script_yylex): don't segfault on unterminated script
29674 newline terminates command and variable
29675
74aa8e4b 296762009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29677
29678 avoid double grub_adjust_range call. Bug reported by David Simner
29679
29680 * kern/disk.c (grub_disk_write): change to raw disk access before
29681 calling disk_read
29682
1bd265f3 296832009-06-17 Colin Watson <cjwatson@ubuntu.com>
29684
29685 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
29686 spaces, for the benefit of help2man.
29687 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29688
a2d08c06 296892009-06-16 Pavel Roskin <proski@gnu.org>
29690
29691 * kern/i386/halt.c: Include grub/machine/init.h.
29692 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
29693
b97bcb19 296942009-06-16 Felix Zielcke <fzielcke@z-51.de>
29695
29696 * util/grub.d/30_os-prober.in: Use ${root} in the generated
29697 drivemap menuentry.
29698
0644f96c 296992009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
29700
29701 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
29702 `echo' command.
29703
3ef17a2e 297042009-06-16 Pavel Roskin <proski@gnu.org>
29705
29706 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
29707 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
29708 save %dx, we only need %dl and we never change it.
29709 * boot/i386/pc/cdboot.S: Don't set the root drive.
29710 * boot/i386/pc/pxeboot.S: Likewise.
29711 * include/grub/i386/pc/boot.h: Remove
29712 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
29713 GRUB_BOOT_MACHINE_DRIVE_CHECK.
29714 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
29715 * kern/i386/pc/init.c (make_install_device): Remove references
29716 to grub_root_drive.
29717 * kern/i386/pc/startup.S: Likewise.
29718 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
29719
693fe637 297202009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29721
29722 xnu_uuid command
29723
29724 * commands/xnu_uuid.c: new file
29725 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
29726 (xnu_uuid_mod_SOURCES): new variable
29727 (xnu_uuid_mod_CFLAGS): likewise
29728 (xnu_uuid_mod_LDFLAGS): likewise
29729 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29730 * conf/i386-ieee1275.rmk: likewise
29731 * conf/i386-pc.rmk: likewise
29732 * conf/powerpc-ieee1275.rmk: likewise
29733 * conf/sparc64-ieee1275.rmk: likewise
29734 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
29735
c9da87d0 297362009-06-16 Pavel Roskin <proski@gnu.org>
29737
29738 * configure.ac: Avoid '==' in test command, it's not portable.
29739
9c6f4596 297402009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29741
29742 Probe command
29743
29744 * commands/probe.c: new file
29745 * conf/common.rmk (pkglib_MODULES): add probe.mod
29746 (probe_mod_SOURCES): new variable
29747 (probe_mod_CFLAGS): likewise
29748 (probe_mod_LDFLAGS): likewise
29749 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29750 * conf/i386-ieee1275.rmk: likewise
29751 * conf/i386-pc.rmk: likewise
29752 * conf/powerpc-ieee1275.rmk: likewise
29753 * conf/sparc64-ieee1275.rmk: likewise
29754
70b7f9fd 297552009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
29756
29757 Fix handling of string like \"hello\" and "a
29758 b"
29759
29760 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
29761 (grub_script_yylex): fix parsing of quoting, escaping and newline
29762
71c79a6b 297632009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
29764
dd74360c 29765 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 29766 handling
dd74360c 29767
0644f96c 297682009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 29769
29770 * util/grub-mkconfig.in: Fix parsing of --output option.
29771
e40893c3 297722009-06-12 Pavel Roskin <proski@gnu.org>
29773
29774 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
29775 genmk.rb don't need to be generated or installed.
29776
3a1acfe2 297772009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
29778
29779 * commands/i386/pc/drivemap_int13h.S: add more comments
29780
3a4575d4 297812009-06-11 Pavel Roskin <proski@gnu.org>
29782
0658e928 29783 * Makefile.in (uninstall): Uninstall manuals.
29784
ca0388f0 29785 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
29786 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
29787 and update-grub_lib in two places.
29788 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
29789
e3b27c39 29790 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
29791 a compiler warning.
29792
3a4575d4 29793 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
29794 `entry_lo' to fix variable shadowing.
29795
af1f4f55 297962009-06-11 Christian Franke <franke@computer.org>
29797
29798 * kern/misc.c (__enable_execute_stack): Add missing return type
29799 to prevent gcc warning.
29800
5225e649 298012009-06-11 Felix Zielcke <fzielcke@z-51.de>
29802
29803 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
29804
7d83bd47 298052009-06-11 Pavel Roskin <proski@gnu.org>
29806
c1cb63ba 29807 * Makefile.in: Don't rely on any scripts being executable.
29808 Always use $(SHELL) to run shell scripts.
29809
7d83bd47 29810 * configure.ac: Always define ___main if using -nostdlib. This
29811 fixes tests on Cygwin.
29812
948f48e7 298132009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
29814
29815 UDF fix
29816
7d83bd47 29817 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 29818 is in bytes and not in blocks
7d83bd47 29819
8ada9bc1 298202009-06-11 Pavel Roskin <proski@gnu.org>
29821
29822 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
29823 warning.
29824
25ad2323 298252009-06-11 Felix Zielcke <fzielcke@z-51.de>
29826
29827 * util/grub.d/30_os-prober.in: Fix a comment. Source
29828 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
29829 to set the root device. Place drivemap command in the generated
29830 chain entry.
29831
e65acb0c 298322009-06-11 Pavel Roskin <proski@gnu.org>
29833
29834 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29835 have long been resolved.
29836
f285fe2d 298372009-06-11 Colin Watson <cjwatson@ubuntu.com>
29838
bd47b0b5 29839 * util/grub.d/10_linux.in: Capitalise "Linux".
29840
f285fe2d 29841 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29842
a0c62e4e 298432009-06-11 Pavel Roskin <proski@gnu.org>
29844
b6783cb2 29845 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29846 fix a gcc warning and ensure that the function won't ever exit.
29847
dde032e8 29848 * kern/i386/ieee1275/init.c: Add missing prototype for
29849 grub_stop_floppy().
29850
22cd079d 29851 * loader/ieee1275/multiboot2.c [__i386__]: Include
29852 grub/cpu/multiboot.h.
29853
a0c62e4e 29854 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29855 casts to short - they are not portable and cause warnings. Fix
29856 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29857
63963d17 298582009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29859
29860 Drivemap fixes
29861
29862 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29863 new function
29864 (grub_get_root_biosnumber_saved): new variable
29865 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29866 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 29867 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 29868 %dx after the call if necessary
29869 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29870 (boot_mod_SOURCES): remove
29871 (boot_mod_CFLAGS): remove
29872 (boot_mod_LDFLAGS): remove
29873 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29874 (boot_mod_SOURCES): new variable
29875 (boot_mod_CFLAGS): likewise
29876 (boot_mod_LDFLAGS): likewise
29877 * conf/i386-efi.rmk: likewise
29878 * conf/i386-ieee1275.rmk: likewise
29879 * conf/i386-pc.rmk: likewise
29880 * conf/powerpc-ieee1275.rmk: likewise
29881 * conf/sparc64-ieee1275.rmk: likewise
29882 * conf/x86_64-efi.rmk: likewise
29883 * include/grub/i386/pc/biosnum.h: new file
29884 * lib/i386/pc/biosnum.c: likewise
29885 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29886 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29887 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 29888
33abf7ae 298892009-06-10 Pavel Roskin <proski@gnu.org>
29890
5ac35b35 29891 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29892 Use separate variables. Read only the file size at the end, but
29893 not the checksum that we don't use.
29894
5c5215d5 29895 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29896 Adjust all callers.
29897
27d5fef7 29898 * kern/ieee1275/openfw.c: Remove libc includes.
29899 * kern/ieee1275/cmain.c: Likewise.
29900 * include/grub/ieee1275/ieee1275.h: Likewise.
29901
33abf7ae 29902 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29903 compiler warnings.
29904
19d50c2b 299052009-06-10 Felix Zielcke <fzielcke@z-51.de>
29906
29907 * Makefile.in: Remove all trailing whitespace.
29908 * conf/i386-pc.rmk: Likewise.
29909 * conf/powerpc-ieee1275.rmk: Likewise.
29910 * conf/sparc64-ieee1275.rmk: Likewise.
29911 * docs/grub.texi: Likewise.
29912 * docs/texinfo.tex: Likewise.
29913 * disk/fs_uuid.c: Likewise.
29914 * disk/lvm.c: Likewise.
29915 * disk/scsi.c: Likewise.
29916 * disk/ata.c: Likewise.
29917 * disk/ieee1275/ofdisk.c: Likewise.
29918 * disk/i386/pc/biosdisk.c: Likewise.
29919 * disk/host.c: Likewise.
29920 * disk/raid.c: Likewise.
29921 * disk/efi/efidisk.c: Likewise.
29922 * disk/usbms.c: Likewise.
29923 * disk/memdisk.c: Likewise.
29924 * disk/loopback.c: Likewise.
29925 * kern/powerpc/dl.c: Likewise.
29926 * kern/device.c: Likewise.
29927 * kern/dl.c: Likewise.
29928 * kern/sparc64/dl.c: Likewise.
29929 * kern/ieee1275/ieee1275.c: Likewise.
29930 * kern/term.c: Likewise.
29931 * kern/fs.c: Likewise.
29932 * kern/i386/dl.c: Likewise.
29933 * kern/i386/pc/startup.S: Likewise.
29934 * kern/i386/pc/init.c: Likewise.
29935 * kern/i386/pc/mmap.c: Likewise.
29936 * kern/i386/pc/lzo1x.S: Likewise.
29937 * kern/i386/ieee1275/init.c: Likewise.
29938 * kern/i386/realmode.S: Likewise.
29939 * kern/i386/tsc.c: Likewise.
29940 * kern/partition.c: Likewise.
29941 * kern/corecmd.c: Likewise.
29942 * kern/file.c: Likewise.
29943 * kern/efi/efi.c: Likewise.
29944 * kern/efi/init.c: Likewise.
29945 * kern/efi/mm.c: Likewise.
29946 * kern/main.c: Likewise.
29947 * kern/err.c: Likewise.
29948 * kern/env.c: Likewise.
29949 * kern/disk.c: Likewise.
29950 * kern/generic/millisleep.c: Likewise.
29951 * kern/generic/rtc_get_time_ms.c: Likewise.
29952 * kern/misc.c: Likewise.
29953 * kern/parser.c: Likewise.
29954 * genmk.rb: Likewise.
29955 * configure.ac: Likewise.
29956 * boot/i386/pc/diskboot.S: Likewise.
29957 * boot/i386/pc/pxeboot.S: Likewise.
29958 * boot/i386/pc/boot.S: Likewise.
29959 * boot/i386/pc/lnxboot.S: Likewise.
29960 * boot/i386/pc/cdboot.S: Likewise.
29961 * parttool/pcpart.c: Likewise.
29962 * video/readers/tga.c: Likewise.
29963 * video/video.c: Likewise.
29964 * video/bitmap.c: Likewise.
29965 * lib/envblk.c: Likewise.
29966 * lib/i386/setjmp.S: Likewise.
29967 * fs/xfs.c: Likewise.
29968 * fs/afs.c: Likewise.
29969 * fs/fat.c: Likewise.
29970 * fs/ntfs.c: Likewise.
29971 * fs/udf.c: Likewise.
29972 * fs/affs.c: Likewise.
29973 * fs/iso9660.c: Likewise.
29974 * fs/hfs.c: Likewise.
29975 * fs/fshelp.c: Likewise.
29976 * fs/ext2.c: Likewise.
29977 * fs/jfs.c: Likewise.
29978 * fs/reiserfs.c: Likewise.
29979 * fs/hfsplus.c: Likewise.
29980 * fs/minix.c: Likewise.
29981 * fs/cpio.c: Likewise.
29982 * fs/sfs.c: Likewise.
29983 * fs/ufs.c: Likewise.
29984 * efiemu/prepare.c: Likewise.
29985 * efiemu/loadcore_common.c: Likewise.
29986 * efiemu/runtime/efiemu.sh: Likewise.
29987 * efiemu/runtime/efiemu.S: Likewise.
29988 * efiemu/runtime/efiemu.c: Likewise.
29989 * efiemu/pnvram.c: Likewise.
29990 * efiemu/main.c: Likewise.
29991 * efiemu/i386/pc/cfgtables.c: Likewise.
29992 * efiemu/i386/loadcore64.c: Likewise.
29993 * efiemu/i386/loadcore32.c: Likewise.
29994 * efiemu/loadcore.c: Likewise.
29995 * efiemu/symbols.c: Likewise.
29996 * efiemu/mm.c: Likewise.
29997 * include/grub/autoefi.h: Likewise.
29998 * include/grub/datetime.h: Likewise.
29999 * include/grub/term.h: Likewise.
30000 * include/grub/hfs.h: Likewise.
30001 * include/grub/lvm.h: Likewise.
30002 * include/grub/i386/tsc.h: Likewise.
30003 * include/grub/i386/linux.h: Likewise.
30004 * include/grub/i386/xnu.h: Likewise.
30005 * include/grub/i386/efiemu.h: Likewise.
30006 * include/grub/i386/pc/biosdisk.h: Likewise.
30007 * include/grub/i386/pc/memory.h: Likewise.
30008 * include/grub/i386/pc/vbe.h: Likewise.
30009 * include/grub/parttool.h: Likewise.
30010 * include/grub/video.h: Likewise.
30011 * include/grub/memory.h: Likewise.
30012 * include/grub/fs.h: Likewise.
30013 * include/grub/partition.h: Likewise.
30014 * include/grub/xnu.h: Likewise.
30015 * include/grub/efi/api.h: Likewise.
30016 * include/grub/efi/pe32.h: Likewise.
30017 * include/grub/efi/memory.h: Likewise.
30018 * include/grub/multiboot.h: Likewise.
30019 * include/grub/usbdesc.h: Likewise.
30020 * include/grub/multiboot2.h: Likewise.
30021 * include/grub/acpi.h: Likewise.
30022 * include/grub/efiemu/efiemu.h: Likewise.
30023 * include/grub/disk.h: Likewise.
30024 * include/grub/ieee1275/ieee1275.h: Likewise.
30025 * include/grub/net.h: Likewise.
30026 * include/grub/machoload.h: Likewise.
30027 * include/grub/macho.h: Likewise.
30028 * include/multiboot.h: Likewise.
30029 * genmoddep.awk: Likewise.
30030 * normal/main.c: Likewise.
30031 * normal/menu_entry.c: Likewise.
30032 * normal/menu_viewer.c: Likewise.
30033 * normal/completion.c: Likewise.
30034 * normal/cmdline.c: Likewise.
30035 * normal/misc.c: Likewise.
30036 * normal/datetime.c: Likewise.
30037 * bus/usb/usbtrans.c: Likewise.
30038 * bus/usb/ohci.c: Likewise.
30039 * bus/usb/uhci.c: Likewise.
30040 * bus/usb/usb.c: Likewise.
30041 * mmap/efi/mmap.c: Likewise.
30042 * mmap/i386/pc/mmap_helper.S: Likewise.
30043 * mmap/i386/pc/mmap.c: Likewise.
30044 * mmap/i386/mmap.c: Likewise.
30045 * mmap/i386/uppermem.c: Likewise.
30046 * mmap/mmap.c: Likewise.
30047 * commands/acpi.c: Likewise.
30048 * commands/echo.c: Likewise.
30049 * commands/blocklist.c: Likewise.
30050 * commands/loadenv.c: Likewise.
30051 * commands/usbtest.c: Likewise.
30052 * commands/boot.c: Likewise.
30053 * commands/parttool.c: Likewise.
30054 * commands/search.c: Likewise.
30055 * commands/cat.c: Likewise.
30056 * commands/i386/pc/play.c: Likewise.
30057 * commands/i386/pc/drivemap.c: Likewise.
30058 * commands/i386/pc/vbeinfo.c: Likewise.
30059 * commands/i386/pc/acpi.c: Likewise.
30060 * commands/i386/pc/vbetest.c: Likewise.
30061 * commands/ls.c: Likewise.
30062 * commands/cmp.c: Likewise.
30063 * commands/test.c: Likewise.
30064 * commands/efi/acpi.c: Likewise.
30065 * commands/gptsync.c: Likewise.
30066 * commands/help.c: Likewise.
30067 * partmap/amiga.c: Likewise.
30068 * partmap/apple.c: Likewise.
30069 * partmap/acorn.c: Likewise.
30070 * partmap/pc.c: Likewise.
30071 * partmap/sun.c: Likewise.
30072 * partmap/gpt.c: Likewise.
30073 * script/sh/lexer.c: Likewise.
30074 * script/sh/function.c: Likewise.
30075 * font/font.c: Likewise.
30076 * font/font_cmd.c: Likewise.
30077 * loader/powerpc/ieee1275/linux.c: Likewise.
30078 * loader/efi/chainloader.c: Likewise.
30079 * loader/multiboot_loader.c: Likewise.
30080 * loader/macho.c: Likewise.
30081 * loader/i386/multiboot.c: Likewise.
30082 * loader/i386/linux.c: Likewise.
30083 * loader/i386/pc/linux.c: Likewise.
30084 * loader/i386/pc/multiboot2.c: Likewise.
30085 * loader/i386/pc/chainloader.c: Likewise.
30086 * loader/i386/pc/xnu.c: Likewise.
30087 * loader/i386/bsd_trampoline.S: Likewise.
30088 * loader/i386/efi/linux.c: Likewise.
30089 * loader/i386/multiboot_elfxx.c: Likewise.
30090 * loader/i386/bsd_helper.S: Likewise.
30091 * loader/i386/bsd.c: Likewise.
30092 * loader/i386/linux_trampoline.S: Likewise.
30093 * loader/i386/xnu_helper.S: Likewise.
30094 * loader/i386/xnu.c: Likewise.
30095 * loader/i386/bsd_pagetable.c: Likewise.
30096 * loader/i386/multiboot_helper.S: Likewise.
30097 * loader/xnu.c: Likewise.
30098 * loader/xnu_resume.c: Likewise.
30099 * io/gzio.c: Likewise.
30100 * term/efi/console.c: Likewise.
30101 * term/terminfo.c: Likewise.
30102 * term/ieee1275/ofconsole.c: Likewise.
30103 * term/i386/pc/serial.c: Likewise.
30104 * term/i386/pc/vesafb.c: Likewise.
30105 * term/i386/pc/vga.c: Likewise.
30106 * term/usb_keyboard.c: Likewise.
30107 * term/gfxterm.c: Likewise.
30108 * aclocal.m4: Likewise.
30109 * util/lvm.c: Likewise.
30110 * util/grub.d/30_os-prober.in: Likewise.
30111 * util/grub.d/10_hurd.in: Likewise.
30112 * util/console.c: Likewise.
30113 * util/grub-macho2img.c: Likewise.
30114 * util/grub-probe.c: Likewise.
30115 * util/hostfs.c: Likewise.
30116 * util/i386/pc/grub-mkimage.c: Likewise.
30117 * util/i386/pc/grub-setup.c: Likewise.
30118 * util/i386/efi/grub-mkimage.c: Likewise.
30119 * util/grub-mkconfig.in: Likewise.
30120 * util/raid.c: Likewise.
30121 * util/resolve.c: Likewise.
30122 * util/grub-mkdevicemap.c: Likewise.
30123 * util/grub-emu.c: Likewise.
30124 * util/getroot.c: Likewise.
30125 * util/hostdisk.c: Likewise.
30126 * util/usb.c: Likewise.
30127 * util/grub-editenv.c: Likewise.
30128 * util/misc.c: Likewise.
30129
d2d49665 301302009-06-10 Felix Zielcke <fzielcke@z-51.de>
30131
30132 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
30133 `genparttoollist.sh'.
30134 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
30135 Add `*.sh' to the list find searches for and change `mdate.sh'
30136 to `mdate-sh'.
30137
fe052e37 301382009-06-10 Pavel Roskin <proski@gnu.org>
30139
2763ac18 30140 * include/grub/multiboot2.h: Provide compatibility defines for
30141 multiboot2.h.
30142 * include/multiboot2.h: Include stdint.h only if needed, using
30143 angle brackets.
30144 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
30145 grub/multiboot2.h.
30146 * loader/ieee1275/multiboot2.c: Likewise.
30147 * loader/multiboot2.c: Likewise.
30148 * loader/multiboot_loader.c: Likewise.
30149
437e6adc 30150 * configure.ac: Use -nostdlib when probing for the target. It
30151 should not be required to have libc for the target.
30152
06a6836c 30153 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
30154 they fail without libc headers for the target.
30155 * include/grub/powerpc/libgcc.h: Use weak attribute for all
30156 exports.
30157 * include/grub/sparc64/libgcc.h: Likewise. Don't use
30158 preprocessor conditionals.
30159
fe052e37 30160 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
30161 build system doesn't need to be aware of the tar.c internals.
30162
afd22553 301632009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 30164
afd22553 30165 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 30166
6b787c4f 301672009-06-09 Robert Millan <rmh.grub@aybabtu.com>
30168
30169 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
30170 disk limit to 26 for IDE, Virtio, Xen and SCSI.
30171
301722009-06-09 Felix Zielcke <fzielcke@z-51.de>
30173
30174 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 30175 aren't available if ata.mod gets used.
6b787c4f 30176
473d1e45 301772009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 30178
473d1e45 30179 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 30180 initialising controller.
473d1e45 30181 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 30182
255a27d4 301832009-06-08 Felix Zielcke <fzielcke@z-51.de>
30184
30185 * util/i386/pc/grub-install.in: Add a parameter --disk-module
30186 to choose between ata and biosdisk module on i386-pc.
30187
473d1e45 301882009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 30189
d55842d8 30190 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
30191 Subclass and Programming Interface fields in terms of the 3 byte
30192 Class Code register.
30193 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30194
fa5db0b1 30195 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
30196 interface is OHCI. Add grub_dprintf for symmetry with
30197 bus/usb/uhci.c.
30198 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
30199 interface is UHCI. Add interf variable for programming
30200 interface. Print interface with class/subclass.
30201
c0947beb 30202 * bus/usb/ohci.c: Set interf with correct field.
30203
69da8877 30204 * bus/usb/uhci.c: Remove unneeded doubled lines.
30205 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
30206 Remove whitespace inside comment.
30207
9e172e30 302082009-06-08 Robert Millan <rmh.grub@aybabtu.com>
30209
30210 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
30211 as fallback an equivalent option without depth.
30212
de65ee2b 302132009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30214
30215 Not fail if unable to retrieve C/H/S on LBA disks
30216
473d1e45 30217 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 30218 if unable to retrieve C/H/S on LBA disks
30219
b57ea2c9 302202009-06-08 Pavel Roskin <proski@gnu.org>
30221
30222 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
30223 about aliasing.
30224
af361263 302252009-06-08 Felix Zielcke <fzielcke@z-51.de>
30226
30227 * Makefile.in (uninstall): Remove all $lib_DATA files.
30228
4c9ec6b3 302292009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30230
30231 Bugfix: install on partitionless device
30232
30233 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
30234 is a whole disk
30235
e76fc924 302362009-06-08 Felix Zielcke <fzielcke@z-51.de>
30237
30238 * Makefile.in (uninstall): Remove all $include_DATA files.
30239
ba5a0d05 302402009-06-08 Felix Zielcke <fzielcke@z-51.de>
30241
30242 * commands/true.c: New file. Implement the true and false commands.
30243 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
30244 (true_mod_SOURCES): New variable.
30245 (true_mod_CFLAGS): Likewise.
30246 (true_mod_LDFLAGS): Likewise.
30247
c8048e32 302482009-06-05 Colin D Bennett <colin@gibibit.com>
30249
30250 Optimized font character lookup using binary search instead of linear
30251 search. Fonts now are required to have the character index ordered by
30252 code point.
30253
30254 * font/font.c (load_font_index): Verify that fonts have ordered
30255 character indices.
30256 (find_glyph): Use binary search instead of linear search to find a
30257 character in a font.
30258
408305be 302592009-06-05 Michael Scherer <misc@mandriva.org>
30260
30261 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
30262 uses case sensitive btree.
30263 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
30264 only for case insensitive filesystems.
30265
8ee1e0d9 302662009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
30267
30268 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
30269 * conf/common.rmk (search_mod_CFLAGS): likewise
30270
a9966eb1 302712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30272
473d1e45 30273 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 30274 compensate a compiler bug
30275
9e7100fb 302762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30277
473d1e45 30278 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 30279 instead of '\b'
473d1e45 30280
ede21d71 302812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30282
30283 Definitions for creating asm symbols with Apple's CC
30284
30285 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
30286 [APPLE_CC] (VARIABLE): likewise
30287
9dbf7653 302882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30289
30290 Disable lnxboot.img when compiled
30291 with Apple's CC
30292
30293 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
30294 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
30295 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
30296 [! APPLE_CC] (CODE_LENG): skip
30297 [! APPLE_CC] (setup_sects): likewise
30298 [! APPLE_CC]: skip filling
473d1e45 30299
e93cdc3d 303002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30301
30302 Address in trampolines based on 32-bit registers when compiled
30303 with Apple's CC
30304
473d1e45 30305 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 30306 for addresses
30307 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
30308
6c688477 303092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30310
30311 Avoid aliases when compiling with Apple's CC for PCBIOS machine
30312
30313 * kern/misc.c [APPLE_CC] (memcpy): new function
30314 [APPLE_CC] (memmove): likewise
30315 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 30316 (memcpy): define alias conditionally on !APPLE_CC
6c688477 30317 (memset): likewise
30318 (abort): likewise
30319 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
30320 APPLE_CC are defined
30321 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
30322 (grub_assert_fail): make prototype conditional
30323
e37ffc5c 303242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30325
30326 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
30327
473d1e45 30328 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
30329 grub-macho2img
e37ffc5c 30330 (CLEANFILES): add grub-macho2img
30331 (grub_macho2img_SOURCES): new variable
30332 * kern/i386/pc/startup.S (bss_start): new variable
30333 (bss_end): likewise
30334 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
30335 * util/grub-macho2img.c: new file
30336
cf00df31 303372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30338
30339 Use objconv when compiling with Apple's CC
30340
30341 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
30342 (efiemu64.o): likewise
30343 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
30344 when compiling with Apple's CC
30345 (efiemu64_s.o): likewise
30346 * configure.ac: check for objconv when compiling with Apple's CC
30347 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 30348
d119a20c 303492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30350
30351 Define segment as well as section when compiling with
30352 Apple's CC
30353
30354 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
30355 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
30356 (efiemu_convert_pointer): likewise
30357 (efiemu_set_virtual_address_map): likewise
30358 (efiemu_convert_pointer): likewise
30359 (efiemu_getcrc32): likewise
30360 (init_crc32_table): likewise
30361 (reflect): likewise
30362 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
30363 (GRUB_MOD_DEP): likewise
473d1e45 30364
c8600122 303652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30366
30367 Allow a compilation without -mcmodel=large
30368
30369 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
30370 when compiled without -mcmodel=large
473d1e45 30371 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 30372 without -mcmodel=large
473d1e45 30373 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 30374 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 30375
e8df1d4e 303762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30377
30378 Remove nested functions in efiemu core
30379
30380 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 30381
cc6c3ac1 303822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30383
30384 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
30385
30386 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
30387 temporary storage
473d1e45 30388 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
30389 using Apple's CC
cc6c3ac1 30390 (grub_cpu_is_tsc_supported): likewise
30391 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 30392
3e325901 303932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30394
30395 Absolute addressing through constant with Apple's cc
30396
30397 * kern/i386/pc/startup.S: Define necessary constants
30398 and address through it when using ABS with Apple's CC
30399 * boot/i386/pc/diskboot.S: likewise
30400 * boot/i386/pc/boot.S: likewise
30401 * boot/i386/pc/lnxboot.S: likewise
30402 * boot/i386/pc/cdboot.S: likewise
30403 * mmap/i386/pc/mmap_helper.S: likewise
30404 * commands/i386/pc/drivemap_int13h.S: likewise
30405
2b167a72 304062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30407
30408 Check if compiler is apple cc
30409
30410 * Makefile.in (ASFLAGS): new variable
30411 (TARGET_ASFLAGS): likewise
30412 (TARGET_MODULE_FORMAT): likewise
30413 (TARGET_APPLE_CC): likewise
30414 (OBJCONV): likewise
30415 (TARGET_IMG_CFLAGS): likewise
30416 (TARGET_CPPFLAGS): add includedir
30417 * configure.ac: call grub_apple_cc and grub_apple_target_cc
30418 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
30419 Check for linker script only if compiler isn't Apple's CC
30420 (TARGET_MODULE_FORMAT): set
30421 (TARGET_APPLE_CC): likewise
30422 (TARGET_ASFLAGS): likewise
30423 (ASFLAGS): likewise
30424 Check for objcopy only if compiler isn't Apple's CC
30425 Check for BSS symbol only if compiler isn't Apple's CC
30426 * genmk.rb: adapt nm options if we use Apple's utils
30427 * aclocal.m4 (grub_apple_cc): new test
30428 (grub_apple_target_cc): likewise
473d1e45 30429
fb14123e 304302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30431
30432 Simplify sed expressions and improve awk
30433
30434 * Makefile.in (install-local): simplify sed expression
30435 * gencmdlist.sh: likewise
30436 * genmoddep.awk: avoid adding module as a dependency of itself
30437
5b889789 304382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30439
30440 Add missing start symbols
30441
30442 * boot/i386/pc/boot.S: add start
fb14123e 30443 * boot/i386/pc/pxeboot.S: likewise
473d1e45 30444
fd2bf2e3 304452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30446
30447 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 30448
30449 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 30450 (relocate_addresses): consider both r_addend and value at offset
30451 (make_mods_section): zerofill modinfo and header
30452 (convert_elf): write prefix here
473d1e45 30453
5389763d 304542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30455
30456 Use .asciz instead of .string
30457
30458 * i386/pc/diskboot.S: use .asciz instead of .string
30459 * i386/pc/boot.S: likewise
30460 * include/grub/dl.h (GRUB_MOD_DEP): likewise
30461 (GRUB_MOD_NAME): likewise
473d1e45 30462
3eb5ed4e 304632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30464
30465 gfxpayload support
30466
30467 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
30468 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
30469 (grub_video_setup): remove
30470 (grub_video_set_mode): new prototype
30471 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
30472 (vid_mode): remove
30473 (linux_vesafb_res): compile only on PCBIOS
30474 (grub_linux_boot): support gfxpayload
30475 * loader/i386/pc/xnu.c (video_hook): new function
30476 (grub_xnu_set_video): support gfxpayload
30477 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
30478 (DEFAULT_VIDEO_HEIGHT): likewise
30479 (DEFAULT_VIDEO_FLAGS): likewise
30480 (DEFAULT_VIDEO_MODE): new definition
30481 (video_hook): new function
30482 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 30483 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 30484 loading xnu
30485 * video/video.c (grub_video_setup): removed
473d1e45 30486 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 30487 grub_video_setup
30488
4b0e1143 304892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30490
30491 Avoid calling biosdisk in drivemap
30492
30493 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
30494 (revparse_biosdisk): likewise
30495 (list_mappings): derive name from id directly
30496 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 30497
fda6cb98 304982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30499
30500 Script fixes
30501
30502 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
30503 (grub_lexer_param): add tokenonhold
30504 (grub_script_create_cmdline): remove cmdline. All callers updated
30505 (grub_script_function_create): make functionname
30506 grub_script_arg. All callers updated
30507 (grub_script_execute_argument_to_string): new prototype
30508 * kern/parser.c (state_transitions): reorder
30509 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 30510 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 30511 make global
30512 (grub_script_execute_cmdline): use new format
30513 * script/sh/function.c (grub_script_function_create): make functionname
30514 grub_script_arg. All callers updated
473d1e45 30515 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 30516 (grub_script_yylex): remove
30517 (grub_script_yylex2): renamed to ...
30518 (grub_script_yylex): ...renamed
30519 parse the expressions like a${b}c
30520 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
30521 (GRUB_PARSER_TOKEN_VAR): remove
30522 (GRUB_PARSER_TOKEN_NAME): likewise
30523 ("if"): declare as typeless
30524 ("while"): likewise
30525 ("function"): likewise
30526 ("else"): likewise
30527 ("then"): likewise
30528 ("fi"): likewise
30529 (text): remove
30530 (argument): likewise
30531 (script): accept empty scripts and make exit on error
30532 (arguments): use GRUB_PARSER_TOKEN_ARG
30533 (function): likewise
30534 (command): move error handling to script
30535 (menuentry): move grub_script_lexer_ref before
473d1e45 30536 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 30537 argument. All callers updated
30538
f4448a07 305392009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30540
30541 Prevent GRUB from probing floppies during boot.
30542
30543 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
30544 * commands/search.c (options): Add --no-floppy.
30545 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
30546 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
30547 --no-floppy when searching for UUIDs.
30548
2bf5885a 305492009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30550
30551 Simplify the code duplication in commands/search.c.
30552
30553 * commands/search.c (search_label, search_fs_uuid): Merge into ...
30554 (search_fs): ... this. Update all users.
30555
f6fd460a 305562009-06-03 Felix Zielcke <fzielcke@z-51.de>
30557
30558 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
30559
cbb3c83e 305602009-05-28 Pavel Roskin <proski@gnu.org>
30561
57788cfd 30562 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
30563 Remove the original symlink explicitly.
30564
cbb3c83e 30565 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
30566 just one slash. That's how grub_fshelp_find_file() does it.
30567
cd0d5e30 305682009-05-26 Pavel Roskin <proski@gnu.org>
30569
f0f8bbe2 30570 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
30571 to `str'.
30572
cd0d5e30 30573 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
30574 possibly unused.
30575
8c2cab51 305762009-05-25 Christian Franke <franke@computer.org>
30577
30578 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
30579 register.
30580 (grub_atapi_identify): Add wait after drive select.
30581 (grub_ata_identify): Do more strict status register check before
30582 calling grub_atapi_identify (). Suppress error message if status
30583 register is 0x00 after command failure. Add status register
30584 check after PIO read to avoid bogus identify due to stuck DRQ.
30585 Thanks to Pavel Roskin for testing.
30586 (grub_device_initialize): Remove unsafe status register check.
30587 Thanks to 'phcoder' for problem report and patch.
30588 Prevent sign extension in debug message.
30589
230c0ad6 305902009-05-23 Colin D Bennett <colin@gibibit.com>
30591
30592 Cleaned up `include/grub/normal.h'. Grouped prototypes by
30593 definition file, and functions defined in `normal/menu.c' have had
30594 their prototypes moved to `include/grub/menu.h' for consistency.
30595
30596 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
30597 from normal.h.
30598 (grub_menu_get_entry): Likewise.
30599 (grub_menu_get_timeout): Likewise.
30600 (grub_menu_set_timeout): Likewise.
30601 (grub_menu_execute_entry): Likewise.
30602 (grub_menu_execute_with_fallback): Likewise.
30603 (grub_menu_entry_run): Likewise.
30604
30605 * include/grub/normal.h: Re-ordered and grouped function
30606 prototypes by file that the function is defined in.
30607 (grub_menu_execute_callback): Removed; moved to menu.h.
30608 (grub_menu_get_entry): Likewise.
30609 (grub_menu_get_timeout): Likewise.
30610 (grub_menu_set_timeout): Likewise.
30611 (grub_menu_execute_entry): Likewise.
30612 (grub_menu_execute_with_fallback): Likewise.
30613 (grub_menu_entry_run): Likewise.
30614 (grub_menu_addentry): Renamed from this ...
30615 (grub_normal_add_menu_entry): ... to this.
30616
30617 * normal/main.c (grub_menu_addentry): Renamed from this ...
30618 (grub_normal_add_menu_entry): ... to this.
30619
30620 * script/sh/execute.c (grub_script_execute_menuentry): Update
30621 reference to renamed grub_menu_addentry function.
30622
861f03a5 306232009-05-23 Felix Zielcke <fzielcke@z-51.de>
30624
30625 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
30626
96b1619a 306272009-05-22 Pavel Roskin <proski@gnu.org>
30628
bf6a5fb2 30629 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
30630 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
30631 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
30632 compiling for the i386 targets, but not for the utilities.
30633
96b1619a 30634 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
30635 to grub_uint8_t.
30636 (grub_root_drive): Likewise.
30637 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
30638 remove alignment.
30639 (grub_root_drive): Change size to byte.
30640 (grub_start_addr): Remove.
30641 (grub_end_addr): Likewise.
30642 (grub_apm_bios_info): Likewise.
30643
b729776b 306442009-05-21 Felix Zielcke <fzielcke@z-51.de>
30645
30646 * normal/i386: Remove.
30647 * normal/powerpc: Likewise.
30648 * normal/sparc64: Likewise.
30649 * normal/x86_64: Likewise.
30650
0a15ce80 306512009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
30652
30653 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 30654 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 30655 * loader/i386/xnu_helper.S: Likewise
d6da58e6 30656
33db9015 306572009-05-18 Colin D Bennett <colin@gibibit.com>
30658
d6da58e6 30659 Display error messages when parsing a Lua statement fails.
30660 Previously, executing a syntactically invalid statement like
30661 ")foo" or "bar;" would silently fail.
33db9015 30662
30663 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 30664 (grub_lua_parse_line): Improved reporting of Lua parser and
30665 execution errors.
33db9015 30666
46422c89 306672009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30668
30669 Remove -Werror which causes build to fail on some systems
30670
30671 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
30672 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
30673 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 30674
22f53a96 306752009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30676
30677 trampoline for linux on 64-bit platform
30678
18f547ad 30679 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
30680 loader/i386/efi/linux_trampoline.S
30681 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 30682 declaration
d6da58e6 30683 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
30684 here
22f53a96 30685 * loader/i386/linux_trampoline.S: moved here
d6da58e6 30686 * loader/i386/efi/linux.c (allocate_pages): reserve space for
30687 trampoline
22f53a96 30688 (jumpvector): removed
30689 (grub_linux_trampoline_start): new declaration
30690 (grub_linux_trampoline_end): likewise
30691 (grub_linux_boot): use trampoline when on 64-bit platform
30692 * loader/i386/linux.c: likewise
30693
cb5a0f40 306942009-05-16 Pavel Roskin <proski@gnu.org>
30695
30696 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
30697 const to avoid a warning.
30698 (grub_lua_setenv): Likewise.
30699 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
30700 lmsg to fix a warning.
30701
334f2c28 307022009-05-16 Felix Zielcke <fzielcke@z-51.de>
30703
30704 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 30705 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30706 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
30707 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30708 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30709 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30710 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30711 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 30712
59e5d3ec 307132009-05-16 Felix Zielcke <fzielcke@z-51.de>
30714
30715 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
30716
9d87a1ba 307172009-05-16 Bean <bean123ch@gmail.com>
30718
30719 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
30720 (lua_mod_SOURCES): New variable.
30721 (lua_mod_CFLAGS): Likewise.
30722 (lua_mod_LDFLAGS): Likewise.
30723
30724 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
30725 (setjmp_mod_SOURCES): New variable.
30726 (setjmp_mod_CFLAGS): Likewise.
30727 (setjmp_LDFLAGS): Likewise.
30728
30729 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
30730 (setjmp_mod_SOURCES): New variable.
30731 (setjmp_mod_CFLAGS): Likewise.
30732 (setjmp_LDFLAGS): Likewise.
30733
30734 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30735 (setjmp_mod_SOURCES): New variable.
30736 (setjmp_mod_CFLAGS): Likewise.
30737 (setjmp_LDFLAGS): Likewise.
30738
30739 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30740 (setjmp_mod_SOURCES): New variable.
30741 (setjmp_mod_CFLAGS): Likewise.
30742 (setjmp_LDFLAGS): Likewise.
30743
30744 * normal/i386/setjmp.S: Moved from here ...
30745 * lib/i386/setjmp.S: ... Moved here
30746 * normal/x86_64/setjmp.S: Moved from here ...
30747 * lib/x86_64/setjmp.S: ... Moved here
30748 * normal/powerpc/setjmp.S: Moved from here ...
30749 * lib/powerpc/setjmp.S: ... Moved here
30750 * normal/sparc64/setjmp.S: Moved from here ...
30751 * lib/sparc64/setjmp.S: ... Moved here
30752
30753 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
30754 returns_twice in mingw.
30755
30756 * script/lua/grub_lib.c: New file.
30757 * script/lua/grub_lib.h: Likewise.
30758 * script/lua/grub_lua.h: Likewise.
30759 * script/lua/grub_main.c: Likewise.
30760 * script/lua/lapi.c: Likewise.
30761 * script/lua/lapi.h: Likewise.
30762 * script/lua/lauxlib.c: Likewise.
30763 * script/lua/lauxlib.h: Likewise.
30764 * script/lua/lbaselib.c: Likewise.
30765 * script/lua/lcode.c: Likewise.
30766 * script/lua/lcode.h: Likewise.
30767 * script/lua/ldblib.c: Likewise.
30768 * script/lua/ldebug.c: Likewise.
30769 * script/lua/ldebug.h: Likewise.
30770 * script/lua/ldo.c: Likewise.
30771 * script/lua/ldo.h: Likewise.
30772 * script/lua/ldump.c: Likewise.
30773 * script/lua/lfunc.c: Likewise.
30774 * script/lua/lfunc.h: Likewise.
30775 * script/lua/lgc.c: Likewise.
30776 * script/lua/lgc.h: Likewise.
30777 * script/lua/linit.c: Likewise.
30778 * script/lua/liolib.c: Likewise.
30779 * script/lua/llex.c: Likewise.
30780 * script/lua/llex.h: Likewise.
30781 * script/lua/llimits.h: Likewise.
30782 * script/lua/lmathlib.c: Likewise.
30783 * script/lua/lmem.c: Likewise.
30784 * script/lua/lmem.h: Likewise.
30785 * script/lua/loadlib.c: Likewise.
30786 * script/lua/lobject.c: Likewise.
30787 * script/lua/lobject.h: Likewise.
30788 * script/lua/lopcodes.c: Likewise.
30789 * script/lua/lopcodes.h: Likewise.
30790 * script/lua/loslib.c: Likewise.
30791 * script/lua/lparser.c: Likewise.
30792 * script/lua/lparser.h: Likewise.
30793 * script/lua/lstate.c: Likewise.
30794 * script/lua/lstate.h: Likewise.
30795 * script/lua/lstring.c: Likewise.
30796 * script/lua/lstring.h: Likewise.
30797 * script/lua/lstrlib.c: Likewise.
30798 * script/lua/ltable.c: Likewise.
30799 * script/lua/ltable.h: Likewise.
30800 * script/lua/ltablib.c: Likewise.
30801 * script/lua/ltm.c: Likewise.
30802 * script/lua/ltm.h: Likewise.
30803 * script/lua/lua.h: Likewise.
30804 * script/lua/luaconf.h: Likewise.
30805 * script/lua/lualib.h: Likewise.
30806 * script/lua/lundump.c: Likewise.
30807 * script/lua/lundump.h: Likewise.
30808 * script/lua/lvm.c: Likewise.
30809 * script/lua/lvm.h: Likewise.
30810 * script/lua/lzio.c: Likewise.
30811 * script/lua/lzio.h: Likewise.
30812
5e898c9d 308132009-05-16 Bean <bean123ch@gmail.com>
30814
30815 * include/grub/kernel.h (grub_module_header_types): Add type
30816 OBJ_TYPE_CONFIG.
30817
30818 * kern/main.c (grub_load_config): New function.
30819 (grub_main): Call grub_load_config to read boot config.
30820
30821 * grub-mkimage (generate_image): New parameter config_path.
30822 (options): New option --config.
30823 (main): Parse --config option, and pass it to generate_image.
30824
cf353a47 308252009-05-14 Christian Franke <franke@computer.org>
30826
30827 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
30828 This fixes build on Cygwin.
30829
3834887f 308302009-05-14 Pavel Roskin <proski@gnu.org>
30831
30832 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
30833 jump. This saves two bytes, so the typical case of 2 swapped
30834 drives would fit 32 bytes.
30835
8090fc01 308362009-05-13 Pavel Roskin <proski@gnu.org>
30837
ac963883 30838 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30839 grub_uint32_t to avoid a warning.
30840
8090fc01 30841 * loader/i386/linux.c (allocate_pages): When assigning
30842 real_mode_mem, cast through grub_size_t to fix a warning. The
30843 code already makes sure that the value would fit a pointer.
30844 (grub_linux_setup_video): Cast render_target->data to
30845 grub_size_t to fix a warning.
30846
18f547ad 308472009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 30848
30849 * commands/i386/pc/drivemap.c: New file - implement drivemap
30850 command.
30851 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30852 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30853
6f6a8b28 308542009-05-13 Pavel Roskin <proski@gnu.org>
30855
30856 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30857 embedding_area_exists.
30858
15fbf4c4 308592009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30860
30861 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30862 it easier to understand / work with.
59978c8a 30863 Improve warning messages for cases where there's no embedding area,
30864 or when it is too small (or core.img too large).
15fbf4c4 30865
238e871f 308662009-05-13 Pavel Roskin <proski@gnu.org>
30867
0ab3a9a4 30868 * loader/i386/pc/multiboot2.c: Add necessary includes for
30869 grub_multiboot2_real_boot().
30870
a2c8c5f8 30871 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30872 PX record is always little-endian. We only need the lower 2
30873 bytes of the mode.
30874
faec96af 30875 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30876 facilitate code reuse.
30877 (grub_cpio_mount): Use "struct head", not a char buffer. This
30878 fixes a warning reported by gcc 4.4.
30879
238e871f 30880 * kernel/disk.c (grub_disk_read): Use void pointer for the
30881 buffer.
30882 (grub_disk_write): Use const void pointer for the buffer.
30883 Adjust all callers. Remove unnecessary casts.
30884
901d2f0c 308852009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30886
30887 * util/i386/pc/grub-install.in: Update copyright year.
30888
18f547ad 308892009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 30890
30891 gptsync
30892
30893 * commands/gptsync.c: new file
30894 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30895 (gptsync_mod_SOURCES): new variable
30896 (gptsync_mod_CFLAGS): likewise
30897 (gptsync_mod_LDFLAGS): likewise
18f547ad 30898 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 30899 new definition
30900 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30901 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30902 * conf/i386-ieee1275.rmk: likewise
30903 * conf/i386-pc.rmk: likewise
30904 * conf/powerpc-ieee1275.rmk: likewise
30905
b4ba690a 309062009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30907
30908 Fixed grub-emu
30909
30910 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30911 (grub_dl_ref): likewise
30912
317e1a44 309132009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30914
30915 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30916 split in two functions (one for msdos and one for gpt).
30917
041b8094 309182009-05-08 Pavel Roskin <proski@gnu.org>
30919
752473c2 30920 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30921 not modified.
30922
041b8094 30923 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30924 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30925 Initialize them with -1. Add sanity check for bad1. Eliminate
30926 nerr variable.
30927
172800ce 309282009-05-08 David S. Miller <davem@davemloft.net>
30929
30930 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30931
29aa5e81 309322009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30933
30934 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 30935 existence.
29aa5e81 30936
96613b62 309372009-05-05 Felix Zielcke <fzielcke@z-51.de>
30938
30939 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 30940 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 30941
eef73c8a 309422009-05-05 David S. Miller <davem@davemloft.net>
30943
30944 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30945
119494b5 309462009-05-05 Pavel Roskin <proski@gnu.org>
30947
30948 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30949 of grub_dl_ref() and grub_dl_unref().
30950 * commands/parttool.c: Remove preprocessor conditionals around
30951 grub_dl_ref() and grub_dl_unref().
30952 * fs/affs.c: Likewise.
30953 * fs/afs.c: Likewise.
30954 * fs/cpio.c: Likewise.
30955 * fs/ext2.c: Likewise.
30956 * fs/fat.c: Likewise.
30957 * fs/hfs.c: Likewise.
30958 * fs/hfsplus.c: Likewise.
30959 * fs/iso9660.c: Likewise.
30960 * fs/jfs.c: Likewise.
30961 * fs/minix.c: Likewise.
30962 * fs/ntfs.c: Likewise.
30963 * fs/reiserfs.c: Likewise.
30964 * fs/sfs.c: Likewise.
30965 * fs/udf.c: Likewise.
30966 * fs/ufs.c: Likewise.
30967 * fs/xfs.c: Likewise.
30968 * include/grub/dl.h: Likewise.
30969 * loader/xnu.c: Likewise.
30970
de5fd76e 309712009-05-04 Pavel Roskin <proski@gnu.org>
30972
30973 * commands/acpi.c: Remove unused variable my_mod.
30974 * partmap/amiga.c: Likewise.
30975 * partmap/apple.c: Likewise.
30976 * partmap/gpt.c: Likewise.
30977 * partmap/pc.c: Likewise.
30978 * partmap/sun.c: Likewise.
30979 * term/gfxterm.c: Likewise.
30980 * term/i386/pc/vesafb.c: Likewise.
30981 * term/i386/pc/vga.c: Likewise.
30982
983598ad 309832009-05-04 David S. Miller <davem@davemloft.net>
30984
30985 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
30986 pointer args to grub_ieee1275_get_property().
30987
8aadec43 30988 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
30989
9554b15e 30990 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
30991 devices, and do not traverse down under controller nodes.
30992
67e23c90 30993 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
30994 (grub_ofdisk_open): Use it to un-escape "," characters.
30995 * kern/disk.c (find_part_sep): New.
30996 (grub_disk_open): Use it to find the first non-escaped ','
30997 character in the disk name.
30998 * util/ieee1275/devicemap.c (escape_of_path): New.
30999 (grub_util_emit_devicemap_entry): Use it.
31000 * util/sparc64/ieee1275/grub-install.in: Update script to
31001 strip partition specifiers properly by not triggering on
31002 '\' escaped ',' characters.
31003
74bfdd2f 310042009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31005
31006 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
31007 to 0x300.
31008 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
31009 resolutions.
31010 (linux_vesafb_modes): Add a lot of additional modes to the list (based
31011 on documentation from Wikipedia).
31012
4241d2b1 310132009-05-04 Pavel Roskin <proski@gnu.org>
31014
31015 * disk/ata.c: Spelling fixes.
31016 * disk/raid.c: Likewise.
31017 * disk/usbms.c: Likewise.
31018 * disk/dmraid_nvidia.c: Likewise.
31019 * kern/ieee1275/openfw.c: Likewise.
31020 * kern/ieee1275/init.c: Likewise.
31021 * kern/ieee1275/cmain.c: Likewise.
31022 * boot/i386/pc/cdboot.S: Likewise.
31023 * video/readers/png.c: Likewise.
31024 * video/i386/pc/vbe.c: Likewise.
31025 * fs/udf.c: Likewise.
31026 * fs/hfs.c: Likewise.
31027 * fs/reiserfs.c: Likewise.
31028 * efiemu/runtime/efiemu.c: Likewise.
31029 * efiemu/main.c: Likewise.
31030 * efiemu/mm.c: Likewise.
31031 * include/grub/elf.h: Likewise.
31032 * include/grub/xnu.h: Likewise.
31033 * include/grub/usbdesc.h: Likewise.
31034 * include/grub/usb.h: Likewise.
31035 * include/grub/script_sh.h: Likewise.
31036 * include/grub/lib/LzmaEnc.h: Likewise.
31037 * include/grub/efiemu/efiemu.h: Likewise.
31038 * include/grub/command.h: Likewise.
31039 * normal/menu.c: Likewise.
31040 * normal/main.c: Likewise.
31041 * normal/datetime.c: Likewise.
31042 * bus/usb/uhci.c: Likewise.
31043 * mmap/i386/uppermem.c: Likewise.
31044 * mmap/mmap.c: Likewise.
31045 * commands/acpi.c: Likewise.
31046 * commands/test.c: Likewise.
31047 * partmap/apple.c: Likewise.
31048 * font/font.c: Likewise.
31049 * loader/sparc64/ieee1275/linux.c: Likewise.
31050 * loader/macho.c: Likewise.
31051 * loader/i386/bsd_trampoline.S: Likewise.
31052 * loader/i386/bsd.c: Likewise.
31053 * loader/xnu.c: Likewise.
31054 * term/i386/pc/vesafb.c: Likewise.
31055 * term/usb_keyboard.c: Likewise.
31056 * util/resolve.c: Likewise.
31057 * util/getroot.c: Likewise.
31058
0cfc0083 310592009-05-04 Felix Zielcke <fzielcke@z-51.de>
31060
31061 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
31062
7c1d00cd 310632009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31064
31065 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
31066 build error.
31067
b01f0548 310682009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31069
31070 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
31071 parameter only available on BIOS.
31072
ecc3eb22 310732009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31074
31075 Removed wrong semicolon in declaration
31076
31077 * grub/misc.h (grub_dprintf): remove semicolon
31078
112972a9 310792009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31080
31081 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
31082 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
31083 is done by grub_cmd_linux() now).
31084 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
31085 restore video to text mode.
31086 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
31087 indicates lack of "vga=" parameter. "vga=0" is mapped to
31088 `GRUB_LINUX_VID_MODE_NORMAL'.
31089
afd5c115 310902009-05-04 Felix Zielcke <fzielcke@z-51.de>
31091
31092 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
31093 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
31094 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 31095 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 31096 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
31097 `grub_script.tab.c'.
31098
31099 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31100 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31101 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31102 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31103 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31104
faa517ce 31105 * Makefile.in: Remove duplicated 2008 in Copyright line.
31106
ae0c0bdc 311072009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31108
473d1e45 31109 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 31110 unconditionally.
31111 * include/grub/util/misc.h (grub_util_warn): New declaration.
31112
31113 * util/i386/pc/grub-install.in: Understand --force and pass it down
31114 to grub-setup.
31115
31116 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
31117 down to setup().
31118 (setup): Improve error messages and add warnings when requested to
31119 install in odd layouts. Refuse to install using blocklists unless
31120 --force was set.
31121
18f547ad 311222009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 31123
31124 * disk/raid.c (grub_raid_scan_device): Improve debug message.
31125
6d260daa 311262009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31127
31128 Updated copyright year
31129
31130 * fs/hfsplus.c: updated copyright year
18f547ad 31131
69f853f8 311322009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31133
31134 HFS+ UUID
31135
18f547ad 31136 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 31137 in the space previously used by unused3
31138 (grub_hfsplus_uuid): new function
31139 (grub_hfsplus_fs): added uuid field
31140
4c402e73 311412009-05-03 Pavel Roskin <proski@gnu.org>
31142
31143 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
31144 suppress warnings. It's no longer needed.
31145 * disk/host.c: Likewise.
31146 * disk/ata_pthru.c: Likewise.
31147 * disk/loopback.c: Likewise.
31148 * hook/datehook.c: Likewise.
31149 * parttool/pcpart.c: Likewise.
31150 * fs/i386/pc/pxe.c: Likewise.
31151 * fs/ntfscomp.c: Likewise.
31152 * efiemu/main.c: Likewise.
31153 * mmap/mmap.c: Likewise.
31154 * commands/crc.c: Likewise.
31155 * commands/hexdump.c: Likewise.
31156 * commands/hdparm.c: Likewise.
31157 * commands/acpi.c: Likewise.
31158 * commands/echo.c: Likewise.
31159 * commands/minicmd.c: Likewise.
31160 * commands/blocklist.c: Likewise.
31161 * commands/memrw.c: Likewise.
31162 * commands/loadenv.c: Likewise.
31163 * commands/usbtest.c: Likewise.
31164 * commands/lsmmap.c: Likewise.
31165 * commands/boot.c: Likewise.
31166 * commands/parttool.c: Likewise.
31167 * commands/configfile.c: Likewise.
31168 * commands/search.c: Likewise.
31169 * commands/ieee1275/suspend.c: Likewise.
31170 * commands/cat.c: Likewise.
31171 * commands/i386/pc/pxecmd.c: Likewise.
31172 * commands/i386/pc/play.c: Likewise.
31173 * commands/i386/pc/halt.c: Likewise.
31174 * commands/i386/pc/vbeinfo.c: Likewise.
31175 * commands/i386/pc/vbetest.c: Likewise.
31176 * commands/lspci.c: Likewise.
31177 * commands/date.c: Likewise.
31178 * commands/handler.c: Likewise.
31179 * commands/ls.c: Likewise.
31180 * commands/test.c: Likewise.
31181 * commands/cmp.c: Likewise.
31182 * commands/efi/loadbios.c: Likewise.
31183 * commands/efi/fixvideo.c: Likewise.
31184 * commands/halt.c: Likewise.
31185 * commands/help.c: Likewise.
31186 * commands/reboot.c: Likewise.
31187 * hello/hello.c: Likewise.
31188 * script/sh/main.c: Likewise.
31189 * loader/xnu.c: Likewise.
31190 * term/terminfo.c: Likewise.
31191 * term/i386/pc/serial.c: Likewise.
31192 * term/usb_keyboard.c: Likewise.
31193
515b5079 311942009-05-03 David S. Miller <davem@davemloft.net>
31195
31196 * normal/menu.c: Include grub/parser.h
31197
dfc31a22 311982009-05-03 Pavel Roskin <proski@gnu.org>
31199
2fee74f1 31200 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
31201 not char*.
31202 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
31203 Suggested by Javier Martín <lordhabbit@gmail.com>
31204
dfc31a22 31205 * util/i386/pc/grub-mkrescue.in: Allow for the case when
31206 efiemu??.o doesn't exist.
31207 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
31208 copying.
31209
18f547ad 312102009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 31211
31212 FreeBSD 64-bit support
31213
18f547ad 31214 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 31215 and loader/i386/bsd_trampoline.S
31216 (bsd_mod_ASFLAGS): new variable
31217 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
31218 (FREEBSD_MODTYPE_KERNEL64): likewise
31219 (grub_bsd64_trampoline_start): likewise
31220 (grub_bsd64_trampoline_end): likewise
31221 (grub_bsd64_trampoline_selfjump): likewise
31222 (grub_bsd64_trampoline_gdt): likewise
31223 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
31224 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
31225 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
31226 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 31227 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 31228 of "attrib" member
31229 * loader/i386/bsd_pagetable.c: new file
31230 * loader/i386/bsd_trampoline.S: likewise
31231 * loader/i386/bsd.c (ALIGN_QWORD): new macro
31232 (ALIGN_VAR): likewise
31233 (entry_hi): new variable
31234 (kern_end_mdofs): likewise
31235 (is_64bit): likewise
31236 (grub_freebsd_add_meta): use ALIGN_VAR
31237 (grub_e820_mmap): new declaration
31238 (grub_freebsd_add_mmap): new function
31239 (grub_freebsd_add_meta_module): support 64 bit kernels
31240 (grub_freebsd_list_modules): use ALIGN_VAR
31241 (gdt_descriptor): new declaration
31242 (grub_freebsd_boot): support 64 bit kernels
31243 (grub_bsd_elf64_hook): new function
31244 (grub_bsd_load_elf): support elf64
31245
038c5720 312462009-05-03 Bean <bean123ch@gmail.com>
31247
31248 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
31249 after we get the result of if statement.
31250
fc45fb58 312512009-05-03 Bean <bean123ch@gmail.com>
31252
31253 * Makefile.in (enable_efiemu): New variable.
31254
31255 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
31256 set.
31257 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
31258 path.
31259 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
31260 path, add -mno-red-zone option.
31261 (efiemu64_s.o): Likewise.
31262 (efiemu64.o): Use macro $^ for source file.
31263
31264 * configure.ac (--enable-efiemu): New option.
31265
bbee0f2b 312662009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
31267
31268 xnu support
31269
31270 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
31271 (pkglib_MODULES): add xnu.mod
31272 (xnu_mod_SOURCES): new variable
31273 (xnu_mod_CFLAGS): likewise
31274 (xnu_mod_LDFLAGS): likewise
31275 (xnu_mod_ASFLAGS): likewise
31276 * conf/i386-pc.rmk: likewise
31277 * conf/x86_64-efi.rmk: likewise
7dd4a573 31278 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 31279 new declaration
31280 * include/grub/i386/macho.h: new file
31281 * include/grub/i386/xnu.h: likewise
31282 * include/grub/macho.h: likewise
31283 * include/grub/machoload.h: likewise
31284 * include/grub/x86_64/macho.h: likewise
31285 * include/grub/x86_64/xnu.h: likewise
31286 * include/grub/xnu.h: likewise
31287 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
31288 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
31289 * loader/i386/efi/xnu.c: new file
31290 * loader/i386/pc/xnu.c: likewise
31291 * loader/i386/xnu.c: likewise
31292 * loader/i386/xnu_helper.S: likewise
31293 * loader/macho.c: likewise
31294 * loader/xnu.c: likewise
31295 * loader/xnu_resume.c: likewise
31296 * util/grub-dumpdevtree: likewise
31297 * include/grub/i386/pit.h: include grub/err.h
31298 (grub_pit_wait): export
31299 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 31300
5caf964d 313012009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31302
31303 Efiemu
7dd4a573 31304
5caf964d 31305 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 31306 _linux_efi, linux_efi.
31307 new files in grub-emu
5caf964d 31308 new targets efiemu32.o and efiemu64.o
31309 * loader/linux_normal_efiemu.c: likewise
31310 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 31311 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 31312 files to copy
31313 * include/grub/autoefi.h: new file
7dd4a573 31314 * include/grub/i386/efiemu.h: likewise
5caf964d 31315 * include/grub/i386/pc/efiemu.h: likewise
31316 * include/grub/efi/api.h: add LL suffix when necessary
31317 new definitions relating to tables
31318 * include/grub/efiemu/efiemu.h: new file
31319 * include/grub/efiemu/runtime.h: likewise
31320 * efiemu/prepare.c: likewise
31321 * efiemu/loadcore_common.c: likewise
31322 * efiemu/loadcore64.c: likewise
31323 * efiemu/runtime/efiemu.sh: likewise
31324 * efiemu/runtime/efiemu.S: likewise
31325 * efiemu/runtime/efiemu.c: likewise
31326 * efiemu/runtime/config.h: likewise
31327 * efiemu/prepare32.c: likewise
31328 * efiemu/main.c: likewise
31329 * efiemu/modules/pnvram.c: likewise
31330 * efiemu/modules/i386: likewise
31331 * efiemu/modules/i386/pc: likewise
31332 * efiemu/modules/acpi.c: likewise
31333 * efiemu/i386/pc/cfgtables.c: likewise
31334 * efiemu/i386/loadcore64.c: likewise
31335 * efiemu/i386/loadcore32.c: likewise
31336 * efiemu/prepare64.c: likewise
31337 * efiemu/loadcore.c: likewise
31338 * efiemu/symbols.c: likewise
31339 * efiemu/mm.c: likewise
31340 * efiemu/loadcore32.c: likewise
7dd4a573 31341
313422009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 31343
31344 ACPI spoofing
31345
31346 * commands/acpi.c: new file
31347 * commands/i386/pc/acpi.c: likewise
31348 * commands/efi/acpi.c: likewise
31349 * include/grub/acpi.h: likewise
31350 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
31351 (acpi_mod_SOURCES): new variable
31352 (acpi_mod_CFLAGS): likewise
31353 (acpi_mod_LDFLAGS): likewise
31354 * conf/i386-efi.rmk: likewise
31355 * conf/x86_64-efi.rmk: likewise
31356
7dd4a573 313572009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 31358
31359 Missing part from mmap patch
31360
31361 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
31362 (grub_mmap_unregister)
31363 (grub_mmap_free_and_unregister): use grub_mmap_register
31364
7dd4a573 313652009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 31366
31367 Mmap services
31368
31369 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
31370 * loader/i386/linux.c (find_mmap_size): likewise
31371 (allocate_pages): likewise
31372 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
31373 (grub_fill_multiboot_mmap): likewise
31374 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
31375 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
31376 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
31377 (OPENBSD_MMAP_RESERVED): likewise
31378 * include/grub/i386/pc/memory.h: include grub/memory.h
31379 (grub_lower_mem): removed
31380 (grub_upper_mem): likewise
31381 (GRUB_MACHINE_MEMORY_ACPI): new definition
31382 (GRUB_MACHINE_MEMORY_NVS): likewise
31383 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
31384 (GRUB_MACHINE_MEMORY_HOLE): likewise
31385 (grub_machine_mmap_register): likewise
31386 (grub_machine_mmap_unregister): likewise
31387 (grub_machine_get_upper): likewise
31388 (grub_machine_get_lower): likewise
31389 (grub_machine_get_post64): likewise
31390 * include/grub/i386/efi/memory.h: new file
31391 * include/grub/x86_64/efi/memory.h: likewise
31392 * include/grub/efi/memory.h: likewise
31393 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
31394 (mmap_mod_SOURCES): new variable
31395 (mmap_mod_LDFLAGS): likewise
31396 (mmap_mod_ASFLAGS): likewise
31397 * conf/i386-coreboot.rmk: likewise
31398 * conf/i386-ieee1275.rmk: likewise
31399 * conf/i386-efi.rmk: likewise
31400 * conf/x86_64-efi.rmk: likewise
31401 * include/grub/types.h (UINT_TO_PTR): new macro
31402 (PTR_TO_UINT32): likewise
31403 (PTR_TO_UINT64): likewise
31404 * include/grub/memory.h: new file
31405 * mmap/i386/pc/mmap.c: likewise
31406 * mmap/i386/pc/mmap_helper.S: likewise
31407 * mmap/i386/uppermem.c: likewise
31408 * mmap/mmap.c: likewise
31409 * mmap/efi/mmap.c: likewise
7dd4a573 31410 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 31411 grub_upper_mem
31412 * kern/i386/pc/init.c (grub_lower_mem): removed variable
31413 (grub_upper_mem): likewise
31414 (grub_machine_init): don't use grub_upper_mem,
31415 make grub_lower_mem local
31416 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
31417 grub_mmap_iterate and grub_mmap_get_upper
31418 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
31419
d558e6b5 314202009-05-02 Bean <bean123ch@gmail.com>
31421
31422 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
31423 script/sh/parser.y.
31424 (pkglib_MODULES): Add normal.mod and sh.mod.
31425 (normal_SOURCES): New variable.
31426 (normal_mod_CFLAGS): Likewise.
31427 (normal_mod_LDFLAGS): Likewise.
31428 (sh_mod_SOURCES): Likewise.
31429 (sh_mod_CFLAGS): Likewise.
31430 (sh_mod_LDFLAGS): Likewise.
31431
31432 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
31433 script/sh/lexer.c_DEPENDENCIES.
31434 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
31435 kern/rescue_reader.c and kern/rescue_parser.c.
31436 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
31437 (grub_emu_SOURCES): Change source files.
31438 (pkglib_MODULES): Remove normal.mod.
31439 (normal_SOURCES): Removed.
31440 (normal_mod_CFLAGS): Likewise.
31441 (normal_mod_LDFLAGS): Likewise.
31442 * conf/i386-coreboot.rmk: Likewise.
31443 * conf/i386-efi.rmk: Likewise.
31444 * conf/i386-ieee1276.rmk: Likewise.
31445 * conf/powerpc-ieee1275.rmk: Likewise.
31446 * conf/sparc64-ieee1275.rmk: Likewise.
31447 * conf/x86_64-efi.rmk: Likewise.
31448
31449 * include/grub/command.h (grub_command_execute): New inline function.
31450
31451 * include/grub/menu.h (grub_menu_entry): Removed commands field.
31452
31453 * include/grub/normal.h: Remove <grub/setjmp.h>.
31454 (grub_fs_module_list): Moved to normal/autofs.c.
31455 (grub_exit_env): Removed.
31456 (grub_command_execute): Likewise.
31457 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
31458 parameter script.
31459 (read_command_list): New function declaration.
31460 (read_fs_list): Likewise.
31461
31462 * include/parser.h: Include <grub/reader.h>.
31463 (grub_parser_split_cmdline): Change type of getline parameter.
31464 (grub_parser): New structure.
31465 (grub_parser_class): New variable.
31466 (grub_parser_execute): New function declaration.
31467 (grub_register_rescue_parser): Likewise.
31468 (grub_parser_register): New inline function.
31469 (grub_parser_unregister): Likewise.
31470 (grub_parser_get_current): Likewise.
31471 (grub_parser_set_current): Likewise.
31472
31473 * include/grub/reader.h: New file.
31474 * kern/reader.c: Likewise.
31475 * kern/rescue_parser.c: Likewise.
31476 * kern/rescue_reader.c: Likewise.
31477 * normal/autofs.c: Likewise.
31478 * normal/dyncmd.c: Likewise.
31479
31480 * include/grub/rescue.h: Removed.
31481 * normal/command.h: Likewise.
31482
31483 * include/grub/script.h: Moved to ...
31484 * include/grub/script_sh.h: ... Moved here.
31485 * normal/execute.c: Moved to ...
31486 * script/sh/execute.c: ... Moved here.
31487 * normal/function.c: Moved to ...
31488 * script/sh/function.c: ... Moved here.
31489 * normal/lexer.c: Moved to ...
31490 * script/sh/lexer.c: ... Moved here.
31491 * normal/parser.y: Moved to ...
31492 * script/sh/parser.y: ... Moved here.
31493 * normal/script.c: Moved to ...
31494 * script/sh/script.c: ... Moved here.
31495
31496 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
31497 <grub/reader.h>.
31498 (grub_exit_env): Removed.
31499 (fs_module_list): Moved to normal/autofs.c.
31500 (grub_file_getline): Don't handle comment here.
31501 (free_menu): Skip removed field entry->commands.
31502 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
31503 script parameter.
31504 (read_config_file): Removed nested parameter, change getline function.
31505 (grub_enter_normal_mode): Removed.
31506 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
31507 (read_command_list): Likewise.
31508 (autoload_fs_module): Moved to normal/autofs.c.
31509 (read_fs_list): Likewise.
31510 (reader_nested): New variable.
31511 (grub_normal_execute): Run parser.sh to switch to sh parser.
31512 (grub_cmd_rescue): Removed.
31513 (cmd_normal): Removed.
31514 (grub_cmd_normal): Unregister itself at the beginning. Don't register
31515 rescue command.
31516 (grub_cmdline_run): New function.
31517 (grub_normal_reader_init): Likewise.
31518 (grub_normal_read_line): Likewise.
31519 (grub_env_write_pager): Likewise.
31520 (cmdline): New variable.
31521 (grub_normal_reader): Likewise.
31522 (GRUB_MOD_INIT): Register normal reader and set as current, register
31523 pager hook, register normal command with grub_register_command_prio,
31524 so that it won't show up in command.lst.
31525 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
31526 grub_fs_autoload_hook.
31527
31528 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
31529 (grub_menu_execute_entry): Replace grub_script_execute with
31530 grub_parser_execute, change parameter to grub_command_execute.
31531
31532 * normal/menu_text.c: Remove <grub/script.h>.
31533
31534 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
31535 and <grub/parser.h>.
31536 (run): Change editor_getline to use new parser interface. Change
31537 parameter to grub_command_execute.
31538
31539 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
31540 <grub/reader.h> and <grub/parser.h>.
31541 (grub_load_normal_mode): Execute normal command.
31542 (grub_main): Call grub_register_core_commands,
31543 grub_register_rescue_parser and grub_register_rescue_reader, use
31544 grub_reader_loop to enter input loop.
31545
7dd4a573 31546 * kern/parser.c (grub_parser_split_cmdline): Change type of
31547 getline parameter.
d558e6b5 31548 (grub_parser_class): New variable.
31549 (grub_parser_execute): New function.
31550
31551 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
31552 * loader/multiboot2.c: Likewise.
31553 * loader/sparc64/ieee1275/linux.c: Likewise.
31554
31555 * util/grub-emu.c (read_command_list): New dummy function.
31556
18db813d 315572009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31558
31559 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
31560 count to 16 for CCISS and IDA.
31561
6c67de15 315622009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31563
31564 * normal/menu_text.c (grub_wait_after_message): Print a newline
31565 after waiting for user input.
31566
31567 * loader/i386/linux.c: Include `<grub/normal.h>'.
31568 (grub_cmd_linux): Improve the error message about `ask' mode, by
31569 waiting for user input so it's not missed (we can do this, since
31570 user requested interaction).
31571
d9dc87b0 315722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31573
31574 Added missing lst to grub-mkrescue
31575
31576 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
31577 and ${input_dir}/parttool.lst
31578
ac8a2baa 315792009-04-30 David S. Miller <davem@davemloft.net>
31580
ad22a610 31581 * util/hostdisk.c (device_is_wholedisk): New function.
31582 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
31583 zero only if device_is_wholedisk() returns true.
31584
6966215d 31585 * util/hostdisk.c (convert_system_partition_to_system_disk):
31586 Handle virtual disk devices named /dev/vdiskX as found on sparc
31587 and powerpc.
31588
ac8a2baa 31589 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
31590 lettered partition specifier is found, convert to numbered.
31591
979b4fb4 315922009-04-29 David S. Miller <davem@davemloft.net>
31593
e2bf39b2 31594 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
31595 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31596
3c64e104 31597 * normal/command.c: Add missing newline at end of file.
31598
979b4fb4 31599 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
31600 warnings.
31601 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
31602 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
31603 grub_ofdisk_read): Likewise, and deal similarly with the fact that
31604 ihandles have a 32-bit type but need to be stored in a "void *".
31605
136d9f82 316062009-04-28 Pavel Roskin <proski@gnu.org>
31607
9459c306 31608 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
31609 not disk. Adjust all dependencies.
2e08a26a 31610 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 31611 grub_disk_close().
31612
136d9f82 31613 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
31614 parent's partition, don't copy it by reference, as it gets freed
31615 on close.
31616
7dd4a573 316172009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 31618
31619 Preboot hooks support
31620
31621 * commands/boot.c (struct grub_preboot_t): new declaration
31622 (preboots_head): new variable
31623 (preboots_tail): likewise
31624 (grub_loader_register_preboot_hook): new function
31625 (grub_loader_unregister_preboot_hook): likewise
31626 (grub_loader_set): launch preboot hooks
31627 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
31628 (grub_loader_register_preboot_hook): new declaration
31629 (grub_loader_unregister_preboot_hook): likewise
31630
5af922b5 316312009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
31632
31633 Warning fix
31634
7dd4a573 31635 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 31636 calling grub_dprintf
31637
a5562c30 316382009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
31639
31640 Bug and warning fixes
31641
7dd4a573 31642 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 31643 declaration
31644 * commands/test.c (test_parse): fixed bug with file tests and corrected
31645 declaration of find_file
31646
4006f85c 316472009-04-26 Pavel Roskin <proski@gnu.org>
31648
31649 * Makefile.in: Don't install empty manual pages if help2man is
31650 missing. Use help2man option for output, not shell redirection.
31651
5c77c3de 316522009-04-26 David S. Miller <davem@davemloft.net>
31653
31654 * util/grub-mkdevicemap.c (make_device_map): Add missing
31655 NESTED_FUNC_ATTR to process_device().
31656
033b10a8 316572009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31658
31659 Test command
31660
31661 * commands/test.c: rewritten to use bash-like test
31662
e4343593 316632009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31664
31665 Parttool autoloading and improvements
31666
7dd4a573 31667 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 31668 (parttool.lst): new target
31669 * genmk.rb: generate parttool-*
31670 (CLEANFILES): add #{parttool}
31671 (PARTTOOLFILES): new variable
31672 * genparttoollist.sh: new file
7dd4a573 31673 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 31674 (grub_pcpart_type): likewise
31675 * commands/parttool.c (helpmsg): new variable
31676 (grub_cmd_parttool): output help if not enough arguments are supplied
31677 autoload modules
31678 (GRUB_MOD_INIT(parttool)): use helpmsg
31679
0d312500 316802009-04-24 David S. Miller <davem@davemloft.net>
31681
7dd4a573 31682 Avoiding opening same device multiple times in device iterator.
0d312500 31683
31684 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 31685 and use it to build a list of partitions in iterate_disk() and
0d312500 31686 iterate_partition().
31687
ac20caff 31688 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
31689 on disk->data.
31690
0dcf7495 31691 * disk/ieee1275/nand.c (grub_nand_iterate): Return
31692 grub_devalias_iterate() result instead of unconditional 0.
31693 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
31694 Also, capture hook return value, either directly or via
31695 grub_children_iterate(), and propagate to caller.
31696 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
31697 grub_children_iterate): Return value is now 'int' instead of
31698 'grub_err_t'.
31699 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
31700 like a proper iterator, stopping when hooks return non-zero.
31701 (grub_devalias_iterate): Likewise.
31702
c8c08833 317032009-04-23 David S. Miller <davem@davemloft.net>
31704
31705 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
31706
f01005a8 317072009-04-22 David S. Miller <davem@davemloft.net>
31708
31709 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
31710 is larger than address_cells, use that value for address_cells too.
31711
4e8269da 31712 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
31713 IEEE1275_MAX_PATH_LEN): Define.
31714 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
31715 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
31716 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
31717 'devtype'. Explicitly NULL terminate devalias expansion.
31718
a1447506 31719 * util/sparc64/ieee1275/misc.c: New file.
31720 * util/sparc64/ieee1275/grub-setup.c: New file.
31721 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
31722 * util/sparc64/ieee1275/grub-mkimage.c: New file.
31723 * util/sparc64/ieee1275/grub-install.in: New file.
31724 * util/ieee1275/ofpath.c: New file.
31725 * util/ieee1275/devicemap.c: New file.
31726 * util/devicemap.c: New file.
31727 * util/deviceiter.c: New file.
31728 * kern/sparc64/ieee1275/init.c: New file.
31729 * include/grub/util/ofpath.h: New file.
31730 * include/grub/util/deviceiter.h: New file.
31731 * util/grub-mkdevicemap.c: Include deviceiter.h.
31732 Implement using grub_util_emit_devicemap_entry and
31733 grub_util_iterate_devices.
31734 * conf/i386-corebook.rmk: Build util/deviceiter.c and
31735 util/devicemap.c into grub-mkdevicemap
31736 * conf/i386-efi.rmk: Likewise.
31737 * conf/i386-ieee1275.rmk: Likewise.
31738 * conf/i386-pc.rmk: Likewise.
31739 * conf/powerpc-ieee1275.rmk: Likewise.
31740 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
31741 images and installation utilities. Build kernel as image
31742 instead of as elf binary. Use common rules as much as possible.
31743
7dd4a573 317442009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 31745
31746 Correct GPT definition
31747
7dd4a573 31748 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 31749 of "attrib" member
31750
c6c5219f 317512009-04-19 Felix Zielcke <fzielcke@z-51.de>
31752
31753 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
31754
0552ff9f 317552009-04-19 David S. Miller <davem@davemloft.net>
31756
31757 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
31758 (grub_rescue_cmd_linux): Rename to...
31759 (grub_cmd_linux): and fix prototype.
31760 (grub_rescue_cmd_initrd): Rename to...
31761 (grub_cmd_initrd): and fix prototype.
31762 (cmd_linux, cmd_initrd): New.
31763 (GRUB_MOD_INIT(linux)): Use grub_register_command().
31764 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
31765
d1a282fc 317662009-04-17 Pavel Roskin <proski@gnu.org>
31767
07c5039f 31768 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
31769 format.
31770 (grub_ohci_transfer): Likewise.
31771
b012002d 31772 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
31773
1bc09c35 31774 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
31775 return without a value. Fix inconsistent indentation.
31776
e0ff9126 31777 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
31778 match struct grub_fs.
31779
d1a282fc 31780 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
31781 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
31782 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31783 * commands/lspci.c (grub_lspci_iter): Likewise.
31784
a96df3f2 317852009-04-16 Bean <bean123ch@gmail.com>
31786
31787 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
31788 value.
31789
41bb0fe9 317902009-04-15 Pavel Roskin <proski@gnu.org>
31791
31792 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
31793 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
31794 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
31795 definitions.
31796
596c6970 317972009-04-15 Felix Zielcke <fzielcke@z-51.de>
31798
31799 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 31800 that no multiple data or metadata areas are supported and `Unknown
596c6970 31801 metadata header'.
31802
7dd4a573 318032009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 31804
31805 Move loader out of the kernel
31806
31807 * kern/loader.c: moved to ...
31808 * commands/boot.c: ... moved here
31809 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
31810 * commands/boot.c (grub_cmd_boot): moved here. All users updated
31811 * include/grub/kernel.h (grub_machine_fini): export
31812 * include/grub/loader.h (grub_loader_is_loaded): update declaration
31813 (grub_loader_set): likewise
31814 (grub_loader_unset): likewise
31815 (grub_loader_boot): likewise
31816 * conf/common.rmk: new module boot.mod
31817 (pkglib_MODULES): add boot.mod
31818 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
31819 (grub_emu_SOURCES): likewise
31820 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
31821 (grub_emu_SOURCES): likewise
31822 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
31823 (grub_emu_SOURCES): likewise
31824 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
31825 (grub_emu_SOURCES): likewise
31826 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
31827 (grub_emu_SOURCES): likewise
7dd4a573 31828 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
31829 (grub_emu_SOURCES): likewise
0d5d5653 31830 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 31831 (grub_emu_SOURCES): likewise
0d5d5653 31832
7dd4a573 318332009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 31834
31835 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 31836
5999d619 31837 * kern/misc.c (grub_itoa): Removed function
31838 (grub_ltoa): likewise
31839 (grub_vsprintf): use grub_lltoa
31840
7dd4a573 318412009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 31842
31843 Restore grub-emu
31844
31845 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31846 * conf/i386-coreboot.rmk: likewise
31847 * conf/i386-ieee1275.rmk: likewise
31848 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31849
20318222 318502009-04-15 Felix Zielcke <fzielcke@z-51.de>
31851
31852 * INSTALL: Add that `./autogen.sh' needs to be run before
31853 `./configure.'.
31854
d05f0df3 318552009-04-14 Bean <bean123ch@gmail.com>
31856
31857 * Makefile.in (pkglib_DATA): Add handler.lst.
31858 (handler.lst): New rule.
31859
31860 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31861 * conf/i386-coreboot.rmk: Likewise.
31862 * conf/i386-ieee1275.rmk: Likewise.
31863 * conf/i386-efi.rmk: Likewise.
31864 * conf/x86_64-efi.rmk: Likewise.
31865 * conf/powerpc-ieee1275.rmk: Likewise.
31866 * conf/sparc64-ieee1275.rmk: Likewise.
31867
31868 * genhandlerlist.sh: New file.
31869
31870 * genmk.rb: Add rules to generate handler.lst.
31871
31872 * include/grub/normal.h (grub_file_getline): New function definition.
31873 (read_handler_list): Likewise.
31874 (free_handler_list): Likewise.
31875
31876 * include/grub/term.h (grub_term_register_input): Add name parameter
31877 for auto generation of handler.lst.
31878 (grub_term_register_output): Likewise.
31879
31880 * normal/handler.c: New file.
31881
31882 * normal/main.c (get_line): Renamed to grub_file_getline.
31883 (read_config_file): Use the newly renamed grub_file_getline.
31884 (read_command_list): Likewise.
31885 (read_fs_list): Likewise.
31886 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31887 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31888
31889 * term/efi/console.c (grub_console_init): Add name parameter for auto
31890 generation of handler.lst.
31891 * term/gfxterm.c: Likewise.
31892 * term/i386/pc/at_keyboard.c: Likewise.
31893 * term/i386/pc/console.c: Likewise.
31894 * term/i386/pc/serial.c: Likewise.
31895 * term/i386/pc/vesafb.c: Likewise.
31896 * term/i386/pc/vga.c: Likewise.
31897 * term/i386/pc/vga_text.c: Likewise.
31898 * term/ieee1275/ofconsole.c: Likewise.
31899 * term/usb_keyboard.c: Likewise.
31900
33c846be 319012009-04-14 Bean <bean123ch@gmail.com>
31902
31903 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31904 properly with null character.
31905
4484e01e 319062009-04-14 Felix Zielcke <fzielcke@z-51.de>
31907
31908 * configure: Remove.
31909 * config.h.in: Likewise.
f93d668e 31910 * stamp-h.in: Likewise.
4484e01e 31911 * DISTLIST: Likewise.
31912 * conf/common.mk: Likewise.
31913 * conf/i386-coreboot.mk: Likewise.
31914 * conf/i386-efi.mk: Likewise.
31915 * conf/i386-ieee1275.mk: Likewise.
31916 * conf/i386.mk: Likewise.
31917 * conf/i386-pc.mk: Likewise.
31918 * conf/powerpc-ieee1275.mk: Likewise.
31919 * conf/sparc64-ieee1275.mk: Likewise.
31920 * conf/x86_64-efi.mk: Likewise.
31921
31922 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31923 develop on GRUB.
31924
7dd4a573 319252009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 31926 David S. Miller <davem@davemloft.net>
31927
31928 * util/hostdisk.c (make_device_name): Fix buffer length
31929 calculations.
31930
e25b5a8c 319312009-04-14 Felix Zielcke <fzielcke@z-51.de>
31932
31933 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31934 <sys/param.h> and <sys/sysctl.h>.
31935 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31936 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31937 opening the device and reset them afterwards.
31938
1f1f580c 319392009-04-13 Pavel Roskin <proski@gnu.org>
31940
31941 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31942 Reported by John Stanley <jpsinthemix@verizon.net>
31943
7ebc2d6b 319442009-04-13 Robert Millan <rmh@aybabtu.com>
31945
31946 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 31947 that name for menuentries when appropriate.
7ebc2d6b 31948
d8ba3667 319492009-04-13 Felix Zielcke <fzielcke@z-51.de>
31950
31951 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31952
cba416eb 319532009-04-13 Robert Millan <rmh@aybabtu.com>
31954
31955 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31956 to Linux, simply abort telling the user it's no longer supported.
31957
a547a745 319582009-04-13 Felix Zielcke <fzielcke@z-51.de>
31959
31960 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 31961 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 31962 `freebsd_loadenv' only when devices.hints exist.
31963
232a769c 319642009-04-13 Pavel Roskin <proski@gnu.org>
31965
31966 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31967
c3012039 319682009-04-13 Felix Zielcke <fzielcke@z-51.de>
31969
31970 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31971 partition number.
31972 (grub_drive): Likewise.
31973
234022fe 319742009-04-13 David S. Miller <davem@davemloft.net>
31975
31976 * kern/sparc64/ieee1275/ieee1275.c: New file.
31977 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
31978 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
31979 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
31980 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
31981 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
31982 grub_ieee1275_alloc_physmem): Declare new exported functions.
31983
d8e1836c 31984 * include/grub/sparc64/ieee1275/loader.h: New file.
31985 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31986 * include/grub/sparc64/kernel.h: Likewise.
31987 * loader/sparc64/ieee1275/linux.c: Likewise.
31988
96bd81ec 31989 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
31990 (grub_fstest_SOURCES): Likewise.
31991
6a4737e5 31992 * util/hostdisk.c (make_device_name): Do not make any assumptions
31993 about the length of drive names.
31994
1d7a72fd 31995 * kern/dl.c (grub_dl_load_file): Close file immediately when
31996 we are done using it.
31997
56bc2471 319982009-04-12 David S. Miller <davem@davemloft.net>
31999
32000 * kern/misc.c (grub_ltoa): Fix cast when handling negative
32001 values. Noticed by Pavel Roskin.
32002
df38d0bb 32003 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
32004 target compiler.
7dd4a573 32005
e382e93a 32006 * genmk.rb: Add more flexible image type specification, also
32007 pass --strip-unneeded to objcopy.
32008 * conf/i386-pc.rmk: Use *_FORMAT.
32009 * conf/i386-pc.mk: Rebuilt.
32010
f5dbbca9 32011 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
32012 (OFDISK_HASH_SZ): Define.
32013 (ofdisk_hash): New hash table.
32014 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
32015 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
32016 instead of device phandle which is not unique.
32017
91c88b12 32018 * kern/sparc64/ieee1275/init.c: Delete, replace with...
32019 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
32020 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
32021 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
32022 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
32023 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
32024 GRUB_KERNEL_MACHINE_DATA_END): Define.
32025 (grub_kernel_image_size, grub_total_module_size): Declare.
32026
5b5d4aa5 320272009-04-12 Pavel Roskin <proski@gnu.org>
32028
7dd4a573 32029 * configure.ac: Change the logic when we check for target tools.
32030 Do it when the target is specified and it's different from the
32031 specified value of the host.
5b5d4aa5 32032
c91e1793 320332009-04-11 Felix Zielcke <fzielcke@z-51.de>
32034
32035 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
32036 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
32037 GNU/kFreeBSD. Check if a device is a character device. Use
32038 DIOCGMEDIASIZE to get the size.
32039 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
32040 support for GNU/kFreeBSD.
32041 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
32042 is a character device instead of a block device. Add support for
32043 FreeBSD device names.
32044
32045 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
32046 is a character device instead of a block device.
32047
32048 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
32049 is a character device instead of a block device.
32050
b1ac8644 320512009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
32052
32053 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
32054 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
32055 FreeBSD. Check if a device is a character device. Use
32056 DIOCGMEDIASIZE to get the size.
32057 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
32058 support for FreeBSD.
32059 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
32060 is a character device instead of a block device. Add support for
32061 FreeBSD device names.
32062
32063 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
32064 a character device instead of a block device.
32065 (grub_util_check_char_device): New function.
32066
32067 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
32068 a character device instead of a block device.
32069
32070 * include/grub/util/getroot.h (grub_util_check_char_device): New
32071 prototype.
32072
a3f7515a 320732009-04-11 David S. Miller <davem@davemloft.net>
32074
32075 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
32076 static libgcc.
32077 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
32078 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
32079 function, if present.
32080 (__bswapdi2): Likewise.
32081
0d44993d 32082 * include/grub/sparc64/ieee1275/boot.h: New file.
32083 * boot/sparc64/ieee1275/boot.S: Likewise.
32084 * boot/sparc64/ieee1275/diskboot.S: Likewise.
32085
ed3d2bc2 32086 * kern/misc.c (grub_ltoa): New function.
32087 (grub_vsprintf): Use it to format 'long' integers.
32088
d3bfb59c 320892009-04-10 David S. Miller <davem@davemloft.net>
32090
32091 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
32092 slots are of type grub_ieee1275_cell_t.
32093 (grub_nand_read): Likewise.
32094 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
32095 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
32096 macros are used to compare values in arg/ret block of the call.
32097 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32098 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
32099 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
32100 grub_ieee1275_instance_to_path, grub_ieee1275_write,
32101 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
32102 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
32103 grub_ieee1275_close, grub_ieee1275_set_property,
32104 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
32105 grub_ieee1275_cell_t.
32106 * kern/ieee1275/openfw.c (grub_map): Likewise.
32107 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
32108 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
32109
450e2238 32110 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
32111 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
32112 (grub_devalias_iterate): Likewise.
32113
7dd4a573 321142009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 32115
32116 UFS improvements
32117
32118 * fs/ufs.c (INODE_NBLOCKS): new definition
32119 (struct grub_ufs_dirent): added fields for non-BSD dirents
32120 (grub_ufs_get_file_block): fixed double indirect handling
32121 (grub_ufs_lookup_symlink): use more robust way to determine whether
32122 symlink is inline
32123 (grub_ufs_find_file): support for non-BSD dirents
32124 (grub_ufs_dir): support for non-BSD dirents
32125
e7e6862a 321262009-04-10 Bean <bean123ch@gnail.com>
32127
32128 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
32129 attribute, otherwise the size would be wrong for i386 platform.
32130
32131 * include/grub/pci.h (grub_pci_read_word): New inline function.
32132 (grub_pci_read_byte): Likewise.
32133 (grub_pci_write): Likewise.
32134 (grub_pci_write_word): Likewise.
32135 (grub_pci_write_byte): Likewise.
32136
32137 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
32138
32139 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
32140 (find_framebuf): Scan pci to locate the frame buffer address.
32141
32142 * commands/efi/fixvideo.c: New file.
32143
32144 * commands/efi/loadbios.c: Likewise.
32145
32146 * commands/memrw.c: Likewise.
32147
32148 * util/grub-dumpbios.in: Likewise.
32149
32150 * conf/common.rmk (grub-dumpbios): New utility.
32151 (pkglib_MODULES): New module memrw.mod.
32152 (memrw_mod_SOURCE): New macro.
32153 (memrw_mod_CFLAGS): Likewise.
32154 (memrw_mod_LDFLAGS): Likewise.
32155
7dd4a573 32156 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 32157 fixvideo.mod.
32158 (loadbios_mod_SOURCE): New macro.
32159 (loadbios_mod_CFLAGS): Likewise.
32160 (loadbios_mod_LDFLAGS): Likewise.
32161 (fixvideo_mod_SOURCE): Likewise.
32162 (fixvideo_mod_CFLAGS): Likewise.
32163 (fixvideo_mod_LDFLAGS): Likewise.
32164
7dd4a573 32165 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 32166 fixvideo.mod.
32167 (loadbios_mod_SOURCE): New macro.
32168 (loadbios_mod_CFLAGS): Likewise.
32169 (loadbios_mod_LDFLAGS): Likewise.
32170 (fixvideo_mod_SOURCE): Likewise.
32171 (fixvideo_mod_CFLAGS): Likewise.
32172 (fixvideo_mod_LDFLAGS): Likewise.
32173
af63ada2 321742009-04-08 Felix Zielcke <fzielcke@z-51.de>
32175
32176 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
32177
c2cdde70 321782009-04-07 David S. Miller <davem@davemloft.net>
32179
32180 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
32181 support for R_SPARC_OLO10 relocations. Fix compile warning for
32182 R_SPARC_WDISP30 case.
ea3f72cf 32183 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 32184
761319cf 321852009-04-06 Pavel Roskin <proski@gnu.org>
32186
1007d1f5 32187 * include/grub/misc.h (ARRAY_SIZE): New macro.
32188 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
32189 New macro.
32190 * loader/i386/linux.c (allocate_pages): Use free_pages().
32191 (grub_linux_unload): Don't use free_pages().
32192 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
32193 wrong index. Treat all other modes as text modes.
32194 (grub_cmd_linux): Initialize vid_mode unconditionally to
32195 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
32196
761319cf 32197 * commands/help.c (print_command_help): Use cmd->prio, not
32198 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
32199
ea761d40 322002009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 32201
ea761d40 32202 Parttool
32203
32204 * parttool/pcpart.c: new file
32205 * commands/parttool.c: likewise
32206 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
32207 (parttool_mod_SOURCES): new variable
32208 (parttool_mod_CFLAGS): likewise
32209 (parttool_mod_LDFLAGS): likewise
32210 (pcpart_mod_SOURCES): likewise
32211 (pcpart_mod_CFLAGS): likewise
32212 (pcpart_mod_LDFLAGS): likewise
7dd4a573 32213 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 32214 and parttool/pcpart.c
32215 * conf/i386-efi.rmk: likewise
32216 * conf/i386-ieee1275.rmk: likewise
32217 * conf/i386-pc.rmk: likewise
32218 * conf/powerpc-ieee1275.rmk: likewise
32219 * conf/sparc64-ieee1275.rmk: likewise
32220 * conf/x86_64-ieee1275.rmk: likewise
32221
05aaebfb 322222009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32223
32224 Support for mtime and further expandability of dir command
32225
32226 * include/grub/lib/datetime.h: moved to ...
7dd4a573 32227 * include/grub/datetime.h: ... moved here and added
05aaebfb 32228 declaration of grub_unixtime2datetime. All users updated
7dd4a573 32229 * include/grub/fs.h: new syntax for dir and mtime functions in
32230 struct grub_fs
05aaebfb 32231 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
32232 and GRUB_FSHELP_FLAGS_MASK
32233 * commands/ls.c (grub_ls_list_files): Write mtime in long format
32234 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
32235 (grub_ext2_mtime): new function
32236 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
32237 (grub_hfsplus_mtime): new function
32238 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
32239 (GRUB_UFS_ATTR_FILE): likewise
32240 (GRUB_UFS_ATTR_LNK): likewise
32241 (struct grub_ufs_sblock): new fields mtime
32242 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
32243 all users updated
32244 (grub_ufs_dir): mtime support
32245 (grub_ufs_mtime): new function
32246 * fs/affs.c (grub_affs_dir): use new dir syntax
32247 * fs/afs.c (grub_afs_dir): likewise
32248 * fs/cpio.c (grub_cpio_dir): likewise
32249 * fs/fat.c (grub_fat_find_dir): likewise
32250 * fs/hfs.c (grub_hfs_dir): likewise
32251 * fs/iso9660.c (grub_iso9660_dir): likewise
32252 * fs/jfs.c (grub_jfs_dir): likewise
32253 * fs/minix.c (grub_minix_dir): likewise
32254 * fs/ntfs.c (grub_ntfs_dir): likewise
32255 * fs/reiserfs.c (grub_reiserfs_dir): likewise
32256 * fs/sfs.c (grub_sfs_dir): likewise
32257 * fs/xfs.c (grub_xfs_dir): likewise
32258 * util/hostfs.c (grub_hostfs_dir): likewise
32259 * lib/datetime.c: moved to ...
32260 * normal/datetime.c: ... moved here
32261 (grub_unixtime2datetime): new function
32262 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 32263 * normal/completion.c (iterate_dir): use new dir syntax
32264 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 32265 last modification time of a volume
7dd4a573 32266 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 32267 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 32268 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 32269 (normal_mod_SOURCES): likewise
32270 (datetime_mod_SOURCES): Removed lib/datetime.c
32271 * conf/i386-efi.rmk: likewise
7dd4a573 32272 * conf/i386-ieee1275.rmk: likewise
05aaebfb 32273 * conf/i386-pc.rmk: likewise
32274 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 32275 * conf/sparc64-ieee1275.rmk: likewise
32276 * conf/x86_64-efi.rmk: likewise
05aaebfb 32277
8a7e1a14 322782009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32279
32280 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 32281
32282 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 32283 on grub_fat_find_dir
32284 (grub_fat_find_dir): use grub_fat_iterate_dir
32285 (grub_fat_label): likewise
32286
04186a9c 322872009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
32288
7dd4a573 32289 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 32290 and command.h
32291 remove extraneous kernel_elf_HEADERS
32292
da4c0bb6 322932009-04-04 Bean <bean123ch@gnail.com>
32294
32295 * include/grub/util/misc.h: Add dummy function fsync for mingw.
32296
32297 * util/misc.c: Likewise.
32298
54ad9555 322992009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32300
32301 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
32302 instead of grub_printf.
32303
7a6bf9f2 323042009-04-03 Robert Millan <rmh@aybabtu.com>
32305
32306 * loader/i386/linux.c (grub_linux_setup_video): Fill
32307 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
32308 values from `mode info' structure instead of hardcoded
32309 values.
32310
3fcc2083 323112009-04-01 Pavel Roskin <proski@gnu.org>
32312
32313 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
32314 unused now.
32315 * genmk.rb: Likewise.
32316 * configure.ac: Likewise.
32317
5ec9740b 323182009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
32319
32320 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
32321 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
32322
5270cec8 323232009-04-01 David S. Miller <davem@davemloft.net>
32324
32325 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 32326 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 32327 (grub_setjmp): Mark with 'returns_twice' attribute.
32328 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
32329 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
32330 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
32331
9c3dd854 323322009-04-01 Robert Millan <rmh@aybabtu.com>
32333
32334 Reapply fix from 2008-07-28 which was accidentally reverted; also
32335 perform the same fix to a similar check in same function.
32336
32337 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32338 with the same number are found, just use issue a warning with
32339 grub_dprintf(), as this error has been reported to be non-fatal.
32340
0d818b7e 323412009-03-31 Pavel Roskin <proski@gnu.org>
32342
32343 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
32344 for cross-compilation.
32345
95646d92 323462009-03-30 Robert Millan <rmh@aybabtu.com>
32347
32348 Fix i386-ieee1275 build.
32349
32350 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
32351 Remove declaration.
32352
6a003ed1 323532009-03-30 Pavel Roskin <proski@gnu.org>
32354
32355 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
32356 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
32357 zero-terminated, rely only on the strlen value. Fix comparison
32358 of strings differing in length.
32359
92f33540 323602009-03-30 Robert Millan <rmh@aybabtu.com>
32361
32362 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
32363 checking for abi version. Improve error messages on BIOS to notify
32364 user about `linux16' command.
32365
a8c48fd5 323662009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
32367
f968172e 32368 Leak fixes
a8c48fd5 32369
f968172e 32370 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
32371 in case of collision
32372 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 32373
9c323f09 323742009-03-29 Robert Millan <rmh@aybabtu.com>
32375
32376 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
32377 set `vid_mode' accordingly.
32378 (grub_linux_boot): Process `vid_mode' and set video mode.
32379
ae68f423 323802009-03-29 Robert Millan <rmh@aybabtu.com>
32381
32382 * util/grub.d/10_linux.in (linux_entry): New function.
32383 Factorize generation of Linux boot entries.
32384
5709cfc4 323852009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
32386
32387 Make the format of Environment Block plain text. The boot loader
32388 part is not tested well yet.
7dd4a573 32389
5709cfc4 32390 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
32391 (buffer): Removed.
32392 (envblk): Likewise.
32393 (usage): Remove "info" and "clear". Add "unset". Update the
32394 description of "set", as this does not delete variables any
32395 longer.
32396 (create_envblk_file): Complete rewrite.
32397 (open_envblk_file): Likewise.
32398 (cmd_info): Removed.
32399 (cmd_list): Likewise.
32400 (cmd_set): Likewise.
32401 (cmd_clear): Likewise.
32402 (list_variables): New function.
32403 (write_envblk): Likewise.
32404 (set_variables): Likewise.
32405 (unset_variables): Likewise.
32406 (main): Complete rewrite.
32407
32408 * commands/loadenv.c (buffer): Removed.
32409 (envblk): Likewise.
32410 (open_envblk_file): New function.
32411 (read_envblk_file): Complete rewrite.
32412 (grub_cmd_load_env): Likewise.
32413 (grub_cmd_list_env): Likewise.
32414 (struct blocklist): New struct.
32415 (free_blocklists): New function.
32416 (check_blocklists): Likewise.
32417 (write_blocklists): Likewise.
32418 (grub_cmd_save_env): Complete rewrite.
32419
32420 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
32421 a plain text signature.
32422 (GRUB_ENVBLK_MAXLEN): Removed.
32423 (struct grub_envblk): Complete rewrite.
32424 (grub_envblk_find): Removed.
32425 (grub_envblk_insert): Likewise.
32426 (grub_envblk_open): New prototype.
32427 (grub_envblk_set): Likewise.
32428 (grub_envblk_delete): Put const to VALUE.
32429 (grub_envblk_iterate): Put const to NAME and VALUE.
32430 (grub_envblk_close): New prototype.
32431 (grub_envblk_buffer): New inline function.
32432 (grub_envblk_size): Likewise.
32433
32434 * lib/envblk.c: Include grub/mm.h.
32435 (grub_env_find): Removed.
32436 (grub_envblk_open): New function.
32437 (grub_envblk_close): Likewise.
32438 (escaped_value_len): Likewise.
32439 (find_next_line): Likewise.
32440 (grub_envblk_insert): Removed.
32441 (grub_envblk_set): New function.
32442 (grub_envblk_delete): Complete rewrite.
32443 (grub_envblk_iterate): Likewise.
32444
a9368fd3 324452009-03-28 Robert Millan <rmh@aybabtu.com>
32446
32447 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
32448 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
32449 variables. Use 16-bit loader.
32450 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
32451 loader.
32452 * kern/i386/loader.S (grub_linux_boot): Rename to ...
32453 (grub_linux16_boot): ... this. Update all users.
32454 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
32455 (grub_linux_boot): ... this. Update all users.
32456
32457 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
32458 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
32459 commands to `linux16' and `initrd16'.
32460 (GRUB_MOD_FINI(linux)): Rename to ...
32461 (GRUB_MOD_FINI(linux16)): ... this.
32462
e4dd5a7e 324632009-03-24 Pavel Roskin <proski@gnu.org>
32464
32465 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
32466 not just for compilation.
32467
c04d6e05 324682009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
32469
32470 Move multiboot helper out of kernel
32471
32472 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
32473 `loader/i386/multiboot_helper.S'.
32474 * conf/i386-coreboot.rmk: Likewise
32475 * conf/i386-ieee1275.rmk: Likewise
32476
32477 * kern/i386/loader.S: Move multiboot helpers from here...
32478 * loader/i386/multiboot_helper.S: ...moved here
32479 * include/grub/i386/loader.h: Move declarations of multiboot
32480 helpers from here...
32481 * include/grub/i386/multiboot.h: ...moved here
32482 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
32483
42a5b3fc 324842009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32485
32486 * kern/env.c (grub_env_context_open): Added an argument to specify
32487 whether a new context inherits exported variables from current
32488 one. This is useful when making a sandbox to interpret a config
32489 file.
32490 All callers updated.
32491
32492 * include/grub/env.h (grub_env_context_open): Updated the prototype.
32493
b28bbc4e 324942009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32495
32496 * kern/env.c (grub_env_context_close): Fix memory leaks.
32497
f04f02e4 324982009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32499
32500 * normal/main.c (grub_normal_execute): Added an argument
32501 BATCH to specify if an interactive interface should be provided
32502 after reading a config file.
32503 All callers updated.
32504 (read_command_list): Prevent being executed twice.
32505 (read_fs_list): Likewise.
32506
42a5b3fc 32507 * include/grub/normal.h (grub_normal_execute): Updated the
32508 prototype.
f04f02e4 32509
41473ac2 325102009-03-22 Pavel Roskin <proski@gno.org>
32511
fbc00b0c 32512 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
32513 _start.
32514 * kern/i386/pc/startup.S: Likewise.
32515 * kern/i386/efi/startup.S: Likewise.
32516 * kern/i386/ieee1275/startup.S: Likewise.
32517 * kern/i386/coreboot/startup.S: Likewise.
32518 * kern/x86_64/efi/startup.S: Likewise.
32519
41473ac2 32520 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
32521 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
32522 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
32523
2274cc8f 325242009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
32525
32526 Bugfixes in multiboot for bugs uncovered by solaris kernel.
32527
32528 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
32529 limit detection.
32530 Use vaddr of correct segment for entry_point.
32531
b1b797cb 325322009-03-21 Bean <bean123ch@gmail.com>
32533
32534 * commands/blocklist.c: Add include file <grub/command.h>, remove
32535 <grub/normal.h> and <grub/arg.h>.
32536 (grub_cmd_blocklist): Use the new command interface.
32537 (GRUB_MOD_INIT): Likewise.
32538 (GRUB_MOD_FINI): Likewise.
32539 * commands/boot.c: Likewise.
32540 * commands/cat.c: Likewise.
32541 * commands/cmp.c: Likewise.
32542 * commands/configfile.c: Likewise.
32543 * commands/crc.c: Likewise.
32544 * commands/echo.c: Likewise.
32545 * commands/halt.c: Likewise.
32546 * commands/handler.c: Likewise.
32547 * commands/hdparm.c: Likewise.
32548 * commands/help.c: Likewise.
32549 * commands/hexdump.c: Likewise.
32550 * commands/loadenv.c: Likewise.
32551 * commands/ls.c: Likewise.
32552 * commands/lsmmap.c: Likewise.
32553 * commands/lspci.c: Likewise.
32554 * commands/loadenv.c: Likewise.
32555 * commands/read.c: Likewise.
32556 * commands/reboot.c: Likewise.
32557 * commands/search.c: Likewise.
32558 * commands/sleep.c: Likewise.
32559 * commands/test.c: Likewise.
32560 * commands/usbtest.c: Likewise.
32561 * commands/videotest.c: Likewise.
32562 * commands/i386/cpuid.c: Likewise.
32563 * commands/i386/pc/halt.c: Likewise.
32564 * commands/i386/pc/play.c: Likewise.
32565 * commands/i386/pc/pxecmd.c: Likewise.
32566 * commands/i386/pc/vbeinfo.c: Likewise.
32567 * commands/i386/pc/vbetest.c: Likewise.
32568 * commands/ieee1275/suspend.c: Likewise.
32569 * disk/loopback.c: Likewise.
32570 * font/font_cmd.c: Likewise.
32571 * hello/hello.c: Likewise.
32572 * loader/efi/appleloader.c: Likewise.
32573 * loader/efi/chainloader.c: Likewise.
32574 * loader/i386/bsd.c: Likewise.
32575 * loader/i386/efi/linux.c: Likewise.
32576 * loader/i386/ieee1275/linux.c: Likewise.
32577 * loader/i386/linux.c: Likewise.
32578 * loader/i386/pc/chainloader.c: Likewise.
32579 * loader/i386/pc/linux.c: Likewise.
32580 * loader/powerpc/ieee1275/linux.c: Likewise.
32581 * loader/multiboot_loader.c: Likewise.
32582 * term/gfxterm.c: Likewise.
32583 * term/i386/pc/serial.c: Likewise.
32584 * term/terminfo.c: Likewise.
32585
32586 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
32587 * term/i386/pc/vga.c: Likewise.
32588 * video/readers/jpeg.c: Likewise.
32589 * video/readers/png.c: Likewise.
32590 * video/readers/tga.c: Likewise.
32591
32592 * util/grub-fstest (cmd_loopback): Removed.
32593 (cmd_blocklist): Likewise.
32594 (cmd_ls): Likewise.
32595 (grub_register_command): Likewise.
32596 (grub_unregister_command): Likewise.
32597 (execute_command): Use grub_command_find to locate command and execute
32598 it.
32599
32600 * include/grub/efi/chainloader.h: Removed.
32601 * loader/efi/chainloader_normal.c: Likewise.
32602 * loader/i386/bsd_normal.c: Likewise.
32603 * loader/i386/pc/chainloader_normal.c: Likewise.
32604 * loader/i386/pc/multiboot_normal.c: Likewise.
32605 * loader/linux_normal.c: Likewise.
32606 * loader/multiboot_loader_normal.c: Likewise.
32607 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32608
32609 * gencmdlist.sh: Scan new registration command grub_register_extcmd
32610 and grub_register_command_p1.
32611
32612 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
32613 kern/command.c, lib/arg.c and commands/extcmd.c.
32614 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
32615 (minicmd_mod_SOURCES): New variable.
32616 (minicmd_mod_CFLAGS): Likewise.
32617 (minicmd_mod_LDFLAGS): Likewise.
32618 (extcmd_mod_SOURCES): Likewise.
32619 (extcmd_mod_CFLAGS): Likewise.
32620 (extcmd_mod_LDFLAGS): Likewise.
32621 (boot_mod_SOURCES): Removed.
32622 (boot_mod_CFLAGS): Likewise.
32623 (boot_mod_LDFLAGS): Likewise.
32624
32625 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
32626 kern/corecmd.c.
32627 (kernel_img_HEADERS): Add command.h.
32628 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
32629 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
32630 and lib/arg.c.
32631 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
32632 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
32633 remove the corresponding normal mode command.
32634 (normal_mod_SOURCES): Remove normal/arg.c.
32635 * conf/i386-coreboot.rmk: Likewise.
32636 * conf/i386-efi.rmk: Likewise.
32637 * conf/i386-ieee1275.rmk: Likewise.
32638 * conf/powerpc-ieee1275.rmk: Likewise.
32639 * conf/x86_64-efi.rmk: Likewise.
32640
32641 * include/grub/arg.h: Move from here ...
32642 * include/grub/lib/arg.h: ... to here.
32643
32644 * normal/arg.c: Move from here ...
32645 * lib/arg.c: ... to here.
32646
32647 * commands/extcmd.c: New file.
32648 * commands/minicmd.c: Likewise.
32649 * include/grub/command.h: Likewise.
32650 * include/grub/extcmd.h: Likewise.
32651 * kern/command.c: Likewise.
32652 * kern/corecmd.c: Likewise.
32653
32654 * kern/list.c (grub_list_iterate): Return int instead of void.
32655 (grub_list_insert): New function.
32656 (grub_prio_list_insert): Likewise.
32657
32658 * kern/rescue.c (grub_rescue_command): Removed.
32659 (grub_rescue_command_list): Likewise.
32660 (grub_rescue_register_command): Likewise.
32661 (grub_rescue_unregister_command): Likewise.
32662 (grub_rescue_cmd_boot): Move to minicmd.c
32663 (grub_rescue_cmd_help): Likewise.
32664 (grub_rescue_cmd_info): Likewise.
32665 (grub_rescue_cmd_boot): Likewise.
32666 (grub_rescue_cmd_testload): Likewise.
32667 (grub_rescue_cmd_dump): Likewise.
32668 (grub_rescue_cmd_rmmod): Likewise.
32669 (grub_rescue_cmd_lsmod): Likewise.
32670 (grub_rescue_cmd_exit): Likewise.
32671 (grub_rescue_print_devices): Moved to corecmd.c.
32672 (grub_rescue_print_files): Likewise.
32673 (grub_rescue_cmd_ls): Likewise.
32674 (grub_rescue_cmd_insmod): Likewise.
32675 (grub_rescue_cmd_set): Likewise.
32676 (grub_rescue_cmd_unset): Likewise.
7d074e3c 32677 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 32678 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 32679 commands, remove grub_rescue_register_command calls.
b1b797cb 32680
7d074e3c 32681 * normal/command.c (grub_register_command): Removed.
b1b797cb 32682 (grub_unregister_command): Likewise.
32683 (grub_command_find): Likewise.
32684 (grub_iterate_commands): Likewise.
32685 (rescue_command): Likewise.
32686 (export_command): Moved to corecmd.c.
32687 (set_command): Removed.
32688 (unset_command): Likewise.
32689 (insmod_command): Likewise.
32690 (rmmod_command): Likewise.
32691 (lsmod_command): Likewise.
32692 (grub_command_init): Likewise.
32693
32694 * normal/completion.c (iterate_command): Use cmd->prio to check for
32695 active command.
32696 (complete_arguments): Use grub_extcmd_t structure to find options.
32697 (grub_normal_do_completion): Change function grub_iterate_commands to
32698 grub_command_iterate.
32699
32700 * normal/execute.c (grub_script_execute_cmd): No need to parse
32701 argument here.
32702
32703 * normal/main.c (grub_dyncmd_dispatcher): New function.
32704 (read_command_list): Register unload commands as dyncmd.
32705 (grub_cmd_normal): Use new command interface, register rescue,
32706 unregister normal at entry, register normal, unregister rescue at exit.
32707
32708 * include/grub/list.h (grub_list_test_t): New type.
32709 (grub_list_iterate): Return int instead of void.
32710 (grub_list_insert): New function.
32711 (GRUB_AS_NAMED_LIST_P): New macro.
32712 (GRUB_AS_PRIO_LIST): Likewise.
32713 (GRUB_AS_PRIO_LIST_P): Likewise.
32714 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
32715 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
32716 (grub_prio_list): New structure.
32717 (grub_prio_list_insert): New function.
32718 (grub_prio_list_remove): New inline function.
32719
32720 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
32721 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
32722 (GRUB_COMMAND_FLAG_MENU): Likewise.
32723 (GRUB_COMMAND_FLAG_BOTH): Likewise.
32724 (GRUB_COMMAND_FLAG_TITLE): Likewise.
32725 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
32726 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
32727 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
32728 (grub_command): Likewise.
32729 (grub_register_command): Likewise.
32730 (grub_command_find): Likewise.
32731 (grub_iterate_commands): Likewise.
32732 (grub_command_init): Likewise.
32733 (grub_arg_parse): Likewise.
32734 (grub_arg_show_help): Likewise.
32735
32736 * include/grub/rescue.h (grub_rescue_register_command): Removed.
32737 (grub_rescue_unregister_command): Likewise.
32738
32739 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
32740 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
32741 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
32742
32743 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
32744 grub_rescue_cmd_initrd.
32745 * include/grub/i386/loader.h: Likewise.
32746 * include/grub/x86_64/loader.h: Likewise.
32747
32748 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
32749
1f4147aa 327502009-03-21 Bean <bean123ch@gmail.com>
32751
32752 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
32753 instead of stat in mingw environment.
32754
32755 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
32756
32757 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
32758
32759 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
32760 AC_CONFIG_LINKS.
32761
2156d5ba 327622009-03-21 Bean <bean123ch@gmail.com>
32763
32764 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
32765 out of range error.
32766
177b82ca 327672009-03-18 Michel Dänzer <michel@daenzer.net>
32768
32769 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
32770 checking inode flags for EXT4_EXTENTS_FLAG.
32771
14aad807 327722009-03-18 Robert Millan <rmh@aybabtu.com>
32773
32774 * loader/i386/linux.c: Include `<grub/video.h>' and
32775 `<grub/i386/pc/vbe.h>'..
32776 (grub_linux_setup_video): New function. Loosely based on the EFI one.
32777 (grub_linux32_boot): Attempt to configure video settings with
32778 grub_linux_setup_video().
32779 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
32780 to avoid grub_console_fini() which would step out of graphical mode
32781 unconditionally.
32782
8cf83a27 327832009-03-14 Robert Millan <rmh@aybabtu.com>
32784
32785 Fix build on powerpc.
32786 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
32787
40164e75 327882009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
32789
32790 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
32791 background image command.
32792
c58bc32a 327932009-03-12 Colin D Bennett <colin@gibibit.com>
32794
32795 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
32796 (grub_gfxterm_putchar): Extract pairs of identical calls to
32797 draw_cursor out of conditional blocks.
32798
5415144a 327992009-03-11 Pavel Roskin <proski@gnu.org>
32800
32801 * fs/hfs.c (grub_hfs_strncasecmp): New function.
32802 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
32803
6394042e 328042009-03-11 Robert Millan <rmh@aybabtu.com>
32805
32806 * loader/i386/multiboot_elfxx.c
32807 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
32808
b7b50e5f 328092009-03-11 Felix Zielcke <fzielcke@z-51.de>
32810
32811 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
32812 `kern/handler.c'.
32813
1ca7fc96 328142009-03-11 Robert Millan <rmh@aybabtu.com>
32815
32816 * loader/i386/multiboot.c (code_size): New variable.
32817 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 32818 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 32819 4-byte alignment to MBI and others by increasing
7d074e3c 32820 `boot_loader_name_length' appropriately.
1ca7fc96 32821
32822 * loader/i386/multiboot_elfxx.c
32823 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
32824
a83ea1d2 328252009-03-09 Felix Zielcke <fzielcke@z-51.de>
32826
32827 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
32828 `fs/ext2.c'.
32829
aa9f3bff 328302009-03-08 Robert Millan <rmh@aybabtu.com>
32831
32832 Make loader/i386/linux.c usable on i386-pc again.
32833
32834 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32835 memory to heap.
32836 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32837 `#error' stanza.
32838
d8b3b60e 328392009-03-07 Bean <bean123ch@gmail.com>
32840
32841 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32842 allocation.
32843
b362c9e9 328442009-03-06 Robert Millan <rmh@aybabtu.com>
32845
32846 Fix display issue on terminals with screen size other than 80x25
32847 (e.g. gfxterm with resolution higher than 640x480).
32848
32849 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 32850 position relative to the center of the terminal instead of relying
b362c9e9 32851 on a hardcoded offset.
32852
9304eef1 328532009-03-04 Robert Millan <rmh@aybabtu.com>
32854
32855 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32856 installed.
32857
32858 * Makefile.in (host_kernel): New variable.
32859 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32860 scripts instead of just the windows one.
32861 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32862
eabc95fb 328632009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 32864
32865 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32866 `kern/handler.c'.
32867 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32868 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32869 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32871 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32872 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32873
ceb1223c 328742009-03-04 Felix Zielcke <fzielcke@z-51.de>
32875
32876 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32877 or if there's no space for the disk label and print the partition number on a
32878 invalid magic.
32879
4910684a 328802009-03-04 Felix Zielcke <fzielcke@z-51.de>
32881
32882 * util/misc.c: Include <time.h>.
32883 (grub_millisleep): New function.
32884
7e9ca17a 328852009-03-04 Bean <bean123ch@gmail.com>
32886
32887 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32888 another option -mno-red-zone.
32889
32890 * commands/handler.c: Change module description.
32891
32892 * kern/handler.c: Add missing space at the end of description line.
32893
32894 * kern/list.c: Likewise.
32895
f501677c 328962009-03-03 Robert Millan <rmh@aybabtu.com>
32897
32898 Move more components to the relocation area, and fix mbi pointer
32899 handling to use the destination rather than the origin (thanks to
32900 Vladimir Serbinenko for spotting).
32901
32902 * loader/i386/multiboot.c (mbi_dest): New variable.
32903 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32904 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32905 relocation area.
32906
9902d047 329072009-03-01 Bean <bean123ch@gmail.com>
32908
50fb7002 32909 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 32910 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32911 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32912 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32913
32914 * loader/i386/efi/linux.c (acpi_guid): New variable.
32915 (acpi_guid): Likewise.
32916 (EBDA_SEG_ADDR): New constant.
32917 (LOW_MEM_ADDR): Likewise.
32918 (FAKE_EBDA_SEG): Likewise.
32919 (fake_bios_data): New function.
32920 (grub_linux_boot): Call fake_bios_data.
32921
71b9f361 329222009-03-01 Bean <bean123ch@gmail.com>
32923
32924 * commands/terminal.c: Removed.
32925
32926 * commands/handler.c: New file.
32927
32928 * include/grub/list.h: Likewise.
32929
32930 * include/grub/handler.h: Likewise.
32931
32932 * kern/list.c: Likewise.
32933
32934 * kern/handler.c: Likewise.
32935
32936 * kern/term.h: Include header file <grub/handler.h>.
32937 (grub_term_input): Move next field to the beginning.
32938 (grub_term_output): Likewise.
32939 (grub_term_input_class): New variable.
32940 (grub_term_output_class): Likewise.
32941 (grub_term_register_input): Changed to inline function.
32942 (grub_term_register_output): Likewise.
32943 (grub_term_unregister_input): Likewise.
32944 (grub_term_unregister_output): Likewise.
32945 (grub_term_set_current_input): Likewise.
32946 (grub_term_set_current_output): Likewise.
32947 (grub_term_get_current_input): Likewise.
32948 (grub_term_get_current_output): Likewise.
32949 (grub_term_iterate_input): Removed.
32950 (grub_term_iterate_output): Likewise.
32951
32952 * kern/term.c (grub_term_list_input): Removed.
32953 (grub_term_list_output): Likewise.
32954 (grub_term_input_class): New variable.
32955 (grub_term_output_class): Likewise.
50fb7002 32956 (grub_cur_term_input): Change variable as macro.
71b9f361 32957 (grub_cur_term_output): Likewise.
32958 (grub_term_register_input): Removed.
32959 (grub_term_register_output): Likewise.
32960 (grub_term_unregister_input): Likewise.
32961 (grub_term_unregister_output): Likewise.
32962 (grub_term_set_current_input): Likewise.
32963 (grub_term_set_current_output): Likewise.
32964 (grub_term_iterate_input): Likewise.
32965 (grub_term_iterate_output): Likewise.
32966 (grub_term_get_current_input): Likewise.
32967 (grub_term_get_current_output): Likewise.
32968
32969 * util/grub-editenv.c: Include header file <grub/handler.h>.
32970 (grub_term_get_current_input): Removed.
32971 (grub_term_get_current_output): Likewise.
32972 (grub_term_input_class): New variable.
50fb7002 32973 (grub_term_output_class): Likewise.
71b9f361 32974
32975 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32976 (grub_term_get_current_output): Likewise.
32977 (grub_term_input_class): New variable.
50fb7002 32978 (grub_term_output_class): Likewise.
71b9f361 32979
32980 * util/grub-probe.c (grub_term_get_current_input): Removed.
32981 (grub_term_get_current_output): Likewise.
32982 (grub_term_input_class): New variable.
50fb7002 32983 (grub_term_output_class): Likewise.
71b9f361 32984
32985 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
32986 (grub_term_get_current_output): Likewise.
32987 (grub_term_input_class): New variable.
50fb7002 32988 (grub_term_output_class): Likewise.
71b9f361 32989
32990 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
32991 (terminal_mod_SOURCES): Likewise.
32992 (terminal_mod_CFLAGS): Likewise.
32993 (terminal_mod_LDFLAGS): Likewise.
32994
32995 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
32996 handler.c.
32997 (kernel_img_SOURCES): Add list.c and handler.c.
32998 (kernel_img_HEADERS): Add list.h and handler.h.
32999
33000 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
33001 handler.c.
33002 (kernel_mod_SOURCES): Add list.c and handler.c.
33003 (kernel_mod_HEADERS): Add list.h and handler.h.
33004
33005 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
33006 handler.c.
33007 (kernel_elf_SOURCES): Add list.c and handler.c.
33008 (kernel_elf_HEADERS): Add list.h and handler.h.
33009
33010 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
33011 handler.c.
33012 (kernel_elf_SOURCES): Add list.c and handler.c.
33013 (kernel_elf_HEADERS): Add list.h and handler.h.
33014
33015 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
33016 handler.c.
33017 (kernel_mod_SOURCES): Add list.c and handler.c.
33018 (kernel_mod_HEADERS): Add list.h and handler.h.
33019
33020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
33021 handler.c.
33022 (kernel_elf_SOURCES): Add list.c and handler.c.
33023 (kernel_elf_HEADERS): Add list.h and handler.h.
33024
8a31787f 330252009-02-27 Robert Millan <rmh@aybabtu.com>
33026
33027 Factorize elf32 / elf64 code in Multiboot loader. This will
33028 prevent it from getting out of sync again.
33029
33030 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
33031 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
33032 grub_multiboot_load_elf64): Move from here ...
33033 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
33034 grub_multiboot_load_elf): ... to here (new file).
33035
51cd3dfc 330362009-02-27 Robert Millan <rmh@aybabtu.com>
33037
33038 * util/grub.d/10_linux.in: Rename "single-user mode" to
33039 "recovery mode".
33040
6e8c9c3a 330412009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
33042
33043 Don't leak in SCSI code.
33044 * disk/scsi.c (grub_scsi_close): free `scsi'.
33045
4b6bf4f9 330462009-02-27 Robert Millan <rmh@aybabtu.com>
33047
33048 * loader/i386/pc/multiboot.c: Move from here ...
33049 * loader/i386/multiboot.c: ... to here. Update all users.
33050
b9413424 330512009-02-27 Robert Millan <rmh@aybabtu.com>
33052
33053 Patch from Alexandre Bique <bique.alexandre@gmail.com>
33054 * util/i386/pc/grub-setup.c (setup): Fix directory path.
33055
50fb7002 330562009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 33057
33058 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
33059 b-tree.
33060
8cc50345 330612009-02-27 Robert Millan <rmh@aybabtu.com>
33062
33063 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
33064 `0x' qualifier as 0 when base is specified as parameter).
33065
6e09b8b7 330662009-02-24 Bean <bean123ch@gmail.com>
33067
33068 * configure.ac: Check for -mcmodel=large in x86_64 target.
33069
33070 * include/grub/efi/api.h (efi_call_10): New macro.
33071 (efi_wrap_10): New function.
33072
33073 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
33074 (GRUB_PE32_REL_BASED_HIGH): Likewise.
33075 (GRUB_PE32_REL_BASED_LOW): Likewise.
33076 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
33077 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
33078 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
33079 (GRUB_PE32_REL_BASED_SECTION): Likewise.
33080 (GRUB_PE32_REL_BASED_REL): Likewise.
33081 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
33082 (GRUB_PE32_REL_BASED_DIR64): Likewise.
33083 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
33084
33085 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
33086 issue.
33087
33088 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
33089 (efi_wrap_10): New function.
33090
33091 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
33092
33093 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
33094 MB/MBP model (NV chipset).
33095 (devdata_devs): Add devpath_5 to the list.
33096
33097 * load/i386/efi/linux.c (video_base): Remove variable.
33098 (RGB_MASK): New macro.
33099 (RGB_MAGIC): Likewise.
33100 (LINE_MIN): Likewise.
33101 (LINE_MAX): Likewise.
33102 (FBTEST_STEP): Likewise.
33103 (FBTEST_COUNT): Likewise.
33104 (fb_list): New variable.
33105 (grub_find_video_card): Remove function.
33106 (find_framebuf): New function.
33107 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
33108 line length.
33109
33110 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
33111 problem for x86_64.
33112
74b21bee 331132009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
33114
33115 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
33116
33117 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
33118 coding tool name.
33119
a455f472 331202009-02-22 Robert Millan <rmh@aybabtu.com>
33121
33122 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
33123 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
33124 in our relocation, instead of using it directly from heap. Also
33125 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
33126
6374daf3 331272009-02-21 Robert Millan <rmh@aybabtu.com>
33128
33129 Implement USB keyboard support (based on patch by Marco Gerards)
33130
33131 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
33132 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
33133 (usb_keyboard_mod_LDFLAGS): New variables.
33134
33135 * term/usb_keyboard.c: New file.
33136
8fa4ea70 331372009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
33138
33139 Corrected wrong declaration
33140
33141 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
33142
353976ac 331432009-02-14 Christian Franke <franke@computer.org>
33144
33145 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
33146 (grub_lspci_iter): Print class code and programming interface byte.
33147
6aa1169b 331482009-02-14 Christian Franke <franke@computer.org>
33149
33150 * gendistlist.sh: Ignore `.svn' directories.
33151
265372ca 331522009-02-14 Felix Zielcke <fzielcke@z-51.de>
33153
33154 * fs/fat.c: Add 2009 to Copyright line.
33155
9ff516f3 331562009-02-14 Christian Franke <franke@computer.org>
33157
33158 * commands/hdparm.c: New file. Provides `hdparm' command
33159 which sends ATA commands via grub_disk_ata_pass_through ().
33160
33161 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
33162
33163 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
33164 and <grub/cpu/io.h> to include/grub/ata.h.
33165 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
33166 (GRUB_CDROM_SECTOR_SIZE): Remove.
33167 (GRUB_ATA_*): Move to include/grub/ata.h.
33168 (GRUB_ATAPI_*): Likewise.
33169 (enum grub_ata_commands): Likewise.
33170 (enum grub_ata_timeout_milliseconds): Likewise.
33171 (struct grub_ata_device): Likewise.
33172 (grub_ata_regset): Likewise.
33173 (grub_ata_regget): Likewise.
33174 (grub_ata_regset2): Likewise.
33175 (grub_ata_regget2): Likewise.
33176 (grub_ata_check_ready): Likewise.
33177 (grub_ata_wait_not_busy): Remove static, exported in
33178 include/grub/ata.h.
33179 (grub_ata_wait_drq): Likewise.
33180 (grub_ata_pio_read): Likewise.
33181
33182 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
33183 function for hdparm.mod.
33184
33185 * include/grub/ata.h: New file, contains declarations from
33186 disk/ata.c.
33187 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
33188
33189 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
33190 (grub_disk_ata_pass_through): New exported variable.
33191
33192 * kern/disk.c (grub_disk_ata_pass_through): New variable.
33193
772e23da 331942009-02-13 Colin D Bennett <colin@gibibit.com>
33195
33196 Support multiple fallback entries, and provide an API to support
33197 executing default+fallback menu entries. Renamed the `terminal' menu
33198 viewer to `text'.
33199
33200 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
33201 variable declaration.
33202 (grub_menu_execute_callback): New structure declaration.
33203 (grub_menu_execute_callback_t): New typedef.
33204 (grub_menu_execute_with_fallback): New function declaration.
33205 (grub_menu_get_entry): Likewise.
33206 (grub_menu_get_timeout): Likewise.
33207 (grub_menu_set_timeout): Likewise.
33208
33209 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
33210
33211 * normal/menu.c (grub_wait_after_message): Moved to
33212 `normal/menu_text.c'.
33213 (draw_border): Likewise.
33214 (print_message): Likewise.
33215 (print_entry): Likewise.
33216 (print_entries): Likewise.
33217 (grub_menu_init_page): Likewise.
33218 (get_entry_number): Likewise.
33219 (print_timeout): Likewise.
33220 (run_menu): Likewise.
33221 (grub_menu_execute_entry): Likewise.
33222 (show_text_menu): Likewise.
33223 (get_and_remove_first_entry_number): New function.
33224 (grub_menu_execute_with_fallback): Likewise.
33225 (get_entry): Renamed to ...
33226 (grub_menu_get_entry): .. this and made it global.
33227 (get_timeout): Renamed to ...
33228 (grub_menu_get_timeout): ... this and made it global.
33229 (set_timeout): Renamed to ...
33230 (grub_menu_set_timeout): ... this and made it global.
33231 (grub_normal_terminal_menu_viewer): Renamed to ...
33232 (grub_normal_text_menu_viewer): ... this.
33233
33234 * normal/menu_text.c: New file. Extracted text-menu-specific code
33235 from normal/menu.c.
33236
33237 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
33238 (normal_mod_SOURCES): Likewise.
33239
33240 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33241 (normal_mod_SOURCES): Likewise.
33242
33243 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33244 (normal_mod_SOURCES): Likewise.
33245
33246 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
33247 (normal_mod_SOURCES): Likewise.
33248
33249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33250 (normal_mod_SOURCES): Likewise.
33251
33252 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33253 (normal_mod_SOURCES): Likewise.
33254
33255 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33256 (normal_mod_SOURCES): Likewise.
33257
16ac430e 332582009-02-11 Robert Millan <rmh@aybabtu.com>
33259
33260 * util/grub.d/00_header.in: Update old reference to `font' command.
33261
06ff20fc 332622009-02-10 Felix Zielcke <fzielcke@z-51.de>
33263
33264 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
33265
33266 Based on patch from Javier Martín.
33267
96da9407 332682009-02-09 Felix Zielcke <fzielcke@z-51.de>
33269
33270 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 33271 to avoid false positives with FAT.
96da9407 33272 (grub_fstest_SOURCES): Likewise.
33273 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33274 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33276 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33277 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33278 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33279
6dca6fe4 332802009-02-09 Felix Zielcke <fzielcke@z-51.de>
33281
06ff20fc 33282 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 33283 bpb.version_specific.fat12_or_fat16.fstype and
33284 bpb.version_specific.fat32.fstype.
33285
2550c62f 332862009-02-08 Robert Millan <rmh@aybabtu.com>
33287
be110b30 33288 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 33289
56978920 332902009-02-08 Robert Millan <rmh@aybabtu.com>
33291
33292 * Makefile.in (host_os, host_cpu): New variables.
33293 (target_os): Remove. Update all users.
33294
d64399b5 332952009-02-08 Marco Gerards <marco@gnu.org>
33296
33297 * Makefile.in (enable_grub_emu_usb): New variable.
33298 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
33299 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
33300 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
33301 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
33302 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
33303 `usbtest.mod' and `usbms.mod'.
33304 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
33305 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
33306 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
33307 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
33308 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
33309 variables.
33310
33311 * disk/usbms.c: New file.
33312
33313 * include/grub/usb.h: Likewise.
33314
33315 * include/grub/usbtrans.h: Likewise.
33316
33317 * include/grub/usbdesc.h: Likewise.
33318
33319 * bus/usb/usbtrans.c: Likewise.
33320
33321 * bus/usb/ohci.c: Likewise.
33322
33323 * bus/usb/uhci.c: Likewise.
33324
33325 * bus/usb/usbhub.c: Likewise.
33326
33327 * bus/usb/usb.c: Likewise.
33328
33329 * commands/usbtest.c: Likewise.
33330
33331 * util/usb.c: Likewise.
50fb7002 33332
d64399b5 33333 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
33334
33335 * configure.ac: Test for libusb presence.
50fb7002 33336
d64399b5 33337 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
33338
2b40d6bb 333392009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
33340
33341 * kern/mm.c: Add more comments.
33342
73a4ce81 333432009-02-08 Robert Millan <rmh@aybabtu.com>
33344
33345 Patch from Javier Martín.
33346 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
33347 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
33348
f821ce59 333492009-02-08 Robert Millan <rmh@aybabtu.com>
33350
33351 * fs/cpio.c: Split tar functionality to ...
33352 * fs/tar.c: ... here (new file). Update all users.
33353
aebfc4b0 333542009-02-07 Robert Millan <rmh@aybabtu.com>
33355
33356 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
33357 backward-incompatible features.
33358
33359 Based on patch from Javier Martín, with some adjustments.
33360
50fb7002 333612009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 33362
33363 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
33364
0bb5115e 333652009-02-07 Robert Millan <rmh@aybabtu.com>
33366
33367 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
33368 position of `disk/lvm.c' to ensure grub_init_all() always picks it
33369 after the RAID stuff.
33370
38a0f8e7 333712009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
33372
50fb7002 33373 Fixes problem when running vbetest command as reported by
38a0f8e7 33374 Vladimir Serbinenko <phcoder@gmail.com>.
33375
33376 * (grub_vbe_set_video_mode): Fixed problem with text modes.
33377
3143cc1c 333782009-02-04 Felix Zielcke <fzielcke@z-51.de>
33379
33380 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
33381 /dev/md/NpN style mdraid devices.
33382
9cba6fce 333832009-02-03 Felix Zielcke <fzielcke@z-51.de>
33384
33385 * util/unifont2pff.rb: Remove.
33386
e507a2c1 333872009-02-03 Felix Zielcke <fzielcke@z-51.de>
33388
33389 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
33390 `#'.
33391
d2c2b4cd 333922009-02-03 Felix Zielcke <fzielcke@z-51.de>
33393
33394 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
33395 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33396 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33397 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33399 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33400 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33401
b4315fb0 334022009-02-02 Christian Franke <franke@computer.org>
33403
33404 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
33405
de3aa260 334062009-02-01 Felix Zielcke <fzielcke@z-51.de>
33407
7c3ff286 33408 * INSTALL: Note that we now require at least autoconf 2.59 and
33409 that LZO is optional.
de3aa260 33410
825a182b 334112009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33412
33413 Base on patch on bug #24154 created by Tomas Tintera
33414 <trosos@seznam.cz>.
33415
33416 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
33417
a69ef770 334182009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33419
7c3ff286 33420 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 33421 <bero@arklinux.org>.
33422
33423 * normal/parser.y (script_init): Add missing semicolon.
33424
6fa42fa6 334252009-01-31 Colin D Bennett <colin@gibibit.com>
33426
7c3ff286 33427 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 33428 (free_menu_entry_classes): Added.
33429 (grub_normal_menu_addentry): Added class property handling.
33430 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
33431 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
33432
33433 * normal/menu_viewer.c: New file.
33434
33435 * normal/menu.c (run_menu_entry): Renamed to ...
33436 (grub_menu_execute_entry): ... this and made it as global.
33437 (grub_menu_run): Renamed to ...
33438 (show_text_menu): ... this and made it local.
33439 (show_text_menu): Adapt to new function names.
33440 (grub_normal_terminal_menu_viewer): New global variable.
33441
33442 * include/grub/menu.h: New file.
33443
33444 * include/grub/menu_viewer.h: New file.
33445
33446 * include/grub/normal.h: Added include to grub/menu.h.
33447 (grub_menu_entry): Moved to include/grub/menu.h.
33448 (grub_menu_entry_t): Likewise.
33449 (grub_menu): Likewise.
33450 (grub_menu_t): Likewise.
33451 (grub_normal_terminal_menu_viewer): Added.
33452 (grub_menu_execute_entry): Likewise.
33453 (grub_menu_run): Removed.
33454
33455 * DISTLIST: Added include/grub/menu.h.
33456 Added include/grub/menu_viewer.h.
33457 Added normal/menu_viewer.c.
33458
334592009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
33460
33461 * normal/execute.c (grub_script_execute_menuentry): Changed to use
33462 arglist for menutitle arguments.
33463
33464 * normal/main.c (grub_normal_menu_addentry): Likewise.
33465
33466 * normal/parser.y (menuentry): Likewise.
33467
33468 * normal/script.c (grub_script_create_cmdmenu): Likewise.
33469
33470 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
33471 (grub_script_create_cmdmenu): Likewise.
33472
33473 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
33474
33475 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
33476 changes.
33477
33478 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
33479
33480 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
33481
33482 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
33483
33484 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33485
33486 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33487
33488 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33489
56192c23 334902009-01-30 Christian Franke <franke@computer.org>
33491
33492 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
33493 in option help text.
33494
d72521b3 334952009-01-27 Pavel Roskin <proski@gnu.org>
33496
33497 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
33498
994b5e84 334992009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33500
33501 * commands/lsmmap.c: Add include to grub/machine/memory.h.
33502
33503 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
33504
33505 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
33506 unregister function.
33507
6a7eab2c 335082009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33509
33510 * disk/scsi.c (grub_scsi_read): Fix sign problem.
33511
33512 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
33513
33514 * util/grub-mkfont.c (usage): Fix typo.
33515
33516 * util/elf/grub-mkimage.c (load_modules): Fix warning.
33517
1806b56e 335182009-01-26 Daniel Mierswa <impulze@impulze.org>
33519
3fb18f09 33520 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
33521
336e1fb9 33522 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
33523
1806b56e 33524 * kern/misc.c (grub_strcasecmp): New function.
33525 (grub_strcasecmp): Use grub_size_t instead of int for length.
33526 Fix return value.
33527 * include/grub/misc.h: Update function prototypes.
33528
580b2a0f 335292009-01-26 Robert Millan <rmh@aybabtu.com>
33530
33531 * configure.ac: Fix cross-compilation check.
ef257b36 33532
d31c24f1 335332009-01-22 Christian Franke <franke@computer.org>
33534
33535 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
33536 (precision) digit string. Allow `.format2' without `format1' (width).
33537 Limit input chars for `%s' output to `format2' if specified. This is
33538 compatible with standard printf ().
33539
3138b44c 335402009-01-22 Christian Franke <franke@computer.org>
33541
33542 * disk/ata.c (grub_ata_wait_status): Replace by ...
33543 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
33544 other status bits may be invalid while BSY is asserted.
33545 (grub_ata_check_ready): New function.
33546 (grub_ata_cmd): Removed.
33547 (grub_ata_wait_drq): New function.
33548 (grub_ata_strncpy): Remove inline.
33549 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
33550 and error check now done by grub_ata_wait_drq ().
33551 (grub_ata_pio_write): Likewise.
33552 (grub_atapi_identify): Set DEV before check for !BSY. Use
33553 grub_ata_wait_drq () to wait for data.
33554 (grub_ata_device_initialize): Add status register check to
33555 detect missing SATA slave devices. Add debug messages.
33556 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
33557 (grub_atapi_packet): Set DEV before check for !BSY. Replace
33558 transfer loop by grub_ata_pio_write ().
33559 (grub_ata_identify): Set DEV before check for !BSY. Use
33560 grub_ata_wait_drq () to wait for data.
ef257b36 33561 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 33562 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
33563 read/write in one loop. Fix invalid command on write. Fix incomplete
33564 command on (size % batch) == 0. Add missing error check after write of
33565 last block. Add debug messages.
33566 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
33567
59a64ef6 335682009-01-19 Christian Franke <franke@computer.org>
33569
33570 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
33571 (GRUB_ATAPI_IREASON_*): Likewise.
33572 (grub_ata_pio_write): Fix timeout error return.
33573 (grub_atapi_identify): Add grub_ata_wait () after cmd.
33574 (grub_atapi_wait_drq): New function.
33575 (grub_atapi_packet): New parameter `size'.
33576 Use grub_atapi_wait_drq () and direct write instead of
33577 grub_ata_pio_write ().
33578 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
33579 reads the number of bytes requested by the device for each DRQ
33580 assertion.
33581 (grub_atapi_write): Remove old implementation, return not
33582 implemented instead.
33583
1cfe20b3 335842009-01-19 Christian Franke <franke@computer.org>
33585
33586 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
33587 of 512 to calculate data size.
33588 (grub_scsi_read12): Likewise.
33589 (grub_scsi_write10): Likewise.
33590 (grub_scsi_write12): Likewise.
33591 (grub_scsi_read): Adjust size according to blocksize.
33592 Add checks for invalid blocksize and unaligned transfer.
33593
bee5fe5d 335942009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
33595
33596 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
33597
ef257b36 33598 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 33599 width glyphs.
33600
3e643f8c 336012009-01-19 Robert Millan <rmh@aybabtu.com>
33602
33603 * config.guess: Update to latest version from config git.
33604 * config.sub: Likewise.
33605
4fa80998 336062009-01-17 Felix Zielcke <fzielcke@z-51.de>
33607
33608 * Makefile.in: Change font compilation to use new grub-mkfont instead
33609 of java version.
33610
33611 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
33612 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33613 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33614 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33615 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33616 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33617 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33618 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33619 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33620
7086085b 336212009-01-16 Christian Franke <franke@computer.org>
33622
33623 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
33624 (enum grub_ata_timeout_milliseconds): New enum.
33625 (grub_ata_wait_status): Add parameter milliseconds.
33626 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
33627 recovery from timed-out commands.
33628 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
33629 return grub_errno instead of REG_ERROR.
33630 (grub_ata_pio_write): Add parameter milliseconds.
33631 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
33632 Pass milliseconds to grub_ata_wait_status () and
33633 grub_ata_pio_read ().
33634 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
33635 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
33636 grub_ata_wait_status (). Fix IDENTIFY timeout check.
33637 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
33638 It is not suitable for device detection, because DEV bit is ignored,
33639 the command may run too long, and not all devices set the signature
33640 properly.
33641 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
33642 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
33643 Fix device selection, DEV bit must be set first to address the registers
33644 of the correct device.
33645 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
33646 grub_ata_pio_read/write ().
33647 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
33648 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
33649
4a412913 336502009-01-13 Carles Pina i Estany <carles@pina.cat>
33651
33652 * util/grub-editenv.c (main): Use fseeko(), not fseek().
33653
7795c55e 336542009-01-13 Bean <bean123ch@gmail.com>
d913988c 33655
33656 * util/grub-mkfont.c (write_font): forget to remove some debug code.
33657
7795c55e 336582009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 33659
33660 * Makefile.in: (enable_grub_mkfont): New variable.
33661 (freetype_cflags): Likewise.
33662 (freetype_libs): Likewise.
33663
33664 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
33665 (grub_mkfont_SOURCES): New variable.
33666 (grub_mkfont_CFLAGS): Likewise.
33667 (grub_mkfont_LDFLAGS): Likewise.
33668
33669 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
33670 library if `--enable-grub-mkfont' is requested.
33671 (enable_grub_mkfont): New variable.
33672 (freetype_cflags): Likewise.
33673 (freetype_libs): Likewise.
33674
33675 * util/grub-mkfont.c: New file.
33676
093af1fe 336772009-01-12 Christian Franke <franke@computer.org>
33678
33679 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
33680 mode check. Fix setting of compat_use[].
33681
f36cc108 336822009-01-10 Robert Millan <rmh@aybabtu.com>
33683
33684 Update a few copyright years which we forgot to do in 2008 (only for
33685 files whose changes made in 2008 were copyright-significant)
33686
33687 * Makefile.in: Add 2008 to Copyright line.
33688 * disk/ieee1275/ofdisk.c: Likewise.
33689 * disk/efi/efidisk.c: Likewise.
33690 * kern/dl.c: Likewise.
33691 * kern/sparc64/ieee1275/init.c: Likewise.
33692 * kern/mm.c: Likewise.
33693 * kern/efi/mm.c: Likewise.
33694 * boot/i386/pc/boot.S: Likewise.
33695 * genfslist.sh: Likewise.
33696 * fs/iso9660.c: Likewise.
33697 * fs/hfs.c: Likewise.
33698 * fs/jfs.c: Likewise.
33699 * fs/minix.c: Likewise.
33700 * fs/ufs.c: Likewise.
33701 * gensymlist.sh.in: Likewise.
33702 * genkernsyms.sh.in: Likewise.
33703 * include/grub/misc.h: Likewise.
33704 * include/grub/types.h: Likewise.
33705 * include/grub/symbol.h: Likewise.
33706 * include/grub/elf.h: Likewise.
33707 * include/grub/kernel.h: Likewise.
33708 * include/grub/disk.h: Likewise.
33709 * include/grub/dl.h: Likewise.
33710 * include/grub/i386/linux.h: Likewise.
33711 * include/grub/i386/pc/biosdisk.h: Likewise.
33712 * include/grub/efi/api.h: Likewise.
33713 * include/grub/efi/pe32.h: Likewise.
33714 * include/grub/util/misc.h: Likewise.
33715 * normal/execute.c: Likewise.
33716 * normal/arg.c: Likewise.
33717 * normal/completion.c: Likewise.
33718 * normal/lexer.c: Likewise.
33719 * normal/parser.y: Likewise.
33720 * normal/misc.c: Likewise.
33721 * commands/i386/pc/vbeinfo.c: Likewise.
33722 * commands/hexdump.c: Likewise.
33723 * commands/terminal.c: Likewise.
33724 * commands/ls.c: Likewise.
33725 * commands/help.c: Likewise.
33726 * partmap/pc.c: Likewise.
33727 * loader/efi/chainloader.c: Likewise.
33728 * loader/multiboot_loader.c: Likewise.
33729 * loader/i386/pc/multiboot2.c: Likewise.
33730 * term/efi/console.c: Likewise.
33731 * term/i386/pc/serial.c: Likewise.
33732 * util/lvm.c: Likewise.
33733 * util/console.c: Likewise.
33734 * util/i386/efi/grub-mkimage.c: Likewise.
33735 * util/raid.c: Likewise.
33736
7f02114b 337372009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
33738
33739 * commands/videotest.c: Removed include to grub/machine/memory.h.
33740
33741 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
33742 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
33743 (video_mod_SOURCES): Removed.
33744 (video_mod_CFLAGS): Likewise.
33745 (video_mod_LDFLAGS): Likewise.
33746 (gfxterm_mod_SOURCES): Likewise.
33747 (gfxterm_mod_CFLAGS): Likewise.
33748 (gfxterm_mod_LDFLAGS): Likewise.
33749 (videotest_mod_SOURCES): Likewise.
33750 (videotest_mod_CFLAGS): Likewise.
33751 (videotest_mod_LDFLAGS): Likewise.
33752 (bitmap_mod_SOURCES): Likewise.
33753 (bitmap_mod_CFLAGS): Likewise.
33754 (bitmap_mod_LDFLAGS): Likewise.
33755 (tga_mod_SOURCES): Likewise.
33756 (tga_mod_CFLAGS): Likewise.
33757 (tga_mod_LDFLAGS): Likewise.
33758 (jpeg_mod_SOURCES): Likewise.
33759 (jpeg_mod_CFLAGS): Likewise.
33760 (jpeg_mod_LDFLAGS): Likewise.
33761 (png_mod_SOURCES): Likewise.
33762 (png_mod_CFLAGS): Likewise.
33763 (png_mod_LDFLAGS): Likewise.
33764
33765 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
33766 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
33767 (video_mod_SOURCES): Added.
33768 (video_mod_CFLAGS): Likewise.
33769 (video_mod_LDFLAGS): Likewise.
33770 (videotest_mod_SOURCES): Likewise.
33771 (videotest_mod_CFLAGS): Likewise.
33772 (videotest_mod_LDFLAGS): Likewise.
33773 (bitmap_mod_SOURCES): Likewise.
33774 (bitmap_mod_CFLAGS): Likewise.
33775 (bitmap_mod_LDFLAGS): Likewise.
33776 (tga_mod_SOURCES): Likewise.
33777 (tga_mod_CFLAGS): Likewise.
33778 (tga_mod_LDFLAGS): Likewise.
33779 (jpeg_mod_SOURCES): Likewise.
33780 (jpeg_mod_CFLAGS): Likewise.
33781 (jpeg_mod_LDFLAGS): Likewise.
33782 (png_mod_SOURCES): Likewise.
33783 (png_mod_CFLAGS): Likewise.
33784 (png_mod_LDFLAGS): Likewise.
33785 (gfxterm_mod_SOURCES): Likewise.
33786 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 33787 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 33788
33789 * term/gfxterm.c: Removed include to grub/machine/memory.h,
33790 grub/machine/console.h.
33791
644fff97 337922009-01-04 Jerone Young <jerone@gmail.com>
33793
33794 Make on screen instructions clearer
33795
33796 Based on patch created by Jidanni <jidanni@jidanni.org>
33797
33798 * normal/menu.c: print clearer instructions on the screen
33799
1e901a75 338002009-01-02 Colin D Bennett <colin@gibibit.com>
33801
33802 New font engine.
34c44600 33803
1e901a75 33804 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
33805 build system and fixed gfxterm.c to work with different sized fonts.
33806
33807 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 33808
1e901a75 33809 * configure: Re-generated.
34c44600 33810
1e901a75 33811 * DISTLIST: Removed font/manager.c.
33812 Added font/font.c.
33813 Added font/font_cmd.c.
34c44600 33814
1e901a75 33815 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
33816 compilation.
34c44600 33817
1e901a75 33818 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 33819
33820 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 33821
33822 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 33823
1e901a75 33824 * normal/menu.c: Likewise.
34c44600 33825
1e901a75 33826 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
33827 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 33828
1e901a75 33829 * include/grub/font.h: Replaced with new file.
34c44600 33830
1e901a75 33831 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
33832 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
33833 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
33834 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33835 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 33836 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 33837 fg_red, fg_green, fg_blue, fg_alpha.
33838 (grub_video_adapter): Removed blit_glyph.
34c44600 33839 (grub_video_blit_glyph): Removed.
33840
1e901a75 33841 * font/manager.c: Removed file.
34c44600 33842
33843 * font/font.c: New file.
33844
1e901a75 33845 * font/font_cmd.c: Likewise.
34c44600 33846
1e901a75 33847 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 33848
1e901a75 33849 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33850 (grub_video_vbe_map_rgba): Likewise.
33851 (grub_video_vbe_unmap_color_int): Likewise.
33852 (grub_video_vbe_blit_glyph): Removed.
33853 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 33854
1e901a75 33855 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33856 (get_pixel): Likewise.
34c44600 33857 (set_pixel): Likewise.
33858
1e901a75 33859 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 33860
1e901a75 33861 * term/gfxterm.c: Adapted to new font engine.
34c44600 33862
1e901a75 33863 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 33864
1e901a75 33865 * term/i386/pc/vga.c: Likewise.
34c44600 33866
1e901a75 33867 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 33868
1e901a75 33869 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 33870
1e901a75 33871 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33872
1e901a75 33873 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33874
1e901a75 33875 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 33876
1e901a75 33877 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 33878
1e901a75 33879 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 33880
1e901a75 33881 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 33882
1e901a75 33883 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33884
33885 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 33886
1e901a75 33887 * util/grub-mkconfig_lib.in: Changed font extension.
33888
278922e8 338892008-12-28 Felix Zielcke <fzielcke@z-51.de>
33890
33891 * util/getroot.c (grub_util_get_grub_dev): Add support for
33892 /dev/md/dNNpNN style partitionable mdraid devices.
33893
3ced05cf 338942008-12-12 Alex Smith <alex@alex-smith.me.uk>
33895
33896 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33897 at a time limit of the PXE TFTP API correctly.
33898 (grub_pxefs_close): Likewise.
33899
7fd0ee30 339002008-11-29 Robert Millan <rmh@aybabtu.com>
33901
34c44600 33902 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 33903 grub_ata_device_initialize() calls.
33904
34c44600 339052008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 33906
33907 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33908 iteration failed.
33909 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33910
89313780 339112008-11-28 Robert Millan <rmh@aybabtu.com>
33912
33913 Fix build on powerpc-ieee1275. Based on patch created by
33914 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33915 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33916 `kern/ieee1275/mmap.c'.
33917 * include/grub/powerpc/ieee1275/memory.h: New file.
33918
15257703 33919 Provide grub-install on coreboot.
33920 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33921 (grub_install_SOURCES): New variable.
33922 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33923 usable on coreboot.
33924
9fc5388a 339252008-11-25 Felix Zielcke <fzielcke@z-51.de>
33926
33927 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33928 to `grub_term_input_t'.
33929 (grub_term_get_current_output): Change return type to
33930 `grub_term_output_t'.
33931
bc3a2f31 339322008-11-22 Robert Millan <rmh@aybabtu.com>
33933
34c44600 33934 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 33935 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33936 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33937 grub_vga_text_cls().
33938
80fc88f2 33939 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 33940 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 33941
cbf36fd3 33942 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33943 to 0x200000 (avoids trouble with some OFW implementations, and matches
33944 with the one in Yaboot).
33945 Reported by Manoel Abranches
33946
73e8e268 339472008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 33948
33949 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33950 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33951
73e8e268 33952 * util/grub-mkconfig_lib.in (grub_warn): New function.
33953 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33954 warnings, to obtain consistent formatting.
33955 * util/grub.d/00_header.in: Likewise.
33956 * util/update-grub_lib.in: Likewise.
33957
e94045a1 33958 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 33959 Move comment text to `#error' stanza.
e94045a1 33960
79d29fd7 33961 Harmonize ieee1275's grub_available_iterate() with the generic
33962 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33963 build problem on i386-ieee1275):
33964 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33965 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33966 parameter `type'. Update all users of this function.
33967 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33968 `kern/ieee1275/mmap.c'.
33969 * kern/ieee1275/init.c
33970 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33971 with ...
33972 (grub_machine_mmap_iterate): ... this.
33973 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33974 return type to `grub_err_t'. Update all implementations of this
33975 function prototype.
33976 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
33977 Likewise.
33978
60d6b16e 33979 Add `lsmmap' command (lists firmware-provided memory map):
33980 * commands/lsmmap.c: New file.
33981 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
33982 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
33983 variables.
33984 * conf/powerpc-ieee1275.rmk: Likewise.
33985 * conf/i386-coreboot.rmk: Likewise.
33986 * conf/i386-ieee1275.rmk: Likewise.
33987
ebaaf49b 339882008-11-19 Robert Millan <rmh@aybabtu.com>
33989
33990 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 33991 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
33992 constraints to initrd allocation (based on code from
33993 loader/i386/pc/linux.c). Without them, initrd was allocated too high
33994 for Linux to find it.
ebaaf49b 33995
dfab719f 339962008-11-14 Robert Millan <rmh@aybabtu.com>
33997
33998 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
33999 order to cope with duplicate slashes.
34000
10fc3eb9 340012008-11-14 Robert Millan <rmh@aybabtu.com>
34002
34003 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
34004 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
34005 don't want to mess with lower memory, because it is used in the Linux
34006 loader.
34007
34008 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 34009 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 34010 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
34011 is in our heap (probably as a result of it being corrupted during
2f2a3442 34012 decompression). Add #error instance with comment to explain why this
34013 loader isn't currently usable on PC/BIOS.
10fc3eb9 34014
e2e07847 340152008-11-14 Robert Millan <rmh@aybabtu.com>
34016
34017 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 34018 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 34019
fe8e8d69 340202008-11-12 Robert Millan <rmh@aybabtu.com>
34021
34022 Make loader/i386/linux.c buildable on i386-pc (although disabled).
34023
34024 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
34025 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
34026 from here ...
34027 * include/grub/i386/pc/memory.h: ... to here.
34028
976b07d0 340292008-11-12 Robert Millan <rmh@aybabtu.com>
34030
34031 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
34032 split).
34033
34034 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
34035 (grub_console_cur_color, grub_console_real_putchar)
34036 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
34037 (grub_console_setcolorstate, grub_console_setcolor)
34038 (grub_console_getcolor): Move from here ...
34039 * include/grub/i386/vga_common.h: ... to here (new file).
34040
34041 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
34042 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
34043 `<grub/i386/io.h>'.
34044 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
34045 `<grub/i386/vga_common.h>'.
34046
76679cd3 340472008-11-12 Robert Millan <rmh@aybabtu.com>
34048
34049 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
34050 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
34051 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
34052 variables.
34053 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
34054 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
34055
34056 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
34057 grub_console_init() with call to grub_vga_text_init().
34058 (grub_machine_fini): Replace call to
34059 grub_console_fini() with call to grub_vga_text_fini() and
34060 grub_at_keyboard_fini().
34061
34062 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
34063 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
34064 (grub_console_setcolorstate, grub_console_setcolor)
34065 (grub_console_getcolor): New function prototypes.
34066
34067 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
34068 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
34069 (grub_vga_text_setcursor): Static-ize.
34070 (grub_vga_text_term): New structure.
34071 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
34072
34073 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
34074 (grub_console_cur_color, grub_console_standard_color)
34075 (grub_console_normal_color, grub_console_highlight_color)
34076 (map_char, grub_console_putchar, grub_console_getcharwidth)
34077 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
34078 (grub_console_getcolor): Move from here ...
34079 * term/i386/vga_common.c: ... to here (same function names).
34080
95b841d3 340812008-11-12 Robert Millan <rmh@aybabtu.com>
34082
34083 Use newly-added Multiboot support in coreboot.
34084
34085 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
34086 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
34087
34088 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
34089 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
34090 (codestart): Store the MBI in `startup_multiboot_info' when we're
34091 being loaded using Multiboot.
34092
34093 * kern/i386/coreboot/init.c (grub_machine_init): Move
34094 grub_at_keyboard_init() call to beginning of function (useful for
34095 debugging). Call grub_machine_mmap_init() before attempting to use
34096 grub_machine_mmap_iterate().
34097 (grub_lower_mem, grub_upper_mem): Move from here ...
34098 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
34099 here (new file).
34100
34101 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
34102 function prototype.
34103
761ca975 341042008-11-12 Robert Millan <rmh@aybabtu.com>
34105
34106 Fix a regression introduced by the at_keyboard.mod split. Because
34107 some terminals are default on some platforms and non-default on
34108 others, the first terminal being registered determines which is
34109 going to be default.
34110
34111 * kern/term.c (grub_term_register_input): If this is the first
34112 terminal being registered, set it as the current one.
34113 (grub_term_register_output): Likewise.
34114
34115 * term/efi/console.c (grub_console_init): Do not call
34116 grub_term_set_current_output() or grub_term_set_current_input().
34117 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
34118 * term/i386/pc/console.c (grub_console_init): Likewise.
34119 (grub_console_fini): Do not call grub_term_set_current_input()
34120 (but leave grub_term_set_current_output() to restore text mode).
34121
6c529df7 341222008-11-10 Robert Millan <rmh@aybabtu.com>
34123
34124 * util/grub.d/00_header.in: Add backward compatibility check for
34125 versions of terminal.mod that don't understand `terminal_input' or
34126 `terminal_output'.
34127
132e4113 341282008-11-09 Robert Millan <rmh@aybabtu.com>
34129
34130 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
34131 `terminal_input' / `terminal_output', not `terminal'.
34132
ac293d50 341332008-11-08 Robert Millan <rmh@aybabtu.com>
34134
34135 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 34136 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 34137
0025933a 341382008-11-08 Robert Millan <rmh@aybabtu.com>
34139
34140 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 34141 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 34142 members. Update all users.
34143 * util/console.c (grub_ncurses_term): Split in ...
34144 (grub_ncurses_term_input): ... this, and ...
34145 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 34146 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 34147
37c86336 341482008-11-08 Robert Millan <rmh@aybabtu.com>
34149
34150 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
34151 (PKGDATA): Add $(pkgdata_SRCDIR).
34152 (pkglib_BUILDDIR): New variable.
34153 (pkgdata_SRCDIR): New variable.
34154 (build_env.mk): New target.
34155 (include_DATA): New variable.
34156 (install-local): Install $(include_DATA) files in $(includedir).
34157
b6c15a2d 341582008-11-07 Pavel Roskin <proski@gnu.org>
34159
d99d46f1 34160 * gendistlist.sh: Use C locale for sorting to ensure consistent
34161 output on all systems.
34162
b6c15a2d 34163 * util/grub.d/00_header.in: Remove incorrect space before
34164 "serial".
34165
c32ee8c9 341662008-11-07 Robert Millan <rmh@aybabtu.com>
34167
34168 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
34169 per specification.
34170 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
34171 * loader/multiboot_loader.c (find_multi_boot2_header): New function
34172 (based on find_multi_boot1_header).
34173 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
34174 using find_multi_boot2_header(), and abort if neither Multiboot or
34175 Multiboot headers were found.
34176
651c29b7 341772008-11-07 Robert Millan <rmh@aybabtu.com>
34178
34179 Modularize at_keyboard.mod:
34180
34181 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
34182 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
34183 (at_keyboard_mod_LDFLAGS): New variables.
34184
34185 Actual terminal split:
34186
34187 * include/grub/term.h (struct grub_term): Split in ...
34188 (struct grub_term_input): ... this, and ...
34189 (struct grub_term_output): ... this. Update all users.
34190 (grub_term_set_current): Split in ...
34191 (grub_term_set_current_input): ... this, and ...
34192 (grub_term_set_current_output): ... this.
34193 (grub_term_get_current): Split in ...
34194 (grub_term_get_current_input): ... this, and ...
34195 (grub_term_get_current_output): ... this.
34196 (grub_term_register): Split in ...
34197 (grub_term_register_input): ... this, and ...
34198 (grub_term_register_output): ... this.
34199 (grub_term_unregister): Split in ...
34200 (grub_term_unregister_input): ... this, and ...
34201 (grub_term_unregister_output): ... this.
34202 (grub_term_iterate): Split in ...
34203 (grub_term_iterate_input): ... this, and ...
34204 (grub_term_iterate_output): ... this.
34205
34206 * kern/term.c (grub_term_list): Split in ...
34207 (grub_term_list_input): ... this, and ...
34208 (grub_term_list_output): ... this. Update all users.
34209 (grub_cur_term): Split in ...
34210 (grub_cur_term_input): ... this, and ...
34211 (grub_cur_term_output): ... this. Update all users.
34212 (grub_term_set_current): Split in ...
34213 (grub_term_set_current_input): ... this, and ...
34214 (grub_term_set_current_output): ... this.
34215 (grub_term_get_current): Split in ...
34216 (grub_term_get_current_input): ... this, and ...
34217 (grub_term_get_current_output): ... this.
34218 (grub_term_register): Split in ...
34219 (grub_term_register_input): ... this, and ...
34220 (grub_term_register_output): ... this.
34221 (grub_term_unregister): Split in ...
34222 (grub_term_unregister_input): ... this, and ...
34223 (grub_term_unregister_output): ... this.
34224 (grub_term_iterate): Split in ...
34225 (grub_term_iterate_input): ... this, and ...
34226 (grub_term_iterate_output): ... this.
34227
34228 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
34229 a check for input and one for output (and only attempt to get keys
34230 from user when input works).
34231
34232 * util/grub-probe.c (grub_term_get_current): Split in ...
34233 (grub_term_get_current_input): ... this, and ...
34234 (grub_term_get_current_output): ... this.
34235 * util/grub-fstest.c: Likewise.
34236 * util/i386/pc/grub-setup.c: Likewise.
34237 * util/grub-editenv.c: Likewise.
34238
34239 Portability adjustments:
34240
34241 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
34242 `term/i386/pc/at_keyboard.c'.
34243 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
34244 grub_keyboard_controller_init() (now handled by terminal .init).
34245 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
34246 grub_at_keyboard_init().
34247 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
34248 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
34249 at_keyboard.mod via input terminal interface).
34250 * include/grub/i386/coreboot/console.h: Convert into a stub for
34251 `<grub/i386/pc/console.h>'.
34252
34253 Migrate full terminals to new API:
34254
34255 * term/efi/console.c (grub_console_term): Split into ...
34256 (grub_console_term_input): ... this, and ...
34257 (grub_console_term_output): ... this. Update all users.
34258 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
34259 (grub_ofconsole_init): Split into ...
34260 (grub_ofconsole_init_input): ... this, and ...
34261 (grub_ofconsole_init_output): ... this.
34262 (grub_ofconsole_term): Split into ...
34263 (grub_ofconsole_term_input): ... this, and ...
34264 (grub_ofconsole_term_output): ... this. Update all users.
34265 * term/i386/pc/serial.c (grub_serial_term): Split into ...
34266 (grub_serial_term_input): ... this, and ...
34267 (grub_serial_term_output): ... this. Update all users.
34268 * term/i386/pc/console.c (grub_console_term): Split into ...
34269 (grub_console_term_input): ... this, and ...
34270 (grub_console_term_output): ... this. Update all users.
34271 (grub_console_term_input): Only enable it on PC/BIOS platform.
34272 (grub_console_init): Remove grub_keyboard_controller_init() call.
34273
34274 Migrate input terminals to new API:
34275
34276 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
34277 `i386' and `i386/pc' to enable build on x86_64 (this driver is
34278 i386-specific anyway).
34279 (grub_console_checkkey): Rename to ...
34280 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
34281 users.
34282 (grub_keyboard_controller_orig): New variable.
34283 (grub_console_getkey): Rename to ...
34284 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
34285 users.
34286 (grub_keyboard_controller_init): Static-ize. Save original
34287 controller value so that it can be restored ...
34288 (grub_keyboard_controller_fini): ... here (new function).
34289 (grub_at_keyboard_term): New structure.
34290 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
34291 functions.
34292
34293 Migrate output terminals to new API:
34294
34295 * term/i386/pc/vga.c (grub_vga_term): Change type to
34296 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34297 members. Update all users.
34298 * term/gfxterm.c (grub_video_term): Change type to
34299 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34300 members. Update all users.
34301 * include/grub/i386/pc/console.h (grub_console_checkkey)
34302 (grub_console_getkey): Do not export (no longer needed by gfxterm,
34303 etc).
34304
34305 Migrate `terminal' command and userland tools to new API:
34306
34307 * commands/terminal.c (grub_cmd_terminal): Split into ...
34308 (grub_cmd_terminal_input): ... this, and ...
34309 (grub_cmd_terminal_output): ... this.
34310 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
34311 `terminal_input' and `terminal_output'.
34312 * util/grub.d/00_header.in: Adjust `terminal' calls to new
34313 `terminal_input' / `terminal_output' API.
34314 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
34315 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
34316 provided ${GRUB_TERMINAL}, convert it).
34317
96e5d876 343182008-11-04 Robert Millan <rmh@aybabtu.com>
34319
34320 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
34321 for FreeBSD.
34322 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
34323
556f3775 343242008-11-03 Bean <bean123ch@gmail.com>
34325
34326 * kern/elf.c (grub_elf32_load): Revert to previous code.
34327 (grub_elf64_load): Likewise.
34328
34329 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
34330
926b9823 343312008-11-01 Robert Millan <rmh@aybabtu.com>
34332
34333 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
34334 (TARGET_CPPFLAGS): Likewise.
34335 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
34336
1432e958 343372008-11-01 Carles Pina i Estany <carles@pina.cat>
34338
34339 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
34340
dba3f844 343412008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 34342
34343 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
34344 addition of objects until the code is not going to be able to fail.
34345
dba3f844 343462008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 34347
34348 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
34349 (add a missing NULL check, and correct them by moving the pointer
34350 operations after the actual check).
34351
7ab28c21 343522008-10-29 Robert Millan <rmh@aybabtu.com>
34353
34354 * util/i386/pc/grub-install.in: Handle empty string as output from
34355 make_system_path_relative_to_its_root().
34356
1b7748eb 343572008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
34358
34359 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
34360 circular metadata worst case scenario. If the metadata is circular
34361 then copy the wrap in place.
34362 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
34363 project lib/format_text/layout.h
34364 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
34365
c9618ab2 343662008-10-03 Felix Zielcke <fzielcke@z-51.de>
34367
7a36edca 34368 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 34369
bf981c62 343702008-10-03 Felix Zielcke <fzielcke@z-51.de>
34371
34372 * util/update-grub_lib.in: Mention filename in warning message.
34373
6d994591 343742008-09-29 Felix Zielcke <fzielcke@z-51.de>
34375
34376 * NEWS: Update for rename of update-grub to grub-mkconfig.
34377
18ade780 343782008-09-29 Felix Zielcke <fzielcke@z-51.de>
34379
34380 * util/update-grub_lib.in: Copy to ...
34381 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 34382 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 34383 * util/update-grub.in: Rename to ...
34384 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
34385 option. Add `--output' option to allow users to specify the generated
34386 configuration file. Default to stdout.
34387 (update_grub_dir): Rename to ...
34388 (grub_mkconfig_dir): ... this.
34389 (grub_cfg): Default to an empty string.
34390 * conf/common.rmk (update-grub): Rename to ...
34391 (grub-mkconfig): ... this.
34392 (update-grub_lib): Copy to ...
34393 (grub-mkconfig_lib): ... this.
34394 (update-grub_SCRIPTS): Copy to ...
34395 (grub-mkconfig_SCRIPTS): ... this. Update all users.
34396 (update-grub_DATA): Rename to ...
34397 (grub-mkconfig_DATA): ... this.
34398
556ce6ac 343992008-09-28 Robert Millan <rmh@aybabtu.com>
34400
34401 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
34402 to `modified'. Add the real `created' field.
34403 (grub_iso9660_uuid): Use `modified' rather than `created' for
34404 constructing the UUID.
34405
344062008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 34407
34408 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
34409 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
34410
92274e85 344112008-09-28 Bean <bean123ch@gmail.com>
34412
34413 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
34414 Thanks to Christian Franke for finding this bug.
34415
add6f17a 344162008-09-25 Robert Millan <rmh@aybabtu.com>
34417
34418 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
34419 instances of grub_util_get_disk_name() (see previous commit).
34420
d2a367b8 344212008-09-25 Robert Millan <rmh@aybabtu.com>
34422
34423 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
34424 `util/i386/get_disk_name.c'.
34425 * conf/i386-efi.rmk: Likewise.
34426 * conf/x86_64-efi.rmk: Likewise.
34427 * conf/i386-coreboot.rmk: Likewise.
34428 * conf/i386-ieee1275.rmk: Likewise.
34429 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
34430 `util/ieee1275/get_disk_name.c'.
34431 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
34432 * util/ieee1275/get_disk_name.c: Remove file.
34433 * util/i386/get_disk_name.c: Remove file.
34434 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
34435 "hd%d" for device.map entries, rather than using
34436 grub_util_get_disk_name().
34437
81a06771 344382008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 34439
34440 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
34441 warning.
34442 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
34443
5a004279 344442008-09-24 Carles Pina i Estany <carles@pina.cat>
34445
34446 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
34447 Changed to 0x5100.
34448 (GRUB_TERM_PPAGE): Changed to 0x4900.
34449
397093d3 344502008-09-24 Robert Millan <rmh@aybabtu.com>
34451
34452 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
34453 macros (they were i386-pc specific).
34454 * include/grub/sparc64/ieee1275/console.h: Likewise.
34455 * include/grub/efi/console.h: Likewise.
34456
a91b6c7c 344572008-09-22 Bean <bean123ch@gmail.com>
34458
34459 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
34460 resident and in attribute list.
34461
34462 * include/grub/ntfs.h (BMP_LEN): Removed.
34463
c40fd116 344642008-09-22 Bean <bean123ch@gmail.com>
34465
81a06771 34466 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 34467 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
34468
34469 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
34470 error occurs, as grub_disk_open will call grub_disk_close, which will
34471 call p->close (scsi).
34472
81a06771 344732008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 34474
34475 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
34476 (AC_PREREQ): Bumped to 2.59.
34477 (AC_TRY_COMPILE): Replace obsolete macro with ...
34478 (AC_COMPILE_IFELSE): ... this.
34479 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
34480 (AC_LINK_IFELSE): ... this.
34481
5dc43410 344822008-09-21 Felix Zielcke <fzielcke@z-51.de>
34483
34484 * autogen.sh: Add a call to `gendistlist.sh'.
34485
9035dce4 344862008-09-19 Christian Franke <franke@computer.org>
34487
34488 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
34489 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
34490 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
34491 Export __enable_execute_stack() to modules.
34492 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
34493 New function.
34494
7fd75377 344952008-09-09 Felix Zielcke <fzielcke@z-51.de>
34496
040030b3 34497 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
34498 Sort the list.
34499
345002008-09-09 Felix Zielcke <fzielcke@z-51.de>
34501
34502 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 34503 #include <grub/util/hostdisk.h>.
34504
89d5ffcf 345052008-09-08 Robert Millan <rmh@aybabtu.com>
34506
34507 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
34508 segments when their filesz is zero (grub_file_read() interprets
81a06771 34509 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 34510 Use `lowest_segment' rather than 0 for calculating the current
34511 segment load address.
34512
40da438f 345132008-09-08 Robert Millan <rmh@aybabtu.com>
34514
34515 * util/hostdisk.c (open_device): Replace a grub_util_info() call
34516 with grub_dprintf("hostdisk", ...), as it was so verbose that it
34517 clobbered useful information.
34518
ddbf5556 345192008-09-08 Robert Millan <rmh@aybabtu.com>
34520
34521 * include/grub/util/biosdisk.h: Move to ...
34522 * include/grub/util/hostdisk.h: ... here. Update all users.
34523 * util/biosdisk.c: Move to ...
34524 * util/hostdisk.c: ... here. Update all users.
34525
783d0f48 345262008-09-07 Robert Millan <rmh@aybabtu.com>
34527
34528 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
34529 variables.
34530 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
34531 and length can be stored directly in the `mbi->mmap_addr' and
34532 `mbi->mmap_length' struct fields.
34533
548e2ea5 345342008-09-07 Robert Millan <rmh@aybabtu.com>
34535
34536 * conf/i386.rmk: New file. Provides declaration for building
34537 `cpuid.mod'.
34538 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
34539 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
34540 variables.
34541 Include `conf/i386.mk'.
34542 * conf/i386-efi.rmk: Likewise.
34543 * conf/x86_64-efi.rmk: Likewise.
34544 * conf/i386-coreboot.rmk: Likewise.
34545 * conf/i386-ieee1275.rmk: Likewise.
34546
0ea85a37 345472008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
34548
34549 Based on patch created by Colin D Bennett <colin@gibibit.com>.
34550 Adds optimization support for BGR based modes.
34551
34552 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
34553 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34554 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34555 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34556 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34557 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34558 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34559 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34560 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34561 (grub_video_i386_vbeblit_index_index): Likewise.
34562 (grub_video_i386_vbeblit_replace_directN): Added.
34563 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34564 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34565 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34566 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34567 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34568 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 34569 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 34570 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34571 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34572 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34573 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34574 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34575 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
34576
34577 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
34578 (grub_video_i386_vbefill_R8G8B8): Likewise.
34579 (grub_video_i386_vbefill_index): Likewise.
34580 (grub_video_i386_vbefill_direct32): Added.
34581 (grub_video_i386_vbefill_direct24): Likewise.
34582 (grub_video_i386_vbefill_direct16): Likewise.
34583 (grub_video_i386_vbefill_direct8): Likewise.
34584
81a06771 34585 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 34586 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
34587 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
34588 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
34589 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
34590 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 34591
0ea85a37 34592 * video/video.c (grub_video_get_blit_format): Updated to use new
34593 blit formats. Added handling for 16 bit color modes.
81a06771 34594
34595 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 34596 fillers.
34597 (common_blitter): Updated to use new blitters.
34598
34599 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
34600 Removed.
34601 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34602 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34603 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34604 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34605 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34606 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34607 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34608 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34609 (grub_video_i386_vbeblit_index_index): Likewise.
34610 (grub_video_i386_vbeblit_replace_directN): Added.
34611 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34612 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34613 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34614 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34615 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34616 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
34617 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
34618 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34619 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34620 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34621 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34622 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34623 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 34624
0ea85a37 34625 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
34626 (grub_video_i386_vbefill_R8G8B8): Likewise.
34627 (grub_video_i386_vbefill_index): Likewise.
34628 (grub_video_i386_vbefill_direct32): Added.
34629 (grub_video_i386_vbefill_direct24): Likewise.
34630 (grub_video_i386_vbefill_direct16): Likewise.
34631 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 34632
0ea85a37 34633 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
34634 types.
81a06771 34635
0ea85a37 34636 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
34637 types.
81a06771 34638
0ea85a37 34639 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
34640 blitter types.
81a06771 34641
0ea85a37 34642 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
34643 types.
34644
e8a83df6 346452008-09-06 Felix Zielcke <fzielcke@z-51.de>
34646
34647 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
34648 RAID level 1.
34649
6bcd8ee5 346502008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 34651
6bcd8ee5 34652 * fs/iso9660.c (grub_iso9660_date): New structure.
34653 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
34654 (grub_iso9660_uuid): New function.
c375ae58 34655
59261157 346562008-09-05 Bean <bean123ch@gmail.com>
34657
34658 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
34659
34660 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
34661 insensitive bit for names in Win32 and Win32 & DOS namespace.
34662
34663 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
34664
34665 * include/grub/types.h (LONG_MAX): Likewise.
34666
58b6645a 346672008-09-04 Felix Zielcke <fzielcke@z-51.de>
34668
4ee55921 34669 * util/getroot.c: Include <config.h>.
34670 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
34671 add support for /dev/md/N devices and handle LVM double dash escaping.
34672
346732008-09-04 Felix Zielcke <fzielcke@z-51.de>
34674
34675 * config.guess: Update to latest version from config git.
34676 * config.sub: Likewise.
58b6645a 34677
9124f65d 346782008-09-03 Robert Millan <rmh@aybabtu.com>
34679
34680 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
34681 `disk->total_sectors'.
34682
81a06771 346832008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 34684
34685 * include/grub/normal.h: Fixed incorrect comment for
34686 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
34687
81a06771 346882008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 34689
34690 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
34691 values with defines.
34692
34693 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
34694 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
34695 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
34696 (GRUB_VBE_MODEATTR_COLOR): Likewise.
34697 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
34698 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
34699 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
34700 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
34701 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
34702 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
34703 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
34704 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
34705 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
34706 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
34707 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
34708 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
34709 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
34710 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
34711 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
34712
93d5cbf8 347132008-08-31 Robert Millan <rmh@aybabtu.com>
34714
34715 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
34716 declaration.
34717 (grub_multiboot): Fix a few warnings.
34718
21751d50 347192008-08-31 Robert Millan <rmh@aybabtu.com>
34720
34721 * loader/i386/pc/multiboot.c: Update comment not to say that
34722 boot_device support is unimplemented.
34723
e27a75c5 347242008-08-31 Robert Millan <rmh@aybabtu.com>
34725
34726 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
34727 or memory map support are unimplemented.
34728
81a06771 347292008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 34730
34731 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
34732
81a06771 347332008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 34734
34735 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
34736 total video memory in 'vbeinfo' output; show color format details for
34737 each video mode.
34738
7c5d8d95 347392008-08-30 Pavel Roskin <proski@gnu.org>
34740
34741 * util/genmoddep.c: Remove for real this time.
34742 * DISTLIST: Remove util/genmoddep.c.
34743
4cebd25a 347442008-08-30 Robert Millan <rmh@aybabtu.com>
34745
34746 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
34747 as required by Multiboot spec (it was already 4-byte aligned, but
34748 only by chance).
34749
b497a269 347502008-08-29 Pavel Roskin <proski@gnu.org>
34751
e3925185 34752 * kern/powerpc/ieee1275/crt0.S: Rename to ...
34753 * kern/powerpc/ieee1275/startup.S: ... this.
34754 * conf/powerpc-ieee1275.rmk: Adjust for the above.
34755 * DISTLIST: Likewise.
34756
b497a269 34757 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
34758 grub/cpu/kernel.h. Add start label for consistency with other
34759 platforms. Add grub_prefix immediately after start. Add jump
34760 to the code after grub_prefix.
34761 * include/grub/powerpc/kernel.h: Provide valid values for
34762 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
34763
6e5a42fe 347642008-08-29 Bean <bean123ch@gmail.com>
34765
34766 * configure.ac: Change host_os to cygwin for mingw.
34767 (asprintf): New check for function.
34768
34769 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
34770 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
34771
34772 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 34773 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 34774 sync, sleep and grub_util_get_disk_size for mingw.
34775
34776 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
34777 to get size in mingw.
34778 (open_device): Use flag O_BINARY if it's defined.
34779 (find_root_device): Add dummy code for mingw.
34780
34781 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
34782 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
34783 (get_scsi_disk_name): Return 0 for mingw.
34784
34785 * util/hostfs.c: #include <grub/util/misc.h>.
34786 (grub_hostfs_open): Use "rb" flag to open file, use
34787 grub_util_get_disk_size to get disk size for mingw.
34788
34789 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
34790 (asprintf): New function if HAVE_ASPRINTF is not set.
34791 (sync): New function for mingw.
34792 (sleep): Likewise.
34793 (grub_util_get_disk_size): Likewise.
34794
ab3f2673 347952008-08-28 Pavel Roskin <proski@gnu.org>
34796
34797 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34798 kern/time.c.
34799
1c282483 348002008-08-28 Robert Millan <rmh@aybabtu.com>
34801
34802 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
34803
678e849c 348042008-08-28 Robert Millan <rmh@aybabtu.com>
34805
34806 Change find_grub_drive() syntax so it doesn't prevent it from
34807 detecting NULL names as errors.
34808
34809 * util/biosdisk.c (find_grub_drive): Move free slot search code
34810 from here ...
34811 (find_free_slot): ... to here.
34812 (read_device_map): Use find_free_slot() to search for free slots.
34813
965c75ca 348142008-08-27 Marco Gerards <marco@gnu.org>
34815
34816 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
34817 (scsi_mod_SOURCES): New variable.
34818 (scsi_mod_CFLAGS): Likewise
34819 (scsi_mod_LDFLAGS): Likewise.
34820
34821 * disk/scsi.c: New file.
34822
34823 * include/grub/scsi.h: Likewise.
34824
34825 * include/grub/scsicmd.h: Likewise.
34826
34827 * disk/ata.c: Include <grub/scsi.h>.
34828 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
34829 instead.
34830 (grub_ata_iterate): Skip ATAPI devices.
34831 (grub_ata_open): Only handle ATAPI devices.
34832 (struct grub_atapi_read): Removed.
34833 (grub_atapi_readsector): Likewise.
34834 (grub_ata_read): No longer handle ATAPI devices.
34835 (grub_ata_write): Likewise.
34836 (grub_atapi_iterate): New function.
34837 (grub_atapi_read): Likewise.
34838 (grub_atapi_write): Likewise.
34839 (grub_atapi_open): Likewise.
34840 (grub_atapi_close): Likewise.
34841 (grub_atapi_dev): New variable.
34842 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34843 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34844
34845 * include/grub/disk.h (enum grub_disk_dev_id): Add
34846 `GRUB_DISK_DEVICE_SCSI_ID'.
34847
c07ae501 348482008-08-26 Robert Millan <rmh@aybabtu.com>
34849
34850 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34851 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34852 descriptive.
34853
5ed20adc 348542008-08-23 Bean <bean123ch@gmail.com>
34855
34856 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34857 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34858 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34859 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34860 dm_nv.mod.
34861 (raid5rec_mod_SOURCES): New macro.
34862 (raid5rec_mod_CFLAGS): Likewise.
34863 (raid5rec_mod_LDFLAGS): Likewise.
34864 (raid6rec_mod_SOURCES): Likewise.
34865 (raid6rec_mod_CFLAGS): Likewise.
34866 (raid6rec_mod_LDFLAGS): Likewise.
34867 (mdraid_mod_SOURCES): Likewise.
34868 (mdraid_mod_CFLAGS): Likewise.
34869 (mdraid_mod_LDFLAGS): Likewise.
34870 (dm_nv_mod_SOURCES): Likewise.
34871 (dm_nv_mod_CFLAGS): Likewise.
34872 (dm_nv_mod_LDFLAGS): Likewise.
34873
34874 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34875 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34876 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34877
34878 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34879 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34880
34881 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34882
34883 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34884
34885 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34886
34887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34888
34889 * disk/raid5_recover.c: New file.
34890
34891 * disk/raid6_recover.c: Likewise.
34892
34893 * disk/mdraid_linux.c: Likewise.
34894
34895 * disk/dmraid_nvidia.c: Likewise.
34896
34897 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34898 ULONG_MAX.
34899
34900 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34901 calculate the size of raid device.
34902 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34903 different layout of raid5.
34904 (grub_raid_scan_device): Remove code specific to mdraid.
34905 (grub_raid_list): New variable.
34906 (free_array): New function.
34907 (grub_raid_register): Likewise.
34908 (grub_raid_unregister): Likewise.
34909 (grub_raid_rescan): Likewise.
34910 (GRUB_MOD_INIT): Don't iterate device here.
34911 (GRUB_MOD_FINI): Use free_array to release resource.
34912
34913 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34914 (grub_raid5_recover_func_t): New function variable type.
34915 (grub_raid6_recover_func_t): Likewise.
34916 (grub_raid5_recover_func): New variable.
34917 (grub_raid6_recover_func): Likewise.
34918 (grub_raid_register): New function.
34919 (grub_raid_unregister): Likewise.
34920 (grub_raid_rescan): Likewise.
34921 (grub_raid_block_xor): Likewise.
34922
34923 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34924 (CMD_CRC): New macro.
34925 (part): Removed.
34926 (read_file): Handle device as well as file.
34927 (cmd_crc): New function.
34928 (fstest): Handle multiple disks.
34929 (options): Remove part, raw and long, add root and diskcount.
34930 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 34931 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 34932 add handling for the new options, support multiple disks.
34933
34934 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34935
29c18915 349362008-08-23 Bean <bean123ch@gmail.com>
34937
34938 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34939
34940 * genfslist.sh: Ignore kernel.mod.
34941
34942 * genpartmaplist.sh: Likewise.
34943
8415f261 349442008-08-23 Robert Millan <rmh@aybabtu.com>
34945
34946 * util/getroot.c (find_root_device): Skip anything that starts with
34947 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34948
d5a7dc5b 349492008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 34950
d5a7dc5b 34951 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34952 * util/grub.d/00_header.in: Allow the administrator to change default
34953 gfxmode via ${GRUB_GFXMODE}.
34954
380cfbb4 349552008-08-21 Felix Zielcke <fzielcke@z-51.de>
34956
34957 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34958
c9baafe7 349592008-08-21 Robert Millan <rmh@aybabtu.com>
34960
34961 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34962 loader.
34963 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34964 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34965
e290bef2 349662008-08-20 Carles Pina i Estany <carles@pina.cat>
34967
34968 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34969 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34970
f9dbfc96 349712008-08-19 Robert Millan <rmh@aybabtu.com>
34972
34973 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34974 (struct grub_virtual_screen): Remove `cursor_color'.
34975 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34976 initialization.
34977 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
34978
dd6bd6ab 349792008-08-18 Robert Millan <rmh@aybabtu.com>
34980
34981 Unify (identical) linux_normal.c files.
34982 * loader/i386/efi/linux_normal.c: Move from here ...
34983 * loader/linux_normal.c: ... to here. Update all users.
34984 * loader/i386/pc/linux_normal.c: Delete. Update all users.
34985 * loader/i386/ieee1275/linux_normal.c: Likewise.
34986
7f42f83e 349872008-08-18 Robert Millan <rmh@aybabtu.com>
34988
34989 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
34990 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
34991 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
34992 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
34993 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
34994 New macros.
34995 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
34996 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
34997 (GRUB_LINUX_CL_END_OFFSET): ... to here.
34998 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
34999 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
35000 (GRUB_EFI_CL_END_OFFSET): Rename to ...
35001 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
35002 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
35003 Initialize `params->video_cursor_x' and `params->video_cursor_y'
35004 portably using grub_getxy().
35005 Replace `-EFI' with `-bzImage' in boot message.
35006
38487ddb 350072008-08-17 Robert Millan <rmh@aybabtu.com>
35008
35009 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
35010
deceb3ec 350112008-08-17 Robert Millan <rmh@aybabtu.com>
35012
35013 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
35014
35015 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
35016 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
35017 (grub_machine_mmap_iterate): New function declaration.
35018 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
35019 structure.
35020 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
35021 macros.
35022
35023 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
35024 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
35025 Move e820 parsing from here ...
35026 * kern/i386/pc/mmap.c: New file.
35027 (grub_machine_mmap_iterate): ... to here.
35028
35029 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
35030 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
35031 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
35032 (grub_available_iterate): Redeclare to return `void', and redeclare
35033 its hook to use grub_uint64_t as addr and size parameters, and rename
35034 to ...
35035 (grub_machine_mmap_iterate): ... this. Update all users.
35036
35037 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
35038 to make it more readable. Rename to ...
35039 (grub_machine_mmap_iterate): ... this.
35040
35041 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
35042 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
35043 (grub_multiboot): Allocate an extra region after the payload, and fill
35044 it with a Multiboot memory map. Adjust a.out loader to calculate size
35045 with the extra space.
35046 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
35047 with the extra space.
35048
f8aa0f43 350492008-08-17 Carles Pina i Estany <carles@pina.cat>
35050
9807deb9 35051 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 35052
605f5bb6 350532008-08-17 Felix Zielcke <fzielcke@z-51.de>
35054
35055 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
35056 mdate-sh to the list `find' searches for.
35057 * DISTLIST: Regenerated.
35058
210db6c6 350592008-08-16 Felix Zielcke <fzielcke@z-51.de>
35060
35061 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
35062 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 35063 genmoddep.awk, gensymlist.sh.in.
35064 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 35065 * DISTLIST: Regenerated.
48cdbfd4 35066 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 35067
1082b929 350682008-08-16 Robert Millan <rmh@aybabtu.com>
35069
35070 * disk/raid.c (grub_raid_init): Handle/report errors set by
35071 grub_device_iterate().
35072 * disk/lvm.c (grub_lvm_init): Likewise.
35073
42ce5170 350742008-08-15 Bean <bean123ch@gmail.com>
35075
35076 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35077 and datehook.mod.
35078 (datetime_mod_SOURCES): New macro.
35079 (datetime_mod_CFLAGS): Likewise.
35080 (datetime_mod_LDFLAGS): Likewise.
35081 (date_mod_SOURCES): Likewise.
35082 (date_mod_CFLAGS): Likewise.
35083 (date_mod_LDFLAGS): Likewise.
35084 (datehook_mod_SOURCES): Likewise.
35085 (datehook_mod_CFLAGS): Likewise.
35086 (datehook_mod_LDFLAGS): Likewise.
35087
35088 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35089 and datehook.mod.
35090 (datetime_mod_SOURCES): New macro.
35091 (datetime_mod_CFLAGS): Likewise.
35092 (datetime_mod_LDFLAGS): Likewise.
35093 (date_mod_SOURCES): Likewise.
35094 (date_mod_CFLAGS): Likewise.
35095 (date_mod_LDFLAGS): Likewise.
35096 (datehook_mod_SOURCES): Likewise.
35097 (datehook_mod_CFLAGS): Likewise.
35098 (datehook_mod_LDFLAGS): Likewise.
35099
35100 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35101 and datehook.mod.
35102 (datetime_mod_SOURCES): New macro.
35103 (datetime_mod_CFLAGS): Likewise.
35104 (datetime_mod_LDFLAGS): Likewise.
35105 (date_mod_SOURCES): Likewise.
35106 (date_mod_CFLAGS): Likewise.
35107 (date_mod_LDFLAGS): Likewise.
35108 (datehook_mod_SOURCES): Likewise.
35109 (datehook_mod_CFLAGS): Likewise.
35110 (datehook_mod_LDFLAGS): Likewise.
35111
35112 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35113 and datehook.mod.
35114 (datetime_mod_SOURCES): New macro.
35115 (datetime_mod_CFLAGS): Likewise.
35116 (datetime_mod_LDFLAGS): Likewise.
35117 (date_mod_SOURCES): Likewise.
35118 (date_mod_CFLAGS): Likewise.
35119 (date_mod_LDFLAGS): Likewise.
35120 (datehook_mod_SOURCES): Likewise.
35121 (datehook_mod_CFLAGS): Likewise.
35122 (datehook_mod_LDFLAGS): Likewise.
35123
35124 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35125 and datehook.mod.
35126 (datetime_mod_SOURCES): New macro.
35127 (datetime_mod_CFLAGS): Likewise.
35128 (datetime_mod_LDFLAGS): Likewise.
35129 (date_mod_SOURCES): Likewise.
35130 (date_mod_CFLAGS): Likewise.
35131 (date_mod_LDFLAGS): Likewise.
35132 (datehook_mod_SOURCES): Likewise.
35133 (datehook_mod_CFLAGS): Likewise.
35134 (datehook_mod_LDFLAGS): Likewise.
35135
35136 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
35137
35138 * commands/date.c: New file.
35139
35140 * hook/datehook.c: Likewise.
35141
35142 * include/grub/lib/datetime.h: Likewise.
35143
35144 * include/grub/i386/cmos.h: Likewise.
35145
35146 * lib/datetime.c: Likewise.
35147
35148 * lib/i386/datetime.c: Likewise.
35149
35150 * lib/efi/datetime.c: Likewise.
35151
0e9242da 351522008-08-14 Robert Millan <rmh@aybabtu.com>
35153
35154 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
35155 (grub_mkelfimage_SOURCES): New variable.
35156 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
35157
35158 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
35159 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
35160 * conf/powerpc-ieee1275.rmk: Likewise.
35161 * conf/i386-ieee1275.rmk: Likewise.
35162
35163 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
35164 * kern/i386/coreboot/init.c: Likewise.
35165
35166 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
35167 with `<grub/cpu/kernel.h>'.
35168 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
35169 to ...
35170 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
35171 * kern/i386/coreboot/startup.S: Likewise.
35172
35173 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
35174 (GRUB_MOD_GAP): Remove.
35175 * include/grub/powerpc/kernel.h: New file.
35176 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
35177 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35178 * include/grub/i386/kernel.h: New file.
35179 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
35180 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
35181 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35182
35183 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
35184 `grub-mkelfimage'.
35185 Use --directory when invoking grub_mkimage.
35186
35187 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
35188 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
35189 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
35190 and GRUB_KERNEL_CPU_PREFIX.
35191
b86408f8 351922008-08-14 Felix Zielcke <fzielcke@z-51.de>
35193
d5e619ca 35194 * include/grub/err.h (grub_err_printf): New function prototype.
35195 * util/misc.c (grub_err_printf): New function.
35196 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
35197 grub_printf.
35198 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 35199
7161f0e0 352002008-08-13 Robert Millan <rmh@aybabtu.com>
35201
35202 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
35203
a1967522 352042008-08-13 Robert Millan <rmh@aybabtu.com>
35205
35206 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
35207 boot entry.
35208
371458b5 352092008-08-12 Robert Millan <rmh@aybabtu.com>
35210
35211 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
35212 of the relocation code from here ...
35213 (grub_multiboot): ... to here.
35214 (forward_relocator, backward_relocator): Move from here ...
35215 * kern/i386/loader.S (grub_multiboot_forward_relocator)
35216 (grub_multiboot_backward_relocator): ... to here.
35217 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
35218 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
35219 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
35220 (grub_multiboot_forward_relocator_end)
35221 (grub_multiboot_backward_relocator)
35222 (grub_multiboot_backward_relocator_end): New variables.
35223
05f9452b 352242008-08-12 Bean <bean123ch@gmail.com>
35225
35226 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
35227
20024ab0 352282008-08-11 Robert Millan <rmh@aybabtu.com>
35229
35230 * kern/i386/linuxbios/startup.S: Move from here ...
35231 * kern/i386/coreboot/startup.S: ... to here.
35232
35233 * kern/i386/linuxbios/init.c: Move from here ...
35234 * kern/i386/coreboot/init.c: ... to here.
35235
35236 * kern/i386/linuxbios/table.c: Move from here ...
35237 * kern/i386/coreboot/mmap.c: ... to here.
35238
35239 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
35240
e352e9cd 352412008-08-11 Robert Millan <rmh@aybabtu.com>
35242
35243 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
35244 errors. Leave it to the upper layer to handle them.
35245
2d05bc6a 352462008-08-09 Christian Franke <franke@computer.org>
35247
35248 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
35249 * conf/common.rmk: Install `grub-pe2elf' only if requested.
35250 Install `grub.d/10_windows' only on Cygwin.
35251 * configure.ac: Add subst of `target_os'.
35252 Check `target_os' also before setting TARGET_OBJ2ELF.
35253 Add `--enable-grub-pe2elf'.
35254
042bd419 352552008-08-08 Robert Millan <rmh@aybabtu.com>
35256
35257 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35258 (grub_last_time): Change type to grub_uint64_t.
35259 (grub_disk_open): Migrate code from to using grub_get_time_ms().
35260 (grub_disk_close): Likewise.
35261
35262 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35263 (run_menu): Migrate code from to using grub_get_time_ms().
35264
35265 * util/misc.c (grub_get_time_ms): New function.
35266
7f280db5 352672008-08-08 Marco Gerards <marco@gnu.org>
35268
35269 * disk/ata.c (grub_ata_regget): Change return type to
35270 `grub_uint8_t'.
35271 (grub_ata_regget2): Likewise.
35272 (grub_ata_wait_status): New function.
35273 (grub_ata_wait_busy): Removed function, updated all users to use
35274 `grub_ata_wait_status'.
35275 (grub_ata_wait_drq): Likewise.
35276 (grub_ata_cmd): New function.
35277 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
35278 error handling.
35279 (grub_ata_pio_write): Add error handling.
35280 (grub_atapi_identify): Likewise.
35281 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
35282 handling.
35283 (grub_ata_identify): Use `grub_ata_cmd' and improve error
35284 handling. Actually use the detected registers. Reorder the
35285 detection logic such that it is easier to read.
35286 (grub_ata_pciinit): Do not assign the same ID to each controller.
35287 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
35288 handling.
35289 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
35290
35291 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
35292
1fbc5e66 352932008-08-08 Marco Gerards <marco@gnu.org>
35294
35295 * NEWS: Update.
35296
819ce6c0 352972008-08-07 Bean <bean123ch@gmail.com>
35298
35299 * include/grub/x86_64/pci.h: New file.
35300
5c41d44d 353012008-08-07 Christian Franke <franke@computer.org>
35302
35303 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
35304 (TIMER2_GATE): Likewise.
35305 (grub_pit_wait): Add enable/disable of the timer2 gate
35306 bit of port 0x61. This fixes a possible infinite loop.
35307
5ebc275d 353082008-08-07 Bean <bean123ch@gmail.com>
35309
35310 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
35311 kern/i386/tsc.c and kern/i386/pit.c.
35312
35313 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
35314 x86_64 platform.
35315
35316 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
35317 <grub/i386/tsc.h>.
35318
35319 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
35320
e383b3d0 353212008-08-07 Bean <bean123ch@gmail.com>
35322
35323 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
35324
35325 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
35326
35327 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
35328 multiple inclusion. Add #include <grub/types.h>.
35329
1cbb58ac 353302008-08-06 Christian Franke <franke@computer.org>
35331
35332 * conf/common.rmk: Build and install `10_windows'.
35333 * util/grub.d/10_windows.in: New script.
35334
337f5a1e 353352008-08-06 Pavel Roskin <proski@gnu.org>
35336
35337 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
35338
057bc4ac 353392008-08-06 Robert Millan <rmh@aybabtu.com>
35340
35341 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
35342 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
35343
2b99f123 353442008-08-06 Bean <bean123ch@gmail.com>
35345
35346 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
35347 (grub_pxefs_fs_int): Remove dummy definition.
35348 (grub_pxefs_open): Use data->block_size to store the current block
35349 size setting.
35350 (grub_pxefs_read): Use block size stored in data->block_size. As the
35351 value of grub_pxe_blksize can be changed after the file is opened.
35352
9f0234cb 353532008-08-06 Bean <bean123ch@gmail.com>
35354
35355 * fs/i386/pc/pxe.c (curr_file): new variable.
35356 (grub_pxefs_open): Simply the handling of pxe file system. Don't
35357 require the dummy internal file system anymore.
35358 (grub_pxefs_read): Removed.
35359 (grub_pxefs_close): Likewise.
35360 (grub_pxefs_fs_int): Likewise.
35361 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
35362 connection when we switch file.
35363 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
35364
a55d42e0 353652008-08-06 Robert Millan <rmh@aybabtu.com>
35366
35367 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
35368 `halt.mod'.
35369 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
35370 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
35371
35372 * kern/i386/halt.c: New file.
35373 * kern/i386/reboot.c: Likewise.
35374 * include/grub/i386/reboot.h: Likewise.
35375 * include/grub/i386/halt.h: Likewise.
35376
35377 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
35378 Include `<grub/cpu/halt.h>'.
35379 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
35380 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
35381
35382 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
35383 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
35384 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
35385 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
35386 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
35387 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
35388 from here ...
35389 * include/grub/i386/at_keyboard.h: ... to here.
35390
24371d26 353912008-08-05 Robert Millan <rmh@aybabtu.com>
35392
35393 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
35394 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
35395 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
35396 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35397 `kern/generic/millisleep.c'.
35398
35399 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
35400 instead of grub_get_rtc().
35401 (grub_tsc_init): Initialize `tsc_boot_time'.
35402
35403 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
35404 (grub_machine_init): Use grub_tsc_init() rather than
35405 installing an RTC-based handler via grub_install_get_time_ms().
35406
35407 * kern/i386/pit.c: New file.
35408 * include/grub/i386/pit.h: Likewise.
35409
9e7007b3 354102008-08-05 Bean <bean123ch@gmail.com>
35411
35412 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
35413
35414 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
35415 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
35416 (pxe_mod_SOURCES): New macro.
35417 (pxe_mod_CFLAGS): Likewise.
35418 (pxe_mod_LDFLAGS): Likewise.
35419 (pxecmd_mod_SOURCES): Likewise.
35420 (pxecmd_mod_CFLAGS): Likewise.
35421 (pxecmd_mod_LDFLAGS): Likewise.
35422
35423 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
35424 (grub_pxe_call): Likewise.
35425
35426 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
35427
35428 * commands/i386/pc/pxecmd.c: New file.
35429
9f0234cb 35430 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 35431
35432 * include/grub/i386/pc/pxe.h: Likewise.
35433
6977d49f 354342008-08-05 Bean <bean123ch@gmail.com>
35435
35436 * util/console.c (grub_console_cur_color): New variable.
35437 (grub_console_standard_color): Likewise.
35438 (grub_console_normal_color): Likewise.
35439 (grub_console_highlight_color): Likewise.
35440 (color_map): Likewise.
35441 (use_color): Likewise.
35442 (NUM_COLORS): New macro.
35443 (grub_ncurses_setcolorstate): Handle color properly.
35444 (grub_ncurses_setcolor): Don't change color here, just remember the
35445 settings, color will be set in grub_ncurses_setcolorstate.
35446 (grub_ncurses_getcolor): New function.
35447 (grub_ncurses_init): Initialize color pairs.
35448 (grub_ncurses_term): New member grub_ncurses_getcolor.
35449
9c2ff3ee 354502008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 35451
9c2ff3ee 35452 High resolution timer support. Implemented for x86 CPUs using TSC.
35453 Extracted generic grub_millisleep() so it's linked in only as needed.
35454 This requires a Pentium compatible CPU; if the RDTSC instruction is
35455 not supported, then it falls back on the generic grub_get_time_ms()
35456 implementation that uses the machine's RTC.
35457
35458 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
35459 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35460 `kern/generic/millisleep.c'.
35461
35462 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
35463 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
35464
35465 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
35466 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
35467
35468 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35469
35470 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35471 `kern/generic/millisleep.c'.
35472
35473 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35474
35475 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
35476
35477 * kern/generic/rtc_get_time_ms.c: New file.
35478
35479 * kern/generic/millisleep.c: New file.
337f5a1e 35480
9c2ff3ee 35481 * kern/misc.c: Don't include
35482 <kern/time.h> anymore.
35483 (grub_millisleep_generic): Removed.
35484
35485 * commands/sleep.c (grub_interruptible_millisleep): Uses
35486 grub_get_time_ms() instead of grub_get_rtc().
35487
35488 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
35489 function.
35490 (grub_cpu_is_cpuid_supported): New inline function.
35491 (grub_cpu_is_tsc_supported): New inline function.
35492 (grub_tsc_init): New function prototype.
35493 (grub_tsc_get_time_ms): New function prototype.
35494
35495 * kern/i386/tsc.c (grub_get_time_ms): New file.
35496
35497 * include/grub/time.h: Include <grub/types.h.
35498 (grub_millisleep_generic): Removed.
35499 (grub_get_time_ms): New prototype.
35500 (grub_install_get_time_ms): New prototype.
35501 (grub_rtc_get_time_ms): New prototype.
35502
35503 * kern/time.c (grub_get_time_ms): New function.
35504 (grub_install_get_time_ms): New function.
35505
35506 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
35507 <grub/time.h> anymore.
35508 (grub_millisleep): Removed.
35509 (grub_machine_init): Call grub_tsc_init.
35510
35511 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
35512 get_time_ms() implementation.
35513
35514 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
35515 (ieee1275_get_time_ms): New function.
35516 (grub_machine_init): Install get_time_ms() implementation.
35517
35518 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
35519 (grub_machine_init): Call grub_tsc_init().
35520 (grub_millisleep): Removed.
bf06a93f 35521
9c2ff3ee 35522 * kern/ieee1275/init.c (grub_millisleep): Removed.
35523 (grub_machine_init): Install ieee1275_get_time_ms()
35524 implementation.
35525 (ieee1275_get_time_ms): New function.
35526 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
35527 real work.
35528
9ec92aaf 355292008-08-05 Marco Gerards <marco@gnu.org>
35530
35531 * disk/ata.c: Include <grub/pci.h>.
35532 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
35533 (grub_ata_initialize): Rewritten.
35534 (grub_ata_device_initialize): New function.
35535
8d23f507 355362008-08-04 Pavel Roskin <proski@gnu.org>
35537
35538 * kern/main.c: Include grub/mm.h.
35539
5e15ee3d 355402008-08-04 Robert Millan <rmh@aybabtu.com>
35541
35542 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
35543 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
35544 corruption problem).
35545
a9053f8f 355462008-08-04 Robert Millan <rmh@aybabtu.com>
35547
35548 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
35549 warnings introduced in my last commit.
35550
dd19c7d7 355512008-08-03 Robert Millan <rmh@aybabtu.com>
35552
35553 Make PCI available on all i386 architectures.
35554
35555 * include/grub/i386/pc/pci.h: Move from here ...
35556 * include/grub/i386/pci.h: ... to here.
35557
35558 * include/grub/i386/pc/pci.h: Remove.
35559 * include/grub/i386/efi/pci.h: Remove.
35560 * include/grub/x86_64/efi/pci.h: Remove.
35561
35562 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
35563 `<grub/cpu/pci.h>'.
35564
35565 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
35566 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
35567 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
35568
35569 * conf/i386-ieee1275.rmk: Likewise.
35570
e14a6184 355712008-08-03 Robert Millan <rmh@aybabtu.com>
35572
35573 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
35574 (grub_console_setcursor): Make it possible to set cursor off.
35575
52768e37 355762008-08-03 Robert Millan <rmh@aybabtu.com>
35577
35578 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
35579 of modules instead of assuming which platform provides what.
35580 * util/update-grub.in: Likewise.
35581
2d52f57f 355822008-08-03 Robert Millan <rmh@aybabtu.com>
35583
35584 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
35585 instead of `grub_install_dos_part' to determine whether a drive needs
35586 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 35587 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 35588
2a5cd121 355892008-08-02 Robert Millan <rmh@aybabtu.com>
35590
35591 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
35592
93808428 355932008-08-02 Robert Millan <rmh@aybabtu.com>
35594
35595 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
35596 of informational grub_dprintf() calls.
35597
3bd0a12a 355982008-08-02 Robert Millan <rmh@aybabtu.com>
35599
35600 * disk/memdisk.c (memdisk_size): Don't initialize.
35601 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
35602
35603 * include/grub/i386/pc/kernel.h
35604 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
35605 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
35606 (grub_memdisk_image_size, grub_arch_memdisk_addr)
35607 (grub_arch_memdisk_size): Remove.
35608
35609 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
35610 field (was only used to transfer a constant). Add `type' field to
35611 support multiple module types.
35612 (grub_module_iterate): New function.
35613
35614 * kern/device.c (grub_device_open): Do not hide error messages
35615 when grub_disk_open() fails. Use grub_print_error() instead.
35616
35617 * kern/i386/pc/init.c (grub_arch_modules_addr)
35618 (grub_arch_memdisk_size): Remove functions.
35619 (grub_arch_modules_addr): Return the module address in high memory
35620 (now that it isn't copied anymore).
35621
35622 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
35623 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
35624 decompression routine (grub_total_module_size already includes that
35625 now). Don't copy modules back to low memory.
35626
35627 * kern/main.c: Include `<grub/mm.h>'.
35628 (grub_load_modules): Split out (and use) ...
35629 (grub_module_iterate): ... this function, which iterates through
35630 module objects and runs a hook.
35631 Comment out grub_mm_init_region() call, as it would cause non-ELF
35632 modules to be overwritten.
35633
35634 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
35635 the memdisk image in its own region, make it part of the module list.
35636 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
35637 (main): Parse --memdisk|-m option, and pass user-provided path as
35638 parameter to generate_image().
35639 (add_segments): Pass `memdisk_path' down to load_modules().
35640 (load_modules): Embed memdisk image in module section when requested.
35641 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
35642 `header.type' instead of `header.offset'.
35643
35644 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
35645 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
35646 (memdisk_mod_LDFLAGS): New variables.
35647 * conf/i386-coreboot.rmk: Likewise.
35648 * conf/i386-ieee1275.rmk: Likewise.
35649
a927cc73 356502008-08-02 Robert Millan <rmh@aybabtu.com>
35651
35652 * loader/i386/pc/multiboot.c (playground, forward_relocator)
35653 (backward_relocator): New variables. Used to allocate and relocate
35654 the payload, respectively.
35655 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 35656 address, install the appropriate relocator code in each bound of
a927cc73 35657 the payload, and set the entry point such that
35658 grub_multiboot_real_boot() will jump to one of them.
35659
35660 * kern/i386/loader.S (grub_multiboot_payload_size)
35661 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35662 (grub_multiboot_payload_entry_offset): New variables.
35663 (grub_multiboot_real_boot): Set cpu context to what the relocator
35664 expects, and jump to the relocator instead of the payload.
35665
35666 * include/grub/i386/loader.h (grub_multiboot_payload_size)
35667 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35668 (grub_multiboot_payload_entry_offset): Export.
35669
b15d8a0c 356702008-08-01 Bean <bean123ch@gmail.com>
35671
35672 * normal/menu_entry.c (editor_getline): Don't return the original
35673 string as result, as it will be released by lexer once it has done
35674 using it.
35675
cdfb3d22 356762008-08-01 Robert Millan <rmh@aybabtu.com>
35677
35678 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
35679 within menuentries, not before them.
35680 util/grub.d/10_hurd.in: Likewise.
35681
9175e93d 356822008-08-01 Bean <bean123ch@gmail.com>
35683
35684 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
35685 (bufio_mod_SOURCES): New macro.
35686 (bufio_mod_CFLAGS): Likewise.
35687 (bufio_mod_LDFLAGS): Likewise.
35688
35689 * include/grub/bufio.h: New file.
35690
35691 * io/bufio.c: Likewise.
35692
35693 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
35694 (grub_video_reader_png): Use grub_buffile_open to open file.
35695
35696 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
35697 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
35698
35699 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
35700 (grub_video_reader_tga): Use grub_buffile_open to open file.
35701
35702 * font/manager.c: Include <grub/bufio.h>.
35703 (add_font): Use grub_buffile_open to open file.
35704
3d8383e7 357052008-07-31 Robert Millan <rmh@aybabtu.com>
35706
35707 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
35708 ELF segments, use a macro for arbitrarily accessing any of them instead
35709 of preparing a pointer that allows access to one at a time.
35710 (grub_multiboot_load_elf64): Likewise.
35711
16e641b6 357122008-07-31 Bean <bean123ch@gmail.com>
35713
35714 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
35715 GRUB_KERNEL_MACHINE_DATA_END.
35716
59198b72 357172008-07-30 Robert Millan <rmh@aybabtu.com>
35718
35719 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
35720 Increase from 0x50 to 0x60.
35721 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
35722 use UUIDs to identify the root drive for them. If that's not
35723 possible, abort.
35724 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
35725 check, for cross-disk installs.
35726
ae88bca3 357272008-07-30 Robert Millan <rmh@aybabtu.com>
35728
35729 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
35730 is non-empty, use it to set the `prefix' environment variable instead
35731 of the usual approach.
35732 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
35733 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
35734 environment variable instead of dummy make_install_device().
35735
35736 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
35737 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 35738 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 35739
35740 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
35741 New variable reference.
35742 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
35743 New macro. Defines offset of `grub_prefix' within startup.S (relative
35744 to `start').
35745 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
35746 section within startup.S (relative to `start').
35747 * include/grub/i386/coreboot/kernel.h: Likewise.
35748
35749 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
35750 Overwrite grub_prefix with its contents, at the beginning of the
35751 first segment.
35752 (main): Understand -p|--prefix.
35753
14f41dd1 357542008-07-30 Robert Millan <rmh@aybabtu.com>
35755
35756 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
35757
4ca049a3 357582008-07-30 Robert Millan <rmh@aybabtu.com>
35759
35760 * term/i386/pc/vga_text.c (grub_console_cls): Use
35761 grub_console_gotoxy() to go back to beginning of the screen.
35762 Found by Patrick Georgi <patrick.georgi@coresystems.de>
35763
2921d337 357642008-07-29 Christian Franke <franke@computer.org>
35765
35766 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35767 Add conversion of emulated mount points on Cygwin.
35768
b609876d 357692008-07-29 Christian Franke <franke@computer.org>
35770
35771 * util/update-grub.in: Add a check for admin
35772 group on Cygwin.
35773 Remove old `grub.cfg.new' before creation.
35774 Add `-f' to `mv' to handle the different filesystem
35775 semantics of Windows.
35776
e93e4679 357772008-07-29 Bean <bean123ch@gmail.com>
35778
35779 * normal/main.c (get_line): Fix buffer overflow bug.
35780
41694fd0 357812008-07-28 Robert Millan <rmh@aybabtu.com>
35782
35783 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
35784 (struct grub_apple_header): New struct. Describes the layout of
35785 the partmap header.
35786 (apple_partition_map_iterate): Check the header magic as well as the
35787 partition magic (which was already being checked).
35788
cfd0b4e6 357892008-07-28 Pavel Roskin <proski@gnu.org>
35790
35791 * genmk.rb: Add a warning to the beginning of the output that
35792 it's a generated file and should not be edited.
35793
93cce016 357942008-07-28 Robert Millan <rmh@aybabtu.com>
35795
35796 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35797 with the same number are found, just use issue a warning with
35798 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 35799
cd1df915 358002008-07-27 Robert Millan <rmh@aybabtu.com>
35801
35802 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
35803 information.
35804
b70a8427 358052008-07-27 Bean <bean123ch@gmail.com>
35806
35807 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
35808 (grub_fat_find_dir): Ignore case when comparing filename.
35809
8f5e379f 358102008-07-27 Bean <bean123ch@gmail.com>
35811
35812 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
35813 smallino, as it's more descriptive, and i8count can be confused with
35814 the other field count.
35815 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
35816 inode type.
35817
a85cd5a0 358182008-07-27 Bean <bean123ch@gmail.com>
35819
35820 * commands/crc.c: New file.
35821
35822 * lib/crc.c: Likewise.
35823
35824 * include/grub/lib/crc.h: Likewise.
35825
35826 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
35827
35828 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
35829 (hexdump): Move this function to ...
35830
35831 * lib/hexdump.c: ... here.
35832
35833 * include/grub/hexdump.h: Renamed to ...
35834
35835 * include/grub/lib/hexdump.h: ... this.
35836
35837 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35838
35839 * util/grub-editenv.c: Likewise.
35840
35841 * include/envblk.h: Renamed to ...
35842
35843 * include/lib/envblk.h: ... this.
35844
35845 * util/envblk.c: Renamed to ...
35846
35847 * lib/envblk.c: ... this.
35848
35849 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35850 lib/hexdump.c.
35851 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35852 (pkglib_MODULES): Add crc.mod.
35853 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35854 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35855 (crc_mod_SOURCES): New macro.
35856 (crc_mod_CFLAGS): Likewise.
35857 (crc_mod_LDFLAGS): Likewise.
35858
35859 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35860
35861 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35862
35863 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35864
35865 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35866
35867 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35868
c298def0 358692008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 35870
35871 * commands/help.c: Include <grub/term.h>.
35872 (TERM_WIDTH): Removed. Updated all users.
35873
cc349fb3 358742008-07-27 Pavel Roskin <proski@gnu.org>
35875
35876 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35877 spurious warnings about a comment within a comment.
35878
9051607e 358792008-07-25 Robert Millan <rmh@aybabtu.com>
35880
35881 * util/getroot.c (find_root_device): Skip devices that match
35882 /dev/dm-[0-9]. This lets the real device be found for any type of
35883 abstraction (LVM, EVMS, RAID..).
35884 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35885 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35886 device is found first, find_root_device() will now skip it.
35887
01453bfc 358882008-07-24 Pavel Roskin <proski@gnu.org>
35889
35890 * include/grub/types.h: Use __builtin_bswap32() and
35891 __builtin_bswap64() with gcc 4.3 and newer.
35892
6af9849f 358932008-07-24 Christian Franke <franke@computer.org>
35894
3a0fa256 35895 * util/i386/pc/grub-install.in: If `--debug' is specified,
35896 pass `--verbose' to grub-setup.
35897 Abort script if make_system_path_relative_to_its_root() fails.
35898
7810e747 358992008-07-24 Bean <bean123ch@gmail.com>
35900
35901 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35902 variable `target_platform' should be `platform'.
35903
42290e17 359042008-07-24 Bean <bean123ch@gmail.com>
35905
51cc5193 35906 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 35907 (grub_png_init_fixed_block): New function.
35908 (grub_png_decode_image_data): Handle fixed huffman code compression.
35909
2a8a80e4 359102008-07-24 Bean <bean123ch@gmail.com>
35911
35912 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35913 (grub_pe2elf_SOURCES): New macro.
35914 (CLEANFILES): Add grub-pe2elf.
35915
35916 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35917 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35918 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35919 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35920 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35921 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35922 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35923 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35924 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35925 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35926 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35927 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35928 (GRUB_PE32_DT_FUNCTION): Likewise.
35929 (GRUB_PE32_REL_I386_DIR32): Likewise.
35930 (GRUB_PE32_REL_I386_REL32): Likewise.
35931 (grub_pe32_symbol): New structure.
35932 (grub_pe32_reloc): Likewise.
35933
35934 * util/grub-pe2elf.c: New file.
35935
35936 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35937 start symbol in non pc platform.
35938
35939 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35940
35941 The following patches are from Christian Franke.
35942
35943 * include/grub/dl.h: Remove .previous, gas supports this only
35944 for ELF format.
35945
35946 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35947 Remove .type, gas supports this only for ELF format.
35948
35949 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35950 nullbytes in symbol table. This fixes an infinite loop if table is
35951 zero filled.
35952
35953 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35954 TARGET_IMG_LDFLAGS and EXEEXT.
35955
35956 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35957 TARGET_IMG_LDFLAGS_AC.
35958 (grub_CHECK_STACK_ARG_PROBE): New function.
35959
35960 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35961
35962 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35963
35964 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35965 to set TARGET_IMG_LD* accordingly.
35966 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35967 Add call to grub_CHECK_STACK_ARG_PROBE.
35968 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35969
35970 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35971
35972 * genmk.rb: Add EXEEXT to CLEANFILES.
35973
12ccdb75 359742008-07-23 Robert Millan <rmh@aybabtu.com>
35975
35976 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
35977 define the codes for arrows and lines used for the menu).
35978 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
35979 as well.
35980
35981 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
35982 fonts, because the latter are too slow.
35983
18eeaf04 359842008-07-21 Bean <bean123ch@gmail.com>
35985
35986 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
35987 a20. Run keyboard test last, as it will cause macbook to halt.
35988
b095e2ad 359892008-07-18 Pavel Roskin <proski@gnu.org>
35990
35991 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
35992 load foreign architecture modules correctly anyway. Keep
35993 support for loading host architecture modules, whether we
35994 compile them or not.
35995
737feb35 359962008-07-17 Pavel Roskin <proski@gnu.org>
35997
3f4ce737 35998 * configure.ac: Use -m32 or -m64 regardless of whether we had to
35999 change target_cpu. The compiler default can mismatch target_cpu
36000 in any case.
36001
4ad2d049 36002 * disk/efi/efidisk.c: Fix format warnings on x86_64.
36003 * kern/efi/efi.c: Likewise.
36004
f6130a12 36005 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
36006 target compiler is functional.
36007 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
36008 are set up.
36009
58393a2d 36010 * configure.ac: Default to efi platform for x86_64-apple. Allow
36011 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
36012 adjustments from the rest, only do them if target is not
36013 explicitly given. Merge other adjustments with the final sanity
36014 check. Remove an extraneous check for supported CPU. Be
36015 specific which CPU and which platform is not supported.
36016
737feb35 36017 * configure.ac: Default to pc platform for x86_64.
36018
546f966a 360192008-07-17 Robert Millan <rmh@aybabtu.com>
36020
36021 Partial LinuxBIOS -> Coreboot rename.
36022
36023 * conf/i386-linuxbios.rmk: Renamed to ...
36024 * conf/i386-coreboot.rmk: ... this.
36025 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
36026 * configure.ac: Accept "coreboot" as input platform (but maintain
36027 compatibility with "linuxbios").
36028 * include/grub/i386/linuxbios: Renamed to ...
36029 * include/grub/i386/coreboot: ... this.
36030
20011694 360312008-07-17 Bean <bean123ch@gmail.com>
36032
36033 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 36034 (appleldr_mod_SOURCE): New variable.
20011694 36035 (appleldr_mod_CFLAGS): Likewise.
36036 (appleldr_mod_LDFLAGS): Likewise.
36037 (pci_mod_SOURCES): Likewise.
36038 (pci_mod_CFLAGS): Likewise.
36039 (pci_mod_LDFLAGS): Likewise.
36040 (lspci_mod_SOURCES): Likewise.
36041 (lspci_mod_CFLAGS): Likewise.
36042 (lspci_mod_LDFLAGS): Likewise.
36043
36044 * conf/x86_64-efi.rmk: New file.
36045
36046 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
36047 macro.
36048 (grub_efidisk_write): Likewise.
36049
36050 * include/efi/api.h (efi_call_0): New macro.
36051 (efi_call_1): Likewise.
36052 (efi_call_2): Likewise.
36053 (efi_call_3): Likewise.
36054 (efi_call_4): Likewise.
36055 (efi_call_5): Likewise.
36056 (efi_call_6): Likewise.
36057
36058 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
36059 grub_rescue_cmd_chainloader.
36060
36061 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
36062 (grub_pe32_optional_header): Change some fields based on i386 or
36063 x86_64 platform.
36064 (GRUB_PE32_PE32_MAGIC): Likewise.
36065
36066 * include/grub/efi/uga_draw.h: New file.
36067
36068 * include/grub/elf.h (STN_ABS): New constant.
36069 (R_X86_64_NONE): Relocation constant for x86_64.
36070 (R_X86_64_64): Likewise.
36071 (R_X86_64_PC32): Likewise.
36072 (R_X86_64_GOT32): Likewise.
36073 (R_X86_64_PLT32): Likewise.
36074 (R_X86_64_COPY): Likewise.
36075 (R_X86_64_GLOB_DAT): Likewise.
36076 (R_X86_64_JUMP_SLOT): Likewise.
36077 (R_X86_64_RELATIVE): Likewise.
36078 (R_X86_64_GOTPCREL): Likewise.
36079 (R_X86_64_32): Likewise.
36080 (R_X86_64_32S): Likewise.
36081 (R_X86_64_16): Likewise.
36082 (R_X86_64_PC16): Likewise.
36083 (R_X86_64_8): Likewise.
36084 (R_X86_64_PC8): Likewise.
36085
36086 * include/grub/i386/efi/pci.h: New file.
36087
36088 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
36089 Change it value based on platform.
36090 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
36091 (GRUB_E820_RAM): Likewise.
36092 (GRUB_E820_RESERVED): Likewise.
36093 (GRUB_E820_ACPI): Likewise.
36094 (GRUB_E820_NVS): Likewise.
36095 (GRUB_E820_EXEC_CODE): Likewise.
36096 (GRUB_E820_MAX_ENTRY): Likewise.
36097 (grub_e820_mmap): New structure.
36098 (linux_kernel_header): Change the efi field according to different
36099 kernel version, also field from linux_kernel_header.
36100
36101 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
36102
36103 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
36104 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
36105 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
36106 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
36107 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
36108 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
36109 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
36110 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
36111 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
36112 (GRUB_PCI_ADDR_IO_MASK): Likewise.
36113
36114 * include/grub/x86_64/efi/kernel.h: New file.
36115
36116 * include/grub/x86_64/efi/loader.h: Likewise.
36117
36118 * include/grub/x86_64/efi/machine.h: Likewise.
36119
36120 * include/grub/x86_64/efi/pci.h: Likewise.
36121
36122 * include/grub/x86_64/efi/time.h: Likewise.
36123
36124 * include/grub/x86_64/linux.h: Likewise.
36125
36126 * include/grub/x86_64/setjmp.h: Likewise.
36127
36128 * include/grub/x86_64/time.h: Likewise.
36129
36130 * include/grub/x86_64/types.h: Likewise.
36131
36132 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
36133 GRUB_TARGET_SIZEOF_VOID_P.
36134
36135 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
36136 (grub_efi_locate_handle): Likewise.
36137 (grub_efi_open_protocol): Likewise.
36138 (grub_efi_set_text_mode): Likewise.
36139 (grub_efi_stall): Likewise.
36140 (grub_exit): Likewise.
36141 (grub_reboot): Likewise.
36142 (grub_halt): Likewise.
36143 (grub_efi_exit_boot_services): Likewise.
36144 (grub_get_rtc): Likewise.
36145
36146 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
36147 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
36148 (grub_efi_allocate_pages): Wrap efi calls.
36149 (grub_efi_free_pages): Wrap efi calls.
36150 (grub_efi_get_memory_map): Wrap efi calls.
36151
36152 * kern/x86_64/dl.c: New file.
36153
36154 * kern/x86_64/efi/callwrap.S: Likewise.
36155
36156 * kern/x86_64/efi/startup.S: Likewise.
36157
36158 * loader/efi/appleloader.c: Likewise.
36159
36160 * loader/efi/chainloader.c (cmdline): New variable.
36161 (grub_chainloader_unload): Wrap efi calls.
36162 (grub_chainloader_boot): Likewise.
36163 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
36164 command line.
36165
36166 * loader/efi/chainloader_normal.c (chainloader_command):
36167 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
36168 command line.
36169
36170 * loader/i386/efi/linux.c (allocate_pages): Change allocation
36171 method.
36172 (grub_e820_add_region): New function.
36173 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
36174 booting.
36175 (grub_find_video_card): New function.
36176 (grub_linux_setup_video): New function.
36177 (grub_rescue_cmd_linux): Probe for video information.
36178
36179 * normal/x86_64/setjmp.S: New file.
36180
36181 * term/efi/console.c (map_char): New function.
36182 (grub_console_putchar): Map unicode char.
36183 (grub_console_checkkey): Wrap efi calls.
36184 (grub_console_getkey): Likewise.
36185 (grub_console_getwh): Likewise.
36186 (grub_console_gotoxy): Likewise.
36187 (grub_console_cls): Likewise.
36188 (grub_console_setcolorstate): Likewise.
36189 (grub_console_setcursor): Likewise.
36190
36191 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
36192
59652a20 361932008-07-16 Pavel Roskin <proski@gnu.org>
36194
ef294055 36195 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
36196 format strings.
36197
59652a20 36198 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
36199 pointer, not an integer. This fixes a warning and prevents
36200 precision loss on 64-bit systems.
36201 (relocate_addresses): Remove unneeded cast.
36202
afc3b5d7 362032008-07-15 Pavel Roskin <proski@gnu.org>
36204
506b2b3e 36205 * kern/i386/ieee1275/init.c: Include grub/cache.h.
36206
62ead89c 36207 * term/ieee1275/ofconsole.c: Disable code unused on i386.
36208
c4cd51d7 36209 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
36210 Fix comparison between signed and unsigned.
36211
0d3d8f28 36212 * include/grub/i386/ieee1275/console.h: Declare
36213 grub_console_init() and grub_console_fini().
36214
8804b286 36215 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
36216 It's empty and unused.
36217
ee01cf35 36218 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
36219 beginning to avoid warnings with some compilers.
36220
afc3b5d7 36221 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
36222 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
36223
e4e8eaa5 362242008-07-14 Pavel Roskin <proski@gnu.org>
36225
407aceb4 36226 * kern/env.c (grub_register_variable_hook): Don't copy empty
36227 string, it leaks memory. Pass "" to grub_env_set(), it should
36228 handle constant strings.
36229
e4e8eaa5 36230 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
36231 * commands/cmp.c (grub_cmd_cmp): Likewise.
36232 * kern/dl.c (grub_dl_flush_cache): Likewise.
36233 (grub_dl_load_core): Likewise.
36234 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
36235 (grub_elf64_load_phdrs): Likewise.
36236
d4e2dad3 362372008-07-13 Pavel Roskin <proski@gnu.org>
36238
36239 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
36240 between signed and unsigned.
36241 (LzmaEnc_Finish): Fix warning about an unused parameter.
36242
aa24b516 362432008-07-13 Bean <bean123ch@gmail.com>
36244
36245 * Makefile.in (enable_lzo): New rule.
36246
36247 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
36248
36249 * configure.ac (ENABLE_LZO): New option --enable-lzo.
36250
36251 * boot/i386/pc/lnxboot.S: #include <config.h>.
36252
36253 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 36254 its value according to the compression algorithm used, lzo or lzma.
aa24b516 36255
36256 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
36257 compression algorithm according to configure macro.
36258
36259 * kern/i386/pc/startup.S (codestart): Likewise.
36260
36261 * kern/i386/pc/lzma_decode.S: New file.
36262
36263 * include/grub/lib/LzFind.h: Likewise.
36264
36265 * include/grub/lib/LzHash.h: Likewise.
36266
36267 * include/grub/lib/LzmaDec.h: Likewise.
36268
36269 * include/grub/lib/LzmaEnc.h: Likewise.
36270
36271 * include/grub/lib/LzmaTypes.h: Likewise.
36272
36273 * lib/LzFind.c: Likewise.
36274
36275 * lib/LzmaDec.c: Likewise.
36276
36277 * lib/LzmaEnc.c: Likewise.
36278
4ae821ac 362792008-07-13 Bean <bean123ch@gmail.com>
36280
36281 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
36282 (grub_ext4_extent_header): New structure.
36283 (grub_ext4_extent): Likewise.
36284 (grub_ext4_extent_idx): Likewise.
36285 (grub_ext4_find_leaf): New function.
36286 (grub_ext2_read_block): Handle extents.
36287
9a745147 362882008-07-12 Robert Millan <rmh@aybabtu.com>
36289
36290 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
36291
d49a4cf6 362922008-07-11 Robert Millan <rmh@aybabtu.com>
36293
36294 * util/grub.d/40_custom.in: New file. Example on how to add custom
36295 entries to /etc/grub.d.
36296 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
36297 40_custom (implicitly, by merging all the grub.d rules).
36298
947414b4 362992008-07-11 Pavel Roskin <proski@gnu.org>
36300
0059cf6f 36301 * commands/read.c (grub_getline): Fix invalid memory access.
36302 Don't add newline to the variable value.
36303
947414b4 36304 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
36305 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
36306 (serial_hw_get_port): Check validity of the port number.
36307 (grub_cmd_serial): Check return value of serial_hw_get_port().
36308
62a02d00 363092008-07-07 Pavel Roskin <proski@gnu.org>
36310
36311 * boot/i386/pc/diskboot.S (notification_string): Replace
36312 "Loading kernel" with just "loading". This is shorter, less
36313 confusing and saves a few bytes for possible future changes.
36314
3e5581b0 363152008-07-05 Pavel Roskin <proski@gnu.org>
36316
ea387a48 36317 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
36318 size for ATAPI devices, they are undefined. Output sector
36319 number in decimal form.
36320
3e5581b0 36321 * disk/ata.c: Use named constants for status bits.
36322
fdecb8fd 363232008-07-04 Pavel Roskin <proski@gnu.org>
36324
bcd35b90 36325 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
36326 grub_addr_t before casting it to the void pointer to fix a
36327 warning. Non-addressable regions are discarded earlier.
36328 (grub_arch_modules_addr): Cast _end to grub_addr_t.
36329 * kern/i386/linuxbios/table.c: Include grub/misc.h.
36330 (check_signature): Don't shadow table_header.
36331 (grub_linuxbios_table_iterate): Cast numeric constants to
36332 grub_linuxbios_table_header_t.
36333 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
36334 grub_stop().
36335
af58ab3d 36336 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
36337 prevent warnings.
36338
1759aa57 36339 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
36340 pointer, which can cause warnings. Support 64-bit addresses.
36341
fdecb8fd 36342 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
36343 of sizeof(long). This fixes PowerPC image generation on x86_64.
36344
8516d2a8 363452008-07-04 Robert Millan <rmh@aybabtu.com>
36346
36347 This fixes a performance issue when pc & gpt partmap iterators
36348 didn't abort iteration even after our hook found what it was
fe987087 36349 looking for (often causing expensive probes of non-existent drives).
8516d2a8 36350
36351 Some callers relied on previous buggy behaviour, since they would
34c44600 36352 raise an error when their own hooks caused early abortion of its
8516d2a8 36353 iteration.
36354
36355 * kern/device.c (grub_device_open): Improve error message.
36356 * disk/lvm.c (grub_lvm_open): Likewise.
36357 * disk/raid.c (grub_raid_open): Likewise.
36358
36359 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
36360 when hook requests it, independently of grub_errno.
36361 (pc_partition_map_probe): Do not fail when find_func() caused
36362 early abortion of pc_partition_map_iterate().
36363
36364 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
36365 when hook requests it, independently of grub_errno.
36366 (gpt_partition_map_probe): Do not fail when find_func() caused
36367 early abortion of gpt_partition_map_iterate().
36368
36369 * kern/partition.c (grub_partition_iterate): Abort parent iteration
36370 when hook requests it, independently of grub_errno. Do not fail when
36371 part_map_iterate_hook() caused early abortion of p->iterate().
36372
36373 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
36374 when grub_partition_iterate() returned with non-zero.
36375
277d0de9 363762008-07-03 Pavel Roskin <proski@gnu.org>
36377
36378 * disk/ata.c (grub_ata_pio_write): Check status before writing,
36379 like we do in grub_ata_pio_read().
36380 (grub_ata_readwrite): Always write individual sectors. Fix the
36381 sector count for the remainder.
36382 (grub_ata_write): Enable writing to ATA devices. Correctly
36383 report error for ATAPI devices.
36384
d4c9b428 363852008-07-02 Pavel Roskin <proski@gnu.org>
36386
e43fc690 36387 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
36388 warning.
36389
f707af42 36390 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
36391 for every read sector, we already increment it for the whole
36392 batch. This fixes reading more than 256 sectors at once.
36393
11e16b15 36394 * util/grub-editenv.c (cmd_info): Cast argument to long
36395 explicitly. ptrdiff_t reduces to int on i386.
36396
cbabfdd4 36397 * util/grub-editenv.c (main): Be specific which parameter is
36398 missing.
36399
b8fbce0a 36400 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
36401 (memdisk): Make memdisk_orig_addr a pointer.
36402
c9c8e606 36403 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
36404 for file offsets, use grub_off_t instead. Fix printf format
36405 warnings.
36406
ca62e598 36407 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
36408 there. Real unexpected warnings should not drown in the noise
36409 about known problems.
36410
ce8d1766 36411 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
36412 grub_disk_addr_t for memory addresses.
36413
00c7a56a 36414 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
36415 explicitly to fix a warning.
36416
08d3ef09 36417 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
36418
cb71ba20 36419 * Makefile.in (MODULE_LDFLAGS): New variable.
36420 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
36421 the linker accepts --build-id=none.
36422 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
36423 MODULE_LDFLAGS.
36424 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
36425
d4c9b428 36426 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
36427 those in Linux XFS code. Provide a way to access 64-bit parent
36428 inode.
36429 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
36430 the end of struct grub_xfs_dir_header.
36431
d4156eee 364322008-07-02 Bean <bean123ch@gmail.com>
36433
36434 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
36435 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36436 and GRUB_IEEE1275_FLAG_NO_ANSI.
36437
36438 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
36439 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36440 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
36441
36442 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
36443 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
36444
36445 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
36446 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
36447
36448 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
36449 esc sequence on non ANSI terminal.
36450 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
36451
36452 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
36453 beginning of file.
36454
2270f77b 364552008-07-02 Bean <bean123ch@gmail.com>
36456
36457 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
36458 (grub_editenv_SOURCES): New variable.
36459 (pkglib_MODULES): Add loadenv.mod.
36460 (loadenv_mod_SOURCES): New variable.
36461 (loadenv_mod_CFLAGS): Likewise.
36462 (loadenv_mod_LDFLAGS): Likewise.
36463
36464 * include/grub/envblk.h: New file.
36465
36466 * util/envblk.c: New file.
36467
36468 * util/grub-editenv.c: New file.
36469
36470 * commands/loadenv.c: New file.
36471
0e9e51ec 364722008-07-01 Pavel Roskin <proski@gnu.org>
36473
d89b7634 36474 * include/multiboot2.h (struct multiboot_tag_module): Use char,
36475 not unsigned char. This fixes warnings and is consistent with
36476 other tags.
36477
bf1835b1 36478 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
36479
8222a04b 36480 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
36481
6a42d99d 36482 * term/tparm.c (analyze): Always set *popcount.
36483
10b159d1 36484 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
36485 cast to fix a warning.
36486
b8789f6c 36487 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
36488 cast to suppress a warning.
36489
29d7e38a 36490 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
36491 grub_fshelp_read_file() expects.
36492
f341f669 36493 * fs/fat.c: Fix UUID calculation on big-endian systems. We
36494 write uuid as a 32-bit value in CPU byte order, so declare and
36495 use it as such.
36496
0e9e51ec 36497 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
36498 long if the format specifier expects it.
36499 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
36500 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36501 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
36502 long to fix a warning.
36503 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
36504 grub_dprintf() arguments to fix warnings.
36505
3aefa857 365062008-06-30 Pavel Roskin <proski@gnu.org>
36507
56c7668b 36508 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
36509 install_bsd_part immediately before core.img is embedded or
36510 modified on disk. This fixes core.img verification if core.img
36511 cannot be embedded.
36512
3aefa857 36513 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
36514 core_path to calculate the blocklist.
36515 Patch from Javier Martín <lordhabbit@gmail.com>
36516
5444088d 365172008-06-29 Robert Millan <rmh@aybabtu.com>
36518
36519 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
36520 block to disk block.
36521 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
36522 Patch from Niels Böhm <bitbucket@arcor.de>
36523
674835c8 365242008-06-29 Robert Millan <rmh@aybabtu.com>
36525
36526 * util/update-grub_lib.in (font_path): Search for fonts in
36527 /boot/grub first, which is more likely to be readable (we aren't
36528 deciding where fonts live, just looking for them).
36529
f527dbc8 365302008-06-26 Pavel Roskin <proski@gnu.org>
36531
6c2d8df6 36532 * util/biosdisk.c (read_device_map): Don't leave dead map
36533 entries for devices failing stat() check.
36534
f527dbc8 36535 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
36536 core_path_dev for the core.img path on the target device.
36537
aebe3d13 365382008-06-26 Robert Millan <rmh@aybabtu.com>
36539
36540 * disk/fs_uuid.c: New file.
36541 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
36542 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
36543 (fs_uuid_mod_LDFLAGS): New variables.
36544 * include/grub/disk.h (grub_disk_dev_id): Add
36545 `GRUB_DISK_DEVICE_UUID_ID'.
36546 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
36547 implement iterate().
36548
37aaf354 365492008-06-26 Robert Millan <rmh@aybabtu.com>
36550
36551 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
36552 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
36553 Linux image includes no initrd.
36554
25ff262a 365552008-06-21 Javier Martín <lordhabbit@gmail.com>
36556
36557 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
36558 call to resolve the core image location that effectively appended the
36559 name twice.
36560
76a2bd44 365612008-06-21 Robert Millan <rmh@aybabtu.com>
36562
36563 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
36564 call from here ...
36565
36566 * util/grub.d/10_hurd.in: ... to here ...
36567 * util/grub.d/10_linux.in: ... and here.
36568
650e1c79 365692008-06-19 Robert Millan <rmh@aybabtu.com>
36570
fe987087 36571 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 36572 after it has been set by grub_machine_set_prefix().
36573
6ce63911 365742008-06-19 Robert Millan <rmh@aybabtu.com>
36575
36576 * commands/search.c (search_label, search_fs_uuid, search_file): Print
36577 search result when not saving to variable, not the other way around.
36578 When saving to variable, abort iteration as soon as a match is found.
36579
73940cec 365802008-06-19 Robert Millan <rmh@aybabtu.com>
36581
36582 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
36583 check for partition that provides /boot/grub. Its logic is flawed,
36584 as it prevents prepare_grub_to_access_device() from being called
36585 multiple times.
36586
3c62a39d 365872008-06-19 Robert Millan <rmh@aybabtu.com>
36588
36589 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
36590 "insmod" command directly when abstraction modules are needed,
fe987087 36591 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 36592 since it had already been processed).
36593
47395a42 365942008-06-19 Pavel Roskin <proski@gnu.org>
36595
36596 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
36597 changed. This is needed in case GRUB_LIBDIR changes.
36598 * conf/i386-ieee1275.rmk: Likewise.
36599 * conf/i386-linuxbios.rmk: Likewise.
36600 * conf/i386-pc.rmk: Likewise.
36601 * conf/powerpc-ieee1275.rmk: Likewise.
36602
a145ac2d 366032008-06-18 Pavel Roskin <proski@gnu.org>
36604
36605 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
36606 kernel_elf_symlist.c to symlist.c for consistency with other
36607 architectures. Update all users.
36608 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36609
7847c51e 366102008-06-18 Robert Millan <rmh@aybabtu.com>
36611
36612 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
36613 it in prefix.
36614
36615 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
36616 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
36617 a RAID device, run setup() for all members independently on whether
36618 LVM abstraction is being used.
36619 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
36620 If grub-mkimage has set `*install_dos_part == -2', don't override this
36621 value.
36622 Perform *install_dos_part adjustments independently on whether
36623 we're embedding or not.
36624 Clarify error message when image is too big for embedding.
36625 Remove duplicate *install_dos_part stanza.
36626
b23e5644 366272008-06-17 Robert Millan <rmh@aybabtu.com>
36628
36629 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
36630 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
36631 variables.
36632 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
36633 values in grub_ofconsole_normal_color and
36634 grub_ofconsole_highlight_color (they're not directly related to
36635 background and foreground).
36636 (grub_ofconsole_setcolorstate): Extract background and foreground
36637 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
36638
0aac2f79 366392008-06-17 Robert Millan <rmh@aybabtu.com>
36640
36641 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
36642 /boot/grub for the check in last commit, not /boot (they could be
36643 different partitions).
36644
3cca7ef3 366452008-06-16 Robert Millan <rmh@aybabtu.com>
36646
36647 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
36648 asked to setup access for the same partition that provides /boot,
36649 don't bother using UUIDs since our root already has the value we
36650 want.
36651
347396d8 366522008-06-16 Robert Millan <rmh@aybabtu.com>
36653
36654 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
36655 I2O devices.
36656 Patch from Sven Mueller <sven@debian.org>.
36657
991477f8 366582008-06-16 Robert Millan <rmh@aybabtu.com>
36659
36660 * util/update-grub.in: Check for $EUID instead of $UID.
36661 Reported by Vincent Zweije.
36662
d31a32a1 366632008-06-16 Bean <bean123ch@gmail.com>
36664
fe987087 36665 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 36666 (grub_ext2_read_block): Likewise.
36667 (grub_ext2_read_inode): Likewise.
36668 (grub_ext2_mount): Likewise.
36669 (grub_ext2_close): Likewise.
36670 (grub_ext3_get_journal): Removed.
36671
fe987087 36672 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 36673 (grub_reiserfs_read_symlink): Likewise.
36674 (grub_reiserfs_mount): Likewise.
36675 (grub_reiserfs_open): Likewise.
36676 (grub_reiserfs_read): Likewise.
36677 (grub_reiserfs_close): Likewise.
36678 (grub_reiserfs_get_journal): Removed.
36679
36680 * fs/fshelp.c (grub_fshelp_read): Removed.
36681 (grub_fshelp_map_block): Likewise.
36682
36683 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
36684 (grub_fshelp_journal): Likewise.
36685 (grub_fshelp_read): Likewise.
36686 (grub_fshelp_map_block): Likewise.
36687
3540a760 366882008-06-16 Pavel Roskin <proski@gnu.org>
36689
36690 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
36691 floating point anymore.
36692 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
36693
95614c84 366942008-06-15 Pavel Roskin <proski@gnu.org>
36695
36696 * commands/ls.c (grub_ls_list_files): Use integer calculations
36697 for human readable format, avoid floating point use.
36698 * kern/misc.c (grub_ftoa): Remove.
36699 (grub_vsprintf): Remove floating point support.
36700
50465dd6 367012008-06-15 Robert Millan <rmh@aybabtu.com>
36702
fe6b695a 36703 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 36704 devices.
36705 Reported by Max Vozeler.
36706
a9207284 367072008-06-15 Robert Millan <rmh@aybabtu.com>
36708
36709 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
36710 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
36711 skipped later.
36712 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
36713 the beginning of the prefix.
36714
36715 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
36716 It is assumed that if we have a memdisk, grub-mkimage has set
36717 grub_prefix to include the "(memdisk)" drive in it.
36718
a7cbd45a 367192008-06-15 Robert Millan <rmh@aybabtu.com>
36720
36721 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
36722 Initialize keyboard controller after registering the terminal, so that
36723 grub_printf() can be called from grub_keyboard_controller_init().
36724
21cf716a 367252008-06-15 Robert Millan <rmh@aybabtu.com>
36726
36727 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
36728 extent-btree which is written as big endian on disk.
36729 Reported by Alain Greppin <al@chilibi.org>.
36730
23a64d8e 367312008-06-14 Robert Millan <rmh@aybabtu.com>
36732
36733 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
36734 * util/i386/pc/grub-install.in (modules): Likewise.
36735
d687651c 367362008-06-13 Pavel Roskin <proski@gnu.org>
36737
36738 * commands/ls.c (grub_ls_list_files): Fix format warnings.
36739
dfe9ddd4 367402008-06-13 Bean <bean123ch@gmail.com>
36741
36742 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
36743
36744 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
36745
36746 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
36747 to indicate sparse block.
36748
16ae7781 367492008-06-12 Pavel Roskin <proski@gnu.org>
36750
e6d1a308 36751 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
36752 number, grub_fshelp_read() does it for us.
36753
16ae7781 36754 * fs/fshelp.c (grub_fshelp_read): New function. Implement
36755 linear disk read with journal translation.
36756 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
36757 * include/grub/fshelp.h: Declare grub_fshelp_read().
36758
40fd3a2b 367592008-06-09 Pavel Roskin <proski@gnu.org>
36760
36761 * fs/minix.c (grub_minix_mount): Handle error reading
36762 superblock.
36763
f5679726 367642008-06-08 Robert Millan <rmh@aybabtu.com>
36765
36766 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
36767 don't append the RAID prefix afterwards.
36768 Reported by Clint Adams.
36769
ce525529 367702008-06-08 Robert Millan <rmh@aybabtu.com>
36771
36772 Based on description from Pavel:
36773 * kern/disk.c (grub_disk_check_range): Rename to ...
36774 (grub_disk_adjust_range): ... this. Add a comment explaining the
36775 tasks performed by this function.
36776
ad4936a0 367772008-06-08 Robert Millan <rmh@aybabtu.com>
36778
36779 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
36780 `num_serial' (for consistency with other variables).
36781 (struct grub_ntfs_data): Add `uuid' member.
36782 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
36783 (grub_ntfs_uuid): New function.
36784 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
36785
dc20b0f9 367862008-06-07 Pavel Roskin <proski@gnu.org>
36787
36788 * util/biosdisk.c (open_device): Revert last change to the
36789 function, it broke installation. The sector needs to be
36790 different dependent on which device is opened.
36791
c5e3cfba 367922008-06-06 Robert Millan <rmh@aybabtu.com>
36793
36794 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
36795 rest of GRUB, and breakage doesn't happen if its value were modified.
36796
36797 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36798 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
36799 a constant (same value).
36800 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
36801 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
36802
26a1f8c4 368032008-06-06 Robert Millan <rmh@aybabtu.com>
36804
36805 * util/biosdisk.c (open_device): Do not modify sector offset when
36806 accessing a partition. kern/disk.c already handles this for us.
36807
25d6b327 368082008-06-06 Robert Millan <rmh@aybabtu.com>
36809
36810 * util/grub-emu.c (grub_machine_init): Move code in this function from
36811 here ...
36812 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
36813 segfault in case grub_printf() is called).
36814
36815 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
36816 grub_probe. Update all users not to explicitly add it again.
36817 (grub_device): New variable; contains corresponding device for grubdir.
36818 (fs_module, partmap_module, devabstraction_module): Pass
36819 `--device ${grub_device}' to grub_probe to avoid traversing /dev
36820 every time.
36821
9ece62fb 368222008-06-05 Robert Millan <rmh@aybabtu.com>
36823
36824 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
36825 is found, print it (same layout as with labels).
36826
1ad36d37 368272008-06-04 Robert Millan <rmh@aybabtu.com>
36828
36829 * util/biosdisk.c (get_drive): Rename to ...
36830 (find_grub_drive): ... this. Update all users.
36831
36832 (get_os_disk): Rename to ...
36833 (convert_system_partition_to_system_disk): ... this. Update all users.
36834
36835 (find_drive): Rename to ...
36836 (find_system_device): ... this. Update all users.
36837
e6a30859 368382008-06-04 Robert Millan <rmh@aybabtu.com>
36839
36840 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36841 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36842 (make_device_map): Likewise.
36843
00c108a4 368442008-06-01 Robert Millan <rmh@aybabtu.com>
36845
36846 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36847 before dereferencing it.
36848
36849 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36850 union with fat12/fat16-specific ones. Add some new fields, including
36851 `num_serial' for both versions.
36852 (struct grub_fat_data): Add `uuid' member.
36853 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36854 names. Initialize `data->uuid' using `num_serial'.
36855 (grub_fat_uuid): New function.
36856 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36857
36858 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36859 (grub_reiserfs_uuid): New function.
36860 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36861 member.
36862
36863 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36864 (grub_xfs_uuid): New function.
36865 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36866
1385c5bb 368672008-06-01 Robert Millan <rmh@aybabtu.com>
36868
36869 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36870 code that is backward compatible with pre-uuid search command.
36871
c682dfd7 368722008-05-31 Robert Millan <rmh@aybabtu.com>
36873
36874 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36875 floppies after everything else, to ensure floppy drive isn't accessed
36876 unnecessarily (patch from Bean).
36877
b7db5d47 368782008-05-31 Robert Millan <rmh@aybabtu.com>
36879
36880 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36881 not print device names when we were asked to set a variable.
36882
6e037aa9 368832008-05-31 Robert Millan <rmh@aybabtu.com>
36884
36885 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36886 using "cursor-on" and "cursor-off" commands (understood at least by
36887 the Open Firmware flavour on OLPC).
36888
41305bc8 368892008-05-31 Michael Gorven <michael@gorven.za.net>
36890
36891 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36892 on and off sequences.
36893
69ba137e 368942008-05-31 Robert Millan <rmh@aybabtu.com>
36895
36896 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36897 * util/update-grub.in: Likewise.
36898
520ae21b 368992008-05-30 Pavel Roskin <proski@gnu.org>
36900
36901 * util/biosdisk.c (linux_find_partition): Simplify logic and
36902 make the code more universal. Keep special processing for
36903 devfs, but use a simple rule for all other devices. If the
36904 device ends with a number, append 'p' and the partition number.
36905 Otherwise, append only the partition number.
36906
5786569b 369072008-05-30 Robert Millan <rmh@aybabtu.com>
36908
36909 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36910 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36911 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36912 the `root' parameter to Linux.
36913
51500452 369142008-05-30 Robert Millan <rmh@aybabtu.com>
36915
36916 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36917 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36918 --fs_uuid with --fs-uuid.
36919 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36920 all filesystems support them).
36921
811d3878 369222008-05-30 Robert Millan <rmh@aybabtu.com>
36923
36924 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 36925 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 36926
cab63c95 369272008-05-30 Robert Millan <rmh@aybabtu.com>
36928
36929 * util/grub.d/00_header.in: Remove obsolete comment referencing
36930 convert_system_path_to_grub_path().
36931 * util/update-grub.in: Likewise.
36932 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36933 (convert_system_path_to_grub_path): Add a warning message explaining
36934 that this function is deprecated. Rely on is_path_readable_by_grub()
36935 for the readability checks.
36936 (font_path): Use is_path_readable_by_grub() for the readability
36937 check rather than convert_system_path_to_grub_path().
36938
972e2f7a 369392008-05-30 Robert Millan <rmh@aybabtu.com>
36940
36941 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36942 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36943 converting it first.
36944 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36945 grub.cfg for access to font file, and afterwards call it again to set
36946 the root device.
36947
62191274 369482008-05-30 Robert Millan <rmh@aybabtu.com>
36949
36950 * commands/search.c (options): Add --fs_uuid option.
36951 (search_fs_uuid): New function.
36952 (grub_cmd_search): Fix --set argument passing.
36953 Use search_fs_uuid() when requested via --fs_uuid.
36954 (grub_search_init): Update help message.
36955 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36956 and redeclare it as an array of 16-bit words.
36957 (grub_ext2_uuid): New function.
36958 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36959 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36960 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36961 (GRUB_DEVICE_BOOT_UUID): New variables.
36962 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36963 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36964 whenever possible.
36965 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36966 just assume `root' variable has the right value.
36967 * util/grub.d/10_linux.in: Likewise.
36968 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36969 via PRINT_FS_UUID.
36970 (main): Recognise `-t fs_uuid' argument.
36971
01b73ec8 369722008-05-30 Robert Millan <rmh@aybabtu.com>
36973
36974 * util/biosdisk.c (map): Redefine structure to hold information
36975 about GRUB drive name.
fe6b695a 36976 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 36977 drive names.
36978 (call_hook): Remove.
36979 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
36980 member. Assume drive has partitions.
36981 (grub_util_biosdisk_open): Access device names via `.device' struct
36982 member.
36983 (open_device): Likewise.
36984 (find_drive): Likewise.
36985 (read_device_map): Adjust map[] usage to match the new struct
36986 definition. Don't check for duplicates (still possible, but not cheap
36987 anymore).
36988 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
36989 (make_device_name): Remove assumption of BIOS-like drive names.
36990
22f16596 369912008-05-30 Pavel Roskin <proski@gnu.org>
36992
36993 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
36994 compiling execute.c doesn't need grub_script.tab.h anymore.
36995 (normal/command.c_DEPENDENCIES): Likewise.
36996 (normal/function.c_DEPENDENCIES): Likewise.
36997 * conf/i386-ieee1275.rmk: Likewise.
36998 * conf/i386-linuxbios.rmk: Likewise.
36999 * conf/i386-pc.rmk: Likewise.
37000 * conf/powerpc-ieee1275.rmk: Likewise.
37001 * conf/sparc64-ieee1275.rmk: Likewise.
37002
528ad8f2 370032008-05-29 Pavel Roskin <proski@gnu.org>
37004
d1dff95d 37005 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
37006 when scanning metadata for volume group name.
37007
528ad8f2 37008 * include/grub/script.h: Don't include grub_script.tab.h. It's
37009 a generated file, which may only be included from the files with
37010 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
37011 use union YYSTYPE, as the later allows forward declaration.
37012 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
37013
47248e08 370142008-05-29 Robert Millan <rmh@aybabtu.com>
37015
37016 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
37017 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
37018 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
37019 (grub_console_checkkey): Add grub_dprintf() call to report unknown
37020 scan codes.
37021
ee632529 370222008-05-29 Robert Millan <rmh@aybabtu.com>
37023
37024 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
37025 control key combinations.
37026
eee96e08 370272008-05-29 Robert Millan <rmh@aybabtu.com>
37028
37029 * util/powerpc/ieee1275/grub-install.in: Move from here ...
37030 * util/ieee1275/grub-install.in: ... to here.
37031 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
37032 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
37033 (grub_install_SOURCES): Likewise.
37034
da9a6a94 370352008-05-29 Robert Millan <rmh@aybabtu.com>
37036
37037 * fs/affs.c: Update copyright year.
37038 * fs/ext2.c: Likewise.
37039 * fs/fshelp.c: Likewise.
37040 * fs/hfsplus.c: Likewise.
37041 * fs/ntfs.c: Likewise.
37042 * fs/xfs.c: Likewise.
37043 * include/grub/fshelp.h: Likewise.
37044 * util/grub-mkdevicemap.c: Likewise.
37045
12e65f3a 370462008-05-28 Robert Millan <rmh@aybabtu.com>
37047
37048 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
37049 might need to be fatfs to support some firmware implementations
37050 (e.g. OFW or EFI).
37051
23023641 370522008-05-28 Robert Millan <rmh@aybabtu.com>
37053
37054 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
37055 devices.
37056 * util/grub-mkdevicemap.c (get_mmc_disk_name)
37057 (make_device_map): Likewise.
37058
887d2619 370592008-05-20 Bean <bean123ch@gmail.com>
37060
37061 * fs/fshelp.c (grub_fshelp_map_block): New function.
37062 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
37063 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
37064
37065 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
37066 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
37067 (grub_fshelp_journal): New structure.
37068 (grub_fshelp_map_block): New function prototype.
37069 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
37070 (grub_fshelp_map_block): Likewise.
37071
37072 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
37073 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
37074 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
37075 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
37076 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
37077 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
37078 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
37079 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
37080 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
37081 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
37082 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
37083 (grub_ext2_sblock): New members for journal support.
37084 (grub_ext3_journal_header): New structure.
37085 (grub_ext3_journal_revoke_header): Likewise.
37086 (grub_ext3_journal_block_tag): Likewise.
37087 (grub_ext3_journal_sblock): Likewise.
37088 (grub_fshelp_node): New members logfile and journal.
37089 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
37090 grub_fshelp_map_block to get real block number.
37091 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
37092 number.
37093 (grub_ext2_read_inode): Likewise.
37094 (grub_ext3_get_journal): New function.
37095 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
37096 (grub_ext2_close): Release memory used by journal.
37097
37098 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
37099 (REISERFS_MAGIC_DESC_BLOCK): New macro.
37100 (grub_reiserfs_transaction_header): Renamed to
37101 grub_reiserfs_description_block, replace field data with real_blocks.
37102 (grub_reiserfs_commit_block): New structure.
37103 (grub_reiserfs_data): New member journal.
37104 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
37105 number.
37106 (grub_reiserfs_read_symlink): Likewise.
37107 (grub_reiserfs_iterate_dir): Likewise.
37108 (grub_reiserfs_open): Likewise.
37109 (grub_reiserfs_read): Likewise.
37110 (grub_reiserfs_get_journal): New function.
37111 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
37112 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
37113 using grub_reiserfs_get_journal.
37114 (grub_reiserfs_close): Release memory used by journal.
37115
37116 * fs/affs.c (grub_affs_read_block): Change block type to
37117 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
37118
37119 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
37120
37121 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
37122
37123 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
37124
37125 * fs/udf.c (grub_udf_read_block): Change block type to
37126 grub_disk_addr_t. Use type cast to avoid warning.
37127
37128 * fs/xfs.c (grub_xfs_read_block): Likewise.
37129
b7c6bed5 371302008-05-16 Christian Franke <franke@computer.org>
37131
37132 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
37133 to ensure that break with ESC will always work.
37134 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
37135 Remove ESC from keyboard queue.
37136
eedf167f 371372008-05-16 Christian Franke <franke@computer.org>
37138
37139 * util/biosdisk.c: [__CYGWIN__] Add includes.
37140 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
37141 (get_os_disk): Move variable declarations to OS specific
37142 parts to avoid warning.
37143 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
37144 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
37145 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
37146 Cygwin.
37147 * util/getroot.c: [__CYGWIN__] Add includes.
37148 (strip_extra_slashes): Fix "/" case.
37149 [__CYGWIN__] (get_win32_path): New function.
37150 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
37151 [__CYGWIN__] (find_root_device): Disable.
37152 [__CYGWIN__] (get_bootsec_serial): New function.
37153 [__CYGWIN__] (find_cygwin_root_device): Likewise.
37154 [__linux__] (grub_guess_root_device): Add early returns to simplify
37155 structure.
37156 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
37157 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
37158 check for Linux only.
37159
a079699e 371602008-05-15 Bean <bean123ch@gmail.com>
37161
37162 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
37163 keyboard hang problem in apple's intel mac.
37164
1cf4059a 371652008-05-09 Robert Millan <rmh@aybabtu.com>
37166
37167 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
37168 devices.
37169 * util/grub-mkdevicemap.c (get_virtio_disk_name)
37170 (make_device_map): Likewise.
37171 Reported by Aurelien Jarno <aurel32@debian.org>
37172
ed759390 371732008-05-07 Ian Campbell <ijc@hellion.org.uk>
37174
37175 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
37176 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
37177 (make_device_map): Output entries for xvd type disks.
37178
b56c4eaa 371792008-05-07 Robert Millan <rmh@aybabtu.com>
37180
37181 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
37182 devices.
37183 * util/grub-mkdevicemap.c (get_cciss_disk_name)
37184 (make_device_map): Likewise.
37185 Reported by Roland Dreier <rdreier@cisco.com>
37186
7f8866ed 371872008-05-07 Robert Millan <rmh@aybabtu.com>
37188
37189 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
37190 grub_strstr() call. Correct a few mistakes in failure path handling.
37191
b0346e0f 371922008-05-06 Robert Millan <rmh@aybabtu.com>
37193
37194 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
37195 Do not print a trailing slash (therefore, the root directory is an
37196 empty string).
37197 (convert_system_path_to_grub_path): Do not remove trailing slash
37198 from make_system_path_relative_to_its_root() output.
37199
37200 * util/i386/pc/grub-install.in: Add trailing slash to output from
37201 make_system_path_relative_to_its_root().
37202
6cf12cbd 372032008-05-06 Robert Millan <rmh@aybabtu.com>
37204
37205 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
37206 ensures that output lines aren't intermangled with those sent to
37207 stderr (via grub_util_info()).
37208 * util/grub-probe.c (grub_refresh): Likewise.
37209 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
37210
0fbb3117 372112008-05-05 Christian Franke <franke@computer.org>
37212
37213 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
37214 Add Cygwin device names.
37215 (get_ide_disk_name) [__CYGWIN__]: Likewise.
37216 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
37217 (check_device): Return error instead of success on empty name.
37218 (make_device_map): Move label inside linux specific code to
37219 prevent compiler warning.
37220
8124cdb7 372212008-04-30 Robert Millan <rmh@aybabtu.com>
37222
37223 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
37224 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
37225 first boot option.
37226 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
37227
094c01d0 372282008-04-29 Robert Millan <rmh@aybabtu.com>
37229
37230 * docs/grub.cfg: New file (example GRUB configuration).
37231
f4b1fc02 372322008-04-26 Robert Millan <rmh@aybabtu.com>
37233
329ce2a5 37234 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
37235 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
37236 and `disk/ieee1275/nand.c'.
f4b1fc02 37237
25f16ec1 372382008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 37239
25f16ec1 37240 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
37241 i386-linuxbios.
37242
37243 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
37244 change the buffer size to 4096 for cdrom device.
37245
37246 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
37247 and nand.mod.
37248 (_linux_mod_SOURCES): New variable.
37249 (_linux_mod_CFLAGS): Likewise.
37250 (_linux_mod_LDFLAGS): Likewise.
37251 (linux_mod_SOURCES): Likewise.
37252 (linux_mod_CFLAGS): Likewise.
37253 (linux_mod_LDFLAGS): Likewise.
37254 (nand_mod_SOURCES): Likewise.
37255 (nand_mod_CFLAGS): Likewise.
37256 (nand_mod_LDFLAGS): Likewise.
37257
37258 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
37259 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
37260 type property. (nand device in olpc don't have this property)
37261
37262 * include/grub/disk.h (grub_disk_dev_id): New macro
37263 GRUB_DISK_DEVICE_NAND_ID.
37264
37265 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
37266 function prototype.
37267 (grub_rescue_cmd_initrd): Likewise.
37268
37269 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
37270 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
37271 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 37272
25f16ec1 37273 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
37274 GRUB_MACHINE_IEEE1275 is defined.
37275
37276 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
37277 Use NESTED_FUNC_ATTR attribute on the hook parameter.
37278
37279 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
37280 on nested function heap_init.
37281 (grub_upper_mem): New variable for i386-ieee1275.
37282 (grub_get_extended_memory): New function for i386-ieee1275.
37283 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
37284
37285 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
37286 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
37287 property.
f19dbdb7 37288
25f16ec1 37289 * loader/i386/ieee1275/linux.c: New file.
37290
37291 * loader/i386/ieee1275/linux_normal.c: New file.
37292
37293 * disk/ieee1275/nand.c: New file.
37294
e89d61e9 372952008-04-18 Thomas Schwinge <tschwinge@gnu.org>
37296
37297 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
37298 value.
37299 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
37300
602566f6 373012008-04-18 Robert Millan <rmh@aybabtu.com>
37302
37303 Restructures early code path on ieee1275 to unify grub_main() as
37304 the first C function that is executed in every platform.
37305
37306 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
37307 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
37308 cmain().
37309 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
37310 * kern/ieee1275/cmain.c (cmain): Rename to ...
37311 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
37312 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
37313 at the beginning.
37314
57490c2b 373152008-04-18 Robert Millan <rmh@aybabtu.com>
37316
37317 * util/update-grub.in: Fix syntax error when setting
37318 `GRUB_PRELOAD_MODULES'.
37319 Reported by Stephane Chazelas <stephane@artesyncp.com>
37320
1977517d 373212008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
37322
37323 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
37324 section into account, newer toolchains generate unique build ids
37325 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 37326 we want build ids to be preserved
1977517d 37327 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
37328 far from other sections don't cause the raw binary images grow
37329 size
37330
bfb1f1a2 373312008-04-15 Robert Millan <rmh@aybabtu.com>
37332
37333 * disk/lvm.c: Update copyright year.
37334 * kern/misc.c: Likewise.
37335
01979850 373362008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37337
37338 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 37339 there is no memory left for physical volume name.
01979850 37340
0a1150e2 373412008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37342
37343 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
37344 volume name mapping to support bigger than 9 character names properly.
37345
82ead3fe 373462008-04-13 Robert Millan <rmh@aybabtu.com>
37347
37348 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
37349 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
37350
e54a72f5 373512008-04-13 Christian Franke <franke@computer.org>
37352
37353 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
37354 to create a floppy emulation boot CD when non emulation mode
37355 does not work.
37356 Enable Joliet CD filesystem extension.
37357
9fe86034 373582008-04-13 Robert Millan <rmh@aybabtu.com>
37359
37360 * kern/misc.c (grub_strncat): Fix off-by-one error.
37361 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
37362
37363 * kern/env.c (grub_env_context_close): Clear current context, not
37364 previous one.
37365 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
37366
37367 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
37368
7ceeee39 373692008-04-13 Robert Millan <rmh@aybabtu.com>
37370
37371 Improve robustness when handling LVM.
37372
37373 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 37374 (and leave `*p' unmodified).
7ceeee39 37375 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
37376 through it.
37377 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
37378 iterating through it.
37379 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
37380 through it.
fe6b695a 37381 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 37382 when due) on each grub_lvm_getvalue() or grub_strstr() call.
37383 Don't assume `vg->pvs != NULL' when iterating through it.
37384
58cd3d85 373852008-04-13 Robert Millan <rmh@aybabtu.com>
37386
37387 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
37388 * genmk.rb (partmap): New variable.
37389 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
37390 (#{partmap}): New target rule.
37391 * genpartmaplist.sh: New file.
37392 * Makefile.in (pkglib_DATA): Add partmap.lst.
37393 (partmap.lst): New target rule.
37394 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
37395 modules (including all partition maps), instead of preloading them.
37396
78b51059 373972007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
37398
37399 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
37400 `linux-boot-prober' (if installed) to detect other operating
37401 systems which are installed on the computer and add them to
37402 the boot menu.
37403 * conf/common.rmk: Build and install 30_os-prober.
37404
a91627b4 374052008-04-12 Robert Millan <rmh@aybabtu.com>
37406
37407 * kern/powerpc/ieee1275/init.c: Move from here ...
37408 * kern/ieee1275/init.c: ... to here. Update all users.
37409
37410 * kern/powerpc/ieee1275/cmain.c: Move from here ...
37411 * kern/ieee1275/cmain.c: ... to here. Update all users.
37412
37413 * kern/powerpc/ieee1275/openfw.c: Move from here ...
37414 * kern/ieee1275/openfw.c: ... to here. Update all users.
37415
37416 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
37417 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
37418
322562ea 374192008-04-10 Pavel Roskin <proski@gnu.org>
37420
37421 * configure.ac: Always use "_cv_" in cache variables for
37422 compatibility with Autoconf 2.62.
37423
a02a73c5 374242008-04-07 Robert Millan <rmh@aybabtu.com>
37425
37426 Revert grub/machine/init.h addition by Pavel (since it breaks on
37427 i386-ieee1275 and others):
37428 * util/i386/pc/misc.c: Remove grub/machine/init.h.
37429 * util/powerpc/ieee1275/misc.c: Likewise.
37430
25c024b1 374312008-04-07 Robert Millan <rmh@aybabtu.com>
37432
37433 * util/grub-probe.c (probe): Improve error message.
37434
3cbd2f98 374352008-04-07 Robert Millan <rmh@aybabtu.com>
37436
37437 * util/biosdisk.c (read_device_map): Skip devices that don't exist
37438 (this prevents the presence of a bogus entry from ruining the whole
37439 thing).
37440
87a297bf 374412008-04-06 Pavel Roskin <proski@gnu.org>
37442
36747a62 37443 * util/biosdisk.c: Include grub/util/biosdisk.h.
37444 * util/grub-fstest.c (execute_command): Make static.
37445 * util/grub-mkdevicemap.c (check_device): Likewise.
37446 * util/i386/pc/misc.c: Include grub/machine/init.h.
37447 * util/powerpc/ieee1275/misc.c: Likewise.
37448 * util/lvm.c: Include grub/util/lvm.h.
37449 * util/misc.c: Include grub/kernel.h, grub/misc.h and
37450 grub/cache.h.
37451 * util/raid.c: Include grub/util/raid.h.
37452 (grub_util_getdiskname): Make static.
37453
87a297bf 37454 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
37455 grub_hostfs_fini(), as they are called from grub_init_all() and
37456 grub_fini_all() respectively. This fixes an infinite loop in
37457 grub-fstest due to double registration of hostfs.
37458 Reported by Christian Franke <Christian.Franke@t-online.de>
37459
f6ce7629 374602008-04-05 Pavel Roskin <proski@gnu.org>
37461
37462 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
37463 all 8 functions. Otherwise, probe function 0 only.
37464
070e49e4 374652008-04-04 Pavel Roskin <proski@gnu.org>
37466
8b088a4c 37467 * commands/lspci.c (grub_lspci_iter): Print the bus number
37468 correctly.
37469
4f657021 37470 * commands/lspci.c (grub_pci_classes): Fix typos.
37471 (grub_lspci_iter): Don't print func twice. Print vendor ID
37472 before device ID, as it's normally done.
37473
070e49e4 37474 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37475 Fix signedness warnings.
37476 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
37477 Likewise.
37478 * util/ieee1275/get_disk_name.c: Include config.h so that
37479 _GNU_SOURCE is defined and getline() is declared. Mark an
37480 unused argument as such. Fix a signedness warning.
37481
ba7328dc 374822008-04-02 Pavel Roskin <proski@gnu.org>
37483
26887f22 37484 * genkernsyms.sh.in: Use more robust assignments for CC and
37485 srcdir. Quote srcdir.
37486 * gensymlist.sh.in: Likewise. Assert at the compile time that
37487 the symbol table is not empty.
37488
ba7328dc 37489 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
37490 * fs/cpio.c (grub_cpio_read): Likewise.
37491
0f582c6b 374922008-04-01 Pavel Roskin <proski@gnu.org>
37493
4b6e1995 37494 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
37495 * disk/host.c (grub_host_open): Likewise.
37496 * disk/loopback.c (grub_loopback_open): Likewise.
37497 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
37498 disk->id as in disk/host.c, not a multi-character constant.
37499
828a2768 37500 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
37501 later is obsolete, potentially dangerous and sets a bad example.
37502 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
37503 * util/misc.c (grub_util_get_image_size): Likewise.
37504
2bb4fb47 37505 * disk/loopback.c (options): Improve help for "--partitions".
37506
0f582c6b 37507 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
37508 options to align them with the short options, e.g. "echo -e".
37509
a33224e0 375102008-03-31 Bean <bean123ch@gmail.com>
37511
37512 * video/reader/png.c (grub_png_data): New member is_16bit and
37513 image_data.
37514 (grub_png_decode_image_header): Detect 16 bit png image.
37515 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
37516 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
37517 (grub_video_reader_png): Release memory occupied by image_data.
37518
37519 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
37520 4096 bytes.
37521 (grub_nfs_mount): Skip the test for sector per cluster.
37522
37523 * include/grub/ntfs.h (MAX_SPC): Removed.
37524
86cb4f54 375252008-03-31 Bean <bean123ch@gmail.com>
37526
37527 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
37528 (grub_probe_SOURCES): Add fs/afs.c.
37529 (grub_fstest_SOURCES): Likewise.
37530 (afs_mod_SOURCES): New variable.
37531 (afs_mod_CFLAGS): Likewise.
37532 (afs_mod_LDFLAGS): Likewise.
37533
37534 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
37535 (grub_emu_SOURCES): Likewise.
37536
37537 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37538
37539 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37540
37541 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37542
37543 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37544
37545 * fs/afs.c: New file.
37546
17c74c21 375472008-03-30 Pavel Roskin <proski@gnu.org>
37548
4cb68e89 37549 * disk/host.c: Include grub/misc.h to fix a warning.
37550 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
37551 warnings about implicit declarations.
37552
8790bb04 37553 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
37554 variable.
37555 * include/grub/i386/loader.h: Change declaration of
37556 grub_linux_boot() to match what grub_loader_set() expects.
37557 * util/getroot.c (grub_guess_root_device): Return const char* to
37558 fix a warning.
37559 * util/grub-probe.c (probe): Fix a warning about uninitialized
37560 abstraction_name variable.
37561 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
37562 second argument as unused to fix a warning.
37563
9a3f3296 37564 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
37565 missing grub_error() call.
37566
0ecef90d 37567 * util/update-grub_lib.in: Define datarootdir, since Autoconf
37568 2.60 and newer uses it to define datadir.
37569
0bf6d401 37570 * commands/sleep.c: Fix warning about implicit declaration.
37571 * disk/memdisk.c: Likewise.
37572 * loader/aout.c: Likewise.
37573 * loader/i386/bsd_normal.c: Likewise.
37574 * util/grub-probe.c: Likewise.
37575
7cdacf97 37576 * commands/i386/cpuid.c (has_longmode): Make static.
37577 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
37578 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
37579
17c74c21 37580 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
37581 GDT. This is more robust, as %ds can change.
37582 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
37583 calling real_to_prot().
37584 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
37585
80a3e68b 375862008-03-28 Pavel Roskin <proski@gnu.org>
37587
37588 * kern/i386/pc/startup.S: Assert that uncompressed functions
37589 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
37590 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
37591 code, as they push parts of the code (error handlers) beyond
37592 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
37593 code as correctness and size.
37594
77bcd272 375952008-03-28 Pavel Roskin <proski@gnu.org>
37596
37597 * kern/i386/pc/startup.S
37598 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
37599 data block address to the real mode, keep offset minimal. This
37600 works around a bug in AWARD BIOS on old Athlon systems, which
37601 makes CD detection hang.
37602
c5dfd43b 376032008-03-26 Pavel Roskin <proski@gnu.org>
37604
37605 * normal/color.c (grub_parse_color_name_pair): Make `name' a
37606 const.
37607 * include/grub/normal.h: Add grub_parse_color_name_pair()
37608 declaration.
37609
bf962df2 376102008-03-24 Bean <bean123ch@gmail.com>
37611
37612 * disk/i386/pc/biosdisk.c (cd_start): Removed.
37613 (cd_count): Removed.
37614 (cd_drive): New variable.
37615 (grub_biosdisk_get_drive): Don't check for (cdN) device.
37616 (grub_biosdisk_call_hook): Likewise.
37617 (grub_biosdisk_iterate): Change cdrom detection method.
37618 (grub_biosdisk_open): Replace cd_start with cd_drive.
37619 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
37620 detect cdrom device.
37621
37622 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
37623 Removed.
37624 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
37625 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
37626 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
37627 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
37628 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
37629 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
37630 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
37631 (grub_biosdisk_cdrp): New structure.
37632 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
37633
37634 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
37635
37636 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
37637 device.
37638
37639 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
37640 New function.
37641
68e7fc7a 376422008-03-20 Robert Millan <rmh@aybabtu.com>
37643
37644 Remove 2 TiB limit in ata.mod.
37645 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
37646 (grub_ata_dumpinfo): Print sector count with 0x%llx.
37647 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
37648 grub_uint64_t instead of grub_uint32_t.
37649
38ad2cf5 376502008-03-05 Bean <bean123ch@gmail.com>
37651
37652 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
37653 (grub_multiboot): Set boot device.
37654
37655 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
37656
2b89344e 376572008-03-02 Bean <bean123ch@gmail.com>
37658
37659 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
37660 symlink_buffer.
37661
87a95d1f 376622008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
37663
37664 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
37665 texinfo.tex.
37666
37667 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
37668 modified.
37669
37670 * docs/fdl.texi: New file.
f19dbdb7 37671
87a95d1f 37672 * docs/mdate-sh: New file. Copied from gnulib.
37673 * docs/texinfo.tex: Likewise.
37674
37675 * config.guess: Updated from gnulib.
37676 * install-sh: Likewise.
37677
7dc15d8e 376782008-02-28 Robert Millan <rmh@aybabtu.com>
37679
37680 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
37681 (aout_mod_SOURCES): New variable.
37682 (aout_mod_CFLAGS): Likewise.
37683 (aout_mod_LDFLAGS): Likewise.
37684
37685 * conf/i386-ieee1275.rmk: Likewise.
37686
b00ab696 376872008-02-28 Robert Millan <rmh@aybabtu.com>
37688
37689 * util/update-grub.in: Reorganise terminal validity check. Accept
37690 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
37691 Based on suggestion by Franklin PIAT.
37692
79ca2d78 376932008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
37694
37695 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
37696 function.
37697 * util/getroot.c (grub_util_check_block_device): New function that
37698 returns the given argument if it is a block device and returns NULL else.
37699 * util/grub-probe.c (argument_is_device): New variable.
37700 (probe): Promote device_name from a variable to an argument. Receive
37701 device_name from grub_util_check_block_device() if path is NULL and from
37702 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 37703 (options): Introduce new parameter '-d, --device'.
79ca2d78 37704 (main): Add description of the new parameter to the help screen.
37705 Rename path variable to argument. Set argument_is_device if the '-d'
37706 option is given. Pass argument to probe() depending on
37707 argument_is_device.
37708
0d16e571 377092008-02-24 Bean <bean123ch@gmail.com>
37710
37711 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
37712 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
37713 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
37714 (GRUB_ISO9660_VOLDESC_PART): Likewise.
37715 (GRUB_ISO9660_VOLDESC_END): Likewise.
37716 (grub_iso9660_primary_voldesc): New member escape.
37717 (grub_iso9660_data): New member joliet.
37718 (grub_iso9660_convert_string): New function.
37719 (grub_iso9660_mount): Detect joliet extension.
37720 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
37721 (grub_iso9660_iso9660_label): Likewise.
37722
37723 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
37724 (grub_setup_SOURCES): Add fs/udf.c.
37725 (grub_fstest_SOURCES): Likewise.
37726 (udf_mod_SOURCES): New variable.
37727 (udf_mod_CFLAGS): Likewise.
37728 (udf_mod_LDFLAGS): Likewise.
37729
37730 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
37731 (grub_emu_SOURCES): Likewise.
37732
37733 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37734
37735 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37736
37737 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37738
37739 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37740
37741 * fs/udf.c: New file.
37742
8a594a17 377432008-02-24 Robert Millan <rmh@aybabtu.com>
37744
37745 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
37746 (normal/lexer.c_DEPENDENCIES): New variables.
37747 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37748 (normal/lexer.c_DEPENDENCIES): Likewise.
37749 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
37750 (normal/lexer.c_DEPENDENCIES): Likewise.
37751 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
37752 (normal/lexer.c_DEPENDENCIES): Likewise.
37753 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37754 (normal/lexer.c_DEPENDENCIES): Likewise.
37755 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37756 (normal/lexer.c_DEPENDENCIES): Likewise.
37757
2dc33c03 377582008-02-23 Robert Millan <rmh@aybabtu.com>
37759
37760 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
37761 since they were intended to be in hex. This didn't break previously
37762 because of a bug in gpt_partition_map_iterate() (see below).
37763
37764 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
37765 when checking the validity of GPT header.
37766 Remove `partno', since it always provides the same information as `i'.
37767
f6f4cfb0 377682008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
37769
37770 * include/grub/efi/time.h: Fix a wrong comment.
37771
79ff665f 377722008-02-19 Pavel Roskin <proski@gnu.org>
37773
37774 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
37775 message.
37776
d38e24c2 377772008-02-19 Bean <bean123ch@gmail.com>
37778
37779 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
37780 (aout_mod_SOURCES): New variable.
37781 (aout_mod_CFLAGS): Likewise.
37782 (aout_mod_LDFLAGS): Likewise.
37783 (_bsd_mod_SOURCES): New variable.
37784 (_bsd_mod_CFLAGS): Likewise.
37785 (_bsd_mod_LDFLAGS): Likewise.
37786 (bsd_mod_SOURCES): New variable.
37787 (bsd_mod_CFLAGS): Likewise.
37788 (bsd_mod_LDFLAGS): Likewise.
37789
37790 * include/grub/aout.h: New file.
37791
37792 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
37793
37794 * include/grub/i386/bsd.h: New file.
37795
37796 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
37797 to make it public.
37798
37799 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
37800 function is called, so that it's possible to change it inside the hook.
37801 (grub_elf64_load): Likewise.
37802 (grub_elf_file): Don't close the file if elf header is not found.
37803 (grub_elf_close): Close the file if grub_elf_file fails (The new
37804 grub_elf_file won't close it).
37805 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
37806 (grub_elf64_size): Likewise.
37807
37808 * kern/i386/loader.S (grub_unix_real_boot): New function.
37809
37810 * loader/aout.c: New file.
37811
37812 * loader/i386/bsd.c: New file.
37813
37814 * loader/i386/bsd_normal.c: New file.
37815
37816 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
37817
37818 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 37819 can test other formats.
d38e24c2 37820
b93bdb0f 378212008-02-19 Robert Millan <rmh@aybabtu.com>
37822
37823 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
37824 (grub_gpt_partition_type_empty): Redefine with macro from
37825 `<grub/gpt_partition.h>'.
37826 (gpt_partition_map_iterate): Adjust partition type comparison.
37827
37828 Export `entry' as partmap-specific `part.data' struct.
37829 (grub_gpt_header, grub_gpt_partentry): Move from here ...
37830
37831 * include/grub/gpt_partition.h (grub_gpt_header)
37832 (grub_gpt_partentry): ... to here (new file).
37833
37834 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37835
37836 (grub_gpt_partition_type_bios_boot): New const variable, defined
37837 with macro from `<grub/gpt_partition.h>'.
37838
37839 (setup): Replace `first_start' with `embed_region', which keeps
37840 track of the embed region (and is partmap-agnostic).
37841
37842 Replace find_first_partition_start() with find_usable_region(),
37843 which finds a usable region for embedding using partmap-specific
37844 knowledge (supports PC/MSDOS and GPT).
37845
37846 Fix all assumptions that the embed region start at sector 1, using
37847 `embed_region.start' from now on. Similarly, use `embed_region.end'
37848 rather than `first_start' to calculate available size.
37849
37850 In grub_util_info() message, replace "into after the MBR" with an
37851 indication of the specific sector our embed region starts at.
37852
66cb40f6 378532008-02-19 Robert Millan <rmh@aybabtu.com>
37854
37855 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37856 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37857 `commands/reboot.c'.
37858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37859 (halt_mod_SOURCES): Likewise.
37860 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37861 (halt_mod_SOURCES): Likewise.
37862
b7202015 378632008-02-17 Christian Franke <franke@computer.org>
37864
37865 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37866
32b0fc49 378672008-02-17 Robert Millan <rmh@aybabtu.com>
37868
37869 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37870 set `first_start' to 0 for non-PC/MSDOS partition maps.
37871
aca63502 378722008-02-16 Robert Millan <rmh@aybabtu.com>
37873
37874 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37875 do not assume partition map is PC/MSDOS before performing checks that
37876 are specific to that layout.
37877
0de8be86 378782008-02-13 Robert Millan <rmh@aybabtu.com>
37879
37880 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37881 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37882 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37883
c3db8364 378842008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37885
37886 * configure.ac: Only a cosmetic change on the handling of
37887 -fno-stack-protector.
37888
f714229e 378892008-02-12 Alexandre Boeglin <alex@boeglin.org>
37890
c3db8364 37891 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37892 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37893 reboot.c.
f714229e 37894 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37895 (halt_mod_SOURCES): New variable.
37896 (halt_mod_CFLAGS): Likewise.
37897 (halt_mod_LDFLAGS): Likewise.
37898 (reboot_mod_SOURCES): Likewise.
37899 (reboot_mod_CFLAGS): Likewise.
37900 (reboot_mod_LDFLAGS): Likewise.
37901
c3db8364 37902 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37903 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37904 reboot.c.
f714229e 37905 (halt_mod_SOURCES): Likewise.
37906 (reboot_mod_SOURCES): Likewise.
37907
c3db8364 37908 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37909 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 37910 (reboot_mod_SOURCES): Likewise.
37911
37912 * commands/i386/pc/reboot.c: merge this file ...
37913
37914 * commands/ieee1275/reboot.c: ... and this file ...
37915
37916 * commands/reboot.c: ... to this file.
c3db8364 37917 Add some precompiler directive to include the correct header for
37918 each machine.
f714229e 37919
37920 * commands/ieee1275/halt.c: move this file ...
37921
37922 * commands/halt.c: ... to here.
c3db8364 37923 Add some precompiler directive to include the correct header for
37924 each machine.
f714229e 37925
37926 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37927 (grub_halt): Likewise.
37928
37929 * kern/efi/efi.c (grub_reboot): New function.
37930 (grub_halt): Likewise.
37931
c74493e0 379322008-02-12 Robert Millan <rmh@aybabtu.com>
37933
37934 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37935 /dev (like it is done for /dev/mapper). This doesn't provide support
37936 for EVMS, but at least it is now easy to identify the problem when it
37937 arises.
37938
d0db4b04 379392008-02-11 Robert Millan <rmh@aybabtu.com>
37940
37941 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37942 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37943 comparing it with -1, not 0.
37944
bf748642 379452008-02-10 Robert Millan <rmh@aybabtu.com>
37946
37947 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37948 `disk/lvm.c'.
37949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37950 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37951
37952 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37953 `disk/lvm.c' to the end of the list.
37954 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37955 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37956
b5db202a 379572008-02-10 Robert Millan <rmh@aybabtu.com>
37958
37959 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37960 grub_print_error() instead. This will let user know why we're entering
37961 rescue mode.
37962 Based on suggestions from Sam Morris.
37963
83abee31 379642008-02-10 Alexandre Boeglin <alex@boeglin.org>
37965
37966 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37967 on remaining N args, instead of "--" arg N times.
37968
78d5a08b 379692008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37970
37971 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37972 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37973 pattern for unknown glyphs.
37974
68807e5f 379752008-02-09 Robert Millan <rmh@aybabtu.com>
37976
37977 * configure.ac: Probe for `help2man'.
37978 * Makefile.in (builddir): New variable.
37979 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
37980 or otherwise add a few flags/options to it.
37981 (install-local): For every executable utility or script that is
37982 installed, invoke $(HELP2MAN) to install a manpage based on --help
37983 output.
37984
37985 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
37986 that it doesn't prevent --help from working in build tree.
37987
37988 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
37989 with `bug-grub@gnu.org'.
37990 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
37991 * util/update-grub.in (usage): New function.
37992 Implement proper argument check, with support for --help and --version
37993 (as well as existing -y).
37994
379952008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 37996
37997 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
37998 avoid overwriting previous output.
37999 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
38000
c1962162 380012008-02-09 Robert Millan <rmh@aybabtu.com>
38002
38003 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
38004 drawing the menu.
38005
3dac2e3f 380062008-02-09 Robert Millan <rmh@aybabtu.com>
38007
38008 * commands/sleep.c: New file.
38009 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
38010 (sleep_mod_SOURCES): New variable.
38011 (sleep_mod_CFLAGS): Likewise.
38012 (sleep_mod_LDFLAGS): Likewise.
38013
7a634e08 380142008-02-09 Robert Millan <rmh@aybabtu.com>
38015
38016 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
38017 situations in which we can deduce the RAID size and the superblock
38018 doesn't match it.
38019
b92f0c18 380202008-02-09 Robert Millan <rmh@aybabtu.com>
38021
38022 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
38023 and return a grub_diskmemberlist_t composed of LVM physical volumes.
38024 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
38025
38026 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
38027 and return a grub_diskmemberlist_t composed of physical array members.
38028 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
38029
38030 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
38031 prototype.
38032 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
38033 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
38034 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
38035
38036 * util/grub-probe.c (probe): Move partmap probing code from here ...
38037 (probe_partmap): ... to here.
38038 (probe): Use probe_partmap() once for the disk we're probing, and
38039 additionally, when such disk contains a memberlist() struct member,
38040 once for each disk that is contained in the structure returned by
38041 memberlist().
38042
91a4bf68 380432008-02-09 Robert Millan <rmh@aybabtu.com>
38044
38045 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
38046 environment variable to 'all' in order to obtain debug output from
38047 non-util/ code.
38048 * util/i386/pc/grub-setup.c (main): Likewise.
38049
a96f9caa 380502008-02-08 Robert Millan <rmh@aybabtu.com>
38051
38052 * disk/raid.c (grub_raid_scan_device): Check for
38053 `array->device[sb.this_disk.number]' rather than for
38054 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 38055 guaranteed to be accessible.
a96f9caa 38056
b37a9222 380572008-02-08 Robert Millan <rmh@aybabtu.com>
38058
38059 * disk/raid.c: Update copyright.
38060 * fs/cpio.c: Likewise.
38061 * include/grub/raid.h: Likewise.
38062 * loader/i386/pc/multiboot.c: Likewise.
38063 * util/hostfs.c: Likewise.
38064
5626aee1 380652008-02-08 Robert Millan <rmh@aybabtu.com>
38066
38067 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
38068 to a grub_disk_t array.
38069 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
38070 `device[x]'.
38071 (grub_raid_scan_device): Replace `device[x].name' accesses with
38072 `device[x]->name'. Simplify initialization of `array->device[x]'.
38073
554f0187 380742008-02-08 Robert Millan <rmh@aybabtu.com>
38075
38076 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
38077 grub_dprintf() calls.
38078 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
38079 error message.
38080
1ec8425d 380812008-02-07 Christian Franke <franke@computer.org>
38082
38083 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
38084 instead of fseek and ftell to support large files.
38085 (grub_hostfs_read): Likewise.
38086
f2156fda 380872008-02-07 Robert Millan <rmh@aybabtu.com>
38088
38089 Patch from Jeroen Dekkers.
38090 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 38091 failure, since successfully reading all array members might not be
f2156fda 38092 required.
38093
9216e0e7 380942008-02-06 Robert Millan <rmh@aybabtu.com>
38095
38096 * util/grub-probe.c (probe): Simplify partmap probing (with the
38097 assumption that the first word up to the underscore equals to
38098 the module name).
38099
b0dfd29a 381002008-02-06 Christian Franke <franke@computer.org>
38101
38102 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
38103 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
38104 last block of a cpio or tar stream.
38105 Check for "TRAILER!!!" instead of any empty data
38106 block to detect last block of a cpio stream.
38107 (grub_cpio_dir): Fix constness of variable np.
38108 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
38109 cpio or tar trailer is detected. This fixes a crash
38110 on open of a non existing file.
38111
c32865bf 381122008-02-05 Bean <bean123ch@gmail.com>
38113
38114 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
38115 address of entry.
38116 (grub_multiboot_load_elf64): Likewise.
38117 (grub_multiboot): Initialize mbi structure.
38118
38119 * util/grub-fstest.c: Don't include unused header file script.h.
38120
fe6b695a 38121 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 38122 of file.
38123 (grub_fstest_SOURCES): Likewise.
38124
409480b7 381252008-02-05 Robert Millan <rmh@aybabtu.com>
38126
38127 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
38128 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
38129 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
38130 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
38131
38132 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
38133 (translation_table): Replace hardcoded values with macros
38134 provided by `<grub/term.h>'.
38135
38136 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
38137 (keyboard_map): Correct/add a few values, with macros provided
38138 by `<grub/term.h>'.
38139 (keyboard_map_shift): Zero values that don't differ from their
38140 `keyboard_map' equivalents.
38141 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
38142 Discard the second scan code that is always sent by Caps lock.
38143 Only use `keyboard_map_shift' when it provides a non-zero value,
38144 otherwise fallback to `keyboard_map'.
38145
99fadbaa 381462008-02-04 Bean <bean123ch@gmail.com>
38147
38148 * Makefile.in (enable_grub_fstest): New variable.
38149
38150 * conf/common.rmk (grub_fstest_init.lst): New rule.
38151 (grub_fstest_init.h): Likewise.
38152 (grub_fstest_init.c): Likewise.
38153 (util/grub-fstest.c_DEPENDENCIES): New variable.
38154 (grub_fstest_SOURCES): Likewise.
38155
38156 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
38157
38158 * util/grub-fstest.c: New file.
38159
bf567c50 381602008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38161
38162 Make grub-setup handle a separate root device.
f19dbdb7 38163
bf567c50 38164 * util/i386/pc/grub-setup.c (setup): Always open the root device,
38165 so that the root device can be compared with the destination
38166 device.
38167 When embedding the core image, if the root and destination devices
38168 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
38169 0xFF.
38170 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 38171
9be6b98b 381722008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38173
38174 Add support for having a grub directory in a different drive. This
38175 is still only the data handling part.
f19dbdb7 38176
9be6b98b 38177 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
38178 (codestart): Save %dh in GRUB_ROOT_DRIVE.
38179 (grub_root_drive): New variable.
38180
38181 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
38182 instead of GRUB_BOOT_DRIVE to construct a device name. Set
38183 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
38184 as it was.
38185
38186 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
38187
38188 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
38189 macro.
38190 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
38191
38192 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
38193 is bogus, because PXE booting does not specify any drive
38194 correctly.
38195
38196 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
38197 am not sure if this is really correct.
38198
38199 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
38200 is always identical to the boot drive when booting from a CD.
38201
38202 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
38203 longer.
38204 (root_drive): New variable.
38205 (real_start): Unconditionally set %dh to ROOT_DRIVE.
38206 (setup_sectors): Push %dx right after popping it, because %dh will
38207 be modified later.
38208 (copy_buffer): Restore %dx.
38209
e0ca0677 382102008-02-03 Robert Millan <rmh@aybabtu.com>
38211
38212 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
38213 use `cdboot.img' for cdrom images.
38214
3b3f6629 382152008-02-03 Robert Millan <rmh@aybabtu.com>
38216
38217 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
38218 only setup gfxterm when `font' command has succeeded.
38219
d42b3672 382202008-02-03 Robert Millan <rmh@aybabtu.com>
38221
38222 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
38223 (grub_rescue_cmd_multiboot_loader)
38224 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
38225
fa370ea6 382262008-02-03 Pavel Roskin <proski@gnu.org>
38227
e0c5dacb 38228 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 38229 %edx and %esi from stack only after grub_gate_a20() is called.
38230 grub_gate_a20() clobbers %edx.
38231
f2a76e1d 382322008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38233
38234 * configure.ac (AC_INIT): Bumped to 1.96.
38235
38236 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
38237 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
38238 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
38239 video/readers/png.c.
38240
90fd32d1 382412008-02-03 Bean <bean123ch@gmail.com>
9be665dd 38242
38243 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
38244 (cdboot_img_SOURCES): New variable.
38245 (cdboot_img_ASFLAGS): New variable.
38246 (cdboot_img_LDFLAGS): New variable.
38247
38248 * boot/i386/pc/cdboot.S: New file.
38249
38250 * disk/i386/pc/biosdisk.c (cd_start): New variable.
38251 (cd_count): Likewise.
38252 (grub_biosdisk_get_drive): Add support for cd device.
38253 (grub_biosdisk_call_hook): Likewise.
38254 (grub_biosdisk_iterate): Likewise.
38255 (grub_biosdisk_open): Likewise.
38256 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
38257 (grub_biosdisk_rw): Support reading from cd device.
38258 (GRUB_MOD_INIT): Iterate cd devices.
38259
38260 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
38261 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
38262 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
38263
38264 * kern/i386/pc/init.c (make_install_device): Check for cd device.
38265
4020aa53 382662008-02-02 Robert Millan <rmh@aybabtu.com>
38267
38268 * commands/read.c: New file.
38269 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
38270 (read_mod_SOURCES): New variable.
38271 (read_mod_CFLAGS): Likewise.
38272 (read_mod_LDFLAGS): Likewise.
38273
e03a1132 382742008-02-02 Robert Millan <rmh@aybabtu.com>
38275
38276 * normal/main.c (grub_normal_execute): Check for `menu->size' when
38277 determining whether menu has to be displayed.
38278
58c69220 382792008-02-02 Marco Gerards <marco@gnu.org>
38280
38281 * bus/pci.c: New file.
38282
38283 * include/grub/pci.h: Likewise.
38284
38285 * include/grub/i386/pc/pci.h: Likewise.
38286
38287 * commands/lspci.c: Likewise.
38288
38289 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
38290 `lspci.mod'.
38291 (pci_mod_SOURCES): New variable.
38292 (pci_mod_CFLAGS): Likewise.
38293 (pci_mod_LDFLAGS): Likewise.
38294 (lspci_mod_SOURCES): Likewise.
38295 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 38296 (lspci_mod_LDFLAGS): Likewise.
58c69220 38297
c004e1b4 382982008-02-02 Bean <bean123ch@gmail.com>
38299
38300 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
38301 (grub_ufs_get_file_block): Fix indirect block calculation problem.
38302
38303 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
38304 (grub_xfs_btree_node): New structure.
38305 (grub_xfs_btree_root): New structure.
38306 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
38307 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
38308 (GRUB_XFS_EXTENT_BLOCK): Likewise.
38309 (GRUB_XFS_EXTENT_SIZE): Likewise.
38310 (grub_xfs_read_block): Support btree format type.
38311 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
38312 Use directory block as basic unit.
38313
38314 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
38315
38316 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
38317 __attribute__ ((__regparm__ (1))).
38318
f95562bf 383192008-02-01 Robert Millan <rmh@aybabtu.com>
38320
38321 Correct a mistake in previous commit.
38322
38323 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
38324 top.
38325 (normal/command.c_DEPENDENCIES): New variable.
38326
7d31f41f 383272008-02-01 Robert Millan <rmh@aybabtu.com>
38328
38329 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
38330 top.
38331 (normal/command.c_DEPENDENCIES): New variable.
38332 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
38333 * conf/i386-ieee1275.rmk: Likewise.
38334 * conf/i386-linuxbios.rmk: Likewise.
38335 * conf/i386-pc.rmk: Likewise.
38336 * conf/sparc64-ieee1275.rmk: Likewise.
38337 * conf/powerpc-ieee1275.rmk: Likewise.
38338 (grub_emu_SOURCES): Add `fs/fshelp.c'.
38339
38340 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
38341
60b6be74 383422008-02-01 Robert Millan <rmh@aybabtu.com>
38343
38344 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
38345 call at beginning of function.
38346
078522ab 383472008-01-31 Pavel Roskin <proski@gnu.org>
38348
38349 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 38350 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
38351 (grub_mkrescue_SOURCES): Likewise.
078522ab 38352 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
38353
ccaa8a5f 383542008-01-30 Robert Millan <rmh@aybabtu.com>
38355
38356 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
38357 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
38358 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
38359 (grub_probe_SOURCES): ... to here.
38360
38361 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
38362 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
38363 * conf/i386-ieee1275.rmk: Likewise.
38364 * conf/i386-linuxbios.rmk: Likewise.
38365 * conf/powerpc-ieee1275.rmk: Likewise.
38366
ae5a9cd7 383672008-01-30 Tristan Gingold <gingold@free.fr>
38368
38369 * kern/rescue.c: Silently accept empty lines.
38370
70bc2ef2 383712008-01-29 Bean <bean123ch@gmail.com>
38372
38373 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
38374 (real_code_2): Code cleanup and change comment style.
38375 (move_memory): Avoid using 32-bit address mode.
38376
6a4d50ea 383772008-01-29 Bean <bean123ch@gmail.com>
38378
38379 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
38380 (png_mod_SOURCES): New variable.
38381 (png_mod_CFLAGS): Likewise.
38382 (png_mod_LDFLAGS): Likewise.
38383
38384 * video/readers/png.c: New file.
38385
11cc30ac 383862008-01-28 Robert Millan <rmh@aybabtu.com>
38387
38388 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
38389 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
38390 `ifndef GRUB_MOD_GAP' hack.
38391 * util/elf/grub-mkimage.c (add_segments): Likewise.
38392
3abc589f 383932008-01-27 Robert Millan <rmh@aybabtu.com>
38394
38395 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
38396 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 38397 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 38398
e1907778 383992008-01-27 Robert Millan <rmh@aybabtu.com>
38400
38401 Get grub-emu to build again (including parallel builds).
38402
38403 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
38404 Split into ...
38405 (util/grub-emu.c_DEPENDENCIES): ... this, ...
38406 (normal/execute.c_DEPENDENCIES): ... this, ...
38407 (grub-emu_DEPENDENCIES): ... and this.
38408
38409 * conf/i386-efi.rmk: Likewise.
38410 * conf/i386-linuxbios.rmk: Likewise.
38411 * conf/i386-ieee1275.rmk: Likewise.
38412 * conf/powerpc-ieee1275.rmk: Likewise.
38413 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
38414
2216b101 384152008-01-27 Robert Millan <rmh@aybabtu.com>
38416
38417 * NEWS: Add a few items.
38418
f75172d9 384192008-01-27 Robert Millan <rmh@aybabtu.com>
38420
38421 Fix parallel builds with grub-emu. Based on earlier commit for
38422 grub-probe and grub-setup.
38423
38424 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38425 (util/grub-emu.c_DEPENDENCIES): ... this.
38426 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38427 (util/grub-emu.c_DEPENDENCIES): ... this.
38428 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38429 (util/grub-emu.c_DEPENDENCIES): ... this.
38430 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38431 (util/grub-emu.c_DEPENDENCIES): ... this.
38432 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38433 (util/grub-emu.c_DEPENDENCIES): ... this.
38434
3f51de77 384352008-01-27 Pavel Roskin <proski@gnu.org>
38436
38437 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
38438 to create a gap between _end and the modules added to the image
38439 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
38440 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
38441 * util/elf/grub-mkimage.c (add_segments): Likewise.
38442
2033f53e 384432008-01-26 Pavel Roskin <proski@gnu.org>
38444
38445 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
38446 just return an error.
38447
22da1f6f 384482008-01-26 Bean <bean123ch@gmail.com>
38449
38450 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
38451 (grub_reiserfs_get_item): Save offset of the next item.
38452 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
38453
2a9525e6 384542008-01-25 Robert Millan <rmh@aybabtu.com>
38455
38456 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
38457 make all filesystem sources appear together (possibly fixing omissions
38458 while at it).
38459 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38460 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38461 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38462 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38463
38464 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
38465 add `kern/file.c'.
38466 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
38467 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38468 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
38469 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38470
38471 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
38472 (probe): Add a sanity check to make sure of our ability to read
38473 requested files when probing for filesystem type.
38474
38475 * genmk.rb: Update copyright year (2007).
38476
38477 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
38478 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
38479 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
38480 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
38481 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
38482 : Remove function prototypes.
38483
b95f71b5 384842008-01-25 Robert Millan <rmh@aybabtu.com>
38485
38486 Revert my previous commits (based on wrong assumption of how grub_errno
38487 works).
38488
fe6b695a 38489 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 38490 * kern/file.c (grub_file_open): Likewise.
38491
d08bbb49 384922008-01-24 Pavel Roskin <proski@gnu.org>
38493
38494 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
38495 that hang if GRUB tries to setup colors.
38496 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
38497 colors for firmwares that don't support it.
38498 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
38499 Recognize Open Hack'Ware, set flags to work around its
38500 limitations.
38501
605e36ed 385022008-01-24 Robert Millan <rmh@aybabtu.com>
38503
38504 * kern/file.c (grub_file_open): Do not account previous failures of
38505 unrelated functions when grub_errno is checked for.
38506 Reported by Oleg Strikov.
38507
bac332a1 385082008-01-24 Bean <bean123ch@gmail.com>
38509
38510 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
38511 (grub_ufs_sblock): New member volume name.
38512 (grub_ufs_find_file): Fix string copy bug.
38513 (grub_ufs_label): Implement this function properly.
38514
38515 * fs/hfs.c (grub_hfs_cnid_type): New enum.
38516 (grub_hfs_iterate_records): Use the correct file number for extents
38517 and catalog file. Fix problem in next index calculation.
38518 (grub_hfs_find_node): Replace recursive function call with loop.
38519 (grub_hfs_iterate_dir): Replace recursive function call with loop.
38520
15c80c09 385212008-01-23 Robert Millan <rmh@aybabtu.com>
38522
38523 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
38524 `<grub/symbol.h>' and `<grub/multiboot.h>'.
38525 (grub_multiboot2_real_boot): New function prototype.
38526
38527 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
38528 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
38529
38530 * kern/i386/ieee1275/init.c (grub_os_area_addr)
38531 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
38532
305338fd 385332008-01-23 Robert Millan <rmh@aybabtu.com>
38534
38535 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
38536 #ifdef'ed out grub_printf().
38537
3ea52685 385382008-01-23 Robert Millan <rmh@aybabtu.com>
38539
38540 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
38541 grub_dprintf calls, since they make "debug=all" mode unusable.
38542 (grub_console_checkkey): Likewise.
38543
5882ae4b 385442008-01-23 Robert Millan <rmh@aybabtu.com>
38545
38546 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38547 `term/i386/pc/at_keyboard.c'.
38548 (pkglib_MODULES): Add `serial.mod'.
38549 (serial_mod_SOURCES): New variable.
38550 (serial_mod_CFLAGS): Likewise.
38551 (serial_mod_LDFLAGS): Likewise.
38552
38553 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
38554 `<grub/powerpc/ieee1275/console.h>'.
38555 (grub_keyboard_controller_init): New function prototype.
38556 (grub_console_checkkey): Likewise.
38557 (grub_console_getkey): Likewise.
38558
38559 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
38560 keyboard on i386.
38561
38562 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
38563 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
38564
06ab5303 385652008-01-23 Robert Millan <rmh@aybabtu.com>
38566
38567 * kern/i386/pc/init.c (make_install_device): When memdisk image is
38568 present, "(memdisk)/boot/grub" becomes the default prefix.
38569
38570 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
38571 a memdisk tarball with all the modules. Add --overlay=DIR option that
38572 allows users to overlay additional files into the image.
38573
dbb475a4 385742008-01-23 Robert Millan <rmh@aybabtu.com>
38575
38576 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
38577 and `machine/memory.h'.
38578 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
38579 (_multiboot_mod_SOURCES): New variable.
38580 (_multiboot_mod_CFLAGS): Likewise.
38581 (_multiboot_mod_LDFLAGS): Likewise.
38582 (multiboot_mod_SOURCES): Likewise.
38583 (multiboot_mod_CFLAGS): Likewise.
38584 (multiboot_mod_LDFLAGS): Likewise.
38585
38586 * include/grub/i386/ieee1275/loader.h: New file.
38587
38588 * include/grub/i386/ieee1275/machine.h: Likewise.
38589
38590 * include/grub/i386/ieee1275/memory.h: Likewise.
38591
38592 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
38593 variable declaration.
38594 (grub_os_area_size): Likewise.
38595
38596 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
38597 (grub_lower_mem, grub_upper_mem): New variables.
38598 (grub_stop_floppy): New function (just to make
38599 grub_multiboot2_real_boot() happy).
38600
38601 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
38602 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
38603 (grub_stop): New function.
38604 Include `"../realmode.S"' and `"../loader.S"'.
38605
38606 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
38607 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
38608
38609 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
38610 rely on grub_multiboot2_real_boot() for final boot.
38611
25638629 386122008-01-22 Robert Millan <rmh@aybabtu.com>
38613
38614 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
38615 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
38616 device that doesn't look like an SD card.
38617 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38618 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
38619 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
38620 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
38621 found.
38622
9dad816d 386232008-01-22 Robert Millan <rmh@aybabtu.com>
38624
38625 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
38626 avoid claiming over our own code.
38627
34842f2d 386282008-01-22 Bean <bean123ch@gmail.com>
38629
38630 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
38631 (jpeg_mod_SOURCES): New variable.
38632 (jpeg_mod_CFLAGS): Likewise.
38633 (jpeg_mod_LDFLAGS): Likewise.
38634
38635 * video/readers/jpeg.c : New file.
38636
44023a28 386372008-01-22 Bean <bean123ch@gmail.com>
38638
38639 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
38640 there are no more items.
38641
bc2d8ac6 386422008-01-21 Robert Millan <rmh@aybabtu.com>
38643
38644 * kern/mm.c (grub_mm_init_region): Improve debug message.
38645
261bd4bc 386462008-01-21 Robert Millan <rmh@aybabtu.com>
38647
38648 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
38649 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
38650 address.
38651 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
38652 a C macro.
38653 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
38654 Indicates start of upper memory.
38655 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
38656 (generate_image): Abort when image size is big enough to corrupt
38657 upper memory.
38658
38659 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
38660 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
38661 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38662 instead of hardcoding 0xA0000.
38663 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
38664 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38665 instead of hardcoding 0xA0000.
38666
f970b55e 386672008-01-21 Robert Millan <rmh@aybabtu.com>
38668
38669 * disk/memdisk.c (memdisk_size): New variable.
38670 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
38671 `memdisk_size'.
38672 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
38673 image to dynamic memory.
38674 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
38675 `memdisk_size'. Free memdisk block.
38676
1a8b0526 386772008-01-21 Robert Millan <rmh@aybabtu.com>
38678
38679 Fix detection of very small filesystems (like tar).
38680
38681 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
38682 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
38683 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
38684 a problem with this disk).
38685
6e9b4aab 386862008-01-21 Robert Millan <rmh@aybabtu.com>
38687
38688 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
38689 on grub_biosdisk_rw_standard() error.
38690
0d8837b2 386912008-01-21 Robert Millan <rmh@aybabtu.com>
38692
38693 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
38694 recent changes.
38695 * kern/elf.c: Likewise.
38696 * kern/ieee1275/ieee1275.c: Likewise.
38697 * kern/powerpc/ieee1275/openfw.c: Likewise.
38698 * term/ieee1275/ofconsole.c: Likewise.
38699
ffd36e34 387002008-01-21 Robert Millan <rmh@aybabtu.com>
38701
38702 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
38703
3f0093d0 38704 * include/grub/kernel.h (grub_arch_memdisk_addr)
38705 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 38706
3f0093d0 38707 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
38708 (grub_arch_memdisk_size): ... to here.
ffd36e34 38709
6c391b21 387102008-01-21 Robert Millan <rmh@aybabtu.com>
38711
38712 Mostly based on bugfix from Bean.
38713
38714 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
38715 attribute with hook() parameter.
38716 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
38717 declaration.
38718 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
38719 attribute with hook() parameter.
38720 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
38721 declaration.
38722
55a581dc 387232008-01-21 Robert Millan <rmh@aybabtu.com>
38724
38725 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
38726 (pkglib_MODULES): Add `memdisk.mod'.
38727 (memdisk_mod_SOURCES): New variable.
38728 (memdisk_mod_CFLAGS): Likewise.
38729 (memdisk_mod_LDFLAGS): Likewise.
38730
38731 * disk/memdisk.c: New file.
38732
38733 * include/grub/disk.h (grub_disk_dev_id): Add
38734 `GRUB_DISK_DEVICE_MEMDISK_ID'.
38735
38736 * include/grub/i386/pc/kernel.h
38737 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
38738 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
38739 (grub_kernel_image_size): New variable declaration.
38740 (grub_total_module_size): Likewise.
38741 (grub_memdisk_image_size): Likewise.
38742
38743 * include/grub/i386/pc/memory.h
38744 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
38745
38746 * include/grub/kernel.h: Include `<grub/symbol.h>'.
38747 (grub_arch_memdisk_addr): New variable declaration.
38748 (grub_arch_memdisk_size): Likewise.
38749
38750 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
38751 (grub_arch_memdisk_size): Likewise.
38752
38753 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
38754 (codestart): Replace hardcoded `0x100000' with
38755 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
38756
38757 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
38758 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
38759 not NULL, append the contents of the file it refers to, at the end of
38760 the compressed kernel image. Initialize `grub_memdisk_image_size'
38761 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
38762 (options): Add "memdisk"|'m' option.
38763 (main): Parse --memdisk|-m option, and pass user-provided path as
38764 parameter to generate_image().
38765
3d7f54c9 387662008-01-20 Robert Millan <rmh@aybabtu.com>
38767
38768 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
38769 grub_dprintf() calls from here ...
38770 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
38771
0bf74728 387722008-01-20 Robert Millan <rmh@aybabtu.com>
38773
38774 Fix detection of "real mode" when /options/real-mode? doesn't exist.
38775
38776 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
38777 declaration.
38778 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
38779 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
38780 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 38781 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 38782 property).
38783 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
38784 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
38785
33bf70a7 387862008-01-19 Robert Millan <rmh@aybabtu.com>
38787
fe6b695a 38788 Get rid of confusing function (superseded by
33bf70a7 38789 `grub_ieee1275_get_integer_property')
38790 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
38791 prototype.
38792 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
38793 function.
38794 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
38795 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 38796 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 38797
e2da7d26 387982008-01-19 Robert Millan <rmh@aybabtu.com>
38799
38800 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
38801 command after "shut-down", since implementations differ on which
38802 the command for halt is.
38803
59f1fd8d 388042008-01-19 Robert Millan <rmh@aybabtu.com>
38805
38806 * include/grub/i386/linuxbios/console.h: Add header protection.
38807 (grub_keyboard_controller_init): New function prototype.
38808 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
38809 (KEYBOARD_COMMAND_READ): Likewise.
38810 (KEYBOARD_COMMAND_WRITE): Likewise.
38811 (KEYBOARD_SCANCODE_SET1): Likewise.
38812 (grub_keyboard_controller_write): New function.
38813 (grub_keyboard_controller_read): Likewise.
38814 (grub_keyboard_controller_init): Likewise.
38815
38816 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
38817 (grub_console_init): On coreboot/LinuxBIOS, call
38818 grub_keyboard_controller_init().
38819
5f5a7c15 388202008-01-19 Robert Millan <rmh@aybabtu.com>
38821
38822 PowerPC changes provided by Pavel Roskin.
38823
38824 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
38825 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
38826 don't rely on cmain() doing it.
38827 * kern/i386/ieee1275/startup.S (_start): Store %eax in
38828 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
38829
1210e168 388302008-01-16 Robert Millan <rmh@aybabtu.com>
38831
38832 * include/grub/i386/linuxbios/memory.h
38833 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
38834 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38835 receive `table_header' as argument. Instead, probe for it in the
38836 known memory ranges where it can be present.
38837 (grub_available_iterate): Do not pass a fixed `table_header' address
38838 to grub_linuxbios_table_iterate().
38839
3d04eab8 388402008-01-15 Robert Millan <rmh@aybabtu.com>
38841
38842 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38843 * conf/i386-ieee1275.rmk: New file.
38844 * include/grub/i386/ieee1275/console.h: Likewise.
38845 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38846 * include/grub/i386/ieee1275/kernel.h: Likewise.
38847 * include/grub/i386/ieee1275/time.h: Likewise.
38848 * kern/i386/ieee1275/init.c: Likewise.
38849 * kern/i386/ieee1275/startup.S: Likewise.
38850
d1bc1b73 388512008-01-15 Robert Millan <rmh@aybabtu.com>
38852
38853 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38854 when pointers are 32-bit (but still do set it to one when they are
38855 64-bit).
38856
66a65807 388572008-01-15 Robert Millan <rmh@aybabtu.com>
38858
38859 * include/grub/ieee1275/ieee1275.h
38860 (grub_ieee1275_get_integer_property): New function prototype.
38861
38862 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38863 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 38864 grub_ieee1275_get_property() to handle endianness.
66a65807 38865
38866 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38867 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 38868 where appropriate.
66a65807 38869 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38870 (grub_map): Likewise.
38871 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38872
a83ccafd 388732008-01-15 Bean <bean123ch@gmail.com>
38874
38875 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38876 (grub_script_execute_cmdline): Reset grub_errno.
38877
38878 * normal/main.c (read_config_file): Reset grub_errno.
38879
38880 * normal/parse.y (script_init): New.
38881 (script): Move function and menuentry here.
38882 (delimiter): New.
38883 (command): Add delimiter at the end of command.
38884 (commands): Adjust to match the new command.
38885 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 38886 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 38887 (if): Use the new commands.
38888
38889 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38890
df6ecfc6 388912008-01-15 Robert Millan <rmh@aybabtu.com>
38892
38893 * normal/menu.c (run_menu): Move timeout message from here ...
38894 (print_timeout): ... to here.
38895 (run_menu): Use print_timeout() once during initial draw to print
38896 the whole message, and again in every clock tick to update only
38897 the number of seconds.
38898
87ae25eb 388992008-01-15 Robert Millan <rmh@aybabtu.com>
38900
38901 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38902 actual size of `available' from grub_ieee1275_get_property(), and
38903 restrict parsing to that bound.
38904
47bf09a4 389052008-01-15 Christian Franke <franke@computer.org>
38906
38907 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38908 (argp_program_version): Remove variable.
38909 (argp_program_bug_address): Likewise.
38910 (options): Convert from struct argp_option to struct option.
38911 (struct arguments): Remove.
38912 (parse_opt): Remove.
38913 (usage): New function.
38914 (main): Replace struct args members by simple variables.
38915 Replace argp_parse() by getopt_long().
38916 Add switch to evaluate options.
38917 Add missing "(...)" around root_dev in prefix string.
38918
c86f1469 389192008-01-14 Robert Millan <rmh@aybabtu.com>
38920
38921 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38922 for grub_ieee1275_exit(), in order to improve portability.
38923
e622c559 389242008-01-14 Robert Millan <rmh@aybabtu.com>
38925
38926 * util/grub.d/10_linux.in (prefix): Define.
38927 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38928
44cb1ec8 389292008-01-13 Pavel Roskin <proski@gnu.org>
38930
38931 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38932 grub_errno if no errors have been detected.
38933
1eb8c802 389342008-01-12 Robert Millan <rmh@aybabtu.com>
38935
38936 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38937 (grub_util_get_dev_abstraction): New function prototype.
38938
38939 * util/getroot.c: Include `<grub/util/getroot.h>'
38940 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38941 (grub_util_get_dev_abstraction): ... here (new function).
38942
38943 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38944 `PRINT_ABSTRACTION'.
38945 (probe): Probe for abstraction type when requested.
38946 (main): Understand `--target=abstraction'.
38947
38948 * util/i386/efi/grub-install.in: Add abstraction module to core
38949 image when it is found to be necessary.
38950 * util/i386/pc/grub-install.in: Likewise.
38951 * util/powerpc/ieee1275/grub-install.in: Likewise.
38952
38953 * util/update-grub_lib.in (font_path): Return system path without
38954 converting to GRUB path.
38955 * util/update-grub.in: Convert system path returned by font_path()
38956 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38957 abstraction module is needed for loading fonts (if any). Export
38958 that as `GRUB_PRELOAD_MODULES'.
38959 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38960 insmod commands).
38961
52bd3de9 389622008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38963
38964 Remove some unused code from reiserfs.
f19dbdb7 38965
52bd3de9 38966 * fs/reiserfs.c (struct grub_reiserfs_key)
38967 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38968 (struct grub_reiserfs_node_body): Removed.
38969 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38970 Likewise.
38971 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38972 Likewise.
38973 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38974 Likewise.
38975 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38976 Likewise.
38977 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38978 Likewise.
38979 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
38980 Likewise.
38981 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38982 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38983 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38984
2f80039d 389852008-01-10 Robert Millan <rmh@aybabtu.com>
38986
38987 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
38988 Determines if a file is garbage left by packaging systems, etc.
38989 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
38990 for processing /etc/grub.d scripts.
38991 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
38992 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
38993 as a condition for processing Linux images.
38994
87888032 389952008-01-10 Pavel Roskin <proski@gnu.org>
38996
38997 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
38998 to compile reiserfs.c on PowerPC.
38999
7e54fced 390002008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 39001
39002 * kern/device.c (grub_device_iterate): Do not abort device iteration
39003 when one of the devices cannot be opened.
39004 * kern/disk.c (grub_disk_open): Do not account previous failures of
39005 unrelated functions when grub_errno is checked for.
39006
5aa541e6 390072008-01-08 Robert Millan <rmh@aybabtu.com>
39008
39009 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
39010 `! grub_linux_is_bzimage', change order of address comparison to make
39011 it more intuitive, and improve "too big zImage" error message.
39012
7076340d 390132008-01-08 Robert Millan <rmh@aybabtu.com>
39014
39015 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
39016 `$(update-grub_DATA)'.
39017 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
39018 targets.
39019
9ca70333 390202008-01-07 Robert Millan <rmh@aybabtu.com>
39021
39022 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
39023 which instruction is modified by grub-setup during installation
39024 (since it wasn't obvious by only looking at this file).
39025
38ccf575 390262008-01-07 Robert Millan <rmh@aybabtu.com>
39027
39028 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
39029 listing actual TODO items.
39030
f5db4291 390312008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
39032
868967cf 39033 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
39034 correctly.
39035 (grub_reiserfs_get_key_offset): Likewise.
39036 (grub_reiserfs_set_key_offset): Likewise.
39037 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 39038 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 39039
39040 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
39041 better to remove the bitfield version completely.
f19dbdb7 39042
868967cf 390432008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39044
f5db4291 39045 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
39046 allocated from the heap, due to the fshelp implementation.
39047 (grub_reiserfs_dir): Free NODE, due to the same reason.
39048
492e6d9d 390492008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
39050
39051 Mostly from Vincent Pelletier:
f19dbdb7 39052
492e6d9d 39053 * fs/reiserfs.c: New file.
f19dbdb7 39054
492e6d9d 39055 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
39056 (reiserfs_mod_SOURCES): New variable.
39057 (reiserfs_mod_CFLAGS): Likewise.
39058 (reiserfs_mod_LDFLAGS): Likewise.
39059
39060 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
39061 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
39062 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
39063 normal/color.c.
39064
9ce3e7c1 390652008-01-06 Robert Millan <rmh@aybabtu.com>
39066
39067 * normal/color.c: Remove `<grub/env.h>'.
39068
f3b58148 390692008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
39070
39071 * include/grub/normal.h: Include <grub/env.h>.
39072
7ac3bcfa 390732008-01-05 Robert Millan <rmh@aybabtu.com>
39074
39075 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
39076 usage example with `(hd0,1)'.
fb358190 39077 Reported by Samuel Thibault.
7ac3bcfa 39078
c8ee99d7 390792008-01-05 Robert Millan <rmh@aybabtu.com>
39080
39081 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
39082 (grub_linux_boot_zimage): Rename to ...
39083 (grub_linux_boot): ... this.
39084 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
39085 (grub_linux_boot_zimage): Conditionalize zImage copy.
39086
39087 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
39088 (grub_linux_boot_bzimage): Remove prototype.
39089 (grub_linux_boot_zimage): Rename to ...
39090 (grub_linux_boot): ... this.
39091
39092 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
39093 (grub_linux_boot): Remove function.
39094
0ece25b1 390952008-01-05 Robert Millan <rmh@aybabtu.com>
39096
39097 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
39098 (grub_env_write_color_highlight): Likewise.
39099 (grub_wait_after_message): Likewise.
39100
39101 * normal/color.c: New file.
39102
39103 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39104 (normal_mod_DEPENDENCIES): Likewise.
39105
39106 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39107 (normal_mod_DEPENDENCIES): Likewise.
39108
39109 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39110 (normal_mod_DEPENDENCIES): Likewise.
39111
39112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39113 (normal_mod_DEPENDENCIES): Likewise.
39114
39115 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
39116 for waiting after a message is printed.
39117 * normal/main.c (read_config_file): Likewise.
39118 (grub_normal_init): Register grub_env_write_color_normal() and
39119 grub_env_write_color_highlight() hooks. Mark `color_normal' and
39120 `color_highlight' variables as global.
39121
39122 * normal/menu.c (grub_wait_after_message): New function.
39123 (grub_color_menu_normal): New variable. Replaces ...
39124 (GRUB_COLOR_MENU_NORMAL): ... this macro.
39125 (grub_color_menu_highlight): New variable. Replaces ...
39126 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
39127 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
39128 `GRUB_TERM_COLOR_STANDARD'.
39129 (print_message): Use `grub_setcolorstate' to reload colors. Rename
39130 `normal_code' and `highlight_code' to `old_color_normal' and
39131 `old_color_highlight', respectively.
39132 (grub_menu_init_page): Update colors when drawing the menu, based on
39133 `menu_color_normal' and `menu_color_highlight' variables.
39134 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
39135 a message is printed.
39136
182dd4e5 391372008-01-05 Robert Millan <rmh@aybabtu.com>
39138
39139 * kern/env.c (grub_env_context_open): Propagate hooks for global
39140 variables to new context.
39141
39142 * kern/main.c (grub_set_root_dev): Export `root' variable.
39143
ddf8f6ad 391442008-01-05 Robert Millan <rmh@aybabtu.com>
39145
39146 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 39147 discs unconditionally, since udev and others have options to provide
ddf8f6ad 39148 them.
39149
d8b43d9b 391502008-01-05 Robert Millan <rmh@aybabtu.com>
39151
39152 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
39153
2bff2de3 391542008-01-04 Christian Franke <franke@computer.org>
39155
39156 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
39157 of eisa_mmap.
39158
97eab917 391592008-01-03 Pavel Roskin <proski@gnu.org>
39160
39161 * kern/i386/linuxbios/init.c: Put "void" to all function
39162 declarations with no arguments.
39163 * kern/powerpc/ieee1275/init.c: Likewise.
39164 * term/i386/pc/at_keyboard.c: Likewise.
39165 * term/i386/pc/vga_text.c: Likewise.
39166 * util/grub-mkdevicemap.c: Likewise.
39167
b9416d00 391682008-01-02 Robert Millan <rmh@aybabtu.com>
39169
39170 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
39171 message when loaded image is out of bounds.
39172 (grub_multiboot_load_elf64): Likewise.
39173
92695df9 391742008-01-02 Pavel Roskin <proski@gnu.org>
39175
39176 * util/grub.d/10_linux.in: Try version without ".old" when
39177 looking for initrd. It's better to use initrd from the newer
39178 kernel of the same version than no initrd at all.
39179
d98d9cad 391802008-01-01 Robert Millan <rmh@aybabtu.com>
39181
39182 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
39183
dbfdce36 391842008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
39185
f19dbdb7 39186 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 39187 grub_video_get_active_render_target.
39188 (grub_video_adapter): Added unmap_color and get_active_render_target.
39189
f19dbdb7 39190 * video/video.c: Added grub_video_unmap_color and
dbfdce36 39191 grub_video_get_active_render_target.
39192 (grub_video_get_info): Changed method to accept NULL pointer as an
39193 argument to allow detection of active video adapter.
39194
39195 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
39196 grub_video_vbe_unmap_color_int.
39197 Added grub_video_vbe_unmap_color and
39198 grub_video_vbe_get_active_render_target.
39199 (grub_video_vbe_adapter): Added unmap_color and
39200 get_active_render_target.
39201
f19dbdb7 39202 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 39203 with grub_video_vbe_unmap_color_int.
39204
39205 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
39206 (DEFAULT_NORMAL_COLOR): Likewise.
39207 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
39208 (DEFAULT_FG_COLOR): Removed.
39209 (DEFAULT_BG_COLOR): Likewise.
39210 (DEFAULT_CURSOR_COLOR): Changed value.
39211 (grub_virtual_screen): Added standard_color_setting,
39212 normal_color_setting, highlight_color_setting and term_color.
39213 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
39214 (bitmap_width): Added.
39215 (bitmap_height): Likewise.
39216 (bitmap): Likewise.
39217 (set_term_color): Likewise.
39218 (grub_virtual_screen_setup): Changed to use new terminal coloring
39219 settings.
39220 (grub_gfxterm_init): Added init for bitmap.
39221 (grub_gfxterm_fini): Added destroy for bitmap.
39222 (redraw_screen_rect): Updated to use background bitmap and new
39223 terminal coloring.
39224 (scroll_up): Added optimization for case when there is no bitmap.
39225 (grub_gfxterm_cls): Fixed to use correct background color.
39226 (grub_virtual_screen_setcolorstate): Changed to use new terminal
39227 coloring.
39228 (grub_virtual_screen_setcolor): Likewise.
39229 (grub_virtual_screen_getcolor): Added.
39230 (grub_gfxterm_background_image_cmd): Likewise.
39231 (grub_video_term): Added setcolor and getcolor.
39232 (MOD_INIT): Added registration of background_image command.
39233 (MOD_TERM): Added unregistration for background_image command.
39234
c3c20931 392352007-12-30 Pavel Roskin <proski@gnu.org>
39236
39237 * loader/multiboot_loader.c: Fix multiboot command
39238 unregistration. Fix all typos in the word "multiboot".
39239
df266716 392402007-12-29 Pavel Roskin <proski@gnu.org>
94239199 39241
39242 * util/grub.d/10_linux.in: Refactor search for initrd. Add
39243 support for initrd names used in Fedora.
39244
fc6e896c 392452007-12-26 Bean <bean123ch@gmail.com>
39246
39247 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
39248 (cpio_mod_SOURCES): New variable.
39249 (cpio_mod_CFLAGS): Likewise.
39250 (cpio_mod_LDFLAGS): Likewise.
39251
39252 * fs/cpio.c: New file.
39253
39254 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
39255
39256 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39257
39258 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39259
39260 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39261
533110ad 392622007-12-25 Robert Millan <rmh@aybabtu.com>
39263
39264 * include/grub/term.h (struct grub_term): Add `getcolor' function.
39265 (grub_getcolor): New function.
39266
39267 * kern/term.c (grub_getcolor): New function.
39268 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
39269 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
39270 (print_entry): Set normal and highlight colors to
39271 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
39272 respectively, before printing and restore them to old
39273 values afterwards.
39274 (grub_menu_init_page): Likewise. Fill an additional colored space
39275 that would otherwise be left blank.
39276
39277 * term/efi/console.c (grub_console_getcolor): New function.
39278 (struct grub_console_term.getcolor): New variable.
39279 * term/i386/pc/console.c (grub_console_getcolor): New function.
39280 (struct grub_console_term.getcolor): New variable.
39281 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
39282 (struct grub_console_term.getcolor): New variable.
39283
39284 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
39285 (struct grub_console_term.setcolor): Remove variable.
39286 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
39287 (struct grub_console_term.setcolor): Remove variable.
39288 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
39289 (struct grub_console_term.setcolor): Remove variable.
39290 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
39291 (struct grub_console_term.setcolor): Remove variable.
39292
4931827f 392932007-12-25 Robert Millan <rmh@aybabtu.com>
39294
39295 * configure.ac: Search for possible unifont.hex locations, and
39296 define UNIFONT_HEX if found.
39297
39298 * Makefile.in (UNIFONT_HEX): Define variable.
39299 (DATA): Rename to ...
39300 (PKGLIB): ... this. Update all users.
39301 (PKGDATA): New variable.
39302 (pkgdata_IMAGES): Rename to ...
39303 (pkglib_IMAGES): ... this. Update all users.
39304 (pkgdata_MODULES): Rename to ...
39305 (pkglib_MODULES): ... this. Update all users.
39306 (pkgdata_PROGRAMS): Rename to ...
39307 (pkglib_PROGRAMS): ... this. Update all users.
39308 (pkgdata_DATA): Rename to ...
39309 (pkglib_DATA): ... this. Update all users.
39310 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
39311 (unicode.pff, ascii.pff): New rules.
39312 (all-local): Add `$(PKGDATA)' dependency.
39313 (install-local): Process `$(PKGDATA)'.
39314
39315 * util/update-grub_lib.in (font_path): Search for *.pff files in
39316 a few more locations, including `${pkgdata}'.
39317
57e57e31 393182007-12-23 Robert Millan <rmh@aybabtu.com>
39319
39320 Patch from Bean <bean123ch@gmail.com>:
39321 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
39322 `size'.
39323
4bc72aa9 393242007-12-21 Bean <bean123ch@gmail.com>
39325
39326 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
39327 (ntfscomp_mod_SOURCES): New variable.
39328 (ntfscomp_mod_CFLAGS): Likewise.
39329 (ntfscomp_mod_LDFLAGS): Likewise.
39330
39331 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
39332 (grub_probe_SOURCES): Likewise.
39333 (grub_emu_SOURCES): Likewise.
39334
39335 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39336 (grub_emu_SOURCES): Likewise.
39337
39338 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39339 (grub_emu_SOURCES): Likewise.
39340
39341 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39342 (grub_emu_SOURCES): Likewise.
39343
39344 * fs/ntfs.c (grub_ntfscomp_func): New variable.
39345 (read_run_list): Renamed to grub_ntfs_read_run_list.
39346 (decomp_nextvcn): Moved to ntfscomp.c.
39347 (decomp_getch): Likewise.
39348 (decomp_get16): Likewise.
39349 (decomp_block): Likewise.
39350 (read_block): Likewise.
39351 (read_data): Partially moved to ntfscomp.c.
39352 (fixup): Change unsigned to grub_uint16_t.
39353 (read_mft): Change unsigned long to grub_uint32_t.
39354 (read_attr): Likewise.
39355 (read_data): Likewise.
39356 (read_run_data): Likewise.
39357 (read_run_list): Likewise.
39358 (read_mft): Likewise.
39359
39360 * fs/ntfscomp.c: New file.
39361
39362 * include/grub/ntfs.h: New file.
39363
af680a87 393642007-12-16 Robert Millan <rmh@aybabtu.com>
39365
39366 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
39367 IDE disk check, since Linux is known to support 20 IDE disks.
39368 Reported by Colin Watson.
39369
84be7599 393702007-12-15 Bean <bean123ch@gmail.com>
39371
39372 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
39373 (lnxboot_img_SOURCES): New variable.
39374 (lnxboot_img_ASFLAGS): Likewise.
39375 (lnxboot_img_LDFLAGS): Likewise.
39376
39377 * boot/i386/pc/lnxboot.S: New file.
39378
6af9db01 393792007-11-24 Pavel Roskin <proski@gnu.org>
39380
39381 * configure.ac: Test if '--build-id=none' is supported by the
39382 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
39383 objcopy to generate incorrect binary files (binutils
39384 2.17.50.0.18-1 as shipped by Fedora 8).
39385 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
39386 linking, so that build ID doesn't break the test.
39387
7361cfe6 393882007-11-24 Pavel Roskin <proski@gnu.org>
39389
39390 * include/grub/i386/time.h: use "void" in the argument list
39391 of grub_cpu_idle().
39392 * include/grub/powerpc/time.h: Likewise.
39393 * include/grub/sparc64/time.h: Likewise.
39394
1593e10c 393952007-11-18 Christian Franke <franke@computer.org>
39396
39397 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
39398 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
39399 This fixes the problem that function keys did not work in grub-emu.
39400
3b8db1a8 394012007-11-18 Christian Franke <franke@computer.org>
39402
39403 * disk/host.c (grub_host_open): Remove attribute unused from
39404 name parameter. Add check for "host". This fixes the problem
39405 that grub-emu does not find partitions.
39406
2e29408d 394072007-11-18 Christian Franke <franke@computer.org>
39408
39409 * util/hostfs.c (is_dir): New function.
39410 (grub_hostfs_dir): Handle missing dirent.d_type case.
39411 (grub_hostfs_read): Add missing fseek().
39412 (grub_hostfs_label): Clear label pointer. This fixes a crash
39413 of grub-emu on "ls (host)".
39414
398cd047 394152007-11-18 Christian Franke <franke@computer.org>
39416
39417 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
39418 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
39419 to 64 bit boundary by default.
39420
c405c391 394212007-11-18 Bean <bean123ch@gmail.com>
39422
39423 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
39424 (hexdump_mod_SOURCES): New variable.
39425 (hexdump_mod_CFLAGS): Likewise.
39426 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 39427
c405c391 39428 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39429
39430 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39431
39432 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39433
39434 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39435
39436 * include/grub/hexdump.h: New file.
39437
39438 * commands/hexdump.c: New file.
39439
5cced7fd 394402007-11-10 Robert Millan <rmh@aybabtu.com>
39441
39442 * commands/i386/pc/play.c (beep_off): Switch order of arguments
39443 in grub_outb() calls.
39444 (beep_on): Likewise.
39445
8b714eb0 394462007-11-10 Christian Franke <franke@computer.org>
39447
39448 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
39449 (grub_menu_run): Likewise.
39450
ce0f1839 394512007-11-10 Robert Millan <rmh@aybabtu.com>
39452
39453 * include/grub/i386/efi/machine.h: New file.
39454 * include/grub/i386/linuxbios/machine.h: Likewise.
39455 * include/grub/i386/pc/machine.h: Likewise.
39456 * include/grub/powerpc/ieee1275/machine.h: Likewise.
39457 * include/grub/sparc64/ieee1275/machine.h: Likewise.
39458
39459 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
39460 (serial_hw_io_addr): New variable.
39461 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
39462 instead of `(unsigned short *) 0x400'.
39463
270c237d 394642007-11-10 Bean <bean123ch@gmail.com>
39465
39466 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
39467
a87783bf 394682007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39469
39470 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
39471 (vga_mod_SOURCES): Added.
39472 (vga_mod_CFLAGS): Likewise.
39473 (vga_mod_LDFLAGS): Likewise.
39474
39475 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
39476 grub_outb() calls.
39477 (set_map_mask): Likewise.
39478 (set_read_map): Likewise.
39479 (set_read_address): Likewise.
39480 (vga_font): Removed variable.
39481 (get_vga_glyph): Removed function.
39482 (invalidate_char): Likewise.
39483 (write_char): Changed to use grub_font_get_glyph() for font
39484 information.
39485 (grub_vga_putchar): Likewise.
39486 (grub_vga_getcharwidth): Likewise.
39487
6433b448 394882007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39489
39490 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
39491 flags.
39492 (pxeboot_img_LDFLAGS): Likewise.
39493 (diskboot_img_LDFLAGS): Likewise.
39494 (kernel_img_LDFLAGS): Likewise.
39495
49178511 394962007-11-06 Robert Millan <rmh@aybabtu.com>
39497
39498 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
39499 in grub_outb() calls.
39500 (serial_hw_init): Likewise.
39501
53b052de 395022007-11-05 Robert Millan <rmh@aybabtu.com>
39503
39504 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
39505 spaces. Skip non-regular files.
39506
5ab33bba 395072007-11-05 Robert Millan <rmh@aybabtu.com>
39508
39509 * kern/disk.c (grub_disk_firmware_fini)
39510 (grub_disk_firmware_is_tainted): New variables.
39511
39512 * include/grub/disk.h (grub_disk_firmware_fini)
39513 (grub_disk_firmware_is_tainted): Likewise.
39514
39515 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
39516 (grub_disk_biosdisk_fini): ... to here.
39517 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
39518 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
39519 is set. Register grub_disk_biosdisk_fini() in
39520 `grub_disk_firmware_fini'.
39521
39522 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
39523 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
39524 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
39525 to finish existing firmware disk interface.
39526
39527 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
39528 (ata_mod_SOURCES): New variable.
39529 (ata_mod_CFLAGS): Likewise.
39530 (ata_mod_LDFLAGS): Likewise.
39531
0149ab7c 395322007-11-05 Robert Millan <rmh@aybabtu.com>
39533
39534 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
39535 (grub_ata_wait): Reimplement using grub_millisleep().
39536
39537 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
39538 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
39539
be7ac41e 395402007-11-03 Marco Gerards <marco@gnu.org>
39541
39542 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
39543 (CRTC_ADDR_PORT): New macro.
39544 (CRTC_DATA_PORT): Likewise.
39545 (CRTC_CURSOR): Likewise.
39546 (CRTC_CURSOR_ADDR_HIGH): Likewise.
39547 (CRTC_CURSOR_ADDR_LOW): Likewise.
39548 (update_cursor): New function.
39549 (grub_console_real_putchar): Call `update_cursor'.
39550 (grub_console_gotoxy): Likewise.
39551 (grub_console_cls): Set the default color when clearing the
39552 screen.
39553 (grub_console_setcursor): Implemented.
39554
bb06ab2e 395552007-11-03 Marco Gerards <marco@gnu.org>
39556
39557 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
39558 become activate.
39559 (grub_ata_pio_write): Likewise.
39560
39561 (grub_atapi_identify): Wait after issuing an ATA command.
39562 (grub_atapi_packet): Likewise.
39563 (grub_ata_identify): Likewise.
39564 (grub_ata_readwrite): Likewise.
39565
cf8f780b 395662007-11-03 Marco Gerards <marco@gnu.org>
39567
39568 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
39569 (grub_ata_pio_write): Likewise.
39570 (grub_ata_readwrite): Use `grub_error', instead of
39571 returning `grub_errno'.
39572
ed649e54 395732007-11-03 Marco Gerards <marco@gnu.org>
39574
39575 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
39576 grub_ata_pio_write once for every single sector, instead of for
39577 multiple sectors.
39578
ca25d8f0 395792007-10-31 Robert Millan <rmh@aybabtu.com>
39580
39581 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
39582
39583 * conf/i386-linuxbios.rmk: New file.
39584
39585 * kern/i386/pc/hardware.c: Likewise.
39586 * term/i386/pc/at_keyboard.c: Likewise.
39587 * term/i386/pc/vga_text.c: Likewise.
39588
39589 * include/grub/i386/linuxbios/boot.h: Likewise.
39590 * include/grub/i386/linuxbios/console.h: Likewise.
39591 * include/grub/i386/linuxbios/init.h: Likewise.
39592 * include/grub/i386/linuxbios/kernel.h: Likewise.
39593 * include/grub/i386/linuxbios/loader.h: Likewise.
39594 * include/grub/i386/linuxbios/memory.h: Likewise.
39595 * include/grub/i386/linuxbios/serial.h: Likewise.
39596 * include/grub/i386/linuxbios/time.h: Likewise.
39597
39598 * kern/i386/linuxbios/init.c: Likewise.
39599 * kern/i386/linuxbios/startup.S: Likewise.
39600 * kern/i386/linuxbios/table.c: Likewise.
39601
e911ecc1 396022007-10-31 Marco Gerards <marco@gnu.org>
39603
39604 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
39605 (ata_mod_SOURCES): New variable.
39606 (ata_mod_CFLAGS): Likewise.
39607 (ata_mod_LDFLAGS): Likewise.
39608
39609 * disk/ata.c: New file.
39610
39611 * include/grub/disk.h (grub_disk_dev_id): Add
39612 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 39613
7f66d0e0 396142007-10-31 Robert Millan <rmh@aybabtu.com>
39615
39616 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
39617 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
39618
39619 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
39620 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
39621
39622 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
39623 `<grub/types.h>'.
39624
39625 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
39626
5cd7dd46 396272007-10-27 Robert Millan <rmh@aybabtu.com>
39628
3236ca65 39629 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 39630
2ebfc90f 396312007-10-22 Robert Millan <rmh@aybabtu.com>
39632
39633 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
39634 `"../realmode.S"'.
39635 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
39636
73fcb0f3 396372007-10-22 Robert Millan <rmh@aybabtu.com>
39638
39639 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
39640 (pkgdata_MODULES): Add `biosdisk.mod'.
39641 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
39642 variables.
39643
39644 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
39645 (grub_biosdisk_init): Replace with ...
39646 (GRUB_MOD_INIT(biosdisk)): ... this.
39647 (grub_biosdisk_fini): Replace with ...
39648 (GRUB_MOD_FINI(biosdisk)): ... this.
39649
39650 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
39651 (grub_machine_init): Remove call to grub_biosdisk_init().
39652 (grub_machine_fini): Remove call to grub_machine_fini().
39653
39654 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
39655
3381d274 396562007-10-22 Robert Millan <rmh@aybabtu.com>
39657
39658 * include/grub/time.h: New file.
39659 * include/grub/i386/time.h: Likewise.
39660 * include/grub/powerpc/time.h: Likewise.
39661 * include/grub/sparc64/time.h: Likewise.
39662
39663 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
39664 instances to ...
39665 (KERNEL_MACHINE_TIME_HEADER): ... this.
39666 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39667 instances to ...
39668 (KERNEL_MACHINE_TIME_HEADER): ... this.
39669 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39670 instances to ...
39671 (KERNEL_MACHINE_TIME_HEADER): ... this.
39672
39673 * kern/i386/efi/init.c: Include `<grub/time.h>'.
39674 (grub_millisleep): New function.
39675 * kern/i386/pc/init.c: Include `<grub/time.h>'.
39676 (grub_millisleep): New function.
39677 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
39678 Remove `grub/machine/time.h' include.
39679 (grub_millisleep): New function.
39680 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
39681 Remove `grub/machine/time.h' include.
39682 (grub_millisleep): New function.
39683
39684 * include/grub/misc.h (grub_div_roundup): New function.
39685
39686 * kern/misc.c: Include `<grub/time.h>'.
39687 (grub_millisleep_generic): New function.
39688
39689 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
39690 Add `time.h'.
39691 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
39692 Add `time.h'.
39693 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
39694 `machine/time.h'. Add `time.h'.
39695 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39696
a39a0312 396972007-10-21 Robert Millan <rmh@aybabtu.com>
39698
39699 * include/grub/misc.h (grub_max): New function.
39700
2aad70e2 397012007-10-21 Robert Millan <rmh@aybabtu.com>
39702
39703 * util/misc.c (grub_util_info): Call fflush() before returning.
39704
54b71c4b 397052007-10-20 Robert Millan <rmh@aybabtu.com>
39706
39707 * genmk.rb (Image): Copy `extra_flags' from here ...
39708 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
39709
39710 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
39711 to `argc' and `args' arguments.
39712
a979f513 397132007-10-17 Robert Millan <rmh@aybabtu.com>
39714
39715 * kern/i386/loader.S: New file.
39716
39717 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
39718 * kern/i386/loader.S (grub_linux_prot_size)... to here.
39719 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
39720 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
39721 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
39722 * kern/i386/loader.S (grub_linux_real_addr)... to here.
39723 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
39724 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
39725 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
39726 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
39727 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
39728 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
39729 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
39730 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
39731
39732 * kern/i386/realmode.S: New file.
39733
39734 * kern/i386/pc/startup.S (protstack): Moved from here ...
39735 * kern/i386/realmode.S (protstack)... to here.
39736 * kern/i386/pc/startup.S (gdt): Moved from here ...
39737 * kern/i386/realmode.S (gdt)... to here.
39738 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
39739 * kern/i386/realmode.S (prot_to_real)... to here.
39740
39741 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
39742 `kern/i386/realmode.S'.
39743
825fc8fd 397442007-10-17 Robert Millan <rmh@aybabtu.com>
39745
39746 * include/grub/i386/loader.h: New file.
39747
39748 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
39749 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39750 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39751 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39752 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
39753 * include/grub/i386/loader.h (grub_linux_prot_size)
39754 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39755 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39756 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39757 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
39758
39759 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
39760
e179b2f4 397612007-10-15 Robert Millan <rmh@aybabtu.com>
39762
39763 * normal/misc.c (grub_normal_print_device_info): Do not probe for
39764 filesystem when dev->disk is unset.
39765 Do probe for filesystem even when dev->disk->has_partitions is set.
39766 In case a filesystem is found, always report it.
39767 In case it isn't, if dev->disk->has_partitions is set, report that
39768 a partition table was found instead of reporting that no filesystem
39769 could be identified.
39770
5db82af6 397712007-10-12 Robert Millan <rmh@aybabtu.com>
39772
39773 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
39774 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
39775
68f6ac74 39776 * include/grub/types.h (grub_host_to_target16): New macro.
39777 (grub_host_to_target32): Likewise.
39778 (grub_host_to_target64): Likewise.
39779 (grub_target_to_host16): Likewise.
39780 (grub_target_to_host32): Likewise.
39781 (grub_target_to_host64): Likewise.
5db82af6 39782
39783 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39784 Renamed from to ...
39785 (GRUB_MOD_ALIGN): ...this. Update all users.
39786
68f6ac74 39787 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
39788 grub_host_to_target32.
39789 Replace grub_be_to_cpu32 with grub_target_to_host32.
39790 (load_modules): Likewise.
39791 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
39792 Replace grub_be_to_cpu32 with grub_target_to_host32.
39793 Replace grub_cpu_to_be16 with grub_host_to_target16.
39794 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 39795
3cf497cc 397962007-10-12 Robert Millan <rmh@aybabtu.com>
39797
39798 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
39799 * util/elf/grub-mkimage.c: ... here.
39800
39801 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
39802 `util/powerpc/ieee1275/grub-mkimage.c'.
39803
c8cc3692 398042007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 39805
c8cc3692 39806 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
39807 and make it easier to figure out.
39808 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
39809 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
39810 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
39811 leave us with less than HEAP_MIN_SIZE total heap.
39812 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 39813
5c58b791 398142007-10-03 Robert Millan <rmh@aybabtu.com>
39815
39816 * include/grub/i386/io.h: New file.
39817 * commands/i386/pc/play.c (inb): Removed.
39818 (outb): Removed.
39819 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39820 with grub_outb().
afcd2ef8 39821 * term/i386/pc/serial.c (inb): Removed.
39822 (outb): Removed.
39823 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39824 with grub_outb().
39825 * term/i386/pc/vga.c (inb): Removed.
39826 (outb): Removed.
39827 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39828 with grub_outb().
5c58b791 39829
1a477ed6 398302007-10-02 Robert Millan <rmh@aybabtu.com>
39831
39832 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
39833 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39834 Reported by Marcin Kurek.
39835
6b5d80fa 398362007-09-07 Robert Millan <rmh@aybabtu.com>
39837
39838 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39839 SmartFirmware version updates (as released by Sven Luther), and avoid
39840 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39841 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39842 known broken.
39843
5618afbf 398442007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39845
39846 From Hitoshi Ozeki:
39847 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39848 when merging two regions.
39849
6139dcd9 398502007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39851
508e39ee 39852 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39853 * normal/completion.c (grub_normal_do_completion): Likewise.
39854 Reported by Hitoshi Ozeki.
39855
398562007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39857
6139dcd9 39858 Do not use devices at boot in chainloading.
f19dbdb7 39859
6139dcd9 39860 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39861 (boot_part_addr): Likewise.
39862 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39863 with BOOT_DRIVE and BOOT_PART_ADDR.
39864 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39865 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39866
38da6516 398672007-08-29 Robert Millan <rmh@aybabtu.com>
39868
39869 Patch from Simon Peter <dn.tlp@gmx.net>:
39870 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39871 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39872 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39873 util/i386/pc/grub-setup.c_DEPENDENCIES.
39874 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39875 util/grub-probe.c_DEPENDENCIES.
39876 * conf/powerpc-ieee1275.rmk: Likewise.
39877
29d0928c 398782007-08-28 Robert Millan <rmh@aybabtu.com>
39879
39880 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39881 to tell grub-mkdevicemap how to name devices.
39882 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39883 feature).
39884
39885 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39886 util/i386/get_disk_name.c.
39887 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39888 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39889 util/ieee1275/get_disk_name.c.
39890
39891 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39892
39893 * DISTLIST: Add util/i386/get_disk_name.c and
39894 util/ieee1275/get_disk_name.c.
39895
39896 * util/grub-mkdevicemap.c: Replace device naming logic with
39897 grub_util_get_disk_name() calls.
39898
5a0d3cca 398992007-08-20 Robert Millan <rmh@aybabtu.com>
39900
39901 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39902 (so that it works for both plural and singular quantities).
39903
8b72db2f 399042007-08-05 Robert Millan <rmh@aybabtu.com>
39905
39906 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39907 so that [xz] isn't taken into account when determining order.
39908
352466bf 399092007-08-02 Marco Gerards <marco@gnu.org>
39910
39911 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39912 `include/multiboot2.h', `include/grub/elfload.h',
39913 `include/multiboot.h', `include/grub/multiboot.h',
39914 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39915 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39916 `kern/elf.c', `loader/multiboot_loader.c',
39917 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39918 `loader/i386/pc/multiboot2.c',
39919 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39920 `util/i386/pc/grub-mkrescue.in'. Remove
39921 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39922 `include/grub/i386/pc/util/biosdisk.h' and
39923 `include/grub/powerpc/ieee1275/multiboot.h'.
39924
8f096014 399252007-08-02 Bean <bean123ch@gmail.com>
39926
39927 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39928 (ntfs_mod_SOURCES): New variable.
39929 (ntfs_mod_CFLAGS): Likewise.
39930 (ntfs_mod_LDFLAGS): Likewise.
39931
39932 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39933 (grub_probe_SOURCES): Likewise.
39934 (grub_emu_SOURCES): Likewise.
39935
39936 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39937 (grub_emu_SOURCES): Likewise.
39938
39939 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39940 (grub_emu_SOURCES): Likewise.
f19dbdb7 39941
8f096014 39942 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39943
39944 * fs/ntfs.c: New file.
39945
9959f7db 399462007-08-02 Bean <bean123ch@gmail.com>
39947
39948 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39949
39950 * file.h (grub_file): Likewise.
39951
39952 * fshelp.h (grub_fshelp_read_file): Likewise.
39953
39954 * util/i386/pc/grub-setup.c (setup): Likewise.
39955 (save_first_sector): Likewise.
39956 (save_blocklists): Likewise.
f19dbdb7 39957
9959f7db 39958 * fs/affs.c (grub_affs_read_file): Likewise.
39959
39960 * fs/ext2.c (grub_ext2_read_file): Likewise.
39961
39962 * fs/fat.c (grub_fat_read_data): Likewise.
39963
39964 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39965
39966 * fs/hfs.c (grub_hfs_read_file): Likewise.
39967
39968 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39969
39970 * fs/jfs.c (grub_jfs_read_file): Likewise.
39971
39972 * fs/minix.c (grub_minix_read_file): Likewise.
39973
39974 * fs/sfs.c (grub_sfs_read_file): Likewise.
39975
39976 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 39977
9959f7db 39978 * fs/xfs.c (grub_xfs_read_file): Likewise.
39979
39980 * command/blocklist.c (read_blocklist): Likewise.
39981 (print_blocklist): Likewise.
39982
0a203f83 399832007-08-02 Marco Gerards <marco@gnu.org>
39984
39985 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
39986 `util/hostfs.c'.
39987
39988 * disk/host.c: New file.
39989
39990 * util/hostfs.c: Likewise.
39991
39992 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
39993 return `GRUB_ERR_BAD_FS'.
39994 * fs/sfs.c (grub_sfs_mount): Likewise.
39995 * fs/xfs.c (grub_xfs_mount): Likewise.
39996
39997 * include/grub/disk.h (enum grub_disk_dev_id): Add
39998 `GRUB_DISK_DEVICE_HOST_ID'.
39999
40000 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
40001
e5dfe777 400022007-07-24 Jerone Young <jerone@gmail.com>
40003
f19dbdb7 40004 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 40005 modules for compilation.
40006 * conf/powerpc-ieee1275.rmk: Likewise.
40007
40008 * include/multiboot.h: Move multiboot definitions to one file. Rename
40009 many definitions to not get grub specific.
40010 * include/multiboot2.h: Create header with multiboot 2 definitions.
40011 * include/grub/multiboot.h: Header for grub specific function
40012 prototypes and definitions.
40013 * include/grub/multiboot2.h: Likewise.
40014 * include/grub/multiboot_loader.h: Likewise.
40015 * include/grub/i386/pc/multiboot.h: Removed.
40016 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
40017
40018 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
40019 and 2 to allow for one multiboot and module commands.
40020 * loader/multiboot2.c: Add multiboot2 functionality.
40021 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
40022 and definition names.
40023 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
40024 2 functions.
40025 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
40026 ieee1275 specific multiboot2 code.
40027
40028 * kern/i386/pc/startup.S: Change headers and definition names for
40029 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
40030
daf0f0ba 400312007-07-22 Robert Millan <rmh@aybabtu.com>
40032
40033 * geninitheader.sh: Process file specified in first parameter rather
40034 than hardcoding grub_modules_init.lst.
fe6b695a 40035 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 40036 than hardcoding grub_modules_init.h.
40037
40038 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
40039 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
40040 grub_probe_init.[ch] and grub_setup_init.[ch].
40041
40042 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
40043 grub_modules_init.h with grub_emu_init.h.
40044 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
40045 grub_probe_init.[ch] files.
40046 * conf/i386-efi.rmk: Likewise.
40047 * conf/i386-pc.rmk: Likewise.
40048 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
40049 grub_setup_init.[ch] files.
40050
40051 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
40052 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
40053 to initialize modules rather than a list of hardcoded functions.
40054 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
40055 grub_init_all() to initialize modules rather than a list of hardcoded
40056 functions.
40057
54cdc1cc 400582007-07-22 Robert Millan <rmh@aybabtu.com>
40059
40060 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
40061 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
40062
ad0686cc 400632007-07-22 Robert Millan <rmh@aybabtu.com>
40064
40065 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
40066 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
40067 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
40068 flag when running on SmartFirmware.
40069 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
40070 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
40071 was set.
40072
40073 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40074 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
40075 rather than decreasing it.
40076
40077 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
40078 there's not enough space to do it, fail in the same way as when it
40079 can't be done because there are no partitions.
40080
40081 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
40082 when nvsetenv failed.
40083
969c02ec 400842007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
40085
40086 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
40087 because this rule is automatically generated.
40088 (grub-mkrescue): Removed for the same reason as above.
40089
5a79f472 400902007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
40091
40092 Migrate to GNU General Public License Version 3.
f19dbdb7 40093
5a79f472 40094 * COPYING: Replaced with the plain text version of GPLv3.
40095
40096 * config.guess: Updated from gnulib.
40097 * config.sub: Likewise.
40098
40099 * geninit.sh: Output a GPLv3 copyright notice.
40100 * geninitheader.sh: Likewise.
40101 * genmodsrc.sh: Likewise.
40102 * gensymlist.sh.in: Likewise.
40103
40104 * boot/i386/pc/boot.S: Upgraded to GPLv3.
40105 * boot/i386/pc/diskboot.S: Likewise.
40106 * boot/i386/pc/pxeboot.S: Likewise.
40107 * commands/blocklist.c: Likewise.
40108 * commands/boot.c: Likewise.
40109 * commands/cat.c: Likewise.
40110 * commands/cmp.c: Likewise.
40111 * commands/configfile.c: Likewise.
40112 * commands/echo.c: Likewise.
40113 * commands/help.c: Likewise.
40114 * commands/ls.c: Likewise.
40115 * commands/search.c: Likewise.
40116 * commands/terminal.c: Likewise.
40117 * commands/test.c: Likewise.
40118 * commands/videotest.c: Likewise.
40119 * commands/i386/cpuid.c: Likewise.
40120 * commands/i386/pc/halt.c: Likewise.
40121 * commands/i386/pc/play.c: Likewise.
40122 * commands/i386/pc/reboot.c: Likewise.
40123 * commands/i386/pc/vbeinfo.c: Likewise.
40124 * commands/i386/pc/vbetest.c: Likewise.
40125 * commands/ieee1275/halt.c: Likewise.
40126 * commands/ieee1275/reboot.c: Likewise.
40127 * commands/ieee1275/suspend.c: Likewise.
40128 * disk/loopback.c: Likewise.
40129 * disk/lvm.c: Likewise.
40130 * disk/raid.c: Likewise.
40131 * disk/efi/efidisk.c: Likewise.
40132 * disk/i386/pc/biosdisk.c: Likewise.
40133 * disk/ieee1275/ofdisk.c: Likewise.
40134 * font/manager.c: Likewise.
40135 * fs/affs.c: Likewise.
40136 * fs/ext2.c: Likewise.
40137 * fs/fat.c: Likewise.
40138 * fs/fshelp.c: Likewise.
40139 * fs/hfs.c: Likewise.
40140 * fs/hfsplus.c: Likewise.
40141 * fs/iso9660.c: Likewise.
40142 * fs/jfs.c: Likewise.
40143 * fs/minix.c: Likewise.
40144 * fs/sfs.c: Likewise.
40145 * fs/ufs.c: Likewise.
40146 * fs/xfs.c: Likewise.
40147 * hello/hello.c: Likewise.
40148 * include/grub/acorn_filecore.h: Likewise.
40149 * include/grub/arg.h: Likewise.
40150 * include/grub/bitmap.h: Likewise.
40151 * include/grub/boot.h: Likewise.
40152 * include/grub/cache.h: Likewise.
40153 * include/grub/device.h: Likewise.
40154 * include/grub/disk.h: Likewise.
40155 * include/grub/dl.h: Likewise.
40156 * include/grub/elfload.h: Likewise.
40157 * include/grub/env.h: Likewise.
40158 * include/grub/err.h: Likewise.
40159 * include/grub/file.h: Likewise.
40160 * include/grub/font.h: Likewise.
40161 * include/grub/fs.h: Likewise.
40162 * include/grub/fshelp.h: Likewise.
40163 * include/grub/gzio.h: Likewise.
40164 * include/grub/hfs.h: Likewise.
40165 * include/grub/kernel.h: Likewise.
40166 * include/grub/loader.h: Likewise.
40167 * include/grub/lvm.h: Likewise.
40168 * include/grub/misc.h: Likewise.
40169 * include/grub/mm.h: Likewise.
40170 * include/grub/net.h: Likewise.
40171 * include/grub/normal.h: Likewise.
40172 * include/grub/parser.h: Likewise.
40173 * include/grub/partition.h: Likewise.
40174 * include/grub/pc_partition.h: Likewise.
40175 * include/grub/raid.h: Likewise.
40176 * include/grub/rescue.h: Likewise.
40177 * include/grub/script.h: Likewise.
40178 * include/grub/setjmp.h: Likewise.
40179 * include/grub/symbol.h: Likewise.
40180 * include/grub/term.h: Likewise.
40181 * include/grub/terminfo.h: Likewise.
40182 * include/grub/tparm.h: Likewise.
40183 * include/grub/types.h: Likewise.
40184 * include/grub/video.h: Likewise.
40185 * include/grub/efi/api.h: Likewise.
40186 * include/grub/efi/chainloader.h: Likewise.
40187 * include/grub/efi/console.h: Likewise.
40188 * include/grub/efi/console_control.h: Likewise.
40189 * include/grub/efi/disk.h: Likewise.
40190 * include/grub/efi/efi.h: Likewise.
40191 * include/grub/efi/pe32.h: Likewise.
40192 * include/grub/efi/time.h: Likewise.
40193 * include/grub/i386/linux.h: Likewise.
40194 * include/grub/i386/setjmp.h: Likewise.
40195 * include/grub/i386/types.h: Likewise.
40196 * include/grub/i386/efi/kernel.h: Likewise.
40197 * include/grub/i386/efi/loader.h: Likewise.
40198 * include/grub/i386/efi/time.h: Likewise.
40199 * include/grub/i386/pc/biosdisk.h: Likewise.
40200 * include/grub/i386/pc/boot.h: Likewise.
40201 * include/grub/i386/pc/chainloader.h: Likewise.
40202 * include/grub/i386/pc/console.h: Likewise.
40203 * include/grub/i386/pc/init.h: Likewise.
40204 * include/grub/i386/pc/kernel.h: Likewise.
40205 * include/grub/i386/pc/loader.h: Likewise.
40206 * include/grub/i386/pc/memory.h: Likewise.
40207 * include/grub/i386/pc/multiboot.h: Likewise.
40208 * include/grub/i386/pc/serial.h: Likewise.
40209 * include/grub/i386/pc/time.h: Likewise.
40210 * include/grub/i386/pc/vbe.h: Likewise.
40211 * include/grub/i386/pc/vbeblit.h: Likewise.
40212 * include/grub/i386/pc/vbefill.h: Likewise.
40213 * include/grub/i386/pc/vbeutil.h: Likewise.
40214 * include/grub/i386/pc/vga.h: Likewise.
40215 * include/grub/ieee1275/ieee1275.h: Likewise.
40216 * include/grub/ieee1275/ofdisk.h: Likewise.
40217 * include/grub/powerpc/libgcc.h: Likewise.
40218 * include/grub/powerpc/setjmp.h: Likewise.
40219 * include/grub/powerpc/types.h: Likewise.
40220 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
40221 * include/grub/powerpc/ieee1275/console.h: Likewise.
40222 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
40223 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
40224 * include/grub/powerpc/ieee1275/loader.h: Likewise.
40225 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
40226 * include/grub/powerpc/ieee1275/time.h: Likewise.
40227 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
40228 * include/grub/sparc64/libgcc.h: Likewise.
40229 * include/grub/sparc64/setjmp.h: Likewise.
40230 * include/grub/sparc64/types.h: Likewise.
40231 * include/grub/sparc64/ieee1275/console.h: Likewise.
40232 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40233 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40234 * include/grub/sparc64/ieee1275/time.h: Likewise.
40235 * include/grub/util/biosdisk.h: Likewise.
40236 * include/grub/util/getroot.h: Likewise.
40237 * include/grub/util/lvm.h: Likewise.
40238 * include/grub/util/misc.h: Likewise.
40239 * include/grub/util/raid.h: Likewise.
40240 * include/grub/util/resolve.h: Likewise.
40241 * io/gzio.c: Likewise.
40242 * kern/device.c: Likewise.
40243 * kern/disk.c: Likewise.
40244 * kern/dl.c: Likewise.
40245 * kern/elf.c: Likewise.
40246 * kern/env.c: Likewise.
40247 * kern/err.c: Likewise.
40248 * kern/file.c: Likewise.
40249 * kern/fs.c: Likewise.
40250 * kern/loader.c: Likewise.
40251 * kern/main.c: Likewise.
40252 * kern/misc.c: Likewise.
40253 * kern/mm.c: Likewise.
40254 * kern/parser.c: Likewise.
40255 * kern/partition.c: Likewise.
40256 * kern/rescue.c: Likewise.
40257 * kern/term.c: Likewise.
40258 * kern/efi/efi.c: Likewise.
40259 * kern/efi/init.c: Likewise.
40260 * kern/efi/mm.c: Likewise.
40261 * kern/i386/dl.c: Likewise.
40262 * kern/i386/efi/init.c: Likewise.
40263 * kern/i386/efi/startup.S: Likewise.
40264 * kern/i386/pc/init.c: Likewise.
40265 * kern/i386/pc/lzo1x.S: Likewise.
40266 * kern/i386/pc/startup.S: Likewise.
40267 * kern/ieee1275/ieee1275.c: Likewise.
40268 * kern/powerpc/cache.S: Likewise.
40269 * kern/powerpc/dl.c: Likewise.
40270 * kern/powerpc/ieee1275/cmain.c: Likewise.
40271 * kern/powerpc/ieee1275/crt0.S: Likewise.
40272 * kern/powerpc/ieee1275/init.c: Likewise.
40273 * kern/powerpc/ieee1275/openfw.c: Likewise.
40274 * kern/sparc64/cache.S: Likewise.
40275 * kern/sparc64/dl.c: Likewise.
40276 * kern/sparc64/ieee1275/init.c: Likewise.
40277 * kern/sparc64/ieee1275/openfw.c: Likewise.
40278 * loader/efi/chainloader.c: Likewise.
40279 * loader/efi/chainloader_normal.c: Likewise.
40280 * loader/i386/efi/linux.c: Likewise.
40281 * loader/i386/efi/linux_normal.c: Likewise.
40282 * loader/i386/pc/chainloader.c: Likewise.
40283 * loader/i386/pc/chainloader_normal.c: Likewise.
40284 * loader/i386/pc/linux.c: Likewise.
40285 * loader/i386/pc/linux_normal.c: Likewise.
40286 * loader/i386/pc/multiboot.c: Likewise.
40287 * loader/i386/pc/multiboot_normal.c: Likewise.
40288 * loader/powerpc/ieee1275/linux.c: Likewise.
40289 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40290 * normal/arg.c: Likewise.
40291 * normal/cmdline.c: Likewise.
40292 * normal/command.c: Likewise.
40293 * normal/completion.c: Likewise.
40294 * normal/execute.c: Likewise.
40295 * normal/function.c: Likewise.
40296 * normal/lexer.c: Likewise.
40297 * normal/main.c: Likewise.
40298 * normal/menu.c: Likewise.
40299 * normal/menu_entry.c: Likewise.
40300 * normal/misc.c: Likewise.
40301 * normal/parser.y: Likewise.
40302 * normal/script.c: Likewise.
40303 * normal/i386/setjmp.S: Likewise.
40304 * normal/powerpc/setjmp.S: Likewise.
40305 * normal/sparc64/setjmp.S: Likewise.
40306 * partmap/acorn.c: Likewise.
40307 * partmap/amiga.c: Likewise.
40308 * partmap/apple.c: Likewise.
40309 * partmap/gpt.c: Likewise.
40310 * partmap/pc.c: Likewise.
40311 * partmap/sun.c: Likewise.
40312 * term/gfxterm.c: Likewise.
40313 * term/terminfo.c: Likewise.
40314 * term/efi/console.c: Likewise.
40315 * term/i386/pc/console.c: Likewise.
40316 * term/i386/pc/serial.c: Likewise.
40317 * term/i386/pc/vesafb.c: Likewise.
40318 * term/i386/pc/vga.c: Likewise.
40319 * term/ieee1275/ofconsole.c: Likewise.
40320 * util/biosdisk.c: Likewise.
40321 * util/console.c: Likewise.
40322 * util/genmoddep.c: Likewise.
40323 * util/getroot.c: Likewise.
40324 * util/grub-emu.c: Likewise.
40325 * util/grub-mkdevicemap.c: Likewise.
40326 * util/grub-probe.c: Likewise.
40327 * util/lvm.c: Likewise.
40328 * util/misc.c: Likewise.
40329 * util/raid.c: Likewise.
40330 * util/resolve.c: Likewise.
40331 * util/update-grub.in: Likewise.
40332 * util/update-grub_lib.in: Likewise.
40333 * util/grub.d/00_header.in: Likewise.
40334 * util/grub.d/10_hurd.in: Likewise.
40335 * util/grub.d/10_linux.in: Likewise.
40336 * util/i386/efi/grub-install.in: Likewise.
40337 * util/i386/efi/grub-mkimage.c: Likewise.
40338 * util/i386/pc/grub-install.in: Likewise.
40339 * util/i386/pc/grub-mkimage.c: Likewise.
40340 * util/i386/pc/grub-mkrescue.in: Likewise.
40341 * util/i386/pc/grub-setup.c: Likewise.
40342 * util/i386/pc/misc.c: Likewise.
40343 * util/powerpc/ieee1275/grub-install.in: Likewise.
40344 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
40345 * util/powerpc/ieee1275/misc.c: Likewise.
40346 * video/bitmap.c: Likewise.
40347 * video/video.c: Likewise.
40348 * video/i386/pc/vbe.c: Likewise.
40349 * video/i386/pc/vbeblit.c: Likewise.
40350 * video/i386/pc/vbefill.c: Likewise.
40351 * video/i386/pc/vbeutil.c: Likewise.
40352 * video/readers/tga.c: Likewise.
40353
3572d015 403542007-07-02 Robert Millan <rmh@aybabtu.com>
40355
40356 * conf/i386-efi.rmk: Replace obsolete reference to
40357 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
40358 with util/getroot.c.
40359 * conf/powerpc-ieee1275.rmk: Likewise.
40360 * conf/sparc64-ieee1275.rmk: Likewise.
40361
40362 * util/grub-emu.c (main): Fix unchecked pointer handling.
40363
2c2a681b 403642007-07-02 Robert Millan <rmh@aybabtu.com>
40365
40366 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
40367 invocation to fail, in order to support partition-less media.
40368
40369 * util/i386/pc/grub-install.in: Likewise.
40370
40371 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
40372 which fs or partmap modules are needed (akin to its sister scripts).
40373
40374 Also use grub-probe to get rid of unportable /proc/mounts check.
40375
40376 Print the same informational message that the other scripts do, before
fe6b695a 40377 exiting.
2c2a681b 40378
6193defe 403792007-06-23 Robert Millan <rmh@aybabtu.com>
40380
fe6b695a 40381 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 40382 a font file can be found and, if so, echo the GRUB path to it.
40383
40384 * util/update-grub.in: Handle multiple terminals depending on user
40385 input, platform availability and font file presence. Propagate
40386 variables of our findings to /etc/grub.d/ children.
40387
40388 * util/grub.d/00_header.in: Handle multiple terminals, based on
40389 environment setup by update-grub.
40390
eface1dc 403912007-06-23 Robert Millan <rmh@aybabtu.com>
40392
ba50d28f 40393 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 40394
bf697e28 403952007-06-21 Robert Millan <rmh@aybabtu.com>
40396
40397 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
40398 indicate end of data section in kernel image.
40399 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
40400 GRUB_KERNEL_MACHINE_DATA_END.
40401
40402 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
40403 space for it.
40404 * kern/i386/efi/startup.S: Likewise.
40405
40406 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
40407 during image generation. Implement --prefix option to override this
40408 patch.
40409 * util/i386/efi/grub-mkimage.c: Likewise.
40410
40411 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
40412 code to make path relative to its root into a separate function.
40413
40414 * util/i386/pc/grub-install.in: Use newly provided
40415 make_system_path_relative_to_its_root() to convert ${grubdir}, then
40416 pass the result to grub-install --prefix.
40417
baa574b4 404182007-06-13 Robert Millan <rmh@aybabtu.com>
40419
40420 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
40421 DEFAULT_DEVICE_MAP.
40422 * util/grub-emu.c: Use above definitions from misc.h instead of
40423 defining them.
40424 * util/grub-mkdevicemap.c: Likewise.
40425 * util/i386/pc/grub-setup.c: Likewise.
40426 * util/grub-probe.c: Likewise.
40427 (probe): Abort with grub_util_error() when either
40428 grub_guess_root_device or grub_util_get_grub_dev fails.
40429
0215dcbf 404302007-06-12 Robert Millan <rmh@aybabtu.com>
40431
40432 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
40433 "pager" assignment.
40434 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
40435 "pcdata".
40436 * util/grub-probe.c (probe): Likewise for "drive_name".
40437
8af2ab7b 404382007-06-11 Robert Millan <rmh@aybabtu.com>
40439
40440 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
40441 not just the cdrom one.
40442
59d31694 404432007-06-11 Robert Millan <rmh@aybabtu.com>
40444
40445 * util/i386/pc/grub-mkrescue.in: Add "set -e".
40446 Add --pkglibdir=DIR option to override pkglibdir.
40447 Mention --image-type=TYPE in help output.
40448 Fix --grub-mkimage (it was a no-op).
fe6b695a 40449 Abort gracefully when no parameter is given.
59d31694 40450
7ee367e4 404512007-06-11 Robert Millan <rmh@aybabtu.com>
40452
40453 * util/i386/pc/grub-mkrescue.in: New file.
40454 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
40455 * Makefile.in: Handle bin_SCRIPTS.
40456
29b0ed46 404572007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
40458
40459 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
40460 list of video modes.
40461
c0f90770 404622007-06-06 Robert Millan <rmh@aybabtu.com>
40463
40464 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
40465 file doesn't exist, or if it is in a filesystem grub can't read.
40466
40467 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
40468 not abort if GRUB_DRIVE could not be defined. Rearrange generated
40469 header comment to fit in 80 columns when the variables are resolved.
40470
40471 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
40472 could be identified by update-grub. Remove redundant check for
fe6b695a 40473 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 40474 handles that).
40475
fb36dc26 404762007-06-04 Robert Millan <rmh@aybabtu.com>
40477
40478 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
40479
40480 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
40481
40482 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
40483
0c68c93e 404842007-06-04 Robert Millan <rmh@aybabtu.com>
40485
40486 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
40487
40488 * include/grub/partition.h: Declare grub_apple_partition_map_init and
40489 grub_apple_partition_map_fini.
40490
40491 * util/biosdisk.c
40492 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
40493 to access >2 TiB disks).
40494
40495 Print disk->total_sectors with %llu instead of %lu, since this
40496 variable is always 64-bit (prevents wrong disk size from being displayed
40497 on either >2 TiB disk or big-endian CPU).
40498
40499 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
40500 into a generic case that supports all (sane) partition maps.
40501
40502 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
40503 breaks big-endian.
40504
40505 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
40506 and grub_apple_partition_map_fini() after that.
40507
0f23eb74 405082007-06-01 Robert Millan <rmh@aybabtu.com>
40509
40510 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
40511
40512 * util/grub.d/00_header.in: Only enable gfxterm when
40513 convert_system_path_to_grub_path() succeeds.
40514
42c71976 405152007-05-20 Robert Millan <rmh@aybabtu.com>
40516
40517 * util/update-grub_lib.in: New file.
40518 * DISTLIST: Add update-grub_lib.in.
40519 * conf/common.rmk: Generate update-grub_lib and install it in
40520 $(lib_DATA).
40521 * Makefile.in: Add install routine for $(lib_DATA).
40522
40523 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
40524 function provided by update-grub_lib to support arbitrary paths of
40525 unifont.pff.
40526 * util/update-grub.in: Use convert_system_path_to_grub_path() to
40527 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
40528
5beb2291 405292007-05-19 Robert Millan <rmh@aybabtu.com>
40530
40531 * commands/i386/cpuid.c: New module.
40532 * DISTLIST: Add it.
40533 * conf/i386-efi.rmk: Enable cpuid.mod.
40534 * conf/i386-pc.rmk: Likewise.
40535
7262eca1 405362007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40537
40538 * kern/disk.c (grub_disk_read): Check return value of
40539 grub_realloc().
40540
260ba823 405412007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40542
40543 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
40544 arrays.
40545 * disk/raid.c (grub_raid_open): Likewise.
40546
1ecb6cf2 405472007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40548
40549 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
40550 stack instead of on the heap.
40551
40552 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
40553 before doing a read on it.
40554
40555 * configure.ac: Only use -fno-stack-protector for the target
40556 environment.
f19dbdb7 40557
21c8cbb1 405582007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40559
40560 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
40561 __attribute_ ((unused)) to mode_type argument.
40562
40563 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 40564
21c8cbb1 40565 * kern/misc.c (memcmp): Fix prototype.
40566
40567 * include/grub/partition.h [GRUB_UTIL]
40568 (grub_gpt_partition_map_init): Add prototype.
40569 (grub_gpt_partition_map_fini): Likewise.
40570
40571 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
40572 at the right place.
40573
40574 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
40575 (grub_fat_read_data): Likewise.
40576 (grub_fat_find_dir): Likewise.
40577
40578 * font/manager.c (find_glyph): Make table a const.
40579 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 40580
849d55d3 405812007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
40582
40583 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
40584 code, first search for device in /dev/mapper, then in /dev.
40585 (grub_util_get_grub_dev): New function.
40586 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
40587 prototype.
40588 * util/grub-probe.c (probe): Remove check for RAID, call
40589 grub_util_get_grub_dev() instead of
40590 grub_util_biosdisk_get_grub_dev().
40591 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
40592 grub_util_biosdisk_get_grub_dev().
40593 * util/i386/pc/grub-setup.c (main): Likewise.
40594
8fff7c2f 405952007-05-16 Robert Millan <rmh@aybabtu.com>
40596
40597 * DISTLIST: Update for the latest changes.
40598 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
40599 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
40600 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
40601 grub/util/biosdisk.h.
40602 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
40603 grub/util/biosdisk.h.
40604
48e12b52 406052007-05-16 Robert Millan <rmh@aybabtu.com>
40606
40607 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
40608
46b9d128 406092007-05-16 Robert Millan <rmh@aybabtu.com>
40610
40611 * util/i386/efi/grub-install.in: New.
40612 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
40613 newly added grub-install.
40614 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
40615 include.
40616 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
40617 grub/util/biosdisk.h.
40618 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
40619 grub/util/biosdisk.h.
40620
2d1a40a9 406212007-05-16 Robert Millan <rmh@aybabtu.com>
40622
40623 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
40624 * include/grub/util/biosdisk.h: ... here.
40625 * util/i386/pc/biosdisk.c: Moved to ...
40626 * util/biosdisk.c: ... here.
40627 * util/i386/pc/getroot.c: Moved to ...
40628 * util/getroot.c: ... here.
40629 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
40630 * util/grub-mkdevicemap.c: ... here.
40631 * util/i386/pc/grub-probe.c: Moved to ...
40632 * util/grub-probe.c: ... here.
40633
9e26e3bc 406342007-05-15 Robert Millan <rmh@aybabtu.com>
40635
40636 * util/update-grub.in: Remove duplicated line in grub.cfg header
40637 message.
40638
57f96397 406392007-05-13 Robert Millan <rmh@aybabtu.com>
40640
40641 * util/update-grub.in: Fix a few assumptions about the devices holding
40642 /, /boot and /boot/grub being the same.
40643 * util/grub.d/00_header.in: Likewise.
40644 * util/grub.d/10_hurd.in: Likewise.
40645 * util/grub.d/10_linux.in: Likewise.
40646
40647 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
40648 patterns. Use that to define the `.old' suffix as older than `'.
40649
40650 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
40651
40652 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
40653 the grub.cfg header message.
40654
2e610d62 406552007-05-11 Robert Millan <rmh@aybabtu.com>
40656
40657 * util/update-grub.in: Create device.map if it doesn't already exist,
40658 before attempting to run grub-probe.
40659 Check for grub-probe and grub-mkdevicemap with the same code
40660 grub-install is using.
40661 Remove test mode.
40662
3f6a10ef 406632007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
40664
40665 * Makefile.in: Add the datarootdir autoconf variable.
40666
02e7b75e 406672007-05-09 Robert Millan <rmh@aybabtu.com>
40668
40669 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 40670 fail gracefully if dev->disk->partition == NULL.
02e7b75e 40671
75f396cc 406722007-05-07 Robert Millan <rmh@aybabtu.com>
40673
40674 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
40675 determine partition map module.
40676 * util/i386/pc/grub-install.in: Use this feature to decide which
40677 partition module to load, instead of hardcoding pc and gpt.
40678
da65cb36 406792007-05-07 Robert Millan <rmh@aybabtu.com>
40680
40681 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
40682 source directory differs from build directory.
40683
b57d6a91 406842007-05-05 Robert Millan <rmh@aybabtu.com>
40685
40686 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
40687 initialisation.
40688
509d00f1 406892007-05-05 Robert Millan <rmh@aybabtu.com>
40690
40691 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
40692
c48f23ef 406932007-05-05 Robert Millan <rmh@aybabtu.com>
40694
40695 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
40696 command-line arguments via ${GRUB_CMDLINE_LINUX}.
40697
20b97658 406982007-05-05 Robert Millan <rmh@aybabtu.com>
40699
40700 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
40701 (grub_probe_SOURCES): Likewise.
40702 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
40703 GPT and initialize dos_part and bsd_part accordingly.
40704 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
40705 install_bsd_part.
40706 (main): Activate gpt module for use during partition identification,
40707 and deactivate it afterwards.
40708 * util/i386/pc/grub-install.in: Add gpt module to core.img.
40709 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
40710 partition identification, and deactivate it afterwards.
40711
99123174 407122007-05-05 Robert Millan <rmh@aybabtu.com>
40713
40714 * term/i386/pc/console.c (grub_console_fini): Call
40715 grub_term_set_current() before grub_term_unregister().
40716
ebd97f6e 407172007-05-04 Robert Millan <rmh@aybabtu.com>
40718
40719 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
40720 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
40721 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
40722 and update-grub_DATA.
40723 * conf/common.rmk: Build and install update-grub components.
40724 * conf/common.mk: Regenerate.
40725 * util/update-grub.in: New. Core of update-grub.
40726 * util/grub.d/00_header.in: New. Generates grub.cfg header.
40727 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
40728 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
40729 * util/grub.d/README: New. Document grub.d directory layout.
40730
b06a264d 407312007-05-01 Robert Millan <rmh@aybabtu.com>
40732
40733 * util/grub-emu.c: Move initialization functions
40734 grub_util_biosdisk_init() and grub_init_all() before
40735 grub_util_biosdisk_get_grub_dev(), which relies on them.
40736
41f0050e 407372007-04-19 Robert Millan <rmh@aybabtu.com>
40738
40739 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
40740 it is used later.
40741
04582bb3 407422007-04-18 Jerone Young <jerone@gmail.com>
40743
f19dbdb7 40744 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 40745 stanza.
40746
08db4632 407472007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 40748
08db4632 40749 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
40750 continue on and look for device node with real device name.
40751
801b76be 407522007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 40753
fe6b695a 40754 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 40755 ability.
40756 * Makefile.in: Add autoconf package transformation code.
40757 * util/i386/pc/grub-install.in: Likewise.
40758 * util/powerpc/ieee1275/grub-install.in: Likewise.
40759
6795c4e1 407602007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40761
40762 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
40763 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
40764 (EXT2_REVISION): Likewise.
40765 (EXT2_INODE_SIZE): Likewise.
40766 (struct grub_ext2_block_group): Added a missing member
40767 "used_dirs".
40768 (grub_ext2_read_inode): Divide by the inode size in a superblock
40769 instead of 128 to obtain INODES_PER_BLOCK.
40770 Use the macro EXT2_INODE_SIZE instead of directly using
40771 SBLOCK->INODE_SIZE.
40772
d70af616 407732007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40774
40775 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
40776 superblock instead of the structure size to compute an
40777 offset. This fixes the problem that GRUB could not read a
40778 filesystem when inode size is different from 128-byte.
40779
3b801603 407802007-03-05 Marco Gerards <marco@gnu.org>
40781
40782 * normal/main.c (read_config_file): When "menu" is not set, create
40783 an initial context.
40784
4785bfe4 407852007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40786
40787 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
40788 (HEAP_LIMIT): New macro.
40789 (grub_claim_heap): Claim memory up to `heaplimit'.
40790
a0cbb023 407912007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40792
40793 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
40794 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
40795 (_start): Likewise.
40796 (grub_arch_modules_addr): Return address after `_end'.
40797 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
40798 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
40799 (add_segments): Calculate `_end' from phdr size and location.
40800 (ALIGN_UP): Moved to ...
40801 * include/grub/misc.h: here.
40802 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40803 New macro.
40804 (GRUB_IEEE1275_MODULE_BASE): Removed.
40805
fd7d8eba 408062007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40807
40808 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
40809 loop boundary.
40810
9b09e6fc 408112007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40812
40813 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
40814 All users updated.
40815 (grub_elf64_load_hook_t): Likewise.
40816 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
40817 debug output.
40818
3ce27299 408192007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40820
40821 * kern/mm.c: Update copyright.
40822 (grub_mm_debug): Correct syntax error.
40823 (grub_mm_dump_free): New function.
40824 (grub_debug_free): Call `grub_free'.
40825 * include/grub/mm.h: Update copyright.
40826 (grub_mm_dump_free): Add declaration.
40827
077d5fee 408282007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40829
40830 * include/grub/ieee1275/ieee1275.h: Update copyright.
40831 * kern/powerpc/ieee1275/init.c: Likewise.
40832 * kern/powerpc/ieee1275/openfw.c: Likewise.
40833
40834 * loader/powerpc/ieee1275/linux.c: Likewise.
40835 * include/grub/elfload.h: Likewise.
40836 * kern/elf.c: Likewise.
40837 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40838 callers.
40839 (grub_elf64_load): Likewise.
40840 (grub_elf32_load_segment): Move to a nested function.
40841 (grub_elf64_load_segment): Likewise.
40842
dc946850 408432007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40844
40845 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40846 prototype.
40847 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40848 (grub_heap_len): Likewise.
40849 (HEAP_SIZE): New macro.
40850 (grub_claim_heap): New function.
40851 (grub_machine_init): Don't claim heap directly. Call
40852 `grub_claim_heap'.
40853 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40854 (grub_available_iterate): New function.
40855
baa2a121 408562007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40857
40858 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40859 * configure.ac: Use it for testing the HOST and TARGET compilers.
40860
4fe9862e 408612006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40862
40863 * Makefile.in (enable_grub_emu): New variable.
40864 * configure.ac (--enable-grub-emu): New option.
40865 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40866 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40867 * conf/i386-pc.rmk: Likewise.
40868 * conf/powerpc-ieee1275.rmk: Likewise.
40869 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40870
a8aa5762 408712006-12-12 Marco Gerards <marco@gnu.org>
40872
40873 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40874
40875 * kern/env.c (grub_env_unset): Don't free the member `value' when
40876 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40877 pointer.
40878
40879 * normal/main.c (current_menu): Removed.
40880 (free_menu): Unset the `menu' environment variable.
40881 (grub_normal_menu_addentry): Make use of the environment variable
40882 `menu', instead of using the global `current_menu'. Allocate
40883 memory for the sourcecode of this entry.
40884 (read_config_file): New argument `nested', changed all callers.
40885 Only in the case of a new context, initialize a new menu. Set the
40886 `menu' environment variable.
40887 (grub_normal_execute): Don't set and unset the environment
40888 variable `menu' here anymore. Only free the menu when leaving the
40889 context.
40890
40891 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40892 leak.
40893
957b3a3e 408942006-12-11 Marco Gerards <marco@gnu.org>
40895
40896 * normal/menu_entry.c (run): Fix off by one bug so the last line
40897 is executed. Move the loader check to outside the loop.
40898
ef875714 408992006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40900
40901 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40902
4e739985 409032006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40904
40905 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40906 the number of sectors. Reported by Andrey Shuvikov
40907 <mr_hyro@yahoo.com>.
f19dbdb7 40908
790707f2 409092006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40910
40911 * kern/disk.c (grub_disk_read): When there is a read error, always
40912 try to read only the necessary data.
f19dbdb7 40913
790707f2 40914 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40915 disk/raid.c.
40916 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40917 prototype.
40918 [GRUB_UTIL] (grub_raid_fini): Likewise.
40919 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 40920 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 40921 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40922 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40923 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40924 and grub_raid_fini().
f19dbdb7 40925
03e58196 409262006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40927
40928 * include/grub/types.h (__unused): Rename to UNUSED.
40929 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40930 (grub_elf64_size): Likewise.
f19dbdb7 40931
ae4f23bf 409322006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40933
40934 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40935 grub_error_push and grub_error_pop in the error-handling path.
40936 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40937 length.
40938
2166cc83 409392006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40940
40941 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40942 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40944 (kernel_elf_SOURCES): Likewise.
40945 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40946 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40947 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40948 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40949 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40950 (elf_mod_SOURCES): New variable.
40951 (elf_mod_CFLAGS): Likewise.
40952 (elf_mod_LDFLAGS): Likewise.
40953 * include/grub/types.h (__unused): New macro.
40954 * include/grub/elfload.h: New file.
40955 * kern/elf.c: Likewise.
40956 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40957 (ELF32_LOADMASK): New macro.
40958 (ELF64_LOADMASK): Likewise.
40959 (vmlinux): Removed.
40960 (grub_linux_load32): New function.
40961 (grub_linux_load64): Likewise.
40962 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40963 Use grub_elf_t instead of grub_file_t.
40964
a09d5aa5 409652006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40966
40967 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40968 `catch_result' to struct set_color_args.
40969
d976fc51 409702006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40971
40972 * normal/menu.c: Include grub/script.h.
40973 * normal/menu_entry.c: Likewise.
40974 * include/grub/normal.h: Do not include grub/script.h.
40975
67507549 409762006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40977
40978 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
40979
69203a99 409802006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40981
40982 * kern/disk.c (grub_disk_open): Print debug messages when opening a
40983 disk.
40984 (grub_disk_close): Print debug messages when closing a disk.
40985 (grub_disk_read): Print debug messages when disk read fails.
40986 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
40987 filesystem type.
40988 * kern/partition.c: Include misc.h.
40989 (grub_partition_iterate): Print debug messages when detecting
40990 partition type.
40991
e2b8278c 409922006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40993
40994 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
40995 is negative.
40996 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
40997
97b2f2ff 409982006-10-26 Hollis Blanchard <hollis@penguinppc.org>
40999
41000 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
41001 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
41002
6555d655 410032006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
41004
41005 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
41006 instead of sizeof(lv). Patch by Michael Guntsche.
41007
4d42b77f 410082006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
41009
41010 * disk/lvm.c: Rename VGS to VG_LIST.
41011 (grub_lvm_iterate): Change VGS->LV to VG-LV.
41012 (grub_lvm_open): Likewise.
41013 Thanks to Michael Guntsche for finding this bug.
41014
5d74d927 410152006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41016
41017 * configure.ac (AC_INIT): Bumped to 1.95.
41018
a1bb27e4 410192006-10-14 Robert Millan <rmh@aybabtu.com>
41020
41021 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
41022 with "/dev/.static/dev/md".
41023
e0994b8b 410242006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
41025
41026 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
41027 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
41028 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
41029 DRIVE_NAME are always freed.
41030
41031 * util/i386/pc/biosdisk.c (make_device_name): Add one into
41032 DOS_PART, as a DOS partition is counted from one instead of zero
41033 now. Reported by Robert Millan.
41034
ddd5cee9 410352006-10-14 Robert Millan <rmh@aybabtu.com>
41036
41037 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
41038 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
41039 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
41040 string returned by grub_guess_root_device.
41041 * util/i386/pc/grub-setup.c: Likewise.
41042 * util/i386/pc/grub-probefs.c: Likewise.
41043
41044 * util/i386/pc/grub-probefs.c: Rename to ...
41045 * util/i386/pc/grub-probe.c: ... this.
41046 * DISTLIST: Remove grub-probefs, add grub-probe.
41047 * conf/i386-efi.rmk: Likewise.
41048 * conf/i386-pc.rmk: Likewise.
41049 * util/i386/pc/grub-install.in: Likewise.
41050
41051 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
41052 choose which information we want to print.
41053
2b002173 410542006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
41055
41056 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
41057 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
41058 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
41059 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
41060 video/readers/tga.c and video/i386/pc/vbeutil.c.
41061
410622006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
41063
41064 Added support for RAID and LVM.
f19dbdb7 41065
2b002173 41066 * disk/lvm.c: New file.
41067 * disk/raid.c: Likewise.
41068 * include/grub/lvm.h: Likewise.
f19dbdb7 41069 * include/grub/raid.h: Likewise.
2b002173 41070 * include/grub/util/lvm.h: Likewise.
41071 * include/grub/util/raid.h: Likewise.
41072 * util/lvm.c: Likewise.
41073 * util/raid.c: Likewise.
41074
41075 * include/grub/disk.h (grub_disk_dev_id): Add
41076 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
41077 (grub_disk_get_size): New prototype.
41078 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
41079 returns a partition.
41080 (grub_disk_get_size): New function.
f19dbdb7 41081
2b002173 41082 * kern/i386/pc/init.c (make_install_device): Copy the prefix
41083 verbatim if grub_install_dos_part is -2.
41084
41085 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
41086 and LVM devices.
41087
41088 * util/i386/pc/grub-setup.c (setup): New argument
41089 MUST_EMBED. Force embedding of GRUB when the argument is
41090 true. Close FILE before returning.
41091 (main): Add support for RAID and LVM.
f19dbdb7 41092
2b002173 41093 * conf/common.rmk: Add RAID and LVM modules.
41094 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
41095 util/lvm.c.
41096 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
41097
41098 * kern/misc.c (grub_strstr): New function.
41099 * include/grub/misc.h (grub_strstr): New prototype.
41100
050548d0 411012006-10-10 Tristan Gingold <tristan.gingold@bull.net>
41102
41103 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
41104
da849d2d 411052006-10-05 Tristan Gingold <tristan.gingold@bull.net>
41106
41107 * kern/misc.c (grub_strtoull): Guess the base only if not
41108 specified.
41109
97b2f2ff 411102006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 41111
41112 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
41113 PowerMac support.
41114
97b2f2ff 411152006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 41116
41117 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
41118
41119 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
41120 Remove `flags' argument. All callers changed.
41121 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
41122 (IEEE1275_IHANDLE_INVALID): New variable.
41123 (IEEE1275_CELL_INVALID): New variable.
41124 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
41125 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
41126 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
41127 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
41128 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
41129 codes from Open Firmware. All callers updated.
41130 (grub_ieee1275_next_property): Directly return Open Firmware return
41131 code.
41132 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41133 Standardize error checking from `grub_ieee1275_get_property'.
41134 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
41135 `devalias' to `aliases'. Correct comments. Consolidate error paths.
41136
97b2f2ff 411372006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 41138
41139 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
41140 `instance_to_package_args' to `instance_to_path_args'.
41141
41142 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
41143 `grub_ieee1275_chosen'.
41144
41145 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
41146 `grub_ieee1275_interpret'.
41147
97b2f2ff 411482006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 41149
41150 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
41151
97b2f2ff 411522006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 41153
41154 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
41155 (__cmpdi): Likewise.
41156
41157 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
41158 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
41159 `grub_ssize_t'.
41160
02bb8acc 41161 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 41162
41163 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
41164 to type `grub_ssize_t'.
41165 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
41166
7f9a8531 411672006-09-22 Marco Gerards <marco@gnu.org>
41168
41169 * normal/script.c (grub_script_create_cmdmenu): Skip leading
41170 newlines.
41171
b5ef1102 411722006-09-22 Marco Gerards <marco@gnu.org>
41173
41174 * commands/echo.c: New file.
41175
41176 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
41177
41178 * conf/common.rmk (echo_mod_SOURCES): New variable.
41179 (echo_mod_CFLAGS): Likewise.
41180 (echo_mod_LDFLAGS): Likewise.
41181
2cff3677 411822006-09-22 Marco Gerards <marco@gnu.org>
41183
41184 * normal/main.c (get_line): Malloc memory instead of using
41185 preallocated memory. Removed the arguments `cmdline' and
41186 `max_len'. Updated all callers.
41187
6ba4688b 411882006-09-22 Marco Gerards <marco@gnu.org>
41189
41190 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
41191 (normal_mod_DEPENDENCIES): Likewise.
41192
41193 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
41194 (normal_mod_DEPENDENCIES): Likewise.
41195
41196 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
41197
e02ac02c 411982006-09-22 Johan Rydberg <jrydberg@gnu.org>
41199
41200 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
41201 programs.
41202 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
41203 (normal_mod_DEPENDENCIES): Likewise.
41204 * conf/i386-pc.mk: Regenerate.
41205 * conf/i386-efi.mk: Likewise
41206 * conf/common.mk: Likewise.
41207 * conf/powerpc-ieee1275.mk: Likewise.
41208 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 41209
8d252e44 412102006-09-22 Robert Millan <rmh@aybabtu.com>
41211
41212 Sync with i386 version.
41213 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
41214 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
41215
209bf7ac 412162006-09-21 Robert Millan <rmh@aybabtu.com>
41217
41218 Import from GRUB Legacy (lib/device.c):
41219 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
41220 (init_device_map) [__linux__]: Add support for I2O devices.
41221
6b146090 412222006-09-14 Marco Gerards <marco@gnu.org>
41223
41224 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
41225 `-melf_i386'.
41226
e38600a8 412272006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 41228
41229 * util/i386/pc/grub-install.in: Skip menu.lst when removing
41230 /boot/grub/*.lst.
78fa1790 41231
2952da5d 41232 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 41233
2952da5d 41234 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
41235 before adding it to device.map.
41236
01b82a64 412372006-08-15 Johan Rydberg <jrydberg@gnu.org>
41238
fe6b695a 41239 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 41240 compiles a file; using the -MD option.
41241 * conf/common.mk: Regenerate.
41242 * conf/i386-pc.mk: Likewise.
41243 * conf/i386-efi.mk: Likewise.
41244 * conf/powerpc-ieee1275.mk: Likewise.
41245 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 41246
1064790d 412472006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
41248
41249 Move the prototypes of grub_setjmp and grub_longjmp to
41250 cpu/setjmp.h, so that each architecture may specify different
41251 attributes.
f19dbdb7 41252
1064790d 41253 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
41254 (grub_longjmp): Likewise.
41255 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
41256 (grub_longjmp): Likewise.
41257 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
41258 (grub_longjmp): Likewise.
41259
41260 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
41261 [!GRUB_UTIL] (grub_longjmp): Removed.
41262
29dda3ed 412632006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
41264
41265 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
41266 "color!" method does not return any value.
41267
ad2a06ed 412682006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41269
41270 * include/grub/bitmap.h: New file.
41271
41272 * include/grub/i386/pc/vbeutil.h: Likewise.
41273
41274 * video/bitmap.c: Likewise.
41275
41276 * video/readers/tga.c: Likewise.
41277
41278 * video/i386/pc/vbeutil.c: Likewise.
41279
41280 * commands/videotest.c: Code cleanup and updated to reflect to new
41281 video API.
41282
41283 * term/gfxterm.c: Likewise.
41284
41285 * video/video.c: Likewise.
41286
41287 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
41288 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
41289 (bitmap_mod_SOURCES): New entry.
41290 (bitmap_mod_CFLAGS): Likewise.
41291 (bitmap_mod_LDFLAGS): Likewise.
41292 (tga_mod_SOURCES): Likewise.
41293 (tga_mod_CFLAGS): Likewise.
41294 (tga_mod_LDFLAGS): Likewise.
41295
41296 * include/grub/video.h (grub_video_blit_operators): New enum type.
41297 (grub_video_render_target): Changed as forward declaration and moved
41298 actual definition to be video driver specific.
41299 (grub_video_adapter.blit_bitmap): Added blitting operator.
41300 (grub_video_adapter.blit_render_target): Likewise.
41301 (grub_video_blit_bitmap): Likewise.
41302 (grub_video_blit_render_target): Likewise.
41303
41304 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
41305 driver specific render target definition.
41306 (grub_video_vbe_map_rgba): Added driver internal helper.
41307 (grub_video_vbe_unmap_color): Updated to use
41308 grub_video_i386_vbeblit_info.
41309 (grub_video_vbe_get_video_ptr): Likewise.
41310
41311 * include/grub/i386/pc/vbeblit.h
41312 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
41313 grub_video_i386_vbeblit_info.
41314 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41315 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41316 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41317 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41318 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41319 (grub_video_i386_vbeblit_index_index): Likewise.
41320 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
41321 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41322 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41323 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
41324 operator.
41325 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
41326 operator.
41327
41328 * video/i386/pc/vbeblit.c: Updated to reflect changes on
41329 include/grub/i386/pc/vbeblit.h.
41330
41331 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
41332 Updated to use grub_video_i386_vbeblit_info.
41333 (grub_video_i386_vbefill_R8G8B8): Likewise.
41334 (grub_video_i386_vbefill_index): Likewise.
41335 (grub_video_i386_vbefill): Added generic filler.
41336
41337 * video/i386/pc/vbefill.c: Updated to reflect changes on
41338 include/grub/i386/pc/vbefill.h.
41339
41340 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
41341 grub_video_i386_vbeblit_info.
41342 (grub_video_vbe_unmap_color): Likewise.
41343 (grub_video_vbe_blit_glyph): Likewise.
41344 (grub_video_vbe_scroll): Likewise.
41345 (grub_video_vbe_draw_pixel): Removed function.
41346 (grub_video_vbe_get_pixel): Likewise.
41347 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
41348 updated code to use it.
41349 (common_blitter): Added common blitter for render target and bitmap.
41350 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
41351 (grub_video_vbe_blit_render_target): Likewise.
41352
bc8c036d 413532006-07-30 Johan Rydberg <jrydberg@gnu.org>
41354
41355 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
41356 is in text mode if there is no console control protocol instance
41357 available.
41358
684a8eff 413592006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41360
41361 * include/grub/video.h: Code cleanup.
41362
41363 * include/grub/i386/pc/vbe.h: Likewise.
41364
41365 * video/i386/pc/vbe.c: Likewise.
41366
41367 * video/i386/pc/vbeblit.c: Likewise.
41368
41369 * video/i386/pc/vbefill.c: Likewise.
41370
41371 * video/video.c: Likewise. Also added more comments.
41372
5915059b 413732006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41374
41375 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
41376 (struct grub_biosdisk_dap): Likewise.
41377
41378 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
41379 linkage settings for all functions.
41380
90ce5d56 413812006-07-12 Marco Gerards <marco@gnu.org>
41382
41383 * configure.ac (--enable-mm-debug): Fix typo.
41384
41385 * genkernsyms.sh.in: Use proper quoting for `CC'.
41386
43e7f879 413872006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
41388
41389 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
41390 (normal_mod_ASFLAGS): Remove "-m32".
41391
4889bdec 413922006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
41393
41394 * util/misc.c: Include config.h.
41395 [!HAVE_MEMALIGN]: Do not include malloc.h.
41396 (grub_memalign): Use posix_memalign, if present. Then, use
41397 memalign, if present. Otherwise, emit an error.
41398
41399 * util/grub-emu.c: Do not include malloc.h.
41400
41401 * include/grub/util/misc.h: Include unistd.h. This is required for
41402 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
41403 D. Eades III <hde@foobar-qux.org>.
41404
41405 * configure.ac (AC_GNU_SOURCE): Added.
41406 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
41407 type.
41408
fd39d4da 414092006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
41410
41411 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
41412 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
41413
b786f3b5 414142006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
41415
41416 * include/grub/types.h (grub_host_addr_t): Rename to
41417 grub_target_addr_t.
41418 (grub_host_off_t): Rename to grub_target_off_t.
41419 (grub_host_size_t): Rename to grub_target_size_t.
41420 (grub_host_ssize_t): Rename to grub_target_ssize_t.
41421 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
41422
41423 * include/grub/kernel.h (struct grub_module_header): Change type
41424 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
41425 (grub_module_info): Likewise.
f19dbdb7 41426
051988bb 414272006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41428
41429 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
41430 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
41431 Velazquez <jesus.velazquez@gmail.com>.
41432
deae281b 414332006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41434
41435 Count partitions from 1 instead of 0 in the string representation
41436 of partitions. Still use 0-based internally.
f19dbdb7 41437
deae281b 41438 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
41439 (sun_partition_map_iterate): Use grub_partition_t instead of
41440 struct grub_partition *. Cast DESC->START_CYLINDER to
41441 grub_uint64_t after converting the endian.
41442 (sun_partition_map_probe): Subtract 1 for PARTNUM.
41443 (sun_partition_map_get_name): Add 1 to P->INDEX.
41444
41445 * partmap/pc.c (grub_partition_parse): Subtract 1 for
41446 PCDATA->DOS_PART.
41447 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
41448
41449 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
41450 zero instead of one.
41451 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
41452 (gpt_partition_map_get_name): Add 1 into P->INDEX.
41453
41454 * partmap/apple.c (apple_partition_map_iterate): Change the type
41455 of POS to unsigned.
41456 (apple_partition_map_probe): Subtract 1 for PARTNUM.
41457 (apple_partition_map_get_name): Add 1 into P->INDEX.
41458
41459 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
41460 of POS to unsigned.
41461 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
41462 calculate the offset of a partition.
41463 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
41464 (amiga_partition_map_get_name): Add 1 into P->INDEX.
41465
41466 * partmap/acorn.c (acorn_partition_map_find): Change the type of
41467 SECTOR to grub_disk_addr_t.
41468 (acorn_partition_map_iterate): Likewise.
41469 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
41470 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
41471 top.
41472 (acorn_partition_map_get_name): Add 1 into P->INDEX.
41473
41474 * kern/i386/pc/init.c (make_install_device): Add 1 into
41475 GRUB_INSTALL_DOS_PART.
41476
41477 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
41478 conditional.
41479
524a1e6a 414802006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41481
41482 Clean up the code to support 64-bit addressing in disks and
41483 files. This change is not enough for filesystems yet.
f19dbdb7 41484
524a1e6a 41485 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
41486 type of "start" to grub_uint64_t.
41487 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
41488 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
41489 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
41490 convert addresses.
41491
41492 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
41493 to grub_disk_addr_t.
41494
41495 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
41496 string.
41497
41498 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41499
41500 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
41501 to char *.
41502
41503 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
41504
41505 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
41506
41507 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
41508
41509 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
41510 to grub_off_t, to detect an error from grub_file_seek.
41511 (grub_multiboot_load_elf32): Likewise.
41512
41513 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
41514 maximum unsigned long value when an overflow is detected.
41515 (grub_strtoull): New function.
41516 (grub_divmod64): Likewise.
41517 (grub_lltoa): use grub_divmod64.
41518
41519 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
41520 grub_disk_addr_t.
41521 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
41522 the pointer to next character. Use grub_strtoull instead of
41523 grub_strtoul.
41524 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
41525 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
41526 respectively.
41527
fe6b695a 41528 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 41529 return value is signed.
41530 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
41531 test if OFFSET is less than zero, as OFFSET is unsigned now.
41532
41533 * kern/disk.c (struct grub_disk_cache): Change the type of
41534 "sector" to grub_disk_addr_t.
41535 (grub_disk_cache_get_index): Change the type of SECTOR to
41536 grub_disk_addr_t. Calculate the hash with SECTOR casted to
41537 unsigned after shifting.
41538 (grub_disk_cache_invalidate): Change the type of SECTOR to
41539 grub_disk_addr_t.
41540 (grub_disk_cache_unlock): Likewise.
41541 (grub_disk_cache_store): Likewise.
41542 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
41543 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
41544 grub_disk_addr_t and grub_uint64_t, respectively.
41545 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
41546 body, as the value of OFFSET is tweaked by
41547 grub_disk_check_range. Change the types of START_SECTOR, LEN and
41548 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
41549 respectively.
41550 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
41551 body, as the value of OFFSET is tweaked by
41552 grub_disk_check_range. Change the types of LEN and N to
41553 grub_size_t.
41554
41555 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
41556 and "saved_offset" to grub_off_t.
41557 (test_header): Cast BUF to char *.
41558 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
41559 to char *.
41560 (grub_gzio_read): Change the types of OFFSET and SIZE to
41561 grub_off_t and grub_size_t, respectively.
41562
41563 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
41564 Removed.
41565 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
41566 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
41567 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
41568 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
41569 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
41570
41571 * include/grub/types.h (grub_off_t): Unconditionally set to
41572 grub_uint64_t.
41573 (grub_disk_addr_t): Changed to grub_uint64_t.
41574
41575 * include/grub/partition.h (struct grub_partition): Change the
41576 types of "start", "len" and "offset" to grub_disk_addr_t,
41577 grub_uint64_t and grub_disk_addr_t, respectively.
41578 (grub_partition_get_start): Return grub_disk_addr_t.
41579 (grub_partition_get_len): Return grub_uint64_t.
41580
41581 * include/grub/misc.h (grub_strtoull): New prototype.
41582 (grub_divmod64): Likewise.
41583
41584 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
41585 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
41586 grub_off_t, respectively.
41587 All callers and references changed.
41588
41589 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
41590 grub_size_t in "read".
41591 All callers and references changed.
41592
41593 * include/grub/file.h (struct grub_file): Change the types of
41594 "offset" and "size" to grub_off_t and grub_off_t,
41595 respectively. Change the type of SECTOR to grub_disk_addr_t in
41596 "read_hook".
41597 (grub_file_read): Change the type of LEN to grub_size_t.
41598 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
41599 grub_off_t.
41600 (grub_file_size): Return grub_off_t.
41601 (grub_file_tell): Likewise.
41602 All callers and references changed.
41603
41604 * include/grub/disk.h (struct grub_disk_dev): Change the types of
41605 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
41606 "write".
41607 (struct grub_disk): Change the type of "total_sectors" to
41608 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 41609 "read_hook".
524a1e6a 41610 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
41611 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
41612 (grub_disk_write): Likewise.
41613 All callers and references changed.
41614
41615 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
41616 char * for grub_strncmp to silence gcc.
41617 (grub_iso9660_mount): Likewise.
41618 (grub_iso9660_mount): Likewise.
41619 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
41620 return statement.
41621 (grub_iso9660_iterate_dir): Likewise.
41622 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
41623
41624 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
41625 LEN to grub_disk_addr_t and grub_size_t, respectively.
41626
41627 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41628
41629 * fs/jfs.c (grub_jfs_read_file): Likewise.
41630
41631 * fs/minix.c (grub_jfs_read_file): Likewise.
41632
41633 * fs/sfs.c (grub_jfs_read_file): Likewise.
41634
41635 * fs/ufs.c (grub_jfs_read_file): Likewise.
41636
41637 * fs/xfs.c (grub_jfs_read_file): Likewise.
41638
41639 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
41640 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
41641 respectively.
41642
41643 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
41644 BLKNR to -1 instead of returning GRUB_ERRNO.
41645 (grub_ext2_read_file): Change the types of SECTOR and
41646 LEN to grub_disk_addr_t and grub_size_t, respectively.
41647
41648 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
41649 LEN to grub_disk_addr_t and grub_size_t, respectively.
41650
41651 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
41652 grub_file_read.
41653
41654 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
41655 string. Do not cast SECTOR explicitly.
41656
41657 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
41658 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
41659 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
41660 grub_disk_addr_t and grub_size_t, respectively. If the sector is
41661 over 2TB and LBA mode is not supported, raise an error.
41662 (get_safe_sectors): New function.
41663 (grub_biosdisk_read): Use get_safe_sectors.
41664 (grub_biosdisk_write): Likewise.
41665
41666 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
41667 (grub_efidisk_write): Likewise.
41668
41669 * disk/loopback.c (delete_loopback): Cosmetic changes.
41670 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
41671 correctly.
41672 (grub_loopback_open): Likewise.
41673 (grub_loopback_read): Likewise. Also, change the type of POS to
41674 grub_off_t, and fix the usage of grub_memset.
41675
41676 * commands/i386/pc/play.c: Include grub/machine/time.h.
41677
41678 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
41679 print FILE->SIZE.
41680
41681 * commands/configfile.c: Include grub/env.h.
41682
41683 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
41684 GRUB_ERRNO directly instead. Change the type of POS to
41685 grub_off_t. Follow the coding standard.
41686
41687 * commands/blocklist.c: Include grub/partition.h.
41688 (grub_cmd_blocklist): Return an error if the underlying device is
41689 not a disk. Take the starting sector of a partition into account,
41690 if a partition is used.
41691
41692 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
41693 a length field.
41694 (lba_mode): Support 64-bit addresses.
41695 (chs_mode): Likewise.
41696 (copy_buffer): Adapted to the new offsets of a length field and a
41697 segment field.
41698 (blocklist_default_start): Allocate 64-bit space.
41699
41700 * boot/i386/pc/boot.S (force_lba): Removed.
41701 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 41702 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 41703 space.
41704 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
41705 is useless.
41706 (lba_mode): Refactored to support a 64-bit address. More size
41707 optimization.
41708 (setup_sectors): Likewise.
41709
53af98ad 417102006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41711
41712 * DISTLIST: Added include/grub/i386/linux.h. Removed
41713 include/grub/i386/pc/linux.h
41714
41715 * configure.ac (AC_INIT): Bumped to 1.94.
41716
41717 * config.guess: Updated from gnulib.
41718 * config.sub: Likewise.
41719 * install-sh: Likewise.
41720 * mkinstalldirs: Likewise.
41721
b4c1940a 417222006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41723
41724 * conf/common.rmk (grub_modules_init.lst): Depended on
41725 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
41726 MODSRCFILES.
41727
41728 * genmk.rb (PModule::rule): Reverted the previous change.
41729
cfca1cfd 417302006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41731
41732 * conf/common.rmk (grub_modules_init.lst): Depends on
41733 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
41734 that the target does not exist before producing.
41735 (grub_modules_init.h): Remove the target before generating.
41736 (grub_emu_init.c): Likewise.
41737
41738 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
41739
aa6d7826 417402006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
41741
41742 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
41743 for the target-specific tests. Make sure that we also have the
41744 up-to-date target variables for those tests.
41745
26c607b9 417462006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41747
41748 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
41749 (PModule::rule): Likewise.
41750
0162321a 417512006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41752
41753 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
41754 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
41755 target-specific flags should be prefixed.
41756 (PModule::rule): Likewise.
41757
6c826348 417582006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
41759
41760 * configure.ac (CMP): Check if cmp is available explicitly.
41761
b977bf01 417622006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
41763
41764 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
41765 (target_cpu): New variable.
41766 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 41767
b977bf01 41768 * util/i386/pc/grub-install.in (host_cpu): Removed.
41769 (target_cpu): New variable.
41770 (pkglibdir): Use target_cpu instead of host_cpu.
41771
41772 * util/genmoddep.c: Removed.
f19dbdb7 41773
b977bf01 41774 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
41775 instead of GRUB_HOST_SIZEOF_VOID_P.
41776 * kern/dl.c: Likewise.
41777
41778 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
41779 ...
41780 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41781 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41782 (GRUB_TARGET_SIZEOF_LONG): ... this.
41783 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41784 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41785 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41786 to ...
41787 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41788 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41789 (GRUB_TARGET_SIZEOF_LONG): ... this.
41790 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41791 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41792 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41793 to ...
41794 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41795 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41796 (GRUB_TARGET_SIZEOF_LONG): ... this.
41797 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41798 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41799
41800 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
41801 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
41802 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
41803 instead of GRUB_HOST_SIZEOF_LONG.
41804 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
41805 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
41806 GRUB_CPU_WORDS_BIGENDIAN.
41807 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
41808 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
41809 grub_host_ssize_t.
41810
41811 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
41812 (genmoddep_SOURCES): Likewise.
41813 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
41814 (genmoddep_SOURCES): Likewise.
41815 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
41816 (genmoddep_SOURCES): Likewise.
41817 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
41818 Likewise.
41819 (genmoddep_SOURCES): Likewise.
41820
41821 * genmoddep.awk: New file.
41822
41823 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
41824 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
41825 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
41826 (PModule::rule): Likewise.
41827 (Program::rule): Likewise.
41828 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
41829 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
41830 respectively.
41831
41832 * configure.ac: Rewritten intensively to use host and target
41833 instead of build and host, respectively.
41834
41835 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41836 (host_cpu): Removed.
41837 (target_cpu): New variable.
41838 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41839 (BUILD_CC): Removed.
41840 (BUILD_CFLAGS): Likewise.
41841 (BUILD_CPPFLAGS): Likewise.
41842 (TARGET_CC): New variable.
41843 (TARGET_CFLAGS): Likewise.
41844 (TARGET_CPPFLAGS): Likewise.
41845 (TARGET_LDFLAGS): Likewise.
41846 (AWK): Likewise.
41847 (include): Use target_cpu instead of host_cpu.
41848 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 41849
b977bf01 41850 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41851
f09771a1 418522006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41853
41854 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41855 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41856 field 'false' to 'exec_on_false'.
41857 (grub_script_create_cmdif): Renamed argument names to reflect above
41858 changes.
41859
41860 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41861
41862 * normal/script.c (grub_script_create_cmdif): Likewise.
41863
118f4fb3 418642006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41865
41866 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41867 top.
41868 (grub_hfsplus_btree_recptr): Likewise.
41869 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41870 FILEBLOCK both to pass a block number and store next block
41871 number.
41872 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41873 overflow file correctly. Specify errors appropriately, because
41874 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41875 grub_hfsplus_btree_recptr to get the pointer to a found key.
41876 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41877 is found.
41878
41879 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41880 linux.mod.
41881 (_linux_mod_SOURCES): New variable.
41882 (_linux_mod_CFLAGS): Likewise.
41883 (_linux_mod_LDFLAGS): Likewise.
41884 (linux_mod_SOURCES): Likewise.
41885 (linux_mod_CFLAGS): Likewise.
41886 (linux_mod_LDFLAGS): Likewise.
41887
41888 * DISTLIST: Added loader/i386/efi/linux.c,
41889 loader/i386/efi/linux_normal.c and
41890 include/grub/i386/efi/loader.h.
41891
41892 * loader/i386/efi/linux.c: New file.
41893 * loader/i386/efi/linux_normal.c: Likewise.
41894 * include/grub/i386/efi/loader.h: Likewise.
41895
89a7d726 418962006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41897
41898 * commands/blocklist.c: New file.
41899
41900 * DISTLIST: Added commands/blocklist.c.
41901
41902 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 41903 color for the background, and a darker color for the foreground.
89a7d726 41904 (grub_console_checkkey): Return READ_KEY.
41905 (grub_console_cls): Set the background to
41906 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41907
41908 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41909
41910 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41911 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41912
41913 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41914 prototype.
41915
41916 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41917 BG. The spec is wrong again.
41918
41919 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41920 prototype.
41921 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41922
41923 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41924 commands/blocklist.c.
41925 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 41926
89a7d726 41927 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41928 (blocklist_mod_SOURCES): New variable.
41929 (blocklist_mod_CFLAGS): Likewise.
41930 (blocklist_mod_LDFLAGS): Likewise.
41931
75c8f258 419322006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41933
41934 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41935 duplication.
41936 (lba_mode): Use %eax more intensively to reduce the code size.
41937
da2eb181 419382006-05-20 Marco Gerards <marco@gnu.org>
41939
41940 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41941
41942 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41943 for `menuentry'.
41944 (script): Accept leading newlines.
41945 (newlines): New rule to describe 0 or more newlines.
41946 (commands): Accept `command' with trailing newline. Fixed the
41947 order in which arguments were passed to `grub_script_add_cmd'.
41948 Accept commands separated by newlines.
41949 (function): Changed to accept newlines.
41950 (menuentry) Rewritten.
41951
41952 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41953 front of the list, instead of to the end.
41954
577b4050 419552006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41956
41957 * util/i386/pc/grub-install.in (bindir): New variable.
41958 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41959 Shaver <lbgwjl@gmail.com>.
41960
0d6e1189 419612006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41962
41963 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41964 grub/machine/linux.h
41965 * loader/i386/pc/linux.c: Likewise.
41966
41967 * include/grub/i386/pc/linux.h: Moved to ...
41968 * include/grub/i386/linux.h: ... here.
41969
41970 * include/grub/i386/linux.h (struct linux_kernel_params): New
41971 struct.
f19dbdb7 41972
31b86e9f 419732006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41974
41975 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41976 checking.
41977 (grub_video_vbe_blit_glyph): Likewise.
41978 (grub_video_vbe_blit_bitmap): Likewise.
41979 (grub_video_vbe_blit_render_target): Likewise.
41980
83b984de 419812006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
41982
41983 * configure.ac (--with-platform): Properly quote the square
41984 brackets.
41985
5f0413bd 419862006-05-08 Marco Gerards <marco@gnu.org>
41987
41988 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
41989 this...
41990 (kernel_elf_HEADERS): ...to this. Updated all users.
41991 (grubof_symlist.c): Renamed from this...
41992 (kernel_elf_symlist.c): ...to this. Updated all users.
41993 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41994 (grubof_SOURCES): Renamed from this...
41995 (kernel_elf_SOURCES): ...to this.
41996 (grubof_HEADERS): Renamed from this...
41997 (kernel_elf_HEADERS): ...to this.
41998 (grubof_CFLAGS): Renamed from this...
41999 (kernel_elf_CFLAGS): ...to this.
42000 (grubof_ASFLAGS): Renamed from this...
42001 (kernel_elf_ASFLAGS): ...to this.
42002 (grubof_LDFLAGS): Renamed from this...
42003 (kernel_elf_LDFLAGS): ...to this.
42004
42005 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
42006 this...
42007 (kernel_elf_HEADERS): ...to this. Updated all users.
42008 (grubof_symlist.c): Renamed from this...
42009 (kernel_elf_symlist.c): ...to this. Updated all users.
42010 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
42011 (grubof_SOURCES): Renamed from this...
42012 (kernel_elf_SOURCES): ...to this.
42013 (grubof_HEADERS): Renamed from this...
42014 (kernel_elf_HEADERS): ...to this.
42015 (grubof_CFLAGS): Renamed from this...
42016 (kernel_elf_CFLAGS): ...to this.
42017 (grubof_ASFLAGS): Renamed from this...
42018 (kernel_elf_ASFLAGS): ...to this.
42019 (grubof_LDFLAGS): Renamed from this...
42020 (kernel_elf_LDFLAGS): ...to this.
42021
42022 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
42023 `kernel.elf' instead of `grubof'.
42024
05568c2e 420252006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
42026
42027 Add --with-platform to configure. Use pkglibdir instead of
42028 pkgdatadir. This is reported by Roger Leigh.
42029
42030 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
42031 (host_vendor): Likewise.
42032 (host_os): Likewise.
42033 (pkgdatadir): Likewise.
42034 (platform): New variable.
42035 (pkglibdir): Likewise.
42036 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 42037
05568c2e 42038 * util/i386/pc/grub-install.in (datadir): Removed.
42039 (host_vendor): Likewise.
42040 (host_os): Likewise.
42041 (pkgdatadir): Likewise.
42042 (platform): New variable.
42043 (pkglibdir): Likewise.
42044 Use PKGLIBDIR instead of PKGDATADIR.
42045
42046 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
42047 instead of GRUB_DATADIR.
42048 (main): Likewise.
42049 * util/i386/pc/grub-mkimage.c (usage): Likewise.
42050 (main): Likewise.
42051 * util/i386/efi/grub-mkimage.c (usage): Likewise.
42052 (main): Likewise.
42053
42054 * configure.ac (--with-platform): New option.
42055 Use PLATFORM instead of HOST_VENDOR to specify a platform.
42056
42057 * Makefile.in: Include a makefile based on PLATFORM instead of
42058 HOST_VENDOR.
42059 (pkgdatadir): Not appended by the machine type.
42060 (pkglibdir): Appended by the machine type.
42061 (host_vendor): Removed.
42062 (platform): New variable.
42063 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
42064 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
42065 (uninstall): Likewise.
42066
4e93851c 420672006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
42068
42069 Use the environment context in the menu. Remove the commands
42070 "default" and "timeout", and use variables instead.
f19dbdb7 42071
4e93851c 42072 * normal/menu.c: Include grub/env.h.
42073 (print_entry): Cast TITLE to silence gcc.
42074 (get_timeout): New function.
42075 (set_timeout): Likewise.
42076 (get_entry_number): Likewise.
42077 (run_menu): Use a default entry, a fallback entry and a timeout
42078 in the environment variables "default", "fallback" and
42079 "timeout". Also, tweak the default entry if it is not within the
42080 current menu entries.
42081 (grub_menu_run): Use a fallback entry in the environment variable
42082 "fallback".
42083
42084 * normal/main.c (read_config_file): Do not initialize
42085 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
42086 NEWMENU->TIMEOUT.
42087 (grub_normal_execute): Use a data slot to store the menu.
42088
42089 * include/grub/normal.h (struct grub_menu): Removed default_entry,
42090 fallback_entry and timeout.
42091 (struct grub_menu_list): Removed.
42092 (grub_menu_list_t): Likewise.
42093 (struct grub_context): Likewise.
42094 (grub_context_t): Likewise.
42095 (grub_context_get): Likewise.
42096 (grub_context_get_current_menu): Likewise.
42097 (grub_context_push_menu): Likewise.
42098 (grub_context_pop_menu): Likewise.
42099 (grub_default_init): Likewise.
42100 (grub_default_fini): Likewise.
42101 (grub_timeout_init): Likewise.
42102 (grub_timeout_fini): Likewise.
42103
42104 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
42105 and timeout.mod.
42106 (normal_mod_SOURCES): Removed normal/context.c.
42107
42108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
42109 commands/default.c, commands/timeout.c and normal/context.c.
42110 (normal_mod_SOURCES): Removed normal/context.c.
42111
42112 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
42113 commands/timeout.c and normal/context.c.
42114 (normal_mod_SOURCES): Removed normal/context.c.
42115
42116 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
42117 commands/default.c, commands/timeout.c and normal/context.c.
42118 (normal_mod_SOURCES): Removed normal/context.c.
42119
42120 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
42121 timeout.mod.
42122 (default_mod_SOURCES): Removed.
42123 (default_mod_CFLAGS): Likewise.
42124 (default_mod_LDFLAGS): Likewise.
42125 (timeout_mod_SOURCES): Removed.
42126 (timeout_mod_CFLAGS): Likewise.
42127 (timeout_mod_LDFLAGS): Likewise.
42128
42129 * DISTLIST: Removed commands/default.c, commands/timeout.c and
42130 normal/context.c.
42131
42132 * commands/default.c: Removed.
42133 * commands/timeout.c: Likewise.
42134 * normal/context.c: Likewise.
42135
1eb9cc1d 421362006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
42137
42138 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
42139
385bd9c1 421402006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
42141
42142 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
42143 "next" to "prev" for readability.
42144 (struct grub_env_sorted_var): New struct.
42145 (grub_env_context): Renamed to ...
42146 (initial_context): ... this.
42147 (grub_env_var_context): Renamed to ...
42148 (current_context): ... this.
42149 (grub_env_find): Look only at CURRENT_CONTEXT.
42150 (grub_env_context_open): Rewritten to copy exported variables from
42151 previous context.
42152 (grub_env_context_close): Rewritten according to the new
42153 scheme. Also, add an assertion to prevent the initial context from
42154 removed.
42155 (grub_env_insert): Removed the code for the sorted list.
42156 (grub_env_remove): Likewise.
42157 (grub_env_export): Simply mark the variable with
42158 GRUB_ENV_VAR_GLOBAL.
42159 (grub_env_set): A cosmetic change for naming consistency.
42160 (grub_env_get): Likewise.
42161 (grub_env_unset): Likewise.
42162 (grub_env_iterate): Rewritten to sort variables within this
42163 function.
42164 (grub_register_variable_hook): Fixed for naming consistency. Call
42165 grub_env_find again, only if NAME is not found at the first time.
42166 (mangle_data_slot_name): New function.
42167 (grub_env_set_data_slot): Likewise.
42168 (grub_env_get_data_slot): Likewise.
42169 (grub_env_unset_data_slot): Likewise.
42170
42171 * include/grub/env.h (grub_env_var_type): New enum.
42172 (GRUB_ENV_VAR_LOCAL): New constant.
42173 (GRUB_ENV_VAR_GLOBAL): Likewise.
42174 (GRUB_ENV_VAR_DATA): Likewise.
42175 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
42176 "type".
42177 (grub_env_set): Replace VAR with NAME for consistency.
42178 (grub_register_variable_hook): Likewise.
42179 (grub_env_export): Specify the name of the argument.
42180 (grub_env_set_data_slot): New prototype.
42181 (grub_env_get_data_slot): Likewise.
42182 (grub_env_unset_data_slot): Likewise.
42183
7f362539 421842006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42185
42186 Extend the loader so that GRUB can accept a loader which comes
42187 back to GRUB when a loaded image exits. Also, this change adds
42188 support for a chainloader on EFI.
f19dbdb7 42189
7f362539 42190 * term/efi/console.c: Include grub/misc.h.
42191 (grub_console_checkkey): Display a scan code on the top for
42192 debugging. This will be removed once the EFI port gets stable.
42193 Correct the scan code mapping.
42194
42195 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
42196 allocate memory from larger regions, in order to reduce the number
42197 of allocated regions. Otherwise, the MacOSX loader panics.
42198 (filter_memory_map): Avoid less than 1MB for compatibility with
42199 other loaders.
42200 (add_memory_regions): Allocate from the tail of a region, if
42201 possible, to avoid allocating a region near to 1MB, for the MacOSX
42202 loader.
42203
42204 * kern/efi/init.c (grub_efi_set_prefix): Specify
42205 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
42206
42207 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
42208 argument IMAGE_HANDLE and specify it to get a loaded image.
42209 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
42210 grub_efi_get_loaded_image.
fe6b695a 42211 (grub_efi_get_filename): Divide the length by the size of
7f362539 42212 grub_efi_char16_t.
42213 (grub_efi_get_device_path): New function.
42214 (grub_efi_print_device_path): Print End Device Path nodes. Divide
42215 the length by the size of grub_efi_char16_t for a file path device
42216 path node.
42217
42218 * kern/loader.c (grub_loader_noreturn): New variable.
42219 (grub_loader_set): Accept a new argument NORETURN. Set
42220 GRUB_LOADER_NORETURN to NORETURN.
42221 All callers changed.
42222 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
42223 grub_machine_fini.
42224
42225 * include/grub/efi/efi.h (grub_efi_get_device_path): New
42226 prototype.
42227 (grub_efi_get_loaded_image): Take an argument to specify an image
42228 handle.
42229
42230 * include/grub/loader.h (grub_loader_set): Added one more argument
42231 NORETURN.
42232
42233 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
42234 instead of grub_efi_open_protocol.
42235 (grub_efidisk_get_device_name): Likewise.
42236 (grub_efidisk_close): Print a newline.
42237 (grub_efidisk_get_device_handle): Fixed to use
42238 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
42239 GRUB_EFI_DEVICE_PATH_TYPE.
42240
42241 * disk/efi/efidisk.c (device_path_guid): Moved to ...
42242 * kern/efi/efi.c (device_path_guid): ... here.
42243
42244 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
42245 chain.mod.
42246 (kernel_mod_HEADERS): Added efi/disk.h.
42247 (_chain_mod_SOURCES): New variable.
42248 (_chain_mod_CFLAGS): Likewise.
42249 (_chain_mod_LDFLAGS): Likewise.
42250 (chain_mod_SOURCES): Likewise.
42251 (chain_mod_CFLAGS): Likewise.
42252 (chain_mod_LDFLAGS): Likewise.
42253
42254 * DISTLIST: Added include/grub/efi/chainloader.h,
42255 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
42256
42257 * include/grub/efi/chainloader.h: New file.
42258 * loader/efi/chainloader.c: Likewise.
42259 * loader/efi/chainloader_normal.c: Likewise.
42260
c0111d6e 422612006-04-30 Marco Gerards <marco@gnu.org>
42262
42263 * commands/configfile.c (grub_cmd_source): New function.
42264 (GRUB_MOD_INIT): Register the commands `source' and `.'.
42265 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
42266
df5341da 422672006-04-30 Marco Gerards <marco@gnu.org>
42268
42269 * normal/execute.c (grub_script_execute_cmd): Change the return
42270 type to `grub_err_t'. Correctly return the error.
42271 (grub_script_execute_cmdline): In case a command line is not a
42272 command or a function, try to interpret it as an assignment.
42273
f85934bd 422742006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42275
42276 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
42277 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
42278 skip a node whose name is obviously invalid as UTF-16,
42279 i.e. contains a NUL character. Stop the iteration when the last
42280 directory entry is found. Instead of using the return value of
42281 grub_hfsplus_btree_iterate_node, store the value in RET and use
42282 it, because the iterator can be stopped by the last directory
42283 entry.
42284
8f8a2cf8 422852006-04-30 Marco Gerards <marco@gnu.org>
42286
42287 * include/grub/env.h (grub_env_export): New prototype. Reported
42288 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
42289
a27e84ce 422902006-04-30 Marco Gerards <marco@gnu.org>
42291
42292 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
42293 size of the extents in a catalog file record.
42294
eaef0553 422952006-04-29 Marco Gerards <marco@gnu.org>
42296
42297 * commands/configfile.c (grub_cmd_configfile): Execute the
42298 configfile within its own context.
42299
42300 * include/grub/env.h (grub_env_context_open): New prototype.
42301 (grub_env_context_close): Likewise.
42302
42303 * kern/env.c (grub_env): Removed.
42304 (grub_env_sorted): Likewise.
42305 (grub_env_context): New variable.
42306 (grub_env_var_context): Likewise.
42307 (grub_env_find): Search both the active context and the global
42308 context.
42309 (grub_env_context_open): New function.
42310 (grub_env_context_close): Likewise.
42311 (grub_env_insert): Likewise.
42312 (grub_env_remove): Likewise.
42313 (grub_env_export): Likewise.
42314 (grub_env_set): Changed to use helper functions to avoid code
42315 duplication.
42316 (grub_env_iterate): Rewritten so both the current context and the
42317 global context are being used.
42318
42319 * normal/command.c (export_command): New function.
42320 (grub_command_init): Register the `export' function.
42321
7b455f4d 423222006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
42323
42324 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
42325 explicitly to suppress gcc's warnings.
42326 * fs/fat.c (grub_fat_find_dir): Likewise.
42327 (grub_fat_label): Likewise.
42328 * fs/xfs.c (grub_xfs_read_inode): Likewise.
42329 (grub_xfs_mount): Likewise.
42330 (grub_xfs_label): Likewise.
42331 * fs/affs.c (grub_affs_mount): Likewise.
42332 (grub_affs_label): Likewise.
42333 (grub_affs_iterate_dir): Likewise.
42334 * fs/sfs.c (grub_sfs_mount): Likewise.
42335 (grub_sfs_iterate_dir): Likewise.
42336 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
42337 * fs/hfs.c (grub_hfs_mount): Likewise.
42338 (grub_hfs_cmp_catkeys): Likewise.
42339 (grub_hfs_find_dir): Likewise.
42340 (grub_hfs_dir): Likewise.
42341 (grub_hfs_label): Likewise.
42342 * fs/jfs.c (grub_jfs_mount): Likewise.
42343 (grub_jfs_opendir): Likewise.
42344 (grub_jfs_getent): Likewise.
42345 (grub_jfs_lookup_symlink): Likewise.
42346 (grub_jfs_label): Likewise.
42347 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
42348 (grub_hfsplus_iterate_dir): Likewise.
42349 (grub_hfsplus_btree_iterate_node): Made static.
42350
42351 * util/grub-emu.c (prefix): New variable.
42352 (grub_machine_set_prefix): New function.
42353 (main): Do not set the environment variable "prefix" here. Only
42354 set PREFIX, which is used later by grub_machine_set_prefix.
42355
42356 * include/grub/video.h: Do not include grub/symbol.h.
42357 (grub_video_register): Not exported. This symbol is not defined in
42358 the kernel.
42359 (grub_video_unregister): Likewise.
42360 (grub_video_iterate): Likewise.
42361 (grub_video_setup): Likewise.
42362 (grub_video_restore): Likewise.
42363 (grub_video_get_info): Likewise.
42364 (grub_video_get_blit_format): Likewise.
42365 (grub_video_set_palette): Likewise.
42366 (grub_video_get_palette): Likewise.
42367 (grub_video_set_viewport): Likewise.
42368 (grub_video_get_viewport): Likewise.
42369 (grub_video_map_color): Likewise.
42370 (grub_video_map_rgb): Likewise.
42371 (grub_video_map_rgba): Likewise.
42372 (grub_video_fill_rect): Likewise.
42373 (grub_video_blit_glyph): Likewise.
42374 (grub_video_blit_bitmap): Likewise.
42375 (grub_video_blit_render_target): Likewise.
42376 (grub_video_scroll): Likewise.
42377 (grub_video_swap_buffers): Likewise.
42378 (grub_video_create_render_target): Likewise.
42379 (grub_video_delete_render_target): Likewise.
42380 (grub_video_set_active_render_target): Likewise.
42381
42382 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
42383 Undefined.
42384 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
42385
42386 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
42387 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42388 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42389 instead of $(srcdir)/genkernsyms.sh.
42390
42391 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
42392 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42393 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42394 instead of $(srcdir)/genkernsyms.sh.
42395
42396 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
42397 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42398 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42399 instead of $(srcdir)/genkernsyms.sh.
42400
42401 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
42402 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42403 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42404 instead of $(srcdir)/genkernsyms.sh.
42405
42406 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
42407 genkernsyms.sh.
42408
42409 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
42410 genkernsyms.sh.
42411 (gensymlist.sh): New target.
42412 (genkernsyms.sh): Likewise.
42413
42414 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
42415 genkernsyms.sh.in and gensymlist.sh.in.
42416
42417 * genkernsyms.sh: Removed.
42418 * gensymlist.sh: Likewise.
f19dbdb7 42419
7b455f4d 42420 * genkernsyms.sh.in: New file.
42421 * gensymlist.sh.in: Likewise.
42422
1885bb27 424232006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42424
42425 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
42426 clobber "prefix", since we may have already set it manually.
42427
71538dff 424282006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42429
42430 * kern/misc.c (abort): New alias for grub_abort.
42431
2965c7cc 424322006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
42433
42434 A new machine-specific function "grub_machine_set_prefix" is
42435 defined. This is called after loading modules, so that a prefix
42436 initialization can use modules. Also, this change adds an
42437 intensive debugging feature for the memory manager via the
42438 configure option "--enable-mm-debug".
f19dbdb7 42439
2965c7cc 42440 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
42441 PART.LEN.
42442
42443 * kern/sparc64/ieee1275/init.c (abort): Removed.
42444 (grub_stop): Likewise.
42445 (grub_exit): New function.
42446 (grub_set_prefix): Renamed to ...
42447 (grub_machine_set_prefix): ... this.
42448 (grub_machine_init): Do not call grub_set_prefix.
42449
42450 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
42451 (grub_machine_set_prefix): ... this.
42452 (grub_machine_init): Do not call grub_set_prefix.
42453
42454 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
42455 (grub_machine_init): Do not set the prefix here.
42456
42457 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
42458
42459 * kern/efi/init.c: Include grub/mm.h.
42460 (grub_efi_set_prefix): New function.
42461
42462 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
42463 (grub_efi_get_filename): New function.
42464 (grub_print_device_path): Renamed to ...
42465 (grub_efi_print_device_path): ... this.
42466
42467 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
42468 [MM_DEBUG] (grub_realloc): Likewise.
42469 [MM_DEBUG] (grub_free): Likewise.
42470 [MM_DEBUG] (grub_memalign): Likewise.
42471 [MM_DEBUG] (grub_mm_debug): New variable.
42472 [MM_DEBUG] (grub_debug_malloc): New function.
42473 [MM_DEBUG] (grub_debug_free): New function.
42474 [MM_DEBUG] (grub_debug_realloc): New function.
42475 [MM_DEBUG] (grub_debug_memalign): New function.
42476
42477 * kern/misc.c (grub_abort): Print a newline to distinguish
42478 the message.
42479
42480 * kern/main.c (grub_main): Call grub_machine_set_prefix and
42481 grub_set_root_dev after loading modules. This is necessary when
42482 setting a prefix depends on modules.
42483
42484 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
42485 (grub_efi_print_device_path): ... this.
42486 (grub_efi_get_filename): New prototype.
42487 (grub_efi_set_prefix): Likewise.
42488
42489 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
42490 and grub/disk.h.
42491 (grub_efidisk_get_device_handle): New prototype.
42492 (grub_efidisk_get_device_name): Likewise.
42493
42494 * include/grub/mm.h: Include config.h.
42495 (MM_DEBUG): Removed.
42496 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
42497 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
42498 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
42499 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
42500 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
42501 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
42502 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
42503 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
42504 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
42505
42506 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
42507
42508 * disk/efi/efidisk.c: Include grub/partition.h.
42509 (iterate_child_devices): New function.
42510 (add_device): First, compare only last device path nodes, so that
42511 devices are sorted by the types.
42512 (grub_efidisk_get_device_handle): New function.
42513 (grub_efidisk_get_device_name): Likewise.
42514
42515 * configure.ac (--enable-mm-debug): New option to enable the
42516 memory manager debugging feature. This makes the binary much
42517 bigger, so is disabled by default.
42518
9cacaa17 425192006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
42520
42521 Use grub_abort instead of grub_stop, and grub_exit must be
42522 define in each architecture now. Also, this change adds support
42523 for EFI disks.
f19dbdb7 42524
9cacaa17 42525 * util/i386/pc/grub-probefs.c: Include grub/term.h.
42526 (grub_getkey): New function.
42527 (grub_term_get_current): Likewise.
42528
42529 * util/i386/pc/grub-setup.c: Include grub/term.h.
42530 (grub_getkey): New function.
42531 (grub_term_get_current): Likewise.
42532
42533 * util/misc.c (grub_stop): Renamed to ...
42534 (grub_exit): ... this.
42535
42536 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
42537 (grub_exit): ... this.
42538 (grub_machine_init): Use grub_abort instead of abort.
42539 (grub_stop): Removed.
42540
42541 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
42542 abort.
42543
42544 * kern/i386/pc/startup.S (grub_exit): New function.
42545 (cold_reboot): New label.
42546
42547 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
42548 (grub_efi_init): Call grub_efidisk_init.
42549 (grub_efi_fini): Call grub_efidisk_fini.
42550
42551 * kern/efi/efi.c: Include grub/mm.h.
42552 (grub_efi_console_control_guid): Renamed to ...
42553 (console_control_guid): ... this.
42554 (grub_efi_loaded_image_guid): Renamed to ...
42555 (loaded_image_guid): ... this.
42556 (grub_efi_locate_handle): New function.
42557 (grub_efi_open_protocol): Likewise.
42558 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
42559 GRUB_EFI_CONSOLE_CONTROL_GUID.
42560 (grub_efi_exit): Removed.
42561 (grub_stop): Likewise.
42562 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
42563 (grub_exit): New function.
42564 (grub_print_device_path): Likewise.
42565
42566 * kern/rescue.c (grub_rescue_cmd_exit): New function.
42567 (grub_enter_rescue_mode): Register "exit".
42568
42569 * kern/misc.c (grub_real_dprintf): A cosmetic change.
42570 (grub_abort): New function.
42571
42572 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
42573
42574 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
42575
42576 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
42577
42578 * include/grub/efi/efi.h (grub_efi_exit): Removed.
42579 (grub_print_device_path): New prototype.
42580 (grub_efi_locate_handle): Likewise.
42581 (grub_efi_open_protocol): Likewise.
42582
42583 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
42584 * disk/efi/efidisk.c: Likewise.
42585
42586 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
42587
42588 * include/grub/efi/console_control.h
42589 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
42590
42591 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
42592 last 8 bytes as an array.
42593 (GRUB_EFI_DISK_IO_GUID): New macro.
42594 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
42595 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
42596 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
42597 grub_uint8_t.
42598 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
42599 (struct grub_efi_device_path): Rename the member "sub_type" to
42600 "subtype".
42601 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
42602 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
42603 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
42604 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
42605 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
42606 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
42607 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
42608 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
42609 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
42610 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
42611 (struct grub_efi_pci_device_path): New structure.
42612 (grub_efi_pci_device_path_t): New type.
42613 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
42614 (struct grub_efi_pccard_device_path): New structure.
42615 (grub_efi_pccard_device_path_t): New type.
42616 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
42617 (struct grub_efi_memory_mapped_device_path): New structure.
42618 (grub_efi_memory_mapped_device_path_t): New type.
42619 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
42620 (struct grub_efi_vendor_device_path): New structure.
42621 (grub_efi_vendor_device_path_t): New type.
42622 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
42623 (struct grub_efi_controller_device_path): New structure.
42624 (grub_efi_controller_device_path_t): New type.
42625 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
42626 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
42627 (struct grub_efi_acpi_device_path): New structure.
42628 (grub_efi_acpi_device_path_t): New type.
42629 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
42630 (struct grub_efi_expanded_acpi_device_path): New structure.
42631 (grub_efi_expanded_acpi_device_path_t): New type.
42632 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
42633 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
42634 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
42635 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
42636 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
42637 (struct grub_efi_atapi_device_path): New structure.
42638 (grub_efi_atapi_device_path_t): New type.
42639 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
42640 (struct grub_efi_fibre_channel_device_path): New structure.
42641 (grub_efi_fibre_channel_device_path_t): New type.
42642 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
42643 (struct grub_efi_1394_device_path): New structure.
42644 (grub_efi_1394_device_path_t): New type.
42645 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
42646 (struct grub_efi_usb_device_path): New structure.
42647 (grub_efi_usb_device_path_t): New type.
42648 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
42649 (struct grub_efi_usb_class_device_path): New structure.
42650 (grub_efi_usb_class_device_path_t): New type.
42651 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
42652 (struct grub_efi_i2o_device_path): New structure.
42653 (grub_efi_i2o_device_path_t): New type.
42654 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
42655 (struct grub_efi_mac_address_device_path): New structure.
42656 (grub_efi_mac_address_device_path_t): New type.
42657 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
42658 (struct grub_efi_ipv4_device_path): New structure.
42659 (grub_efi_ipv4_device_path_t): New type.
42660 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
42661 (struct grub_efi_ipv6_device_path): New structure.
42662 (grub_efi_ipv6_device_path_t): New type.
42663 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
42664 (struct grub_efi_infiniband_device_path): New structure.
42665 (grub_efi_infiniband_device_path_t): New type.
42666 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
42667 (struct grub_efi_uart_device_path): New structure.
42668 (grub_efi_uart_device_path_t): New type.
42669 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
42670 (struct grub_efi_vendor_messaging_device_path): New structure.
42671 (grub_efi_vendor_messaging_device_path_t): New type.
42672 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
42673 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
42674 (struct grub_efi_hard_drive_device_path): New structure.
42675 (grub_efi_hard_drive_device_path_t): New type.
42676 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
42677 (struct grub_efi_cdrom_device_path): New structure.
42678 (grub_efi_cdrom_device_path_t): New type.
42679 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
42680 (struct grub_efi_vendor_media_device_path): New structure.
42681 (grub_efi_vendor_media_device_path_t): New type.
42682 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
42683 (struct grub_efi_file_path_device_path): New structure.
42684 (grub_efi_file_path_device_path_t): New type.
42685 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
42686 (struct grub_efi_protocol_device_path): New structure.
42687 (grub_efi_protocol_device_path_t): New type.
42688 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
42689 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
42690 (struct grub_efi_bios_device_path): New structure.
42691 (grub_efi_bios_device_path_t): New type.
42692 (struct grub_efi_disk_io): New structure.
42693 (grub_efi_disk_io_t): New type.
42694 (struct grub_efi_block_io_media): New structure.
42695 (grub_efi_block_io_media_t): New type.
42696 (struct grub_efi_block_io): New structure.
42697 (grub_efi_block_io_t): New type.
42698
42699 * include/grub/misc.h (grub_stop): Removed.
42700 (grub_exit): New prototype.
42701 (grub_abort): Likewise.
42702
42703 * include/grub/disk.h (enum grub_disk_dev_id): Added
42704 GRUB_DISK_DEVICE_EFIDISK_ID.
42705
42706 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
42707 disk/efi/efidisk.c.
42708 (kernel_syms.lst): Remove the target if an error occurs.
42709
49986a9f 427102006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
42711
42712 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
42713 as it was simply too buggy.
42714
970d3b8a 427152006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
42716
42717 * kern/misc.c (grub_lltoa): New function.
42718 (grub_vsprintf): Added support for the long long suffix,
42719 i.e. "ll".
42720
ff04ec24 427212006-04-20 Hollis Blanchard <hollis@penguinppc.org>
42722
42723 * Makefile.in (LDFLAGS): Add variable.
42724 (LD): Remove variable.
42725 * configure.ac: Add -m32 to LDFLAGS.
42726 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
42727 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
42728 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
42729 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
42730 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
42731 variables.
42732 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
42733 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
42734 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
42735
37e5e1a4 427362006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
42737
42738 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
42739 length for unknown glyph.
42740
c352d8dd 427412006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42742
2eab1c0d 42743 Add support for pre-loaded modules into the EFI port.
f19dbdb7 42744
2eab1c0d 42745 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
42746 completely. Accept one more argument DIR. The caller has changed.
42747
42748 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
42749
42750 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
42751 (grub_efi_loaded_image_guid): New variable.
42752 (grub_efi_get_loaded_image): New function.
42753 (grub_arch_modules_addr): Likewise.
42754
42755 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
42756 prototype.
42757
42758 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
42759 (struct grub_efi_loaded_image): New structure.
42760 (grub_efi_loaded_image_t): New type.
42761
427622006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42763
c352d8dd 42764 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
42765 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
42766 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
42767
6d01d6b4 427682006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
42769
42770 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
42771
976a4ea0 427722006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
42773
42774 * DISTLIST: Added include/grub/efi/console.h,
42775 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
42776 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42777
42778 * include/grub/efi/console.h: New file.
42779 * include/grub/efi/time.h: Likewise.
42780 * include/grub/i386/efi/kernel.h: Likewise.
42781 * kern/efi/init.c: Likewise.
42782 * kern/efi/mm.c: Likewise.
42783 * term/efi/console.c: Likewise.
f19dbdb7 42784
976a4ea0 42785 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
42786 (grub_stop): Removed.
42787 (grub_get_rtc): Likewise.
42788 (grub_machine_init): Simply call grub_efi_init.
42789 (grub_machine_fini): Call grub_efi_fini.
42790
42791 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
42792 (grub_efi_output_string): Removed.
42793 (grub_efi_stall): New function.
42794 (grub_stop): Likewise.
42795 (grub_get_rtc): Likewise.
42796
42797 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
42798 (grub_efi_stall): New prototype.
42799 (grub_efi_allocate_pages): Likewise.
42800 (grub_efi_free_pages): Likewise.
42801 (grub_efi_get_memory_map): Likewise.
42802 (grub_efi_mm_init): Likewise.
42803 (grub_efi_mm_fini): Likewise.
42804 (grub_efi_init): Likewise.
42805 (grub_efi_fini): Likewise.
42806
42807 * include/grub/i386/efi/time.h: Do not include
42808 grub/symbol.h. Include grub/efi/time.h.
42809 (GRUB_TICKS_PER_SECOND): Removed.
42810 (grub_get_rtc): Likewise.
42811
42812 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
42813 Added padding. The EFI spec is buggy.
42814 (GRUB_EFI_BLACK): New macro.
42815 (GRUB_EFI_BLUE): Likewise.
42816 (GRUB_EFI_GREEN): Likewise.
42817 (GRUB_EFI_CYAN): Likewise.
42818 (GRUB_EFI_RED): Likewise.
42819 (GRUB_EFI_MAGENTA): Likewise.
42820 (GRUB_EFI_BROWN): Likewise.
42821 (GRUB_EFI_LIGHTGRAY): Likewise.
42822 (GRUB_EFI_BRIGHT): Likewise.
42823 (GRUB_EFI_DARKGRAY): Likewise.
42824 (GRUB_EFI_LIGHTBLUE): Likewise.
42825 (GRUB_EFI_LIGHTGREEN): Likewise.
42826 (GRUB_EFI_LIGHTCYAN): Likewise.
42827 (GRUB_EFI_LIGHTRED): Likewise.
42828 (GRUB_EFI_LIGHTMAGENTA): Likewise.
42829 (GRUB_EFI_YELLOW): Likewise.
42830 (GRUB_EFI_WHITE): Likewise.
42831 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
42832 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
42833 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
42834 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42835 (GRUB_EFI_BACKGROUND_RED): Likewise.
42836 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42837 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42838 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42839 (GRUB_EFI_TEXT_ATTR): Likewise.
42840
42841 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42842 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42843 (kernel_mod_HEADERS): Added efi/time.h.
42844
83709125 428452006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42846
42847 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42848 include/grub/efi/api.h, include/grub/efi/console_control.h,
42849 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42850 include/grub/i386/efi/time.h, kern/efi/efi.c,
42851 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42852 and util/i386/efi/grub-mkimage.c.
42853
42854 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42855
42856 * genmk.rb (PModule#rule): Do not export symbols if
42857 #{prefix}_EXPORTS is set to "no".
42858
42859 * conf/i386-efi.mk: New file.
42860 * conf/i386-efi.rmk: Likewise.
42861 * include/grub/efi/api.h: Likewise.
42862 * include/grub/efi/console_control.h: Likewise.
42863 * include/grub/efi/efi.h: Likewise.
42864 * include/grub/efi/pe32.h: Likewise.
42865 * include/grub/i386/efi/time.h: Likewise.
42866 * kern/efi/efi.c: Likewise.
42867 * kern/i386/efi/init.c: Likewise.
42868 * kern/i386/efi/startup.S: Likewise.
42869 * util/i386/efi/grub-mkimage.c: Likewise.
42870
428712006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 42872
42873 * include/grub/script.h: Include <grub/parser.h> and
42874 "grub_script.tab.h".
42875 (struct grub_lexer_param): New struct.
42876 (struct grub_parser_param): Likewise.
42877 (grub_script_create_arglist): Pass the state in an argument.
42878 (grub_script_add_arglist): Likewise.
42879 (grub_script_create_cmdline): Likewise.
42880 (grub_script_create_cmdblock): Likewise.
42881 (grub_script_create_cmdif): Likewise.
42882 (grub_script_create_cmdmenu): Likewise.
42883 (grub_script_add_cmd): Likewise.
42884 (grub_script_arg_add): Likewise.
42885 (grub_script_lexer_ref): Likewise.
42886 (grub_script_lexer_deref): Likewise.
42887 (grub_script_lexer_record_start): Likewise.
42888 (grub_script_lexer_record_stop): Likewise.
42889 (grub_script_mem_record): Likewise.
42890 (grub_script_mem_record_stop): Likewise.
42891 (grub_script_malloc): Likewise.
42892 (grub_script_yylex): Likewise.
42893 (grub_script_yyparse): Likewise.
42894 (grub_script_yyerror): Likewise.
42895 (grub_script_yylex): Likewise.
42896 (grub_script_lexer_init): Return the state.
42897
42898 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42899 (grub_script_lexer_done): Likewise.
42900 (grub_script_lexer_getline): Likewise.
42901 (grub_script_lexer_refs): Likewise.
42902 (script): Likewise.
42903 (newscript): Likewise.
42904 (record): Likewise.
42905 (recording): Likewise.
42906 (recordpos): Likewise.
42907 (recordlen): Likewise.
42908 (grub_script_lexer_init): Return the state instead of setting
42909 global variables.
42910 (grub_script_lexer_ref): Use the newly added argument for state
42911 instead of globals.
42912 (grub_script_lexer_deref): Likewise.
42913 (grub_script_lexer_record_start): Likewise.
42914 (grub_script_lexer_record_stop): Likewise.
42915 (recordchar): Likewise.
42916 (nextchar): Likewise.
42917 (grub_script_yylex2): Likewise.
42918 (grub_script_yylex): Likewise.
42919 (grub_script_yyerror): Likewise.
42920
42921 * normal/parser.y (func_mem): Removed variable.
42922 (menu_entry): Likewise.
42923 (err): Likewise.
42924 (%lex-param): New parser option.
42925 (%parse-param): Likewise.
42926 (script): Always return the AST.
42927 (argument): Pass the state around.
42928 (arguments): Likewise.
42929 (grubcmd): Likewise.
42930 (commands): Likewise.
42931 (function): Likewise.
42932 (menuentry): Likewise.
42933 (if_statement): Likewise.
42934 (if): Likewise.
42935
42936 * normal/script.c (grub_script_memused): Removed variable.
42937 (grub_script_parsed): Likewise.
42938 (grub_script_malloc): Added a state argument. Use that instead of
42939 global variables.
42940 (grub_script_mem_record): Likewise.
42941 (grub_script_mem_record_stop): Likewise.
42942 (grub_script_arg_add): Likewise.
42943 (grub_script_add_arglist): Likewise.
42944 (grub_script_create_cmdline): Likewise.
42945 (grub_script_create_cmdif): Likewise.
42946 (grub_script_create_cmdmenu): Likewise.
42947 (grub_script_add_cmd): Likewise.
42948 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 42949
e2a8c904 429502006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 42951
42952 * normal/command.c (grub_command_init): Remove the title command.
42953
42954 * normal/lexer.c (grub_script_yylex): Renamed from this...
42955 (grub_script_yylex2): ... to this.
42956 (grub_script_yylex): New function. Temporary
42957 introduced to filter some tokens.
42958 (grub_script_yyerror): Print a newline.
42959
42960 * normal/main.c (read_config_file): Output information about the
42961 lines that contain errors. Wait for a key after all lines have
42962 been processed. Don't return an empty menu.
42963
42964 * normal/parser.y (func_mem): Don't initialize.
42965 (menu_entry): Likewise.
42966 (err): New variable.
42967 (script): Don't return anything when an error was encountered.
42968 (ws, returns): Removed rules.
42969 (argument): Disabled concatenated variable support.
42970 (arguments): Remove explicit separators.
42971 (grubcmd): Likewise.
42972 (function): Likewise.
42973 (menuentry): Likewise.
42974 (if): Likewise.
42975 (commands): Likewise. Add error handling.
42976
42977 * normal/script.c (grub_script_create_cmdline): If
42978 `grub_script_parsed' is 0, assume the parser encountered an error.
42979
c9a86192 429802006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
42981
42982 * configure.ac: Add support for EFI. Fix the typo
42983 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
42984
70f3b243 429852006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42986
42987 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
42988 foreign multibyte characters should be shown correctly.
42989
65f201ad 429902006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42991
42992 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
42993 calculation.
42994 (read_config_file): Made it to close file before returning.
42995
b4b93674 429962006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
42997
42998 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
42999 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
43000 video/i386/pc/vbefill.c.
43001
43002 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
43003 video/i386/pc/vbefill.c.
43004
43005 * include/grub/video.h (grub_video_blit_format): New enum.
43006 (grub_video_mode_info): Added new member blit_format.
43007 (grub_video_get_blit_format): New function prototype.
43008
43009 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
43010 function prototype.
43011 (grub_video_vbe_map_rgb): Likewise.
43012 (grub_video_vbe_unmap_color): Likewise.
43013
43014 * include/grub/i386/pc/vbeblit.h: New file.
43015
43016 * include/grub/i386/pc/vbefill.h: New file.
43017
43018 * video/video.c (grub_video_get_blit_format): New function.
43019 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
43020 (grub_video_vbe_map_rgb): Likewise.
43021 (grub_video_vbe_unmap_color): Likewise.
43022
43023 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
43024 optimized fills.
43025 (grub_video_vbe_blit_render_target): Changed to use more optimized
43026 blits.
43027 (grub_video_vbe_setup): Added detection for optimized settings.
43028 (grub_video_vbe_create_render_target): Likewise.
43029
43030 * video/i386/pc/vbeblit.c: New file.
43031
43032 * video/i386/pc/vbefill.c: New file.
43033
c2379b9c 430342006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
43035
43036 * font/manager.c (grub_font_get_glyph): Removed font fixup from
43037 here...
43038
43039 * util/unifont2pff.rb: ... and moved it to here. Improved argument
43040 parsing to support both hex and dec ranges. If filename was missing
43041 show usage information.
43042
bd0d7896 430432006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
43044
43045 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
43046 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
43047
43048 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
43049 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
43050 (video_mod_SOURCES): Added.
43051 (video_mod_CFLAGS): Likewise.
43052 (video_mod_LDFLAGS): Likewise.
43053 (gfxterm_mod_SOURCES): Likewise.
43054 (gfxterm_mod_CFLAGS): Likewise.
43055 (gfxterm_mod_LDFLAGS): Likewise.
43056 (videotest_mod_SOURCES): Likewise.
43057 (videotest_mod_CFLAGS): Likewise.
43058 (videotest_mod_LDFLAGS): Likewise.
43059 (vesafb_mod_SOURCES): Removed.
43060 (vesafb_mod_CFLAGS): Likewise.
43061 (vesafb_mod_LDFLAGS): Likewise.
43062 (vga_mod_SOURCES): Likewise.
43063 (vga_mod_CFLAGS): Likewise.
43064 (vga_mod_LDFLAGS): Likewise.
43065
43066 * commands/videotest.c: New file.
43067
43068 * font/manager.c (fill_with_default_glyph): Modified to use
43069 grub_font_glyph.
43070 (grub_font_get_glyph): Likewise.
43071 (fontmanager): Renamed from this...
43072 (font_manager): ... to this.
43073
43074 * include/grub/font.h (grub_font_glyph): Added new structure.
43075 (grub_font_get_glyph): Modified to use grub_font_glyph.
43076
43077 * include/grub/misc.h (grub_abs): Added as inline function.
43078
43079 * include/grub/video.h: New file.
43080
43081 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
43082 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
43083 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
43084 (grub_vbe_get_controller_info): Renamed from this...
43085 (grub_vbe_bios_get_controller_info): ... to this.
43086 (grub_vbe_get_mode_info): Renamed from this...
43087 (grub_vbe_bios_get_mode_info): ... to this.
43088 (grub_vbe_set_mode): Renamed from this...
43089 (grub_vbe_bios_set_mode): ... to this.
43090 (grub_vbe_get_mode): Renamed from this...
43091 (grub_vbe_bios_get_mode): ... to this.
43092 (grub_vbe_set_memory_window): Renamed from this...
43093 (grub_vbe_bios_set_memory_window): ... to this.
43094 (grub_vbe_get_memory_window): Renamed from this...
43095 (grub_vbe_bios_get_memory_window): ... to this.
43096 (grub_vbe_set_scanline_length): Renamed from this...
43097 (grub_vbe_set_scanline_length): ... to this.
43098 (grub_vbe_get_scanline_length): Renamed from this...
43099 (grub_vbe_bios_get_scanline_length): ... to this.
43100 (grub_vbe_set_display_start): Renamed from this...
43101 (grub_vbe_bios_set_display_start): ... to this.
43102 (grub_vbe_get_display_start): Renamed from this...
43103 (grub_vbe_bios_get_display_start): ... to this.
43104 (grub_vbe_set_palette_data): Renamed from this...
43105 (grub_vbe_bios_set_palette_data): ... to this.
43106 (grub_vbe_set_pixel_rgb): Removed.
43107 (grub_vbe_set_pixel_index): Likewise.
43108
43109 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
43110 from this...
43111 (grub_vbe_bios_get_controller_info): ... to this.
43112 (grub_vbe_get_mode_info): Renamed from this...
43113 (grub_vbe_bios_get_mode_info): ... to this.
43114 (grub_vbe_set_mode): Renamed from this...
43115 (grub_vbe_bios_set_mode): ... to this.
43116 (grub_vbe_get_mode): Renamed from this...
43117 (grub_vbe_bios_get_mode): ... to this.
43118 (grub_vbe_set_memory_window): Renamed from this...
43119 (grub_vbe_bios_set_memory_window): ... to this.
43120 (grub_vbe_get_memory_window): Renamed from this...
43121 (grub_vbe_bios_get_memory_window): ... to this.
43122 (grub_vbe_set_scanline_length): Renamed from this...
43123 (grub_vbe_set_scanline_length): ... to this.
43124 (grub_vbe_get_scanline_length): Renamed from this...
43125 (grub_vbe_bios_get_scanline_length): ... to this.
43126 (grub_vbe_set_display_start): Renamed from this...
43127 (grub_vbe_bios_set_display_start): ... to this.
43128 (grub_vbe_get_display_start): Renamed from this...
43129 (grub_vbe_bios_get_display_start): ... to this.
43130 (grub_vbe_set_palette_data): Renamed from this...
43131 (grub_vbe_bios_set_palette_data): ... to this.
43132 (grub_vbe_bios_get_controller_info): Fixed problem with registers
43133 getting corrupted after calling it. Added more pushes and pops.
43134 (grub_vbe_bios_set_mode): Likewise.
43135 (grub_vbe_bios_get_mode): Likewise.
43136 (grub_vbe_bios_get_memory_window): Likewise.
43137 (grub_vbe_bios_set_scanline_length): Likewise.
43138 (grub_vbe_bios_get_scanline_length): Likewise.
43139 (grub_vbe_bios_get_display_start): Likewise.
43140 (grub_vbe_bios_set_palette_data): Likewise.
43141
43142 * normal/cmdline.c (cl_set_pos): Refresh the screen.
43143 (cl_insert): Likewise.
43144 (cl_delete): Likewise.
43145
43146 * term/gfxterm.c: New file.
43147
43148 * term/i386/pc/vesafb.c: Removed file.
43149
43150 * video/video.c: New file.
43151
43152 * video/i386/pc/vbe.c (real2pm): Added new function.
43153 (grub_video_vbe_draw_pixel): Likewise.
43154 (grub_video_vbe_get_video_ptr): Likewise.
43155 (grub_video_vbe_get_pixel): Likewise
43156 (grub_video_vbe_init): Likewise.
43157 (grub_video_vbe_fini): Likewise.
43158 (grub_video_vbe_setup): Likewise.
43159 (grub_video_vbe_get_info): Likewise.
43160 (grub_video_vbe_set_palette): Likewise.
43161 (grub_video_vbe_get_palette): Likewise.
43162 (grub_video_vbe_set_viewport): Likewise.
43163 (grub_video_vbe_get_viewport): Likewise.
43164 (grub_video_vbe_map_color): Likewise.
43165 (grub_video_vbe_map_rgb): Likewise.
43166 (grub_video_vbe_map_rgba): Likewise.
43167 (grub_video_vbe_unmap_color): Likewise.
43168 (grub_video_vbe_fill_rect): Likewise.
43169 (grub_video_vbe_blit_glyph): Likewise.
43170 (grub_video_vbe_blit_bitmap): Likewise.
43171 (grub_video_vbe_blit_render_target): Likewise.
43172 (grub_video_vbe_scroll): Likewise.
43173 (grub_video_vbe_swap_buffers): Likewise.
43174 (grub_video_vbe_create_render_target): Likewise.
43175 (grub_video_vbe_delete_render_target): Likewise.
43176 (grub_video_vbe_set_active_render_target): Likewise.
43177 (grub_vbe_set_pixel_rgb): Remove function.
43178 (grub_vbe_set_pixel_index): Likewise.
43179 (index_color_mode): Remove static variable.
43180 (active_mode): Likewise.
43181 (framebuffer): Likewise.
43182 (bytes_per_scan_line): Likewise.
43183 (grub_video_vbe_adapter): Added new static variable.
43184 (framebuffer): Likewise.
43185 (render_target): Likewise.
43186 (initial_mode): Likewise.
43187 (mode_in_use): Likewise.
43188 (mode_list): Likewise.
43189
5f97350b 431902006-03-10 Marco Gerards <marco@gnu.org>
43191
43192 * configure.ac (AC_INIT): Bumped to 1.93.
43193
43194 * DISTLIST: Added `include/grub/hfs.h'.
43195
a3c5c6f8 431962006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
43197
43198 * boot/i386/pc/boot.S (general_error): Before looping, try INT
43199 18H, which might help the BIOS falling back to next boot media.
43200
6de53d26 432012006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
43202
43203 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
43204 Poe Chen <poe.poechen@gmail.com>.
43205
77c4a393 432062006-01-17 Marco Gerards <marco@gnu.org>
43207
43208 * include/grub/normal.h: Include <grub/script.h>.
43209 (grub_command_list): Removed struct.
43210 (grub_command_list_t): Removed type.
43211 (grub_menu_entry): Remove members `num' and `command_list'. Add
43212 members `commands' and `sourcecode'.
43213 * include/grub/script.h: Add inclusion guards.
43214 (grub_script_cmd_menuentry): New struct.
43215 (grub_script_execute_menuentry): New prototype.
43216 (grub_script_lexer_record_start): Likewise.
43217 (grub_script_lexer_record_stop): Likewise.
43218 * normal/execute.c (grub_script_execute_menuentry): New function.
43219 * normal/lexer.c (record, recording, recordpos, recordlen): New
43220 variables.
43221 (grub_script_lexer_record_start): New function.
43222 (grub_script_lexer_record_stop): Likewise.
43223 (recordchar): Likewise.
43224 (nextchar): Likewise.
43225 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
43226 2048 as the buffer size. Add the tokens `menuentry' and `@'.
43227 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
43228 (current_menu): New variable.
43229 (free_menu): Mainly rewritten.
43230 (grub_normal_menu_addentry): New function.
43231 (read_config_file): Rewritten.
43232 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 43233 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 43234 the menu entry.
43235 (run): Mainly rewritten.
43236 * normal/parser.y (menu_entry): New variable.
43237 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
43238 (menuentry): New rule.
43239 (command): Add `menuentry'.
43240 (if_statement): Allow additional returns before `fi'.
43241 * normal/script.c (grub_script_create_cmdmenu): New function.
43242
144f1f98 432432006-01-03 Marco Gerards <marco@gnu.org>
43244
43245 * INSTALL: GNU Bison is required.
43246 * configure.ac: Rewritten the test to detect Bison.
43247 * Makefile.in (YACC): New variable. Reported by Xun Sun
43248 <xun.sun.cn@gmail.com>.
43249
af4b2d89 432502006-01-03 Marco Gerards <marco@gnu.org>
43251
43252 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
43253 the HFS+ filesystem to filesystem blocks.
43254 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
43255 GCC warning is silenced.
43256
15643b71 432572006-01-03 Marco Gerards <marco@gnu.org>
43258
43259 * partmap/apple.c (apple_partition_map_iterate): Convert the data
43260 read from disk from big endian to host byte order.
43261
00905879 432622006-01-03 Hollis Blanchard <hollis@penguinppc.org>
43263
43264 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
43265 documentation.
43266 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
43267 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
43268 embedded HFS+ filesystem.
43269 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
43270 (grub_hfs_sblock): Move from here...
43271 * include/grub/hfs.h: To here... New file.
43272 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
43273 documentation.
43274 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
43275 New macros.
43276 (grub_hfsplus_volheader): Change type of member `magic' to
43277 `grub_uint16_t'.
43278 (grub_hfsplus_data): Add new member `embedded_offset'.
43279 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
43280 returned block.
43281 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
43282 Calculate the offset.
43283
8899bc3e 432842005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43285
43286 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
43287 Removed.
43288 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
43289
ae8c0277 432902005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43291
43292 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
43293 ENV->NAME is NULL after allocating ENV->VALUE.
43294
07084456 432952005-12-25 Marco Gerards <marco@gnu.org>
43296
43297 * kern/env.c (grub_env_set): Rewritten the error handling code.
43298
4750f5f1 432992005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43300
43301 * geninit.sh: Made more robust, and more portable.
43302
50214199 433032005-12-25 Marco Gerards <marco@gnu.org>
43304
43305 Add support for Apple HFS+ filesystems.
f19dbdb7 43306
50214199 43307 * fs/hfsplus.c: New file.
43308
43309 * DISTLIST: Added `fs/hfsplus.c'.
43310
43311 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
43312 (hfsplus_mod_SOURCES): New variable.
43313 (hfsplus_mod_CFLAGS): Likewise.
43314 (hfsplus_mod_LDFLAGS): Likewise.
43315 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
43316 (grub_setup_SOURCES): Likewise.
43317 (grub_mkdevicemap_SOURCES): Likewise.
43318 (grub_emu_SOURCES): Likewise.
43319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43320
43321 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
43322
43323 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
43324
befaed6c 433252005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43326
43327 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
43328 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
43329 include/grub/parser.h, include/grub/script.h, kern/parser.c,
43330 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
43331 normal/lexer.c, normal/parser.y, normal/script.c, and
43332 partmap/gpt.c.
43333 Removed kern/sparc64/cache.c.
43334
43335 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
43336 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
43337 grub_emu_init.c.
43338
43339 * configure.ac (AC_INIT): Bumped to 1.92.
43340
6a124103 433412005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
43342
43343 * kern/err.c (grub_error_push): Added new function to support error
43344 stacks.
43345 (grub_error_pop): Likewise.
43346 (grub_error_stack_items): New local variable to support error stacks.
43347 (grub_error_stack_pos): Likewise.
43348 (grub_error_stack_assert): Likewise.
43349 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
43350 stack depth.
43351 (grub_print_error): Added support to print errors from error stack.
43352
43353 * include/grub/err.h (grub_error_push): Added function prototype.
43354 (grub_error_pop): Likewise.
43355
be973c1b 433562005-12-09 Hollis Blanchard <hollis@penguinppc.org>
43357
43358 * configure.ac: Accept `powerpc64' as host_cpu.
43359 (amd64): Rename to `biarch32'.
43360
43361 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
43362 non-cacheline-aligned addresses.
43363
43364 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
43365 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
43366 if `size' is non-zero.
43367
b04216ab 433682005-12-03 Marco Gerards <mgerards@xs4all.nl>
43369
43370 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
43371 and `cd' to make sure the filename is not prefixed with a
43372 directory name.
43373 (pkgdata_MODULES): Add `gpt.mod'.
43374 (gpt_mod_SOURCES): New variable.
43375 (gpt_mod_CFLAGS): Likewise.
43376 (gpt_mod_LDFLAGS): Likewise.
43377
43378 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
43379
43380 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
43381 New macro.
43382
43383 * partmap/gpt.c: New file.
43384
43385 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
43386 GPT partition map is detected.
43387
41730ed9 433882005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
43389
43390 * commands/i386/pc/play.c: New file.
43391 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
43392 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
43393 macros.
f19dbdb7 43394
95dc3643 433952005-11-27 Marco Gerards <mgerards@xs4all.nl>
43396
43397 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
43398 ((unused))' to silence gcc warning.
43399
1569ec51 434002005-11-26 Hollis Blanchard <hollis@penguinppc.org>
43401
43402 * configure.ac: Correct `AC_PROG_YACC' test.
43403
9abde152 434042005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43405
43406 * util/powerpc/ieee1275/grub-install.in: Run the mount point
43407 check before installing files.
43408
44b83271 434092005-11-22 Mike Small <smallm@panix.com>
43410
43411 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
43412 number regex so multidigit numbers are recognized correctly.
43413
434142005-11-22 Mike Small <smallm@panix.com>
43415
43416 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
43417 debugging message before attempting to claim memory.
43418 (grub_rescue_cmd_initrd): Add a claim debugging message and try
43419 multiple addresses in case of failure.
43420
9c12956b 434212005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43422
43423 * term/tparm.c (get_space): Remove empty `if' statement.
43424
43425 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
43426
43427 * kern/parser.c (check_varstate): Rename `state' to 's'.
43428
aeaf81d9 434292005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43430
43431 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
43432 variable definitions to the beginning of each function. Sort stack
43433 variables by size.
43434 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
43435 `buf' argument to `char *'.
43436
79bbb63f 434372005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43438
43439 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
43440 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 43441 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 43442 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43443 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43444 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43445 configfile.mod, search.mod, gzio.mod and test.mod.
43446 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43447 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43448 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43449 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43450 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43451 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43452 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43453 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43454 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43455 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43456 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43457 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43458 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43459 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43460 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43461 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43462 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43463 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43464 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43465 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43466 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43467 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43468 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
43469
43470 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
43471 `grep --include'.
43472 (pkgdata_MODULES): Add test.mod.
43473
233b1628 434742005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43475
43476 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
43477 appending to variables with "+=".
43478 (PModule): Use full pathname to generate *.lst filenames.
43479
43480 * Makefile.in: Fixed list rules moved from genmk.rb.
43481 (.DELETE_ON_ERROR): New special target.
43482 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
43483
43484 * conf/i386-pc.rmk: Include conf/common.mk.
43485 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 43486 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 43487 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43488 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43489 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43490 configfile.mod, search.mod, gzio.mod and test.mod.
43491 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43492 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43493 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43494 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43495 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43496 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43497 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43498 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43499 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43500 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43501 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43502 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43503 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43504 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43505 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43506 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43507 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43508 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43509 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43510 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43511 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43512 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43513 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
43514 here...
43515 * conf/common.rmk: ... to here. New file.
43516
43517 * conf/common.mk: New file.
43518
16f820c8 435192005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
43520
43521 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
43522 (grub_script.tab.c): ... here.
43523
43524 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
43525 (grub_script.tab.c): ... here.
43526
43527 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
43528 (grub_script.tab.c): ... here.
43529
43530 * normal/command.c (grub_command_find): Fixed a memory leak of
43531 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
43532
63ba1554 435332005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43534
43535 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
43536 "@" which marks the start of a comment on ARM.
43537 (VARIABLE): Likewise.
43538
7f67dc13 435392005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43540
79bbb63f 43541 Add support for Linux/ADFS partition tables.
7f67dc13 43542
43543 * partmap/acorn.c: New file.
43544
43545 * include/grub/acorn_filecore.h: Likewise.
43546
43547 * DISTLIST: Added `partmap/acorn.c' and
43548 `include/grub/acorn_filecore.h'.
f19dbdb7 43549
7f67dc13 43550 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43551 `partmap/acorn.c'.
43552 (pkgdata_MODULES): Add `acorn.mod'.
43553 (acorn_mod_SOURCES): New variable.
43554 (acorn_mod_CFLAGS): Likewise.
43555
43556 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43557 `partmap/acorn.c'.
43558 (pkgdata_MODULES): Add `acorn.mod'.
43559 (acorn_mod_SOURCES): New variable.
43560 (acorn_mod_CFLAGS): Likewise.
43561
43562 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
43563 (pkgdata_MODULES): Add `acorn.mod'.
43564 (acorn_mod_SOURCES): New variable.
43565 (acorn_mod_CFLAGS): Likewise.
43566 (acorn_mod_LDFLAGS): Likewise.
43567
43568 * include/types.h (grub_disk_addr_t): New typedef.
43569
6d099807 435702005-11-13 Marco Gerards <mgerards@xs4all.nl>
43571
43572 * geninit.sh: New file.
43573
43574 * geninitheader.sh: Likewise.
43575
43576 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
43577 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
43578 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
43579 * commands/configfile.c (grub_configfile_init)
43580 (grub_configfile_fini): Likewise.
43581 * commands/default.c (grub_default_init, grub_default_fini):
43582 Likewise.
43583 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
43584 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
43585 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
43586 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
43587 Likewise.
43588 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
43589 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
43590 Likewise.
43591 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 43592 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 43593 Likewise.
43594 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
43595 Likewise.
fe6b695a 43596 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 43597 Likewise.
43598 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
43599 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
43600 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
43601 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
43602 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
43603 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
43604 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
43605 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
43606 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
43607 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
43608 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
43609 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
43610 * partmap/amiga.c (grub_amiga_partition_map_init)
43611 (grub_amiga_partition_map_fini): Likewise.
43612 * partmap/apple.c (grub_apple_partition_map_init)
43613 (grub_apple_partition_map_fini): Likewise.
43614 * partmap/pc.c (grub_pc_partition_map_init)
43615 (grub_pc_partition_map_fini): Likewise.
43616 * partmap/sun.c (grub_sun_partition_map_init,
43617 grub_sun_partition_map_fini): Likewise.
43618 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
43619 Likewise.
43620
43621 * util/grub-emu.c: Include <grub_modules_init.h>.
43622 (main): Don't initialize and de-initialize any modules directly,
43623 use `grub_init_all' and `grub_fini_all' instead.
43624
43625 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
43626 `grub_vesafb_mod_init'.
43627 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
43628 all users.
43629 * term/i386/pc/vga.c (grub_vga_init): Renamed to
43630 `grub_vga_mod_init'. Updated all users.
43631 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 43632
6d099807 43633 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
43634 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
43635 rules.
43636
43637 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
43638 Generate a function to initialize the module in utilities.
43639 Updated all callers.
43640 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
43641 initialize the module in utilities. Updated all callers.
43642
9046bcf0 436432005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43644
43645 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
43646 escape sequence and a literal ^L to clear the screen.
43647
43648 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
43649 when returning from Open Firmware.
43650
d13ea639 436512005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43652
43653 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
43654 (grub_ofconsole_height): Likewise.
43655 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
43656 manually insert a '\n'.
43657 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
43658 `grub_ofconsole_height'. Return early if these are already set.
43659
a8fcf206 436602005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
43661
43662 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43663 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
43664 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
43665 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
43666 and `normal/script.c'.
43667 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43668 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43669 (test_mod_SOURCES): New variable.
43670 (test_mod_CFLAGS): Likewise.
43671 (test_mod_LDFLAGS): Likewise.
43672 (pkgdata_MODULES): Add `test.mod'.
43673 (grub_script.tab.c): New rule.
43674 (grub_script.tab.h): Likewise.
43675
b6b32745 436762005-11-07 Marco Gerards <mgerards@xs4all.nl>
43677
43678 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43679 `commands/test.c', `normal/execute.c', `normal/lexer.c',
43680 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43681 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43682 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43683 (test_mod_SOURCES): New variable.
43684 (test_mod_CFLAGS): Likewise.
43685 (pkgdata_MODULES): Add `test.mod'.
43686 (grub_script.tab.c): New rule.
43687 (grub_script.tab.h): Likewise.
43688
daac212a 436892005-11-06 Marco Gerards <mgerards@xs4all.nl>
43690
43691 Add initial scripting support.
43692
43693 * commands/test.c: New file.
43694 * include/grub/script.h: Likewise.
43695 * normal/execute.c: Likewise.
43696 * normal/function.c: Likewise.
43697 * normal/lexer.c: Likewise.
43698 * normal/parser.y: Likewise.
43699 * normal/script.c: Likewise.
43700
43701 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 43702
daac212a 43703 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
43704 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
43705 `normal/function.c' and `normal/script.c'.
43706 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43707 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 43708 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
43709 variables.
daac212a 43710 (pkgdata_MODULES): Add `test.mod'.
43711 (grub_script.tab.c): New rule.
43712 (grub_script.tab.h): Likewise.
43713
43714 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
43715
43716 * include/grub/normal.h (grub_test_init): New prototype.
43717 (grub_test_fini): Likewise.
f19dbdb7 43718
daac212a 43719 * normal/command.c: Include <grub/script.h>.
43720 (grub_command_execute): Rewritten.
f19dbdb7 43721
daac212a 43722 * util/grub-emu.c (main): Call `grub_test_init' and
43723 `grub_test_fini'.
43724
77500b2b 437252005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43726
43727 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
43728 to 0.
43729 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
43730 there are no pending characters.
43731
e45deb9e 437322005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43733
43734 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
43735 `grub_strndup' to drop device arguments. Replace unnecessary
43736 `grub_strndup' with `grub_strdup'.
43737
4ce32619 437382005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43739
43740 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
43741 `debug' environment variable has been set.
43742
437432005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43744
4ce32619 43745 * Makefile.in (install-local): Use $(DATA).
43746 (uninstall): Likewise.
43747 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
43748 (sbin_UTILITIES): ... to here.
43749 (sbin_SCRIPTS): New variable.
43750 (grub_install_SOURCES): New variable.
43751 * util/powerpc/ieee1275/grub-install.in: New file.
43752 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
43753 variable.
43754 (add_segments): Call `grub_util_get_path'.
43755
25fe6f03 437562005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43757
43758 From Timothy Baldwin:
43759 * commands/ls.c (grub_ls_list_files): Close FILE with
43760 grub_file_close.
43761 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
43762
04ccf3ec 437632005-10-24 Marco Gerards <mgerards@xs4all.nl>
43764
43765 * include/grub/parser.h: New file.
43766
43767 * kern/parser.c: Likewise.
43768
43769 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
43770 (grub_setup_SOURCES): Likewise.
43771 (grub_probefs_SOURCES): Likewise.
43772 (grub_emu_SOURCES): Likewise.
43773 (kernel_img_HEADERS): Add `parser.h'.
43774
43775 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43776 (grub_emu_SOURCES): Add `kern/parser.c'.
43777 (grubof_SOURCES): Likewise.
43778
43779 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43780 (grubof_SOURCES): Add `kern/parser.c'.
43781
43782 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
43783
43784 * kern/misc.c (grub_split_cmdline): Removed function.
43785
43786 * kern/rescue.c: Include <grub/parser.h>.
43787 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
43788 of `grub_split_cmdline'.
43789
43790 * normal/command.c: Include <grub/parser.h>.
43791 (grub_command_execute): Use `grub_parser_split_cmdline' instead
43792 of `grub_split_cmdline'.
43793
43794 * normal/completion.c: Include <grub/parser.h>.
43795 (cmdline_state): New variable.
43796 (iterate_dir): End the filename with a quote depending on the
43797 command line state.
43798 (get_state): new function.
43799 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
43800 split the arguments and determine the current argument. When the
43801 argument string is not quoted, escape all spaces.
43802
6d8f4b0e 438032005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43804
43805 * normal/sparc64/setjmp.S: New file.
43806
15cf03ed 438072005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43808
43809 * include/grub/sparc64/libgcc.h: New file.
43810 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
43811 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
43812 normal/sparc64/setjmp.c.
43813
03e8661a 438142005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43815
43816 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
43817 * kern/sparc64/cache.S: New file.
43818 * kern/sparc64/cache.c: Removed.
43819 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
43820 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
43821 -mtune=ultrasparc.
43822 (COMMON_LDFLAGS): Add -melf64_sparc.
43823 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
43824 (grubof_SOURCES): Use cache.S instead of cache.c.
43825 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
43826 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
43827 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
43828 commented though.
43829 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
43830 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
43831 (linux_mod_CFLAGS): Commented out.
43832 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
43833 out because module isn't built.
43834 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43835 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43836 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43837 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43838 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43839 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43840 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43841 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43842 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43843 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43844 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43845 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43846 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43847 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43848
34eeec8a 438492005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43850
43851 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43852 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43853 longer, because HFS should not be used on PC.
43854
708367a3 438552005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43856
43857 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43858 consistently within the loop.
43859
6fa1251a 438602005-10-15 Marco Gerards <mgerards@xs4all.nl>
43861
43862 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43863 directory can not be read.
43864
4801580b 438652005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43866
43867 * configure.ac (AC_INIT): Increase the version number to 1.91.
43868
43869 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43870 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43871 term/i386/pc/serial.c.
43872
219ad426 438732005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43874
43875 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43876 file size must be permitted.
43877
43878 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43879 between %ah and %al.
43880
688e5699 438812005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43882
43883 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43884 grub_uint64_t.
43885 Call the hook with a NUL-terminated filename.
43886 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43887 grub_cpu_to_be32.
43888
43889 * kern/term.c (cursor_state): New variable.
43890 (grub_term_set_current): Reset the cursor state on a new
43891 terminal.
43892 (grub_setcursor): Rewritten to use CURSOR_STATE.
43893 (grub_getcursor): New function.
43894
43895 * include/grub/term.h (grub_getcursor): New prototype.
43896
43897 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43898 integers on ARM. Reported by Timothy Baldwin
43899 <T.E.Baldwin99@members.leeds.ac.uk>.
43900
bb34586c 439012005-10-11 Marco Gerards <mgerards@xs4all.nl>
43902
43903 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43904 allocated.
43905 (grub_sfs_dir): Likewise.
43906
9a909877 439072005-10-09 Marco Gerards <mgerards@xs4all.nl>
43908
43909 Add support for the SFS filesystem.
43910
43911 * fs/sfs.c: New file.
43912
43913 * DISTLIST: Added `fs/sfs.c'.
43914
43915 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43916 (grub_probefs_SOURCES): Likewise.
43917 (grub_emu_SOURCES): Likewise.
43918 (pkgdata_MODULES): Add `sfs.mod'.
43919 (sfs_mod_SOURCES): New variable.
43920 (sfs_mod_CFLAGS): Likewise.
43921 (sfs_mod_LDFLAGS): Likewise.
43922
43923 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43924 (pkgdata_MODULES): Add `sfs.mod'.
43925 (sfs_mod_SOURCES): New variable.
43926 (sfs_mod_CFLAGS): Likewise.
43927
43928 * util/grub-emu.c (main): Call `grub_sfs_init' and
43929 `grub_sfs_fini'.
43930
43931 * include/grub/fs.h (grub_sfs_init): New prototype.
43932 (grub_sfs_fini): Likewise.
43933
57bdbde3 439342005-10-07 Marco Gerards <mgerards@xs4all.nl>
43935
43936 Add support for the AFFS filesystem.
43937
43938 * fs/affs.c: New file.
43939
43940 * DISTLIST: Added `fs/affs.c'.
43941
43942 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43943 (grub_probefs_SOURCES): Likewise.
43944 (grub_emu_SOURCES): Likewise.
43945 (pkgdata_MODULES): Add `affs.mod'.
43946 (affs_mod_SOURCES): New variable.
43947 (affs_mod_CFLAGS): Likewise.
43948 (affs_mod_LDFLAGS): Likewise.
43949
43950 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43951 (pkgdata_MODULES): Add `affs.mod'.
43952 (affs_mod_SOURCES): New variable.
43953 (affs_mod_CFLAGS): Likewise.
43954
43955 * util/grub-emu.c (main): Call `grub_affs_init' and
43956 `grub_affs_fini'.
43957
43958 * include/grub/fs.h (grub_affs_init): New prototype.
43959 (grub_affs_fini): Likewise.
43960
047b67e0 439612005-10-01 Marco Gerards <mgerards@xs4all.nl>
43962
43963 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43964
59b8208a 439652005-10-01 Marco Gerards <mgerards@xs4all.nl>
43966
43967 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43968 `-m32' to CFLAGS.
43969
43970 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43971 linking.
f19dbdb7 43972
59b8208a 43973 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43974 (COMMON_LDFLAGS): New variable.
43975 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43976 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
43977 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
43978 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
43979 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
43980 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
43981 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
43982 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
43983 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
43984 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
43985 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43986 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43987 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
43988 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
43989 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
43990 variables.
43991 (normal_mod_ASFLAGS): Add `-m32'.
43992
43993 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
43994 (grub_host_size_t, grub_host_ssize_t): New types.
43995 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 43996 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 43997 `GRUB_HOST_SIZEOF_VOID_P'.
43998
43999 * include/grub/kernel.h (struct grub_module_header): Type of
44000 member offset changed to `grub_host_off_t'. Type of member size
44001 changed to `grub_host_size_t'.
44002 (struct grub_module_info): Type of member offset changed to
44003 `grub_host_off_t'. Type of member size changed to
44004 `grub_host_size_t'.
44005
b4093103 440062005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
44007
44008 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 44009
b4093103 44010 * kern/i386/pc/startup.S (multiboot_header): New label.
44011 (multiboot_entry): Likewise.
44012 (multiboot_trampoline): Likewise.
44013
44014 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44015 Increased to 0x4A0.
44016
44017 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
44018 put parentheses after a question mark.
44019 [!GRUB_UTIL] (my_mod): New variable.
44020
44021 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
44022
b2499b29 440232005-09-28 Marco Gerards <mgerards@xs4all.nl>
44024
44025 Adds support for the XFS filesystem. Btrees are not supported
44026 yet.
44027
44028 * fs/xfs.c: New file.
44029
44030 * DISTLIST: Added `fs/xfs.c'.
44031
44032 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
44033 (grub_probefs_SOURCES): Likewise.
44034 (grub_emu_SOURCES): Likewise.
44035 (pkgdata_MODULES): Add `xfs.mod'.
44036 (xfs_mod_SOURCES): New variable.
44037 (xfs_mod_CFLAGS): Likewise.
44038
44039 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
44040 (pkgdata_MODULES): Add `xfs.mod'.
44041 (xfs_mod_SOURCES): New variable.
44042 (xfs_mod_CFLAGS): Likewise.
44043
44044 * util/grub-emu.c (main): Call `grub_xfs_init' and
44045 `grub_xfs_fini'.
44046
44047 * include/grub/fs.h (grub_xfs_init): New prototype.
44048 (grub_xfs_fini): Likewise.
44049
f19dbdb7 44050
83d37a62 440512005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
44052
44053 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
44054 color modes, allow greater than 16 colors to be configured as
44055 a default palette.
44056
47d2d65e 440572005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44058
44059 * normal/completion.c (complete_arguments): Add the qualifier
44060 const into OPTIONS.
44061
44062 From Omniflux <omniflux+lists@omniflux.com>:
44063 * include/grub/terminfo.h: New file.
44064 * include/grub/tparm.h: Likewise.
44065 * include/grub/i386/pc/serial.h: Likewise.
44066 * term/terminfo.c: Likewise.
44067 * term/tparm.c: Likewise.
44068 * term/i386/pc/serial.c: Likewise.
44069 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
44070 serial.mod.
44071 (terminfo_mod_SOURCES): New variable.
44072 (terminfo_mod_CFLAGS): Likewise.
44073 (serial_mod_SOURCES): Likewise.
44074 (serial_mod_CFLAGS): Likewise.
44075
48b671ff 440762005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
44077
44078 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
44079 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
44080 and kern/powerpc/ieee1275/cmain.c, respectively.
44081
44082 * boot/powerpc/ieee1275/crt0.S: Moved to ...
44083 * kern/powerpc/ieee1275/crt0.S: ... here.
44084
44085 * boot/powerpc/ieee1275/cmain.c: Moved to ...
44086 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 44087
48b671ff 44088 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
44089 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
44090 instead of boot/powerpc/ieee1275/crt0.S and
44091 boot/powerpc/ieee1275/cmain.c, respectively.
44092
44093 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
44094 sectors. It was not used anyway.
44095
09fc77a7 440962005-08-30 Hollis Blanchard <hollis@penguinppc.org>
44097
44098 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
44099 `unused parameter' warning.
44100
003789c7 441012005-08-30 Hollis Blanchard <hollis@penguinppc.org>
44102
44103 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
44104 function.
44105 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
44106 getcharwidth.
44107
67f44c86 441082005-08-28 Marco Gerards <metgerards@student.han.nl>
44109
44110 * include/grub/normal.h (enum grub_completion_type): Added
44111 `GRUB_COMPLETION_TYPE_ARGUMENT'.
44112
44113 * normal/cmdline.c (print_completion): Handle
44114 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
44115 * normal/menu_entry.c (store_completion): Likewise.
44116
44117 * normal/completion.c (complete_arguments): New function.
44118 (grub_normal_do_completion): Call `complete_arguments' when the
44119 current words start with a dash.
44120
0b5abe02 441212005-08-27 Marco Gerards <metgerards@student.han.nl>
44122
44123 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
44124 `gzio.mod' instead of `io.mod').
44125
d9864ee1 441262005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
44127
44128 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
44129 (DISTDIRS): Added io and video.
44130 Rewrite the search routine to make an output consistently.
44131
44132 * DISTLIST: Added conf/sparc64-ieee1275.mk,
44133 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
44134 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
44135 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
44136 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
44137 util/powerpc/ieee1275/misc.c.
f19dbdb7 44138
d9864ee1 44139 * include/grub/gzio.h: New file.
44140 * io/gzio.c: Likewise.
f19dbdb7 44141
d9864ee1 44142 * kern/file.c (grub_file_close): Call grub_device_close only if
44143 FILE->DEVICE is not NULL.
44144
44145 * include/grub/mm.h [!NULL] (NULL): New macro.
44146
44147 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
44148
44149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
44150 (pkgdata_MODULES): Added gzio.mod.
44151 (gzio_mod_SOURCES): New variable.
44152 (gzio_mod_CFLAGS): Likewise.
44153
44154 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
44155 (pkgdata_MODULES): Added gzio.mod.
44156 (gzio_mod_SOURCES): New variable.
44157 (gzio_mod_CFLAGS): Likewise.
44158
44159 * commands/cat.c: Include grub/gzio.h.
44160 (grub_cmd_cat): Use grub_gzfile_open instead of
44161 grub_file_open.
f19dbdb7 44162
d9864ee1 44163 * commands/cmp.c: Include grub/gzio.h.
44164 (grub_cmd_cmp): Use grub_gzfile_open instead of
44165 grub_file_open.
44166
44167 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
44168 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
44169 grub_file_open.
44170 (grub_rescue_cmd_module): Likewise.
44171
fa46f4b5 441722005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44173
44174 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
44175 kern/sparc64/ieee1275/init.c because it contains _start.
44176 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
44177
e9211b5d 441782005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44179
44180 * configure.ac: Add support for sparc64 host with ieee1275
44181 firmware.
44182 * configure: Generated from configure.ac.
44183 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
44184 instead of int.
44185 (grub_ofdisk_read): Likewise.
44186 (grub_ofdisk_open): Use %p to print pointer values, and cast the
44187 pointers as (void *) to remove a warning.
44188 (grub_ofdisk_close): Likewise.
44189 (grub_ofdisk_read): Likewise.
44190 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
44191 returns, so make it return void to remove a warning.
44192 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
44193 Corresponding prototype change.
44194 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
44195 values, and cast the pointers as (void *) to remove a warning.
44196 (grub_mm_dump): Likewise.
44197 * conf/sparc64-ieee1275.mk: New file.
44198 * conf/sparc64-ieee1275.rmk: Likewise.
44199 * include/grub/sparc64/setjmp.h: Likewise.
44200 * include/grub/sparc64/types.h: Likewise.
44201 * include/grub/sparc64/ieee1275/console.h: Likewise.
44202 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44203 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44204 * include/grub/sparc64/ieee1275/time.h: Likewise.
44205 * kern/sparc64/cache.c: Likewise.
44206 * kern/sparc64/dl.c: Likewise.
44207 * kern/sparc64/ieee1275/init.c: Likewise.
44208 * kern/sparc64/ieee1275/openfw.c: Likewise.
44209
385c6a92 442102005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
44211
44212 * util/console.c (grub_ncurses_putchar): If C is greater than
44213 0x7f, set C to a question mark.
44214 (grub_ncurses_getcharwidth): New function.
44215 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
44216 getcharwidth.
44217
44218 * normal/menu.c (print_entry): Made aware of Unicode. First,
44219 convert TITLE to UCS-4, and predict the cursor position by
44220 grub_getcharwidth.
44221
44222 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
44223 const to SRC.
44224 * kern/misc.c (grub_utf16_to_utf8): Likewise.
44225
16ccb8b1 442262005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44227
44228 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
44229 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44230 grub_strcat.
44231
44232 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
44233 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44234 grub_strcpy and grub_strlen. Take it into account that a space
44235 character is inserted as a delimiter.
44236
6a85ce79 442372005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44238
44239 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 44240 invalid magic in the error.
6a85ce79 44241
44242 * commands/search.c: New file.
f19dbdb7 44243
6a85ce79 44244 * util/grub-emu.c (main): Call grub_search_init and
44245 grub_search_fini.
44246
44247 * kern/rescue.c (grub_rescue_print_disks): Removed.
44248 (grub_rescue_print_devices): New function.
44249 (grub_rescue_cmd_ls): Use grub_device_iterate with
44250 grub_rescue_print_devices instead of grub_disk_dev_iterate with
44251 grub_rescue_print_disks.
44252
44253 * kern/partition.c (grub_partition_iterate): Return the result of
44254 PARTMAP->ITERATE instead of GRUB_ERRNO.
44255
44256 * kern/device.c: Include grub/partition.h.
44257 (grub_device_iterate): New function.
44258
44259 * include/grub/partition.h (grub_partition_iterate): Return int
44260 instead of grub_err_t.
44261
44262 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
44263 prototype.
44264 [GRUB_UTIL] (grub_search_fini): Likewise.
44265
44266 * include/grub/device.h (grub_device_iterate): New prototype.
44267
44268 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44269 commands/search.c.
44270 (pkgdata_MODULES): Added search.mod.
44271 (search_mod_SOURCES): New variable.
44272 (search_mod_CFLAGS): Likewise.
44273
44274 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
44275 (pkgdata_MODULES): Added search.mod.
44276 (search_mod_SOURCES): New variable.
44277 (search_mod_CFLAGS): Likewise.
44278
44279 * commands/ls.c (grub_ls_list_disks): Renamed to ...
44280 (grub_ls_list_devices): ... this, and use grub_device_iterate.
44281 All callers changed.
44282
44283 * DISTLIST: Added commands/search.c.
44284
ef095434 442852005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44286
44287 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
44288 conversion.
44289 (grub_getcharwidth): New function.
44290
44291 * kern/misc.c (grub_utf8_to_ucs4): New function.
44292
44293 * include/grub/term.h (struct grub_term): Added a new member
44294 "getcharwidth".
44295 (grub_getcharwidth): New prototype.
44296
44297 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
44298
44299 * term/i386/pc/console.c (map_char): New function. Segregated from
44300 grub_console_putchar.
44301 (grub_console_putchar): Use map_char.
44302 (grub_console_getcharwidth): New function.
44303 (grub_console_term): Specified grub_console_getcharwidth as
44304 getcharwidth.
44305
44306 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
44307 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
44308
44309 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
44310 GRUB_ERRNO.
44311 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
44312 on grub_strtoul completely.
44313 (write_char): Declare local variables in the beginning of the
44314 function.
44315 (grub_vesafb_getcharwidth): New function.
44316 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
44317 getcharwidth.
44318
1f0a95e4 443192005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
44320
44321 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
44322 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
44323 commands/i386/pc/vbetest.c.
44324
44325 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
44326 call grub_vbe_get_controller_info again, because the returned
44327 information is volatile.
44328 (grub_vbe_set_video_mode): Mostly rewritten.
44329 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
44330 grub_vbe_status_t correctly.
44331 (grub_vbe_get_video_mode_info): Likewise.
44332 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
44333 several if statements.
44334
44335 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
44336 * commands/i386/pc/vbeinfo.c: ... this.
44337
44338 * commands/i386/pc/vbe_test.c: Renamed to ...
44339 * commands/i386/pc/vbetest.c: ... this.
44340
44341 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
44342 ...
44343 (grub_cmd_vbeinfo): ... this. Save video modes before
44344 iterating. Skip a video mode, if it is not available, not enough
44345 information is given or it is monochrome. Show the memory
44346 model. Leave the interpretation of MODEVAR to grub_strtoul
44347 completely.
44348 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
44349 (GRUB_MOD_FINI): Likewise.
44350
44351 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
44352 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
44353 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
44354 duplicated grub_env_get. Leave the interpretation of MODEVAR to
44355 grub_strtoul completely.
44356 (real2pm): Removed.
44357 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
44358 (GRUB_MOD_FINI): Likewise.
44359
44360 * normal/misc.c: Include grub/mm.h.
44361
44362 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
44363 vbe_list_modes with vbetest.mod and vbeinfo.mod.
44364 (vbe_list_modes_mod_SOURCES): Removed.
44365 (vbe_list_modes_mod_CFLAGS): Likewise.
44366 (vbe_test_mod_SOURCES): Likewise.
44367 (vbe_test_mod_CFLAGS): Likewise.
44368 (vbeinfo_mod_SOURCES): New variable.
44369 (vbeinfo_mod_CFLAGS): Likewise.
44370 (vbetest_mod_SOURCES): Likewise.
44371 (vbetest_mod_CFLAGS): Likewise.
44372
992ffbbe 443732005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
44374
44375 * normal/misc.c: New file.
44376
44377 * DISTLIST: Added normal/misc.c.
f19dbdb7 44378
992ffbbe 44379 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
44380 DISK to HOOK. Call HOOK with DISK.
44381 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44382 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44383 * partmap/sun.c (sun_partition_map_iterate): Likewise.
44384
44385 * normal/menu_entry.c (struct screen): Added a new member
44386 "completion_shown".
44387 (completion_buffer): New global variable.
44388 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
44389 (store_completion): New function.
44390 (complete): Likewise.
44391 (clear_completions): Likewise.
44392 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
44393 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
44394 a tab, call complete.
44395
44396 * normal/completion.c (disk_dev): Removed.
44397 (print_simple_completion): Likewise.
44398 (print_partition_completion): Likewise.
44399 (print_func): New global variable.
44400 (add_completion): Do not take the arguments WHAT or PRINT any
44401 longer. Added a new argument TYPE. Instead of printing directly,
44402 call PRINT_FUNC if not NULL.
44403 All callers changed.
44404 (complete_device): Use a local variable DEV instead of
44405 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
44406 (grub_normal_do_completion): Take a new argument HOOK. Do not
44407 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
44408 empty string, return NULL instead.
44409 All callers changed.
44410
44411 * normal/cmdline.c (print_completion): New function.
44412
44413 * kern/partition.c (grub_partition_iterate): Add an argument DISK
44414 to HOOK.
44415 All callers changed.
44416
44417 * kern/disk.c (grub_print_partinfo): Removed.
44418
44419 * include/grub/partition.h (struct grub_partition_map): Add a new
44420 argument DISK into HOOK of ITERATE.
44421 (grub_partition_iterate): Add a new argument DISK to HOOK.
44422
44423 * include/grub/normal.h (enum grub_completion_type): New enum.
44424 (grub_completion_type_t): New type.
44425 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
44426 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
44427 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
44428 (GRUB_COMPLETION_TYPE_FILE): Likewise.
44429 (grub_normal_do_completion): Added a new argument HOOK.
44430 (grub_normal_print_device_info): New prototype.
44431
44432 * include/grub/disk.h (grub_print_partinfo): Removed.
44433
44434 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
44435 (normal_mod_SOURCES): Likewise.
44436 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44437 (normal_mod_SOURCES): Likewise.
44438
44439 * commands/ls.c (grub_ls_list_disks): Use
44440 grub_normal_print_device_info instead of grub_print_partinfo. Free
44441 PNAME.
44442 (grub_ls_list_files): Use grub_normal_print_device_info instead of
44443 duplicating the code.
44444
0bd41162 444452005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44446
44447 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 44448 follow GCS more precisely.
44449 * commands/i386/pc/vbe_test.c: Likewise.
44450 * include/grub/i386/pc/vbe.h: Likewise.
44451 * term/i386/pc/vesafb.c: Likewise.
44452 * video/i386/pc/vbe.c: Likewise.
0bd41162 44453
6323696a 444542005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44455
44456 * DISTLIST: Added term/i386/pc/vesafb.c
44457 DISTLIST: Added video/i386/pc/vbe.c
44458 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
44459 DISTLIST: Added commands/i386/pc/vbe_test.c.
44460 * commands/i386/pc/vbe_list_modes.c: New file.
44461 * commands/i386/pc/vbe_test.c: Likewise.
44462 * term/i386/pc/vesafb.c: Likewise.
44463 * video/i386/pc/vbe.c: Likewise.
44464 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
44465 (grub_vbe_probe) Added prototype.
44466 (grub_vbe_set_video_mode) Likewise.
44467 (grub_vbe_get_video_mode) Likewise.
44468 (grub_vbe_get_video_mode_info) Likewise.
44469 (grub_vbe_set_pixel_rgb) Likewise.
44470 (grub_vbe_set_pixel_index) Likewise.
44471 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
44472 (pkgdata_MODULES): Added vesafb.mod.
44473 (pkgdata_MODULES): Added vbe_list_modes.mod.
44474 (pkgdata_MODULES): Added vbe_test.mod.
44475 (vbe_mod_SOURCES): Added.
44476 (vbe_mod_CFLAGS): Likewise.
44477 (vesafb_mod_SOURCES): Likewise.
44478 (vesafb_mod_CFLAGS): Likewise.
44479 (vbe_list_modes_mod_SOURCES): Likewise.
44480 (vbe_list_modes_mod_CFLAGS): Likewise.
44481 (vbe_test_mod_SOURCES): Likewise.
44482 (vbe_test_mod_CFLAGS): Likewise.
44483
0a74e62f 444842005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
44485
0a74e62f 44486 * normal/command.c (grub_command_execute): If INTERACTIVE is
44487 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
44488 CMDLINE. Disable the pager if INTERACTIVE is true.
44489 All callers are changed.
44490
44491 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
44492 before reading a config file.
44493 * normal/main.c (read_config_file): Even if a command is not
44494 found, register it if it is within an entry.
44495
44496 * util/grub-emu.c: Include sys/types.h and unistd.h.
44497 (options): Added --hold.
44498 (struct arguments): Added a new member "hold".
44499 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
44500 missing.
44501 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
44502 cleared by a debugger, if it is not zero.
44503
44504 * include/grub/normal.h (grub_command_execute): Add an argument
44505 INTERACTIVE.
44506
e51f85ae 445072005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
44508
44509 * DISTLIST: Added include/grub/i386/pc/vbe.h.
44510
e9c6f39b 445112005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
44512
44513 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
44514 program with another one, because the old one didn't detect a bug
44515 in gcc-3.4. Always use regparm 2, because the new test is still
44516 not enough for gcc-4.0. Someone must investigate a simple test
44517 case which detects a bug in gcc-4.0.
44518
8de3495c 445192005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
44520
44521 * DISTLIST: Added normal/completion.c.
44522
44523 * normal/completion.c: New file.
f19dbdb7 44524
8de3495c 44525 * term/i386/pc/console.c (grub_console_getwh): New function.
44526 (grub_console_term): Assign grub_console_getwh to getwh.
44527
44528 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
44529 function is defined in normal/completion.c as
44530 grub_normal_do_completion.
44531 (grub_cmdline_get): Use grub_normal_do_completion instead of
44532 grub_tab_complete.
44533
44534 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
44535 returns non-zero, otherwise return 0.
44536 (grub_partition_iterate): First, probe the partition map. Then,
44537 call ITERATE only for this partition map.
44538
44539 * kern/misc.c (grub_strncmp): Rewritten.
44540
44541 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
44542 returns non-zero. Otherwise return 0.
44543
44544 * include/grub/partition.h (grub_partition_map_iterate): Return
44545 int instead of void.
44546
44547 * include/grub/normal.h (grub_normal_do_completion): New prototype.
44548
44549 * include/grub/misc.h (grub_strncmp): Change the type of N to
44550 grub_size_t.
44551
44552 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
44553 of void.
44554
44555 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 44556 unsigned explicitly before comparing it with I.
8de3495c 44557
44558 * kern/main.c (grub_env_write_root): Add the attribute unused into
44559 VAR.
44560
44561 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44562 normal/completion.c.
44563 (normal_mod_SOURCES): Likewise.
44564 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44565 (normal_mod_SOURCES): Likewise.
44566
44567 * normal/command.c (grub_iterate_commands): If ITERATE returns
44568 non-zero, return one immediately.
44569
e85e144b 445702005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
44571
44572 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
44573 * kern/i386/pc/startup.S: Updated Global Descriptor table's
44574 descriptions.
44575 (grub_vbe_get_controller_info): New function.
44576 (grub_vbe_get_mode_info): Likewise.
44577 (grub_vbe_set_mode): Likewise.
44578 (grub_vbe_get_mode): Likewise.
44579 (grub_vbe_set_memory_window): Likewise.
44580 (grub_vbe_get_memory_window): Likewise.
44581 (grub_vbe_set_scanline_length): Likewise.
44582 (grub_vbe_get_scanline_length): Likewise.
44583 (grub_vbe_set_display_start): Likewise.
44584 (grub_vbe_get_display_start): Likewise.
44585 (grub_vbe_set_palette_data): Likewise.
44586 * include/grub/i386/pc/vbe.h: New file.
44587
c46153d2 445882005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44589
44590 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44591 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
44592 * DISTLIST: Likewise.
44593 * kern/ieee1275/of.c: Moved to ...
44594 * kern/ieee1275/ieee1275.c: ... here.
44595
0cb90c45 445962005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44597
44598 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
44599 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
44600 Pass 0 as `end' parameter to grub_strtoul().
44601
a19fb360 446022005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44603
44604 * include/grub/powerpc/ieee1275/console.h: Do not include
44605 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
44606 ifdef.
44607 (grub_console_cur_color): Remove i386-specific prototype.
44608 (grub_console_real_putchar): Likewise.
44609 (grub_console_checkkey): Likewise.
44610 (grub_console_getkey): Likewise.
44611 (grub_console_getxy): Likewise.
44612 (grub_console_gotoxy): Likewise.
44613 (grub_console_cls): Likewise.
44614 (grub_console_setcursor): Likewise.
44615 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
44616 Include <grub/machine/console.h>.
44617 * term/ieee1275/ofconsole.c: Likewise.
44618
4ac9bd04 446192005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
44620
44621 * Makefile.in (LIBLZO): New variable.
44622
44623 * configure.ac: Check for LZO version 2.
44624
44625 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
44626 lzo/lzo1x.h instead of lzo1x.h.
44627
44628 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
44629 of -llzo.
44630
44631 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
44632 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
44633
44634 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
44635 copying the data from PARTITION to P.
44636
f4917dfd 446372005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44638
44639 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
44640 negative, unload the module.
44641
44642 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
44643 map is "pc_partition_map" but not "pc".
44644 (usage): Fix the description. The options are --boot-image and
44645 --core-image but not --boot-file or --core-file.
44646 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
44647 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
44648 DEFAULT_DIRECTORY.
44649
44650 * util/i386/pc/grub-install.in: Do not specify --boot-file or
44651 --core-file. Specify INSTALL_DEVICE as an argument.
44652
44653 * util/console.c: Include config.h.
44654 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
44655 [HAVE_NCURSES_H]: Include ncurses.h.
44656 [HAVE_CURSES_H]: Include curses.h.
44657 [!A_NORMAL] (A_NORMAL): Defined as zero.
44658 [!A_STANDOUT] (A_STANDOUT): Likewise.
44659
44660 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
44661 -lncurses.
44662 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
44663
44664 * configure.ac: Check for curses libraries and headers.
44665
44666 * Makefile.in (LIBCURSES): New variable.
44667
44668 * genmk.rb (Script::rule): Set the executable bits.
44669
44670 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
44671 name of the PC partition map is "pc_partition_map" but not "pc".
44672
0e143073 446732005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44674
44675 * util/i386/pc/grub-install.in (grub_probefs): New variable.
44676 (modules): Likewise.
44677 (usage): Added descriptions for --modules and --grub-probefs.
44678 Handle --modules and --grub-probefs. Save the arguments in MODULES
44679 and GRUB_PROBEFS, respectively.
44680 Auto-detect a filesystem module against GRUBDIR. If the result is
44681 empty and modules are not specified explicitly, abort the
44682 installation. Add the result to MODULES.
44683
44684 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
44685 disk/powerpc/ieee1275/ofdisk.c,
44686 include/grub/powerpc/ieee1275/init.h and
44687 term/powerpc/ieee1275/ofconsole.c.
44688 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
44689 term/ieee1275/ofconsole.c.
44690
44691 * include/grub/powerpc/ieee1275/console.h: Resurrected.
44692
44693 * COPYING: Upgraded to the latest version. Only the address of the
44694 FSF office has changed.
f19dbdb7 44695
efd6e6d5 446962005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44697
44698 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44699 kern/ieee1275.c with kern/ieee1275/of.c.
44700
44701 * kern/ieee1275.c: Moved to ...
44702 * kern/ieee1275/of.c: ... here.
44703
8ceafda2 447042005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
44705
44706 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 44707 readability.
8ceafda2 44708
44709 * config.guess: Updated to the latest version from gnulib.
44710 * config.sub: Likewise.
44711 * install.sh: Likewise.
44712 * mkinstalldirs: Likewise.
44713
44714 * include/grub/console.h: Removed. This file is arch-specific. Do
44715 not put this in include/grub.
44716
44717 * include/grub/i386/pc/console.h: Resurrected.
44718
44719 * util/console.c: Include grub/machine/console.h instead of
44720 grub/console.h.
44721 * util/grub-emu.c: Likewise.
44722
267f6cd9 447232005-08-04 Marco Gerards <metgerards@student.han.nl>
44724
44725 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
44726 hardcoded value.
f19dbdb7 44727
267f6cd9 44728 From Vincent Pelletier <subdino2004@yahoo.fr>
44729 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
44730 Redefined to use grub_getwh.
44731 (grub_term): New member named getwh.
44732 (grub_getwh): New prototype.
44733 * kern/term.c (grub_getwh): New function.
44734 * term/i386/pc/console.c (grub_console_getwh): New function.
44735 (grub_console_term): New member `getwh'.
44736 * term/i386/pc/vga.c (grub_vga_getwh): New function.
44737 (grub_vga_term): New member `getwh'.
0b5abe02 44738 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 44739 grub_ssize_t.
44740 (grub_ofconsole_getw): New function.
44741 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
44742 (grub_ofconsole_term): New field named getwh and new initial
44743 value.
44744
3be7266d 447452005-08-03 Hollis Blanchard <hollis@penguinppc.org>
44746
44747 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
44748 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
44749 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
44750 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
44751 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
44752 of <grub/machine/ieee1275.h>.
44753 * commands/ieee1275/reboot.c: Likewise.
44754 * boot/powerpc/ieee1275/ieee1275.c: Move ...
44755 * kern/ieee1275.c: ... to here. All users updated. Change all
44756 parameter structs to use new type `grub_ieee1275_cell_t'.
44757 * term/powerpc/ieee1275/ofconsole.c: Move ...
44758 * term/ieee1275/ofconsole.c: ... to here. All users updated.
44759 * disk/powerpc/ieee1275/ofdisk.c: Move ...
44760 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
44761 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
44762 to return int.
44763 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
44764 Remove unused prototypes. All users updated.
44765 * include/grub/powerpc/ieee1275/console.h: Removed.
44766 * include/grub/powerpc/ieee1275/ieee1275.h: Define
44767 `grub_ieee1275_cell_t'.
44768 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
44769 Cast comparisons with -1 to the correct type.
44770 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
44771 type to match `grub_ieee1275_entry_fn'.
44772
8b5f3938 447732005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
44774
44775 * DISTLIST: Added util/i386/pc/grub-probefs.c.
44776
44777 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
44778 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
44779 partmap/sun.c.
44780 (grub_probefs_SOURCES): New variable.
44781
44782 * util/i386/pc/grub-probefs.c: New file.
44783
44784 * util/i386/pc/grub-setup.c (main): Call
44785 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
44786 grub_hfs_init and grub_jfs_init to initialize the system. Call
44787 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
44788 grub_pc_partition_map_fini to finish the system.
44789
ea409713 447902005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
44791
44792 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
44793 function.
44794 (grub_multiboot_load_elf32): Likewise.
44795 (grub_multiboot_is_elf64): Likewise.
44796 (grub_multiboot_load_elf64): Likewise.
44797 (grub_multiboot_load_elf): Likewise.
44798 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
44799 an ELF32 or ELF64 file.
44800 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
44801
44802 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
44803 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
44804 NULL before calling FS->LABEL.
44805 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
44806 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
44807 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
44808 before calling FS->LABEL.
44809
141a288b 448102005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
44811
44812 * util/i386/pc/grub-install.in (datadir): New variable.
44813 (libdir): Removed.
44814 (pkgdatadir): New variable.
44815 (pkglibdir): Removed.
44816
0d5f8a54 448172005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
44818
44819 * DISTLIST: Added util/i386/pc/grub-install.in.
44820
44821 * util/i386/pc/grub-install.in: New file.
44822
44823 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
44824 (grub_install_SOURCES): Likewise.
44825
44826 * genmk.rb: Added support for scripts.
44827 (Script): New class.
44828 (scripts): New variable.
44829
44830 * Makefile.in (install-local): Install sbin_SCRIPTS by
44831 INSTALL_SCRIPT.
44832 (uninstall): Remove sbin_SCRIPTS.
44833
44834 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44835 device, try to get a GRUB device by
44836 grub_util_biosdisk_get_grub_dev.
44837 Free DEST_DEV.
44838
44839 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44840 description for --device-map.
44841
5f968e1e 448422005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44843
44844 Change the semantics of variable hooks. They now return strings
44845 instead of error values.
f19dbdb7 44846
5f968e1e 44847 * util/i386/pc/grub-setup.c: Include grub/env.h.
44848 (setup): Use grub_device_set_root instead of grub_env_set.
44849
44850 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44851 grub_env_get instead of grub_device_set_root and
44852 grub_device_get_root, respectively.
44853
44854 * kern/main.c (grub_env_write_root): New function.
44855 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44856 grub_env_set instead of grub_device_set_root.
44857
44858 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44859 many variables.
44860 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44861 rather than calling ENV->WRITE_HOOK afterwards.
44862 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44863 passing a pointer of a pointer.
44864 (grub_register_variable_hook): Change the types of "read_hook" and
44865 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44866 respectively.
44867 Allocate the default empty string on the heap, because this string
44868 may be freed later.
44869
44870 * kern/device.c: Include grub/env.h.
44871 (grub_device_set_root): Removed.
44872 (grub_device_get_root): Likewise.
44873 (grub_device_open): Use grub_env_get instead of
44874 grub_device_get_root.
44875
44876 * include/grub/env.h (grub_env_read_hook_t): New type.
44877 (grub_env_write_hook_t): Likewise.
44878 (grub_env_var): Change the types of "read_hook" and "write_hook"
44879 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44880 (grub_register_variable_hook): Likewise.
44881
44882 * include/grub/device.h (grub_device_set_root): Removed.
44883 (grub_device_set_root): Likewise.
44884
44885 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44886 make sure that DIRNAME terminates with '/', so that
44887 grub_fat_find_dir will fail if PATH is not a directory.
44888
44889 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44890 from DIRNAME.
44891 Use the qualifier auto for print_files and print_files_long.
44892 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44893 as a regular file.
44894 Put a newline only if there is no error.
44895 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44896 used.
44897
896f0afd 448982005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44899
44900 * kern/partition.c (grub_partition_probe): Initialize PART to
44901 NULL. Otherwise, when no partition map is registered, this returns
44902 a garbage.
44903
b28b81b2 449042005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44905
44906 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44907 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44908 valid.
44909
5f3607e0 449102005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44911
44912 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44913 information on each device, if it does not have partitions. Print
44914 "Device" instead of "Disk", because this function is not specific
44915 to disk devices.
44916
44917 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44918 static to ensure that it is put on the memory rather than a
44919 register.
44920
502c87e8 449212005-07-17 Yoshinori Okuji <okuji@enbug.org>
44922
44923 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44924 (grub_cat_init): Likewise.
44925 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44926 (options): Likewise.
44927 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44928 (grub_configfile_init): Likewise.
44929 * font/manager.c (GRUB_MOD_INIT): Likewise.
44930 * commands/help.c (GRUB_MOD_INIT): Likewise.
44931 (grub_help_init): Likewise.
44932 * normal/command.c (grub_command_init): Likewise.
44933 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44934 * disk/loopback.c (grub_loop_init): Likewise.
44935 (GRUB_MOD_INIT): Likewise.
44936 * commands/ls.c (grub_ls_init): Likewise.
44937 (GRUB_MOD_INIT): Likewise.
44938 (options): Likewise.
44939 * commands/boot.c (grub_boot_init): Likewise.
44940 (GRUB_MOD_INIT): Likewise.
44941 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44942 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44943 (GRUB_MOD_INIT): Likewise.
44944 * commands/cmp.c (grub_cmp_init): Likewise.
44945 (GRUB_MOD_INIT): Likewise.
44946
44947 * normal/arg.c: Use <> instead of "" to include header files.
44948 (SHORT_ARG_HELP): New macro.
44949 (SHORT_ARG_USAGE): Likewise.
44950 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44951 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44952 descriptions.
44953 (find_short): Check if C is 'h' or 'u' explicitly.
44954 (grub_arg_show_help): Use space characters instead of tabs. Treat
44955 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44956 are shown with --help and --usage only if they are not used for
44957 the command itself.
44958 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44959 'h' and 'u'.
44960
44961 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44962 const into "longarg". Change the type of "shortarg" to int.
44963
f806d18e 449642005-07-17 Yoshinori Okuji <okuji@enbug.org>
44965
44966 * boot/i386/pc/boot.S (boot_drive_check): New label.
44967
44968 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44969 macro.
44970
44971 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44972 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44973
e293232b 449742005-07-17 Yoshinori Okuji <okuji@enbug.org>
44975
44976 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
44977 When turning off Gate A20, skip the check and return immediately,
44978 because this is not fatal usually.
44979
ebedfd00 449802005-07-17 Yoshinori Okuji <okuji@enbug.org>
44981
44982 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
44983 be 0x7C00 instead of 0x8000.
44984
44985 * boot/i386/pc/pxeboot.S: Rewritten.
44986
44987 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
44988 EXT_C.
44989 (gate_a20_check_state): Read a byte from 0x108000. Invert the
44990 result.
44991
654fc59f 449922005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
44993
44994 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
44995 robustness. This routine now supports a BIOS call and System
44996 Control Port A to modify the gate A20.
44997
44998 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44999 Increased to 0x440.
45000
09f9923f 450012005-07-12 Hollis Blanchard <hollis@penguinppc.org>
45002
45003 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
45004 device path and resulting ihandle.
45005 (grub_ofdisk_close): dprintf the ihandle being closed.
45006 (grub_ofdisk_read): dprintf function parameters.
45007 * kern/mm.c (grub_mm_init_region): Likewise.
45008 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
45009 (grub_linux_boot): dprintf the Linux entry point, initrd address and
45010 size, and boot arguments.
45011 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
45012 before loading into memory.
45013 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
45014 before loading into memory.
45015
7ef504d8 450162005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
45017
45018 * kern/mm.c: Added much documentation.
45019 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
45020 8, set to 5 instead of 8.
45021
e0f050c2 450222005-07-10 Yoshinori Okuji <okuji@enbug.org>
45023
45024 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
45025
45026 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
45027 (grub_mkdevicemap_SOURCES): New variable.
45028
45029 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
45030 lib/device.c of GRUB Legacy.
45031
7224189a 450322005-07-10 Yoshinori Okuji <okuji@enbug.org>
45033
45034 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
45035 instead of PATH is NULL.
45036
68c864eb 450372005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
45038
45039 * commands/cmp.c (BUFFER_SIZE): New macro.
45040 (grub_cmd_cmp): Close the right file at the right time. Compare
45041 only data just read. Don't report files of different size as
45042 identical. Dynamically allocate buffers. Move variable
45043 declarations at the beginning of function.
45044
e6f3e614 450452005-07-09 Yoshinori Okuji <okuji@enbug.org>
45046
45047 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
45048 reverse.
45049
f8f1559a 450502004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
45051
45052 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
45053 when backspace is pressed at beginning of line.
45054
39c9d41d 450552005-07-03 Yoshinori Okuji <okuji@enbug.org>
45056
45057 * DISTLIST: Added genfslist.sh.
45058
45059 * normal/main.c (fs_module_list): New variable.
45060 (autoload_fs_module): New function.
45061 (read_fs_list): Likewise.
45062 (grub_normal_execute): Call read_fs_list.
45063
45064 * kern/fs.c (grub_fs_autoload_hook): New variable.
45065 (grub_fs_probe): Added support for auto-loading.
45066
45067 * include/grub/normal.h (struct grub_fs_module_list): New struct.
45068 (grub_fs_module_list_t): New type.
45069
45070 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
45071 (grub_fs_autoload_hook): New prototype.
45072
45073 * genfslist.sh: New file.
f19dbdb7 45074
39c9d41d 45075 * genmk.rb: Added a rule to generate a filesystem list.
45076
121c1d83 450772005-06-30 Marco Gerards <metgerards@student.han.nl>
45078
45079 * configure.ac: Fix the test for cross-compiling.
45080
45081 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
45082 define GRUB_UTIL anymore.
45083
45084 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
45085 so this function works on other systems than just big endian.
45086 (load_modules): Likewise.
45087 (add_segments): Likewise.
45088
e75d76e1 450892005-06-23 Hollis Blanchard <hollis@penguinppc.org>
45090
45091 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
45092 contains `l' modifier, get a long from va_arg().
45093
50b5a0a7 450942005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
45095
45096 * kern/mm.c (grub_free): If the next free block which is being
45097 merged is the first free block, set the first block to the block
45098 being freed.
45099 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
45100
89371b20 451012005-05-08 Hollis Blanchard <hollis@penguinppc.org>
45102
45103 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
45104 `grub_ieee1275_chosen'.
45105
168d6e58 451062005-05-08 Hollis Blanchard <hollis@penguinppc.org>
45107
45108 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
45109 (grub_ieee1275_chosen): New variable.
45110 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
45111 `chosen'.
45112 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
45113 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45114 Rename first argument to `phandle' for consistency.
45115 (grub_ieee1275_get_property_length): Likewise.
45116 (grub_ieee1275_next_property): Likewise. Change type of first argument
45117 to grub_ieee1275_phandle_t.
45118 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
45119 Move export next to declaration.
45120 (grub_ieee1275_chosen): New variable.
45121 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
45122 Correct cosmetic typo.
45123 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
45124 `grub_ieee1275_chosen'.
45125 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
45126 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
45127 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
45128 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
45129 `grub_ieee1275_chosen'.
45130
ca5baa3f 451312005-05-10 Hollis Blanchard <hollis@penguinppc.org>
45132
45133 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
45134 /chosen/bootargs.
45135 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
45136 /chosen/bootargs as "variable=value" pairs.
45137
708b345f 451382005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
45139
45140 * include/grub/misc.h (grub_dprintf): New macro.
45141 (grub_real_dprintf): New prototype.
45142 (grub_strword): Likewise.
45143 (grub_iswordseparator): Likewise.
45144 * kern/misc.c (grub_real_dprintf): New function.
45145 (grub_strword): Likewise.
45146 (grub_iswordseparator): Likewise.
45147
f4c5e67c 451482005-04-30 Hollis Blanchard <hollis@penguinppc.org>
45149
45150 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
45151 (roundup): Remove macro.
45152 (grub_ieee1275_flags): Make static.
45153 (grub_ieee1275_realmode): Remove.
45154 (grub_ieee1275_test_flag): New function.
45155 (grub_ieee1275_set_flag): Likewise.
45156 (find_options): Rename to `grub_ieee1275_find_options'; update
45157 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
45158 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
45159 (cmain): New prototype.
45160 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
45161 `grub_ieee1275_flags' directly.
45162 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
45163 machine/biosdisk.h.
45164 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
45165 Don't include grub/machine/init.h.
45166 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
45167 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45168 Remove prototype.
45169 (grub_ieee1275_realmode): Likewise.
45170 (grub_ieee1275_flag): New enum.
45171 (grub_ieee1275_test_flag): New prototype.
45172 (grub_ieee1275_set_flag): New prototype.
45173 * include/grub/powerpc/ieee1275/init.h: Remove file.
45174 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
45175 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
45176 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
45177 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
45178 comment.
45179 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
45180 `grub_ieee1275_test_flag'.
45181 (grub_ieee1275_encode_devname): Likewise.
45182
ed16607e 451832005-04-21 Hollis Blanchard <hollis@penguinppc.org>
45184
45185 * include/grub/powerpc/ieee1275/ieee1275.h
45186 (grub_ieee1275_encode_devname): New prototype.
45187 (grub_ieee1275_get_filename): Likewise.
45188 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
45189 function.
45190 (grub_set_prefix): Likewise.
45191 (grub_machine_init): Call grub_set_prefix.
45192 * kern/powerpc/ieee1275/openfw.c: Fix typos.
45193 (grub_parse_type): New enum.
45194 (grub_ieee1275_get_devargs): New function.
45195 (grub_ieee1275_get_devname): Likewise.
45196 (grub_ieee1275_parse_args): Likewise.
45197 (grub_ieee1275_get_filename): Likewise.
45198 (grub_ieee1275_encode_devname): Likewise.
45199
be369920 452002005-03-30 Marco Gerards <metgerards@student.han.nl>
45201
45202 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
45203 `grub_loader_unset'.
45204
a5ce3a4a 452052005-03-26 Hollis Blanchard <hollis@penguinppc.org>
45206
45207 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
45208 instead of grub_ieee1275_interpret.
45209 (grub_halt_init): New function.
45210 (grub_halt_fini): Likewise.
45211 (GRUB_MOD_INIT): Correct message grammar.
45212 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
45213 instead of grub_ieee1275_interpret.
45214 (grub_reboot_init): New function.
45215 (grub_reboot_fini): Likewise.
45216 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
45217 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
45218 util/i386/pc/misc.c with commands/ieee1275/halt.c,
45219 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
45220 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
45221 function.
45222 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
45223 Add prototype.
45224 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
45225 prototype.
45226 (grub_halt): Likewise.
45227 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
45228 (cmain): Remove __attribute__((unused)).
45229 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
45230 (grub_heap_len): Likewise.
45231 (grub_machine_fini): New function.
45232 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
45233 (grub_halt): Likewise.
45234 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
45235 function.
45236 * util/powerpc/ieee1275/misc.c: New file.
45237
0058f771 452382005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
45239
45240 * DISTLIST: New file.
45241 * gendistlist.sh: Likewise.
f19dbdb7 45242
0058f771 45243 * Makefile.in (COMMON_DISTFILES): Removed.
45244 (BOOT_DISTFILES): Likewise.
45245 (CONF_DISTFILES): Likewise.
45246 (DISK_DISTFILES): Likewise.
45247 (FS_DISTFILES): Likewise.
45248 (INCLUDE_DISTFILES): Likewise.
45249 (KERN_DISTFILES): Likewise.
45250 (LOADER_DISTFILES): Likewise.
45251 (TERM_DISTFILES): Likewise.
45252 (UTIL_DISTFILES): Likewise.
45253 (DISTFILES): Likewise.
45254 (uninstall): Uninstall files in $(pkgdata_DATA).
45255 (DISTLIST): New target.
45256 (distdir): Use the contents of the file DISTLIST to get a list of
45257 distributed files.
45258
46b3b8a5 452592005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
45260
45261 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
45262 descriptor. This is ported from GRUB Legacy.
45263
45264 * gencmdlist.sh: Added an extra semicolon to make it work with
45265 old sed versions. Reported by Robert Bihlmeyer
45266 <robbe@orcus.priv.at>.
45267
5822ff87 452682005-03-08 Yoshinori Okuji <okuji@enbug.org>
45269
45270 Automatic loading of commands is supported.
f19dbdb7 45271
5822ff87 45272 * normal/main.c (read_command_list): New function.
45273 (grub_normal_execute): Call read_command_list.
45274
45275 * normal/command.c (grub_register_command): Return zero or CMD.
45276 Allocate CMD->NAME from the heap.
45277 Initialize CMD->MODULE_NAME to zero.
45278 Find the same name as well. If the same command is found and it is
45279 a dummy command, overwrite members. If it is not a dummy command,
45280 return zero.
45281 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
45282 (grub_command_find): If a dummy command is found, load a module
45283 and retry to find a command only once.
45284
45285 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
45286 make sure that each command is loaded.
45287
45288 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
45289 macro.
45290 (struct grub_command): Remove const from the member `name'.
45291 Add a new member `module_name'.
45292 (grub_register_command): Return grub_command_t.
45293
45294 * commands/help.c (grub_cmd_help): Call grub_command_find to make
45295 sure that each command is loaded.
45296
45297 * genmk.rb (PModule::rule): Specify a module name without the
45298 suffix ".mod" to gencmdlist.sh.
45299
7b1f4b57 453002005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45301
45302 * gencmdlist.sh: New file.
f19dbdb7 45303
7b1f4b57 45304 * genmk.rb (PModule::rule): Generate a rule for a command list.
45305 Clean command.lst.
45306 Generate command.lst from $(COMMANDFILES).
45307
45308 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
45309 (DATA): Added $(pkgdata_DATA).
45310 (install-local): Install files in $(pkgdata_DATA).
45311
062aaf39 453122005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45313
45314 * term/i386/pc/vga.c (debug_command): Removed.
45315 (GRUB_MOD_INIT): Do not register the command "debug".
45316
45317 From Hollis Blanchard:
45318 * commands/configfile.c: New file.
45319 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45320 commands/configfile.c.
45321 (pkgdata_MODULES): Added configfile.mod.
45322 (configfile_mod_SOURCES): New variable.
45323 (configfile_mod_CFLAGS): Likewise.
45324 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45325 commands/configfile.c.
45326 (pkgdata_MODULES): Added configfile.mod.
45327 (configfile_mod_SOURCES): New variable.
45328 (configfile_mod_CFLAGS): Likewise.
45329 * util/grub-emu.c (main): Call grub_configfile_init and
45330 grub_configfile_fini.
45331 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
45332 prototype.
45333 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 45334
cee01aa6 453352005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45336
45337 * normal/arg.c (grub_arg_show_help): Do not show the bug report
45338 address.
45339
45340 * commands/help.c (grub_cmd_help): Do not print newlines after
45341 the last command in print_command_help.
45342
93f3a1d8 453432005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45344
45345 * commands/default.h: New file.
45346 * commands/timeout.h: Likewise.
45347 * normal/context.c: Likewise.
f19dbdb7 45348
93f3a1d8 45349 * util/misc.c: Do not include sys/times.h.
45350 Include sys/time.h and grub/machine/time.h.
45351 (grub_get_rtc): Rewritten with gettimeofday.
45352
45353 * util/grub-emu.c (main): Call grub_default_init and
45354 grub_timeout_init before grub_normal_init, and call
45355 grub_timeout_fini and grub_default_fini after grub_main.
45356
45357 * util/console.c (grub_ncurses_checkkey): Return the read
45358 character or -1.
45359
45360 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
45361 timeouts.
45362
45363 * normal/main.c (read_config_file): Push MENU. If this fails,
45364 print an error and wait for a user input.
45365 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
45366 If a menu is empty or an error occurs, pop MENU.
45367 (grub_normal_execute): Pop and free MENU after grub_menu_run
45368 returns.
45369
45370 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
45371
45372 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
45373 include time.h.
45374 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45375 without GRUB_UTIL.
45376 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
45377 time.h.
45378 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45379 without GRUB_UTIL.
45380
45381 * include/grub/normal.h (struct grub_menu_list): New struct.
45382 (grub_menu_list_t): New type.
45383 (struct grub_context): New struct.
45384 (grub_context_t): New type.
45385 (grub_register_command): Got rid of EXPORT_FUNC.
45386 (grub_unregister_command): Likewise.
45387 (grub_context_get): New prototype.
45388 (grub_context_get_current_menu): Likewise.
45389 (grub_context_push_menu): Likewise.
45390 (grub_context_pop_menu): Likewise.
45391 [GRUB_UTIL] (grub_default_init): Likewise.
45392 [GRUB_UTIL] (grub_default_fini): Likewise.
45393 [GRUB_UTIL] (grub_timeout_init): Likewise.
45394 [GRUB_UTIL] (grub_timeout_fini): Likewise.
45395
45396 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
45397 commands/timeout.c and normal/context.c.
45398 (pkgdata_MODULES): Added default.mod and timeout.mod.
45399 (normal_mod_SOURCES): Added normal/context.c.
45400 (default_mod_SOURCES): New variable.
45401 (default_mod_CFLAGS): Likewise.
45402 (timeout_mod_SOURCES): Likewise.
45403 (timeout_mod_CFLAGS): Likewise.
45404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
45405 conf/i386-pc.rmk.
45406 (pkgdata_MODULES): Added default.mod and timeout.mod.
45407 (normal_mod_SOURCES): Added normal/context.c.
45408 (default_mod_SOURCES): New variable.
45409 (default_mod_CFLAGS): Likewise.
45410 (timeout_mod_SOURCES): Likewise.
45411 (timeout_mod_CFLAGS): Likewise.
45412
45413 * Makefile.in (all-local): Added $(MKFILES).
45414
4ed2e1dd 454152005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
45416
45417 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
45418 (grub_emu_SOURCES): Likewise.
45419 (pkgdata_MODULES): Add `sun.mod'.
45420 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45421 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45422 `partmap/sun.c'.
45423 (pkgdata_MODULES): Add `sun.mod'.
45424 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45425 * include/grub/partition.h (grub_sun_partition_map_init): New
45426 prototype.
45427 (grub_sun_partition_map_fini): Likewise.
45428 * partmap/sun.c: New file.
45429 * util/grub-emu.c (main): Initialize and de-initialize the sun
45430 partitionmap support.
45431
4d4e372e 454322005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
45433
45434 This implements an Emacs-like menu entry editor.
f19dbdb7 45435
4d4e372e 45436 * normal/menu_entry.c: New file.
f19dbdb7 45437
4d4e372e 45438 * util/console.c (grub_ncurses_putchar): Translate some Unicode
45439 characters to ASCII.
45440 (saved_char): New variable.
45441 (grub_ncurses_checkkey): Rewritten completely.
45442 (grub_ncurses_getkey): Likewise.
45443 (grub_ncurses_init): Call raw instead of cbreak.
45444
45445 * normal/menu.c (print_entry): Do not put a space.
45446 (init_page): Renamed to ...
45447 (grub_menu_init_page): ... this. All callers changed.
45448 (edit_menu_entry): Removed.
45449 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
45450
45451 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
45452
45453 * kern/misc.c (grub_vprintf): Call grub_refresh.
45454
45455 * normal/menu.c (DISP_LEFT): Renamed to ...
45456 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
45457 * normal/menu.c (DISP_UP): Renamed to ...
45458 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
45459 * normal/menu.c (DISP_RIGHT): Renamed to ...
45460 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
45461 * normal/menu.c (DISP_DOWN): Renamed to ...
45462 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
45463 * normal/menu.c (DISP_HLINE): Renamed to ...
45464 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
45465 * normal/menu.c (DISP_VLINE): Renamed to ...
45466 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
45467 * normal/menu.c (DISP_UL): Renamed to ...
45468 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
45469 * normal/menu.c (DISP_UR): Renamed to ...
45470 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
45471 * normal/menu.c (DISP_LL): Renamed to ...
45472 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
45473 * normal/menu.c (DISP_LR): Renamed to ...
45474 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
45475 * normal/menu.c (TERM_WIDTH): Renamed to ...
45476 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
45477 * normal/menu.c (TERM_HEIGHT): Renamed to ...
45478 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
45479 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
45480 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
45481 * normal/menu.c (TERM_MARGIN): Renamed to ...
45482 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
45483 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
45484 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
45485 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
45486 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
45487 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
45488 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
45489 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
45490 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
45491 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
45492 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
45493 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
45494 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
45495 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
45496 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
45497 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
45498 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
45499 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
45500 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
45501 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
45502 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
45503 All callers changed.
45504
45505 * include/grub/normal.h: New prototype.
45506
45507 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45508 normal/menu_entry.c.
45509 (normal_mod_SOURCES): Likewise.
45510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45511 (normal_mod_SOURCES): Likewise.
45512
e6b92c8a 455132005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
45514
45515 * include/grub/normal.h (grub_halt_init): New prototype.
45516 (grub_halt_fini): Likewise.
45517 (grub_reboot_init): Likewise.
45518 (grub_reboot_fini): Likewise.
45519
45520 * util/grub-emu.c: Include signal.h.
45521 (main_env): New global variable.
45522 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
45523 catch C-c.
45524 (grub_machine_fini): New function.
45525 (main): Call grub_halt_init and grub_reboot_init before
45526 grub_main, and grub_reboot_fini and grub_halt_fini after it.
45527 Call setjmp with MAIN_ENV to go back afterwards.
45528 Call grub_machine_fini right before return.
45529
45530 * include/grub/util/misc.h: Include setjmp.h.
45531 (main_env): New prototype.
45532
45533 * include/grub/kernel.h (grub_machine_fini): New prototype.
45534 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
45535 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
45536
45537 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
45538 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
45539 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 45540
e6b92c8a 45541 * util/i386/pc/misc.c: New file.
f19dbdb7 45542
e6b92c8a 45543 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45544 util/i386/pc/misc.c, commands/i386/pc/halt.c and
45545 commands/i386/pc/reboot.c.
45546
c642636f 455472005-02-14 Guillem Jover <guillem@hadrons.org>
45548
45549 * include/grub/dl.h (grub_dl_check_header): New prototype.
45550 (grub_arch_dl_check_header): Change return type to grub_err_t,
45551 remove size parameter and export function. Update all callers.
45552 * kern/dl.c (grub_dl_check_header): New function.
45553 (grub_dl_load_core): Use `grub_dl_check_header' instead of
45554 `grub_arch_dl_check_header'. Check ELF type. Check if sections
45555 are inside the core.
45556 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
45557 independent ELF header checks.
45558 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45559 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
45560 `grub_dl_check_header' instead of explicit checks. Check for the
45561 ELF type.
45562 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
45563 `grub_dl_check_header' instead of explicit checks. Remove arch
45564 specific ELF header checks.
45565
e6b92c8a 45566 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
45567 argument SIZE.
45568
5eabe94b 455692005-02-13 Hollis Blanchard <hollis@penguinppc.org>
45570
45571 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
45572 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
45573
1b14a681 455742005-02-12 Hollis Blanchard <hollis@penguinppc.org>
45575
45576 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 45577 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 45578 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 45579 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 45580 * partmap/amiga.c (amiga_partition_map_iterate): Return
45581 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
45582 * partmap/apple.c (apple_partition_map_iterate): Likewise.
45583
aca108aa 455842005-02-01 Guillem Jover <guillem@hadrons.org>
45585
45586 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
45587 help info.
45588
c9f9c556 455892005-01-31 Marco Gerards <metgerards@student.han.nl>
45590
45591 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
45592 Removed prototype.
45593 (grub_rescue_cmd_linux): New prototype.
45594 (grub_rescue_cmd_initrd): Likewise.
45595 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
45596 `bi_rec'.
45597 (grub_linux_release_mem): Release the memory for the initrd.
45598 (grub_load_linux): Renamed from this...
45599 (grub_rescue_cmd_linux): ...To this. Changed all callers.
45600 Changed `entry' not to be static. Loop over memory regions to
45601 find another one when the default fails.
45602 (grub_rescue_cmd_initrd): New function.
45603 (grub_linux_init): Remove function.
45604 (grub_linux_fini): Likewise.
45605 (GRUB_MOD_INIT): Register `initrd'.
45606 (GRUB_MOD_FINI): Unregister `initrd'.
45607 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
45608 Function removed.
45609 (grub_linux_normal_fini): Likewise.
45610 (GRUB_MOD_INIT): Register `initrd'.
45611 (GRUB_MOD_FINI): Unregister `initrd'.
45612
990cf3aa 456132005-01-31 Marco Gerards <metgerards@student.han.nl>
45614
45615 * commands/help.c: New file.
45616 * normal/arg.c (show_help): Renamed to...
45617 (grub_arg_show_help): ... this.
45618 * commands/i386/pc/halt.c: New file.
45619 * commands/i386/pc/reboot.c: Likewise.
45620 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
45621 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
45622 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
45623 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
45624 variables.
45625 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45626 `commands/help.c'.
45627 (pkgdata_MODULES): Add `help.mod'.
45628 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
45629 * grub/i386/pc/init.h (grub_reboot): New prototype.
45630 (grub_halt): Likewise.
45631 * include/grub/normal.h (grub_arg_show_help): New prototype.
45632 (grub_help_init): Likewise.
45633 (grub_help_fini): Likewise.
45634 * util/grub-emu.c (main): Initialize and deinitialize the help
45635 command.
45636
45637 * normal/cmdline.c (grub_cmdline_get): Doc fix.
45638
45639 * normal/command.c (grub_command_init): Fixed the description of
45640 the `set' and `unset' commands.
45641
456422005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 45643
45644 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
45645 function.
45646 * commands/ieee1275/halt.c: New file.
45647 * commands/ieee1275/reboot.c: Likewise.
45648 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
45649 `__attribute__ ((unused))'. Some GCS related fixed.
45650 (grub_suspend_init) [GRUB_UTIL]: Function removed.
45651 (grub_suspend_fini): Likewise.
45652 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
45653 and `halt.mod'.
45654 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
45655 (halt_mod_CFLAGS): New variables.
45656 * include/grub/powerpc/ieee1275/ieee1275.h
45657 (grub_ieee1275_interpret): New prototype.
45658
1ab09cc7 456592005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
45660
45661 * include/grub/misc.h (memmove): New prototype.
45662 (memcpy): Likewise.
45663
8b8cbdb2 456642005-01-22 Hollis Blanchard <hollis@penguinppc.org>
45665
45666 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
45667 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
45668
e3741a27 456692005-01-22 Marco Gerards <metgerards@student.han.nl>
45670
45671 * kern/misc.c (grub_strndup): Function rewritten.
45672
776bd780 456732005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
45674
45675 * normal/menu.c (TERM_WIDTH): Macro redefined.
45676 (TERM_TOP_BORDER_Y): Likewise.
45677 (draw_border): Replaced while-loop by a for-loop. Make the number
45678 of lines consistent with the number of lines displayed in
45679 print_entries. Added a margin below the rectangle.
45680 (print_entry): Make the entry fit in the rectangle.
45681 (print_entries): Display the scroll arrows next to the right
45682 border.
45683
78026bce 456842005-01-21 Marco Gerards <metgerards@student.han.nl>
45685
45686 * fs/minix.c (grub_minix_find_file): Reserve more space for
45687 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
45688 `grub_strncpy' to copy `path' into it.
45689
67bbaf0f 456902005-01-21 Marco Gerards <metgerards@student.han.nl>
45691
45692 Add the loopback device, a device via which files can be accessed
45693 as devices.
f19dbdb7 45694
67bbaf0f 45695 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
45696 (pkgdata_MODULES): Add loopback.mod.
45697 (loopback_mod_SOURCES): New variable.
45698 (loopback_mod_CFLAGS): Likewise.
45699 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45700 `disk/loopback.c'.
45701 (pkgdata_MODULES): Add loopback.mod.
45702 (loopback_mod_SOURCES): New variable.
45703 (loopback_mod_CFLAGS): Likewise.
45704 * disk/loopback.c: new file.
45705 * include/grub/normal.h (grub_loop_init): New prototype.
45706 (grub_loop_fini): New prototype.
45707 * util/grub-emu.c (main): Initialize and de-initialize loopback
45708 support.
45709 * include/grub/disk.h (grub_disk_dev_id): Add
45710 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
45711
6f1c18bd 457122005-01-20 Hollis Blanchard <hollis@penguinppc.org>
45713
45714 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
45715 function.
45716 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
45717 (suspend_mod_SOURCES): New variable.
45718 (suspend_mod_CFLAGS): Likewise.
45719 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
45720 New prototype.
45721 * commands/ieee1275/suspend.c: New file.
45722
b38551da 457232005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45724
45725 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 45726 ((unused))' to `__attribute__ ((used))'.
b38551da 45727 (GRUB_MOD_FINI): Likewise.
45728 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
45729 * genmk.rb (PModule): Assign space to common symbols when linking
45730 modules.
45731
777aff39 457322005-01-20 Marco Gerards <metgerards@student.han.nl>
45733
45734 * include/grub/mm.h (grub_mm_init_region): Change the type of the
45735 `unsigned' arguments to `grub_size_t'.
45736 (grub_malloc): Likewise.
45737 (grub_realloc): Likewise.
45738 (grub_memalign): Likewise.
45739 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
45740 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45741 * util/misc.c (grub_malloc): Likewise.
45742 (grub_realloc): Likewise.
45743 * kern/mm.c (get_header_from_pointer): Change the casts to
45744 `unsigned' into a cast to `grub_size_t'.
45745
45746 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
45747 point to `currnode' when `currnode' is changed.
45748
45749 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
45750 Schottelius <nico-linux@schottelius.org>.
45751
d0ff18e1 457522005-01-09 Hollis Blanchard <hollis@penguinppc.org>
45753
45754 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
45755 (note_path): Remove variable.
45756 (GRUB_IEEE1275_NOTE_NAME): New macro.
45757 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
45758 (grub_ieee1275_note_hdr): New structure.
45759 (grub_ieee1275_note_desc): Likewise.
45760 (grub_ieee1275_note): Likewise.
45761 (load_note): Remove `dir' argument. All callers updated. Remove
45762 `note_img' and `path'. Do not load a file from `note_path'.
45763 Initialize a struct grub_ieee1275_note and write that to `out'.
45764 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
45765
4ca7004c 457662005-01-05 Marco Gerards <metgerards@student.han.nl>
45767
45768 * util/misc.c (grub_util_read_image): Revert last change. It
45769 called `grub_util_read_at', which seeks from the beginning of the
45770 file.
45771
0b412211 457722005-01-04 Hollis Blanchard <hollis@penguinppc.org>
45773
45774 * TODO: Add note about endianness in grub-mkimage.
45775 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
45776 section.
45777 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
45778 (grub_mkimage_SOURCES): New target.
45779 * include/grub/kernel.h (grub_start_addr): Remove variable.
45780 (grub_end_addr): Likewise.
45781 (grub_total_module_size): Likewise.
45782 (grub_kernel_image_size): Likewise.
45783 (GRUB_MODULE_MAGIC): New constant.
45784 (grub_module_info): New structure.
45785 (grub_arch_modules_addr): New prototype.
45786 (grub_get_end_addr): Remove prototype.
45787 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
45788 * include/grub/powerpc/ieee1275/kernel.h: New file.
45789 * include/grub/util/misc.h (grub_util_get_fp_size): New
45790 prototype.
45791 (grub_util_read_at): Likewise.
45792 (grub_util_write_image_at): Likewise.
45793 * kern/main.c (grub_get_end_addr): Remove function.
45794 (grub_load_modules): Call grub_arch_modules_addr instead of using
45795 grub_end_addr. Look for a grub_module_info struct in memory. Use
45796 the grub_module_info fields instead of calling grub_get_end_addr
45797 as loop conditions. Move grub_add_unused_region code here.
45798 (grub_add_unused_region): Remove function.
45799 * kern/i386/pc/init.c: Include grub/cache.h.
45800 (grub_machine_init): Remove call to grub_get_end_addr. Remove
45801 one call to add_mem_region.
45802 (grub_arch_modules_addr): New function.
45803 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
45804 (grub_total_module_size): Likewise.
45805 Include grub/machine/kernel.h.
45806 (grub_arch_modules_addr): New function.
45807 * util/grub-emu.c (grub_end_addr): Remove variable.
45808 (grub_total_module_size): Likewise.
45809 (grub_arch_modules_addr): New function.
45810 * util/misc.c: Include unistd.h.
45811 (grub_util_get_fp_size): New function.
45812 (grub_util_read_at): Likewise.
45813 (grub_util_write_image_at): Likewise.
45814 (grub_util_read_image): Call grub_util_read_at.
45815 (grub_util_write_image): Call grub_util_write_image_at.
45816 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
45817 additional memory in kernel_img for a struct grub_module_info.
45818 Fill in that grub_module_info.
45819 * util/powerpc/ieee1275/grub-mkimage.c: New file.
45820
458786f8 458212005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45822
45823 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
45824 New function.
45825 * include/grub/powerpc/ieee1275/ieee1275.h
45826 (grub_ieee1275_milliseconds): New prototype.
45827 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
45828 Change to 1000.
45829 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
45830 grub_ieee1275_milliseconds.
45831
ac507d1b 458322005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45833
45834 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45835 variable.
45836 (find_options): New function.
45837 (cmain): Call find_options.
45838 * include/grub/powerpc/ieee1275/ieee1275.h
45839 (grub_ieee1275_realmode): New extern variable.
45840 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45841 grub_map if grub_ieee1275_realmode is false.
45842
6b8fd1c4 458432004-12-29 Marco Gerards <metgerards@student.han.nl>
45844
45845 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45846 lines are inserted and make it work like readline. Reported by
45847 Vincent Pelletier <subdino2004@yahoo.fr>.
45848
8514a1e0 458492004-12-28 Marco Gerards <metgerards@student.han.nl>
45850
45851 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45852
45853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45854 `kern/powerpc/cache.S'.
45855
924b6140 458562004-12-27 Marco Gerards <metgerards@student.han.nl>
45857
45858 * genmk.rb: Handle the `Program' class in the main loop. Written
45859 by Johan Rydberg <jrydberg@gnu.org>.
45860 (Program): New class.
45861 (programs): New variable.
45862 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45863 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45864 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45865 (help_arch): Function removed.
45866 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45867 `powerpc/libgcc.h' and `loader.h'.
45868 (pkgdata_PROGRAMS): New variable.
45869 (sbin_UTILITIES): Variable removed.
45870 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45871 (grubof_SOURCES): Variable re-defined so it only includes the
45872 core functionality.
45873 (grubof_CFLAGS): Remove `-DGRUBOF'.
45874 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45875 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45876 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45877 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45878 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45879 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45880 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45881 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45882 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45883 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45884 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45885 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45886 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45887 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45888 (pc_mod_CFLAGS): New variables.
45889 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45890 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45891 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45892 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45893 Moved from here...
45894 * include/grub/i386/pc/init.h (grub_os_area_addr)
45895 (rub_os_area_size): ... to here.
45896 * include/grub/powerpc/ieee1275/ieee1275.h
45897 (grub_ieee1275_entry_fn): Export symbol.
45898 * include/grub/powerpc/ieee1275/init.h: New file.
45899 * include/grub/powerpc/libgcc.h: Likewise.
45900 * include/grub/cache.h: Likewise.
45901 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45902 <hollis@penguinppc.org>.
45903 * kern/dl.c: Include <grub/cache.h>.
45904 (grub_dl_flush_cache): New function.
45905 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45906 for this module.
45907 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45908 (grub_console_init): Removed prototypes.
45909 (grub_machine_init): Don't initialize the modules anymore.
45910 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45911 static.
45912 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45913 Macro undef removed.
45914 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45915 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45916 relocation `R_PPC_REL32'. Return an error when the relocation is
45917 unknown.
45918 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45919 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45920 * util/misc.c (grub_arch_sync_caches): Likewise.
45921
e4b47e0c 459222004-12-19 Marco Gerards <metgerards@student.han.nl>
45923
45924 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45925 `symlist.c', add `grubof_symlist.c'.
45926 (symlist.c): Variable removed.
45927 (grubof_HEADERS): Variable added.
45928 (grubof_symlist.c): New target.
45929 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45930 `kernel_img_HEADERS'.
45931 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45932 * kern/powerpc/dl.c: New file.
45933 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45934 Function removed.
45935 (grub_arch_dl_relocate_symbols): Likewise.
45936 (grub_register_exported_symbols): Likewise.
45937
4ceb3636 459382004-12-13 Marco Gerards <metgerards@student.han.nl>
45939
45940 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45941 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45942 to fail instead. Reported by Vincent Pelletier
45943 <subdino2004@yahoo.fr>.
45944
45945 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45946 it is not allocated. Reported by Vincent Pelletier
45947 <subdino2004@yahoo.fr>.
45948
45949 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45950 output so the output looks better.
f19dbdb7 45951
3f1578fe 459522004-12-04 Marco Gerards <metgerards@student.han.nl>
45953
45954 Modulize the partition map support and add support for the amiga
45955 partition map.
f19dbdb7 45956
3f1578fe 45957 * commands/ls.c: Include <grub/partition.h> instead of
45958 <grub/machine/partition.h>.
45959 * kern/disk.c: Likewise.
45960 * kern/rescue.c: Likewise.
45961 * loader/i386/pc/chainloader.c: Likewise.
45962 * normal/cmdline.c: Likewise.
45963 * kern/powerpc/ieee1275/init.c: Likewise.
45964 (grub_machine_init): Call `grub_pc_partition_map_init',
45965 `grub_amiga_partition_map_init' and
45966 `grub_apple_partition_map_init'.
45967 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45968 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45969 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45970 `partition.h' and `pc_partition.h'.
45971 (grub_setup_SOURCES): Remove
45972 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45973 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45974 (grub_emu_SOURCES): Likewise.
45975 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45976 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
45977 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
45978 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45979 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
45980 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45981 (grubof_SOURCES): Likewise.
45982 * disk/i386/pc/partition.c: File removed.
45983 * disk/powerpc/ieee1275/partition.c: Likewise.
45984 * include/grub/powerpc/ieee1275/partition.h: Likewise.
45985 * include/grub/i386/pc/partition.h: Likewise.
45986 * kern/partition.c: New file.
45987 * partmap/amiga.c: Likewise.
45988 * partmap/apple.c: Likewise.
45989 * partmap/pc.c: Likewise.
45990 * include/grub/partition.h: Likewise..
45991 * include/grub/pc_partition.h: Likewise.
45992 * util/grub-emu.c: Include <grub/partition.h> instead of
45993 <grub/machine/partition.h>.
45994 (main): Call `grub_pc_partition_map_init',
45995 `grub_amiga_partition_map_init' and
45996 `grub_apple_partition_map_init' and deinitialize afterwards.
45997 * util/i386/pc/biosdisk.c: Include `#include
45998 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45999 `<grub/machine/partition.h>'.
46000 * util/i386/pc/grub-setup.c: Likewise.
46001 * util/i386/pc/biosdisk.c: Likewise.
46002 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
46003 partition information in case of a PC partition.
46004 * util/i386/pc/grub-setup.c: Include `#include
46005 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
46006 `<grub/machine/partition.h>'.
46007 (setup): Only access the PC specific partition information in case
46008 of a PC partition.
46009
0ef4ced9 460102004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 46011
0ef4ced9 46012 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
46013 (grub_longjmp): Likewise.
46014 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
46015 20.
46016 * normal/powerpc/setjmp.S: New file.
46017 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
46018 `normal/powerpc/setjmp.S'.
46019 (grubof_CFLAGS): Add `-DGRUBOF'.
46020 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
46021 [GRUB_UTIL && !GRUBOF].
f19dbdb7 46022
19950e29 460232004-11-16 Marco Gerards <metgerards@student.han.nl>
46024
46025 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
46026 property named `name'. Correctly handle the error returned by
46027 `grub_ieee1275_finddevice' if a device can not be opened.
46028
a2fea427 460292004-11-02 Hollis Blanchard <hollis@penguinppc.org>
46030
46031 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
46032 `actual' for negativity.
46033 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
46034 kern/fshelp.c.
46035
41ea0ea3 460362004-11-01 Marco Gerards <metgerards@student.han.nl>
46037
46038 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
46039 (PAGE_OFFSET): New macro.
46040 (CRTC_ADDR_PORT): Likewise.
46041 (CRTC_DATA_PORT): Likewise.
46042 (START_ADDR_HIGH_REGISTER): Likewise.
46043 (START_ADDR_LOW_REGISTER): Likewise.
46044 (GRAPHICS_ADDR_PORT): Likewise.
46045 (GRAPHICS_DATA_PORT): Likewise.
46046 (READ_MAP_REGISTER): Likewise.
46047 (INPUT_STATUS1_REGISTER): Likewise.
46048 (INPUT_STATUS1_VERTR_BIT): Likewise.
46049 (page): New variable.
46050 (wait_vretrace): New function.
46051 (set_read_map): Likewise.
46052 (set_start_address): Likewise.
46053 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
46054 the right page.
46055 (check_vga_mem): Take the page into account.
46056 (write_char): Likewise.
46057 (write_cursor): Likewise.
46058 (scroll_up): Likewise. Copy the page to the page that is not
46059 shown and switch between both pages.
46060 (grub_vga_putchar): Fix off by one error.
46061 (grub_vga_cls): Wait for the vertical retrace. Take the page into
46062 account.
46063
ad0bd20b 460642004-11-01 Marco Gerards <metgerards@student.han.nl>
46065
46066 Add support for iso9660 (including rockridge).
f19dbdb7 46067
ad0bd20b 46068 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
46069 (iso9660_mod_SOURCES): New variable.
46070 (iso9660_mod_CFLAGS): Likewise.
46071 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
46072 * include/grub/fs.h (grub_iso9660_init): New prototype.
46073 * util/grub-emu.c (main): Call `grub_iso9660_init'.
46074 * fs/iso9660.c: New file.
46075
46076 * include/grub/misc.h (grub_strncat): New prototype.
46077 * kern/misc.c (grub_strncat): New function.
f19dbdb7 46078
ad0bd20b 46079 * fs/hfs.c (grub_hfs_mount): Translate the error
46080 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
46081 * fs/jfs.c (grub_jfs_mount): Likewise.
46082 * fs/ufs.c (grub_ufs_mount): Likewise.
46083
a5477a59 460842004-10-28 Hollis Blanchard <hollis@penguinppc.org>
46085
46086 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
46087 which initialized BAT registers.
46088 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
46089 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
46090 Move from here...
46091 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
46092 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
46093 ... to here.
46094 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
46095 (grub_mapclaim): Likewise.
46096 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
46097 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
46098 hand.
46099
9304c1f8 461002004-10-19 Hollis Blanchard <hollis@penguinppc.org>
46101
46102 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
46103 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
46104 -ffreestanding and -msoft-float.
46105
86f4ae25 461062004-10-15 Hollis Blanchard <hollis@penguinppc.org>
46107
46108 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
46109 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
46110 set in grub_ieee1275_flags.
46111
38912228 461122004-10-14 Hollis Blanchard <hollis@penguinppc.org>
46113
46114 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
46115 prototype.
46116 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
46117 grub_console_init first.
46118 Change the memory range used for grub_ieee1275_claim and
46119 grub_mm_init_region.
46120 Print an error message if the claim fails.
46121 Include <grub/misc.h>.
46122
d1923dc8 461232004-10-13 Hollis Blanchard <hollis@penguinppc.org>
46124
46125 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
46126 Call grub_children_iterate for device nodes of type `scsi',
46127 `ide', or `ata'.
46128 (grub_ofdisk_open): Remove manual device alias resolution.
46129 Fix memory leak when device cannot be opened.
f19dbdb7 46130 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 46131 (grub_children_iterate): New prototype.
46132 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
46133 New function.
46134 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46135 Return -1 if args.size was -1.
46136
4512e4f3 461372004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46138
46139 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
46140 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
46141 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
46142 Open Firmware's memory for it; claim memory from _start to _end.
46143 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
46144 (_end): New extern.
46145 (_start): Zero BSS from __bss_start to _end.
46146 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
46147 New extern.
46148 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
46149
4d61feb0 461502004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46151
ad0bd20b 46152 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
46153 -1 if args.base was -1.
4d61feb0 46154
026fa2f9 461552004-10-08 Hollis Blanchard <hollis@penguinppc.org>
46156
46157 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
46158 escape sequence instead of a literal ^L. Also call
46159 grub_ofconsole_gotoxy.
46160
9f2220ef 461612004-10-03 Hollis Blanchard <hollis@penguinppc.org>
46162
46163 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
46164 void * arguments to grub_addr_t. All callers updated. Also make
46165 the `result' argument optional.
46166 (grub_ieee1275_release): change void * arguments to grub_addr_t.
46167 All callers updated.
46168
8a572cd7 461692004-09-22 Hollis Blanchard <hollis@penguinppc.org>
46170
46171 * commands/ls.c (grub_ls_list_files): Use the string following the
46172 initial ')', if present, as the filesystem path.
46173 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
46174
46175 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
46176
18aa81f2 461772004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
46178
46179 Make the source code of the menu interface more readable.
f19dbdb7 46180
18aa81f2 46181 * normal/menu.c: Include grub/mm.h.
46182 (TERM_WIDTH): New macro.
46183 (TERM_HEIGHT): Likewise.
46184 (TERM_INFO_HEIGHT): Likewise.
46185 (TERM_MARGIN): Likewise.
46186 (TERM_SCROLL_WIDTH): Likewise.
46187 (TERM_TOP_BORDER_Y): Likewise.
46188 (TERM_LEFT_BORDER_X): Likewise.
46189 (TERM_BORDER_WIDTH): Likewise.
46190 (TERM_MESSAGE_HEIGHT): Likewise.
46191 (TERM_BORDER_HEIGHT): Likewise.
46192 (TERM_NUM_ENTRIES): Likewise.
46193 (TERM_FIRST_ENTRY_Y): Likewise.
46194 (TERM_ENTRY_WIDTH): Likewise.
46195 (TERM_CURSOR_X): Likewise.
46196 (draw_border): Use macros instead of magic numbers.
46197 (print_entry): Likewise.
46198 (print_entries): Likewise.
46199 (run_menu): Likewise. Also, handle the key 'e'.
46200 (run_menu_entry): Ignore empty command lines.
46201 (print_message): Added a new argument EDIT. If EDIT is true,
46202 print a different message.
46203 (init_page): Likewise.
46204 (edit_menu_entry): New function. Not implemented yet.
46205
b47efe30 462062004-09-17 Marco Gerards <metgerards@student.han.nl>
46207
46208 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
46209 can be loaded from normal mode.
f19dbdb7 46210
b47efe30 46211 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
46212 `multiboot.mod'.
46213 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
46214 (multiboot_mod_CFLAGS): New variables.
46215 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 46216 * loader/i386/pc/multiboot_normal.c: Likewise.
46217
b47efe30 46218 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
46219 attribute `unused'.
f19dbdb7 46220
b47efe30 46221 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
46222 `fdiro' to read the mode information from instead of `diro'.
46223
46224 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
46225 looking up a symlink.
46226
46227 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
46228 macro.
46229 * normal/command.c (grub_command_execute): Don't parse the
46230 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
46231 flags of the command.
46232
46233 * normal/menu.c (grub_menu_run): Fix typo.
46234
da75ac71 462352004-09-14 Hollis Blanchard <hollis@penguinppc.org>
46236
46237 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
46238
46239 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
46240 `y + 1' instead of `y - 1'.
46241
46242 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 46243
062b24c2 462442004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
46245
46246 From Hollis Blanchard <hollis@penguinppc.org>:
46247 * kern/misc.c (memmove): New alias for grub_memmove.
46248 (memcmp): New alias for grub_memcmp.
46249 (memset): New alias for grub_memset.
f19dbdb7 46250 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 46251 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 46252 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 46253 (grub_ieee1275_get_property): Likewise.
f19dbdb7 46254
8ddad845 462552004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
46256
46257 Added normal mode command `chainloader' as module chain.mod, which
46258 depends on normal.mod and _chain.mod.
f19dbdb7 46259
8ddad845 46260 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
46261 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
46262 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
46263 Deleted prototype.
46264 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
46265 but arguments parsing moved to ...
46266 (grub_chainloader_cmd): ... here. New function.
46267 * include/grub/i386/pc/chainloader.h: New file.
46268 * loader/i386/pc/chainloader_normal.c: Likewise.
46269
2c1f4ce3 462702004-09-11 Marco Gerards <metgerards@student.han.nl>
46271
46272 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
46273 (grub_mkimage_LDFLAGS): Likewise.
46274 (grub_emu_SOURCES): Likewise.
46275 (kernel_img_HEADERS): Added fshelp.h.
46276 * fs/ext2.c: Include <grub/fshelp.h>.
46277 (FILETYPE_REG): New macro.
46278 (FILETYPE_INO_REG): Likewise.
46279 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
46280 Changed all users.
46281 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
46282 all users.
46283 (grub_fshelp_node): New struct.
46284 (grub_ext2_data): Added member `diropen'. Changed member `inode'
46285 to a pointer.
46286 (grub_ext2_get_file_block): Removed function.
46287 (grub_ext2_read_block): New function.
46288 (grub_ext2_read_file): Replaced parameter `data' by `node'.
46289 This function was written.
46290 (grub_ext2_mount): Read the root inode. Create a diropen struct.
46291 (grub_ext2_find_file): Removed function.
46292 (grub_ext2_read_symlink): New function.
46293 (grub_ext2_iterate_dir): Likewise.
46294 (grub_ext2_open): Rewritten.
46295 (grub_ext2_dir): Rewritten.
46296 * include/grub/fshelp.h: New file.
46297 * fs/fshelp.c: Likewise.
46298
3c52136a 462992004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
46300
46301 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
46302 (print_message): Add a missing newline.
46303 (run_menu): Added timeout support.
46304 (run_menu_entry): New local function.
46305 (grub_menu_run): Added support for booting.
46306
46307 * kern/loader.c (grub_loader_is_loaded): New function.
46308
46309 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
46310 (grub_get_rtc): Exported.
46311
46312 * include/grub/i386/pc/time.h: Include grub/symbol.h.
46313 (grub_get_rtc): Exported.
46314
46315 * include/grub/normal.h (struct grub_command_list): Remove
46316 constant from the member `command'.
46317
46318 * include/grub/loader.h (grub_loader_is_loaded): Declared.
46319
46320 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
46321
46322 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
46323
aa033560 463242004-08-28 Marco Gerards <metgerards@student.han.nl>
46325
46326 Add support for the JFS filesystem.
46327
46328 * fs/jfs.c: New file.
46329 * include/grub/fs.h (grub_jfs_init): New prototype.
46330 (grub_jfs_fini): New prototype.
46331 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
46332 (grub_emu_SOURCES): Likewise.
46333 (pkgdata_MODULES): Add jfs.mod.
46334 (jfs_mod_SOURCES): New variable.
46335 (jfs_mod_CFLAGS): Likewise.
46336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
46337 (grubof_SOURCES): Likewise.
46338 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
46339
46340 * fs/fat.c (grub_fat_find_dir): Convert the filename little
46341 endian to the host endian.
46342 (grub_fat_utf16_to_utf8): Move function from there...
46343 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 46344 the endianness of the source string anymore.
aa033560 46345 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
46346
94bc45af 463472004-08-24 Marco Gerards <metgerards@student.han.nl>
46348
46349 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
46350 (grub_boot_fini) [GRUB_UTIL]: Likewise.
46351 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
46352 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 46353
94bc45af 46354 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
46355 (grub_hfs_iterate_dir): Make the function static. Add prototypes
46356 for `node_found' and `it_dir'.
46357 (grub_hfs_dir): Add prototype for `dir_hook'.
46358
46359 * fs/minix.c (grub_minix_get_file_block): Add prototype for
46360 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
46361 and `indir32' to silence a gcc warning.
46362
46363 * include/grub/fs.h (grub_hfs_init): New prototype.
46364 (grub_hfs_fini): Likewise.
f19dbdb7 46365
46366
97543f08 463672004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46368
46369 Each disk device has its own id now. This is useful to make use
46370 of multiple disk devices.
f19dbdb7 46371
97543f08 46372 * include/grub/disk.h (grub_disk_dev_id): New enum.
46373 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
46374 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
46375
46376 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
46377 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46378
46379 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
46380 GRUB_DISK_DEVICE_OFDISK_ID as an id.
46381
46382 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
46383 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46384
46385 * include/grub/disk.h (struct grub_disk_dev): Added a new member
46386 "id" which is used by the cache manager.
46387
46388 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
46389 of just "GRUB".
46390
64372eb4 463912004-08-18 Marco Gerards <metgerards@student.han.nl>
46392
46393 * fs/hfs.c: New file.
46394 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
46395 (grub_emu_SOURCES): Likewise.
46396 (pkgdata_MODULES): Add hfs.mod.
46397 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
46398 (grubof_SOURCES): Likewise.
46399 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
46400
46401 * include/grub/misc.h (grub_strncasecmp): Add prototype.
46402 * kern/misc.c (grub_strncasecmp): Add function.
46403
cc61b58f 464042004-08-14 Marco Gerards <metgerards@student.han.nl>
46405
46406 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
46407 with parentheses.
46408
46409 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
46410 (grub_ext2_dir): In case the directory entry type is unknown, read
46411 it from the inode.
46412
0ef123f6 464132004-08-02 Peter Bruin <pjbruin@dds.nl>
46414
46415 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
46416 grub_load_linux instead of grub_rescue_cmd_linux as second
46417 argument of grub_rescue_register_command.
46418
46419 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
46420
a447c5df 464212004-07-27 Marco Gerards <metgerards@student.han.nl>
46422
46423 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
46424 function.
46425 * commands/boot.c: Remove the check for `GRUB_UTIL'.
46426 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
46427 `loader/powerpc/ieee1275/linux.c',
46428 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
46429 * include/grub/powerpc/ieee1275/ieee1275.h
46430 (grub_ieee1275_release): New prototype.
46431 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
46432 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
46433 normal, boot, linux and linux_normal.
46434 * loader/powerpc/ieee1275/linux.c: New file.
46435 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46436
5a9e3546 464372004-07-12 Marco Gerards <metgerards@student.han.nl>
46438
46439 * normal/arg.c (grub_arg_parse): Correct error handling after
46440 reallocating the argumentlist (check if `argl' is not null instead
46441 of checking if `args' is not null).
46442 * kern/mm.c (grub_realloc): Return the same pointer when using the
46443 same region, instead of returning the header address.
46444
e15199cb 464452004-07-11 Marco Gerards <metgerards@student.han.nl>
46446
46447 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
46448 one block instead of two when looking for the initial partition.
46449 (grub_partition_probe): Initialize the local variable `p' with 0.
46450 Use base 10 for the grub_strtoul call.
46451 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
46452 need for one local variable.
46453 (grub_strtoul): Don't add the new value to `num', instead of that
46454 just assign it.
46455
020616c2 464562004-07-11 Marco Gerards <metgerards@student.han.nl>
46457
46458 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
46459 (pxeboot_img_SOURCES): New variable.
46460 (pxeboot_img_ASFLAGS): Likewise.
46461 (pxeboot_img_LDFLAGS): Likewise.
46462 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
46463 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
46464 <lode_leroy@hotmail.com>.
46465
6c51eb64 464662004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46467
46468 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
46469 there was no input.
46470
cfb12aff 464712004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46472
46473 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
46474 the history buffer logic.
46475
6eabba74 464762004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46477
46478 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
46479 (FILETYPE_INO_SYMLINK): New macros.
46480 (grub_ext2_find_file): Check if the node is a directory using the
46481 inode stat information instead of using the filetype in the
46482 dirent. Exclude the first character of an absolute symlink.
46483 (grub_ext2_dir): Mask out the filetype part of the mode member of
46484 the inode.
46485
66e19ef8 464862004-05-24 Marco Gerards <metgerards@student.han.nl>
46487
46488 Add support for UFS version 1 and 2. Add support for the minix
46489 filesystem version 1 and 2, both the variants with 14 and 30 long
46490 filenames.
f19dbdb7 46491
66e19ef8 46492 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
46493 fs/minix.c.
46494 (grub_emu_SOURCES): Likewise.
46495 (pkgdata_MODULES): Add ufs.mod and minix.mod.
46496 (ufs_mod_SOURCES): New variable.
46497 (ufs_mod_CFLAGS): Likewise.
46498 (minix_mod_SOURCES): Likewise.
46499 (minix_mod_CFLAGS): Likewise.
46500 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
46501 fs/minix.c.
46502 (grubof_SOURCES): Likewise.
46503 * fs/ufs.c: New file.
46504 * fs/minix.c: New file.
46505 * include/grub/fs.h (grub_ufs_init): New prototype.
46506 (grub_ufs_fini): Likewise.
46507 (grub_minix_init): Likewise.
46508 (grub_minix_fini): Likewise.
46509 * util/grub-emu.c (main): Initialize and deinitialize UFS and
46510 minix fs.
46511
cc2e748a 465122004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
46513
46514 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
46515 commands/ls.c, commands/terminal.c, commands/boot.c,
46516 commands/cmp.c and commands/cat.c.
46517 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
46518
46519 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
46520 "env.h"
46521
4b13b216 465222004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46523
46524 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
46525 and grub_, respectively. Because the conversion is trivial and
46526 mechanical, I omit the details here. Please refer to the CVS
46527 if you need more information.
46528
6a142551 465292004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46530
46531 * include/pupa: Renamed to ...
46532 * include/grub: ... this.
46533 * util/i386/pc/pupa-mkimage.c: Renamed to ...
46534 * util/i386/pc/grub-mkimage.c: ... this.
46535 * util/i386/pc/pupa-setup.c: Renamed to ...
46536 * util/i386/pc/grub-setup.c: ... this.
46537 * util/pupa-emu.c: Renamed to ...
46538 * util/grub-emu.c: ... this.
46539
e56cdf21 465402004-03-29 Marco Gerards <metgerards@student.han.nl>
46541
46542 Add support for the newworld apple macintosh (PPC). This has been
46543 tested on the powerbook 2000 only. It only adds support for
46544 generic ieee1275 functions, console and disk support. This should
46545 be easy to port to other architectures with support for Open
46546 Firmware.
f19dbdb7 46547
e56cdf21 46548 * configure.ac: Accept the powerpc as host_cpu. In the case of
46549 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
46550 specific tests are only executed while building for the i386.
46551 Inverse test for crosscompile.
46552 * genmk.rb (Utility): Allow assembler files.
46553 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
46554 * conf/powerpc-ieee1275.rmk: New file.
46555 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
46556 * disk/powerpc/ieee1275/partition.c: Likewise.
46557 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
46558 * include/pupa/powerpc/ieee1275/console.h: Likewise.
46559 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
46560 * include/pupa/powerpc/ieee1275/time.h: Likewise.
46561 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
46562 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
46563 * include/pupa/powerpc/ieee1275/loader.h
46564 * include/pupa/powerpc/setjmp.h: Likewise.
46565 * include/pupa/powerpc/types.h: Likewise.
46566 * kern/powerpc/ieee1275/init.c: Likewise.
46567 * kern/powerpc/ieee1275/openfw.c: Likewise.
46568 * term/powerpc/ieee1275/ofconsole.c: Likewise.
46569
46570 These files were written by Johan Rydberg
46571 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 46572
e56cdf21 46573 * boot/powerpc/ieee1275/cmain.c: New file.
46574 * boot/powerpc/ieee1275/crt0.S: Likewise.
46575 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
46576 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
46577
8c8cc205 465782004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
46579
46580 * Makefile.in: Update copyright.
46581 * genmodsrc.sh: Likewise.
46582 * gensymlist.sh: Likewise.
46583 * term/i386/pc/vga.c: Indent correctly.
46584
46585 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
46586 bugreporting address.
46587 * util/i386/pc/pupa-setup.c (usage): Likewise,
46588 (main): Call pupa_ext2_init and pupa_ext2_fini.
46589
f19dbdb7 46590 * fs/fat.c (log2): Renamed to ...
8c8cc205 46591 (fat_log2): ... this.
46592 All callers changed.
46593 * kern/misc.c (memcpy): Alias to pupa_memmove.
46594 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
46595 lvalue cast.
46596 * util/console.c (pupa_ncurses_fini): Return 0.
46597
46598 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
46599 Move fail label here.
46600 [__GNU__]: Don't warn when using stat.
46601 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
46602 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
46603 long int. Use strtol instead of strtoul.
f19dbdb7 46604
db1771cf 466052004-03-14 Marco Gerards <metgerards@student.han.nl>
46606
46607 * commands/boot.c: New file.
46608 * commands/cat.c: Likewise.
46609 * commands/cmp.c: Likewise.
46610 * commands/ls.c: Likewise.
46611 * commands/terminal.c: Likewise.
46612 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
46613 (pupa_register_command): Changed interface to match the new
46614 argument parser.
46615 (pupa_command_execute): Changed (almost rewritten) so it uses
46616 pupa_split_command. Added support for setting variables using the
46617 syntax `foo=bar'.
46618 (rescue_command): Changed to work with the new argument parser.
46619 (terminal_command): Moved from here to commands/terminal.c.
46620 (set_command): New function.
46621 (unset_command): New function.
46622 (insmod_command): New function.
46623 (rmmod_command): New function.
46624 (lsmod_command): New function.
46625 (pupa_command_init): Don't initialize the command terminal
46626 anymore. Initialize the commands set, unset, insmod, rmmod and
46627 lsmod.
46628 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
46629 (kernel_img_HEADERS): Add arg.h and env.h.
46630 (pupa_mkimage_LDFLAGS): Add kern/env.c.
46631 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
46632 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
46633 normal/arg.c.
46634 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
46635 terminal.mod.
46636 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
46637 (boot_mod_SOURCES): New variable.
46638 (terminal_mod_SOURCES): Likewise.
46639 (ls_mod_SOURCES): Likewise.
46640 (cmp_mod_SOURCES): Likewise.
46641 (cat_mod_SOURCES): Likewise.
46642
46643 * normal/arg.c: New file.
46644 * kern/env.c: Likewise.
46645 * include/pupa/arg.h: Likewise.
46646 * include/pupa/env.h: Likewise.
46647 * font/manager.c (font_command): Changed to match argument parsing
46648 interface changes.
46649 (PUPA_MOD_INIT): Likewise.
46650 * hello/hello.c (pupa_cmd_hello): Likewise.
46651 (PUPA_MOD_INIT): Likewise.
46652 * include/pupa/disk.h: Include <pupa/device.h>.
46653 (pupa_print_partinfo): New prototype.
46654 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
46655 (pupa_dl_get_prefix): Likewise.
46656 * include/pupa/misc.h: Include <pupa/err.h>.
46657 (pupa_isgraph): New prototype.
46658 (pupa_isdigit): Likewise.
46659 (pupa_split_cmdline): Likewise.
46660 * include/pupa/normal.h: Include <pupa/arg.h>.
46661 (pupa_command): Changed the prototype of the member `func' to
46662 match the argument parsing interface. Added member `options'.
46663 (pupa_register_command): Updated to match function.
46664 (pupa_arg_parse): New prototype.
46665 (pupa_hello_init) [PUPA_UTIL]: New prototype.
46666 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
46667 (pupa_ls_init) [PUPA_UTIL]: Likewise.
46668 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
46669 (pupa_cat_init) [PUPA_UTIL]: Likewise.
46670 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
46671 (pupa_boot_init) [PUPA_UTIL]: Likewise.
46672 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
46673 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
46674 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
46675 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
46676 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
46677 * kern/disk.c: Include <pupa/file.h>.
46678 (pupa_print_partinfo): New function.
46679 * kern/dl.c: Include <pupa/env.h>.
46680 (pupa_dl_dir): Variable removed.
46681 (pupa_dl_load): Use the environment variable `prefix' instead of
46682 the variable pupa_dl_dir.
46683 (pupa_dl_set_prefix): Function removed.
46684 (pupa_dl_get_prefix): Likewise.
46685 * kern/i386/pc/init.c: Include <pupa/env.h>.
46686 (pupa_machine_init): Use the environment variable `prefix' instead of
46687 using pupa_dl_set_prefix to set the prefix.
46688 * kern/main.c: Include <pupa/env.h>.
46689 (pupa_set_root_dev): Use the environment variable `prefix' instead of
46690 using pupa_dl_get_prefix to get the prefix.
46691 * kern/misc.c: Include <pupa/env.h>.
46692 (pupa_isdigit): New function.
46693 (pupa_isgraph): Likewise.
46694 (pupa_ftoa): Likewise.
46695 (pupa_vsprintf): Added support for printing values of the type
46696 `double'. Make it possible to format variable output when using
46697 formatting like `%1.2%f'.
46698 (pupa_split_cmdline): New function.
46699 * kern/rescue.c: Include <pupa/env.h>.
46700 (next_word): Removed function.
46701 (pupa_rescue_cmd_prefix): Likewise.
46702 (pupa_rescue_cmd_set): New function.
46703 (pupa_rescue_cmd_unset): New function.
46704 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
46705 split the command line instead of splitting it here. Added
46706 support for setting variables using the syntax `foo=bar'. Don't
46707 initialize the prefix command anymore. Initialized the set and
46708 unset commands.
46709 * normal/cmdline.c: Include <pupa/env.h>.
46710 (pupa_tab_complete): Added prototypes for print_simple_completion,
46711 print_partition_completion, add_completion, iterate_commands,
46712 iterate_dev, iterate_part and iterate_dir. Moved code to print
46713 partition information from here to kern/disk.c.
fe6b695a 46714 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 46715 * normal/main.c: Include <pupa/env.h>.
46716 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
46717 instead of using pupa_dl_get_prefix to get the prefix.
46718 * term/i386/pc/vga.c: Include <pupa/arg.h>.
46719 (check_vga_mem): Cast pointers to `void *' to silence a gcc
46720 warning.
46721 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
46722 (pupa_vga_setcolor): Declare unused variables with `__attribute__
46723 ((unused))' to silence a gcc warning.
46724 (pupa_vga_setcolor): Likewise.
46725 (debug_command): Changed to match argument parsing
46726 interface changes.
46727 * util/pupa-emu.c: Include <pupa/env.h>.
46728 (options): Added 0's for unused fields to silence a gcc warning.
46729 (argp): Likewise.
46730 (main): Use the environment variable `prefix' instead of using
46731 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
46732 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
46733 and terminal.
46734
46735 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
46736 * util/misc.c: Include <malloc.h>.
46737 (pupa_malloc): Rewritten so errors are correctly reported.
46738 (pupa_realloc): Likewise.
46739 (pupa_memalign): Likewise.
46740 (pupa_mm_init_region): Declare unused variables with
46741 `__attribute__ ((unused))' to silence a gcc warning.
46742 * normal/i386/setjmp.S: Remove tab at the end of the file to
46743 silence a gcc warning.
46744 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
46745 variables with `__attribute__ ((unused))' to silence a gcc
46746 warning.
46747 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
46748 local variable i unsigned to silence a gcc warning.
46749
46750 * kern/term.c: Include <pupa/misc.h>.
46751 (pupa_more_lines): New variable.
46752 (pupa_more): Likewise.
46753 (pupa_putcode): When the pager is active pause at the end of every
46754 screen.
46755 (pupa_set_more): New function.
46756 * include/pupa/term.h (pupa_set_more): New prototype.
46757
46758
3b1139cb 467592004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
46760
46761 Now this project is GRUB 2 rather than PUPA. The location of
46762 the CVS repository was moved to GRUB's.
f19dbdb7 46763
3b1139cb 46764 * configure.ac: Use bug-grub as the reporting address.
46765 Use GRUB instead of PUPA.
46766 Change the version number to 1.90.
46767
8367695c 467682004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
46769
46770 * genkernsyms.sh: Updated copyright information.
46771 * genmk.rb: Likewise.
46772 * genmodsrc.sh: Likewise.
46773 * gensymlist.sh: Likewise.
46774 * boot/i386/pc/boot.S: Likewise.
46775 * boot/i386/pc/diskboot.S: Likewise.
46776 * disk/i386/pc/biosdisk.c: Likewise.
46777 * disk/i386/pc/partition.c: Likewise.
46778 * font/manager.c: Likewise.
46779 * fs/ext2.c: Likewise.
46780 * fs/fat.c: Likewise.
46781 * include/pupa/boot.h: Likewise.
46782 * include/pupa/device.h: Likewise.
46783 * include/pupa/disk.h: Likewise.
46784 * include/pupa/dl.h: Likewise.
46785 * include/pupa/elf.h: Likewise.
46786 * include/pupa/err.h: Likewise.
46787 * include/pupa/file.h: Likewise.
46788 * include/pupa/font.h: Likewise.
46789 * include/pupa/fs.h: Likewise.
46790 * include/pupa/kernel.h: Likewise.
46791 * include/pupa/loader.h: Likewise.
46792 * include/pupa/misc.h: Likewise.
46793 * include/pupa/mm.h: Likewise.
46794 * include/pupa/net.h: Likewise.
46795 * include/pupa/normal.h: Likewise.
46796 * include/pupa/rescue.h: Likewise.
46797 * include/pupa/setjmp.h: Likewise.
46798 * include/pupa/symbol.h: Likewise.
46799 * include/pupa/term.h: Likewise.
46800 * include/pupa/types.h: Likewise.
46801 * include/pupa/i386/setjmp.h: Likewise.
46802 * include/pupa/i386/types.h: Likewise.
46803 * include/pupa/i386/pc/biosdisk.h: Likewise.
46804 * include/pupa/i386/pc/boot.h: Likewise.
46805 * include/pupa/i386/pc/console.h: Likewise.
46806 * include/pupa/i386/pc/init.h: Likewise.
46807 * include/pupa/i386/pc/kernel.h: Likewise.
46808 * include/pupa/i386/pc/linux.h: Likewise.
46809 * include/pupa/i386/pc/loader.h: Likewise.
46810 * include/pupa/i386/pc/memory.h: Likewise.
46811 * include/pupa/i386/pc/multiboot.h: Likewise.
46812 * include/pupa/i386/pc/partition.h: Likewise.
46813 * include/pupa/i386/pc/time.h: Likewise.
46814 * include/pupa/i386/pc/vga.h: Likewise.
46815 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
46816 * include/pupa/util/getroot.h: Likewise.
46817 * include/pupa/util/misc.h: Likewise.
46818 * include/pupa/util/resolve.h: Likewise.
46819 * kern/device.c: Likewise.
46820 * kern/disk.c: Likewise.
46821 * kern/dl.c: Likewise.
46822 * kern/err.c: Likewise.
46823 * kern/file.c: Likewise.
46824 * kern/fs.c: Likewise.
46825 * kern/loader.c: Likewise.
46826 * kern/main.c: Likewise.
46827 * kern/misc.c: Likewise.
46828 * kern/mm.c: Likewise.
46829 * kern/rescue.c: Likewise.
46830 * kern/term.c: Likewise.
46831 * kern/i386/dl.c: Likewise.
46832 * kern/i386/pc/init.c: Likewise.
46833 * kern/i386/pc/lzo1x.S: Likewise.
46834 * kern/i386/pc/startup.S: Likewise.
46835 * loader/i386/pc/chainloader.c: Likewise.
46836 * loader/i386/pc/linux.c: Likewise.
46837 * loader/i386/pc/multiboot.c: Likewise.
46838 * normal/cmdline.c: Likewise.
46839 * normal/command.c: Likewise.
46840 * normal/main.c: Likewise.
46841 * normal/menu.c: Likewise.
46842 * normal/i386/setjmp.S: Likewise.
46843 * term/i386/pc/console.c: Likewise.
46844 * term/i386/pc/vga.c: Likewise.
46845 * util/console.c: Likewise.
46846 * util/genmoddep.c: Likewise.
46847 * util/misc.c: Likewise.
46848 * util/pupa-emu.c: Likewise.
46849 * util/resolve.c: Likewise.
46850 * util/unifont2pff.rb: Likewise.
46851 * util/i386/pc/biosdisk.c: Likewise.
46852 * util/i386/pc/getroot.c: Likewise.
46853 * util/i386/pc/pupa-mkimage.c: Likewise.
46854 * util/i386/pc/pupa-setup.c: Likewise.
46855
e6eced71 468562004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46857
46858 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46859 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46860 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46861 reading and reset it after reading.
46862 (pupa_ext2_close): Return PUPA_ERR_NONE.
46863
46864 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46865 Correct value.
46866 (struct linux_kernel_header): Add kernel_version and
46867 initrd_addr_max.
46868 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46869 pupa_file_read succeeds.
46870 (pupa_rescue_cmd_initrd): Implement.
46871
5aded270 468722003-12-03 Marco Gerards <metgerards@student.han.nl>
46873
46874 * fs/ext2.c (pupa_ext2_label): New function.
46875 (pupa_ext2_fs): Added label.
46876 * fs/fat.c (pupa_fat_label): New function.
46877 (pupa_fat_fs): Added label.
46878 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46879
46880 * kern/misc.c (pupa_strndup): New function.
46881 * include/pupa/misc.h (pupa_strndup): New prototype.
46882
46883 * include/pupa/normal.h: Include <pupa/err.h>.
46884 (pupa_set_history): New prototype.
46885 (pupa_iterate_commands): New prototype.
46886 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46887 <pupa/disk.h>, <pupa/file.h>.
46888 (hist_size): New variable.
46889 (hist_lines): Likewise.
46890 (hist_end): Likewise.
46891 (hist_used): Likewise.
46892 (pupa_set_history): New function.
46893 (pupa_history_get): Likewise.
46894 (pupa_history_add): Likewise.
46895 (pupa_history_replace): Likewise.
46896 (pupa_tab_complete): Likewise.
46897 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46898 completion shows partitionnames while completing partitions, this
46899 feature was suggested by Jeff Bailey.
46900 * normal/command.c (pupa_iterate_commands): New function.
46901 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46902 (pupa_normal_init): Initialize history buffer.
46903 (PUPA_MOD_INIT): Likewise.
46904 (pupa_normal_fini): Free the history buffer.
46905 (PUPA_MOD_FINI): Likewise.
46906
46907 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46908 key.
46909
46910 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46911 * configure.ac [i386]: Check for regparam bug.
46912 (NESTED_FUNC_ATTR) [! i386]: Defined.
46913
1f7315a3 469142003-11-17 Marco Gerards <metgerards@student.han.nl>
46915
46916 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46917 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46918 (pupa_emu_SOURCES): New variable.
46919 (pupa_emu_LDFLAGS): Likewise.
46920 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46921 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46922 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46923 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46924 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46925 (pupa_jmp_buf): New typedef.
46926 (pupa_setjmp) [PUPA_UTIL]: New macro.
46927 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46928 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46929 (pupa_refresh): New prototype.
46930 * include/pupa/util/getroot.h: New file.
46931 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46932 it.
46933 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46934 (pupa_rescue_cmd_cat): Likewise.
46935 (pupa_rescue_cmd_ls): Likewise.
46936 (pupa_rescue_cmd_testload): Likewise.
46937 (pupa_rescue_cmd_lsmod): Likewise.
46938 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46939 * normal/menu.c (run_menu): Likewise.
46940 * kern/term.c (pupa_cls): Likewise.
46941 (pupa_refresh): New function.
46942 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46943 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46944 * util/console.c: New file.
f19dbdb7 46945
1f7315a3 46946 * util/i386/pc/getroot.c: New file.
46947 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46948 (pupa_putchar): New function.
46949 (pupa_refresh): Likewise.
46950 (xgetcwd): Function moved to ...
46951 (strip_extra_slashes): Likewise.
46952 (get_prefix): Likewise.
f19dbdb7 46953 * util/i386/pc/getroot.c: ... here.
1f7315a3 46954 (find_root_device): Function moved and renamed to...
46955 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46956 Changed all callers.
46957 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46958 and renamed to...
46959 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46960 Changed all callers.
46961 * util/misc.c (pupa_memalign): New function.
46962 (pupa_mm_init_region): Likewise.
46963 (pupa_register_exported_symbols): Likewise.
46964 (pupa_putchar): Function removed.
46965 * util/pupa-emu.c: New file.
46966
9a5c1ade 469672003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46968
46969 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46970 (_multiboot_mod_SOURCES): New variable.
46971 (_multiboot_mod_CFLAGS): Likewise.
46972 * loader/i386/pc/multiboot.c: New file.
46973 * include/pupa/i386/pc/multiboot.h: Likewise.
46974 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46975 (pupa_multiboot_real_boot): New function.
46976 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
46977 (pupa_multiboot_real_boot): New prototype.
46978 (pupa_rescue_cmd_multiboot): Likewise
46979 (pupa_rescue_cmd_module): Likewise.
46980
46981 * kern/loader.c (pupa_loader_set): Continue when
46982 pupa_loader_unload_func() fails.
46983 (pupa_loader_unset): New function.
46984 * include/pupa/loader.h (pupa_loader_unset): New prototype.
46985
46986 * kern/misc.c (pupa_stpcpy): New function.
46987 * include/pupa/misc.h (pupa_stpcpy): New prototype.
46988
8e72a9c0 469892003-11-12 Marco Gerards <metgerards@student.han.nl>
46990
46991 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
46992 for available extensions.
46993
46994 * include/pupa/i386/pc/time.h: New file.
46995 * kern/disk.c: Include <pupa/machine/time.h>.
46996 (PUPA_CACHE_TIMEOUT): New macro.
46997 (pupa_last_time): New variable.
46998 (pupa_disk_open): Flush the cache when there was a timeout.
46999 (pupa_disk_close): Reset the timer.
47000 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
47001 pupa_currticks.
47002 * util/misc.c: Include <sys/times.h>
47003 (pupa_get_rtc): New function.
47004
c4adbd32 470052003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47006
47007 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
47008 as blocks.
47009 (pupa_ext2_get_file_block): Use blocks member.
47010
47011 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
47012 first block. Return -1 instead of pupa_errno on error.
47013
bfd30f06 470142003-10-27 Marco Gerards <metgerards@student.han.nl>
47015
47016 * README: In the pupa-mkimage example use _chain instead of chain
47017 and ext2 instead of fat.
47018 * TODO: Replace ext2fs with jfs as an example. Add an item for
47019 adding journal playback for ext2fs.
47020 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
47021 (pkgdata_MODULES): Added ext2.mod.
47022 (ext2_mod_SOURCES): New variable.
47023 (ext2_mod_CFLAGS): Likewise.
47024 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
47025 * include/pupa/misc.h (pupa_strncpy): New prototype.
47026 (pupa_strcat): Likewise.
47027 (pupa_strncmp): Likewise.
47028 * kern/misc.c (pupa_strcat): Enable function.
47029 (pupa_strncpy): New function.
47030 (pupa_strncmp): Likewise.
47031 * fs/ext2.c: New file.
f19dbdb7 47032
bfd30f06 47033 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
47034 when the read failed before retrying.
47035 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
47036 (_FILE_OFFSET_BITS): Likewise.
47037 * configure.ac: Added AC_SYS_LARGEFILE.
47038
98d15063 470392003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
47040
47041 * genmk.rb (PModule#rule): Make sure to get only symbol names
47042 from the output of nm.
59cad637 47043 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 47044
18d9c7cd 470452003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
47046
47047 I forgot to check in these changes for a long time. This adds
47048 incomplete support for VGA console, and this is still very
47049 buggy. Also, a lot of consideration is required for I18N,
47050 UNICODE, and VGA font issues. Therefore, assume that this is
47051 such that "better than nothing".
f19dbdb7 47052
18d9c7cd 47053 * font/manager.c: New file.
47054 * include/pupa/font.h: Likewise.
47055 * include/pupa/i386/pc/vga.h: Likewise.
47056 * term/i386/pc/vga.c: Likewise.
47057 * util/unifont2pff.rb: Likewise.
47058
47059 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
47060 (pkgdata_MODULES): Added vga.mod and font.mod.
47061 (vga_mod_SOURCES): New variables.
47062 (vga_mod_CFLAGS): Likewise.
47063 (font_mod_SOURCES): Likewise.
47064 (font_mod_CFLAGS): Likewise.
47065
47066 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
47067
47068 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 47069 (struct pupa_term): Added init and fini.
18d9c7cd 47070 Changed the argument of putchar to pupa_uint32_t.
47071
47072 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
47073 (pupa_console_real_putchar): New prototype.
47074 (pupa_console_putchar): Removed.
47075 (pupa_console_checkkey): Exported.
47076 (pupa_console_getkey): Likewise.
47077
47078 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
47079 characters.
47080
47081 * kern/term.c (pupa_term_set_current): Rewritten.
47082 (pupa_putchar): Likewise.
47083 (pupa_putcode): New function.
47084
47085 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
47086 (pupa_console_real_putchar): ... this.
47087 (pupa_vga_set_mode): New function.
47088 (pupa_vga_get_font): Likewise.
47089
47090 * normal/command.c: Include pupa/term.h.
47091 (terminal_command): New function.
47092 (pupa_command_init): Register the command "terminal".
47093
47094 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
47095 (DISP_UP): Likewise.
47096 (DISP_RIGHT): Likewise.
47097 (DISP_DOWN): Likewise.
47098 (DISP_HLINE): Likewise.
47099 (DISP_VLINE): Likewise.
47100 (DISP_UL): Likewise.
47101 (DISP_UR): Likewise.
47102 (DISP_LL): Likewise.
47103 (DISP_LR): Likewise.
47104
47105 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 47106
977329f5 471072003-02-08 NIIBE Yutaka <gniibe@m17n.org>
47108
47109 * util/resolve.c (pupa_util_resolve_dependencies): BUG
47110 FIX. Reverse the path_list.
47111
47112 * include/pupa/normal.h: Export pupa_register_command and
47113 pupa_unregister_command.
47114
47115 * hello/hello.c (pupa_cmd_hello): New module.
47116 * conf/i386-pc.rmk: Added hello.mod.
47117
1f5ab428 471182003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
47119
47120 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 47121
1f5ab428 47122 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
47123 (compress_kernel): New variable.
47124 (generate_image): Heavily modified to support compressing a
47125 large part of the core image.
47126
47127 * util/misc.c (pupa_util_read_image): Fix a file descriptor
47128 leak.
47129 (pupa_util_load_image): New function.
47130
47131 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
47132 (pupa_compressed_size): New variable.
47133 (codestart): Enable Gate A20 here.
47134 Decompress the compressed part of the core image.
47135 Rearrange the code to put functions and variables which are
47136 required for initialization in the non-compressed part.
47137 Include lzo1x.S.
47138
47139 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
47140 here.
47141
47142 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
47143
f19dbdb7 47144 * include/pupa/i386/pc/kernel.h
1f5ab428 47145 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
47146 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
47147 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47148 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47149 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
47150
47151 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
47152
47153 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
47154 (Utility#rule): Likewise.
47155
47156 * configure.ac: Check if LZO is available.
47157
ce5bf700 471582003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
47159
47160 * include/pupa/normal.h: New file.
47161 * include/pupa/setjmp.h: Likewise.
47162 * include/pupa/i386/setjmp.h: Likewise.
47163 * normal/cmdline.c: Likewise.
47164 * normal/command.c: Likewise.
47165 * normal/main.c: Likewise.
47166 * normal/menu.c: Likewise.
47167 * normal/i386/setjmp.S: Likewise.
f19dbdb7 47168
ce5bf700 47169 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
47170 (pupa_rescue_cmd_initrd): Likewise.
47171
47172 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
47173 Likewise.
47174
47175 * kern/i386/pc/startup.S (translation_table): New variable.
47176 (translate_keycode): New function.
47177 (pupa_console_getkey): Call translate_keycode.
47178
47179 * kern/rescue.c (attempt_normal_mode): New function.
47180 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
47181 it failed, print a message.
47182
47183 * kern/mm.c (pupa_real_malloc): Print more information when a
47184 free magic is broken.
47185 (pupa_free): If the first free header is not free actually, set
47186 it to P.
47187
47188 * kern/main.c (pupa_load_normal_mode): Just load the module
47189 "normal".
47190 (pupa_main): Don't print the message
47191 "Entering into rescue mode..." here.
47192
47193 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
47194 Declared.
47195 (pupa_rescue_cmd_initrd): Likewise.
47196 (pupa_rescue_cmd_initrd): Likewise.
47197
47198 * include/pupa/symbol.h (FUNCTION): Specify the type.
47199 (VARIABLE): Likewise.
47200
47201 * include/pupa/err.h (pupa_err_t): Added
47202 PUPA_ERR_UNKNOWN_COMMAND.
47203
47204 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
47205 (pupa_dl_get_prefix): Likewise.
47206
47207 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
47208 Added _chain.mod and _linux.mod instead of chain.mod and
47209 linux.mod.
47210 (chain_mod_SOURCES): Renamed to ...
47211 (_chain_mod_SOURCES): ... this.
47212 (chain_mod_CFLAGS): Renamed to ...
47213 (_chain_mod_CFLAGS): ... this.
47214 (linux_mod_SOURCES): Renamed to ...
47215 (_linux_mod_SOURCES): ... this.
47216 (linux_mod_CFLAGS): Renamed to ...
47217 (_linux_mod_CFLAGS): ... this.
47218 (normal_mod_SOURCES): New variable.
47219 (normal_mod_CFLAGS): Likewise.
47220 (normal_mod_ASFLAGS): Likewise.
47221
472222003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
47223
47224 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
47225 possible.
47226
fe6b695a 47227 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 47228 recursively.
47229 (pupa_dl_unref): Unrefer depending modules recursively.
47230 Don't call pupa_dl_unload implicitly, because PUPA can crash if
47231 a module is unloaded before one depending on that module is
47232 unloaded.
47233 (pupa_dl_unload): Unload depending modules explicitly,
47234 if possible.
47235
c04da074 472362003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
47237
47238 * include/pupa/i386/pc/linux.h: New file.
47239 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 47240
c04da074 47241 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
47242 Removed.
47243 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
47244 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
47245 of PUPA_CHAINLOADER_BOOT_SECTOR.
47246
47247 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
47248 (pupa_linux_prot_size): New variable.
47249 (pupa_linux_tmp_addr): Likewise.
47250 (pupa_linux_real_addr): Likewise.
47251 (pupa_linux_boot_zimage): New function.
47252 (pupa_linux_boot_bzimage): Likewise.
47253
47254 * kern/i386/pc/init.c (struct mem_region): New structure.
47255 (MAX_REGIONS): New macro.
47256 (mem_regions): New variable.
47257 (num_regions): Likewise.
47258 (pupa_os_area_addr): Likewise.
47259 (pupa_os_area_size): Likewise.
47260 (pupa_lower_mem): Likewise.
47261 (pupa_upper_mem): Likewise.
47262 (add_mem_region): New function.
47263 (compact_mem_regions): Likewise.
47264 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
47265 the size of the conventional memory and that of so-called upper
47266 memory (before the first memory hole).
47267 Instead of adding each found region to free memory, use
47268 add_mem_region and add them after removing overlaps.
47269 Also, add only 1/4 of the upper memory to free memory. The rest
47270 is used for loading OS images. Maybe this is ad hoc, but this
47271 makes it much easier to relocate OS images when booting.
47272
47273 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
47274 (pupa_enter_rescue_mode): Don't register initrd and module.
47275
47276 * kern/mm.c: Include pupa/dl.h.
47277
47278 * kern/main.c: Include pupa/file.h and pupa/device.h.
47279
47280 * kern/loader.c (pupa_loader_load_module_func): Removed.
47281 (pupa_loader_load_module): Likewise.
47282
47283 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
47284 ``.o''.
47285
47286 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
47287 (pupa_linux_tmp_addr): Likewise.
47288 (pupa_linux_real_addr): Likewise.
47289 (pupa_linux_boot_zimage): Likewise.
47290 (pupa_linux_boot_bzimage): Likewise.
47291
47292 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
47293 (pupa_upper_mem): Likewise.
47294 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
47295 module is too dangerous.
47296
47297 * include/pupa/loader.h (pupa_os_area_addr): Declared.
47298 (pupa_os_area_size): Likewise.
47299 (pupa_loader_set): Remove the first argument. Loader doesn't
47300 manage modules or initrd any longer.
47301 (pupa_loader_load_module): Removed.
47302
47303 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
47304 (linux_mod_SOURCES): New variable.
47305 (linux_mod_CFLAGS): Likewise.
47306
a13f9237 473072003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
47308
47309 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
47310 the length of a blocklist correctly.
47311
47312 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
47313 Use ioctl only if the OS file is a block device.
47314 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
47315 not very useful for normal files.
47316
47317 * kern/main.c (pupa_set_root_dev): New function.
47318 (pupa_load_normal_mode): Likewise.
47319 (pupa_main): Call those above.
47320
47321 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
47322 pupa_uint16_t.
47323
47324 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
47325
a5ffe966 473262003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
47327
47328 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
47329 (setup): Configure the installed partition information and the
47330 dl prefix.
47331
47332 * loader/i386/pc/chainloader.c (my_mod): New variable.
47333 (pupa_chainloader_unload): New function.
47334 (pupa_rescue_cmd_chainloader): Refer itself.
47335 (PUPA_MOD_INIT): Save its own module in MY_MOD.
47336
47337 * kern/i386/pc/startup.S (install_partition): Removed.
47338 (version_string): Likewise.
47339 (config_file): Likewise.
47340 (pupa_install_dos_part): New variable.
47341 (pupa_install_bsd_part): Likewise.
47342 (pupa_prefix): Likewise.
47343 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
47344
47345 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
47346 and pupa/misc.h.
47347 (make_install_device): New function.
47348 (pupa_machine_init): Set the dl prefix.
47349
47350 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
47351 (buf): Renamed to ...
47352 (linebuf): ... this.
47353 (pupa_rescue_cmd_prefix): New function.
47354 (pupa_rescue_cmd_insmod): Likewise.
47355 (pupa_rescue_cmd_rmmod): Likewise.
47356 (pupa_rescue_cmd_lsmod): Likewise.
47357 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
47358 rmmod and lsmod.
47359
47360 * kern/mm.c (pupa_memalign): If failed even after invalidating
47361 disk caches, unload unneeded modules and retry.
47362
47363 * kern/misc.c (pupa_memmove): New function.
47364 (pupa_memcpy): Removed.
47365 (pupa_strcpy): New function.
47366 (pupa_itoa): Made static.
47367
47368 * kern/dl.c (pupa_dl_iterate): New function.
47369 (pupa_dl_ref): Likewise.
47370 (pupa_dl_unref): Likewise.
47371 (pupa_dl_unload): Return if succeeded or not.
47372 (pupa_dl_unload_unneeded): New function.
47373 (pupa_dl_unload_all): Likewise.
47374 (pupa_dl_init): Renamed to ...
47375 (pupa_dl_set_prefix): ... this.
47376 (pupa_dl_get_prefix): New function.
47377
47378 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
47379 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
47380 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47381 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47382 (pupa_install_dos_part): Declared.
47383 (pupa_install_bsd_part): Likewise.
47384 (pupa_prefix): Likewise.
47385 (pupa_boot_drive): Likewise.
47386
47387 * include/pupa/types.h: Fix a typo.
47388
47389 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
47390 pupa_memmove.
47391 (pupa_memmove): Declared.
47392 (pupa_strcpy): Likewise.
47393
47394 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
47395 pupa_mod_init takes one argument, its own module.
47396 (pupa_dl_unload_unneeded): Declared.
47397 (pupa_dl_unload_all): Likewise.
47398 (pupa_dl_ref): Likewise.
47399 (pupa_dl_unref): Likewise.
47400 (pupa_dl_iterate): Likewise.
47401 (pupa_dl_init): Renamed to ...
47402 (pupa_dl_set_prefix): ... this.
47403 (pupa_dl_get_prefix): Declared.
47404
47405 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 47406 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 47407 unloaded.
47408 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
47409 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
47410
47411 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
47412 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
47413
012d7999 474142003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47415
47416 * util/i386/pc/pupa-setup.c (setup): Define the internal
47417 function find_first_partition_start at the top level, because GCC
47418 3.0.x cannot compile internal functions in deeper scopes
47419 correctly.
47420 (find_root_device): Use lstat instead of stat.
47421 Don't follow symbolic links.
47422 Fix the path-constructing code.
47423
47424 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
47425 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
47426 by a BLKGETSIZE ioctl first, because block devices don't fill
47427 the member st_mode of the structure stat on Linux.
47428 [__linux__] (linux_find_partition): Use a temporary buffer
47429 REAL_DEV for the working space. Copy it to DEV before returning.
47430 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
47431 buffer cache consistent.
47432 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
47433 strncmp. The previous value was merely wrong.
47434 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
47435
47436 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
47437 FAT size is 12. The previous value was merely wrong.
47438
47439 * kern/main.c (pupa_main): Don't split the starting message from
47440 newlines.
47441
47442 * kern/term.c (pupa_putchar): Put CR after LF instead of before
47443 LF, because BIOS goes crazy about character attributes in this
47444 case.
47445
1cc73a62 474462003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47447
47448 * include/i386/pc/util/biosdisk.h: New file.
47449 * util/i386/pc/biosdisk.c: Likewise.
47450 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 47451
1cc73a62 47452 * Makefile.in (INCLUDE_DISTFILES): Added
47453 include/pupa/i386/pc/util/biosdisk.h.
47454 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
47455 directory util/i386/pc.
47456 (install-local): Added a rule for sbin_UTILITIES.
47457 (uninstall): Likewise.
47458
47459 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
47460
47461 * util/misc.c (xrealloc): New function.
47462 (pupa_malloc): Likewise.
47463 (pupa_free): Likewise.
47464 (pupa_realloc): Likewise.
47465 (pupa_stop): Likewise.
47466 (pupa_putchar): Likewise.
47467
47468 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
47469
47470 * include/pupa/util/misc.h (xrealloc): Declared.
47471
47472 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
47473 macro.
47474 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
47475 (PUPA_BOOT_MACHINE_BPB_END): ... this.
47476
47477 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
47478 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47479
47480 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
47481 way should be implemented.
47482 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47483
47484 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
47485 the size of NAME for safety.
47486 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
47487 0x88.
47488
47489 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
47490 (pupa_setup_SOURCES): Likewise.
47491
47492 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
47493
08b70fe8 474942002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47495
47496 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
47497 bunch of pushl's from pusha, because this destroys the return
47498 value.
47499
62ddcc8f 475002002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47501
47502 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
47503 This means that any missing prototypes could be fatal. Also, you
47504 must take care when writing assembly code. See the comments at
47505 the beginning of startup.S, for more details.
f19dbdb7 47506
62ddcc8f 47507 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
47508 compilation mechanism.
47509 (pupa_chainloader_real_boot): Likewise.
47510 (pupa_biosdisk_rw_int13_extensions): Likewise.
47511 (pupa_biosdisk_rw_standard): Likewise.
47512 (pupa_biosdisk_check_int13_extensions): Likewise.
47513 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
47514 (pupa_biosdisk_get_diskinfo_standard): Likewise.
47515 (pupa_get_memsize): Likewise.
47516 (pupa_get_mmap_entry): Likewise.
47517 (pupa_console_putchar): Likewise.
47518 (pupa_console_setcursor): Likewise.
47519 (pupa_getrtsecs): Use pushl instead of push.
47520
47521 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
47522 memory instead of the stack for a mmap entry, because some
47523 BIOSes may ignore the maximum size and overflow.
47524
47525 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
47526
47527 * genmk.rb (PModule#rule): Compile automatically generated
47528 sources with module-specific CFLAGS as well as other sources.
47529
9962ed99 475302002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47531
47532 * configure.ac: Check ld.
47533 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
47534 respectively, before checking endianness and sizes.
47535
47536 * Makefile.in (LD): New variable.
f19dbdb7 47537
abdfc3c5 475382002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47539
47540 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
47541
6a161fa9 475422002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47543
47544 * Changelog: New file.
47545