]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/grub-reboot.in (usage): Document the need for
[grub2.git] / ChangeLog
CommitLineData
7782b8a6
CW
12013-01-22 Colin Watson <cjwatson@ubuntu.com>
2
3 * util/grub-reboot.in (usage): Document the need for
4 GRUB_DEFAULT=saved.
5 * util/grub-set-default.in (usage): Likewise.
6 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
7
e661c180
VS
82013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9
10 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
11 than defining WORDS_BIGENDIAN manually.
12
1c22ca9a
VS
132013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
16 invariants.
17
d44892fe
CW
182013-01-21 Colin Watson <cjwatson@ubuntu.com>
19
20 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
21 nested.
22 (blit_comb: add_device_width): Likewise.
23
5fdbaed1
CW
242013-01-21 Colin Watson <cjwatson@ubuntu.com>
25
26 Remove nested functions from USB iterators.
27
28 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
29 (grub_usb_controller_iterate_hook_t): Likewise.
30 (grub_usb_iterate): Add hook_data argument.
31 (grub_usb_controller_iterate): Likewise.
32 (struct grub_usb_controller_dev.iterate): Likewise.
33
34 Update all implementations and callers.
35
4250985a
VS
362013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
37
38 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
39 margin when not needed.
40
7d8848f3
VS
412013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
42
bc136973 43 Make color variables global instead of it being per-terminal.
7d8848f3
VS
44
452013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
46
bc136973
VS
47 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
48 asterisk.
7d8848f3 49
ed12a003
CW
502013-01-21 Colin Watson <cjwatson@ubuntu.com>
51
52 Fix powerpc and sparc64 build failures caused by un-nesting memory
53 map iterators.
54
6a0db449
CW
552013-01-21 Colin Watson <cjwatson@ubuntu.com>
56
57 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
58 parameter declarations.
59
ccd86b21
VS
602013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
63
822b726b
VS
642013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
65
66 Improve spkmomdem reliability by adding a separator between bytes.
67
115c2cc1
CW
682013-01-21 Colin Watson <cjwatson@ubuntu.com>
69
70 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
71 an Acer registration utility with several sightings in the wild.
72 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
73
fc524edf
CW
742013-01-21 Colin Watson <cjwatson@ubuntu.com>
75
76 Remove nested functions from filesystem directory iterators.
77
78 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
79 (struct grub_fs.dir): Add hook_data argument.
80
81 Update all implementations and callers.
82
53d3e4e3
CW
832013-01-21 Colin Watson <cjwatson@ubuntu.com>
84
85 * docs/grub.texi (Multi-boot manual config): Fix typo for
86 "recommended".
87
c821711f
LL
882013-01-20 Leif Lindholm <leif.lindholm@arm.com>
89
90 * util/grub-mkimage.c (main): Postpone freeing arguments.output
91 until after its use in generate_image.
92
6a0debbd
CW
932013-01-20 Colin Watson <cjwatson@ubuntu.com>
94
95 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
96 initrd size to addr_min, since the initrd will be allocated after
97 this address.
98
f41e08db
AB
992013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
100
101 * conf/Makefile.common: Fix autogen rules to pass definition
102 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
103
77529e0f
LL
1042013-01-20 Leif Lindholm <leif.lindholm@arm.com>
105
106 * include/grub/elf.h: Update ARM definitions based on binutils.
107
b879aa7b
VS
1082013-01-20 Aleš Nesrsta <starous@volny.cz>
109
110 Split long USB transfers into short ones.
111
8eb8284d
AB
1122013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
113
114 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
115 is interrupted by ESC.
116
08dad2dc
VS
1172013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
118
119 * util/grub-script-check.c (main): Uniform the error message.
120
6c724b85
CW
1212013-01-20 Colin Watson <cjwatson@ubuntu.com>
122
123 Remove nested functions from ELF iterators.
124
25239370
CW
1252013-01-20 Colin Watson <cjwatson@ubuntu.com>
126
127 Remove nested functions from device iterators.
128
129 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
130 (grub_arc_iterate_devs): Add hook_data argument.
131 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
132 (struct grub_ata_dev.iterate): Add hook_data argument.
133 * include/grub/device.h (grub_device_iterate_hook_t): New type.
134 (grub_device_iterate): Add hook_data argument.
135 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
136 (struct grub_disk_dev.iterate): Add hook_data argument.
137 (grub_disk_dev_iterate): Likewise.
138 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
139 Likewise.
140 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
141 Likewise.
142 * include/grub/partition.h (grub_partition_iterate_hook_t): New
143 type.
144 (struct grub_partition_map.iterate): Add hook_data argument.
145 (grub_partition_iterate): Likewise.
146 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
147 (struct grub_scsi_dev.iterate): Add hook_data argument.
148
149 Update all callers.
150
6c0314d6
CW
1512013-01-20 Colin Watson <cjwatson@ubuntu.com>
152
153 Fix typos for "developer" and "development".
154
600dc5f1
VS
1552013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
156
157 Add license header to spkmodem-recv.c.
158
17334a6b
VS
1592013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
160
161 Rewrite spkmodem to use PIT for timing. Double the speed.
162
7d462559
VS
1632013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
164
165 Add new command pcidump.
166
b78d6c32
VS
1672013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
168
169 New terminal outputs using serial: morse and spkmodem.
170
34f71cb8
VS
1712013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
172
173 Improve bidi handling in entry editor.
174
4542e71b
VS
1752013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
176
177 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
178 argument to prevent name collision.
179
09fd6d82
CW
1802013-01-15 Colin Watson <cjwatson@ubuntu.com>
181
182 Remove nested functions from script reading and parsing.
183
184 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
185 getline_data argument, passed to getline.
186 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
187 getline_data argument, passed to grub_parser_split_cmdline.
188 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
189 lexerstate->getline_data to lexerstate->getline.
190 (grub_script_lexer_init): Add getline_data argument, saved in
191 lexerstate->getline_data.
192 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
193 argument, passed to grub_script_parse.
194 * grub-core/script/script.c (grub_script_parse): Add getline_data
195 argument, passed to grub_script_lexer_init.
196 * include/grub/parser.h (grub_parser_split_cmdline): Update
197 prototype. Update all callers to pass appropriate getline data.
198 (struct grub_parser.parse_line): Likewise.
199 (grub_rescue_parse_line): Likewise.
200 * include/grub/reader.h (grub_reader_getline_t): Add void *
201 argument.
202 * include/grub/script_sh.h (struct grub_lexer_param): Add
203 getline_data member.
204 (grub_script_parse): Update prototype. Update all callers to pass
205 appropriate getline data.
206 (grub_script_lexer_init): Likewise.
207 (grub_normal_parse_line): Likewise.
208
209 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
210 data argument.
211 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
212 static instead of nested. Rename to ...
213 (grub_parser_execute_getline): ... this.
214 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
215 data argument.
216 * grub-core/normal/main.c (read_config_file: getline): Make static
217 instead of nested. Rename to ...
218 (read_config_file_getline): ... this.
219 (grub_normal_read_line): Add unused data argument.
220 * grub-core/script/execute.c (grub_script_execute_sourcecode:
221 getline): Make static instead of nested. Rename to ...
222 (grub_script_execute_sourcecode_getline): ... this.
223 * util/grub-script-check.c (main: get_config_line): Make static
224 instead of nested.
225
d0d4b8a0
CW
2262013-01-15 Colin Watson <cjwatson@ubuntu.com>
227
228 Remove nested functions from memory map iterators.
229
230 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
231 argument, passed to hook.
232 * grub-core/kern/i386/coreboot/mmap.c
233 (grub_linuxbios_table_iterate): Likewise.
234 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
235 instead of nested.
236 (grub_machine_mmap_iterate): Add hook_data argument.
237 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
238 Add hook_data argument, passed to hook.
239 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
240 Likewise.
241 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
242 Likewise.
243 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
244 Likewise.
245 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
246 Likewise.
247 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
248 Likewise.
249 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
250 Likewise.
251 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
252 (grub_machine_mmap_iterate): Likewise.
253 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
254 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
255 prototype.
256 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
257 Remove NESTED_FUNC_ATTR from here and from all users.
258 (grub_mmap_iterate): Update prototype.
259 (grub_efi_mmap_iterate): Update prototype. Update all callers to
260 pass appropriate hook data.
261 (grub_machine_mmap_iterate): Likewise.
262
263 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
264 static instead of nested.
265 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
266 Rename to ...
267 (lsmmap_hook): ... this.
268 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
269 Likewise.
270 (grub_efiemu_mmap_fill: fill_hook): Likewise.
271 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
272 heap_init): Likewise.
273 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
274 Rename to ...
275 (mmap_iterate_hook): ... this.
276 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
277 Likewise.
278 * grub-core/lib/ieee1275/relocator.c
279 (grub_relocator_firmware_get_max_events: count): Likewise.
280 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
281 to ...
282 (grub_relocator_firmware_fill_events_iter): ... this.
283 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
284 hook): Likewise. Rename to ...
285 (grub_relocator_alloc_chunk_align_iter): ... this.
286 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
287 Rename to ...
288 (generate_e820_mmap_iter): ... this.
289 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
290 Rename to ...
291 (count_hook): ... this.
292 (grub_linux_boot: hook): Likewise. Rename to ...
293 (grub_linux_boot_mmap_find): ... this.
294 (grub_linux_boot: hook_fill): Likewise. Rename to ...
295 (grub_linux_boot_mmap_fill): ... this.
296 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
297 hook): Likewise. Rename to ...
298 (grub_fill_multiboot_mmap_iter): ... this.
299 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
300 hook): Likewise. Rename to ...
301 (count_hook): ... this.
302 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
303 hook): Likewise. Rename to ...
304 (grub_fill_multiboot_mmap_iter): ... this.
305 * grub-core/loader/powerpc/ieee1275/linux.c
306 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
307 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
308 Likewise. Rename to ...
309 (alloc_phys_choose): ... this.
310 (determine_phys_base: get_physbase): Likewise.
311 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
312 find_hook): Likewise.
313 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
314 (malloc_hook: count_hook): Likewise.
315 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
316 Likewise. Rename to ...
317 (lower_hook): ... this.
318 (grub_mmap_get_upper: hook): Likewise. Rename to ...
319 (upper_hook): ... this.
320 (grub_mmap_get_post64: hook): Likewise. Rename to ...
321 (post64_hook): ... this.
322 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
323 Likewise. Rename to ...
324 (lower_hook): ... this.
325 (grub_mmap_get_upper: hook): Likewise. Rename to ...
326 (upper_hook): ... this.
327 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
328 (grub_mmap_iterate: fill_hook): Likewise.
329 (fill_mask): Pass addr and mask within a single struct.
330 (grub_cmd_badram: hook): Make static instead of nested. Rename
331 to ...
332 (badram_iter): ... this.
333 (grub_cmd_cutmem: hook): Likewise. Rename to ...
334 (cutmem_iter): ... this.
335
22099030
VS
3362013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
339 delimit path in strings using quotes.
340 * util/getroot.c (grub_guess_root_devices): Likewise.
341 (grub_make_system_path_relative_to_its_root): Likewise.
342 * util/grub-probe.c (probe): Likewise.
343 * util/ieee1275/ofpath.c (find_obppath): Likewise.
344 (xrealpath): Likewise.
345
4a9950ec
VS
3462013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
347
348 Fix compilation with older compilers.
349
350 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
351 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
352 declarations.
353 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
354 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
355 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
356 identifier with b.
357 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
358 * include/grub/crypto.h: Add type defines.
359 * util/import_gcrypth.sed: Remove duplicate type defines.
360
adcc6020
VS
3612013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
362
363 New command list_trusted.
364
365 * grub-core/commands/verify.c (grub_cmd_list): New function.
366
a4528937
CW
3672013-01-13 Colin Watson <cjwatson@ubuntu.com>
368
369 * util/grub-mkimage.c (generate_image): Fix "size of public key"
370 info message.
371
ca3a7446
CW
3722013-01-13 Colin Watson <cjwatson@ubuntu.com>
373
374 Remove nested functions from PCI iterators.
375
376 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
377 passed to hook. Update all callers to pass appropriate hook data.
378 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
379 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
380 Remove NESTED_FUNC_ATTR from here and from all users.
381 (grub_pci_iterate): Update prototype.
382 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
383 instead of nested. Rename to ...
384 (grub_cs5536_find_iter): ... this.
385 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
386 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
387 Likewise.
388 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
389 Likewise.
390 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
391 Likewise.
392 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
393 Likewise.
394 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
395 * grub-core/video/radeon_fuloong2e.c
396 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
397 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
398 find_card): Likewise.
399 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
400 Likewise.
401
f8e98fee
VS
4022013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * grub-core/commands/verify.c: Mark messages for translating.
405
055b36b6
VS
4062013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
407
408 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
409 fatal.
410
f7ff879b
VS
4112013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
412
413 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
414 fatal.
415
4162013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
417
418 * autogen.sh: Do not try to delete nonexistant files.
419 * util/import_gcrypth.sed: Add some missing header removals.
420
01323d49
CW
4212013-01-12 Colin Watson <cjwatson@ubuntu.com>
422
423 Clean up dangling references to grub-setup.
424 Fixes Ubuntu bug #1082045.
425
426 * docs/grub.texi (Images): Refer generally to grub-install rather
427 than directly to grub-setup.
428 (Installing GRUB using grub-install): Remove direct reference to
429 grub-setup.
430 (Device map) Likewise.
431 (Invoking grub-install): Likewise.
432 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
433 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
434 * util/grub-install.in (usage): Likewise.
435
436 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
437 Apply to grub-bios-setup and grub-sparc64-setup rather than to
438 grub-setup.
439 * configure.ac: Remove grub_setup output variable.
440
441 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
442 to grub-bios-setup.
443 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
444 grub-setup to grub-sparc64-setup.
445
5e3b8dcb
VS
4462013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
447
448 Import gcrypt public-key cryptography and implement signature checking.
449
535714bd
VS
4502013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/fs/ntfs.c: Ue more appropriate types.
453 * grub-core/fs/ntfscomp.c: Likewise.
454 * include/grub/ntfs.h: Likewise.
455
3e4f3566
VS
4562013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
457
458 Support Apple FAT binaries on non-Apple platforms.
459
460 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
461 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
462 Likewise.
463 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
464 Apple FAT binaries.
465
4dedb13f
VS
4662013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
469 sector devices.
470
f8861eaf
CW
4712013-01-07 Colin Watson <cjwatson@ubuntu.com>
472
473 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
474 explicitly zeroing elements.
475 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
476 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
477 of elements in a structure already allocated using grub_zalloc.
478 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
479
86065b0a
CW
4802013-01-07 Colin Watson <cjwatson@ubuntu.com>
481
482 * docs/grub.texi (grub_cpu): New subsection.
483 (grub_platform): Likewise.
484
c6f1e92f
VS
4852013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
488
f797ec85
VS
4892013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
492 divisions.
493
033d0b4b
VS
4942013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
497 * grub-core/fs/ntfscomp.c: Likewise.
498 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
499 (grub_ntfs_comp): Likewise.
500
21d1b9a0
VS
5012013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
502
503 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
504 Rename to ...
505 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
506 of groups_per_block. All users updated.
507
10ca8645
VS
5082013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
511 grub_error properly.
512 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
513 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
514
a4c3ed4c
VS
5152013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
518 always in /boot/zfs.
519 Reported by: Yuta Satoh.
520
0b716507
YS
5212013-01-03 Yuta Satoh <nigoro>
522
523 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
524 ${grub_probe}
525
00c05e22
VS
5262013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * configure.ac: Extend -Wno-trampolines to host.
529
dadddb76
VS
5302013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
533 entry->len = 0.
534
54ce53ca
CW
5352013-01-03 Colin Watson <cjwatson@ubuntu.com>
536
537 * docs/grub.texi (Invoking grub-mkrelpath): New section.
538 (Invoking grub-script-check): Likewise.
539
8912efca
CW
5402013-01-03 Colin Watson <cjwatson@ubuntu.com>
541
542 * docs/grub.texi (Invoking grub-mount): New section.
543 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
544
c3fc8394
CW
5452013-01-02 Colin Watson <cjwatson@ubuntu.com>
546
547 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
548 test failures, so that a failing unit test correctly causes 'make
549 check' to fail.
550
45d26abb
CW
5512013-01-02 Colin Watson <cjwatson@ubuntu.com>
552
553 Fix failing printf test.
554
555 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
556 '$' in the correct order when collecting type information.
557
971dd2c6
CW
5582013-01-02 Colin Watson <cjwatson@ubuntu.com>
559
560 * docs/grub.texi (configfile): Explain environment variable
561 handling.
562 (source): New section.
563 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
564
5c67ea6c
CW
5652012-12-31 Colin Watson <cjwatson@ubuntu.com>
566
567 Remove several trivially-unnecessary uses of nested functions.
568
569 * grub-core/commands/i386/pc/sendkey.c
570 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
571 instead of nested.
572 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
573 Rename to ...
574 (legacy_file_getline): ... this.
575 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
576 Likewise.
577 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
578 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
579 to ...
580 (probe_dummy_iter): ... this.
581 * grub-core/kern/i386/coreboot/mmap.c
582 (grub_linuxbios_table_iterate: check_signature): Likewise.
583 * grub-core/kern/parser.c (grub_parser_split_cmdline:
584 check_varstate): Likewise. Mark inline.
585 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
586 an additional parameter.
587 (find_long: fnd_long): Likewise. Pass two additional parameters.
588 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
589 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
590 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
591 Likewise. Rename to ...
592 (grub_cmos_find_port_iter): ... this.
593 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
594 Rename to ...
595 (find_rtc_iter): ... this.
596
597 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
598 function directly into the function body, since it is only called
599 once.
600
33a68ac6
CW
6012012-12-30 Colin Watson <cjwatson@ubuntu.com>
602
603 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
604 __attribute__ ((unused)).
605 * grub-core/video/bochs.c (find_card): Likewise.
606 * grub-core/video/cirrus.c (find_card): Likewise.
607 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
608 * grub-core/video/sis315pro.c (find_card): Likewise.
609 * grub-core/video/sm712.c (find_card): Likewise.
610
608b647a
CW
6112012-12-28 Colin Watson <cjwatson@ubuntu.com>
612
613 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
614 Fixes Savannah bug #37821.
615
fd49ceb3
CW
6162012-12-28 Colin Watson <cjwatson@ubuntu.com>
617
618 Apply program name transformations at build-time rather than at
619 run-time. Fixes Debian bug #696465.
620
621 * acinclude.m4 (grub_TRANSFORM): New macro.
622 * configure.ac: Create output variables with transformed names for
623 most programs.
624 * util/bash-completion.d/grub-completion.bash.in: Use
625 pre-transformed variables for program names.
626 * util/grub-install.in: Likewise.
627 * util/grub-kbdcomp.in: Likewise.
628 * util/grub-mkconfig.in: Likewise.
629 * util/grub-mkconfig_lib.in: Likewise.
630 * util/grub-mknetdir.in: Likewise.
631 * util/grub-mkrescue.in: Likewise.
632 * util/grub-mkstandalone.in: Likewise.
633 * util/grub-reboot.in: Likewise.
634 * util/grub-set-default.in: Likewise.
635 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
636 * tests/util/grub-shell-tester.in: Remove unused assignment.
637 * tests/util/grub-shell.in: Likewise.
638 * util/grub.d/00_header.in: Likewise.
639
7024b3c0
CW
6402012-12-28 Colin Watson <cjwatson@ubuntu.com>
641
642 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
643
644 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
645 HAVE_RAW_DECL_GETS.
646 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
647
e3501b13
VS
6482012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
651 Reported by: Eriks Latosheks <foresterlv>.
652
b40c88a9
VS
6532012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * docs/grub.texi (Network): Update instructions on generating netboot
656 image.
657
ce96d01c
VS
6582012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
661 around device name if necessarry.
662
0f596201
PFS
6632012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
664
665 * util/grub-install.in: Follow the symbolic link parameter added
666 to the file command.
667
600d5bdb
AB
6682012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
669
670 * util/grub-install.in: Remove stale TODO.
671
64ebd2f4
PFS
6722012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
673
674 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
675 dynamic allocation for the bootpath buffer.
676
74b2fe3e
DTB
6772012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
678
679 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
680 window too small.
681
969b804f
VS
6822012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
685 argument rather than font name. All users updated.
686 (grub_gfxterm_set_window): Likewise.
687
b9f5ebd6
VT
6882012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
689
690 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
691 from working.
692
258f43b7
VS
6932012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * util/getroot.c (convert_system_partition_to_system_disk): Support
696 nbd disks.
697
cc1ce5f9
VS
6982012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
701 infinite loop on corrupted FS.
702
e77a16ca
VS
7032012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
704
705 Fix big-endian mtime.
706
707 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
708 together sec and usec.
709 (grub_ufs_dir): Use correct byteswapping for UFS time.
710
d9c48c7b
VS
7112012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
712
713 Support big-endian UFS1.
714
715 * Makefile.util.def (libgrubmods): Add ufs_be.c
716 * grub-core/Makefile.core.def (ufs1_be): New module.
717 * grub-core/fs/ufs_be.c: New file.
718 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
719 the file.
720
2f9f40ba
LL
7212012-11-28 Leif Lindholm <leif.lindholm@arm.com>
722
723 * include/grub/types.h: Fix functionality unaffecting typo in
724 GRUB_TARGET_WORDSIZE conditional macro.
725
48ff0889
PFS
7262012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
727
728 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
729
03711240
GS
7302012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
731
732 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
733 that /netbsd appears first (when it exists).
734
a31b11bd
CJ
7352012-10-12 Christoph Junghans <ottxor@gentoo.org>
736
737 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
738 Fixes Savannah bug #37558.
739
e8a5d5d4
CW
7402012-10-12 Colin Watson <cjwatson@ubuntu.com>
741
742 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
743 description of extract_entries_configfile.
744
7452012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
746
747 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
748 preferred_address.
749 (grub_cmd_linux): Likewise.
750 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
751 preferred_lifetime. Update all users.
752
288c757d
CW
7532012-09-26 Colin Watson <cjwatson@ubuntu.com>
754
755 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
756 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
757
0d35da3f
CW
7582012-09-26 Colin Watson <cjwatson@ubuntu.com>
759
760 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
761 errors from grub-probe to /dev/null, not stdout.
762
b78c3127
VS
7632012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
766 sector 1.
767
473959f0
CW
7682012-09-24 Colin Watson <cjwatson@ubuntu.com>
769
770 * util/grub-install.in: Make the error message if $source_dir
771 doesn't exist more useful.
772
794c8c33
CW
7732012-09-22 Colin Watson <cjwatson@ubuntu.com>
774
775 Fix grub-emu build on FreeBSD.
776
777 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
778 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
779 headers on Linux.
780 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
781 implementation is currently Linux-specific.
782 * util/getroot.c (exec_pipe): Define only on Linux or when either
783 libzfs or libnvpair is unavailable.
784 (find_root_devices_from_poolname): Remove unused path variable.
785
86d08fdb
CW
7862012-09-19 Colin Watson <cjwatson@ubuntu.com>
787
788 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
789 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
790 should fit before end == 63.
791
735abf54
CW
7922012-09-19 Colin Watson <cjwatson@ubuntu.com>
793
794 * util/grub-setup.c (write_rootdev): Remove unused core_img
795 parameter. Update all callers.
796 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
797 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
798 GRUB_SETUP_BIOS.
799
140acd3c
VS
8002012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
801
802 * util/grub-mkconfig_lib.in (grub_tab): New variable.
803 (grub_add_tab): New function.
804 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
805 * util/grub.d/10_illumos.in: Likewise.
806 * util/grub.d/10_kfreebsd.in: Likewise.
807 * util/grub.d/10_linux.in: Likewise.
808 * util/grub.d/10_netbsd.in: Likewise.
809 * util/grub.d/10_windows.in: Likewise.
810 * util/grub.d/10_xnu.in: Likewise.
811 * util/grub.d/20_linux_xen.in: Likewise.
812 * util/grub.d/30_os-prober.in: Likewise.
813
7ddffdad
VS
8142012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
817 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
818 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
819 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
820 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
821 ieee1275-nocursor.
822 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
823 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
824
4e092454
VS
8252012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
828 le-conversion.
829 Reported by: BURETTE, Bernard.
830
735abf54 8312012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
832
833 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
834 from comment.
835
dfd39dbd
CW
8362012-09-14 Colin Watson <cjwatson@ubuntu.com>
837
838 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
839 IEEE1275 machines. Fixes powerpc-emu compilation.
840 * include/grub/terminfo.h: Likewise.
841
3bfa763c
VS
8422012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
845 a const pointer.
846 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
847 const pointer.
848 (efiemu_set_variable): Make vendor_guid a const pointer.
849
250e475b
VS
8502012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
851
852 Don't require grub-mkconfig_lib to generate manpages for programs.
853
854 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
855 dependencies, don't add grub-mkconfig_lib.
856 (program): Pass empty adddeps.
857 (script): Pass grub-mkconfig_lib as adddeps.
858
592fd0e4
VS
8592012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
862 * util/getroot.c (grub_find_device): Likewise.
863 (get_mdadm_uuid): Likewise.
864 (grub_util_is_imsm): Likewise.
865 (grub_util_pull_device): Likewise.
866 * util/grub-probe.c (probe): Likewise.
867
801a3027
BG
8682012-09-10 Benoit Gschwind <gschwind>
869
870 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
871 (devs): Add devpath_8.
872
c5052c81
PJ
8732012-09-08 Peter Jones <pjones@redhat.com>
874
875 * grub-core/Makefile.core.def (efifwsetup): New module.
876 * grub-core/commands/efi/efifwsetup.c: New file.
877 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
878 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
879 New define.
880 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
881
8e832f71
JS
8822012-09-05 Jiri Slaby <jslaby@suse.cz>
883
884 * configure.ac: Add SuSe path.
885
f0f55752
CW
8862012-09-05 Colin Watson <cjwatson@ubuntu.com>
887
888 * NEWS: Fix typo.
889
ecadc4c2
CW
8902012-09-05 Colin Watson <cjwatson@ubuntu.com>
891
892 * util/import_gcry.py: Sort cipher_files, to make build system
893 generation more deterministic.
894
64498f25
VS
8952012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
898 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
899 (grub_set_datetime): Likewise.
900
9cc836a2
VS
9012012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
904 warnings.
905
bcfcea01
VS
9062012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
909
a4099485
VS
9102012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
913
265c162a
CW
9142012-09-04 Colin Watson <cjwatson@ubuntu.com>
915
916 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
917 required for checkouts from bzr, but it may be useful for users or
918 distributors wishing to update translations against a tarball
919 distribution, and it can be helpful for the tarball to be a superset
920 of what's in bzr.
921
3d171e95
CW
9222012-09-04 Colin Watson <cjwatson@ubuntu.com>
923
924 * Makefile.am (EXTRA_DIST): Add
925 grub-core/tests/boot/linux.init-mips.S,
926 grub-core/tests/boot/linux.init-ppc.S, and
927 grub-core/tests/boot/linux-ppc.cfg.
928
f2c2503e
CW
9292012-09-04 Colin Watson <cjwatson@ubuntu.com>
930
931 * grub-core/mmap/mips/loongson: Remove empty directory.
932
9332012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
934
935 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
936 gone.
937
ab2163d5
CW
9382012-09-04 Colin Watson <cjwatson@ubuntu.com>
939
940 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
941 grub-sparc64-setup.
942
ce938140
GS
9432012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
944
945 * configure.ac: Strengthen the test for working -nostdinc -isystem.
946
529f58a5
GS
9472012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
948
949 * po/POTFILES.in: Regenerated.
950
16cf79e9
GS
9512012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
952
953 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
954 (NetBSD): New subsection.
955
39b27f1e 9562012-07-22 Ales Nesrsta <starous@volny.cz>
957
958 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
959 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
960
a885261b
VS
9612012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
964 * util/grub.d/10_hurd.in: Add missing quoting.
965 * util/grub.d/10_illumos.in: Likewise.
966 * util/grub.d/10_kfreebsd.in: Likewise.
967 * util/grub.d/10_linux.in: Likewise.
968 * util/grub.d/20_linux_xen.in: Likewise.
969
7bd29c01
VS
9702012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
971
972 New command `lsefi'.
973
974 * grub-core/Makefile.core.def (lsefi): New module.
975 * grub-core/commands/efi/lsefi.c: New file.
976 * include/grub/efi/api.h: Add more GUIDs.
977
ac625d8f
VS
9782012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
979
980 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
981 (grub_bsd_elf32_hook): Likewise.
982 (grub_bsd_elf64_size_hook): Likewise.
983 (grub_bsd_elf64_hook): Likewise.
984 (grub_bsd_load_elf): Likewise.
985
e73bb801
VS
9862012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
989 if hash function is unavailable.
990 (dec_stream_header): Likewise.
991
e81db8b5
VS
9922012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
995 filter state.
996
d187a1c3
VS
9972012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
998
999 Fix coreboot compilation.
1000
1001 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
1002 (grub_vga_text_init_real): ... this.
1003 (grub_vga_text_fini): Rename to ...
1004 (grub_vga_text_fini_real): ... this.
1005
91a05f64
VS
10062012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
1009
6af96df7
VS
10102012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * grub-core/lib/legacy_parse.c: Support clear and testload.
1013
4d569e12
VS
10142012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
1017
073b57bb
VS
10182012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 * grub-core/fs/ext2.c: Experimental support for 64-bit.
1021
a706f4cc
VS
10222012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/net/tftp.c (ack): Fix endianness problem.
1025 (tftp_receive): Likewise.
1026 Reported by: Michael Davidsaver.
1027
e7850aa9
VS
10282012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 * gentpl.py: Make mans depend on grub-mkconfig_lib.
1031
10322012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
1035 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
1036 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
1037
35692881
VS
10382012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
1041 efi_mmap_size.
1042 Reported by: Stuart Hayes.
1043
c35fc5bd
VS
10442012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
1047
1048 * grub-core/Makefile.core.def (mda_text): New module.
1049 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
1050 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
1051 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
1052 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
1053 here.
1054 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
1055 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
1056 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
1057 here.
1058 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
1059 to ..
1060 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
1061 ... here
1062 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
1063 here.
1064 * grub-core/term/i386/vga_common.c: Removed.
1065 * include/grub/i386/vga_common.h: Likewise.
1066 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
1067 (grub_vga_cr_bw_read): Likewise.
1068 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
1069 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
1070 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
1071 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
1072 grub_vga_cr_read/grub_vga_cr_write.
1073 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
1074
5f91f701
VS
10752012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * configure.ac: Bump version to 2.00.
1078 * grub-core/normal/main.c (features): Add feature_200_final.
1079
0c4f85f6
VS
10802012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10812012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
1082
1083 * NEWS: Fix unclarity and language mistakes.
1084
f923ad22
VS
10852012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
1088 additional size to 3 pages.
1089 Reported by: Stuart Hayes.
1090
d22029ba
VS
10912012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * NEWS: Add 2.00 entry.
1094
58eee08f
VS
10952012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
1098 put explicit "/" for empty path.
1099 (wildcard_expand): Improve dprintf.
1100
c59bdff7
VS
11012012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
1104 it's equal to currnode. This can happen with "" symlink.
1105
5e6a440a
YB
11062012-06-27 Yves Blusseau <blusseau@zetam.org>
1107
1108 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
1109 echo shell command by printf command.
1110
73a68bcb
VS
11112012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
1114 the value returned by firmware is the maximal position, not diumension.
1115 (grub_terminfo_output_state): Use a more sane fallback.
1116
392a603b
VS
11172012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1118
1119 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
1120
42d0867f
VS
11212012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
1124 frequency to 150 MHz.
1125
489509f4
VS
11262012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 Apple fixes.
1129
1130 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
1131 __APPLE_
1132 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
1133 definition.
1134 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
1135
9f3fc883
VS
11362012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 Handle slash in HFS label.
1139
1140 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
1141 (grub_hfs_dir): Tanslate slash.
1142 (grub_hfs_label): Don't translate slash.
1143
54853fd7
VS
11442012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
1147 network protocol listing since it introduces problematic dependency on
1148 net module.
1149
4dc02ddf
VS
11502012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
1153
c50c867d
VS
11542012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 Init video early on yeeloong to avoid being rebooted by watchdog.
1157
1158 * grub-core/Makefile.am (gensm712): New target.
1159 (sm712_start.S): Likewise.
1160 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
1161 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
1162 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
1163 description.
1164 * include/grub/vga.h: Move registry definitions to...
1165 * include/grub/vgaregs.h: ... here.
1166
5f92c8a1
VS
11672012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
1170 signedness.
1171
e9e6f111
VS
11722012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
1175 platforms with firmware disk drivers in the core.
1176
754ad9eb
VS
11772012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
1180 informative verbose message.
1181 (read_lv): Handle 64-bit segment size.
1182
315654c2
VS
11832012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
1186
fb022c79
VS
11872012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
1190 character but still remove trainling spaces.
1191 (grub_fat_label): Ignore archive flag.
1192
8645f72c
VS
11932012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
1196 cast between linux_kernel_header and linux_kernel_params.
1197
36498496
VS
11982012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
1201 type for size.
1202 (grub_raid6_recover_func_t): Likewise.
1203 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
1204 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1205
0b5ea6b8
VS
12062012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
1209
650cfcfe
GS
12102012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
1211
1212 Fix overflow.
1213
1214 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
1215 [__NetBSD__]: Add explicit cast before bitshift.
1216
8a4d6a44
VS
12172012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * configure.ac: Bump to 2.00~rc1.
1220
2fb97ed3
VS
12212012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
1224 half of $a0.
1225
1fa097dc
VS
12262012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12272012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
1228
1229 * docs/grub.texi: Fix search syntax.
1230 (Multi-boot manual config): Put msdos rather than GPT example.
1231 Grammar corrections.
1232
c890ba78
VS
12332012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
1236
0f92dca7
VS
12372012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
1240
3988c4a0
VS
12412012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
1244 message on double free. Put the value of magic in case of mismatch.
1245
9e86d4c5
VS
12462012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 Speed-up video on yeeloong.
1249
1250 * grub-core/video/sm712.c (framebuffer): Remove render_target and
1251 add cached_ptr.
1252 (grub_video_sm712_video_fini): Unmap cached_ptr.
1253 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
1254 (grub_video_sm712_set_active_render_target): Removed.
1255 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1256 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
1257 sync caches.
1258
ed24c312
VS
12592012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 Avoid flushing the same line multiple times on loongson.
1262
1263 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
1264 Step in 32 bytes and not 1 byte.
1265 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
1266 Likewise.
1267
d1718e7d
VS
12682012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
1271 subvolumes.
1272
982f1909
VS
12732012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 Implement flow control for http.
1276
1277 * grub-core/net/http.c (parse_line): Handle response 206.
1278 (http_receive): Stall if too many packets are in the queue.
1279 (http_establish): Fix range header.
1280 (http_seek): Fix double free.
1281 (http_close): Likewise.
1282 (http_packets_pulled): New function.
1283 (grub_http_protocol): Set http_seek
1284 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
1285 (ack_real): Set window depending on i_stall.
1286 (grub_net_send_tcp_packet): Likewise.
1287 (grub_net_tcp_stall): New function.
1288 (grub_net_tcp_unstall): Likewise.
1289 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
1290 (grub_net_tcp_unstall): Likewise.
1291
bd407d6e
VS
12922012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * grub-core/net/tftp.c: Decrease stall to 50 packets.
1295
c7564b8e
VS
12962012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
1299
a3706162
VS
13002012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1301
1302 * tests/util/grub-shell.in: Fix a typo.
1303
b27069e0
VS
13042012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 Implement flow control for tftp.
1307
1308 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
1309 packets but stop only if stop condition is satisfied.
1310 (grub_net_fs_read_real): Call packets_pulled after real read. Use
1311 `stall' instead of `eof' as stop condition.
1312 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
1313 (http_err): Likewise.
1314 * grub-core/net/tftp.c (ack): Replace the first argument with data
1315 instead of socket.
1316 (tftp_receive): Stall if too many packets are in wait queue.
1317 (tftp_packets_pulled): New function.
1318 (grub_tftp_protocol): Set packets_pulled.
1319 * include/grub/net.h (grub_net_packets): New field count.
1320 (grub_net_put_packet): Increment count.
1321 (grub_net_remove_packet): Likewise.
1322 (grub_net_app_protocol): New field `packets_pulled'.
1323 (grub_net): New field `stall'.
1324
6b9cfac6
VS
13252012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
1328 sync part to handle them.
1329
f35abd81
VS
13302012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
1333 * grub-core/net/drivers/ieee1275/ofnet.c
1334 (grub_ieee1275_net_config_real): Likewise.
1335
0e7ec820
VS
13362012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
1339 the direct route for server/gateway.
1340
9d611a31
VS
13412012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
1344 IP address to server name since we may not hame the DNS.
1345
418f45ab
VS
13462012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
1349 freeing random buffer on failure.
1350 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
1351
44a0efc1
VS
13522012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
1355
531e2241
VS
13562012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
1359 reserved bytes.
1360 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
1361 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
1362 Handle malloc error correctly.
1363
cde393c9
VS
13642012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
1367 blocks.
1368
538478d0
VS
13692012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
1372 increment.
1373
9b55efe0
VS
13742012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
1377 none is explicitly specified.
1378
9eb832c3
VS
13792012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
1382 while reallocating.
1383
d6b7c7c9
VS
13842012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 Respect netmask from bootp/dhcp.
1387
1388 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
1389 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
1390 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
1391 into ...
1392 (grub_net_add_ipv4_local): ... this.
1393 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
1394 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
1395 (grub_net_add_ipv4_local): New proto.
1396
67caf9eb
VS
13972012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
1400 determining EFI memory map size.
1401
43657558
VS
14022012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
1405
eb6d0dd3
VS
14062012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
1409 when looking for partition separator.
1410
31230544
VS
14112012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1414 Escape commas.
1415
918a2517
VS
14162012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 Restructure FAT driver to avoid hook in label reading as it hits a
1419 GCC bug.
1420
1421 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
1422 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
1423 (grub_fat_iterate_dir): Split into ...
1424 (grub_fat_iterate_init): ... this, ...
1425 (grub_fat_iterate_fini): ... this, ...
1426 (grub_fat_iterate_dir_next): ... and this. All users updated.
1427
9f1d654e
VS
14282012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1431 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
1432 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1433 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
1434 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
1435 New fields last_key and last_key_time.
1436 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
1437 extended key-esc into extended key-extended key.
1438
52f0f643
VS
14392012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 Avoid unnecessary memcpy of whole video buffer.
1442
1443 * grub-core/video/fb/video_fb.c (dirty): New struct.
1444 (framebuffer): Add members current_dirty and previous_dirty.
1445 (dirty): New function.
1446 (grub_video_fb_fill_rect): Update dirty.
1447 (common_blitter): Likewise.
1448 (grub_video_fb_scroll): Likewise.
1449 (doublebuf_blit_update_screen): Copy only dirty part.
1450 (doublebuf_pageflipping_update_screen): Likewise.
1451 (grub_video_fb_doublebuf_blit_init): Init dirty.
1452 (doublebuf_pageflipping_init): Likewise.
1453 (grub_video_fb_setup): Likewise.
1454
e169a180
VS
14552012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
1458 poll rate.
1459
48556879
VS
14602012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 Fix wildcard regexp dot and other special characters handling.
1463 Reported by: Robert Mabee.
1464
1465 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
1466 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
1467 (split_path): Trigger expansion on '?'.
1468 (unescape): New function.
1469 (wildcard_expand): Unescape parts copied without globbing.
1470 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
1471 (grub_script_arglist_to_argv): Don't unescape expansions.
1472
0494408e
VS
14732012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 * include/grub/net.h (grub_net_card): New member txbufsize.
1476 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
1477 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1478 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
1479 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
1480 txbufsize.
1481 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
1482 compatible property to check for macs. Set
1483 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1484 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
1485 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
1486 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
1487 (send_card_buffer): Use txbuf.
1488 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
1489 nested function out of the parent while on it.
1490
cc35fe8f
VS
14912012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
1494 presence check.
1495 (grub_ieee1275_net_config_real): Fix config pointer.
1496
970a0a09
VS
14972012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
1500 filename parsing to non-block devices.
1501
3e19bf87
VS
15022012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * grub-core/kern/device.c (grub_device_open): Remove dead code.
1505
c62d1a0c
VS
15062012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
1509 All users updated.
1510
ef76bec3
VS
15112012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
1514 UUID search command even if hints probing failed.
1515
15162012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
1517
1518 * po/POTFILES.in: Regenerated.
1519
70aaf305
VS
15202012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 Speed-up video on fuloong.
1523
1524 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
1525 New function.
1526 (grub_pci_device_unmap_range): Handle non-cached address.
1527 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
1528 add direct_ptr.
1529 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
1530 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
1531 (grub_video_sis315pro_set_active_render_target): Removed.
1532 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
1533 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1534 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
1535 sync caches.
1536 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
1537 New proto.
1538
10400f0b
VS
15392012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 * docs/grub.texi (Multi-boot manual config): New section.
1542
ba67e2c6
VS
15432012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 Avoid slow read-back from VRAM.
1546
1547 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
1548 Move from here ...
1549 * grub-core/video/fb/video_fb.c
1550 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
1551 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
1552 (front_target): Remove front_target. Add pages.
1553 (grub_video_fb_init): Skip setting front_pages.
1554 (grub_video_fb_fini): Likewise.
1555 (doublebuf_blit_update_screen): Use pages.
1556 (grub_video_fb_doublebuf_blit_init): Likewise.
1557 (doublebuf_pageflipping_init): Allocate offscreen buffer.
1558 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
1559 (grub_video_fb_setup): Prefer doublebuffing.
1560
377c98cb
VS
15612012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
1564 gzio.
1565
eac49cff
VS
15662012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 Add loongson tests.
1569
1570 * tests/util/grub-shell.in: Handle loongson.
1571 * tests/partmap_test.in: Add loongson to the list of platform using ATA
1572 drivers.
1573 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
1574 Reboot instead of shutdown if REBOOT is defined.
1575
0321415e
VS
15762012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
1579 sized ports since unlike on real hardware qemu supports only 32-bit
1580 regs.
1581
3f2bdd8f
VS
15822012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * Makefile.util.def (grub-mkrescue): Enable on loongson.
1585 * util/grub-mkrescue.in: Handle loongson.
1586
29a049c9
VS
15872012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
1590 Set is_part appropriately.
1591 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
1592 names. Canonicalize partition without full disk.
1593
4abde346
VS
15942012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 Revert usb-quiesce since it's wrong.
1597
1598 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
1599 (grub_ofdisk_init): Don't do quiesce.
1600
61f1d93b
VS
16012012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
1604 PowerMac workaround to Xserves as well.
1605 Information supplied by: Benjamin Herrenschmidt.
1606
a09eb541
VS
16072012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 Don't assume that beginning address is also the entry point on ppc.
1610
1611 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
1612 (grub_linux_boot): Use linux_entry.
1613 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
1614 (grub_linux_load64): Likewise.
1615
505b3c9b
VS
16162012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
1619
cbe0b4ef
VS
16202012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1621
1622 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
1623 needlessly lose the console.
1624
3006e981
VS
16252012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
1628 space.
1629
4e5a96b0
VS
16302012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1631
7da036bb
VS
1632 Remove non-functional EFI grub_get_rtc. Put a better fatal message
1633 than current grub_get_rtc() not implemented when booted with
1634 coreboot without TSC.
1635
1636 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
1637 Add machine/time.h to kernel headers on loongson.
1638 * grub-core/Makefile.core.def (kernel): Remove
1639 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
1640 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
1641 (grub_get_rtc): Likewise.
1642 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
1643 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
1644 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
1645 * grub-core/kern/i386/tsc.c (grub_tsc_init)
1646 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
1647 rather than installing known non-working time source.
1648 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
1649 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
1650 * include/grub/time.h: Don't include machine/time.h.
1651 * include/grub/efi/time.h: Removed.
1652 * include/grub/i386/efi/time.h: Likewise.
1653 * include/grub/i386/ieee1275/time.h: Likewise.
1654 * include/grub/powerpc/ieee1275/time.h: Likewise.
1655 * include/grub/sparc64/ieee1275/time.h: Likewise.
1656 * include/grub/x86_64/efi/time.h: Likewise.
1657
16582012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
1661
1662 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
1663 value.
1664 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
1665 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
1666 with dotless variants when any combining above is present.
1667
5561c22d
VS
16682012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
1671 text and not binary.
1672
96f7e60e
VS
16732012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 Stop polling as soon as we have the packet we were waiting for.
1676
1677 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
1678 All users updated.
1679 * grub-core/net/arp.c (have_pending): New var.
1680 (pending_req): Likewise.
1681 (grub_net_arp_send_request): Fill pending_req and use have_pending as
1682 stop indicator.
1683 (grub_net_arp_receive): Set have_pending.
1684 * grub-core/net/dns.c (recv_data): New field stop.
1685 (recv_hook): Set stop.
1686 (grub_net_dns_lookup): Init stop and use as stop condition.
1687 * grub-core/net/http.c (http_establish): Use headers_recv as stop
1688 condition.
1689 * grub-core/net/net.c (grub_net_poll_cards): New argument
1690 stop_condition. Stop when it goes true.
1691 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
1692 indicator.
1693 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
1694
3e747239
VS
16952012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 Keep TX and RX buffers on EFI rather than always allocate new ones.
1698
1699 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
1700 card. All users updated.
1701 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
1702 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
1703 (get_card_packet): Likewise.
1704 (grub_efinet_findcards): Init new fields.
1705
f695e99a
VS
17062012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
1709 compilation error on sparc64.
1710
9e5e66d1
VS
17112012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 Use ITC on IA64 rather than broken routine based on daytime.
1714
1715 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
1716 ia64.
1717 (grub_get_rtc) [__ia64__]: Likewise.
1718 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
1719 (get_itc): New function.
1720 (grub_rtc_get_time_ms): Likewise.
1721 (grub_machine_init): Calibrate ITC.
1722 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
1723 Keep only on non-ia64. Don't export since it's broken and used only
1724 if TSC is unavailable.
1725
a1767404
VS
17262012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
1729 even if it's used.
1730 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
1731 Skip if parent is unused.
1732
34b2bced
VS
17332012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
1736
5e619f40
VS
17372012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 Fix wildcard escaping.
1740
1741 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
1742 * grub-core/script/execute.c (wildcard_escape): .. to here.
1743 Don't escape dot.
1744 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
1745 * grub-core/script/execute.c (wildcard_unescape): .. to here.
1746 Don't escape dot.
1747 * grub-core/script/execute.c (gettext_append): Always escape.
1748 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
1749 * grub-core/script/yylex.l: Don't cut away the escaping.
1750 * tests/grub_script_echo1.in: Add tests with wildcard.
1751
c8ca5855
VS
17522012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
1755 (ftdi_hw_configure): Likewise.
1756 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
1757 define.
1758 (real_config): Handle 1.5 stop bits.
1759 (pl2303_hw_configure): Likewise.
1760
7183452c
VS
17612012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 * Makefile.am: Add ppc linux bootcheck.
1764 * grub-core/tests/boot/linux-ppc.cfg: New file.
1765 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
1766
f57c84cd
VS
17672012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * tests/grub_script_expansion.in: Skip network protocols.
1770
ecfc6207
VS
17712012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
1774
8d03d284
VS
17752012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
1778 --rom-directory.
1779 Add -graft-points.
1780
61c42af0
VS
17812012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 ESCC serial driver for conducting sautomated tests in qemu.
1784 Not tested on real hardware.
1785
1786 * include/grub/serial.h (grub_serial_port): New field escc_desc.
1787 * grub-core/term/ieee1275/escc.c: New file.
1788 * grub-core/Makefile.core.def (escc): New module.
1789
08fd1291
VS
17902012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
1793 invalid on error.
1794 (serial_hw_fetch): Don't read invalid handle.
1795 (serial_hw_put): Don't write into invalid handle.
1796
08dafeea
VS
17972012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 Add a 1.5 stop bits value.
1800
1801 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
1802 * include/grub/serial.h (grub_serial_stop_bits_t): Add
1803 GRUB_SERIAL_STOP_BITS_1_5.
1804
9068fdcf
VS
18052012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
1808 value rather than let it uninited.
1809
f4d5820f
VS
18102012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * grub-core/commands/wildcard.c (+check_file): New function.
1813 (wildcard_expand): Don't expand to non-existing files, expand with
1814 suffix and not attempt to expand if not needed.
1815
3d2de9a7
VS
18162012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
1819 out of partitions containing other partitions.
1820
c5c81ff9
VS
18212012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
1824 on some qemu versions with GRUB.
1825
1826 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
1827 define.
1828 (grub_openbsd_bootarg_pcibios): New struct.
1829 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
1830 Add PCIINFO.
1831
08a14e0b
VS
18322012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 * tests/util/grub-shell.in: Trim firmware output on EFI.
1835
cede3ca3
VS
18362012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
1839 and coreboot since it's already in kernel.
1840
558d3a60
VS
18412012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
1844 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1845 to here. New return value start. All users updated.
1846 Recursively scan linear mappings.
1847 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
1848 proto.
1849 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1850 Use grub_util_get_dm_node_linear_info.
1851 * util/getroot.c (convert_system_partition_to_system_disk): Use
1852 grub_util_info rather than grub_dprintf.
1853 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
1854
60fde14d
VS
18552012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1858
1859 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1860 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1861
24bd8838
VS
18622012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * include/grub/types.h (grub_set_unaligned64): New function.
1865 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1866 (setup): Likewise.
1867
7bc06a49
VS
18682012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1871 (grub_ofdisk_fini): Quiesce USB devices.
1872
49cea015
VS
18732012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1876 caches.
1877
8dcbe03b
VS
18782012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1881
5b258735
VS
18822012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/disk/pata.c (grub_pata_pio_read)
1885 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1886 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1887
37ba07eb
VS
18882012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 Extend automated tests to qemu-mips.
1891
1892 * Makefile.am: reorganise tests and enable qemu-mips.
1893 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1894 * grub-core/tests/boot/linux.init-mips.S: New file.
1895 * tests/partmap_test.in: Handle ata0 disks.
1896 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1897 non-pc i386.
1898
070038f8
VS
18992012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1902 ia64.
1903 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1904 quotes while on it.
1905
004be2cd
VS
19062012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1907
1908 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1909 (grub_halt): Likewise.
1910 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1911
b1622487
VS
19122012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * grub-core/term/serial.c (grub_serial_register)
1915 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1916 the behaviour in line with x86 platforms.
1917
b7b4ab33
VS
19182012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1921 (grub_ata_strncpy): Likewise.
1922 (grub_ata_identify): Add missing byteswaps.
1923
5e3535ae
VS
19242012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1927 byte-swap.
1928 (screen_read_char): Likewise.
1929 (grub_vga_text_cls): Likewise.
1930
c21b17e6
VS
19312012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1934 filenames.
1935 (make_file_path): Likewise.
1936
bf293dec
VS
19372012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1940 machines.
1941 Tested by: Paulo Flabiano Smorigo.
1942 Crucial information about API supplied by: Coleen <Last name unknown>.
1943 Reviewed by: Coleen <Last name unknown>.
1944
81f6ef0e
VS
19452012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * util/grub-mkimage.c: Disable -Wcast-align.
1948
7284143a
VS
19492012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1952 as they are fatal.
1953
b99f3e00
VS
19542012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1957
944f752d
VS
19582012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * util/grub-probe.c (escape_of_path): Fix double free.
1961
6cce6f38
VS
19622012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * grub-core/commands/videoinfo.c (hook): Show pitch.
1965
1e1eb50e
VS
19662012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1969
1c715b5a
VS
19702012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1973 (probe): Add ieee1275 to OFW devices.
1974
007ae52d
VS
19752012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1978
4557a36d
VS
19792012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 Handle IBM OFW path.
1982
1983 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1984 available.
1985 (of_path_of_scsi): Handle vdevice.
1986
efbeefe9
VS
19872012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1990 Allocate in multiples of 16 to avoid adding a few bytes free region the
1991 windows bugs upon.
1992
15a940bb
VS
19932012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1996 Allocate in multiples of 16 to avoid adding a few bytes free region the
1997 windows bugs upon.
1998 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1999
6e5efd60
VS
20002012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
2003 resolutions.
2004 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
2005 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
2006
0d3d137e
IS
20072012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
2008
2009 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
2010
45dbe300
VS
20112012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
2014 resulted in \\ at the end of the line.
2015
6d8db947
VS
20162012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
2019 (grub_parser_cmdline_state): Likewise.
2020 (grub_parser_split_cmdline): Likewise.
2021
de89d338
VS
20222012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
2025 /dev/root and /dev/dm-*.
2026
00d41dee
VS
20272012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
2030 fix partially stale display.
2031
f95d1f11
VS
20322012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * grub-core/normal/menu_entry.c (backward_char): Use right line for
2035 substraction.
2036
6297e197
VS
20372012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
2040 Fix MBR remapping workaround.
2041 (grub_util_biosdisk_read) [__linux__]: Likewise.
2042
8a7ecad3
VS
20432012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 * util/grub-install.in: Check for ieee1275 and not ieee1276.
2046
2b34f944
VS
20472012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2048
2049 * configure.ac: Bump to beta6.
2050
684aef11
CW
20512012-05-31 Christer Weinigel <christer@weinigel.se>
2052
2053 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
2054
05b0bb91
VS
20552012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
2058 (grub_cmd_linux): Likewise.
2059
bda36bfa
CW
20602012-05-31 Christer Weinigel <christer@weinigel.se>
2061
2062 Fix EHCI low-speed.
2063
2064 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
2065 (GRUB_EHCI_MULT_TWO): Likewise.
2066 (GRUB_EHCI_MULT_THREE): Likewise.
2067 (GRUB_EHCI_CMASK_MASK): New enum value.
2068 (GRUB_EHCI_SMASK_MASK): Likewise.
2069 (GRUB_EHCI_CMASK_OFF): Likewise.
2070 (GRUB_EHCI_SMASK_OFF): Likewise.
2071 (grub_ehci_pci_iter): Enable periodic schedule.
2072 (grub_ehci_parse_notrun): Likewise.
2073 (grub_ehci_restore_hw): Likewise.
2074 (grub_ehci_setup_qh): Set flags for low speed transfers.
2075 (grub_ehci_find_qh): Use periodic list for low speed.
2076 (grub_ehci_setup_transfer): Check periodic queue as well.
2077 (grub_ehci_check_transfer): Likewise.
2078 (grub_ehci_cancel_transfer): Cancel periodic transfer.
2079
e12bcb1c
PFS
20802012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2081
2082 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
2083 parameter is used.
2084
bcc75fb3
PJ
20852012-05-31 Peter Jones <pjones@redhat.com>
2086
2087 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
2088 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
2089 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
2090
f19cb95e
VS
20912012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
2094 uninited variable. Allocate at least setup_sects.
2095
a4e5ca80
VS
20962012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 Fix handling of EFI with big memory maps.
2099
2100 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
2101 (real_mode_mem): Likewise.
2102 (real_mode_target): Likewise.
2103 (real_mode_pages): Likewise.
2104 (prot_mode_pages): Likewise.
2105 (linux_params): New var.
2106 (linux_cmdline): Likewise.
2107 (free_pages): Don't set real mode variables.
2108 (allocate_pages): Don't allocate real mode memory.
2109 (grub_e820_add_region): Remove the limit.
2110 (grub_linux_boot): Allocate and copy real mode memory.
2111 (grub_linux_unload): Free linux_cmdline.
2112 (grub_cmd_linux): Use temporary storage for parameters.
2113 (grub_cmd_initrd): Likewise.
2114 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
2115 (linux_kernel_params): Make it 1K big.
2116
ddb73558
VS
21172012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * Makefile.util.def: Remove -Wno-format.
2120 * grub-core/Makefile.core.def: Likewise.
2121
1c4afb60
VS
21222012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * tests/cmp_unit_test.c: Add missing failure message.
2125 * tests/example_unit_test.c: Likewise.
2126 * tests/printf_unit_test.c: Likewise.
2127
941e3a6d
VS
21282012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
2131 relaxation of protective MBR requirements.
2132
b105df76
VS
21332012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * configure.ac: Add condition for COND_HOST_XNU.
2136 * Makefile.util.def (10_xnu): New script.
2137 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
2138
84e1569e
VS
21392012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
2142 objconv bug.
2143
130c0f77
VS
21442012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
2147 Binary on other platforms stays identical.
2148
6fd0b143
VS
21492012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
2152 Apple.
2153
0af1751d
VS
21542012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
2157
176d5f7d
VS
21582012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
2161 rather than defining size_t ourselves to avoid conflict.
2162
7de5e20a
VS
21632012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
2166 initialisation to avoid __bzero reference.
2167
f7143efe
VS
21682012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
2171 version.
2172 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
2173 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
2174 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
2175 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
2176 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
2177
e6ad0555
VS
21782012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
2181 * grub-core/kern/misc.c: Likewise.
2182 * grub-core/loader/i386/xnu.c: Likewise.
2183 * include/grub/i386/tsc.h: Likewise.
2184 * include/grub/symbol.h: Likewise.
2185
4a5a3c4a
VS
21862012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
2189 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
2190 on older compiler.
2191
037f6d90
VS
21922012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2195 Implement Apple flavour.
2196 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
2197
f7194551
VS
21982012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
2201 (memmove) [__APPLE__]: Likewise.
2202 (memcpy) [__APPLE__]: Likewise.
2203 (memset) [__APPLE__]: Likewise.
2204 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
2205 (memmove) [__APPLE__]: Likewise.
2206 (memcpy) [__APPLE__]: Likewise.
2207 (memset) [__APPLE__]: Likewise.
2208
85a730ca
VS
22092012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
2212 dependency discard.
2213
40e80b94
VS
22142012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 * grub-core/normal/main.c (read_config_file): Provide config_file and
2217 config_directory.
2218 * util/grub.d/41_custom.in: Use config_directoy when available.
2219
9da59c32
VS
22202012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
2223 (grub_bfs_dir): Likewise.
2224
2787ae53
PJ
22252012-05-27 Peter Jones <pjones@redhat.com>
2226
2227 The old code gives arguments to a printf function which can't work
2228 correctly, and the compiler complains.
2229
2230 * grub-core/tests/example_functional_test.c (example_test): Add
2231 missing text.
2232 * grub-core/tests/lib/test.c (add_failure): Rewrite.
2233 * include/grub/test.h (grub_test_assert_helper): New declaration.
2234 (grub_test_assert): Use grub_test_assert_helper.
2235
526ef13d
VS
22362012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
2239 (exfctest): ... this to avoid overlong filenames.
2240 All users updated.
2241
20dd511c
VS
22422012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 Handle "." and ".." on squashfs.
2245
2246 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
2247 Make inode numbers into stack.
2248 (grub_squash_read_symlink): Use stack.
2249 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
2250 (make_root_node): Fill stack.
2251 (grub_squash_open): Use stack.
2252
1d80c62a
VS
22532012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
2256 freeing.
2257
d336f652
VS
22582012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
2261 stderr on test calls.
2262
8b43f587
VS
22632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
2266
80a3dc3f
VS
22672012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
2270
47e297d4
VS
22712012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
2274 "..".
2275
df042ccb
VS
22762012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
2279 (grub_hfsplus_iterate_dir): Add "." and "..".
2280
fc977f48
VS
22812012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 * grub-core/fs/cpio.c (canonicalize): Handle "..".
2284 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
2285
f3250e5f
VS
22862012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
2289 (find_path): Handle "." and "..".
2290
fd8ed4c5
VS
22912012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
2294 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
2295 (grub_affs_iterate_dir): Handle hardlinks.
2296
4ce776d2
MG
22972012-05-26 Matthew Garrett <mjg@redhat.com>
2298
2299 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
2300 (grub_efi_console_fini): Likewise.
2301 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
2302 (grub_video_gop_fill_mode_info): Rename to ...
2303 (grub_video_gop_fill_real_mode_info): ... this.
2304 (grub_video_gop_fill_mode_info): New function.
2305 (grub_video_gop_setup): Setup double framebuffer.
2306 (grub_video_gop_get_info_and_fini): Use original framebuffer.
2307 Free offscreen.
2308 (grub_video_gop_swap_buffers): Copy framebuffer.
2309 (grub_video_gop_fini): Free offscreen buffer.
2310 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
2311 New enum.
2312 (grub_efi_gop_blt_pixel): New struct.
2313
683031ba
VS
23142012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * gentpl.py: Remove error disabling for objconv.
2317
c2deb798
VS
23182012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 * configure.ac: Remove -Wunitialized as it's not available on older
2321 compilers.
2322
23232012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
2324
2325 Fix extent overflow comparator.
2326
2327 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
2328 (grub_hfsplus_read_block): Set type.
2329 (grub_hfsplus_cmp_extkey): Compare type.
2330
d6b1fd36
VS
23312012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
2334
0a9aa0f6
VS
23352012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
2338 than 0.
2339
8360e159
VS
23402012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
2343 (dejavu_bold_14.pf2): New target.
2344
501b9e4b
VS
23452012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2346
2347 * configure.ac: Fix djvu font detection.
2348
7026b0e2
VS
23492012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
2352 ext* instead of ext2.
2353
c2a51ade
VS
23542012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
2357 name with \0.
2358
8f803a5d
JU
23592012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
2360
2361 * docs/grub-dev.texi: Remove dot from .png.
2362
13c6353f
VS
23632012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
2366 protective entry in any slot.
2367 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
2368 if protective entry is found in any slot.
2369
2370 Protective entry in non-first slot make no sense but is a widespread
2371 brain damage.
2372
4cf6be1b
VS
23732012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
2376
937d1c44
VS
23772012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
2380 with old reiserfs.
2381 (grub_reiserfs_open): Don't free root.
2382
021d90ec
VS
23832012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
2386 after freeing for safety.
2387
967b2b64
VS
23882012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
2391 Reported by: Jordan Uggla.
2392
34274d02
JU
23932012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
2394
967b2b64
VS
2395 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
2396 actual implementation. Specifically, clarify that the grub menu will
2397 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
2398 passed.
34274d02 2399
dcaaae9d
BH
24002012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
2401
2402 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
2403 of r0.
2404
7086ad52
VS
24052012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 Remove unjustified hard dependency of normal.mod on gfxterm.
2408
2409 * include/grub/term.h (grub_term_output): New member fullscreen.
2410 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
2411 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
2412 (grub_gfxterm): Set .fullscreen.
2413 * grub-core/normal/menu.c (menu_init): Use fullscreen.
2414 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
2415
37ed2c9b
VS
24162012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
2419 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 2420 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 2421
a4469c88
VS
24222012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
2425
4e461486
VS
24262012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2429 a bad FS.
2430
aa78f5c4
VS
24312012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
2434 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
2435
197626b5
VS
24362012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
2439 (grub_jfs_mount): Fill caseins.
2440 (grub_jfs_find_file): Respect caseins.
2441
8ad3f28c
VS
24422012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
2445 through UTF-16.
2446
0c6c324e
VS
24472012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
2450 New argument origpath. All users updated.
2451
c6666ba6
VS
24522012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
2455 (read_attr): Ensure that we read start of possibly compressed block.
2456
e28e5fe5
VS
24572012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
2460 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
2461 All users updated.
2462
5fc23ab2
VS
24632012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
2466 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
2467 (dejavu.pf2): Replace with ...
2468 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
2469 this.
2470
79dbc21c
VS
24712012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * util/grub.d/20_linux_xen.in: Add missing line.
2474
d2fcfb0c
VS
24752012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
2478 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
2479 (grub_utf16_to_utf8): Likewise.
2480
5560e9d6
VS
24812012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
2484 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
2485 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2486 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
2487 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2488 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
2489
24902012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
2491
2492 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2493 a bad FS.
2494
5560e9d6 24952012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
2496
2497 * grub-core/fs/udf.c (read_string): Bail out on size=0.
2498 (grub_udf_read_symlink): Handle read_string failure.
2499
5eae3175
VS
25002012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
2503 comment.
2504
c1ad82db
VS
25052012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 Fix handling of UDF symlinks.
2508
2509 * grub-core/fs/udf.c (read_string): New argument outbuf.
2510 All users updated.
2511 (grub_ufs_read_symlink): Rename to ...
2512 (grub_udf_read_symlink): ... this. All users updated.
2513 Handle symlinks with more than one component.
2514
33eca6e0
VS
25152012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
2518 symlinks. Replace leading colon with a slash.
2519
57f4a70b
VS
25202012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
2523 filename.
2524
38c8ee20
VS
25252012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
2528 match in inner node.
2529
2e57f28f
VS
25302012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
2533 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
2534 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
2535 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
2536 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
2537 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
2538 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
2539 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
2540 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
2541
fe8c2f11
VS
25422012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 Use grub-probe and not cmp to check that disk is empty.
2545
2546 * util/grub-install.in: Use grub-probe for zero-check.
2547 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
2548 (probe): Handle PRINT_ZERO_CHECK.
2549 (argp_parser): Handle -t zero_check.
2550
25512012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
2552
2553 Flush block cache on adding disk to device map.
2554
2555 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
2556 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
2557 adding.
2558 (read_device_map): Likewise.
2559 (open_device): Flush on opening.
2560
690434e8
VS
25612012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
2564 (handle_symlink): Fix off-by-one error.
2565 Canonicalize the target.
2566 (grub_cpio_dir): Canonicalize the name.
2567 Fix memory leak.
2568 Set directory.
2569 (grub_cpio_open): Canonicalize the name.
2570
742d2be6
VS
25712012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
2574 handling.
2575
3244fe96
VS
25762012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
2579 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
2580
8aeb1837
VS
25812012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
2584 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 2585 All users updated.
8aeb1837 2586
9133fd05
VS
25872012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
2590 counterpart.
2591
6d521c5b
VS
25922012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 Fix UFS1 big file support.
2595
2596 * grub-core/fs/ufs.c (INODE): Removed.
2597 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
2598 64-bit.
2599 (INODE_MODE): Simplify.
2600 (grub_ufs_inode): Use uint64_t for size and not int64_t.
2601 (grub_ufs_lookup_symlink): Don't use INODE.
2602
21b82e17
VS
26032012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 Fix minixfs with non-power-of-two blocks since it's supported by minix.
2606
2607 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
2608 (grub_minix_data): Replace log_block_size with block_size.
2609 (grub_minix_read_file): Use block_size but avoid 64-bit division.
2610 (grub_minix_mount): Fill block_size.
2611
26122012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
2613
2614 * configure.ac: Bump to beta5.
2615
f417ed04
VS
26162012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 Fix wrapped HFS+ handling.
2619
2620 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
2621 blocks_start. All users updated.
2622 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
2623 wrapping offset.
2624 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
2625
607d282b
VS
26262012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 Fix long symlinks on reiserfs.
2629
2630 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
2631 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
2632 (grub_reiserfs_iterate_dir): Save size for non-directories.
2633 (grub_reiserfs_open): Don't reread stat block as we already know the
2634 size.
2635 (grub_reiserfs_read): Split into...
2636 (grub_reiserfs_read_real): ... and ...
2637 (grub_reiserfs_read): ...this.
2638
ae16024d
VS
26392012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 Fix non-indexed JFS.
2642
2643 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
2644 (grub_jfs_data): New field namecomponentlen.
2645 (grub_jfs_mount): Fill namecomponentlen.
2646 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
2647
eea1e26e
VS
26482012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
2651 * tests/grub_script_echo1.in: Add tests.
2652
df760f77
VS
26532012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * util/grub-install.in: Ignore empty devicetree directory.
2656
5efb817d
B
26572012-05-08 Bean <bean123ch@gmail.com>
2658
2659 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
2660 All users updated.
2661 (free_rsm): Free header as well.
2662 (free_old_fragments): Fix memory leak.
2663 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
2664 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
2665 (destroy_pq): Likewise.
2666 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2667
668ea6d2
VS
26682012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
2671 resulting hash as a precaution.
2672
1739b1fe
VS
26732012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
2676 '_' in variable names.
2677 * grub-core/net/net.c (grub_net_network_level_interface_register):
2678 Likewise.
2679
6ae485aa
VS
26802012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 Fix AFFS with non-512B blocks.
2683
2684 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
2685 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
2686 (grub_affs_data): Replace blocksize with log_blocksize.
2687 (grub_affs_read_block): Fix non-512B blocks.
2688 (grub_affs_read_symlink): Likewise.
2689 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
2690 (grub_affs_read): Fix non-512B blocks.
2691 (grub_affs_label): Likewise.
2692 (grub_affs_mtime): Likewise.
2693 (grub_affs_mount): Fix block detection routine.
2694
d20fab84
VS
26952012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 Add filesystem mtime to AFFS.
2698
2699 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
2700 (aftime2ctime): New function.
2701 (grub_affs_dir): Use aftime2ctime.
2702 (grub_affs_label): Fix return value.
2703 (grub_affs_mtime): New function.
2704 (grub_affs_fs): Add mtime.
2705
e87b10f5
VS
27062012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
2709 UTF-8.
2710
7dceec9b
VS
27112012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
2714 UTF-8.
2715
2f48221f
VS
27162012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
2719
dacd85cf
VS
27202012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
2723 flags.
2724 (FLAGS_CASE_SENSITIVE): New enum value.
2725 (cache_entry): New struct.
2726 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
2727 cache_size and cache.
2728 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
2729 Add log_blocksize and fshelp_flags.
2730 (grub_sfs_read_extent): Handle non-512 blocks.
2731 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
2732 (grub_sfs_read_file): Handle non-512 blocks.
2733 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
2734 fshelp_flags.
2735 (grub_sfs_read_symlink): Handle non-512 blocks.
2736 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
2737 (grub_sfs_dir): Free cache.
2738 (grub_sfs_close): Likewise.
2739
24e9a854
VS
27402012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
2743 filesystems.
2744
62ace64d
VS
27452012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
2748
83b2e89c
VS
27492012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
2752
75ccaea3
VS
27532012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
2756 (grub_sfs_read_extent): Likewise.
2757 (grub_sfs_read_block): Likewise.
2758 (grub_sfs_mount): Likewise.
2759 (grub_sfs_iterate_dir): Likewise.
2760 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
2761 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2762
1b8463f2
VS
27632012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 Fix errors on compressed NTFS with 512B clusters.
2766
2767 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
2768 types.
2769 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
2770 not 0.
2771 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
2772 Relax check for inline extents.
2773 (ntfscomp): Return correct -1 on error and not 0.
2774
4f8e368f
VS
27752012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * util/grub-install.in: Fix handling of prefix containing spaces.
2778
6f5d5ee8
VS
27792012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
2782 (grub_squash_read_data): Fix offset byte-swapping.
2783
ce41ab7a
VS
27842012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
2787 per common usage and preffered in several parts of code.
2788 (grub_memcmp): Likewise.
2789 (grub_strncmp): Likewise.
2790 * include/grub/misc.h (grub_strcasecmp): Likewise.
2791 (grub_strncasecmp): Likewise.
2792 * Makefile.util.def (cmp_test): New test.
2793 (grub_script_strcmp): Likewise.
2794 * tests/cmp_unit_test.c: New file.
2795 * tests/grub_script_strcmp.in: Likewise.
2796 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2797
49717bf4
VS
27982012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 * include/grub/pci.h: Move enums into no-asm part.
2801
0a308f64
VS
28022012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
2805
1796965f
ST
28062012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2807
2808 * util/getroot.c (find_hurd_root_device): Try to make error message
2809 and comments to translators clearer.
2810
4e9b2819
VS
28112012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
2814
076aeb50
VS
28152012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2816
2817 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
2818 btrfs.
2819
19424d94
VS
28202012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 * docs/grub.cfg: Update.
2823
ebb73076
VS
28242012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 * docs/grub.texi (PXE): Remove not present variables.
2827
9a1b669c
VS
28282012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * grub-core/net/net.c (defserver_set_env): New function.
2831 (defserver_get_env): Likewise.
2832 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2833
d38bf7d3
VS
28342012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
2837 entries.
2838
28392012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
2840
2841 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
2842 * grub-core/kern/emu/hostdisk.c: Likewise.
2843
e5e4ca48
ST
28442012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2845
2846 Handle hurd userspace partitions.
2847
2848 * util/getroot.c (find_hurd_root_device): New function.
2849 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2850
56bb5dd5
VS
28512012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
2854 names.
2855 Reported by: Bastian Blank.
2856
9e8bc27a
VS
28572012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2858
2859 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2860 crossing page boundary.
2861
aa01499d
VS
28622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 Fix B-tree search in BFS, especially in presence of non-ASCII
2865 characters.
2866
2867 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2868 (find_in_b_tree): Use standard bsearch + btree algorithm.
2869
57006035
VS
28702012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2873 and so on.
2874
9d34bb85
MG
28752012-05-03 Matthew Garrett <mjg@redhat.com>
28762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 Suspend broadcom cards in order to stop their DMA.
2879
2880 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2881 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2882 (pci): Don't build on x86 EFI.
2883 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2884 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2885 New function.
2886 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2887 stop_broadcom if running on EFI.
2888 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2889 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2890 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2891 (grub_pci_find_capability): New proto.
2892
01aab997
VS
28932012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * docs/grub.texi: Remove dot from the extension as it apparently
2896 doesn't work with some makeinfo versions.
2897
fbd8dca6
VS
28982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2901 with GRUB expectance.
2902
dab797f4
VS
29032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2906
1516bfb4
VS
29072012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2910 zero after directory block since last entry may be not 0-terminated if
2911 it ends on block boundary. Use continue instead of if spanning whole
2912 loop.
2913
a3a0eace
VS
29142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 Support 4K sectors UDF inline files.
2917
2918 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2919 (grub_udf_extended_file_entry): Likewise.
2920 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2921 All users updated.
2922 (get_fshelp_size): New function.
2923 (grub_udf_read_icb): Read whole block.
2924 (grub_udf_iterate_dir): Likewise.
2925 (grub_udf_dir): Likewise.
2926 (grub_udf_open): Likewise.
2927
c82f16c1
VS
29282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2931
59fd2aac
VS
29322012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2933
2934 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2935 inline symlinks in addition to workaround.
2936
3b4afb4d
VS
29372012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2940
f45c794a
VS
29412012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2944
f25cecbd
VS
29452012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2948
bb9a34e8
VS
29492012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 Fix reiserfs big seek times.
2952
2953 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2954 exact. All users updated.
2955 (grub_reiserfs_read): Use nearest btree search for seeking.
2956 Fix return value on error.
2957
dc478aea
VS
29582012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2961 entries.
2962 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2963 * docs/grub.texi: Update menuentry description.
2964
8db10f47
VS
29652012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2968 crash when embedding onto filesystem.
2969
bcb288ed
VS
29702012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2973 name.
2974
a626fdd7
VS
29752012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2978
b2f68477
VS
29792012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2982 commit.
2983
ba15b2af
B
29842012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29852012-05-01 Bean <bean123ch@gmail.com>
2986
2987 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2988
a188012e
VS
29892012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2992 Special behaviour for len = 0 to read whole file isn't used anywhere and
2993 can cause buffer ovewrflows in several places.
2994
f0a53ed2
VS
29952012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2998
5ed554f0
VS
29992012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 Handle RAIDZ on non-512B sectors.
3002
3003 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
3004 max_children_ashift.
3005 (fill_vdev_info_real): Fill max_children_ashift.
3006 (read_device): Use max_children_ashift.
3007
ddc58357
VS
30082012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
3011
e3282399
VS
30122012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3013
3014 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
3015 disk names.
3016 * docs/grub.texi: Update device.map parts.
3017
ee618bd4
VS
30182012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 Don't scan into non-diskfilter devices having diskfilter names.
3021
3022 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
3023 (scan_disk): New argument accept_diskfilter. Fix recursion depth
3024 handling.
3025 (scan_disk_hook): New function.
3026
bdf88864
B
30272012-04-29 Bean <bean123ch@gmail.com>
3028
3029 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
3030 allocation.
3031
32745f51
MK
30322012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
3033
3034 * configure.ac: Detect starfield theme font path
3035 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
3036
bc95c8c0
VS
30372012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
3040 geometry on serial consoles.
3041
147fbcab
VS
30422012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
3045 because of network consoles.
3046
0f42c889
VS
30472012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
3050 handling.
3051
4a3594c9
VS
30522012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
3055 falls on Q syndrom.
3056
5cb53879
VS
30572012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
3060 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
3061
b282dfe5
VS
30622012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
3065 Allocate at lest 8192 for temporary buffer as required for lzo.
3066
daa59f47
VS
30672012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
3070 to cluster_bits, since it's already added in.
3071 (grub_fat_read_data): Likewise.
3072
986748ce
VS
30732012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
3076 as long as cluster size is multiple of 512 bytes.
3077
a20f6ad0
VS
30782012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * util/grub-mkrescue.in: Fix locale directory.
3081
385f9abb
VS
30822012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * grub-core/kern/emu/hostdisk.c (map): Make static.
3085
1c557d30
B
30862012-04-23 Bean <bean123ch@gmail.com>
3087
3088 * util/grub-fstest.c (fstest): Add missing break.
3089
524b5d3a
ST
30902012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
3091
3092 Fix hurd build.
3093
3094 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
3095 not define nr variable.
fe4824e9 3096 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
3097 find_root_devices_from_poolname, find_root_devices_from_libzfs,
3098 grub_find_device): Do not define.
524b5d3a 3099
9a06490c
VS
31002012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 Fix kfreebsd compile and behaviour.
3103
3104 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
3105 format-security.
3106 * util/getroot.c: Fix wait.h include.
3107 (grub_guess_root_devices): Error if grub_find_device fails.
3108 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
3109 (grub_util_get_dev_abstraction): Likewise.
3110 (grub_util_pull_device): Likewise.
3111 (grub_util_get_grub_dev): Likewise.
3112 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
3113
48143d96
VS
31142012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 Fix and unify wholedisk detection.
3117
3118 * util/getroot.c (convert_system_partition_to_system_disk): New argument
3119 is_part. All users updated.
3120 (device_is_wholedisk): Removed.
3121 (grub_util_biosdisk_get_grub_dev): Use is_part.
3122
ebbd24f3
VS
31232012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
3126 mode.
3127
56f7aa1e
VS
31282012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * configure.ac: Bump to beta4.
3131
9c815e01
VS
31322012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
3135 --fs-uuid --set UUID syntax.
3136
59e2651a
VS
31372012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
3140 disunification.
3141
54e03cfc
VS
31422012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
3145
81092a75
MK
31462012-04-18 Mads Kiilerich <mads@kiilerich.com>
3147
3148 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
3149
f8315e14
MG
31502012-04-18 Mike Gilbert <floppym@gentoo.org>
3151
3152 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
3153
1501ac21
B
31542012-04-18 Bean <bean123ch@gmail.com>
3155
3156 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
3157 place.
3158
cb7f944e
VS
31592012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
3162 users updated.
3163 (grub_util_biosdisk_read): Handle Linux partitions not exactly
3164 corresponding to GRUB partitions.
3165 (grub_util_biosdisk_write): Likewise.
3166
b72d44a1
VS
31672012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 Scan mdraid before LVM.
3170
3171 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
3172 (grub_diskfilter_register_front): ... this.
3173 (grub_diskfilter_register_back): New function.
3174 All users of grub_diskfilter_register updated.
3175
33d918b8
VS
31762012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * util/grub-install.in: Fix an automatic target detection bug.
3179
c6ca973d
VS
31802012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 * util/grub-install.in: New option --efi-directory.
3183
b41be562
VS
31842012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
3187 boot services if we have no other choice.
3188
31892012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * util/grub-mknetdir.in: Rename --override-directory to --directory and
3192 document it.
3193 * tests/util/grub-shell.in: Update to --directory.
3194
e0595a73
VS
31952012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
3198
4ed80652
VS
31992012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
3202 (grub_minix_read_file): Likewise.
3203 (grub_minix_read_inode): Likewise.
3204 (grub_minix_find_file): Likewise.
3205 (grub_minix_dir): Likewise.
3206
56008077
VS
32072012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * util/grub-setup.c (setup): Fix partition handling and blocklist
3210 check.
3211
ee520775
VS
32122012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
3215 redundant buggy overlap check.
3216
16fc9293
VS
32172012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
3220 and grub-mknetdir.
3221
9bab65c4
VS
32222012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
3225 kh.loadflags on pre-2.00 kernels.
3226
3c491b47
VS
32272012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 Terminate UNDI and PXE before launching the payload to avoid problems
3230 with DMA.
3231
3232 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
3233 (grub_loader_flags): ... this. All users updated.
3234 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
3235 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
3236 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
3237 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
3238 function.
3239 (grub_pxe_restore): Likewise.
3240 (fini_hnd): New var.
3241 (GRUB_MOD_INIT): Register shutdown hook.
3242 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
3243 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
3244 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
3245 (grub_loader_set): Rename second argument to flags.
3246
851ffada
VS
32472012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
3250 written bytes.
3251 (grub_get_num_of_utf8_bytes): New function.
3252 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
3253 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
3254 executing it.
3255 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
3256 (grub_ucs4_to_utf8): Change return type.
3257
491c57a8
VS
32582012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
3261 warning.
851ffada
VS
3262 * grub-core/fs/bfs.c (hop_level): Likewise.
3263 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 3264
756773df
VS
32652012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * grub-core/lib/adler32.c: Recode due to license unclearness.
3268
fd556a96
VS
32692012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
3272 (test_header): Likewise.
3273
9f9d3f69
VS
32742012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 Fix --help formatting.
3277
3278 * util/grub-mkconfig_lib.in (print_option_help): New function.
3279 (grub_fmt): Likewise.
3280 * util/grub-install.in: Use print_option_help and grub_fmt.
3281 * util/grub-kbdcomp.in: Likewise.
3282 * util/grub-mkconfig.in: Likewise.
3283 * util/grub-mknetdir.in: Likewise.
3284 * util/grub-mkrescue.in: Likewise.
3285 * util/grub-mkstandalone.in: Likewise.
3286 * util/grub-reboot.in: Likewise.
3287 * util/grub-set-default.in: Likewise.
3288 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3289
561ec77e
VS
32902012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 * linguas.sh: Remove autogenerated *.po.
3293
7ec2b021
VS
32942012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * po/README: Move language fetcing to ...
3297 * linguas.sh: ... here.
3298 * po/README: Point to linguas.sh.
3299
a88f3270
VS
33002012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3301
3302 * po/README: Exclude ko.po due to disclaimer problems.
3303
d61357ce
VS
33042012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
3307 len = 0.
3308 (grub_gettext_translate_real): Handle 0th string.
3309 (grub_gettext_translate): Ensure that "" isn't translated.
3310
505e41dc
VS
33112012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
3314 TRANSLATORS comment.
3315 (grub_diskfilter_print_partmap): Propagate changing of error into
3316 warning.
3317
e44092db
VS
33182012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
3321 to uint64_t to prevent overflow.
3322 (grub_diskfilter_lv): Increase start_extent and extent_count
3323 to uint64_t to prevent overflow.
3324
9b83956a
VS
33252012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * configure.ac: Increase version.
3328
da0d5b3f
VS
33292012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3330
3331 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
3332
3333 * po/Rules-translit: New file.
3334 * po/arabic.sed: Likewise.
3335 * po/cyrillic.sed: Likewise.
3336 * po/greek.sed: Likewise.
3337 * po/hebrew.sed: Likewise.
3338 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
3339 * po/Makefile.in.in: Add extra_dist4.
3340
ac66b453
VS
33412012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 Handle big-endian minixfs (fixes minixfs tests on bigendian).
3344
3345 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
3346 modify names. Introduce MODE_BIGENDIAN.
3347 * grub-core/fs/minix_be.c: New file.
3348 * grub-core/fs/minix2_be.c: Likewise
3349 * grub-core/fs/minix3_be.c: Likewise.
3350 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
3351 minix3_be.
3352 * grub-core/Makefile.core.def (minix_be): New module.
3353 (minix2_be): Likewise.
3354 (minix3_be): Likewise.
3355
33562012-04-01 Felix <email@hamburg.de>
3357
3358 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
3359 (devs): Add MBP 2011.
3360
0a2d5a82
VS
33612012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
3364
d1625889
VS
33652012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3366
3367 * grub-core/normal/cmdline.c (print_completion): New field
3368 prompt_len.
3369 (grub_cmdline_get): Handle width properly.
3370
6d36a236
VS
33712012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * grub-core/commands/lsacpi.c (options): Add missing terminator.
3374
9576977e
VS
33752012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 3378 after 29th of February.
9576977e 3379
d73ff15d
VS
33802012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 Fix exfat endianness handling.
3383
3384 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
3385 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
3386 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
3387 Byte-swap utf16 when necessary.
3388 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
3389
bbb39a45
AB
33902012-03-31 Anton Blanchard <anton@samba.org>
33912012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 Fix btrfs endianness handling.
3394
3395 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
3396 (lower_bound): Make root uint64_t. Use root in le.
3397 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
3398 (find_path): Fix template key init.
3399 (grub_btrfs_dir): Fix mtime byteswap.
3400 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
3401
354e0af7
VS
34022012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
3405 recursion_depth. Break infinite resursions. All users updated.
3406
4e75f21c
VS
34072012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
3410 after free.
3411 Reported by: Peter Jones.
3412
25581802
AB
34132012-03-31 Anton Blanchard <anton@samba.org>
3414
3415 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
3416 8 bit values.
3417
08fbf92e
VS
34182012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * util/grub-install.in: Fix nvram call for PreP.
3421
5d1182a6
VS
34222012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
3425 the error when some elements are missing into a warning.
3426
3f8cdd90
VS
34272012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
3430
51006716
CW
34312012-03-28 Colin Watson <cjwatson@ubuntu.com>
3432
3433 * docs/grub.texi (Invoking grub-probe): New section.
3434 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
3435
e1bd676b
VS
34362012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 Fix tab and wide character handling in editor and menu.
3439
3440 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
3441 agglomerate control characters with combining marks.
3442 (bidi_line_wrap): Allow break on tab.
3443 (grub_unicode_get_comb_start): New function.
3444 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
3445 and tab correctly.
3446 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
3447 with a space.
3448 * grub-core/normal/term.c (print_ucs4_terminal): New argument
3449 fixed_tab_size. All users updated.
3450 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
3451 (grub_term_getcharwidth): Handle \t.
3452 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
3453 and copy.
3454
22e6a774
VS
34552012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 Handle big-endian mdraid.
3458
3459 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
3460 * grub-core/Makefile.core.def (mdraid09_be): New module.
3461 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
3462 rather than grub_le_to_cpu* and grub_cpu_to_le*.
3463 * grub-core/disk/mdraid_linux_be.c: New file.
3464
3c0eae66
VS
34652012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
3468
b6cf74c9
VS
34692012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3472 missing quotes which caused confusion among translators.
3473
83c93b9c
VS
34742012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * util/grub-mkconfig_lib.in: Fix typo.
3477
ac6fd218
VS
34782012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
3481 spaces.
3482 * tests/grub_script_leading_whitespace.in: New file.
3483 * Makefile.util.def (grub_script_leading_whitespace): New test.
3484
ba287dd8
VS
34852012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
3488 to work.
3489
d2d58d0a
VS
34902012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
3493 starts with control character.
3494
0382d9bb
VS
34952012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3496
3497 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
3498 overflow.
3499 (grub_gdb_outbuf): Likewise.
3500
d83ff9f9
VS
35012012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
3504 zero terminator. Fixes a crash.
3505
2282da4a
VS
35062012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3507
3508 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
3509 beyond 4 GiB.
3510 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
3511 images independently of preffered adderss field.
3512
0ae4f0bd
VS
35132012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
3516 * grub-core/commands/regexp.c: Likewise.
3517 * grub-core/loader/i386/linux.c: Likewise.
3518 * grub-core/partmap/msdos.c: Likewise.
3519 * grub-core/script/execute.c: Likewise.
3520 * grub-core/term/gfxterm.c: Likewise.
3521
546fbe9b
VS
35222012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 Add variable parsing in $"..." and fix several mismatches with bash.
3525
3526 * Makefile.util.def (grub_script_gettext): New test.
3527 * grub-core/script/execute.c (parse_string): New function.
3528 (gettext_append): Likewise.
3529 (grub_script_arglist_to_argv): Use gettext_append.
3530 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
3531 * tests/grub_script_gettext.in: New file.
3532
9fdb2d7b
VS
35332012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3534
3535 Fix handling of leading spaces in scripts.
3536
3537 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
3538 spaces.
3539 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
3540 other than skipping \r. All users updated.
3541 * tests/grub_script_echo1.in: Add space-related tests.
3542 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
3543
1a1ac4f6
VS
35442012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
3547
b63d89b6
VS
35482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 * configure.ac: Bump up the version to beta2.
3551
17f38c0f
VS
35522012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 Fix gettext reload bugs (e.g. inability to disable gettext
3555 once enabled).
3556
3557 * grub-core/gettext/gettext.c: Encapsulate all static variables in
3558 main_context and secondary_context. All functions updated.
3559 (grub_gettext_translate): Rename to ...
3560 (grub_gettext_translate_real): ... this. Return NULL on failed
3561 translate.
3562 (grub_gettext_translate): Handle secondary context.
3563 (grub_gettext_delete_list): Close file and zero-out the context.
3564 (grub_mofile_open): Don't call grub_gettext_delete_list.
3565 Don't close file.
3566 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
3567 if locale="" to avoid pointless error message.
3568 (grub_gettext_env_write_lang): Update lang even if load fails.
3569 Handle secondary context.
3570 (grub_gettext_reread_prefix): New function.
3571 (read_main): Likewise.
3572 (read_secondary): Likewise.
3573 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
3574 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
3575 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
3576 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
3577
8e56f870
VS
35782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 * configure.ac: Decrease warning level to avoid spurious warnings and
3581 to be able to compile with GCC 4.2.
3582 * Makefile.util.def: Remove -Wno-error=logical-op.
3583
82f6d455
WB
35842012-03-10 William Bittner <william.bittner@gmail.com>
3585
3586 * util/import_unicode.py: Add missing brackets around string for
3587 python 3 support.
3588
1ecd61a4
VS
35892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 Fix efi chainloader on network root.
3592
3593 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
3594 network devices.
3595 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
3596 New function.
3597
14361ee8
VS
35982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
3601 unused show_text member.
3602 * docs/grub.texi: Document "text" property.
3603
922aabf3
VS
36042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
3607 in dprintf.
3608
ec316771
VS
36092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3610
3611 Fix IMSM handling on Fedora.
3612
3613 * util/getroot.c (grub_util_is_imsm): New function.
3614 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
3615
0f021838
VS
36162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * Makefile.am: Strip gold section.
3619 * conf/Makefile.common: Likewise.
3620 * gentpl.py: Likewise.
3621 * grub-core/Makefile.core.def: Likewise.
3622 * grub-core/genmod.sh.in: Likewise.
3623
1039c8eb
VS
36242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
3627 * util/grub.d/20_linux_xen.in: Likewise.
3628 Based on Debian patch.
3629
6dd412cd
VS
36302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 * util/grub.d/10_linux.in: Fix syntax error resulting in
3633 Richard Laager's patch.
3634 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
3635
3fd8bae5
VS
36362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
3639 dependencies.
3640
7eea1671
RL
36412012-03-10 Richard Laager <rlaager@wiktel.com>
3642
3643 * util/grub.d/10_linux.in: Fix ZFS root passing.
3644
e8e0566b
VS
36452012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3648 * grub-core/commands/xnu_uuid.c: Likewise.
3649 * grub-core/loader/efi/appleloader.c: Likewise.
3650 * grub-core/script/execute.c: Likewise.
3651 * grub-core/script/main.c: Likewise.
3652 * util/grub-mkfont.c: Likewise.
3653
1acc5b1f
VS
36542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * util/grub-mkfont.c (options): Use more appropriate "select" that
3657 "set" for face index.
3658
35d70620
VS
36592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * util/grub-editenv.c (options): Gettextize command summaries.
3662
c9eb96b5
VS
36632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
3666 "out of memory" error messagge.
3667
1f493136
VS
36682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
3671 of diskfilter for diskfilter on diskfilter support.
3672
6d790129
VS
36732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
3676
005f46c9
VS
36772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * util/grub-install.in: Check for themes/starfield/theme.txt and not
3680 themes/starfield.
3681
c8f778a0
VS
36822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
3685
de1e64eb
VS
36862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
3689
c6d54211
VS
36902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
3693 of error message.
3694
dd390777
VS
36952012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
3698
5fd1c522
VS
36992012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
3702 message.
c6d54211 3703 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 3704
fae01f6c
VS
37052012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
3708 Gettextize.
3709 * util/grub-mount.c (options): Likewise.
3710
292fdaff
VS
37112012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
3714 gettextize.
3715 * grub-core/commands/search_wrap.c (options): Likewise.
3716
ecdbae77
VS
37172012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
3720
52bfedfa
VS
37212012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
3724 size calculation.
3725 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
3726 none is known.
3727
55b20e58
VS
37282012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
3731 "temporary" since it's used in identifier and is limited in space.
3732
fda9d101
VS
37332012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * po/POTFILES.in: Regenerate. Include *.h since they contain
3736 translatable strings as well.
3737
6a0295e2
VS
37382012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3741 byte-swap on big-endian.
3742 Reported by: Lennart Sorensen
3743
807fb77c
VS
37442012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
3747 (allocate_pages): Improve dprintf.
3748 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
3749 code32_start. Fill code32_start and kernel_alignment in params.
3750 (grub_cmd_initrd): Use prot_init_space.
3751
61ac50ba
VS
37522012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
3755
abdd26dd
VS
37562012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * util/grub-install.in: Add missing dot at the end of sentence.
3759
6e69da9c
VS
37602012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3763 * grub-core/commands/videotest.c: Likewise.
3764 * grub-core/loader/i386/linux.c: Likewise.
3765
4a929343
VS
37662012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
3769 sentence.
3770 Reported by: Milo Casagrande.
3771
bb51c6c6
VS
37722012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
3775 * grub-core/commands/gptsync.c: Likewise.
3776 * grub-core/commands/hashsum.c: Likewise.
3777 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3778 * grub-core/commands/legacycfg.c: Likewise.
3779 * grub-core/io/gzio.c: Likewise.
3780 * grub-core/net/net.c: Likewise.
3781 * grub-core/term/gfxterm.c: Likewise.
3782 * grub-core/term/terminfo.c: Likewise.
3783 * grub-core/tests/test_blockarg.c: Likewise.
3784 * grub-core/video/video.c: Likewise.
3785 * util/grub-install.in: Likewise.
3786 * util/grub-mkfont.c: Likewise.
3787
b2b149cb
VS
37882012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
3791
c7c080ad
VS
37922012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 3795 Reported by: David Prévot.
c7c080ad 3796
f2e243c0
VS
37972012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3798
3799 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
3800 description.
3801
09963c76
VS
38022012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * util/grub-script-check.c (main): Fix a syntax error message which was
3805 unclear.
3806
a50514a8
VS
38072012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
3810
4650daec
VS
38112012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3812
3813 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
3814 messages.
3815
38162012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
3817
3818 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
3819 without argument.
3820 * util/grub-mount.c (options): Likewise.
3821
bbc5a342
VS
38222012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
3825
ef292a87
VS
38262012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * grub-core/net/http.c: Add TRANSLATORS comments.
3829 * grub-core/normal/cmdline.c: Likewise.
3830 * grub-core/normal/misc.c: Likewise.
3831 * grub-core/partmap/msdos.c: Likewise.
3832 * grub-core/parttool/msdospart.c: Likewise.
3833 * grub-core/script/execute.c: Likewise.
3834 * grub-core/script/main.c: Likewise.
3835 * grub-core/term/terminfo.c: Likewise.
3836 * grub-core/video/bitmap.c: Likewise.
3837 * util/grub-install.in: Likewise.
3838 * util/grub-mkimage.c: Likewise.
3839 * util/grub-mklayout.c: Likewise.
3840 * util/grub-setup.c: Likewise.
3841
0fc19bd0
VS
38422012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
3845 with similar messages in grub-fstest.
3846
d95862ef
VS
38472012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 * util/grub-install.in: Unify "option requires an argument" message
3850 with similar messages in other files.
3851 * util/grub-mkconfig.in: Likewise.
3852
b7308f90
VS
38532012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * util/grub-set-default.in: Replace printf with gettext_printf (the
3856 string in in question is already translated from grub-reboot)
3857
559dc587
VS
38582012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * configure.ac: Bump up the version to beta1.
3861
1a11761f
VS
38622012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3865 case when min_align = 0.
3866
24539abd
VS
38672012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3868
3869 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3870 and fix a case when line_start overflows.
3871
32bd735b
VS
38722012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * util/grub-reboot.in (usage): Mention id posibility.
3875 * util/grub-set-default.in (usage): Likewise.
3876
1a2fd1e6
VS
38772012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3880 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3881 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3882 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3883 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3884 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3885 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3886
90eeab76
VS
38872012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * grub-core/commands/menuentry.c (options): Remove
3890 GRUB_ARG_OPTION_REPEATABLE.
3891 Reported by: Andreas Vogel
3892
5ad1be82
AV
38932012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3894
3895 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3896
cb055286
HE
38972012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3898
3899 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3900 error.
3901
93b1cd79
VS
39022012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 Use sort -V by the idea of Georgi Georgiev.
3905
3906 * util/grub-mkconfig_lib.in (version_sort): New function.
3907 (version_test_numeric): Use version_sort.
3908
0cdc126c
VS
39092012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 Use submenus in grub-mkconfig.
3912
3913 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3914 * util/grub-mkconfig_lib.in (grub_quote): New function.
3915 (gettext_printf): Use gettext and not gettext_quoted to fix several
3916 messages.
3917 * util/grub.d/10_hurd.in: Use submenus.
3918 * util/grub.d/10_kfreebsd.in: Likewise.
3919 * util/grub.d/10_linux.in: Likewise.
3920 * util/grub.d/10_netbsd.in: Likewise.
3921 * util/grub.d/20_linux_xen.in: Likewise.
3922 * util/grub.d/30_os-prober.in: Likewise.
3923 * util/grub.d/10_illumos.in: Add missing quoting.
3924 * util/grub.d/10_windows.in: Likewise.
3925
d9bef9bc
VS
39262012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 Fix menu title instability bug.
3929
3930 * grub-core/commands/menuentry.c (options): New option --id.
3931 (grub_normal_add_menu_entry): New argument id. All users updated.
3932 (grub_cmd_menuentry): Handle --id.
3933 (grub_menu_init): Accept unknown arguments.
3934 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3935 feature_menuentry_options.
3936 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3937 saved_entry.
3938 (get_entry_number): Match with id as well.
3939 * include/grub/menu.h (grub_menu_entry): New member id.
3940 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3941 * util/grub.d/00_header.in: Define menuentry_id_option.
3942 * util/grub.d/10_hurd.in: Define id.
3943 * util/grub.d/10_illumos.in: Likewise.
3944 * util/grub.d/10_kfreebsd.in: Likewise.
3945 * util/grub.d/10_linux.in: Likewise.
3946 * util/grub.d/10_netbsd.in: Likewise.
3947 * util/grub.d/10_windows.in: Likewise.
3948 * util/grub.d/20_linux_xen.in: Likewise.
3949 * util/grub.d/30_os-prober.in: Likewise.
3950
39512012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
3952
3953 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3954 "scope" with "body".
3955
7c8d0ce7
VS
39562012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3959 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3960 prot_size and prot_file_size.
3961
49de079b
VS
39622012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3965 All users updated. If easily=1 require raid-5/-6 to be full.
3966 (is_node_readable): Likewise.
3967 (scan_devices): Scan incomplete but readable LVs at the end.
3968 (grub_diskfilter_memberlist): Pull missing devices.
3969 (insert_array): Skip scanning until device is complete or scan is
3970 done otherwise.
3971 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3972 check.
3973 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3974 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3975
aff05d45
MG
39762012-03-03 Matthew Garrett <mjg@redhat.com>
39772012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 Avoid EFI boot services when loading Linux.
3980
3981 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3982 avoid_efi_bootservices. All users updated.
3983 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3984 argument avoid_efi_bootservices. All users updated.
3985 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3986 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3987 align, min_align, relocatable, prefered_address. All users updated.
3988 Allocate avoiding boot services if kernel is relocatable.
3989 (grub_cmd_linux): Check if kernel is relocatable.
3990 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3991 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3992 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3993 avoid_efi_boot_services.
3994 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3995 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3996 (linux_kernel_params): Likewise.
3997
3935dde2
MG
39982012-03-03 Matthew Garrett <mjg@redhat.com>
39992012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 Use EDID on EFI.
4002
4003 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
4004 datasize_out.
4005 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
4006 modes. Set gop_handle.
4007 (grub_video_gop_get_edid): New function.
4008 (grub_gop_get_preferred_mode): Likewise.
4009 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
4010 (grub_video_efi_gop_adapter): Set .get_edid.
4011 * include/grub/efi/edid.h: New file.
4012 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
4013
32107ec0
VS
40142012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * util/grub-install.in: Load efivars unconditionally.
4017
e70a2c50
VS
40182012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * po/Rules-piglatin: Change suffix from .po-update-en to
4021 .po-update-en-piglatin.
4022
8f9cace1
VS
40232012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 Add a pig farm.
4026
4027 * po/piglatin.sed: New file.
4028 * po/en@piglatin.header: Likewise.
4029 * po/Rules-piglatin: Likewise.
4030 * po/README: Add en@piglatin to autogenerated languages.
4031
8f95d002
VS
40322012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
4035 "Command for ...".
4036 * grub-core/commands/hdparm.c (options): Use "Display" rather than
4037 "Check" since we don't check anything.
4038 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
4039 is 64-bit one.
4040 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
4041 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
4042 (grub_md_sha512_real): Likewise.
4043
805a8dcc
VS
40442012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * grub-core/commands/gptsync.c: Fix typographic quoting.
4047 * grub-core/commands/ieee1275/suspend.c: Likewise.
4048 * grub-core/commands/parttool.c: Likewise.
4049 * grub-core/commands/search_wrap.c: Likewise.
4050 * grub-core/commands/videoinfo.c: Likewise.
4051 * grub-core/gfxmenu/gui_label.c: Likewise.
4052 * grub-core/hello/hello.c: Likewise.
4053 * grub-core/kern/emu/main.c: Likewise.
4054 * grub-core/net/net.c: Likewise.
4055 * grub-core/normal/menu.c: Likewise.
4056 * grub-core/normal/menu_text.c: Likewise.
4057 * grub-core/normal/misc.c: Likewise.
4058 * util/grub-editenv.c: Likewise.
4059 * util/grub-install.in: Likewise.
4060 * util/grub-kbdcomp.in: Likewise.
4061 * util/grub-mkconfig.in: Likewise.
4062 * util/grub-mknetdir.in: Likewise.
4063 * util/grub-mkrescue.in: Likewise.
4064 * util/grub-mkstandalone.in: Likewise.
4065 * util/grub-reboot.in: Likewise.
4066 * util/grub-set-default.in: Likewise.
4067 * util/grub-setup.c: Likewise.
4068 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4069
40211ab8
VS
40702012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
4073 * grub-core/commands/keystatus.c: Likewise.
4074 * grub-core/commands/loadenv.c: Likewise.
4075 * grub-core/commands/probe.c: Likewise.
4076 * grub-core/commands/regexp.c: Likewise.
4077 * grub-core/commands/true.c: Likewise.
4078 * grub-core/commands/videoinfo.c: Likewise.
4079 * grub-core/disk/cryptodisk.c: Likewise.
4080 * grub-core/disk/ldm.c: Likewise.
4081 * grub-core/disk/loopback.c: Likewise.
4082 * grub-core/disk/luks.c: Likewise.
4083 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4084 * grub-core/kern/disk.c: Likewise.
4085 * grub-core/kern/emu/hostdisk.c: Likewise.
4086
0c7d99c7
VS
40872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
4090 * util/grub-install.in: Add missing quote in the comment.
4091
e7d2559b
VS
40922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
4095 * grub-core/commands/lsmmap.c: Likewise.
4096 * grub-core/commands/minicmd.c: Likewise.
4097 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
4098 * grub-core/commands/regexp.c: Likewise.
4099 * grub-core/gdb/gdb.c: Likewise.
4100 * grub-core/term/gfxterm.c: Likewise.
4101 * util/grub-mkconfig.in: Likewise.
4102 * util/grub-mkfont.c: Likewise.
4103 * util/grub-mklayout.c: Likewise.
4104 * util/grub-mknetdir.in: Likewise.
4105 * util/grub-mkrescue.in: Likewise.
4106 * util/grub.d/30_os-prober.in: Likewise.
4107
49ce9e50
VS
41082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
4111 with "Direct color" and "Packed" with "Packed pixel".
4112 (grub_cmd_videoinfo): Simplify legend.
4113
e4b791fa
VS
41142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4115
4116 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
4117 absolutely unclear error message.
4118
fd1265cb
VS
41192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 * util/grub-mkstandalone.in: Remove confusing leftover print.
4122
8822a8a0
VS
41232012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
4126 comments.
4127 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
4128 (GRUB_MOD_INIT): Likewise.
4129 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
4130 VGA mode.
4131 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
4132 comments.
4133 * util/grub-install.in (usage): Likewise.
4134 Spell ID in whole letters.
4135 Add missing ending dot.
4136 Quote variables.
4137 * util/grub-reboot.in: Fix capitalisation.
4138 * util/grub-set-default.in: Likewise.
4139
937fd0cc
VS
41402012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
4143 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
4144 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
4145 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
4146 Disable -Werror for -Wdeprecated-declarations.
4147 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
4148 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
4149 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
4150 (grub_util_get_grub_dev): Make luks handling dependent on
4151 HAVE_DEVICE_MAPPER and not __linux__.
4152 (get_win32_path): Fix format security.
4153 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
4154 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
4155 Don't try grub_find_zpool_from_dir.
4156 (grub_make_system_path_relative_to_its_root) [!__linux__]:
4157 #ifdef-out paresdir.
4158
1bab1ae3
VS
41592012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 * util/grub-pe2elf.c (usage): Add missing noreturn.
4162 (write_section_data): Rename name to shname to avoid shadowing.
4163 (write_symbol_table): Rename name to symname to avoid shadowing.
4164 Fix write_reloc_section call.
4165
ef023e42
VS
41662012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
4169 to ensure that it's after the last byte of .text.
4170
48afcb75
VS
41712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 * util/ieee1275/ofpath.c (my_isdigit): New function.
4174 (trailing_digits): Use my_isdigit.
4175 (strip_trailing_digits): Likewise.
4176
88d51eff
VS
41772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
4180 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
4181
17edc2ba
VS
41822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * grub-core/kern/i386/pc/startup.S: Define __start.
4185
ad5518d7
VS
41862012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
4189 strip already transforms he format.
4190
9e95e1bf
VS
41912012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
4194
9cc3ee5c
VS
41952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 * util/grub-install.in: Add missing gettext init.
4198 * util/grub-kbdcomp.in: Likewise.
4199 * util/grub-mkconfig.in: Likewise.
4200 * util/grub-mknetdir.in: Likewise.
4201 * util/grub-mkrescue.in: Likewise.
4202 * util/grub-mkstandalone.in: Likewise.
4203 * util/grub-reboot.in: Likewise.
4204 * util/grub-set-default.in: Likewise.
4205 * util/grub.d/00_header.in: Likewise.
4206 * util/grub.d/10_hurd.in: Likewise.
4207 * util/grub.d/10_windows.in: Likewise.
4208 * util/grub.d/30_os-prober.in: Likewise.
4209 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4210
49e08a06
VS
42112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 * po/Rules-swiss: Fix header comment.
4214
3809cb41
AV
42152012-02-29 Andreas Vogel <anvoit>
4216
4217 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
4218 resulted in leak of arguments.
4219
fa6ec573
VS
42202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 * grub-core/boot/i386/pc/startup_raw.S: Use separate
4223 reed_solomon_size const definition instead of computing it since
4224 Apple assembler doesn't support the later.
4225
22899b9c
VS
42262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 * gentpl.py (kernel): Rewrite Apple part.
4229
a132afc3
VS
42302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 * include/grub/kernel.h (FOR_MODULES): Check module magic.
4233
9d742bd4
VS
42342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * util/grub-mkimagexx.c (locate_sections): Support non-standard
4237 ELF section gap.
4238 (load_image): Likewise.
4239
f04a9a21
VS
42402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 * configure.ac: Fix a typo in previous commit.
4243
46cf439c
VS
42442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 Don't add -Wl,-N on Apple platform.
4247
4248 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
4249 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
4250
c4c48c54
VS
42512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 * grub-core/Makefile.core.def (lzma_decompress): Use
4254 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
4255
31a12124
VS
42562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * grub-core/genmod.sh.in: Rewrite the Apple part.
4259
4f3aa1af
VS
42602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
4263 comparison.
4264
7bd8b0c7
VS
42652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * acinclude.m4 (grub_CHECK_PIC): New test.
4268 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
4269
97304d7c
VS
42702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4271
4272 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
4273 to avoid the warning.
4274
fb883812
VS
42752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
4278 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
4279 after. All users updated.
4280
a121c964
VS
42812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 Use the common size routine in hostfs so we can read disks as well.
4284
4285 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
4286 (grub_util_get_fd_size): ... this. Return size in bytes.
4287 All users updated.
4288 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
4289 grub_util_get_fd_size.
4290
c66d6410
VS
42912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
4294 Add blocksize retrieval.
4295
dfc8aeb0
VS
42962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * configure.ac: Restore CFLAGS after efiemu check.
4299
403e25a5
VS
43002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
4303 Apple bug.
4304
382775d1
VS
43052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
4308
6fd4e6e4
VS
43092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
4312 (grub_cmd_halt): Likewise.
4313
bea359d6
VS
43142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
4317 for local arithmetics.
4318 Break %sp init into 2 instructions.
4319 Add 0 byte at the end.
4320
32eb6ee1
VS
43212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 * grub-core/disk/diskfilter.c (read_segment): Initialise err
4324 before loops.
4325
e8377389
VS
43262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
4329 for context.
4330
8cb17de7
VS
43312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * grub-core/disk/ldm.c (make_vg): Init part.name.
4334 (grub_ldm_detect): Silence spurious warning.
4335 (grub_util_is_ldm): Likewise.
4336
595717e6
VS
43372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
4340 sane value to avoid a spurious warning.
4341
c4b7e588
VS
43422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
4345 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
4346
59824957
VS
43472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4348
4349 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
4350 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
4351
70115b99
VS
43522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
4355 hardcoding the relevant info.
4356
56733740
VS
43572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
4360 missing const qualifiers.
4361 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
4362
43481481
VS
43632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 * util/getroot.c [__APPLE__]: Add missing includes.
4366 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
4367
3cb38f01
VS
43682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * util/grub-mkimage.c (generate_image): Silence spurious warning.
4371
d9dbf11e
VS
43722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
4375 avoid conflicts.
4376
0c42a45d
VS
43772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
4380
46c34eb0
VS
43812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
4384 and grub_file_close call.
4385
99ce1597
VS
43862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 Add LZSS Mach-O support (needed for new xnu kernelcache).
4389
4390 * grub-core/Makefile.core.def (xnu): Add file lzss.c
4391 * grub-core/loader/lzss.c: New file.
4392 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
4393 on Mach-O open failure.
4394 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
4395 Don't free cmdsXX in uncompressedXX is set.
4396 (grub_macho_file): Init new fields.
4397 New argument is_64bit. All users updated.
4398 Handle compressed. Error out if no suitable architecture is found.
4399 Don't close file.
4400 (grub_macho_open): New argument is_64bit. All users updated.
4401 * grub-core/loader/macho32.c: Add defines for new fields.
4402 * grub-core/loader/macho64.c: Likewise.
4403 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
4404 (grub_macho_parse): Handle compressed.
4405 Defer actual processing if compressed.
4406 (grub_macho_cmds_iterate): Decompress if compressed. New argument
4407 "filename". All users updated.
4408 (grub_macho_size): New argument "filename". All users updated.
4409 (grub_macho_get_entry_point): Likewise.
4410 (grub_macho_load): Handle compressed.
4411 * include/grub/macho.h (grub_macho_lzss_header): New struct.
4412 (GRUB_MACHO_LZSS_OFFSET): New define.
4413 (grub_decompress_lzss): New proto.
4414 * include/grub/machoload.h (grub_macho_file): New fields to handle
4415 compressed.
4416 (grub_macho_contains_macho64): Remove proto.
4417 (grub_macho_contains_macho32): Likewise.
4418 * util/grub.d/30_os-prober.in: Use kernel cache if available.
4419
ebd17d6f
VS
44202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
4423
2702b4e4
VS
44242012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 Fix make dist.
4427
4428 * Makefile.am (starfield_theme_files): New var.
4429 (starfield_DATA): Use starfield_theme_files.
4430 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
4431 Add bootcheck-related files.
4432 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
4433 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
4434 and font_char_metrics.txt.
4435 * grub-core/Makefile.core.def (kernel): Update extra_dist.
4436 (setjmp): Add lib/ia64/longjmp.S.
4437 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
4438 * po/POTFILES.in: Regenerate.
4439 * po/Rules-swiss: use DISTFILES.common.extra2 and not
4440 DISTFILES.common.extra1.
4441 * util/devicemap.c: Removed.
4442 * grub-core/lib/i386/relocator_backward.S: Likewise.
4443 * util/import_gcry.py: Remove unused files. Add extra_dist for
4444 ChangeLog.
4445
cf1adfdf
VS
44462012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * grub-core/gettext/gettext.c (grub_mofile_open): Call
4449 grub_gettext_delete_list before changing grub_gettext_max to avoid
4450 running out of array bounds.
4451
44522012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
4453
4454 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
4455 grub_vga_text_init/grub_vga_text_fini.
4456
cf1adfdf 44572012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
4458
4459 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
4460
541d92e9
VS
44612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * configure.ac: Bump to 2.00~beta0.
4464
7931dddf
VS
44652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4466
4467 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
4468 missing initialisation.
4469
f1b16fa3
VS
44702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
4473
83ddae23
VS
44742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 Support v2 xnu boot arguments.
4477
4478 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
4479 New argument fsbfreq_out.
4480 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
4481 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
4482 be used.
4483 * grub-core/loader/machoXX.c (grub_macho_load): New argument
4484 darwin_version.
4485 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
4486 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
4487 (grub_xnu_boot_params): Rename to ...
4488 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
4489 (grub_xnu_boot_params_v2): New struct.
4490
dc693fe6
VS
44912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
4494 zeroing of CRC field before computing CRC.
4495
5a6e39c2
VS
44962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
4499 Change order of allocations to decrease fragmentation.
4500
6c21f5d7
VS
45012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
4504
cfe456dc
CW
45052012-02-27 Colin Watson <cjwatson@ubuntu.com>
4506
4507 Use write-combining MTRR to speed up video with buggy BIOSes.
4508
4509 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
4510 (cpuid): New define.
4511 (rdmsr): Likewise.
4512 (wrmsr): Likewise.
4513 (mtrr_base): Likewise.
4514 (mtrr_mask): Likewise.
4515 (grub_vbe_enable_mtrr_entry): New function.
4516 (grub_vbe_enable_mtrr): Likewise.
4517 (grub_vbe_disable_mtrr): Likewise.
4518 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
4519 control off to BIOS.
4520 (grub_video_vbe_init): Fill mtrr.
4521 (grub_video_vbe_fini): Disable mtrr.
4522 (grub_video_vbe_get_info_and_fini): Likewise.
4523 (grub_video_vbe_setup): Enable mtrr.
4524
e3c78337
CW
45252012-02-27 Colin Watson <cjwatson@ubuntu.com>
4526
4527 * include/grub/partition.h (grub_partition_map): Change prototype of
4528 embed to take a maximum value for nsectors.
4529 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
4530 * include/grub/fs.h (grub_fs): Likewise.
4531 * grub-core/partmap/msdos.c (embed_signatures): New array.
4532 (pc_partition_map_embed): Check for and avoid sectors matching any
4533 of the signatures in embed_signatures, up to max_nsectors.
4534 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
4535 returned sector map to max_nsectors.
4536 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
4537 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
4538 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
4539 * util/grub-setup.c (setup): Allow for the embedding area being
4540 split into multiple blocklists. Tell dest_partmap->embed the
4541 maximum number of sectors we care about.
4542
45432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
4546 Specify blocklist_install and reserver_first_sector for all fs.
4547 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
4548 blocklists.
4549
984b973f
VS
45502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 * util/grub-install.in: Clarify strings.
4553 Fix source dir check.
4554
f122e0d6
RL
45552012-02-27 Richard Laager <rlaager@wiktel.com>
4556
4557 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
4558 "zfs" and "fuse.zfs" as synonyms.
4559
071114bb
VS
45602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 * configure.ac: Put platform and target_cpu substitutions back since
4563 they are used for directories.
4564
817e6abc
RL
45652012-02-27 Richard Laager <rlaager@wiktel.com>
45662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 * util/grub.d/10_linux.in: Add ZFS-related arguments.
4569 * util/grub.d/20_linux_xen.in: Likewise.
4570
897b7419
RL
45712012-02-27 Richard Laager <rlaager@wiktel.com>
4572
4573 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
4574 with full paths.
4575
a414bd15
RL
45762012-02-27 Richard Laager <rlaager@wiktel.com>
4577
4578 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
4579 unescape.
4580
30ac48c4
VS
45812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 Don't use insecure popen in getroot.
4584
4585 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
4586 (exec_pipe): ... here.
4587 (find_root_devices_from_poolname): Use exec_pipe.
4588
53f13848
VS
45892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 Remove platform and target_cpu replacement.
4592
4593 * configure.ac: Remove platform and target_cpu substitutions.
4594 * tests/util/grub-shell.in: Use modinfo.
4595 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
4596 explicitly.
4597
90cb2803
VS
45982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 Autodetect platform in grub-install but allow override.
4601
4602 * util/grub-install.in: Autodetect platform. Support --target and
4603 --directory. Read platform from modinfo.sh.
4604
b9136427
VS
46052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 Support btrfs multi-volume probe.
4608
4609 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
4610 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
4611 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
4612 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
4613 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
4614 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
4615 grub_find_root_devices_from_btrfs if on btrfs.
4616
c36e5cd1
VS
46172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 Remove any awareness of *.c util files about target.
4620
4621 * Makefile.util.def (grub-setup): Split to ...
4622 (grub-bios-setup): ... and this.
4623 (grub-sparc64-setup): ... and this.
4624 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
4625 * docs/man/grub-setup.h2m: Split into ...
4626 * docs/man/grub-sparc64-setup.h2m: ... this.
4627 * docs/man/grub-bios-setup.h2m: ... and this.
4628 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
4629 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
4630 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
4631 (grub_target_addr_t): Remove.
4632 (grub_target_size_t): Remove.
4633 (grub_target_ssize_t): Remove.
4634 * util/grub-install.in: Use new grub-*-setup.
4635 * util/grub-mkimagexx.c (Elf_Word): New define.
4636 (Elf_Half): Likewise.
4637 (Elf_Section): Likewise.
4638 (ELF_ST_TYPE): Likewise.
4639 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
4640 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
4641
584b2f8a
VS
46422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 Replace grub_target_addr with more appropriate types.
4645
4646 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
4647 grub_target_addr with grub_addr.
4648 * grub-core/commands/iorw.c (grub_cmd_read): Replace
4649 grub_target_addr with grub_port.
4650 (grub_cmd_write): Likewise.
4651 * grub-core/commands/memrw.c (grub_cmd_read): Replace
4652 grub_target_addr with grub_addr.
4653 (grub_cmd_write): Likewise.
4654 * grub-core/video/efi_uga.c (find_line_len): Likewise.
4655
5a0dc6fb
VS
46562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
4659 const qualifier for vendor_guid.
4660
786aff6e
VS
46612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
4664 const qualifier.
4665 (efiemu_memequal): Likewise.
4666 (find_variable): Likewise.
4667
49017b17
VS
46682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 Fix missing console prototype on qemu-mips.
4671
4672 * include/grub/mips/qemu_mips/console.h: New file.
4673
c5988629
MG
46742012-02-27 Matthew Garrett <mjg@redhat.com>
46752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
4678 * include/grub/efi/efi.h: Likewise.
4679 * include/grub/efi/api.h: Add guid for EFI-specified variables.
4680 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
4681 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
4682 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
4683 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
4684 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
4685
e33f8d69
MG
46862012-02-27 Matthew Garrett <mjg@redhat.com>
4687
4688 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
4689
fb312cd9
VS
46902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
4693 error.
4694
7134247c
VS
46952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * configure.ac: Remove inappropriate use of program_transform_name
4698 on grubdir and bootdir but allow explicit specification of those
4699 variables.
4700
6a313124
VS
47012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * util/grub-mknetdir.in (grub_prefix): Removed.
4704 (subdir): Use @bootdirname@ and @grubdirname@.
4705
2311c5ca
VS
47062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
4709
7d5d60f7
VS
47102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * po/POTFILES.in: Regenerated.
4713
8151bc82
VS
47142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 Remove improper use of program_transform_name on pkglibrootdir.
4717
4718 * configure.ac (pkglibrootdir): Removed.
4719 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
4720 * util/grub-mkimage.c: Likewise.
4721
b4a6a533
VS
47222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
4725 warning.
4726
668f304f
VS
47272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 * util/grub-install.in: Use file identifier if no UUID is available
4730 or user explicitly prompted for it.
4731
665f2341
NP
47322012-02-27 Navdeep Parhar <nparhar@gmail.com>
4733
4734 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
4735 (freebsd_get_zfs): New function.
4736 (grub_freebsd_boot): Pass zfs UUID.
4737 (grub_cmd_freebsd): Set zfs UUID.
4738
8151bc82 47392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
4740
4741 * conf/Makefile.common (platformdir): Base on pkglibdir and not
4742 pkglibrootdir.
4743
e4c498a1
MG
47442012-02-27 Mike Gilbert <floppym@gentoo.org>
4745
4746 Add configure flag to control libzfs integration.
4747
4748 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
4749
1e9a9a3f
VS
47502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
4753 device.
4754 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
4755 small devices.
4756
036985b8
VS
47572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 Remove grub_{modname}_init and grub_{modname}_fini. They should never
4760 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
4761 be used on non-modules.
4762
4763 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
4764 Rename to grub_boot_init.
4765 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
4766 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
4767 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
4768 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
4769 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
4770 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
4771 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
4772 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
4773 includes.
4774 (grub_machine_init): Remove empty inits.
4775 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
4776 includes.
4777 (grub_machine_init): Remove empty inits.
4778 * grub-core/term/arc/console.c: Remove explicit proto.
4779 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
4780 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
4781 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4782 grub_at_keyboard_fini.
4783 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
4784 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
4785 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4786 grub_gfxterm_fini.
4787 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
4788 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
4789 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4790 grub_vgatext_fini.
4791 * grub-core/term/ieee1275/console.c: Remove explicit proto.
4792 * grub-core/term/serial.c (GRUB_MOD_INIT)
4793 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
4794 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4795 grub_serial_fini.
4796 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
4797 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
4798 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4799 grub_terminfo_fini.
4800 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
4801 (GRUB_MOD_FINI): Likewise.
4802 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
4803 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
4804 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4805 grub_video_radeon_fuloong2e_fini.
4806 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
4807 [LOONGSON]: Rename to grub_video_sis315pro_init.
4808 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4809 grub_video_sis315pro_fini.
4810 * grub-core/video/sm712.c (GRUB_MOD_INIT)
4811 [LOONGSON]: Rename to grub_video_sm712_init.
4812 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4813 grub_video_sm712_fini.
4814 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
4815 (grub_at_keyboard_fini): Likewise.
4816 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
4817 Don't declare grub_{modname}_init.
4818 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
4819 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
4820 New proto.
4821 (grub_keylayouts_fini) [!EMU]: Likewise.
4822 * include/grub/serial.h (grub_serial_init) [!EMU]:
4823 New proto.
4824 (grub_serial_fini) [!EMU]: Likewise.
4825 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
4826 New proto.
4827 (grub_terminfo_fini) [!EMU]: Likewise.
4828 * include/grub/video.h (grub_font_init) [!EMU]:
4829 New proto.
4830 (grub_font_fini) [!EMU]: Likewise.
4831 (grub_gfxterm_init) [!EMU]: Likewise.
4832 (grub_gfxterm_fini) [!EMU]: Likewise.
4833 (grub_video_sm712_init) [!EMU]: Likewise.
4834 (grub_video_sm712_fini) [!EMU]: Likewise.
4835 (grub_video_sis315pro_init) [!EMU]: Likewise.
4836 (grub_video_sis315pro_fini) [!EMU]: Likewise.
4837 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
4838 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
4839
d5534665
VS
48402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 Make nand a prefix for nand devices.
4843
4844 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
4845
10133b5f
VS
48462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
4849 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
4850
8e307a62
VS
48512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4852
4853 * include/grub/env.h (grub_env_find): Remove prototype.
4854 * grub-core/kern/env.c (grub_env_find): Make static.
4855 (grub_env_set): Remove useless set.
4856
a4c65f34
VS
48572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * grub-core/kern/i386/realmode.S: Remove useless align.
4860
d87893d5
VS
48612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4862
4863 * include/grub/dl.h (grub_dl_load_file): Don't export.
4864
50159add
VS
48652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4866
4867 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4868 grub_dprintf.
4869
b2582b84
VS
48702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4873 grub_errors.
4874 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4875 not reloading whole superblock but only the part which is really needed.
4876 Remove useless grub_errors.
4877 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4878 grub_errors.
4879
e2a83395
VS
48802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 Don't export grub_get_rtc.
4883
4884 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4885 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4886
e7d2a906
VS
48872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4890
6cf1363b
VS
48912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 4894 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 4895
eece3349
VS
48962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4897
4898 Remove prio_list.
4899
4900 * include/grub/list.h (grub_prio_list): Removed.
4901 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4902 GRUB_COMMAND_PRIO_MASK.
4903 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4904 GRUB_COMMAND_FLAG_ACTIVE.
4905 (grub_prio_list_insert): Removed.
4906 (grub_prio_list_remove): Likewise.
4907 (GRUB_AS_PRIO_LIST): Likewise.
4908 (GRUB_AS_PRIO_LIST_P): Likewise.
4909 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4910 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4911 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4912 * grub-core/kern/command.c (grub_register_command_prio): Inline
4913 the prio_list code.
4914 (grub_unregister_command): Likewise.
4915
94f064b4
VS
49162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 Fix interrupt mixup from previous commit.
4919
4920 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4921 (grub_realidt): New var.
4922 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4923 Load idt.
4924 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4925 New declaration.
4926 (grub_relocator16_boot): Set grub_relocator16_idt.
4927 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4928 (LOCAL(realidt)): ... this.
4929 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4930 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4931 (grub_realidt): New variable.
4932
27317084
VS
49332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4936 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4937 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4938 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4939 Gettextize.
4940 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4941 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4942 * po/POTFILES.in: Regenerate.
4943
47b40053
VS
49442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4947 errors.
4948
2b343101
VS
49492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4952 \0.
4953 (add_length): Likewise.
4954
ff27c3dd
LK
49552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
49562012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4957
4958 GDB serial and backtrace support.
4959
4960 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4961 (prot_to_real): Likewise.
4962 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4963 * grub-core/Makefile.core.def (backtrace): New module.
4964 (gdb): Likewise.
4965 * grub-core/gdb/cstub.c: New file.
4966 * grub-core/gdb/gdb.c: Likewise.
4967 * grub-core/gdb/i386/idt.c: Likewise.
4968 * grub-core/gdb/i386/machdep.S: Likewise.
4969 * grub-core/gdb/i386/signal.c: Likewise.
4970 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 4971 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
4972 * include/grub/backtrace.h: Likewise.
4973 * include/grub/gdb.h: Likewise.
4974 * include/grub/i386/gdb.h: Likewise.
4975
49762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
4977
4978 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4979 New function.
4980 (add_length): Likewise.
4981 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4982 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4983 proto.
4984 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4985 __argp_get_display_len.
4986
ff27c3dd 49872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
4988
4989 $"..." support in scripts.
4990
4991 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4992 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4993 * grub-core/script/yylex.l: Likewise.
4994 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4995 value.
4996
ff27c3dd 49972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
4998
4999 * gentpl.py: Remove obsolete pkglib_DATA handling.
5000
ff27c3dd 50012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
5002
5003 Don't transform PACKAGE_TARNAME following a discussion on autoconf
5004 mailing list.
5005
5006 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
5007 * util/grub-kbdcomp.in: Likewise.
5008 * util/grub-mkconfig.in: Likewise.
5009 * util/grub-mkconfig_lib.in: Likewise.
5010 * util/grub-mknetdir.in: Likewise.
5011 * util/grub-mkrescue.in: Likewise.
5012 * util/grub-mkstandalone.in: Likewise.
5013 * util/grub-reboot.in: Likewise.
5014 * util/grub-set-default.in: Likewise.
5015 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5016
ff27c3dd 50172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
5018
5019 Remove GRUB_PREFIX.
5020
5021 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
5022 * util/grub.d/00_header.in: Compute prefix in the only place it's still
5023 used for backward compatibility.
5024
ff27c3dd 50252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
5026
5027 Add new all_video module.
5028
5029 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
5030 * grub-core/Makefile.core.def (all_video): New module.
5031 * grub-core/genmoddep.awk: Generate dependency of all_video from
5032 video.lst.
5033 * grub-core/lib/fake_module.c: New file.
5034 * grub-core/normal/main.c (features): Add feature_all_video_module.
5035 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
5036 don't do explicit search again.
47454da5 5037 insmod all_video in load_video if available.
22c7ce85 5038
ff27c3dd 50392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
5040
5041 Another round of string clarification and adding TRANSLATORS comments.
5042
ff27c3dd 50432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
5044
5045 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
5046
ff27c3dd 50472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
5048
5049 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
5050 to grub_ssize_t.
5051 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
5052 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
5053
ff27c3dd 50542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
5055
5056 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
5057 trailing newline implicitly. All users updated.
5058
ff27c3dd 50592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
5060
5061 Implement serial on IEEE1275 and EFI.
5062
5063 * docs/grub.texi (Platform-specific limitations): Fix the columen video
5064 on emu. Mention arc and emu as the only platforms without serial
5065 support.
5066 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
5067 ieee1275 platforms.
5068 * grub-core/term/efi/serial.c: New file.
5069 * grub-core/term/ieee1275/serial.c: Likewise.
5070 * grub-core/term/serial.c (grub_serial_find): Disable direct port
5071 specification if no ns8250 driver is available.
5072 (grub_cmd_serial): Likewise.
5073 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
5074 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
5075 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
5076 (grub_efi_parity_type_t): New type.
5077 (grub_efi_stop_bits_t): Likewise.
5078 (grub_efi_serial_io_interface): New struct.
5079 * include/grub/serial.h (grub_serial_port): Make 'broken' field
5080 available for all interfaces.
5081 Add EFI and IEEE1275 fields.
5082 (grub_ofserial_init): New proto.
5083 (grub_efiserial_init): Likeiwse.
5084 * util/grub.d/00_header.in: Don't check for the presence of serial
5085 module.
5086
ff27c3dd 50872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
5088
5089 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
5090 name as if it was an alias.
5091
114076ef
VS
50922012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * grub-core/commands/lsacpi.c (options): Fix typo.
5095
6a656b0e
VS
50962012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 Convert grub-emu to argp.
5099
5100 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
5101 emu.
5102 * util/argp_common.c: Rename to ...
5103 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
5104 Add missing includes.
5105 * grub-core/kern/emu/main.c: Convert to argp.
5106 * po/POTFILES.in: Regenerate.
5107 * util/grub-install.in (usage): Make first letter lowcase in messages
5108 for uniformity.
5109 * util/grub-setup.c (options): Likewise.
5110
1e3f8ae8
VS
51112012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
5114 Put back accidently commented-out code.
5115
ed167a80
VS
51162012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
5119 loop check using Brent algorithm.
5120 (grub_hfsplus_btree_search): Likewise.
5121
6753c0ec
VS
51222012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 * util/grub-install.in: Fix usage of wrong device for PreP install.
5125
4e27343f
VS
51262012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * conf/Makefile.common (CFLAGS_GNULIB): Add
5129 -Wno-unsafe-loop-optimizations.
5130 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
5131 on tools.
5132 * grub-core/commands/legacycfg.c: Add pragma to skip
5133 -Wunsafe-loop-optimizations.
5134 (check_password_md5_real): Fix loop counter type.
5135 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
5136 reading.
5137 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
5138 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
5139 loop condition.
5140 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
5141 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
5142 * grub-core/net/net.c (grub_net_route_address): Add safety loop
5143 condition.
5144 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
5145 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
5146 avoid possible infinite loops.
5147 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
5148 and -Wunsafe-loop-optimizations.
5149 * grub-core/script/yylex.l: Likewise.
5150 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
5151 (print_glyphs): Avoid infinite loops.
5152 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
5153
697f18b0
GS
51542012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
5155
5156 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
5157 to avoid infinite loop.
5158 (disp_acpi_rsdt_table): Likewise.
5159
274416e8
VS
51602012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 * grub-core/font/font.c (grub_font_load): Add support for default
5163 path for fonts ($prefix/fonts).
5164 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
5165 for checking if string is a path.
5166 * grub-core/normal/main.c (features): Add feature_default_font_path.
5167 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
5168 * util/grub.d/00_header.in: Use default directory if possible.
5169 * util/grub-install.in: Install unicode.pf2.
5170
b3e08622
VS
51712012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
5174 * po/Rules-swiss: New file.
5175 * po/swiss.sed: Likewise.
5176
fe42ce09
VS
51772012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * grub-core/fs/btrfs.c (find_device): Fix typos.
5180 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
5181 * util/grub-mkrelpath.c (argp_parser): Likewise.
5182 Reported by: Yuri Chornoivan.
5183
72f1d065
DO
51842012-02-23 Dalet Omega <daletomega@gmail.com>
5185
5186 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
5187 for usual informative messages.
5188
c5884973
DO
51892012-02-23 Dalet Omega <daletomega@gmail.com>
5190
5191 Starfield theme.
5192
5193 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
5194 * conf/Makefile.common: Define starfielddir.
5195 * configure.ac: Configure starfield.
5196 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
5197 * themes/starfield/README: Likewise.
5198 * themes/starfield/blob_w.png: Likewise.
5199 * themes/starfield/boot_menu_c.png: Likewise.
5200 * themes/starfield/boot_menu_e.png: Likewise.
5201 * themes/starfield/boot_menu_n.png: Likewise.
5202 * themes/starfield/boot_menu_ne.png: Likewise.
5203 * themes/starfield/boot_menu_nw.png: Likewise.
5204 * themes/starfield/boot_menu_s.png: Likewise.
5205 * themes/starfield/boot_menu_se.png: Likewise.
5206 * themes/starfield/boot_menu_sw.png: Likewise.
5207 * themes/starfield/boot_menu_w.png: Likewise.
5208 * themes/starfield/slider_c.png: Likewise.
5209 * themes/starfield/slider_n.png: Likewise.
5210 * themes/starfield/slider_s.png: Likewise.
5211 * themes/starfield/src/blob_nw.xcf: Likewise.
5212 * themes/starfield/src/bootmenu/: Likewise.
5213 * themes/starfield/src/bootmenu/center.xcf: Likewise.
5214 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
5215 * themes/starfield/src/bootmenu/side.xcf: Likewise.
5216 * themes/starfield/src/slider_c.xcf: Likewise.
5217 * themes/starfield/src/slider_n.xcf: Likewise.
5218 * themes/starfield/src/slider_s.xcf: Likewise.
5219 * themes/starfield/src/terminalbox/: Likewise.
5220 * themes/starfield/src/terminalbox/center.xcf: Likewise.
5221 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
5222 * themes/starfield/src/terminalbox/side.xcf: Likewise.
5223 * themes/starfield/starfield.png: Likewise.
5224 * themes/starfield/terminal_box_c.png: Likewise.
5225 * themes/starfield/terminal_box_e.png: Likewise.
5226 * themes/starfield/terminal_box_n.png: Likewise.
5227 * themes/starfield/terminal_box_ne.png: Likewise.
5228 * themes/starfield/terminal_box_nw.png: Likewise.
5229 * themes/starfield/terminal_box_s.png: Likewise.
5230 * themes/starfield/terminal_box_se.png: Likewise.
5231 * themes/starfield/terminal_box_sw.png: Likewise.
5232 * themes/starfield/terminal_box_w.png: Likewise.
5233 * themes/starfield/theme.txt: Likewise.
5234
17d73325
VS
52352012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 * util/grub.d/00_header.in: Add missing export theme.
5238
dbebaf92
VS
52392012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
5242 already included.
5243 Reported by: Eren D.
5244
3d68bffb
VS
52452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * conf/Makefile.common (grubdatadir): Removed.
5248 (Makefile.am): Move eveything grubdata to pkgdata.
5249
4b59234d
VS
52502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * grub-core/commands/acpihalt.c (get_sleep_type):
5253 Remove unused variable.
5254
463dcadc
VS
52552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
5258 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
5259 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
5260 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
5261 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
5262 i18n with gettext no-op.
5263 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
5264 GRUB_ACPI_OPCODE_STRING_CONST.
5265 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
5266 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
5267
e5b90c82
VS
52682012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * po/POTFILES.in: Regenerate.
5271
2a704ca9
VS
52722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5273
5274 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
5275 -Wno-error=missing-noreturn.
5276
84f9d341
VS
52772012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
5280 condition to avoid possibly infinite loops.
5281 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
5282 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
5283
d46683f9
VS
52842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
5287 condition to avoid possibly infinite loops.
5288
c44866b2
VS
52892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
5292 on show_error.
5293
96790539
VS
52942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
5297
1ba7e295
VS
52982012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
5301
21ffe8f1
VS
53022012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 * util/bin2h.c (usage): Add missing attribute noreturn.
5305
0ccb6b3c
VS
53062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
5309 if the size isn't divisible by 512.
5310
b00d7fb6
VS
53112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 Make list_push and list_remove functions rather than inline functions
5314 to decrease size and avoid aliasing violations.
5315
5316 * include/grub/list.h (grub_list_push): Move to ...
5317 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
5318 * include/grub/list.h (grub_list_remove): Move to ...
5319 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
5320
9d369087
VS
53212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
5324 and -Wunused-result.
5325
af0250d9
VS
53262012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
5329 Reported by: Seth Goldberg
5330
aad32b14
VS
53312012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
5334
ac96441c
ST
53352012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
5336
5337 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
5338 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
5339 command line.
5340 * docs/grub.texi (Simple configuration): Document
5341 GRUB_CMDLINE_GNUMACH.
5342
53432012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
5344
5345 * conf/Makefile.common (platform_SCRIPTS): New variable.
5346 (platform_PROGRAMS): Likewise.
5347 * gentpl.py: Mark *,module and *.image for install.
5348 * grub-core/gdb_grub.in: Add a notice of expected environment.
5349 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
5350 (gmodule.pl): Likewise.
5351
ac96441c 53522012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
5353
5354 Replace grub_checkkey with grub_getkey_noblock.
5355
5356 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
5357 (grub_getkey_noblock): ... this. All users updated.
5358
ac96441c 53592012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
5360
5361 * grub-core/kern/emu/console.c: Move to ...
5362 * grub-core/term/emu/console.c: ...here.
5363 (grub_ncurses_getkey): Fix return value if no key is detected.
5364
e51b5666
VS
53652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5366
5367 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
5368 (grub_unit_test_fini): Likewise.
5369 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
5370
53712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * include/grub/test.h (GRUB_UNIT_TEST)
5374
d9a62292
VS
53752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 * grub-core/script/execute.c (grub_script_break): Clarify logic.
5378 Better error handling.
5379 (grub_script_return): Likewise.
5380 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5381
77c9182f
VS
53822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
5385 rimplicit redifinition.
5386
edb13cf9
VS
53872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5388
5389 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
5390 GRUB.
5391
a9e9dc7c
VS
53922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
5395 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
5396 prompt here.
5397
b4ba8e02
VS
53982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
5401 as GRUB_ERR_BUG. Don't malloc if no device is available.
5402
dded5540
VS
54032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
5406 Mark calling with invalid term as GRUB_ERR_BUG.
5407
0cf69874
VS
54082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
5411 packets rather than raising an error.
5412
59bfe502
VS
54132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
5416 in if.
5417
db5fc596
VS
54182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
5421 diagnostic to dprintf.
5422 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5423
e4b7f404
VS
54242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5425
5426 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
5427 device name.
5428
e7b02f9e
VS
54292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
5432 (grub_ntfs_iterate_dir): Likewise.
5433
0331e102
VS
54342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 Efiemu stylistic fixes and gettext.
5437
5438 * grub-core/efiemu/i386/loadcore32.c
5439 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
5440 * grub-core/efiemu/i386/loadcore64.c
5441 (grub_arch_efiemu_relocate_symbols64): Likewise.
5442 * grub-core/efiemu/i386/pc/cfgtables.c
5443 (grub_machine_efiemu_init_tables): Likewise.
5444 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
5445 (grub_efiemu_loadcore_initXX): Add a filename argument.
5446 All users updated.
5447 Improved error message.
5448 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
5449 Add a filename argument.
5450 All users updated.
5451 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
5452 Reclassify double relocation as GRUB_ERR_BUG.
5453
306fc074
VS
54542012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
5457 handling.
5458
794d8ef2
VS
54592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
5462 on partition.
5463
54642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
5465
5466 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
5467
794d8ef2 54682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
5469
5470 Improve string. Gettextize.
5471
78dde88e
VS
54722012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5473
5474 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
5475 utils.
5476 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
5477
4786a90f
VS
54782012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
5481 [GRUB_UTIL]: New function.
5482 (insert_array) [GRUB_UTIL]: Store partmaps.
5483 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
5484 partmaps.
5485 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
5486 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
5487 (probe_abstraction): Print diskfilter and not raid.
5488 Reported by: Lennart Sorensen
5489
0b6225bd
VS
54902012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
5493 * util/grub-mkimagexx.c (MASK3): New define.
5494 (add_value_to_slot_20b): Use MASK3.
5495 (add_value_to_slot_21): Likewise.
5496 (relocate_addresses): Fix format specification.
5497 (load_image): Explicitly init symtab_section.
5498
b055f8f6
VS
54992012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
5502 (grub_util_biosdisk_get_grub_dev): Fix format specification.
5503
b77c2fb7
VS
55042012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
5507 on powerpc.
5508 Reported by: Lennart Sorensen
5509
e3ec28ab
VS
55102012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 * gentpl.py: Add missing license header.
5513 * docs/grub.texi: Update copyright year.
5514
c8d9ead6
GS
55152012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
5516
5517 Source grub-mkconfig_lib from the build directory at build time.
5518 Suggested by: Vladimir Serbinenko.
5519
5520 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
5521 * util/grub-install.in: Define pkgdatadir if not already set, and source
5522 grub-mkconfig_lib from there.
5523 * util/grub-kbdcomp.in: Likewise.
5524 * util/grub-mkconfig.in: Likewise.
5525 * util/grub-mknetdir.in: Likewise.
5526 * util/grub-mkrescue.in: Likewise.
5527 * util/grub-mkstandalone.in: Likewise.
5528 * util/grub-reboot.in: Likewise.
5529 * util/grub-set-default.in: Likewise.
5530 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5531
ebcecdf1
VS
55322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 Increase warning level.
5535
5536 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
5537 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
5538 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
5539 (TARGET_CFLAGS): Likewise.
5540 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
5541 * grub-core/Makefile.core.def (decompressor_xz): Add
5542 -Wno-unreachable-code.
5543 (normal): Add -Wno-redundant-decls.
5544 (xzio): Add -Wno-unreachable-code.
5545 (lzopio): Add -Wno-redundant-decls -Wno-error.
5546 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
5547 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
5548 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
5549 * grub-core/kern/dl.c: Add exception to -Wcast-align.
5550 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
5551 * grub-core/kern/i386/coreboot/init.c: Add exception to
5552 -Wsuggest-attribute=noreturn.
5553 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
5554 * grub-core/kern/ia64/dl_helper.c: Likewise.
5555 * grub-core/kern/mips/dl.c: Likewise.
5556 * grub-core/kern/sparc64/dl.c: Likewise.
5557 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
5558 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
5559 (memcmp): Likewise.
5560 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
5561 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
5562 * grub-core/loader/mips/linux.c: Likewise.
5563 * grub-core/loader/multiboot_elfxx.c: Likewise.
5564 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
5565 * grub-core/video/sm712.c: Add exception to -Wcast-align.
5566 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
5567 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
5568 fixme.
5569 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
5570 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
5571 Fix prototype.
5572
37bb97fe
VS
55732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5574
5575 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
5576 address.
5577
29a3550b
VS
55782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
5581 Avoid improper use of strings.
5582 (grub_cmd_legacy_initrdnounzip): Likewise.
5583
dfdffd0d
VS
55842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 * include/grub/emu/misc.h (grub_util_warn): Add missing format
5587 attribute.
5588 (grub_util_info): Likewise.
5589 (grub_util_error): Likewise.
5590
102fae4a
VS
55912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
5594 * util/grub-fstest.c (fstest): Likewise.
5595
7e94d044
VS
55962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5597
5598 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
5599 (grub_md_sha512_real): Likewise.
5600 (grub_util_get_geli_uuid): Likewise.
5601 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
5602 (grub_util_biosdisk_open): Fix format specification.
5603 Respect format security.
5604 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
5605 (xrealloc): Likewise.
5606 (xasprintf): Likewise.
5607
5ebd9769
VS
56082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 * util/import_gcry.py: Include grub/crypto.h in init.c.
5611
495fc8c1
VS
56122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
5615 (generate_image): Make prefix a const char *.
5616 Fix format specifications. Respect format security.
5617 Avoid void * arithmetics.
5618 Avoid shadowing.
5619 (argp_parser): Remove unused variable. Respect format security.
5620 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
5621 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
5622 (count_funcs): Remove unused variable.
5623 (relocate_addresses): Fix format specification.
5624 Disable x86-64 with elf32. Remove unused variables.
5625 (add_fixup_entry): Avoid shadowing.
5626 (make_reloc_section): Fix format specification.
5627 Use assert.
5628 (locate_sections): Fix format specifications.
5629 (load_image): Avoid shadowing.
5630
043c2ea3
VS
56312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
5634 Fix format specifications. Respect format security.
5635 Don't translate already translated grub_errmsg.
5636 (argp_parser): Remove unused variable
5637
3ec65a81
VS
56382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
5641
a4d9fe4a
VS
56422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
5645 (main): Likewise. Use xmalloc. Respect format security.
5646
15b81d49
VS
56472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5648
5649 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
5650 a const char *.
5651 (argp_parser): Remove unused variable.
5652
31731fc0
VS
56532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
5656 (add_pixel): Make static.
5657 (add_font): Likewise.
5658 (write_string_section): Make name and str a const char *.
5659 (write_be16_section): Make name a const char *.
5660 (print_glyphs): Make static.
5661 (write_font_ascii_bitmap): Likewise.
5662 (write_font_width_spec): Likewise.
5663 (write_font_pf2): Likewise.
5664 (argp_parser): Remove unused variable.
5665 Respect format security.
5666 (main): Avoid shadowing. Respect format security.
5667
0809527b
VS
56682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5669
5670 * util/grub-editenv.c (argp_parser): Make static.
5671 (create_envblk_file): Use xmalloc.
5672 (open_envblk_file): Likewise.
5673 Resepect format security.
5674 (set_variables): Respect format security.
5675
45b0c8b7
VS
56762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * util/getroot.c (grub_find_device): Respect format security.
5679 (get_mdadm_uuid): Remove unused variable.
5680 (grub_util_pull_device): Dont call gettext on already translated
5681 grub_errmsg.
5682 (find_system_device): Remove unused variable.
5683 (grub_util_get_grub_dev): Likewise.
5684 (grub_make_system_path_relative_to_its_root): Respect format security.
5685
1b024b4e
VS
56862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 * util/grub-fstest.c (execute_command): Make first argument
5689 a const char *.
5690 (read_file): Avoid shadowing.
5691 Reuse underlying error message if device open fails.
5692 (cmd_cmp): Respect format security.
5693 (root): Make const char *.
5694 (fstest): Remove args argument and use global copy.
5695 Respect format security.
5696 (argp_parser): Make static.
5697 (main): Make default_root const char *.
5698
5d1d4e28
VS
56992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5700
5701 * util/grub-mount.c (root): Make const char *.
5702 (execute_command): Make first argument a const char *.
5703 (fuse_init): Respect format security.
5704 (argp_parser): Make static. Remove unused variable.
5705 (main): Make default_root a const char *.
5706 Respect format security.
5707
36eb7379
VS
57082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5709
5710 * util/grub-probe.c (probe): Don't call gettext on already translated
5711 grub_errmsg.
5712 Remove unused variables.
5713 (argp_parser): Remove unused variable.
5714
76fb2ea9
VS
57152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * util/grub-script-check.c (argp_parser): Remove unused variable.
5718 (main): Rename read to curread to avoid shadowing.
5719
56c98584
VS
57202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * util/misc.c (grub_util_write_image_at): Fix format specification.
5723 (grub_util_write_image): Likewise.
5724 (grub_script_execute_argument_to_string): Removed (unused).
5725 (grub_script_execute_menuentry): Likewise.
5726 (grub_putchar): Likewise.
5727
164ebb48
VS
57282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
5731 (FUNCTION) [GRUB_UTIL]: Likewise.
5732 (VARIABLE) [GRUB_UTIL]: Likewise.
5733
44318d61
VS
57342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
5737 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
5738
31a26002
VS
57392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
5742 buffer.
5743
57442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
5747 (LzmaEnc_SaveState): Removed (unused).
5748 (LzmaEnc_RestoreState): Likewise.
5749 (LzmaEnc_InitPriceTables): Made static.
5750 (LzmaEnc_Construct): Likewise.
5751 (LzmaEnc_FreeLits): Likewise.
5752 (LzmaEnc_Destruct): Likewise.
5753 (LzmaEnc_Init): Likewise.
5754 (LzmaEnc_InitPrices): Likewise.
5755 (LzmaEnc_Finish): Likewise.
5756 (LzmaEnc_PrepareForLzma2): Removed (unused).
5757 (LzmaEnc_MemPrepare): Likewise.
5758 (LzmaEnc_GetNumAvailableBytes): Likewise.
5759 (LzmaEnc_GetCurBuf): Likewise.
5760 (LzmaEnc_CodeOneMemBlock): Likewise.
5761
6fa67967
VS
57622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
5765 (grub_util_ldm_embed): Likewise.
5766
9a7428e6
VS
57672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 * util/grub-editenv.c (print_var): Rename name to varname to
5770 avoid shadowing.
5771 (main): Rename index to curindex to avoid shadowing.
31a26002 5772 Make filename a const char *.
9a7428e6 5773
4f96abd1
VS
57742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5777 to arg_getline to avoid shadowing.
5778
44d10dad
VS
57792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
5782 disk_ to avoid shadowing.
5783
340ba63e
VS
57842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
5787 curindex to avoid shadowing.
5788 Make static.
5789 (MatchFinder_GetNumAvailableBytes): Make static.
5790
22965bce
VS
57912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
5794 avoid shadowing.
5795
7b5784d4
VS
57962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
5799 argument from encrypt to do_encrypt to avoid shadowing.
5800
6f48ca01
VS
58012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
5804 incorrect nesting of #if's.
5805
a4ea2dff
VS
58062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
5809 checks which are always false on some platforms.
5810 (grub_cmd_lsacpi): Likewise.
5811 * grub-core/kern/misc.c (grub_strtoul): Likewise.
5812 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
5813 Likewise.
5814
def9fc1b
VS
58152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
5818 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
5819
a67b2a04
VS
58202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
5823 re_dfa_t to avoid breaking alignment invariants.
5824 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
5825 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
5826
44c6828d
VS
58272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5828
5829 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
5830 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
5831
bebe0dd0
VS
58322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5833
5834 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
5835 Fix declaration.
5836
a9cdb3cf
VS
58372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
5840 conserve alignment invariants.
5841 (grub_ehci_ehcc_read16): Likewise.
5842 (grub_ehci_oper_read32): Likewise.
5843 (grub_ehci_oper_write32): Likewise.
5844 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5845 Conserve alignment invariants.
5846
ccc3b1b8
VS
58472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
5850 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
5851 declarations.
5852
987fbd95
VS
58532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
5856 Remove unused variable.
5857
0df363f3
VS
58582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5861 Remove set in if.
5862
b2c0c4a6
VS
58632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5864
5865 * include/grub/net.h: Remove double declarations.
5866
690c531f
VS
58672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5868
5869 Remove "payload" command in ia64 Linux loader since I couldn't
5870 find any evidence of it being used for anything.
5871 Replace "relocate" command with an environment variable
5872
5873 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5874 fields.
5875 (ia64_boot_payload): Removed.
5876 (last_payload): Likewise.
5877 (RELOCATE_OFF): Likewise.
5878 (RELOCATE_ON): Likewise.
5879 (RELOCATE_FORCE): Likewise.
5880 (relocate): Likewise.
5881 (free_pages): Don't free payloads.
5882 (grub_load_elf64): Use common error messages.
5883 Use "linux_relocate" variable.
5884 Increase the space after boot_params.
5885 (grub_cmd_payload): Removed.
5886 (grub_cmd_relocate): Likewise.
5887 (grub_cmd_fpswa): Improve messages.
5888 (cmd_payload): Removed.
5889 (cmd_relocate): Likewise.
5890 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5891 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5892
01783768
VS
58932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5894
5895 Convert UHCI to DMA framework.
5896
5897 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5898 (grub_uhci_pci_iter): Fill new members
5899 (grub_alloc_td): Use P2V and V2P functions.
5900 (grub_free_queue): Likewise.
5901 (grub_alloc_qh): Likewise.
5902 (grub_uhci_setup_transfer): Likewise.
5903 (grub_uhci_check_transfer): Likewise.
5904
43206939
VS
59052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5906
5907 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5908 Remove assignment in if while on it.
5909
571e140e
VS
59102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5911
5912 * util/grub-mkstandalone.in: Fix modules directory.
5913
a9d96eeb
VS
59142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5917 on i386-pc target.
5918 (argp_parser): Accept "auto" as compression specification.
5919
e4e37e8d
VS
59202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 Fix `help' with unloaded modules.
5923
5924 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5925 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5926 (grub_dyncmd_dispatcher): Small stylistic fix.
5927 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5928 explicit help is requested.
5929
e1ea3ade
VS
59302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5931
5932 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5933 Explicitly init restart while on it.
5934
27556881
VS
59352012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5936
5937 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5938 uninited variable.
5939
d65f6b36
VS
59402012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5941
5942 * util/grub-mknetdir.in: Use . rather than source for POSIX
5943 compatibility.
5944
0a1e473c
VS
59452012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5946
5947 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5948
ce6647c8
VS
59492012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5952 variable.
5953
66747894
VS
59542012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5955
5956 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5957 without quotes.
5958
71645f6e
VS
59592012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5962
0e1c1f61
VS
59632012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5966 iteration of partitions.
5967
9c4b5c13
VS
59682012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5969
5970 Improve gettext support. Stylistic fixes and error handling fixes while
5971 on it.
5972
215c90cb
VS
59732012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5976 part. Instead setup the correct stack in RM.
5977 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5978 for stack.
5979 * include/grub/i386/relocator_private.h: New file.
5980
b5c1f9bf
VS
59812012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5984 argument.
5985 * util/grub-fstest.c (options): Add missing DEVICE part.
5986
b525fd83
VS
59872012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 Clarify and unify messages.
5990
5991 * grub-core/commands/hashsum.c (options): Unify messages.
5992 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5993 literal-only message as translatable.
5994 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5995 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5996 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5997 commands.
5998 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5999 key, not the key used to unlock. Clarify what it's used for.
6000 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
6001 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
6002 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
6003 * util/grub-editenv.c (options): Unify "verbose" message.
6004 * util/grub-fstest.c (read_file): Unify error message.
6005 (fstest): Add quotes around commands.
6006 (options): Unify "verbose" message.
6007 * util/grub-install.in: Add quotes around variable name.
6008 * util/grub-kbdcomp.in: Unify error message.
6009 * util/grub-mkfont.c (main): Likewise.
6010 * util/grub-mkrescue.in: Likewise.
6011 * util/grub-mklayout.c (options): Unify "verbose" message.
6012 * util/grub-mkstandalone.in: Unify help and verbose messages.
6013 * util/grub-mount.c (options): Unify "verbose" message.
6014 * util/grub-probe.c (options): Likewise.
6015 * util/grub-script-check.c (options): Likewise.
6016 * util/grub-setup.c (setup): Unify no-terminator message.
6017 (options): Use DEVICE and not DEV.
6018 Unify "verbose" message.
6019 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
6020
0ae70393
VS
60212012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6022
6023 Improve and unify messages.
6024
6025 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
6026 name. All users updated.
6027 Print filename in error.
6028 (read_device_map): Print filename in error.
6029 * util/getroot.c (grub_guess_root_devices): Print filename in error.
6030 (grub_util_get_os_disk): Likewise.
6031 (grub_util_biosdisk_get_grub_dev): Likewise.
6032 (grub_util_check_block_device): Likewise.
6033 (grub_util_check_char_device): Likewise.
6034 (grub_make_system_path_relative_to_its_root): Likewise.
6035 * util/grub-editenv.c (create_envblk_file): Likewise.
6036 (open_envblk_file): Likewise.
6037 (write_envblk): Likewise.
6038 * util/grub-fstest.c (cmd_cp): Likewise.
6039 (cmd_cat): Likewise.
6040 (cmd_cmp): Likewise.
6041 * util/grub-menulst2cfg.c (main): Likewise.
6042 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
6043 (write_font_width_spec): Likewise.
6044 (write_font_pf2): Likewise.
6045 * util/grub-mkimage.c (generate_image): New argument outname.
6046 All users updated.
6047 Remove unreacheable message.
6048 (options): Unify messages.
6049 (help_filter): Likewise.
6050 * util/grub-mklayout.c (usage): Removed (unused).
6051 (main): Print filename in error.
6052 * util/grub-mkrescue.in: Fix wrong quoting.
6053 * util/grub-setup.c (setup): Print filename in error.
6054 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
6055 (check_sas): Likewise.
6056 * util/misc.c (grub_util_get_fp_size): Removed.
6057 (grub_util_get_image_size): Print filename in error.
6058 (grub_util_read_at): Removed.
6059 (grub_util_read_image): Print filename in error.
6060 (grub_util_load_image): Likewise.
6061 (grub_util_write_image_at): New argument filename. All users updated.
6062 Print filename in error.
6063 (grub_util_write_image): New argument filename. All users updated.
6064 Print filename in error.
6065 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
6066 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
6067
0a96117d
VS
60682012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 * grub-core/Makefile.core.def (pxechain): New module.
6071 * grub-core/loader/i386/pc/pxechainloader.c: New file.
6072 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
6073 function.
6074 (grub_pc_net_config_real): Use grub_pxe_get_cached.
6075 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
6076
aca002f7
VS
60772012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
6080 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
6081 * include/grub/err.h (grub_error_saved): New struct.
6082 (grub_errmsg): Make array size explicit.
6083 * include/grub/misc.h (grub_error_save): New function.
6084 (grub_error_load): Likewise.
6085 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
6086 (grub_error_push): Update `errno' member name.
6087 (grub_error_pop): Likewise
6088 * grub-core/net/tftp.c (tftp_data): New member save_err.
6089 (tftp_receive): Save error.
6090 (tftp_open): Restore error.
6091
a51dab13
VS
60922012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
6095 to real mode down to execute A20-related code in protected mode as
6096 intended.
6097
eb6e6649
GS
60982012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6099
6100 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
6101 NULL when the argument `level' has an unexpected value.
6102
92cd0f6e
VS
61032012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 Move platform-dependent files from $prefix to $prefix/$platform.
6106
6107 * config.h.in (GRUB_TARGET_CPU): New definition.
6108 (GRUB_PLATFORM): Likewise.
6109 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
6110 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
6111 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
6112 * grub-core/kern/dl.c (grub_dl_load): Likewise.
6113 * grub-core/normal/autofs.c (read_fs_list): Likewise.
6114 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
6115 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
6116 * grub-core/normal/term.c (read_terminal_list): Likewise.
6117 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
6118 $prefix/locale.
6119 (grub_gettext_init_ext): Likewise.
6120 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
6121 grub_platform.
6122 * util/grub-install.in: Update directories.
6123 * util/grub-mknetdir.in: Likewise.
6124 * util/grub-mkrescue.in: Likewise.
6125
db606889
VS
61262012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
6129 grub_error framework. All users updated.
6130
c39992a4
VS
61312012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
6134 lists (by always binsearching), improve caching (cache strings
6135 used for binsearch, not only results), improve
6136 maintainability (by using more structured binary search) and correct
6137 error handling.
6138
1e5ec32f
VS
61392012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * grub-core/script/execute.c (grub_script_return): Fix warning.
6142
ac576cde
VS
61432012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6144
6145 * grub-core/script/execute.c (grub_script_return): Fix potential
6146 NULL-dereference.
6147 Reported by: Jim Meyering.
6148
498453f6
VS
61492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 * po/POTFILES.in: Regenerate.
6152 * util/grub-install.in: Gettextize the strings missed in first pass.
6153
8be63f2e
VS
61542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6155
6156 * Makefile.util.def (grub-mkdevicemap): Removed.
6157 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
6158 * include/grub/util/deviceiter.h: Removed.
6159 * util/deviceiter.c: Likewise.
6160 * util/getroot.c (grub_util_get_os_disk): New function.
6161 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
6162 replacement for EFI.
6163 * util/grub-mkdevicemap.c: Removed.
6164 * util/grub-probe.c (probe): Handle PRINT_DISK.
6165 (argp_parser): Handle -t disk.
6166
8e1e4e39
VS
61672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 * util/grub-mkfont.c: Migrate to argp.
6170 * util/grub-mklayout.c: Likewise.
6171 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6172 * util/grub-mkrelpath.c: Likewise.
6173 * util/grub-probe.c: Likewise.
6174 * util/grub-script-check.c: Likewise.
6175
4459819a
VS
61762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 * util/grub-reboot.in: Add missing datarootdir.
6179 Add missing newline.
6180 * util/grub-set-default.in: Add missing datarootdir.
6181 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
6182 * util/grub-mkrescue.in: Likewise.
6183
f65741c7
VS
61842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6185
6186 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
6187
c1a33466
VS
61882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 * util/grub-kbdcomp.in: Add decent help and gettextize.
6191 * docs/man/grub-kbdcomp.h2m: New file.
6192
c76899a0
VS
61932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 Migrate grub-mkimage.c to argp.
6196
6197 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
6198 (grub-setup): Likewise.
6199 * util/grub-setup.c (print_version): Move to ...
6200 * util/argp_common.c (print_version): ... here.
6201 * util/grub-setup.c (argp_program_version_hook): Move to ...
6202 * util/argp_common.c (argp_program_version_hook): ... here.
6203 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
6204 safety.
6205 * util/grub-mkimage.c (main): Migrate to argp.
6206
57db0757
VS
62072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 * util/grub-mkrescue.in: Use same message as
6210 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
6211 for better translations.
6212
18534ad9
VS
62132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6214
6215 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
6216 options with generic grub-mkrescue.in with the goal of future
6217 merge.
6218
c84ba308
VS
62192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 * grub-core/kern/mm.c: Add missing include of i18n.h
6222 * grub-core/lib/relocator.c: Likewise.
6223
347998c2
VS
62242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
6227 error.
6228 (allocate_pages): Check return value.
6229 Replace fatal with error.
6230 (grub_linux_boot): Replace printf with dprintf.
6231 Check find_mmap_size return value.
6232 Replace fatal with error.
6233 Don't call grub_machine_fini.
6234 (grub_load_elf64): Replace printf with dprintf.
6235 (grub_cmd_linux): Likewise.
6236 (grub_cmd_initrd): Likewise.
6237 (grub_cmd_payload): Likewise.
6238
c779226e
VS
62392012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
6242 message.
6243 * grub-core/video/radeon_fuloong2e.c
6244 (grub_video_radeon_fuloong2e_setup): Likewise.
6245 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
6246 * grub-core/video/video.c (grub_video_set_mode): Don't override
6247 standard out of memory message.
6248
dc87d45a
GS
62492012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6250
6251 NetBSD disk wedge support.
6252
6253 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
6254 [__NetBSD__]: Handle NetBSD disk wedges.
6255 * util/getroot.c (convert_system_partition_to_system_disk)
6256 [__NetBSD__]: Likewise.
6257
055f856f
MW
62582012-02-03 Mark Wooding <mdw@distorted.org.uk>
6259
6260 * util/grub-mkconfig.in: Use umask rather than chmod to create
6261 grub.cfg.new to avoid insecure grub.cfg.
6262
4a9f8346
VS
62632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 * grub-core/commands/ls.c: Gettextize.
6266 * grub-core/commands/setpci.c: Likewise.
6267 * grub-core/commands/videotest.c: Likewise.
6268 * grub-core/disk/geli.c: Likewise.
6269 * grub-core/kern/mm.c: Likewise.
6270 * grub-core/lib/relocator.c: Likewise.
6271 * grub-core/loader/efi/appleloader.c: Likewise.
6272 * grub-core/loader/i386/xnu.c: Likewise.
6273 * grub-core/loader/ia64/efi/linux.c: Likewise.
6274 * grub-core/loader/xnu.c: Likewise.
6275 * grub-core/net/dns.c: Likewise.
6276 * grub-core/net/net.c: Likewise.
6277 * grub-core/script/lexer.c: Likewise.
6278 * grub-core/script/parser.y: Likewise.
6279 * grub-core/script/yylex.l: Likewise.
6280 * util/getroot.c: Likewise.
6281 * util/grub-setup.c: Likewise.
6282
a646a366
VS
62832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
6286 number.
6287
54e2be26
VS
62882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6289
6290 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
6291
f7c71e68
VS
62922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
6295 macro.
6296 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
6297 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
6298
a32d5c71
VS
62992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6300
6301 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
6302 * util/grub-install.in: Gettextize.
6303 * util/grub-mkconfig.in: Likewise.
6304 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
6305 if not available.
6306 (grub_warn): Gettextize.
6307 * util/grub-mknetdir.in: Gettextize.
6308 * util/grub-mkrescue.in: Likewise.
6309 * util/grub-mkstandalone.in: Likewise.
6310 * util/grub-reboot.in: Likewise.
6311 * util/grub-set-default.in: Likewise.
6312 * util/grub.d/00_header.in: Likewise.
6313 * util/grub.d/10_hurd.in: Likewise.
6314 * util/grub.d/10_kfreebsd.in: Likewise.
6315 * util/grub.d/10_linux.in: Likewise.
6316 * util/grub.d/10_netbsd.in: Likewise.
6317 * util/grub.d/10_windows.in: Likewise.
6318 * util/grub.d/20_linux_xen.in: Likewise.
6319 * util/grub.d/30_os-prober.in: Likewise.
6320 * po/POTFILES-shell.in: Regenerate.
6321
69edd81a
RL
63222012-02-03 Richard Laager <rlaager@wiktel.com>
6323
6324 * util/grub-mkimage.c (main): Fix format-security warning.
6325 * util/grub-mkrelpath.c (main): Likewise.
6326 * util/grub-probe.c (main): Likewise.
6327
65f08dbf
RL
63282012-02-03 Richard Laager <rlaager@wiktel.com>
6329
6330 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
6331 failure.
6332 Put back lost PRINT_DRIVE.
6333
e9084abe
RL
63342012-02-03 Richard Laager <rlaager@wiktel.com>
6335
6336 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
6337 (grub_guess_root_devices): Replace strlen with sizeof.
6338 Avoid crash.
6339 (find_root_devices_from_poolname): Remove unused variable.
6340 Handle raidzN.
6341
cf5f7ee7
VS
63422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 Support install on multi-device filesystems.
6345
6346 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
6347 (grub_guess_root_devices): ...this. Return char **. All users updated.
6348 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
6349 Removed.
6350 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
6351 (find_root_devices_from_poolname): ... here.
6352 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
6353 Support zfs-fuse.
6354 (grub_guess_root_device): Rename to ...
6355 (grub_guess_root_devices): ... this. Return char **. All users updated.
6356 * util/grub-install.in: Handle multi-device filesystems.
6357 * util/grub-probe.c (probe). Make device_names a char **. Add delim
6358 argument. All users updated.
6359 Handle multi-device filesystems.
6360 Use 'delim' as separator.
6361 Remove device check to allow filesystems on file.
6362 (main): Support -0 argument. Handle multi-device.
6363 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
6364 Fix a cross-device check while on it.
6365 (arguments): Remove root_dev.
6366 (argp_parser): Remove -r.
6367 (main): Remove root_dev.
6368
2f53a9ed
VS
63692012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
6372
17e1d934
VS
63732012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
6376 symbol.
6377 Reported by: NODA, Kai <nodakai>.
6378
d3e3fab5
VS
63792012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 Fix ehci on amd64.
6382
6383 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
6384 pointers.
6385 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
6386 (grub_ehci_setup_qh): Likewise.
6387 (grub_ehci_find_qh): Likewise.
6388 (grub_ehci_transaction): Likewise.
6389 (grub_ehci_setup_transfer): Likewise.
6390 (grub_ehci_check_transfer): Likewise.
6391 (grub_ehci_portstatus): Likewise.
6392 (grub_ehci_detect_dev): Likewise.
6393 (grub_ehci_transfer_controller_data): New field td_last_phys.
6394 (grub_ehci_setup_transfer): Fill td_last_phys.
6395 (grub_ehci_check_transfer): Use td_last_phys.
6396
3008675b
SG
63972012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
6398
6399 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
6400 if no submenu is present.
6401
fc9b5652
AN
64022012-02-01 Aleš Nesrsta <starous@volny.cz>
6403
6404 CBI support.
6405
6406 * include/grub/usb.h (grub_usbms_protocol_t): New values
6407 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
6408 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
6409 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
6410 (grub_usbms_dev): Add subclass, protocol and intrpt.
6411 Remove in_maxsz and out_maxsz.
6412 (grub_usbms_reset): Rename to ...
6413 (grub_usbms_bo_reset): .. this.
6414 (grub_usbms_cbi_cmd): New function.
6415 (grub_usbms_cbi_reset): Likewise.
6416 (grub_usbms_reset): Likewise.
6417 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
6418 (grub_usbms_transfer): Rename to ...
6419 (grub_usbms_transfer_bo): ... this.
6420 (grub_usbms_transfer_cbi): Likewise.
6421 (grub_usbms_transfer): Likewise.
6422
a2b81d53
AN
64232012-02-01 Aleš Nesrsta <starous@volny.cz>
64242012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
6427 the support for the CS5536 modification thereos and few bugfixes.
6428
6429 * grub-core/Makefile.core.def (ehci): New module.
6430 * grub-core/bus/usb/ehci.c: New file.
6431 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
6432 port and hubaddr. All users updated.
6433 Save port and hubaddr into dev structure.
6434 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
6435 define.
6436 * include/grub/pci.h (grub_dma_phys2virt): New function.
6437 (grub_dma_virt2phys): Likewise.
6438 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
6439
b1d51f02
VS
64402012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
6443 check as some mkfs implementations omit it.
6444
fc694106
VS
64452012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 * docs/grub.texi (Unicode): Mention identifier and space limitations.
6448
6c0920e3
VS
64492012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
6452 Add new member volname2.
6453 (grub_jfs_label): Use volname2 if available.
6454
d1a46f9a
VS
64552012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
6458 over last_mounted as seen in image generated by mkfs.nilfs2.
6459 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
6460
dec8ed14
VS
64612012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
6464 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
6465 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
6466
7397c69b
VS
64672012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
6470 over the sector.
6471
b3fe42ad
VS
64722012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
6475 subvolume name (by removing a bogus and useless check).
6476
10476bb0
VS
64772012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
6480 sizeof while on it.
6481
9c08ad87
VS
64822012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
6485 (grub_scsi_read_capacity10): ... this.
6486 (grub_scsi_read_capacity16): New function.
6487 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
6488 0xffffffff.
6489 Fix off-by-one error.
6490 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
6491 64-bit unsigned.
6492 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
6493 (grub_scsi_read_capacity10): ... this.
6494 (grub_scsi_read_capacity_data): Rename to ...
6495 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
6496 (grub_scsi_read_capacity16): New struct.
6497 (grub_scsi_read_capacity16_data): Likewise.
6498 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
6499 grub_scsi_cmd_read_capacity10.
6500 New command grub_scsi_cmd_read_capacity16.
6501
bc8d0f45
VS
65022012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6503
6504 SCSI >2TiB support.
6505
6506 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
6507 (grub_scsi_write16): Likewise.
6508 (grub_scsi_read): Use read16 when necessary.
6509 (grub_scsi_write): Likewise.
6510 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
6511 (grub_scsi_write16): Likewise.
6512 (grub_scsi_cmd_t): Add READ16 and WRITE16.
6513
cc774926
VS
65142012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 SCSI write support (for usbms mainly).
6517
6518 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
6519 a const pointer.
6520 (grub_scsi_write): Implement.
6521 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
6522
67639fd7
VS
65232012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6524
6525 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
6526 variable.
6527
9079d3ed
VS
65282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 * grub-core/lib/posix_wrap/string.h (memchr): New function.
6531
c6a6f204
VS
65322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 * po/POTFILES.in: Regenerate.
6535
ecbf8cd1
VS
65362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
6539 with grub_printf to avoid unnecessary fatal failure.
6540
0b3b3b38
VS
65412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
6544 (INT_MAX): Likewise.
6545 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
6546 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
6547 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
6548 (strcpy): Likewise.
6549 (strstr): Likewise.
6550 (strchr): Likewise.
6551 (strncpy): Likewise.
6552 (strcat): Likewise.
6553 (strncat): Likewise.
6554 (strcoll): Likewise.
6555 * include/grub/types.h (GRUB_SHRT_MAX): New define.
6556 (GRUB_INT_MAX): Likewise.
6557
db7337a3
VS
65582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
6561 unexpected error.
6562 (optimize_utf8): Likewise.
6563 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
6564
f37c87e1
VS
65652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * grub-core/boot/i386/pc/lnxboot.S: Use
6568 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
6569 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
6570 location.
6571 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
6572 definition.
6573 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
6574
63fe43f3
VS
65752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
6578 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
6579 now to avoid double free.
6580 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
6581 hostdisk.
6582 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
6583 * util/grub-probe.c (escape_of_path): Always return a new copy.
6584 (print_full_name): Escape path.
6585 (probe): Don't call grub_util_devname_to_ofpath on NULL.
6586 Fix hints on abstractions.
6587
ebe2c961
VS
65882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
6591 Don't add "root" line if no compatibility hont is available.
6592 Suggested by: Seth Goldberg.
6593
2b5336a2
VS
65942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
6597 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
6598 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
6599 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
6600
74310bd8
VS
66012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
6604
c30582ba
VS
66052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6606
6607 * util/grub-pe2elf.c (ehdr): Make static.
6608 (shdr): Likewise.
6609 (num_sections): Likewise.
6610 (offset): Likewise.
6611
5f47782c
VS
66122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 Eliminate ofpath limits and possible overflows.
6615
6616 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
6617 (OF_PATH_MAX): Removed.
6618 (MAX_DISK_CAT): New const.
6619 (find_obppath): Use allocated rather than preallocated buffer.
6620 Return result. Argument of_path removed. All users updated.
6621 Add missing fdstat.
6622 (xrealpath): New function.
6623 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
6624 Allocate rather than use preallocated buffer. All users updated.
6625 (__of_path_common): Use allocated rather than preallocatecd buffer.
6626 Return result. Argument of_path removed. All users updated.
6627 (vendor_is_ATA): Read only needed part form the file.
6628 (check_sas): Allocate depending on contents rather than fixed.
6629 (main) [STANDALONE]: Handle NULL result.
6630
f990cbf9
VS
66312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6632
6633 * grub-core/normal/completion.c (iterate_dev): Close the disk.
6634
9c6e84b8
VS
66352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 Cryptodisk write support.
6638
6639 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
6640 (grub_cryptodisk_decrypt): Moved logic to ...
6641 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
6642 (grub_cryptodisk_write): Implement.
6643 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
6644 (grub_util_fd_write): ... this. Make global.
6645 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
6646
87cf9744
VS
66472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 * include/grub/list.h (grub_list_remove): Don't crash if element is
6650 removed twice.
6651
ca8c0baf
VS
66522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 Rename ofconsole to console.
6655
6656 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
6657 as sysnonym to console.
6658 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
6659 * grub-core/term/ieee1275/console.c: ... this. All users updated.
6660 Rename grub_ofconsole_ to grub_console_. All users updated
6661 (grub_console_term_output): Rename "ofconsole" to "console".
6662 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
6663 as "console".
6664
64c8b8f6
VS
66652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
6668 handling.
6669 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
6670 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
6671 GRUB_DISK_DEVICE_FILE_ID.
6672
f6c434d5
VS
66732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6674
6675 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
6676 and improve performance.
6677
5858b42d
VS
66782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
6681 missing ieee1275/ prefix on whole disk.
6682
4ed3c26b
VS
66832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
6686 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
6687
df71143e
VS
66882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
6691
076e7c0f
VS
66922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 Merge common RAID and LVM logic to an abstract diskfilter.
6695 Add LDM support using the same framework.
6696
6697 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
6698 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
6699 (libgrubmods): Remove grub-core/disk/raid.c and
6700 grub-core/partmap/gpt.c.
6701 * grub-core/Makefile.core.def (ldm): New module.
6702 (raid): Renamed to diskfilter. All users updated.
6703 * grub-core/disk/raid.c: Moved to ...
6704 * grub-core/disk/diskfilter.c: ... here.
6705 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
6706 (lv_num): New var.
6707 (find_array): Renamed to ...
6708 (find_lv): ... this. Support multi-LV. Skip nameless LVs
6709 (grub_is_array_readable): Renamed to ...
6710 (grub_is_lv_readable): ... this. Support multinode hierarchy.
6711 (insert_array): New argument id.
6712 (is_node_readable): New function.
6713 (scan_device): Rename to ...
6714 (scan_disk): .. this. Restrict to one disk.
6715 (scan_devices): New function.
6716 (grub_diskfilter_iterate): Support multi-LV.
6717 Skip invisible and nameless LVs.
6718 (grub_diskfilter_memberlist): Support multi-LV.
6719 (grub_diskfilter_read_node): New function.
6720 (grub_raid_read): Most of logic moved to ...
6721 (read_segment): ... here
6722 (read_lv): New function.
6723 (grub_diskfilter_get_vg_by_uuid): New function.
6724 (grub_diskfilter_make_raid): Likewise.
6725 * grub-core/disk/ldm.c: New file.
6726 * grub-core/disk/lvm.c (vg_list): Removed.
6727 (lv_count): Likewise.
6728 (scan_depth): Likewise.
6729 (is_lv_readable): Likewise.
6730 (grub_lvm_getvalue): Advance pointer past the number.
6731 (find_lv): Removed.
6732 (do_lvm_scan): Refactored into ...
6733 (grub_lvm_detect): ... this. Support raid.
6734 (grub_lvm_iterate): Removed.
6735 (grub_lvm_memberlist): Likewise.
6736 (grub_lvm_open): Likewise.
6737 (grub_lvm_close): Likewise.
6738 (read_lv): Likewise.
6739 (read_node): Likewise.
6740 (is_node_readable): Likewise.
6741 (is_lv_readable): Likewise.
6742 (grub_lvm_read): Likewise.
6743 (grub_lvm_write): Likewise.
6744 (grub_lvm_dev): Use diskfilter
6745 (GRUB_MOD_INIT): Likewise.
6746 (GRUB_MOD_FINI): Likewise.
6747 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
6748 new interface.
6749 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
6750 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6751 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
6752 grub_diskfilter_read_node.
6753 Fix a bug with xor.
6754 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
6755 grub_diskfilter_read_node.
6756 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
6757 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
6758 (grub_disk_dev_iterate): Move from here...
6759 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
6760 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6761 Make global.
6762 (grub_hostdisk_find_partition_start): Likewise.
6763 (grub_hostdisk_os_dev_to_grub_drive): New function.
6764 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
6765 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
6766 * util/getroot.c (make_device_name): ... here.
6767 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6768 Move to ...
6769 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
6770 * grub-core/kern/emu/hostdisk.c
6771 (convert_system_partition_to_system_disk): Move to ...
6772 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
6773 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
6774 * util/getroot.c (device_is_wholedisk): ... here.
6775 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
6776 * util/getroot.c (find_system_device): ... here.
6777 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
6778 Move to ...
6779 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
6780 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6781 Move to ...
6782 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
6783 Handle LDM.
6784 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6785 Move to ...
6786 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
6787 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
6788 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
6789 DISKFILTER.
6790 * include/grub/raid.h: Renamed to ...
6791 * include/grub/diskfilter.h: ... this.
6792 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
6793 (GRUB_RAID_LAYOUT_*): Make into array.
6794 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
6795 (grub_diskfilter_vg): New struct.
6796 (grub_diskfilter_pv_id): Likewise.
6797 (grub_raid_member): Removed.
6798 (grub_raid_array): Likewise.
6799 (grub_diskfilter_pv): New struct.
6800 (grub_diskfilter_lv): Likewise.
6801 (grub_diskfilter_segment): Likewise.
6802 (grub_diskfilter_node): Likewise.
6803 (grub_diskfilter_get_vg_by_uuid): New proto.
6804 (grub_raid_register): Inline.
6805 (grub_diskfilter_unregister): Likewise.
6806 (grub_diskfilter_make_raid): New proto.
6807 (grub_diskfilter_vg_register): Likewise.
6808 (grub_diskfilter_read_node): Likewise.
6809 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
6810 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
6811 (grub_util_is_ldm): Likewise.
6812 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
6813 (grub_hostdisk_find_partition_start): Likewise.
6814 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
6815 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
6816 New definition.
6817 (grub_gpt_partition_map_iterate): New proto.
6818 * include/grub/lvm.h (grub_lvm_vg): Removed.
6819 (grub_lvm_pv): Likewise.
6820 (grub_lvm_lv): Likewise.
6821 (grub_lvm_segment): Likewise.
6822 (grub_lvm_node): Likewise.
6823 * util/getroot.c [...]
6824 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
6825 (probe_abstraction): Likewise.
6826 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
6827 (main): Remove dead logic.
6828
8a7f9b9c
VS
68292012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
6830
6831 Simplify root device discover and don't fail when trying to open
6832 incorrect devices.
6833
6834 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
6835 function.
6836 (get_diskname_from_path): Likewise.
6837 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
6838 of iterating.
6839
30545b85
VS
68402012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
6843
28ea58cf
VS
68442012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6845
6846 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
6847 pastthe end.
6848
692dabca
VS
68492012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 * util/grub-install.in: Add missing \.
6852 Reported by: gentoofan
6853
f6e4ea70
VS
68542012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6855
6856 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
6857 (direct_read): Use correct compressed size.
6858 (grub_squash_read_data): Likewise.
6859
68602012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
6861
6862 * docs/grub.texi (Platform limitations): New section.
6863 (Platform-specific operations): Likewise.
6864 * docs/grub-dev.texi (Porting): Likewise.
6865
76261110
VS
68662012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 IEEE1275 disk write support.
6869
6870 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6871 const void *.
6872 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6873 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6874 and seek loginc to ...
6875 (grub_ofdisk_prepare): ... here.
6876 (grub_ofdisk_write): Implement.
6877
fc36d603
VS
68782012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 ARC disk write support.
6881
6882 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6883 (reopen): New argument writable. All users updated.
6884 Handle required access mode.
6885 (grub_arcdisk_write): Implement.
6886 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6887 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6888
e06c2e7a
VS
68892012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6892 (read_sblock): Don't attempt to read superblocks outside the disk size.
6893
ff447958
VS
68942012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6897 first superblock to find the second one when possible.
6898
9e88df39
VS
68992012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 * util/grub-install.in: Fix an ARC bug.
6902 Print a warning if no platform-specific setup is available.
6903
bb26e4ff
VS
69042012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6905
6906 Use static allocation rather than scratch pointer in reed_solomon.
6907 It decreases its size significantly and avoids a variable in .text.
6908
6909 * grub-core/lib/reed_solomon.c (scratch): Removed.
6910 (chosenstat): New const or static array.
6911 (sigma): Likewise.
6912 (errpot): Likewise.
6913 (errpos): Likewise.
6914 (sy): Likewise.
6915 (mstat): Likewise.
6916 (errvals): Likewise.
6917 (eqstat): Likewise.
6918 (pol_evaluate): Replace x with log_x argument. All users updated.
6919 (syndroms): Removed.
6920 (gauss_solve): Use statically allocated arrays.
6921 (rs_recover): Likewise.
6922 Calculate syndroms directly.
6923 (decode_block): Use statically allocated arrays.
6924 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6925 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6926
2e13ede5
VS
69272012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6928
6929 Eliminate fixed limit on reed solomon decoder length.
6930
6931 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6932 rather than hardcoding the address.
6933 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6934 no_reed_solomon_length.
6935 Move gate_a20 to no-reed-solomon part.
6936 Don't force a particular size of no reed-solomon part.
6937 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6938 Removed.
6939 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6940 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6941
f8a9ab12
VS
69422012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * grub-core/commands/wildcard.c (match_files): Handle filenames
6945 without explicit device.
6946 (wildcard_expand): Don't add explicit device if not already present.
6947 * tests/grub_script_echo1.in: Add a new expansion test.
6948
87edb894
VS
69492012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6950
6951 Replace single-linked with double-linked lists. It results in more
6952 compact and more efficient code.
6953
6954 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6955 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6956 (grub_list_remove): Moved from here ...
6957 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6958 (grub_prio_list_insert): Set prev.
6959 * include/grub/list.h (grub_list): Add prev. All users updated.
6960
48b391e9
VS
69612012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6962
6963 Handle newer autotools. Add some missing quotes while on it.
6964
6965 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6966 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6967 (pkgdata_DATA): ... here.
6968 * Makefile.util.def (update-grub_lib): Removed.
6969 * conf/Makefile.common (pkglib_DATA): Removed.
6970 (pkglib_SCRIPTS): Likewise.
6971 (pkgdata_DATA): New variable.
6972 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6973 needed.
6974 Add missing quotes.
6975 Remove unused variable while on it.
6976 * tests/util/grub-shell.in: Likewise.
6977 * util/grub-install.in: Likewise.
6978 * util/grub-mkconfig.in: Likewise.
6979 * util/grub-mknetdir.in: Likewise.
6980 * util/grub-mkrescue.in: Likewise.
6981 * util/grub-mkstandalone.in: Likewise.
6982 * util/grub.d/00_header.in: Likewise.
6983 * util/grub.d/10_hurd.in: Likewise.
6984 * util/grub.d/10_illumos.in: Likewise.
6985 * util/grub.d/10_kfreebsd.in: Likewise.
6986 * util/grub.d/10_linux.in: Likewise.
6987 * util/grub.d/10_netbsd.in: Likewise.
6988 * util/grub.d/10_windows.in: Likewise.
6989 * util/grub.d/20_linux_xen.in: Likewise.
6990 * util/grub.d/30_os-prober.in: Likewise.
6991 * util/update-grub_lib.in: Removed.
6992
69932012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
6994
6995 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6996 a workaround for intel problem.
6997
66832792
PRP
69982012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
69992012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
70002012-01-23 pfsmorigo
7001
7002 * util/grub-install.in: Support dd'in into PreP partition.
7003 * util/grub-probe.c (probe): Support discovering partition type.
7004 (main): Support -t msdos_parttype.
7005
7816a17e
VS
70062012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
7009 infinite recursion using counter.
7010 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
7011 init to skip it if the magic check fails.
7012 (dec_stream_header): Init s->crc32.
7013
8f9d3a8c
ZB
70142012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
70152012-01-22 Zachary Bedell <pendorbound@gmail.com>
70162012-01-22 Richard Laager <rlaager@wiktel.com>
7017
7018 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
7019 All users updated.
7020 (find_bestub): Determine correct size.
7021 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
7022 (scan_disk): Align the size down.
7023 Call check pool before find_bestub to have ashift.
7024
b055dd32
VS
70252012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7026
7027 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
7028 dprintf in no-malloc zone.
7029
d779e9bd
ML
70302012-01-22 Mario Limonciello <mario_limonciello@dell.com>
7031
7032 * configure.ac: Add back in test for limits.h.
7033
b508af69
VS
70342012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7035
7036 Support 4K-sector NTFS.
7037
7038 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
7039 (grub_ntfs_data): Remove blocksize.
7040 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
7041 Remove data argument. All users updated.
7042
dad9c8b5
VS
70432012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
7046 being in .text to avoid dprel references.
7047 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
7048 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
7049 (grub_arch_highmemsize): Likewise.
7050 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
7051 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
7052 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
7053
d43a777e
VS
70542012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
7057
7058 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
7059 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
7060
34e4208f
VS
70612012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
7064 GRUB_UTIL.
7065 (grub_set_datetime_cmos): Likewise.
7066
3ec0fc1c
VS
70672012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 Make XZ compression parameters dependent on target and not host CPU.
7070
7071 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
7072 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
7073
22489834
VS
70742012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7075
7076 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
7077 set but not used variable.
7078
8502fbca
VS
70792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
7082 created when no uuid support is compiled into mkfs.reiser.
7083
76df2068
VS
70842012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
7087 (utf8_to_macroman): Do the opposite.
7088 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
7089
64e3f8f6
VS
70902012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7091
7092 * configure.ac: Refise build qemu_mips w/o unifont.
7093
9c271078
VS
70942012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 Eliminate grub_min/grub_max prone to overflow usage.
7097
7098 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
7099 (poll_nonroot_hub): Likewise.
7100 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
7101 (grub_affs_label): Likewise.
7102 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
7103 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
7104 (grub_hfs_label): Likewise.
7105 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
7106 * grub-core/fs/zfs/zfs.c (MIN): Remove.
7107 (zap_leaf_array_equal): Use grub_size. Remove MIN.
7108 (zap_leaf_array_get): Likewise.
7109 (dnode_get_path): Likewise.
7110 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
7111 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
7112 * grub-core/script/execute.c (grub_script_break): Likewise.
7113 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
7114 grub_max.
7115 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
7116 * include/grub/misc.h (grub_min): Removed.
7117 (grub_max): Likewise.
7118
80662dbc
VS
71192012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7120
7121 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
7122 direct.inode = 0.
7123
e6da1467
VS
71242012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
7127
b1ac4cb1
VS
71282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
7131
b4bf7c3b
VS
71322012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
7135 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
7136
8ee1101a
VS
71372012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
7140 rather than a hack for grub_strncasemap.
7141
71422012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 Support multiple initrds
7145 Note: part of this was accidently committed in r3739.
7146
7147 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
7148 initrd.
7149 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7150 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7151 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7152 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7153 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7154
4d1e2bc9
VS
71552012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
7158 disks with unknown size.
7159 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
7160
75b49ebe
VS
71612012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 Remove defines pertaining to arbitrary limits not affecting GRUB
7164 anymore.
7165
7166 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
7167 (EXT2_MAX_SYMLINKCNT): Likewise.
7168 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
7169 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
7170 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
7171 (GRUB_PXE_MAX_BLKSIZE): Likewise.
7172 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
7173 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
7174 (DN_MAX_OBJECT_SHIFT): Likewise.
7175 (DN_MAX_OFFSET_SHIFT): Likewise.
7176 (DN_MAX_OBJECT): Likewise.
7177 (DNODES_PER_LEVEL_SHIFT): Likewise.
7178 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
7179 (SPA_MAXBLOCKSIZE): Likewise.
7180 (SPA_BLOCKSIZES): Likewise.
7181 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
7182 (MZAP_MAX_BLKSZ): Likewise.
7183
74a1dce7
VS
71842012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
7187 handle NULL appropriately.
7188 Remove MIN.
7189
30c7d3ce
VS
71902012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 Fix efiemu.
7193
7194 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
7195 cpu/types.h.
7196 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
7197 * configure.ac: Fix efiemu check.
7198
3c76ea0c
VS
71992012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
7202 grub_probe.
7203 Reported by: adamwill
7204
7e532280
SG
72052012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
7206
7207 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
7208
30492374
VS
72092012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 Fix handling of wide characters in gfxterm.
7212
7213 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
7214 (clear_char): Likewise.
7215 (paint_char): Skip code == NULL chars.
7216 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
7217
e70cb72f
VS
72182012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7219
7220 * grub-core/normal/charset.c: Move comment to right place.
7221
5c827cf9
VS
72222012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
7225 (GRUB_AFFS_FLAG_FFS): Put back where it was.
7226 (grub_affs_mount): Revert the correct version checking.
7227
53603892
VS
72282012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 * docs/grub.texi (Unicode): Mention several other unsupported features.
7231
ff094b9b
VS
72322011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
7235 case statements as compile-time one.
7236 (direct_read): Prevent spurious warnings.
7237 (grub_squash_read_data): Likewise.
7238
c029da8a
VS
72392011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 Various squash4 fixes and LZO and XZ support.
7242
7243 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
7244 Add xzembed source files.
7245 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
7246 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
7247 (grub_squash_inode): New subtype long_dir.
7248 (SQUASH_TYPE_LONG_DIR): New inode type.
7249 (COMPRESSION): New enum.
7250 (XZBUFSIZ): New const.
7251 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
7252 (read_chunk): Use data->decompress.
7253 (zlib_decompress): New function.
7254 (lzo_decompress): Likewise.
7255 (xz_decompress): Likewise.
7256 (squash_mount): Set new data fields.
7257 (grub_squash_iterate_dir): Handle long dir.
7258 (squash_unmount): Free xzdec and xzbuf.
7259 (grub_squash_open): Check ino type.
7260 (direct_read): Stylistic fixes. Use data->decompress.
7261 (grub_squash_read_data): Likewise.
7262 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
7263 (get_byte): Likewise.
7264 (grub_zlib_disk_read): Removed.
7265 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
7266 (GRUB_POSIX_BOOL_DEFINED): New define.
7267 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
7268 * grub-core/lib/xzembed/xz.h: Addmissing includes.
7269 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
7270 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
7271
7a45a539
VS
72722011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 Don't override more informative errors.
7275
7276 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
7277 * grub-core/font/font.c (open_section): Likewise.
7278 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
7279 filename. Don't override errors.
7280 (grub_cmd_openbsd_ramdisk): Don't override errors.
7281 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
7282 (grub_cmd_initrd): Likewise.
7283 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7284 (grub_cmd_initrd): Likewise.
7285 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
7286 (grub_cmd_linux): Likewise.
7287 (grub_cmd_initrd): Likewise.
7288 (grub_cmd_payload): Likewise.
7289 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7290 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
7291 (grub_cmd_module): Likewise.
7292 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7293 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7294 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
7295 (grub_cmd_xnu_mkext): Likewise.
7296 (grub_cmd_xnu_ramdisk): Likewise.
7297 (grub_xnu_check_os_bundle_required): Likewise.
7298 (grub_xnu_load_kext_from_dir): Likewise.
7299 (grub_cmd_xnu_kextdir): Likewise.
7300 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
7301
b2d004db
VS
73022011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
7305 as 1024 in block size field. Found on one of my test images.
7306 Small optimisation while on it.
7307
ec000eac
VS
73082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7309
7310 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
7311 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
7312 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
7313 performance fixes while on it.
7314 (grub_sfs_close): Fix memory leak while on it.
7315 (grub_sfs_label): Convert Latin1 to UTF-8.
7316
f50e1165
VS
73172011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
7320 space to avoid overflows.
7321 (grub_hfs_label): Convert from macroman to UTF-8.
7322
2ae254de
VS
73232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
7326
0108f491
VS
73272011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
7330
f45f5f89
VS
73312011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 * unicode: Import Unicode 6.0 data.
7334
4d8c4765
VS
73352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7336
63fa8ef9
VS
7337 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
7338 outside of range.
7339
73402011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
7343
7344 * include/grub/charset.h (grub_getend): New function.
7345 * grub-core/script/function.c (grub_script_function_find): Use
7346 grub_getend.
7347 * grub-core/normal/completion.c (add_completion): Likewise.
7348
f3cb4a4e
VS
73492011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7350
7351 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
7352 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
7353 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
7354 (GRUB_UNICODE_TAG_END): Likewise.
7355 (GRUB_UNICODE_LAST_VALID): Likewise.
7356
5da8dbc5
VS
73572011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7358
7359 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
7360 len and make it smaller. All users updated.
7361 * util/import_unicode.py: Put length and not end character.
7362 Check length.
7363
8569f13d
VS
73642011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7365
7366 Make better Unicode-compliant and unify some UTF-8 code pathes.
7367
7368 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
7369 valid character.
7370 (grub_is_valid_utf8): Use grub_utf8_process.
7371 Check resulting code range.
7372 (grub_utf8_to_ucs4): Use grub_utf8_process.
7373 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
7374 valid character.
7375
cc4fddf5
VS
73762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7377
7378 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
7379
bbc47747
VS
73802011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7381
7382 * docs/grub.texi (Filesystems): Mention AFS.
7383
f63d6bf4
VS
73842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7385
7386 * docs/grub.texi (Filesystems): Clarify restrictions.
7387 (Regexp): Mention non-Unicode regexp behaviour.
7388 (Other): Mention non-Unicode matching behaviour.
7389
74bbf0db
VS
73902011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7391
f63d6bf4 7392 Make HFS implementation use MacRoman.
74bbf0db
VS
7393
7394 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
7395 (macroman): New const array.
7396 (macroman_to_utf8): New function.
7397 (utf8_to_macroman): Likewise.
7398 (grub_hfs_find_dir): Use utf8_to_macroman.
7399 (grub_hfs_dir): Use macroman_to_utf8.
7400 Set case_insensitive.
7401
4ea0316e
VS
74022011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
7405
d3c13cbd
VS
74062011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7407
7408 Integrate hints into autogeneration scripts.
7409
7410 * docs/grub.texi (Filesystems): Add a hostdisk example.
7411 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
7412 (grub-probe): Add ofpath.
7413 * gentpl.py: Remove group nosparc64.
7414 * grub-core/commands/search.c (cache_entry): New struct.
7415 (cache): New var.
7416 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
7417 * grub-core/commands/search_wrap.c (options): Add platform-specific
7418 hint options.
7419 (grub_cmd_search): Handle platform-specific hints.
7420 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
7421 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
7422 (grub_util_biosdisk_data): Likewise.
7423 (grub_util_biosdisk_open): Set device_map.
7424 (read_device_map): Handle "" as indication of no map.
7425 Set device_map.
7426 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
7427 (grub_util_biosdisk_get_compatibility_hint): New function.
7428 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
7429 * include/grub/emu/hostdisk.h
7430 (grub_util_biosdisk_get_compatibility_hint): New proto.
7431 * util/grub-install.in: Don't call grub-mkdevicemap.
7432 Add platform-specific hint to load.cfg.
7433 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
7434 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7435 hints. Set root preliminary to compatibility hint, not to OS name.
7436 * util/grub-probe.c (PRINT_*): Add hints.
7437 (print): Make static.
7438 (escape_of_path): New function.
7439 (guess_bios_drive): Likewise.
7440 (guess_efi_drive): Likewise.
7441 (guess_baremetal_drive): Likewise.
7442 (print_full_name): Likewise.
7443 (probe): Handle hints.
7444 (main): Likewise.
7445 * util/ieee1275/devicemap.c: Removed.
7446 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
7447 updated.
7448 (grub_util_devname_to_ofpath): Return NULL on failure.
7449
7450 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
7451 resource leak.
7452 * util/getroot.c (grub_util_pull_device): Fix memory leak.
7453
7454 * po/POTFILES.in: Regenerated.
7455
7456 Allow purely long options
7457
7458 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
7459 (SHORT_ARG_USAGE): Likewise.
7460 (grub_arg_show_help): Compare opt with help_options.
7461 (parse_option): Receive opt as argument. If makes big simplificatons.
7462 All users updated
7463
00ce2df3
VS
74642011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
7467 Restructure to avoid warning.
7468
e77e325f
VS
74692011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * util/grub-install.in: Account for possible escaped comma in device
7472 name.
7473
165099ea
VS
74742011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
7477 channel.
7478
ce4a999d
VS
74792011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
7482 allocation and zero-setting.
7483 (grub_ieee1275_get_devname): Check that alias is complete.
7484
379586ad
VS
74852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
7488 unaligned segments.
7489
9197b0ad
VS
74902011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
7493 prefix.
7494 (grub_ofdisk_open): Check and discard ieee1275 prefix.
7495 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7496 Add ieee1275 prefix.
7497
edddb7f9
VS
74982011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7499
7500 * docs/grub.texi (Filesystems): Update.
7501
a1a8b1b9
VS
75022011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7503
7504 Support odc, newc and bigendian cpio formats.
7505
7506 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
7507 * grub-core/Makefile.core.def (newc): New module.
7508 (odc): Likewise.
7509 (cpio_be): Likewise.
7510 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
7511 (MAGIC): Likewise.
7512 (MAGIC2): Likewise.
7513 (head) [MODE_ODC]: Adapt for the format.
7514 (head) [MODE_NEWC]: Likewise.
7515 (head) [!MODE_*]: Write fields of interest as arrays.
7516 (MAGIC_USTAR): Removed.
7517 (read_number) [MODE_NEWC]: Change to hex.
7518 (read_number) [!MODE_*]: Parse binary arrays.
7519 (grub_cpio_find_file): Factor out the code for better structure and
7520 always use read_number.
7521 (grub_cpio_mount): Use MAGIC and MAGIC2.
7522 (grub_cpio_dir): Exit on first hook non-0 return.
7523 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
7524 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
7525 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
7526 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
7527 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
7528 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
7529 * grub-core/fs/newc.c: New file.
7530 * grub-core/fs/odc.c: Likewise.
7531 * grub-core/fs/cpio_be.c: Likewise.
7532
58eba9ee
VS
75332011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7534
7535 Fix handling of tar numbers occupying the whole field.
7536
7537 * grub-core/fs/cpio.c (read_number): New function.
7538 (grub_cpio_find_file): Use read_number instead of strtoull.
7539
a54a0e12
VS
75402011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
7543 occupying the whole field size.
7544
a6120aca
LA
75452011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
7546
7547 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
7548
a93964ce
VS
75492011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
7552
3ea1ca46
SG
75532011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
7554
7555 * grub-core/Makefile.core.def (lzma_decompress): Add missing
7556 TARGET_IMG_LDFLAGS.
7557
b87f7ef2
VS
75582011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 * util/getroot.c (ESCAPED_PATH_MAX): New define.
7561 (mountinfo_entry): Increase the field size to take escaping into
7562 account.
7563 (find_root_device_from_libzfs): Add one byte to size of strings for
7564 security.
7565
62092395
VS
75662011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
7569 an assert.
7570 * util/grub-setup.c (setup): Likewise.
7571
1f0b1a77
VS
75722011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7573
7574 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
7575 _LzmaDecodeA.
7576
8eba9997
VS
75772011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7578
7579 * docs/grub.texi (Internationalisation): New section.
7580
dd0c91e9
VS
75812011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * docs/grub.texi (Loopback booting): New section.
7584
75852011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
7586
7587 * util/grub-mkstandalone.in: Fix minor typo errors.
7588
198e150a
VS
75892011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7590
7591 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
7592
7593 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
7594 net/icmp.c and net/icmp6.c.
7595 (http): New module.
7596 (priority_queue): Likewise.
7597 * grub-core/io/bufio.c: Rewritten.
7598 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
7599 TYPE_WITH_CONFIGFILE_OPTION.
7600 (legacy_commands): Add bootp and dhcp.
7601 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
7602 (grub_legacy_parse): Likewise.
7603 * grub-core/lib/priority_queue.c: New file.
7604 * grub-core/net/arp.c: Add missing license header.
7605 (arp_find_entry): Removed.
7606 (arp_find_entry): Likewise.
7607 (grub_net_arp_resolve): Rename to ...
7608 (grub_net_arp_send_request): ...this.
7609 (grub_net_arp_receive): New card argument.
7610 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
7611 Set router and DNS server.
7612 (grub_net_configure_by_dhcp_ack): Handle routing information.
7613 (grub_cmd_bootp): Set checksum.
7614 (grub_bootp_init): Remove net_dhcp.
7615 * grub-core/net/dns.c: New file.
7616 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
7617 completion.
7618 (get_card_packet): Handle allocation.
7619 (grub_efinet_findcards): Set mtu.
7620 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
7621 (get_card_packet): Handle allocation.
7622 (emucard): Set mtu.
7623 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
7624 (GRUB_MOD_INIT): Set mtu.
7625 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
7626 mtu.
7627 (get_card_packet): Handle allocation.
7628 (grub_ofnet_findcards): Set mtu.
7629 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
7630 assert.
7631 (grub_net_recv_ethernet_packet): Handle IPv6.
7632 * grub-core/net/http.c: New file.
7633 * grub-core/net/icmp.c: Likewise.
7634 * grub-core/net/icmp6.c: Likewise.
7635 * grub-core/net/ip.c (ip6addr): New type.
7636 (ip6hdr): Likewise.
7637 (reassemble): Likewise.
7638 (cmp): New function.
7639 (reassembles): New variable.
7640 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
7641 (id): New variable.
7642 (send_fragmented): New function.
7643 (grub_net_send_ip_packet): Rename to ...
7644 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
7645 Handle non-UDP.
7646 (grub_net_recv_ip_packets): Rename to ...
7647 (handle_dgram): ... this. Check checksum. Handle non-UDP.
7648 (free_rsm): New function.
7649 (free_old_fragments): Likewise.
7650 (grub_net_recv_ip4_packets): New function.
7651 (grub_net_send_ip6_packet): Likewise.
7652 (grub_net_send_ip_packet): Likewise.
7653 (grub_net_recv_ip6_packets): Likewise.
7654 (grub_net_recv_ip_packets): Likewise.
7655 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
7656 (LINK_LAYER_CACHE_SIZE): New const.
7657 (link_layer_find_entry): New function.
7658 (grub_net_link_layer_add_address): Likewise.
7659 (grub_net_link_layer_resolve_check): Likewise.
7660 (grub_net_link_layer_resolve): Likewise.
7661 (grub_net_ipv6_get_slaac): Likewise.
7662 (grub_net_ipv6_get_link_local): Likewise.
7663 (grub_cmd_ipv6_autoconf): Likewise.
7664 (parse_ip): Handle one number representation.
7665 (parse_ip6): New functoion.
7666 (match_net): Handle IPv6.
7667 (grub_net_resolve_address): Handle IPv6 and DNS.
7668 (grub_net_resolve_net_address): Handle IPv6.
7669 (route_cmp): New function.
7670 (grub_net_route_address): Find best route.
7671 (grub_net_addr_to_str): Handle IPv6.
7672 (grub_net_addr_cmp): New function.
7673 (grub_net_add_addr): Register local route.
7674 (print_net_address): Handle net address.
7675 (grub_net_poll_cards): Retransmit TCP.
7676 (grub_net_poll_cards_idle_real): Likewise.
7677 (have_ahead): New function.
7678 (grub_net_seek_real): Use underlying seek.
7679 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
7680 * grub-core/net/tcp.c: New file.
7681 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
7682 (cmp): New function.
7683 (ack): Likewise.
7684 (tftp_receive): Handle unordered input.
7685 (destroy_pq): New function.
7686 (tftp_close): Close pq.
7687 * grub-core/net/udp.c: Put missing license header.
7688 (grub_net_udp_socket): New function.
7689 (udp_socket_register): Likewise.
7690 (grub_net_udp_close): Likewise.
7691 (grub_net_recv_udp_packet): Check checksum.
7692 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
7693 * include/grub/misc.h (grub_memchr): New function.
7694 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
7695 (grub_net_card_driver): Return buf in recv.
7696 (grub_net_slaac_mac_list): New struct.
7697 (grub_network_level_protocol_id): Add ipv6.
7698 (grub_net_network_level_addr): Likewise.
7699 (grub_net_network_level_net_addr): Likewise.
7700 (grub_net_app_protocol): Add seek.
7701 (grub_net_socket): Removed.
7702 (grub_net_sockets): Likewise.
7703 (grub_net_socket_register): Likewise.
7704 (grub_net_socket_unregister): Likewise.
7705 (FOR_NET_SOCKETS): Likewise.
7706 (grub_net_add_addr): Add const.
7707 (GRUB_NET_BOOTP_*): New enum.
7708 (grub_net_addr_cmp): New proto.
7709 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
7710 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
7711 (grub_net_hwaddr_to_str): NEw proto.
7712 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
7713 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
7714 (grub_dns_init): New proto.
7715 (grub_dns_fini): Likewise.
7716 (grub_net_tcp_retransmit): Likewise.
7717 (grub_net_link_layer_add_address): Likewise.
7718 (grub_net_link_layer_resolve_check): Likewise.
7719 (grub_net_link_layer_resolve): Likewise.
7720 (grub_net_dns_lookup): Likewise.
7721 (grub_net_add_dns_server): Likewise.
7722 (grub_net_remove_dns_server): Likewise.
7723 (GRUB_NET_TRIES): New const.
7724 (GRUB_NET_INTERVAL): Likewise.
7725 * include/grub/net/arp.h: Mostly rewritten.
7726 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
7727 * include/grub/net/ip.h: Mostly rewritten.
7728 * include/grub/net/netbuff.h: Indent.
7729 * include/grub/net/tcp.h: New file.
7730 * include/grub/net/udp.h: Mostly rewritten.
7731 * include/grub/priority_queue.h: New file.
7732 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
7733 (grub_swap_bytes64_compile_time): Likewise.
7734 (grub_cpu_to_be16_compile_time): Likewise.
7735 (grub_cpu_to_be32_compile_time): Likewise.
7736 (grub_cpu_to_be64_compile_time): Likewise.
7737 (grub_be_to_cpu64_compile_time): Likewise.
7738
215c1800
VS
77392011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7740
7741 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
7742 UINT_TO_PTR with cast.
7743
c17e546c
VS
77442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
7747 don't use them.
7748
ff6b18b6
VS
77492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
7752 already there.
7753
70ffcc93
VS
77542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
7757 confusing ipxe.
7758
e5f4d260
VS
77592011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
7762 Add missing const attribute.
7763 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
7764 Likewise.
7765 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
7766 Likewise.
7767
8e54b4b7
VS
77682011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7769
7770 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
7771 misaligned access.
7772 (serpent_setkey): Likewise.
7773 (serpent_encrypt_internal): Likewise.
7774 (serpent_decrypt_internal): Likewise.
7775 (serpent_encrypt): Don't put an alignment-increasing cast.
7776 (serpent_decrypt): Likewise.
7777 (serpent_test): Likewise.
7778
813c0a2b
VS
77792011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
7782
f2b60fbd
VS
77832011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7784
7785 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
7786
7787 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
7788 grub_addr_t casts.
7789 (PTR_TO_UINT64): Likewise.
7790 (PTR_TO_UINT32): Likewise.
7791
5ef5c511
VS
77922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * util/grub-mkimage.c (generate_image): Decrease the higher limit
7795 because of stack.
7796 * util/grub-setup.c (setup): Don't add redundancy past the higher load
7797 limit.
7798
c476e6df
VS
77992011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
7802 text_width > available width a bit more gracefully.
7803
384ad7cc
VS
78042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
7807 current address calculation.
7808
96f8caf8
VS
78092011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
7812 stack.
7813 (encode_block): Likewise.
7814
276b7a8b
VS
78152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
7818 certainety.
7819
e3fd394a
VS
78202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
7823 non-RS part to avoid RS messing with GDT.
7824 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7825 Increase to suit in realmode routines.
7826
78272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7828
7829 * grub-core/kern/i386/realmode.S: Increase alignment.
7830 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
7831
ee9c2e7a
VS
78322011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7833
7834 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
7835 be deterministic.
7836 (syndroms): Compute 0 syndrom.
7837 (rs_recover): Use 0 syndrom.
7838
7a7f7cc9
VS
78392011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
7842
a14b16d1
VS
78432011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
7846 brackets.
7847
9f59e9fc
VS
78482011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7849
ca1b552c
VS
7850 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
7851 account.
7852 (get_top_pad): Likewise.
7853 (get_right_pad): Likewise.
7854 (get_bottom_pad): Likewise.
7855
78562011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7857
7858 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 7859
e739d698
VS
78602011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7861
7862 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7863 attribute as the structure isn't guaranteed to be properly aligned.
7864 (grub_efi_pci_device_path): Likewise.
7865 (grub_efi_pccard_device_path): Likewise.
7866 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7867 specify the size of `memory_type'.
7868 (grub_efi_vendor_device_path): Likewise.
7869 (grub_efi_controller_device_path): Likewise.
7870 (grub_efi_acpi_device_path): Likewise.
7871 (grub_efi_expanded_acpi_device_path): Likewise.
7872 (grub_efi_atapi_device_path): Likewise.
7873 (grub_efi_scsi_device_path): Likewise.
7874 (grub_efi_fibre_channel_device_path): Likewise.
7875 (grub_efi_1394_device_path): Likewise.
7876 (grub_efi_usb_device_path): Likewise.
7877 (grub_efi_usb_class_device_path): Likewise.
7878 (grub_efi_i2o_device_path): Likewise.
7879 (grub_efi_mac_address_device_path): Likewise.
7880 (grub_efi_ipv4_device_path): Likewise.
7881 (grub_efi_ipv6_device_path): Likewise.
7882 (grub_efi_infiniband_device_path): Likewise.
7883 (grub_efi_uart_device_path): Likewise.
7884 (grub_efi_vendor_messaging_device_path): Likewise.
7885 (grub_efi_hard_drive_device_path): Likewise.
7886 (grub_efi_cdrom_device_path): Likewise.
7887 (grub_efi_vendor_media_device_path): Likewise.
7888 (grub_efi_file_path_device_path): Likewise.
7889 (grub_efi_protocol_device_path): Likewise.
7890 (grub_efi_piwg_device_path): Likewise.
7891 (grub_efi_bios_device_path): Likewise.
7892
cb8f88ea
VS
78932011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7896 (grub_ucs4_to_utf8_alloc): Likewise.
7897 (grub_ucs4_to_utf8): Likewise.
7898 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7899 (grub_ucs4_to_utf8_alloc): Likewise.
7900
309e5352
VS
79012011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7902
7903 AFFS never uses unicode.
7904
7905 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7906 (grub_latin1_to_utf8): New inline function.
7907 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7908
e7987e1b
VS
79092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7912 overflow.
7913
efc2616e
VS
79142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7917 (grub_squash_dirent_header): Likewise.
7918 (read_chunk): Don't double swap.
7919 (grub_squash_iterate_dir): Fix swap sizes.
7920
3c349f5a
VS
79212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7922
7923 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7924
b453412d
VS
79252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7928 (grub_hfs_iterate_dir): Likewise.
7929
12e9d4d1
VS
79302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 Fix video on platforms where unaligned access is forbidden.
7933 Make several optimisations while on it.
7934
7935 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7936 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7937 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7938 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7939 Disable.
7940 (grub_video_fbblit_replace_16bit_1bit):
7941 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7942 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7943 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7944 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7945 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7946 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7947 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7948 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7949 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7950 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7951 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7952 (grub_video_fbblit_replace_index_RGB888): Likewise.
7953 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7954 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7955 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7956 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7957 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7958 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7959 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7960 Disable.
7961 (grub_video_fbblit_blend_XXX565_1bit):
7962 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7963 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7964 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7965 void *.
7966 * grub-core/video/fb/video_fb.c (common_blitter)
7967 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7968 (grub_video_fb_create_render_target_from_pointer)
7969 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7970 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7971 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7972 definition.
7973 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7974
ace96609
VS
79752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7976
7977 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7978 HH22 and HM10 relocations.
7979
fd261d73
VS
79802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7981
7982 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7983
e59b7857
VS
79842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7987 allocation succeeded.
7988
9b4baaa4
VS
79892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7990
7991 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7992 argument a u8 pointer. All users updated.
7993 Handle unaligned buffers.
7994
dc713193
VS
79952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7998 add_part to workaround compiler bug.
7999
30dd48c2
VS
80002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
8003
0c6087a8
VS
80042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8005
8006 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
8007 Reserve alignment invariants.
8008 (grub_multiboot_load): Likewise.
8009 (retrieve_video_parameters): Likewise.
8010 (grub_multiboot_make_mbi): Likewise.
8011
c2e77777
VS
80122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
8015 incorrect pointer.
8016
b70b6d11
VS
80172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8018
8019 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
8020 (grub_pata_pio_write): Likewise.
8021
02a2bf83
VS
80222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 Add noreturn attributes and remove unreachable code.
8025
8026 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
8027 code.
8028 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
8029 code. Mark as noreturn.
8030 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
8031 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
8032 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
8033 unreachable code.
8034 * grub-core/kern/main.c (grub_main): Mark as noreturn.
8035 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
8036 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
8037 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
8038 * include/grub/kernel.h (grub_main): Mark as noreturn.
8039 * include/grub/reader.h (grub_rescue_run): Likewise.
8040
2019d09e
VS
80412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
8044 redundant declaration.
8045
d1c501ee
VS
80462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 * include/grub/net.h (grub_net_network_level_interfaces): Remove
8049 redundant declaration.
8050 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
8051
61664420
VS
80522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8053
8054 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
8055 to ensure alignment.
8056 (grub_hdparm_print_identify): Make argument uint16 * to ensure
8057 alignment. Ensure tmp alignment.
8058 (grub_cmd_hdparm): Ensure buf alignment.
8059 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
8060 to ensure alignment.
8061 (grub_ata_dumpinfo): Ensure text alignment.
8062 (grub_atapi_identify): Preserve alignment invariant.
8063 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
8064
0d51ee20
VS
80652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8066
8067 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
8068 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
8069 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
8070 * include/grub/misc.h (grub_reboot)
8071 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
8072 (grub_halt) [__mips__]: Likewise.
8073
753ef8c1
VS
80742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8075
8076 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
8077 Remove redundant declaration.
8078 (grub_mmap_get_post64): Likewise.
8079 (grub_mmap_get_upper): Likewise.
8080 (grub_mmap_get_lower): Likewise.
8081
85c85365
VS
80822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
8085 uint32_t * to ensure alignment.
8086 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
8087
a23f2cc4
VS
80882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8089
93018f64
VS
8090 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
8091 uint16_t * to ensure alignment.
8092 (sun_pc_partition_map_iterate): Make `block' a union to ensure
8093 alignment.
8094
80952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8096
8097 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
8098 to ensure alignment.
8099 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
8100
58acccd6
VS
81012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 * grub-core/fs/ntfs.c (u16at): Make into inline function.
8104 Handle unaligned pointers.
8105 (u32at): Likewise.
8106 (u64at): Likewise.
8107 (fixup): Use byte access instead of v16at.
8108 (find_attr): Fix imporper usage of v32at.
8109 (read_data): Likewise.
8110 (list_file): Handle byte-swapping and unaligned strings.
8111 (grub_ntfs_label): Likewise.
8112
9b05cad7
VS
81132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8114
8115 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
8116 as it's not necessarily aligned.
8117
b3950b84
VS
81182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
8121 redundant declaration.
8122 (grub_serial_init): Likewise.
8123 (grub_terminfo_init): Likewise.
8124
fcd232b7
VS
81252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8126
8127 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
8128 function.
8129 (ZAP_HASH_IDX): Likewise.
8130 (ZAP_LEAF_HASH_SHIFT): Likewise.
8131 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
8132 (LEAF_HASH): Likewise.
8133 (ZAP_LEAF_NUMCHUNKS): Likewise.
8134 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
8135 alignment invariants. Return pointer. All users updated.
8136 (ZAP_LEAF_ENTRY): Make into inline function.
8137 (NBBY): Removed.
8138 (xor): LIkewise.
8139 (xor_out): Use grub_crypto_xor.
8140 (dnode_get_path): Use grub_get_unaligned.
8141 (nvlist_find_value): Likewise.
8142 (grub_zfs_nvlist_lookup_uint64): Likewise.
8143 (grub_zfs_nvlist_lookup_string): Likewise.
8144 (get_nvlist_size): Likewise.
8145 (grub_zfs_open): Likewise.
8146 (fill_fs_info): Likewise.
8147 (grub_zfs_dir): Likewise.
8148 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
8149 alignment invariants.
8150 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
8151 necessarily aligned.
8152
f138623a
VS
81532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
8156
564840dc
VS
81572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8158
8159 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
8160 arithmetic to conserve alignment invariants.
8161
9b40df20
VS
81622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
8165 redundant declaration.
8166 (grub_efiemu_mm_obtain_request): Likewise.
8167 (grub_efiemu_prepare): Likewise.
8168
d1c930f9
VS
81692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8170
8171 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
8172 to match types.
8173
4c5f3056
VS
81742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8175
8176 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
8177 case of aunaligned recptr.
8178 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
8179 alignment.
8180 (grub_hfsplus_btree_search): Handle unaligned index.
8181
728cba91
VS
81822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8183
8184 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
8185 to get freetag and skip.
8186
eb561f31
VS
81872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
8190 array.
8191 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
8192 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
8193
20993fbb
VS
81942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
8197 name for checksum and fix allocation algorithm.
8198
1f313b94
VS
81992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 * include/grub/types.h (grub_properly_aligned_t): New type.
8202 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
8203 (grub_get_unaligned16): Add explicit casts.
8204 (grub_get_unaligned32): Likewise.
8205 (grub_get_unaligned64): Likewise.
8206 (grub_set_unaligned16): New function.
8207 (grub_set_unaligned32): Likewise.
8208
47ae27ec
VS
82092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8212
78c2cd1c
VS
82132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
8216 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
8217 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
8218
53072f9b
VS
82192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8220
8221 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
8222 conditionals.
8223
055dc239
VS
82242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8225
8226 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
8227 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
8228
496bd074
VS
82292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8230
8231 Unify and improve RAID and crypto xor.
8232
8233 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
8234 changed to grub_crypto_xor
8235 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
8236 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
8237 Use bigger types when possible.
8238
ef6e4335
VS
82392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8240
8241 * grub-core/disk/raid.c (scan_devices): Fix condition.
8242
5d048bf2
VS
82432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
8246 Make name a const ptr.
8247
ee533335
VS
82482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
8251 first argument a const pointer.
8252 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
8253 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
8254 proto.
8255 (grub_children_iterate): Likewise.
8256 (grub_machine_mmap_iterate): Remove redundant declaration.
8257
cc8f3668
VS
82582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8259
8260 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
8261 (grub_cmd_acpi) [!x86]: Disable EBDA.
8262
c5fc563a
VS
82632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8264
8265 Enable UTF8 in gnulib regexp.
8266
8267 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
8268 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
8269 (isupper): Use grub_isupper.
8270 (isascii): New inline function.
8271 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
8272 * grub-core/lib/posix_wrap/wctype.h: Likewise.
8273 * grub-core/normal/charset.c (grub_utf8_process): New function.
8274 (grub_utf8_to_utf16): Use grub_utf8_process.
8275 (grub_encode_utf8_character): New function.
8276 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
8277 * include/grub/charset.h (grub_utf8_process): New declaration.
8278 (grub_encode_utf8_character): Likewise.
8279 * include/grub/misc.h (grub_islower): New inline function.
8280 (grub_isupper): Likewise.
8281 (grub_strchrsub): Moved down to fix the definitions.
8282
0af2346f
VS
82832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
8286 specification.
8287
74dbd244
VS
82882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8289
8290 * include/grub/loader.h (grub_loader_register_preboot_hook):
8291 Use struct preboot * and not void * for handle. All users updated.
8292 (grub_loader_unregister_preboot_hook): Likewise.
8293
1bc8f60d
VS
82942011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
8297 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
8298 UTF-16-BE. All users updated.
8299 (grub_hfsplus_cmp_catkey): Fix unicode handling.
8300 (grub_hfsplus_iterate_dir): Likewise.
8301 (grub_hfsplus_label): Likewise.
8302
48d6e456
VS
83032011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
8306
bf3a3857
VS
83072011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
8308
8309 Add missing const qualifiers.
8310
8311 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
8312 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
8313 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
8314 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
8315 (grub_lvm_check_flag): Likewise.
8316 * grub-core/efiemu/i386/coredetect.c
8317 (grub_efiemu_get_default_core_name): Likewise
8318 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8319 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
8320 * grub-core/fs/ntfs.c (fixup): Likewise.
8321 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
8322 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
8323 (fzap_lookup): Likewise.
8324 (zap_lookup): Likewise.
8325 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
8326 * grub-core/lib/legacy_parse.c (check_option): Likewise.
8327 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
8328 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
8329 (grub_freebsd_add_meta_module): Likewise.
8330 (grub_cmd_freebsd_module): Likewise.
8331 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
8332 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
8333 (grub_xnu_writetree_get_size): Likewise.
8334 (grub_xnu_writetree_toheap_real): Likewise.
8335 (grub_xnu_find_key): Likewise.
8336 (grub_xnu_create_key): Likewise.
8337 (grub_xnu_create_value): Likewise.
8338 (grub_xnu_register_memory): Likewise.
8339 (grub_xnu_check_os_bundle_required): Likewise.
8340 (grub_xnu_scan_dir_for_kexts): Likewise.
8341 (grub_xnu_load_kext_from_dir): Likewise.
8342 * grub-core/normal/color.c (color_list): Likewise.
8343 * grub-core/normal/completion.c (current_word): Likewise.
8344 * grub-core/normal/menu_entry.c (insert_string): Likewise.
8345 * grub-core/term/serial.c (grub_serial_find): Likewise.
8346 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
8347 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
8348 Likewise.
8349 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
8350 (grub_freebsd_add_meta_module): Likewise.
8351 * include/grub/lib/arg.h (grub_arg_option): Likewise.
8352 * include/grub/net.h (grub_net_card_driver): Likewise.
8353 (grub_net_card): Likewise.
8354 (grub_net_app_protocol): Likewise.
8355 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
8356 * include/grub/serial.h (grub_serial_find): Likewise.
8357 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
8358 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
8359 (grub_xnu_create_value): Likewise.
8360 (grub_xnu_find_key): Likewise.
8361 (grub_xnu_scan_dir_for_kexts): Likewise.
8362 (grub_xnu_load_kext_from_dir): Likewise.
8363
8364 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
8365 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
8366 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
8367 Moved from here ...
8368 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
8369
112b4837
CW
83702011-11-28 Colin Watson <cjwatson@ubuntu.com>
8371
8372 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
8373
49e891ac
VS
83742011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
8375
8376 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
8377 (read_device): Fix size calculation.
8378
fd258e5c
RM
83792011-11-25 Robert Millan <rmh@gnu.org>
8380
8381 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
8382 (find_root_device_from_libzfs): Add zpool output parser to be used
8383 as fallback when libzfs isn't available.
8384
78845dc2
SG
83852011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
8386
8387 * po/Makefile.in.in: Add missing escape-continuation.
8388
adac5211
VS
83892011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
8392
10b64f1c
VS
83932011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
8396
bb416954
VS
83972011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
8400
bdfe9eeb
VS
84012011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
8404
581ffa8a
VS
84052011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8406
8407 * grub-core/lib/adler32.c: Add missing license specification.
8408 * grub-core/lib/crc64.c: Likewise.
8409 * grub-core/loader/i386/pc/plan9.c: Likewise.
8410 * grub-core/partmap/plan.c: Likewise.
8411
2536cf64
LK
84122011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
8413
8414 Add facility to debug GRUB with gdb under qemu.
8415
8416 * grub-core/gdb_grub.in: New file.
8417 * grub-core/gmodule.pl.in: Likewise.
8418 * grub-core/Makefile.core.def (gmodule.pl): New script.
8419 (gdb_grub): Likewise.
8420
bc108a4a
VS
84212011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8422
8423 * util/grub-mount.c (argp_parser): Accept relative pathes.
8424 * util/grub-fstest.c (argp_parser): Likewise.
8425
111c1778
VS
84262011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 Plan9 support.
8429
8430 * Makefile.util.def (libgrubmods): Add
8431 grub-core/partmap/plan.c.
8432 * docs/grub.texi: Notice Plan9 support.
8433 * grub-core/Makefile.core.def (plan9): New module.
8434 (part_plan): Likewise.
8435 * grub-core/loader/i386/pc/plan9.c: New file.
8436 * grub-core/partmap/plan.c: Likewise.
8437 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
8438 define.
8439 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
8440 * include/grub/mm.h (grub_extend_alloc): New inline function.
8441
c30be3b6
VS
84422011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8443
8444 Make Reed-Solomon faster by using power of generator representation of
8445 GF(256)*.
8446
8447 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
8448 (gf_double_t): Likewise.
8449 (gf_invert): Removed.
8450 (gf_powx): New array.
8451 (gf_powx_inv): Likewise.
8452 (scratch): Move higher.
8453 (gf_reduce): Removed.
8454 (gf_mul): Use powx.
8455 (gf_invert): Likewise.
8456 (init_inverts): Replaced with ...
8457 (init_powx): ...this. All users updated.
8458 (pol_evaluate): Replace multiplications with additions.
8459 (rs_encode): Likewise.
8460 (gauss_eliminate): Call gf_invert.
8461 (grub_reed_solomon_add_redundancy): Call init_powx.
8462 (grub_reed_solomon_recover): Call init_powx unconditionally.
8463
fa5aeffc
VS
84642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8465
8466 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
8467
a346b81c
VS
84682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
8471 disk->partiton for safety.
8472
d89ee414
VS
84732011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8474
8475 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8476 Fix a memory leak.
8477 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
8478
91ee7b6d
VS
84792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
8482
91e5a33d
VS
84832011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8484
8485 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
8486
9edd7be2
VS
84872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 Fix spaces handling in proc/self/mountinfo.
8490
8491 * util/getroot.c (unescape): New function.
8492 (grub_find_root_device_from_mountinfo): Use unescape.
8493
ba102053
VS
84942011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 Support ZFS embedding.
8497
8498 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
8499 (grub_zfs_fs): Register grub_zfs_embed.
8500
aa94b870
VS
85012011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8502
8503 Fix MIPS compilation.
8504
8505 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
8506 * include/grub/offsets.h: Rename decompressor fields from
8507 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
8508 * util/grub-mkimage.c (image_targets): Use new names.
8509
5fbdac14
VS
85102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 Defer multiboot device parsing until we're in compressed part.
8513
8514 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
8515 bsd_part. setdevice has fallen into disuse.
8516 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
8517 (bsd_part): Likewise.
8518 (boot_dev): New variable.
8519 (multiboot_trampoline): Don't parse multiboot device.
8520 Pass multiboot device in %edx.
8521 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
8522 grub_boot_device.
8523 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
8524 Likewise.
8525 * grub-core/kern/i386/pc/startup.S: Save edx.
8526 (grub_boot_drive): Removed.
8527 (grub_install_dos_part): Likewise.
8528 (grub_install_bsd_part): Likewise.
8529 (grub_boot_device): New variable.
8530 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
8531 (grub_install_bsd_part): Likewise.
8532 (grub_boot_drive): Likewise.
8533 (grub_boot_device): New variable.
8534 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
8535 Removed.
8536 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8537 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
8538 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
8539 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
8540 * util/grub-install.in: Remove redundant condition.
8541
691cbb58
VS
85422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 Fix bug introduced by previous commit.
8545
8546 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
8547
60240b8b
VS
85482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 Use decompressors framework on i386-pc. It increases core size
8551 by 46 bytes but improves compatibility and maintainability.
8552
8553 * grub-core/Makefile.core.def (lzma_decompress): New image.
8554 (kernel): Add i386_pc_ldflags.
8555 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
8556 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
8557 to real_to_prot, prot_to_real and device info.
8558 * include/grub/offsets.h: Renamed decompressor offsets.
8559 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
8560 (image_target_desc): Remove raw_size and rename decompressor fields.
8561 (compress_kernel): Handle lzma.
8562 (generate_image): Handle decompressors on i386-pc.
8563
e9d3421c
VS
85642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 * configure.ac: Add -fno-asynchronous-unwind-tables.
8567
2b23074a
VS
85682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 Move assembly code to C by using intwrap. It increases core size
8571 by 88 bytes but improves compatibility and maintainability.
8572
8573 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
8574 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
8575 ... here. Translated to C.
8576 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
8577 * grub-core/term/i386/pc/console.c (grub_console_getkey):
8578 ... here. Translated to C.
8579 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
8580 * grub-core/term/i386/pc/console.c (grub_console_getxy):
8581 ... here. Translated to C.
8582 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
8583 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
8584 ... here. Translated to C.
8585 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
8586 * grub-core/term/i386/pc/console.c (grub_console_cls):
8587 ... here. Translated to C.
8588 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
8589 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
8590 ... here. Translated to C.
8591 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
8592 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
8593 Translated to C.
8594 * grub-core/term/i386/pc/console.c (int10_9): New function.
8595 (grub_console_putchar): Likewise.
8596 * include/grub/i386/pc/console.h: Removed the not anymore shared
8597 functions.
8598
678f4b67
VS
85992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 Move grub_chainloader_real_boot out of the kernel.
8602
8603 * grub-core/Makefile.am: Remove machine/loader.h.
8604 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8605 Removed.
8606 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
8607 variable.
8608 (grub_relocator16_keep_a20_enabled): Likewise.
8609 (grub_relocator16_boot): Fill new variables.
8610 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
8611 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
8612 relocator.
8613 (grub_chainloader_unload): Likewise.
8614 (grub_chainloader_cmd): Likewise.
8615 * include/grub/i386/pc/loader.h: Removed.
8616 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
8617 and esi. All initialisers updated.
8618
4626edf6
VS
86192011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
86202011-11-12 Colin Watson <cjwatson@ubuntu.com>
8621
8622 * Makefile.util.def (grub-mount): New util.
8623 * .bzrignore: Add grub-mount.
8624 * configure.ac: Check for fuse and enable grub-mount if available.
8625 * docs/man/grub-mount.h2m: New file.
8626 * util/grub-mount.c: Likewise.
8627
10f0117b
VS
86282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * grub-core/commands/efi/fixvideo.c: Gettextize.
8631 * grub-core/commands/hashsum.c: Likewise.
8632 * grub-core/commands/i386/cmostest.c: Likewise.
8633 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8634 * grub-core/commands/i386/pc/lsapm.c: Likewise.
8635 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8636 * grub-core/commands/lsmmap.c: Likewise.
8637 * grub-core/commands/menuentry.c: Likewise.
8638 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8639 * grub-core/commands/setpci.c: Likewise.
8640 * grub-core/loader/i386/bsd.c: Likewise.
8641 * grub-core/loader/i386/linux.c: Likewise.
8642 * util/getroot.c: Likewise.
8643 * util/grub-editenv.c: Likewise.
8644 * util/grub-fstest.c: Likewise.
8645 * util/grub-mkfont.c: Likewise.
8646 * util/grub-mkimage.c: Likewise.
8647 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8648 * util/grub-pe2elf.c: Likewise.
8649 * util/grub-probe.c: Likewise.
8650 * util/grub-setup.c: Likewise.
8651 * util/ieee1275/ofpath.c: Likewise.
8652 * util/misc.c: Likewise.
8653 * util/raid.c: Likewise.
8654
566f779b
RM
86552011-11-11 Robert Millan <rmh@gnu.org>
8656
8657 * util/getroot.c (grub_util_get_geom_abstraction): Remove
8658 __attribute__((unused)) from `os_dev', which *is* being used.
8659
b50787de
VS
86602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8661
8662 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
8663 forgotten define.
8664 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
8665 GRUB_IA64_DL_GOT_ALIGN.
8666 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
8667 GRUB_IA64_DL_TRAMP_ALIGN.
8668
119d11c8
VS
86692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8670
8671 Replace grub_fatal with normal errors in i386 linux loader.
8672
8673 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
8674 (allocate_pages): Check find_efi_mmap_size return value.
8675 (grub_e820_add_region): Return error.
8676 (grub_linux_boot): Check mmap return value.
8677
6e0632e2
VS
86782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8679
8680 * grub-core/commands/acpihalt.c: Gettextized.
8681 * grub-core/commands/cacheinfo.c: Likewise.
8682 * grub-core/commands/cmp.c: Likewise.
8683 * grub-core/commands/efi/loadbios.c: Likewise.
8684 * grub-core/commands/gptsync.c: Likewise.
8685 * grub-core/commands/ieee1275/suspend.c: Likewise.
8686 * grub-core/commands/legacycfg.c: Likewise.
8687 * grub-core/commands/memrw.c: Likewise.
8688 * grub-core/commands/minicmd.c: Likewise.
8689 * grub-core/commands/parttool.c: Likewise.
8690 * grub-core/commands/time.c: Likewise.
8691 * grub-core/commands/videoinfo.c: Likewise.
8692 * grub-core/disk/geli.c: Likewise.
8693 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
8694 * grub-core/disk/luks.c: Likewise.
8695 * grub-core/disk/lvm.c: Likewise.
8696 * grub-core/font/font_cmd.c: Likewise.
8697 * grub-core/fs/zfs/zfscrypt.c: Likewise.
8698 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8699 * grub-core/gfxmenu/view.c: Likewise.
8700 * grub-core/kern/emu/hostdisk.c: Likewise.
8701 * grub-core/kern/emu/main.c: Likewise.
8702 * grub-core/kern/emu/misc.c: Likewise.
8703 * grub-core/kern/emu/mm.c: Likewise.
8704 * grub-core/kern/mips/arc/init.c: Likewise.
8705 * grub-core/kern/mips/loongson/init.c: Likewise.
8706 * grub-core/kern/partition.c: Likewise.
8707 * grub-core/lib/i386/halt.c: Likewise.
8708 * grub-core/lib/mips/arc/reboot.c: Likewise.
8709 * grub-core/lib/mips/loongson/reboot.c: Likewise.
8710 * grub-core/loader/i386/pc/chainloader.c: Likewise.
8711 * grub-core/loader/i386/xnu.c: Likewise.
8712 * grub-core/loader/multiboot.c: Likewise.
8713 * grub-core/net/bootp.c: Likewise.
8714 * grub-core/net/net.c: Likewise.
8715 * grub-core/normal/term.c: Likewise.
8716 * grub-core/partmap/bsdlabel.c: Likewise.
8717 * grub-core/parttool/msdospart.c: Likewise.
8718 * grub-core/term/gfxterm.c: Likewise.
8719 * grub-core/term/terminfo.c: Likewise.
8720 * grub-core/video/i386/pc/vbe.c: Likewise.
8721 * util/grub-menulst2cfg.c: Likewise.
8722 * util/grub-mkdevicemap.c: Likewise.
8723 * util/grub-mklayout.c: Likewise.
8724 * util/grub-mkrelpath.c: Likewise.
8725 * util/grub-script-check.c: Likewise.
8726 * util/ieee1275/grub-ofpathname.c: Likewise.
8727 * util/resolve.c: Likewise.
8728
073aa7a9
VS
87292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 Support %1$d syntax.
8732
8733 * tests/printf_unit_test.c: New file.
8734 * Makefile.util.def (printf_test): New test.
8735 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
8736
c76b5417
VS
87372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
8740 fix.
8741
df067ad1
VS
87422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8743
8744 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
8745 dprintf.
8746 * grub-core/font/font.c (grub_font_load): Likewise.
8747
5b289bc5
VS
87482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 * util/grub-macho2img.c: Add comment concerning gettext.
8751 * grub-core/lib/legacy_parse.c: Likewise.
8752
c1860f87
VS
87532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8754
8755 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
8756 (grub_xvasprintf): Likewise.
8757
d35d0d37
VS
87582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 Add const keyword to grub_env_get and gettextize week days.
8761
8762 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
8763 (grub_read_hook_datetime): Return const char *.
8764 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
8765 updated.
8766 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8767 Mark for gettext.
8768 (grub_get_weekday_name): Return const char *. Call gettext.
8769 * grub-core/script/argv.c (grub_script_argv_append): Receive const
8770 char * and len as the argument. All users updated.
8771 (grub_script_argv_split_append): Receive const char *.
8772 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
8773 * include/grub/env.h (grub_env_get): Likewise.
8774 (grub_env_read_hook_t): Return const char *.
8775 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
8776 (grub_script_argv_split_append): Likewise.
8777
9aed8a71
VS
87782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
8781
067fdf00
VS
87822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
8785 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
8786
a8bd9d39
VS
87872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
8790 Fix prototype.
8791
f7ce5baf
VS
87922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 Fix mips compilation.
8795
8796 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
8797 normal decoder.
8798 (hashes): Use in embed decoder as well (for sizes).
8799 (dec_stream_header): Fix embed decompressor logic.
8800 (dec_stream_footer): Likewise.
8801
9bb182f3
VS
88022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
8805 an error and not a fatal on unrecognised relocation types.
8806
63a9e6f6
VS
88072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8810 Issue error rather than printf on unknown arguments.
8811
4c458569
VS
88122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
8815 Make buf a const.
8816
e2d22baf
VS
88172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
8820 Fix module name.
8821
53dc8590
VS
88222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8823
8824 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
8825 leftover debug printf.
8826
6c189294
VS
88272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
8830
f7688369
VS
88312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8832
8833 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
8834 A stylistic fix.
8835
11a775a3
VS
88362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
8839
33f784e8
SL
88402011-11-10 Shea Levy <slevy@tieronedesign.com>
8841
8842 Allow all modules to perform serial IO
8843
8844 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
8845 * include/grub/serial.h (grub_serial_port_configure): New inline
8846 function.
8847 (grub_serial_port_fetch): Likewise.
8848 (grub_serial_port_put): Likewise.
8849 (grub_serial_port_fini): Likewise.
8850 (grub_serial_find): New proto.
8851
f6276525
VS
88522011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 Put symlink at the end of the node and fix a potential
8855 memory corruption.
8856
8857 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8858 Make symlink into an array.
8859 (set_rockridge): Set have_symlink and alloc_dirents.
8860 (grub_iso9660_read_symlink): Use new layout.
8861 (grub_iso9660_iterate_dir): Fix memory corruption.
8862 Use new layout.
8863 (grub_iso9660_dir): Set have_symlink.
8864 (grub_iso9660_open): Likewise.
8865
c3591189
VS
88662011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 Remove local keyword.
8869
8870 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8871 (version_test_gt): Likewise.
8872 (version_find_latest): Likewise.
8873 (gettext_printf): Likewise.
8874 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8875
cb544caa
VS
88762011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8879
45bd824d
VS
88802011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8881
8882 Fix ZFS memory and resource leaks.
8883
8884 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8885 All users updated.
8886 Free type on exit.
8887 (fill_vdev_info): New parameter inserted. All users updated.
8888 (check_pool_label): Likewise.
8889 (scan_disk): Likewise.
8890 (scan_devices): Close non-inserted disks.
8891 (fzap_iterate): Free l.
8892 (unmount_device): Free children descripto memory.
8893
ad9a2f44
VS
88942011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8895
8896 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8897 argument (access out of bounds).
8898
6b68db81
VS
88992011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8902 >= 6 drives.
8903
28840fda
VS
89042011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8907 Fix declaration.
8908
8a5a3a5b
VS
89092011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8910
8911 Fix several memory leaks.
8912
8913 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8914 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8915 (grub_cpio_dir): Likewise.
8916 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8917 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8918 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8919 (grub_romfs_label): Likewise.
8920 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8921 (squash_unmount): New function.
8922 (grub_squash_dir): Fix memory leak.
8923 (grub_squash_open): Likewise.
8924 (grub_squash_read): Likewise.
8925 (grub_squash_mtime): Likewise.
8926 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8927 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8928 * util/grub-fstest.c (fstest): Likewise.
8929
57b01250
VS
89302011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8933 avoid accessing beyond the array.
8934
19e81ba7
VS
89352011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8938
52b656c0
VS
89392011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8940
8941 Several AFFS fixes.
8942
8943 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8944 (GRUB_AFFS_FLAG_FFS): Removed.
8945 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8946 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8947 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8948 (grub_fshelp_node): Make block 32-bit.
8949 Add block_cache and last_block_cache.
8950 (grub_affs_read_block): Fill and use block cache.
8951 (grub_affs_read_file): Removed.
8952 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8953 boot block.
8954 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8955 safety.
8956 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8957 space.
8958 (grub_affs_close): Free block cache.
8959 (grub_affs_read): Use grub_fshelp_read_file directly.
8960
438a746a
VS
89612011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8962
8963 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8964 with no error set.
8965
49a45021
VS
89662011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8969 used variable.
8970 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8971 Likewise.
8972
3ae17eb8
VS
89732011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8976
8977 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8978 byteswap when needed.
8979
27610c38
VS
89802011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8981
8982 Fix FreeBSD compilation.
8983
8984 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8985 to avoid circular dependency.
8986 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8987 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8988 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8989
4a19b601
VS
89902011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8991
8992 Fix ZFS crypto error types.
8993
8994 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8995 (grub_gcm_decrypt): Likewise.
8996 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8997 from PBKDF2.
8998
958ee221
VS
89992011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9000
9001 Illumos support.
9002
9003 * Makefile.util.def (10_illumos): New script.
9004 * configure.ac: Set COND_HOST_ILLUMOS.
9005 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
9006 Support Illumos calls.
9007 (find_partition_start) [__sun__]: Likewise.
9008 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
9009 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
9010 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
9011 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
9012 device.
9013 * util/grub-probe.c (probe) [__sun__]: Do character check.
9014 * util/grub.d/10_illumos.in: New file.
9015
cac14fb6
VS
90162011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 Support escaped commas in hostdisk.
9019
9020 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
9021 (find_grub_drive): Use unescape_cmp.
9022 (make_device_name): Escape commas.
9023
78e08dc3
VS
90242011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
9027
9f421dd1
VS
90282011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
9031 variable.
9032
ed64e9e2
VS
90332011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 Support trampoline jumps on powerpc.
9036
9037 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
9038 __ia64__ path.
9039 (grub_dl_load_segments): Set mod->sz.
9040 (grub_dl_flush_cache): Flush whole space occupied by module, not just
9041 segments.
9042 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
9043 (jump): Likewise.
9044 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
9045 function.
9046 (trampoline): New struct.
9047 (trampoline_template): New const.
9048 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
9049 * include/grub/dl.h (grub_dl): Add sz element.
9050 [__powerpc__]: Follow __ia64__.
9051 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
9052 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
9053 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
9054 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
9055
3084ede4
VS
90562011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9057
9058 ZFS crypto support.
9059
9060 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
9061 * grub-core/Makefile.core.def (zfscrypt): New module.
9062 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
9063 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
9064 it. All users updated.
9065 (grub_zfs_decrypt): New var.
9066 (grub_zfs_load_key): Likewise.
9067 (zio_checksum_functions): Add SHA256+MAC.
9068 (zio_checksum_verify): Handle incomplete comparison due to MAC.
9069 (zio_read): Handle encrypted blocks.
9070 (zap_verify): Remove incorrect check.
9071 (fzap_iterate): Handle non-standard fzap.
9072 (zap_iterate): Likewise.
9073 (zap_iterate_u64): New function.
9074 (dnode_get_fullpath): Load keys.
9075 * grub-core/fs/zfs/zfscrypt.c: New file.
9076 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
9077 (grub_crypto_ecb_encrypt): Make input const.
9078 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
9079 (grub_crypto_ecb_encrypt): Make input const.
9080 (GRUB_CIPHER_AES): New macro.
9081 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
9082 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
9083 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
9084 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
9085 prefix. All users updated.
9086 (grub_zfs_add_key): New proto.
9087 (grub_zfs_decrypt): Likewise.
9088 (grub_zfs_load_key): Likewise.
9089 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
9090 * util/grub-fstest.c (options): Add -K option.
9091 (argp_parser): Likewise.
9092
b632b404
VS
90932011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 Support zle compression on ZFS.
9096
9097 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
9098 (decomp_table): Add zle.
9099 * include/grub/zfs/zio.h (zio_compress): Add zle.
9100
c7ba4f69
VS
91012011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9102
9103 Support BtrFS embedding.
9104
9105 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
9106 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
9107 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
9108 * util/grub-setup.c (setup): Use fs embedding if available.
9109 Add additional sanity check.
9110
455377d9
VS
91112011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9112
9113 * util/grub-install.in: Fix condition for config_opt.
9114
c2fd16ca
VS
91152011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 Support third redundancy strip on raidz3.
9118
9119 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
9120 Return error on singularity. All users updated.
9121 (read_device): Don't stop on 3rd failure on raidz3.
9122
8622923b
VS
91232011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 Support case-insensitive ZFS subvolumes.
9126
9127 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
9128 All users updated.
9129 (zap_hash): Likewise.
9130 (name_cmp): New function.
9131 (zap_leaf_array_equal): New parameter case_insensitive.
9132 All users updated.
9133 (zap_leaf_lookup): Likewise.
9134 (fzap_lookup): Likewise.
9135 (zap_lookup): Likewise.
9136 (dnode_get_path): New parameter case_insensitive. Retrieve case
9137 sensitiviness of a volume. All users updated.
9138 (dnode_get_fullpath): New parameter case_insensitive.
9139 All users updated.
9140 (grub_zfs_dir): Set info.case_insensitiveness.
9141
95f2e860
VS
91422011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 Support second redundancy strip on raidz(2,3).
9145
9146 * grub-core/fs/zfs/zfs.c (powx): New array.
9147 (powx_inv): Likewise.
9148 (poly): New const.
9149 (xor_out): New function.
9150 (gf_mul): Likewise.
9151 (recovery): Likewise.
9152 (read_device): Use second redundancy strip.
9153
11ee4389
VS
91542011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 Use a power of generator representation of GF(256) multiplication group
9157 to save space time and complexity.
9158
9159 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
9160 (raid6_table2): Likewise.
9161 (powx): New array.
9162 (powx_inv): Likewise.
9163 (poly): New const.
9164 (grub_raid_block_mul): Replace with ...
9165 (grub_raid_block_mulx): ...this.
9166 (grub_raid6_init_table): Rewritten.
9167 (grub_raid6_recover): Use power of generator representation.
9168
09e2763f
VS
91692011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
9172 for the right device.
9173
8bec9a28
VS
91742011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9175
9176 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
9177 expected by grub-mkimage and it's more clear since there is no implicit
9178 padding.
9179
dbd3a32e
VS
91802011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
9183 disk.
9184 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9185
182c872a
PMH
91862011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
9187
9188 * util/grub-mkrescue.in: Fix handling xorriso option.
9189
1e51cabd
VS
91902011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
9193 NULL.
9194
9cc3581d 91952011-11-03 crocket <crockabiscuit@gmail.com>
9196
9197 * util/grub.d/10_linux.in: Add Slackware initrd naming.
9198
158dc1ea
VS
91992011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 XZ CRC64 and SHA256 support.
9202
9203 * Makefile.util.def (libgrubmods): Add crc64.c.
9204 * grub-core/Makefile.core.def (crc64): New module.
9205 * grub-core/lib/crc64.c: New file.
9206 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
9207 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
9208 Fix the type.
9209 (MAX_HASH_SIZE): New define.
9210 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
9211 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
9212 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9213 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9214 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
9215 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
9216 Handle non-crc32 hashes.
9217 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
9218 (dec_stream_header): Handle non-crc32 hashes.
9219 (dec_stream_footer): Likewise.
9220 (dec_block_header): Likewise.
9221 (dec_main): Likewise.
9222 (xz_dec_init): Likewise.
9223 (xz_dec_reset): Likewise.
9224 (xz_dec_end): Likewise.
9225 * util/import_gcry.py: Add CRC64 line.
9226
9d9b3d2f
VS
92272011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
9230 as well.
9231
7d0ac931
VS
92322011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 Make reiserfs label retrieval similar to other *_label functions.
9235
9236 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
9237 (REISERFS_MAX_LABEL_LENGTH): Removed.
9238 (REISERFS_LABEL_OFFSET): Likewise.
9239 (grub_reiserfs_label): Rewritten.
9240
92412011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
9244 field.
9245
cf5ba824
VS
92462011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
9249
17744004
VS
92502011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9251
9252 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
9253 drive failure on both raidz and raidz2.
9254
aca5aefc
VS
92552011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 Fix RAIDZ(2) for >= 5 devices.
9258
9259 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
9260 asize argument. All users updated.
9261
ce8ca56e
VS
92622011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9263
9264 Fix RAIDZ(2).
9265
9266 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
9267 (fill_vdev_info_real): Set ashift.
9268 (read_device): Rewrite RAIDZ part based on reverse engineering.
9269
7c01e783
VS
92702011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9271
9272 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
9273 don't report potentially unavialiable fields in debug output.
9274 (find_path): Fix double-free and memory leak.
9275
ce109e84
VS
92762011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 Read label on UFS1.
9279
9280 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
9281 (grub_ufs_fs): Always set .label.
9282
87661123
VS
92832011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 Use shifts in UFS.
9286
9287 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
9288 (grub_ufs_data): New field log2_blksz.
9289 (grub_ufs_read_file): Use shifts.
9290 (grub_ufs_mount): Check block size and logarithm it.
9291
46bc1dc2
VS
92922011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9293
9294 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
9295 long symlinks.
9296
19ee2987
VS
92972011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 Handle symlinks and long names on tar and cpio.
9300
9301 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
9302 (ATTR_FILE): Likewise.
9303 (ATTR_DIR): Likewise.
9304 (ATTR_LNK): Likewise.
9305 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
9306 (grub_cpio_find_file): Fill mode, handle linkname field as well as
9307 L and K entries.
9308 (grub_cpio_mount): Zero-fill data.
9309 (handle_symlink): New function.
46bc1dc2
VS
9310 (grub_cpio_dir): Handle symlinks.
9311 (grub_cpio_open): Likewise.
9312 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 9313
c83a08d8
VS
93142011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 Fix iso9660 filename limitations and fix memory leaks.
9317
9318 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
9319 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
9320
45cdd3ea
VS
93212011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 Fix JFS file name length limitations.
9324
9325 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
9326 (grub_jfs_diropen): Fix maximum filename length.
9327 (grub_jfs_getent): Fix filename length.
9328 (grub_jfs_lookup_symlink): Fix size checks.
9329
94ef05c2
VS
93302011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9331
9332 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
9333 string.
9334
785ab8c7
VS
93352011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9336
eb0b6b45
VS
9337 Leverage BFS implementation to read AFS.
9338
9339 * Makefile.util.def (libgrubmods): Add afs.c.
9340 * grub-core/Makefile.core.def (afs): New module
9341 * grub-core/fs/afs.c: New file.
9342 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
9343
93442011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 9347
c4a1628f
VS
93482011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9349
9350 * grub-core/fs/bfs.c: Run indent.
9351
5825b379
VS
93522011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9353
9354 BFS implementation based on the specification.
9355
9356 * grub-core/fs/bfs.c: New file.
9357 * Makefile.util.def (libgrubmods): Add bfs.c.
9358 * grub-core/Makefile.core.def (bfs): New module.
9359
42b2a706
VS
93602011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9361
9362 * util/grub-fstest.c (cmd_cp): Clarify error message.
9363 (cmd_cmp): Likewise.
9364
61b99bfc
YB
93652011-10-30 Yves Blusseau <blusseau@zetam.org>
9366
9367 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
9368 and befs_be.
9369
faba3d16
VS
93702011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
9371
9372 Remove afs and befs because of copyright problem.
9373
9374 * grub-core/fs/afs.c: Removed.
9375 * grub-core/fs/afs_be.c: Removed.
9376 * grub-core/fs/befs.c: Removed.
9377 * grub-core/fs/befs_be.c: Removed.
9378 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
9379 * grub-core/Makefile.core.def (afs): Removed.
9380 (afs_be): Likewise.
9381 (befs): Likewise.
9382 (befs_be): Likewise.
9383
c39224b0
VS
93842011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 Prefer rockridge over Joliet.
9387
9388 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
9389 to ...
9390 (set_rockridge): ... here.
9391 (grub_iso9660_mount): Check rockridge on the primary label when
9392 discovering. Ignore Joliet if Rockridge is present.
9393
e551115a
VS
93942011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9395
9396 Use shifts in nilfs2.
9397
9398 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
9399 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
9400 (grub_nilfs2_palloc_entries_per_group): Replace with ...
9401 (grub_nilfs2_log_palloc_entries_per_group): ... this.
9402 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
9403 (grub_nilfs2_entries_per_block): Replaced with ...
9404 (grub_nilfs2_log_entries_per_block_log): ... this.
9405 (grub_nilfs2_blocks_per_group): Replaced with ...
9406 (grub_nilfs2_blocks_per_group_log): ... this.
9407 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
9408 (grub_nilfs2_blocks_per_desc_block_log): ... this.
9409 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
9410 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
9411 (grub_nilfs2_palloc_entry_offset): Replaced ...
9412 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
9413 (grub_nilfs2_dat_translate): Use shifts.
9414 (grub_nilfs2_read_inode): Likewise.
9415 (GRUB_MOD_INIT): Ensure that logs are correct.
9416
564dd58c
VS
94172011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9418
9419 Use shifts in minix filesystem.
9420
9421 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
9422 (GRUB_MINIX_ZONE2SECT): Likewise.
9423 (grub_minix_data): Replace block_size with log_block_size.
9424 (grub_minix_read_file): Use shifts.
9425 (grub_minix_mount): Check block size and take a logarithm.
9426
ed9ba06d
VS
94272011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9428
9429 Use shifts in squash4.
9430
9431 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
9432 (squash_mount): Check block size and take logarithm.
9433 (direct_read): Use shifts.
9434
ad03fe76
VS
94352011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 Correct befs block counting logic.
9438
9439 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
9440 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
9441 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
9442 (grub_afs_read_inode): Use block_shift.
9443 (RANGE_SHIFT): New definition.
9444 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
9445 unexpected conditions, use shifts and appropriate types.
9446 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
9447
6563f63d
VS
94482011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * grub-core/disk/raid.c (scan_devices): Check partition.
9451 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9452
5b1ae25f
VS
94532011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 Support BFS (befs) UUID.
9456
9457 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
9458 (grub_afs_small_data_element_header): New struct.
9459 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
9460 (grub_afs_read_attribute) [MODE_BFS]: New function.
9461 (grub_afs_iterate_dir): Allocate for complete inode.
9462 (grub_afs_mount): Likewise.
9463 (grub_afs_uuid) [MODE_BFS]: New function.
9464 (grub_afs_fs) [MODE_BFS]: Add .uuid.
9465
f8d82408
VS
94662011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
9469 (zfs_unmount): Fix memory leak.
9470
5773fb64
VS
94712011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 Support NTFS reparse points.
9474
9475 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
9476 (symlink_descriptor): New struct.
9477 (grub_ntfs_read_symlink): New function.
9478 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
9479 (grub_ntfs_open): Likewise.
9480
91c3fdde
VS
94812011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9482
9483 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
9484
3be82e10
VS
94852011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9486
9487 fstest xnu_uuid subcommand.
9488
9489 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
9490 grub-core/commands/xnu_uuid.c.
9491 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
9492 (fstest): Handle xnu_uuid.
9493 (options): Document xnu_uuid.
9494 (argp_parser): Parse xnu_uuid.
9495
8e32442e
VS
94962011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
9499 -l argument. Add newline at the end if printing.
9500 (GRUB_MOD_INIT): Document -l.
9501
52a05075
VS
95022011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
9505
1869edb5
VS
95062011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9507
9508 ZFS multi-device and version 33 support.
9509
9510 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
9511 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
9512 (grub_zfs_data): Add multidev-ice-related fields.
9513 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
9514 (dva_get_offset): Make dva const.
9515 (zfs_fetch_nvlist): New function.
9516 (fill_vdev_info_real): Likewise.
9517 (fill_vdev_info): Likewise.
9518 (check_pool_label): Likewise.
9519 (scan_disk): Likewise.
9520 (scan_devices): Likewise.
9521 (read_device): Likewise.
9522 (read_dva): Likewise.
9523 (zio_read_gang): Use read_dva.
9524 (zio_read_data): Likewise.
9525 (zap_leaf_lookup): Add missing endian conversion.
9526 (zap_verify): Add missing endian conversion. All users updated.
9527 (fzap_lookup): Likewise.
9528 (fzap_iterate): Likewise.
9529 (dnode_get_path): Handle SA bonus.
9530 (nvlist_find_value): Make input const. All users updated.
9531 (unmount_device): New function.
9532 (zfs_unmount): Use unmount_device.
9533 (zfs_mount): Use scan_disk.
9534 (zfs_mtime): New function.
9535 (grub_zfs_open): Handle system attributes.
9536 (fill_fs_info): Likewise.
9537 (grub_zfs_dir): Likewise.
9538 (grub_zfs_fs): Add mtime.
9539 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
9540 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
9541 (SA_MTIME_OFFSET): Likewise.
9542 (SA_SYMLINK_OFFSET): Likewise.
9543 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
9544 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
9545 (fstest): Support zfsinfo.
9546 (argp_parser): Likewise.
9547
186b4028
VS
95482011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
9551 error.
9552
95532011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
9554
9555 ZFS fixes.
9556
9557 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
9558 sharing the same block. Iterate over correct number of indices.
9559 (dnode_get_path): Handle symlinks correctly.
9560
c0584900
VS
95612011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
9564
67e2bd71
VS
95652011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 Read label on HFS+.
9568
9569 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
9570 (grub_hfsplus_btree_search): Fix types.
9571 (grub_hfsplus_label): Implement.
9572
e9cc6b7b
VS
95732011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9574
9575 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
9576
19832ddb
VS
95772011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
9580
66b40850
VS
95812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9582
9583 Fix symlink handling on iso9660.
9584
9585 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
9586 All users updated.
9587 (grub_iso9660_susp_iterate): Accept zero-size iterate.
9588 (grub_iso9660_read_symlink): Moved most of code ...
9589 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
9590
db821363
VS
95912011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9594 Use union to avoid breaking strict-aliasing rules.
9595
e1211949
VS
95962011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9597
9598 Support multi-extent iso files.
9599
9600 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
9601 Add node.
9602 (grub_fshelp_node): Revamp. All users updated.
9603 (FLAG_*): New enum.
9604 (read_node): New function.
9605 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
9606 All users updated.
9607 (grub_iso9660_mount): Don't attempt to read sua when there is none.
9608 (get_node_size): New function.
9609 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
9610 entries.
9611 Fix memory leak on . and ..
9612 (grub_iso9660_read): Use read_node.
9613 (grub_iso9660_close): Free node.
9614
d4888031
VS
96152011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 Fix tar 4G limit and handle paths containing dot.
9618
9619 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
9620 (canonicalize): New function.
9621 (grub_cpio_find_file): Use canonicalize. Store offs in
9622 grub_disk_addr_t.
9623 (grub_cpio_dir): Use grub_disk_addr_t.
9624 (grub_cpio_open): Likewise.
9625
9f12e664
VS
96262011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9627
9628 Fix handling of uncompressed blocks on squashfs and break 4G limit.
9629
9630 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
9631 unused flags.
9632 (grub_squash_inode): Add long_file and block_size.
9633 (grub_squash_cache_inode): New struct.
9634 (grub_squash_dirent): Make types into enum.
9635 (SQUASH_TYPE_LONG_REGULAR): New type.
9636 (grub_squash_frag_desc): Add field size.
9637 (SQUASH_BLOCK_FLAGS): New enum.
9638 (grub_squash_data): Use grub_squash_cache_inode.
9639 (grub_fshelp_node): Make ino_chunk 64-bit.
9640 (read_chunk): Minor argument change. All users updated.
9641 (squash_mount): Use correct le_to_cpu.
9642 (grub_squash_open): Handle LONG_REGULAR.
9643 (direct_read): New function.
9644 (grub_squash_read_data): Handle blocks correctly.
9645
9f326fba
VS
96462011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9647
9648 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
9649
f4d9b64b
VS
96502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9651
9652 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
9653
5bbd28b8
VS
96542011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 Fix 2G limit on ZFS.
9657
9658 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
9659 types.
9660 (uberblock_verify): Likewise.
9661 (dmu_read): Likewise.
9662 (grub_zfs_read): Likewise. Remove invalid cast.
9663
68c72069
VS
96642011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
9667 (grub_jfs_blkno): Fix incorrect shift.
9668 (grub_jfs_read_file): Use more appropriate types.
9669
6e536dc8
VS
96702011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9671
9672 Support triple indirect on minix2 and minix3.
9673
9674 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
9675 Declare triple_indir_zone.
9676 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
9677 indirect.
9678
e0864e7a
VS
96792011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 Minix FS fixes.
9682
9683 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
9684 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
9685 Rename ctime to mtime. All users updated.
9686 (grub_minix_get_file_block): Fix types and double indirect computations.
9687
89481cab
VS
96882011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
9691 if no label is found.
9692 (grub_fat_iterate_dir): Fix file size type.
9693 (grub_fat_iterate_dir): Likewise.
9694
f646e143
VS
96952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9696
9697 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
9698 save some space.
9699 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9700 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9701
534d769e
VS
97022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9703
9704 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
9705
e084ba18
VS
97062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9707
9708 * util/import_gcry.py: Accept space between # and include.
9709
3471ecdf
VS
97102011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9711
9712 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
9713
124df5f6
VS
97142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9715
9716 Fine grainely disable warnings on lexer. Remove Wno-error on it.
9717
9718 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
9719 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
9720 yylex_strncpy.
9721 * grub-core/script/yylex.l: Add fine-grained #pragma.
9722
4defb8d5
VS
97232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9724
9725 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
9726 New inline function.
9727 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
9728 Likewise.
9729 (memset) [GRUB_UTIL]: Likewise.
9730 (memcmp) [GRUB_UTIL]: Likewise.
9731
4e94ae65
VS
97322011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
9735 inline function rather than a define.
9736
18c575e5
VS
97372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9738
9739 * util/grub-setup.c: Add missing include.
9740
f8bc22a8
VS
97412011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 * util/ieee1275/grub-ofpathname.c: Add missing include.
9744
3ce69fc9
VS
97452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
9748 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
9749 Likewise.
9750
d1e293bb
VS
97512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
9754 grub_memcmp usage.
9755
7a5c54a4
VS
97562011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9757
9758 * util/grub-install.in: Add datarootdir as per automake manual
9759 suggestion.
9760 * util/grub-mknetdir.in: Likewise.
9761
97622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
9763
9764 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
9765 suggestion.
9766 * util/grub.d/10_kfreebsd.in: Likewise.
9767 * util/grub.d/10_linux.in: Likewise.
9768 * util/grub.d/10_netbsd.in: Likewise.
9769 * util/grub.d/10_windows.in: Likewise.
9770 * util/grub.d/20_linux_xen.in: Likewise.
9771
766f7d08
VS
97722011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
9773
9774 Remove redundant grub_kernel_image_size.
9775
9776 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
9777 _edata and _start.
9778 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
9779 the small code. It moves it only by few bytes but simplifies the code.
9780 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
9781 _start.
9782 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
9783 (grub_kernel_image_size): Removed.
9784 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
9785 (grub_kernel_image_size): Removed.
9786 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
9787 compiled with Apple toolchain.
9788 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
9789 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
9790 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
9791 (grub_total_module_size): Likewise.
9792 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
9793 Removed.
9794 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
9795 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
9796 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9797 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
9798 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
9799 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
9800 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
9801 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
9802 Removed.
9803 (grub_total_module_size): Removed.
9804 * util/grub-mkimage.c (image_target_desc): Remove image_size.
9805 (image_targets): Likewise.
9806 Set .compressed_size to no field on sparc.
9807 (generate_image): Remove kernel_image_size handling.
9808
fcf1d672
SJ
98092011-10-19 Szymon Janc <szymon@janc.net.pl>
9810
9811 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
9812 NULL pointer dereference.
9813
de9c615e
VS
98142011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9815
9816 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
9817 done with a dedicated section.
9818
9819 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
9820 Ensure the correct position of boot_path.
9821 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9822 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
9823 other fields.
9824 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
9825 * include/grub/boot.h: Removed. All references removed.
9826 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9827 Removed.
9828 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
9829
e55599dc
VS
98302011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9831
9832 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
9833 name.
9834
36dd20ad
VS
98352011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
9838
f8f72eb8
VS
98392011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9840
9841 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9842 Don't add the bogus brackets.
9843
a374751b
VS
98442011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9845
9846 ExFAT support.
9847
9848 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
9849 * grub-core/Makefile.core.def (exfat): New module.
9850 * grub-core/fs/exfat.c: New file.
9851 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9852 (GRUB_FAT_ATTR_*): Make into an enum.
9853 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
9854 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
9855 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
9856 (GRUB_FAT_MAXFILE): Removed.
9857 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9858 (grub_current_fat_bpb_t): New type.
9859 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9860 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9861 (grub_fat_dir_node_t): New type.
9862 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9863 (fat_log2) [MODE_EXFAT]: Removed.
9864 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9865 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9866 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9867 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9868 (grub_fat_label) [MODE_EXFAT]: New function.
9869 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9870 reserved_first_sector to 0.
9871
544c2487
VS
98722011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9873
9874 Move grub_reboot out of the kernel.
9875
9876 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9877 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9878 * grub-core/lib/efi/reboot.c: ... here.
9879 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9880 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9881 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9882 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9883 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9884 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9885 * grub-core/lib/ieee1275/reboot.c: ... here.
9886 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9887 * grub-core/lib/mips/arc/reboot.c: ... here.
9888 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9889 * grub-core/lib/mips/loongson/reboot.c: ...here.
9890 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9891 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9892 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9893 * include/grub/i386/reboot.h: New file.
9894 * include/grub/mips/loongson/ec.h: Fix includes.
9895 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9896 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9897 * grub-core/lib/i386/reboot.c: New file.
9898
a97501d2
VS
98992011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9900
9901 Make grub_prefix into module to fix the arbitrary limit and save
9902 some space.
9903
9904 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9905 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9906 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9907 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9908 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9909 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9910 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9911 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9912 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9913 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9914 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9915 * include/grub/ia64/efi/kernel.h: Removed.
9916 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9917 (grub_prefix): Removed.
9918 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9919 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9920 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9921 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9922 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9923 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9924 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9925 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9926 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9927 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9928 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9929 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9930 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9931 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9932 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9933 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9934 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9935 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9936 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9937 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9938 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9939 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9940 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9941 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9942 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9943 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9944 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9945 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9946 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9947 from module.
9948 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9949 prefix_end.
9950 (image_targets): Likewise.
9951 (generate_image): Put prefix as a module.
9952
39705fad
VS
99532011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9954
9955 Replace grub_module_iterate with FOR_MODULES.
9956
9957 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9958 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9959 (grub_efi_modules_addr): ...this.
9960 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9961 (grub_efi_init): Set grub_modbase.
9962 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9963 (grub_modbase): New variable.
9964 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9965 (grub_modbase): New variable.
9966 (grub_machine_init): Set grub_modbase.
9967 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9968 (grub_modbase): New variable.
9969 (grub_machine_init): Set grub_modbase.
9970 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9971 (grub_modbase): New variable.
9972 (grub_machine_init): Set grub_modbase.
9973 * grub-core/kern/main.c (grub_module_iterate): Remove.
9974 (grub_modules_get_end): Use grub_modbase.
9975 (grub_load_modules): Use FOR_MODULES.
9976 (grub_load_config): Likewise.
9977 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9978 (grub_modbase): New variable.
9979 (grub_machine_init): Set grub_modbase.
9980 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9981 (grub_modbase): New variable.
9982 (grub_machine_init): Set grub_modbase.
9983 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9984 Removed.
9985 (grub_modbase): New variable.
9986 (grub_machine_init): Set grub_modbase.
9987 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9988 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9989 (grub_module_iterate): Likewise.
9990 (grub_modbase): New variable declaration.
9991 (FOR_MODULES): New macro.
9992
2afb7f6c
VS
99932011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9996 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9997
366e34fa
VS
99982011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9999
10000 Fix few obvious type discrepancies.
10001
10002 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
10003 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
10004 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
10005 variable.
10006 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
10007 and connected types.
10008 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
10009 offset.
10010 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
10011 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
10012 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
10013 and connected types.
10014
177b960e
VS
100152011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 Fix python 3.x incompatibilities.
10018
10019 * gentpl.py: Put brackets around print strings.
10020 * util/import_gcry.py: Open explicitly as utf-8.
10021 Use in instead of has_key.
10022
3b619ae1
VS
100232011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
10026 (GRUB_XFS_INO_AGBITS): Make into inline function.
10027 (GRUB_XFS_INO_INOINAG): Likewise.
10028 (GRUB_XFS_INO_AG): Likewise.
10029 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
10030 (GRUB_XFS_EXTENT_OFFSET): Likewise.
10031 (GRUB_XFS_EXTENT_BLOCK): Likewise.
10032 (GRUB_XFS_EXTENT_SIZE): Likewise.
10033 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
10034 (GRUB_XFS_NEXT_DIRENT): Likewise.
10035 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
10036 (grub_xfs_read_file): Fix offset type.
10037
8bcebcb8
RM
100382011-10-15 Robert Millan <rmh@gnu.org>
10039
10040 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
10041
0017e5ef
RM
100422011-10-15 Robert Millan <rmh@gnu.org>
10043
10044 Fix build problem on FreeBSD and GNU/kFreeBSD.
10045
10046 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
10047
d8919552
VS
100482011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10049
10050 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
10051
10052 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
10053 types.
10054 (grub_hfsplus_btree_recoffset): Likewise.
10055 (grub_hfsplus_btree_recptr): Likewise.
10056 (grub_hfsplus_find_block): Likewise.
10057 (grub_hfsplus_btree_search): Likewise.
10058 (grub_hfsplus_read_block): Likewise.
10059 (grub_hfsplus_read_file): Likewise.
10060 (grub_hfsplus_mount): Likewise.
10061 (grub_hfsplus_btree_iterate_node): Likewise.
10062 (grub_hfsplus_btree_search): Likewise.
10063 (grub_hfsplus_iterate_dir): Likewise.
10064 (grub_hfsplus_read): A small code simplification.
10065
c81296b6
VS
100662011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 * grub-core/kern/emu/hostdisk.c
10069 (convert_system_partition_to_system_disk): Don't assume that children
10070 of mapper nodes are mapper nodes.
10071
0eb8ffb1
VS
100722011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10073
10074 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
10075 * include/grub/misc.h (grub_isxdigit): New function.
10076 * grub-core/video/colors.c (my_isxdigit): Removed. All users
10077 switched to grub_isxdigit.
10078 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
10079 number starting with a letter.
10080
a98f4a08
RM
100812011-10-09 Robert Millan <rmh@gnu.org>
10082
10083 LVM support for FreeBSD and GNU/kFreeBSD.
10084
10085 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
10086 GNU/kFreeBSD.
10087 (LVM_DEV_MAPPER_STRING): Move from here ...
10088 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
10089 * util/getroot.c: Include `<grub/util/lvm.h>'.
10090 (grub_util_get_dev_abstraction): Enable
10091 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
10092 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
10093 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
10094 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
10095 support it.
10096 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
10097 GNU/kFreeBSD.
10098 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
10099 when LVM abstraction is required for ${GRUB_DEVICE}.
10100
050e8e90
SJ
101012011-10-06 Szymon Janc <szymon@janc.net.pl>
10102
10103 Add support for LZO compression in GRUB:
10104 - import of minilzo library,
10105 - LZO decompression for btrfs,
10106 - lzop files decompression.
10107
10108 * grub-core/io/lzopio.c: New file.
10109 * grub-core/lib/adler32.c: Likewise.
10110 * grub-core/lib/minilzo/lzoconf.h: Likewise.
10111 * grub-core/lib/minilzo/lzodefs.h: Likewise.
10112 * grub-core/lib/minilzo/minilzo.c: Likewise.
10113 * grub-core/lib/minilzo/minilzo.h: Likewise.
10114 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
10115 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
10116 grub-core/lib/minilzo/minilzo.c to common.
10117 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
10118 cflags in cppflags.
10119 * grub-core/Makefile.core.def (btrfs): Likewise.
10120 * grub-core/Makefile.core.def (lzopio): New module.
10121 (adler32): Likewise.
10122 * grub-core/fs/btrfs.c: Include minilzo.h.
10123 (GRUB_BTRFS_COMPRESSION_LZO): New define.
10124 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
10125 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
10126 (grub_btrfs_lzo_decompress): New function.
10127 (grub_btrfs_extent_read): Add support for LZO compression type.
10128 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
10129 (GRUB_USHRT_MAX): Likewise.
10130 (GRUB_UINT_MAX): Likewise.
10131 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
10132 (UINT_MAX): Likewise.
10133 (CHAR_BIT): Likewise.
10134 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
10135 grub-core/lib/posix_wrap/limits.h
10136 (UCHAR_MAX): Likewise.
10137 * include/grub/file.h (grub_file_filter_id): New compression filter
10138 GRUB_FILE_FILTER_LZOPIO.
10139 * include/grub/file.h (grub_file_filter_id): Set
10140 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
10141 * include/grub/types.h (grub_get_unaligned16): New function.
10142 (grub_get_unaligned32): Likewise.
10143 (grub_get_unaligned64): Likewise.
10144 * util/import_gcry.py (cryptolist): Add adler32.
10145
0eb8ffb1
VS
101462011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
10147
10148 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
10149 in perspective decreases the complexity of build system and fixes
10150 compilation right now.
10151
ce79cc99 101522011-10-01 Ales Nesrsta <starous@volny.cz>
10153
10154 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
10155 (fixed problem related to using UHCI with coreboot).
10156
8667a314
BC
101572011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10158
10159 * gentpl.py: Use Autogen macros so that the output template file
10160 (Makefile.tpl) size is reduced.
10161
fc5efcc0
MK
101622011-09-29 Mads Kiilerich <mads@kiilerich.com>
10163
10164 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
10165 extra_dist.
10166
d1ab689d
ML
101672011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10168
10169 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
10170 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
10171
c05de032
ML
101722011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10173
10174 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
10175 _fullpath.
10176
cca7ccd8
ML
101772011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10178
10179 Remove extra declaration of sleep for mingw32.
10180
10181 * util/misc.c (sleep) [__MINGW32__]: Removed.
10182 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
10183
e0b0dc83
GS
101842011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
10185
10186 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
10187 type and packname.
10188 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
10189 Resurrected.
10190 (NETBSD_BTINFO_BOOTWEDGE): New definition.
10191 (grub_netbsd_btinfo_bootwedge): New struct.
10192 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
10193 New function.
10194 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
10195
91a1a164
TH
101962011-09-28 Thomas Haller <thomas.haller@fen-net.de>
10197
10198 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
10199 loader.
10200
2ded951e
AB
102012011-09-28 Andreas Born <futur.andy@googlemail.com>
10202
10203 Fix incorrect identifiers in bash-completion.
10204
10205 * util/bash-completion.d/grub-completion.bash.in
10206 (_grub_mkpasswd-pbkdf2): Rename to ...
10207 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
10208 (_grub_script-check): Rename to ...
10209 (_grub_script_check): ... this. All users updated.
10210
69915030
VS
102112011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
10212
10213 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10214 Return 0 if disk isn't biosdisk.
10215
20fd15f9
GS
102162011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10217
10218 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
10219 on NetBSD.
10220 * Makefile.util.def (grub-fstest): Likewise.
10221
1a7d7db9
GS
102222011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10223
10224 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
10225 Get sector size from disk label.
10226
2221ab6c
CW
102272011-09-05 Colin Watson <cjwatson@ubuntu.com>
10228
10229 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
10230 */README* as well as README*.
10231 Reported by: Axel Beckert.
10232
ca51c4a0
VS
102332011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10234
10235 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
10236 case of less than 256 MiB of RAM.
10237
ab80f326
VS
102382011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10239
10240 * grub-core/commands/wildcard.c (make_regex): Handle @.
10241
4155e697
VS
102422011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10243
10244 * util/grub-install.in: Move cryptodisk logic to appropriate place.
10245
ab178c08
SJ
102462011-08-21 Szymon Janc <szymon@janc.net.pl>
10247
10248 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
10249 AC_LANG_CONFTEST macros.
10250
7dc3c686
SJ
102512011-08-20 Szymon Janc <szymon@janc.net.pl>
10252
10253 Add grub-fstest option to uncompress data for commands.
10254
10255 * util/grub-fstest.c (uncompress): New var.
10256 (options): New option -u.
10257
fe8d4a7b
SJ
102582011-08-20 Szymon Janc <szymon@janc.net.pl>
10259
10260 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
10261 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
10262
a5219af1
SJ
102632011-08-20 Szymon Janc <szymon@janc.net.pl>
10264
10265 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
10266 file type was not recognized correctly (not gzip or corrupted).
10267
f87abff5
VS
102682011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10269
10270 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
10271 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
10272
d94497ea
VS
102732011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10274
10275 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
10276 loongson.
10277 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10278 video_radeon_fuloong2e.
10279 * grub-core/video/radeon_fuloong2e.c: New file.
10280 * include/grub/video.h (grub_video_id_t): Add new ID
10281 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
10282
0d1fd011
VS
102832011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10284
10285 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
10286 define.
10287 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
10288 that PRID matches the detected subplatform and reset the subplatform
10289 if it doesn't.
10290
84beb0ee
VS
102912011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10292
10293 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
10294
1227c133
VS
102952011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 Fix PCI iterating on functions >= 4.
10298
10299 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
10300 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
10301 Removed.
10302 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
10303 (grub_pci_read): Fix bitmask.
10304 (grub_pci_read_word): Likewise.
10305 (grub_pci_read_byte): Likewise.
10306 (grub_pci_write): Likewise.
10307 (grub_pci_write_word): Likewise.
10308 (grub_pci_write_byte): Likewise.
10309
9594c689
VS
103102011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
10313 can still be specified in TARGET_CFLAGS)
10314
14a2562c
VS
103152011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
10318
10319 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
10320 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
10321 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
10322 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
10323 (FULOONG): Rename to ...
10324 (FULOONG2F): ... this. All users updated.
10325 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
10326 (machtype_fuloong2f_str): ... this.
10327 (machtype_fuloong2e_str): New string.
10328 Check for machtype_fuloong2e_str.
10329 * grub-core/loader/mips/linux.c (loongson_machtypes)
10330 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
10331 * grub-core/term/serial.c (loongson_defserial)
10332 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
10333 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
10334 loongson_defserial.
10335 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
10336 Rename to ...
10337 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
10338 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
10339 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
10340 to IMAGE_FULOONG2F_FLASH. All users updated.
10341 (image_targets): Rename images.
10342 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
10343
b526cbb6
SJ
103442011-08-19 Szymon Janc <szymon@janc.net.pl>
10345
10346 Make enable of disk cache statistics code configurable.
10347
10348 * configure.ac: --enable-cache-stats added.
10349 * config.h.in (DISK_CACHE_STATS): New define.
10350 * grub-core/Makefile.core.def (cacheinfo): New command.
10351 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
10352 * grub-core/commands/cacheinfo.c: New file.
10353 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
10354 moved to cacheinfo.c.
10355 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
10356 debug code.
10357 * include/grub/disk.h: Likewise.
10358
fb739ccd
SJ
103592011-08-19 Szymon Janc <szymon@janc.net.pl>
10360
10361 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
10362 * grub-core/Makefile.am: Likewise.
10363
2bba8cfd
VS
103642011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10365
10366 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
10367 non-zero pull.
10368
43526629
VS
103692011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
10372 All users updated.
10373 (grub_jfs_lookup_symlink): Use correct starting inode.
10374
5c144cc8
VS
103752011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10376
10377 * util/grub-setup.c (main): Add missing gcry initialisation.
10378
b1257f65
VS
103792011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10380
10381 Don't accept text modes on EFI when booting Linux.
10382
10383 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
10384 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
10385
828bc390
ML
103862011-08-15 Mario Limonciello <mario_limonciello@dell.com>
103872011-08-15 Colin Watson <cjwatson@ubuntu.com>
10388
10389 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
10390 use of "/path/.." as in grub-install for EFI as well as handling
10391 symlinks correctly.
10392 Fixes Debian bug #637768.
10393
5f60ccac
CW
103942011-08-15 Colin Watson <cjwatson@ubuntu.com>
10395
10396 * util/grub-probe.c: Remove duplicate #include.
10397
6dc212f9
RM
103982011-08-10 Robert Millan <rmh@gnu.org>
10399
10400 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
10401
10402 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
10403 function.
10404 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
10405 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
10406
66816d85
RM
104072011-08-03 Robert Millan <rmh@gnu.org>
10408
10409 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
10410 la_array as packed.
10411 Reported by: Zachary Bedell
10412
20168fca
CW
104132011-07-26 Colin Watson <cjwatson@ubuntu.com>
10414
10415 * configure.ac: The Loongson port requires grub-mkfont due to its
10416 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
10417 be built.
10418
303b6246
CW
104192011-07-26 Colin Watson <cjwatson@ubuntu.com>
10420
10421 * util/grub-install.in: Don't source grub-mkconfig_lib until after
10422 processing arguments (otherwise help2man fails when GRUB has not yet
10423 been installed).
10424
6795300e
VS
104252011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10426
41aa28ea
VS
10427 New script grub-mkstandalone.
10428
10429 * Makefile.util.def (grub-mkstandalone): New script.
10430 * docs/man/grub-mkstandalone.h2m: New file.
10431 * util/grub-mkstandalone.in: Likewise.
10432
104332011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10434
10435 Support ATA disks with 4K sectors.
6795300e
VS
10436
10437 * include/grub/ata.h (grub_ata): New member log_sector_size.
10438 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
10439 (grub_ata_identify): Read sector size.
10440 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
10441
92227597
VS
104422011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10443
10444 * util/grub-install.in: Don't use uhci outside of x86.
10445
c77069f5
VS
104462011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * util/grub-mkrescue.in: Add missing quotes.
10449
104502011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
10451
10452 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
10453 dereference.
10454
583168a2
VS
104552011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
10458
6be1c01f
VS
104592011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * include/grub/video.h: add missing EXPORT_FUND on
10462 grub_video_edid_checksum and grub_video_edid_preferred_mode.
10463
a1167439
VS
104642011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10465
10466 * include/grub/mips/kernel.h: Fix define conflict.
10467
bf66054f
VS
104682011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
10471 all four ways.
10472
8fc4fa45
CW
104732011-07-21 Colin Watson <cjwatson@ubuntu.com>
10474
10475 Preferred resolution detection for VBE.
10476
10477 * grub-core/video/video.c (grub_video_edid_checksum): New function.
10478 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
10479 the Flat Panel extension, in line with the X.org VESA driver.
10480 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
10481 New function.
10482 (grub_vbe_bios_get_ddc_capabilities): Likewise.
10483 (grub_vbe_bios_read_edid): Likewise.
10484 (grub_vbe_get_preferred_mode): Likewise.
10485 (grub_video_vbe_setup): When the mode is "auto", try to get the
10486 preferred mode from VBE, and use the largest mode that is no larger
10487 than the preferred mode (some BIOSes expose a preferred mode that is
10488 not in their mode list!). If this fails, fall back to 640x480 as a
10489 safe conservative choice.
10490 (grub_video_vbe_get_edid): New function.
10491 (grub_video_vbe_adapter): Add get_edid.
10492 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
10493 (struct grub_video_adapter): Add get_edid.
10494 (grub_video_edid_checksum): Add prototype.
10495 (grub_video_edid_preferred_mode): Likewise.
10496 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
10497 structure.
10498
10499 * grub-core/commands/videoinfo.c (print_edid): New function.
10500 (grub_cmd_videoinfo): Print EDID if available.
10501
10502 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
10503 is more appropriate on a wider range of platforms than 640x480.
10504 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
10505 documentation.
10506
ca5572a9
VS
105072011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10508
10509 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
10510
e4bcf625
VS
105112011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 * po/POTFILES.in: Regenerate.
10514
c4edd548
VS
105152011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
10518 incorrect memory usage.
10519
16a2bab0
VS
105202011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10521
10522 * util/grub-install.in: Source grub-mkconfig_lib.
10523
2e418de6
VS
105242011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10525
10526 Remove getroot.c from core on emu platform.
10527
10528 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
10529 kern/emu/raid.c.
10530 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
10531 useless.
10532 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
10533 * util/getroot.c (get_win32_path): ... here.
10534 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
10535 * util/getroot.c (fini_libzfs): ... here.
10536 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
10537 * util/getroot.c (grub_get_libzfs_handle): ... here.
10538 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
10539 Moved from here...
10540 * util/getroot.c (grub_find_zpool_from_dir): ... here.
10541 * grub-core/kern/emu/misc.c
10542 (grub_make_system_path_relative_to_its_root): Moved from here...
10543 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
10544 * grub-core/kern/emu/getroot.c: Moved from here ...
10545 * util/getroot.c: ... here. All users updated.
10546 * grub-core/kern/emu/raid.c: Moved from here ...
10547 * util/raid.c: ... here. All users updated.
10548
def9832a
VS
105492011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10550
10551 * po/POTFILES.in: Regenerate.
10552
cd8fe79a
VS
105532011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10554
10555 Fix compilation on GNU/Linux.
10556
10557 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
10558 Disable geli.
10559 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
10560 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
10561 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
10562
a251b719
VS
105632011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
105642011-07-07 Michael Gorven <michael@gorven.za.net>
105652011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
10566
10567 LUKS and GELI support.
10568
10569 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
10570 grub-core/disk/luks.c, grub-core/disk/geli.c,
10571 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
10572 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
10573 grub-core/lib/arg.c.
10574 (libgrubmods.a): Remove gcrypts cflags and cppflags.
10575 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
10576 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
10577 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
10578 (grub-bin2h): Add libgcry.a.
10579 (grub-mkimage): Likewise.
10580 (grub-mkrelpath): Likewise.
10581 (grub-script-check): Likewise.
10582 (grub-editenv): Likewise.
10583 (grub-mkpasswd-pbkdf2): Likewise.
10584 (grub-pe2elf): Likewise.
10585 (grub-fstest): Likewise.
10586 (grub-mkfont): Likewise.
10587 (grub-mkdevicemap): Likewise.
10588 (grub-probe): Likewise.
10589 (grub-ofpath): Likewise.
10590 (grub-mklayout): Likewise.
10591 (example_unit_test): Likewise.
10592 (grub-menulst2cfg): Likewise.
10593 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
10594 * grub-core/Makefile.core.def (cryptodisk): New module.
10595 (luks): Likewise.
10596 (geli): Likewise.
10597 * grub-core/disk/AFSplitter.c: New file.
10598 * grub-core/disk/cryptodisk.c: Likewise.
10599 * grub-core/disk/geli.c: Likewise.
10600 * grub-core/disk/luks.c: Likewise.
10601 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
10602 grub_util_is_lvm.
10603 (grub_util_get_dm_abstraction): New function.
10604 (grub_util_follow_gpart_up): Likewise.
10605 (grub_util_get_geom_abstraction): Likewise.
10606 (grub_util_get_dev_abstraction): Use new functions.
10607 (grub_util_pull_device): Pull GELI and LUKS.
10608 (grub_util_get_grub_dev): Handle LUKS and GELI.
10609 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
10610 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
10611 (follow_geom_up): Removed.
10612 (grub_util_fd_seek): New function.
10613 (open_device): Use grub_util_fd_seek.
10614 (nread): Rename to ..
10615 (grub_util_fd_read): ... this. All users updated.
10616 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
10617 (grub_crypto_cbc_decrypt): Likewise.
10618 (grub_crypto_hmac_write): Likewise.
10619 (grub_crypto_hmac_buffer): Likewise.
10620 (grub_password_get): Extend to util.
10621 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
10622 New member modname.
10623 (gcry_md_spec) [GRUB_UTIL]: Likewise.
10624 * include/grub/cryptodisk.h: New file.
10625 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
10626 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
10627 LUKS and GELI.
10628 (grub_util_follow_gpart_up): New proto.
10629 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
10630 (grub_util_fd_read): Likewise.
10631 (grub_cryptodisk_cheat_mount): Likewise.
10632 (grub_util_cryptodisk_print_uuid): Likewise.
10633 (grub_util_get_fd_sectors): Likewise.
10634 * util/grub-fstest.c (mount_crypt): New var.
10635 (fstest): Mount crypto if requested.
10636 (options): New option -C.
10637 (argp_parser): Parse -C.
10638 (main): Init and fini gcry.
10639 * util/grub-install.in: Support cryptodisk install.
10640 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
10641 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
10642 cryptodisk.
10643 (prepare_grub_to_access_device): Likewise.
10644 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
10645 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
10646 (probe_cryptodisk_uuid): New function.
10647 (probe_abstraction): Likewise.
10648 (probe): Use new functions.
10649 * util/import_gcry.py: Create Makefile.utilgcry.def.
10650 Add modname member.
10651
9bfdcbbc
VS
106522011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10653
10654 Lazy device scanning.
10655
10656 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
10657 (grub-setup): Remove util/raid.c.
10658 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
10659 * grub-core/disk/lvm.c (scan_depth): New variable.
10660 (grub_lvm_iterate): Rescan if necessary.
10661 (find_lv): New function based on grub_lvm_open.
10662 (grub_lvm_open): Use find_lv. Rescan on error.
10663 (is_node_readable): New function.
10664 (is_lv_readable): Likewise.
10665 (grub_lvm_scan_device): Skip already found disks.
10666 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
10667 Stop if searched device is found and readable.
10668 * grub-core/disk/raid.c (inscnt): New variable.
10669 (scan_depth): Likewise.
10670 (scan_devices): New function based on grub_raid_register. Abort if
10671 looked for device is found.
10672 (grub_raid_iterate): Rescan if needed.
10673 (find_array): NEw function based on -grub_raid_open.
10674 (grub_raid_open): Use find_array and rescan.
10675 (insert_array): Set became_readable_at.
10676 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
10677 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
10678 New function.
10679 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
10680 (grub_util_pull_device): New function.
10681 (grub_util_get_grub_dev): Call grub_util_pull_device.
10682 * util/raid.c: Moved to ..
10683 * grub-core/kern/emu/raid.c: ... here.
10684 (grub_util_raid_getmembers): New parameter "bootable".
10685 All users updated. Support 1.x.
10686 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
10687 All users updated.
10688 * include/grub/disk.h (grub_disk_pull_t): New enum.
10689 (grub_disk_dev): Change iterate prototype.
10690 All users updated.
10691 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
10692 New proto.
10693 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
10694 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
10695 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
10696 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
10697 All users updated.
10698 * include/grub/util/raid.h: Removed.
10699
1c358e59
VS
107002011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 * po/POTFILES.in: Regenerate.
10703
abee94ed
VS
107042011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10705
10706 Unify sparc init with other ieee1275.
10707
10708 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
10709 instead of kern/sparc64/ieee1275/init.c.
10710 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
10711 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
10712 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
10713 grub/machine/kernel.h.
10714 (grub_ieee1275_original_stack) [__sparc__]: New variable.
10715 (grub_claim_heap) [__sparc__]: Use sparc version.
10716 (grub_machine_init): Moved args parsing to
10717 (grub_parse_cmdline): ...this.
10718 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
10719 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
10720 New definition.
10721 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
10722
10723 Move BOOTP to separate file.
10724
10725 * grub-core/Makefile.core.def (net): Add net/bootp.c.
10726 * grub-core/net/net.c: Move all BOOTP functions to
10727 * grub-core/net/bootp.c: ... here.
10728
10729 Use frame interface on PXE.
10730
10731 * grub-core/Makefile.core.def (pxecmd): Removed.
10732 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
10733 * grub-core/commands/i386/pc/pxecmd.c: Removed.
10734 * grub-core/i386/pc/pxe.c: Moved from here ...
10735 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
10736 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
10737 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
10738
10739 EFI network support.
10740
10741 * grub-core/Makefile.core.def (efinet): New module.
10742 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
10743 here...
10744 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
10745 All users updated.
10746 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
10747 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
10748 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
10749 * grub-core/net/drivers/efi/efinet.c: New file.
10750 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
10751 (grub_efi_net_config): New extern var.
10752
10753 Various cleanups and bugfixes.
10754
10755 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
10756 error.
10757 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
10758 disk declared as partition.
10759 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
10760 leak on failure.
10761 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
10762 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
10763 (grub_debug_zalloc): Likewise.
10764 (grub_debug_realloc): Likewise.
10765 (grub_debug_memalign): Likewise.
10766 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
10767 Check that target is IPv4.
10768 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
10769 local-mac-address as fallback.
10770 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
10771 memory leak.
10772 * grub-core/net/ip.c (ipchksum): Rename to ...
10773 (grub_net_ip_chksum): ... this. All users updated.
10774 (grub_net_recv_ip_packets): Special handling for DHCP.
10775 * util/grub-mkimage.c (generate_image): Zero-out aout header.
10776
10777 Unify prefix handling
10778
10779 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
10780 (grub_machine_get_bootlocation): ... this.
10781 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
10782 (grub_machine_get_bootlocation): ... this.
10783 (grub_prefix): New variable.
10784 (prefix): Removed.
10785 (root_dev): New variable.
10786 (dir): Likewise.
10787 (main): Use new variables.
10788 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
10789 Revamped into ...
10790 (grub_machine_get_bootlocation): ... this.
10791 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
10792 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
10793 (grub_machine_get_bootlocation): ... this.
10794 (grub_machine_set_prefix): Removed.
10795 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
10796 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
10797 Revamped into ...
10798 (grub_machine_get_bootlocation): ... this.
10799 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
10800 (grub_set_prefix_and_root): ... this. All users updated.
10801 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
10802 Revamped into ...
10803 (grub_machine_get_bootlocation): ... this.
10804 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
10805 (grub_machine_get_bootlocation): New proto.
10806 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
10807
10808 Less intrusive and more reliable seek on network implementation.
10809
10810 * grub-core/kern/file.c (grub_file_net_seek): Removed.
10811 (grub_file_seek): Don't call grub_file_net_seek.
10812 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
10813 (grub_net_fs_read_real): .. this.
10814 (grub_net_seek_real): Use net->offset.
10815 (grub_net_fs_read): Seek if necessary.
10816
10817 Unify IEEE1275 netwotk config with the other platforms.
10818
10819 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
10820 New variable.
10821 (grub_machine_get_bootlocation): Support network.
10822 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10823 Support type and device parsing.
10824 (grub_ieee1275_get_device_type): New function.
10825 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
10826 into ...
10827 (grub_ieee1275_net_config_real): ... this.
10828 (grub_ofnet_probecards): Removed.
10829 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
10830 * include/grub/ieee1275/ofnet.h: Removed.
10831 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
10832 extern var.
10833 (grub_ieee1275_get_device_type): New function.
10834
10835 Unify network device closing across platforms and make more robust.
10836
10837 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
10838 grub_grubnet_fini.
10839 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
10840 already.
10841 * grub-core/net/net.c (grub_net_network_level_interface_register):
10842 Update num_ifaces.
10843 (grub_net_card_unregister): Close all interfaces.
10844 (receive_packets): Don't poll if no iterfaces are registered.
10845 Open if necessary.
10846 (grub_net_fini_hw): New function.
10847 (grub_net_restore_hw): Likewise.
10848 (fini_hnd): New variable.
10849 (GRUB_MOD_INIT): Register preboot hook.
10850 (GRUB_MOD_FINI): Run and unregister preboot hook.
10851
10852 Poll network cards when idle.
10853
10854 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
10855 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
10856 * grub-core/net/net.c (receive_packets): Save last poll time.
10857 (grub_net_poll_cards_idle_real): New function.
10858 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10859 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10860 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10861
10862 Rename ofnet interfaces.
10863
10864 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10865 (grub_ofnet_findcards): Use ofnet_%s names.
10866
10867 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10868
10869 Cleanup socket opening.
10870
10871 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10872 (grub_net_fs_close): Likewise.
10873 (grub_net_fs_read_real): Use eof member.
10874 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10875 (+grub_net_udp_close): New inline function.
10876
10877 * include/grub/net/tftp.h: Moved to the top of ...
10878 * grub-core/net/tftp.c: ... here.
10879 * include/grub/net/ip.h: Moved mostly to the top of ...
10880 * grub-core/net/ip.c: ... here.
10881 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10882 * grub-core/net/ethernet.c: ... here.
10883
10884 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10885
10886 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10887 FS name.
10888
10889 * include/grub/net/ip.h (ipv4_ini): Removed.
10890 (ipv4_fini): Likewise.
10891
10892 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10893 (grub_net_send_ip_packets): Likewise.
10894
cf1337aa
VS
108952011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10898 grub_read_cmos prototype.
10899
93c06ff9
VS
109002011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 VGA text support in qemu-mips
10903
10904 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10905 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10906 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10907 text.
10908 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10909 * grub-core/kern/vga_init.c: ... this.
10910 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10911 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10912 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10913 Adjust.
10914 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10915 GRUB_MACHINE_PCI_IO_BASE.
10916
748ccabe
VS
109172011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10918
10919 MIPS qemu flash support.
10920
10921 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10922 magic.
10923 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10924 (grub_machine_init): Probe memory if its size isn't known.
10925 * util/grub-mkimage.c (image_targets): Add flash targets.
10926 (generate_image): Handle flash targets.
10927
d7345994
VS
109282011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10929
10930 MIPS qemu at_keyboard support.
10931
10932 * gentpl.py (videoinkernel): Add qemu-mips.
10933 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10934 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10935 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10936 modules.
10937 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10938 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10939 * grub-core/term/serial.c (grub_serial_register)
10940 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10941
a07a81b3
VS
109422011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10943
10944 CMOS support on sparc.
10945
10946 * gentpl.py (cmos): Add powerpc and sparc.
10947 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10948 powerpc and sparc.
10949 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10950 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10951 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10952 grub_set_datetime_cmos.
10953 * grub-core/lib/ieee1275/cmos.c: New file.
10954 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10955 (find_rtc): Set no_ieee1275_rtc on error.
10956 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10957 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10958 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10959 fail. Move value to argument. All users updated
10960 (grub_cmos_write): Likewise.
10961 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10962 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10963 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10964 grub_get_datetime_cmos and grub_set_datetime_cmos.
10965
77546584
GS
109662011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10967
10968 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10969 sourcing grub-mkconfig_lib.
10970 * util/update-grub_lib.in: Likewise.
10971 * util/grub.d/00_header.in: Likewise.
10972 * util/grub.d/10_hurd.in: Likewise.
10973 * util/grub.d/10_kfreebsd.in: Likewise.
10974 * util/grub.d/10_linux.in: Likewise.
10975 * util/grub.d/10_netbsd.in: Likewise.
10976 * util/grub.d/10_windows.in: Likewise.
10977 * util/grub.d/20_linux_xen.in: Likewise.
10978 * util/grub.d/30_os-prober.in: Likewise.
10979
54894791
CW
109802011-06-28 Colin Watson <cjwatson@ubuntu.com>
10981
10982 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10983 default_bg_color rather than black.
10984 (grub_gfxterm_fullscreen): Likewise.
10985 (grub_gfxterm_background_color_cmd): Save new background color in
10986 default_bg_color.
10987
8d5d8444
VS
109882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10989
10990 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10991
5afeb5bd
VS
109922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10995 mismerge.
10996
ba7df45e
VS
109972011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10998
10999 Chainloading on coreboot support.
11000
11001 * grub-core/Makefile.core.def (chain): Add coreboot.
11002 * grub-core/loader/i386/coreboot/chainloader.c: New file.
11003
d0b526b2
VS
110042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11005
11006 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
11007 if it happens.
11008
5ff1d945
VS
110092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 Implement time command.
11012
11013 * grub-core/Makefile.core.def (time): New module.
11014 * grub-core/commands/time.c: New file.
11015 * grub-core/script/parser.y: Remove "time" keyword.
11016 * grub-core/script/yylex.l: Likewise.
11017
5ebaad7e
VS
110182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
11021
bdea3798
VS
110222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11023
11024 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
11025 when handling leftovers.
11026
b28c5655
VS
110272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11028
11029 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
11030 so that help2man doesn't fail.
11031
b6f945dc
VS
110322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11033
11034 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
11035 type in pointers on sparc64.
11036 (get_card_packet): Likewise.
11037
f9b75e8a
CW
110382011-06-27 Colin Watson <cjwatson@ubuntu.com>
11039
11040 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
11041 with `*'.
11042 (grub_cmd_videoinfo): Fetch current video mode.
11043
1e3d9b86
VS
110442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11045
11046 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
11047 because of underlying system restrictions.
11048
efff4b1c
VS
110492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11050
11051 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
11052 necessary.
11053
9fc9ce37
VS
110542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 Coreboot video support.
11057
11058 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
11059 (vbe): Likewise.
11060 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
11061 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
11062 here ...
11063 * grub-core/kern/i386/int.S: ... here.
11064 * grub-core/video/i386/pc/vbe.c: Updated includes.
11065 * grub-core/video/i386/pc/vga.c: Likewise.
11066 * include/grub/i386/coreboot/memory.h
11067 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
11068 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
11069 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
11070 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
11071 Disable interrupts.
11072 * include/grub/i386/pc/vga.h: Removed. All users updated.
11073
41bec7fe
VS
110742011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
11077 definitions for dprintf.
11078 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
11079
ca80309d
VS
110802011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11081
11082 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
11083 prototype.
11084 (get_card_packet): Likewise.
11085
9e322ce8
YB
110862011-06-26 Yves Blusseau <blusseau@zetam.org>
11087
11088 Display the path of the file when file is not found
11089
11090 * grub-core/fs/fat.c: Display the filename when file is not found.
11091 * grub-core/fs/fshelp.c: Likewise.
11092 * grub-core/fs/hfs.c: Likewise.
11093 * grub-core/fs/jfs.c: Likewise.
11094 * grub-core/fs/minix.c: Likewise.
11095 * grub-core/fs/ufs.c: Likewise.
11096 * grub-core/fs/btrfs.c: Likewise.
11097 * grub-core/commands/i386/pc/play.c: Likewise.
11098
cbf597af
SJ
110992011-06-26 Szymon Janc <szymon@janc.net.pl>
11100
11101 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
11102 pointer checks before calling grub_free().
11103 * grub-core/commands/wildcard.c (match_devices): Likewise.
11104 * grub-core/commands/wildcard.c (match_files): Likewise.
11105 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
11106 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
11107 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
11108 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
11109 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
11110 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
11111 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
11112 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
11113 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
11114
6295b32f
P
111152011-06-25 Patrick <p55@mailinator.com>
11116
11117 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
11118
77c0840b
VS
111192011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
11120
11121 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
11122 (grub_pxe_send): Likewise.
11123 (GRUB_MOD_INIT): Fix types.
11124
40ea05de
SJ
111252011-06-24 Szymon Janc <szymon@janc.net.pl>
11126
11127 * grub-core/io/xzio.c: Fix code style issues
11128
90162423
MRA
111292011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
111302011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
11131
11132 Network infrastructure.
11133 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
11134
11135 * include/grub/net/arp.h: New file.
90162423
MRA
11136 * include/grub/net/device.h: Likewise.
11137 * include/grub/net/ethernet.h: Likewise.
11138 * include/grub/net/ip.h: Likewise.
11139 * include/grub/net/netbuff.h: Likewise.
11140 * include/grub/net/tftp.h: Likewise.
11141 * include/grub/net/udp.h: Likewise.
11142 * include/grub/ieee1275/ofnet.h: Likewise.
11143 * include/grub/emu/export.h: Likewise.
11144 * include/grub/net.h: Likewise.
11145 * grub-core/net/arp.c: Likewise.
11146 * grub-core/net/ethernet.c: Likewise.
11147 * grub-core/net/ip.c: Likewise.
11148 * grub-core/net/udp.c: Likewise.
11149 * grub-core/net/tftp.c: Likewise.
11150 * grub-core/net/netbuff.c: Likewise.
11151 * grub-core/net/net.c: Likewise.
11152 * grub-core/net/drivers/emu/emunet.c: Likewise.
11153 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
11154 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
11155 export.h.
11156 * grub-core/Makefile.core.def (net): New module.
11157 (tftp): Likewise.
11158 (ofnet): Likewise.
11159 (emunet): Likewise.
11160 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
11161 network protocols.
11162 * grub-core/kern/device.c (grub_net_open) : New variable.
11163 (grub_device_open): Handle network device.
11164 (grub_device_close): Likewise.
11165 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
11166 (grub_grubnet_fini): Likewise.
11167 (grub_file_seek): Seek in network device.
11168 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
11169 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
11170 network root.
11171 (grub_machine_fini): Call grub_grubnet_fini.
11172 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
11173 network.
11174 (grub_ieee1275_get_aliasdevname): New function.
11175 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11176 Add unofficial Solaris network info.
11177 (grub_multiboot_make_mbi): Likewise.
11178 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
11179 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
11180 * include/grub/device.h (grub_fs): Removed.
11181 * include/grub/err.h (grub_err_t): Add network-related values.
11182 * include/grub/i386/pc/pxe.h: Removed bootp parts.
11183 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
11184 (grub_ieee1275_get_aliasdevname): New proto.
11185 * include/grub/net.h: Rewritten.
423a1849 11186
031f22a0
VS
111872011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11188
11189 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
11190 names.
11191
4388ca72
VS
111922011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
11195 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
11196 it truncates the output.
11197 Reported by: Ximin Luo.
11198
98e2f506
VS
111992011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11200
11201 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
11202
2a5e94d8
VS
112032011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11204
11205 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
11206 partmap before abstraction.
11207
535c1910
AK
112082011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
11209
11210 * util/grub-mkconfig_lib.in: Add missing quotes.
11211
bc09e1a2
VS
112122011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
11215 old method if mountinfo would return /dev/root and /dev/root doesn't
11216 exist.
11217
290766fb
VS
112182011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11219
11220 ZFS zlib support
11221
11222 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
11223 (decomp_table): Add zlib entries.
11224 (zio_read): USe 8 bits for compression function rather than 3.
11225 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
11226
112272011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11228
11229 * grub-core/disk/ahci.c: Add missing license statements.
11230 * grub-core/fs/romfs.c: Likewise.
11231 * grub-core/lib/ia64/setjmp.S: Likewise.
11232 * grub-core/loader/i386/pc/freedos.c: Likewise.
11233 * grub-core/loader/ia64/efi/linux.c: Likewise.
11234 * grub-core/video/colors.c: Likewise.
11235 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
11236
5ab3f48a
VS
112372011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 AHCI support.
11240
11241 * grub-core/Makefile.core.def (ata_pthru): Removed.
11242 (ahci): New module.
11243 (pata): Likewise.
11244 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
11245 on unload.
11246 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
11247 readwrite.
11248 (grub_hdparm_do_check_powermode_cmd): Likewise.
11249 (grub_hdparm_do_smart_cmd): Likewise.
11250 (grub_hdparm_set_val_cmd): Likewise.
11251 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
11252 * grub-core/disk/ahci.c: New file.
11253 * grub-core/disk/ata.c: Factor out the low-level part into ...
11254 * grub-core/disk/pata.c: ... here.
11255 * grub-core/disk/ata_pthru.c: Contents moved to ...
11256 * grub-core/disk/pata.c: ... here.
11257 * grub-core/disk/scsi.c (grub_scsi_names): New array.
11258 (grub_scsi_iterate): Use grub_scsi_names.
11259 (grub_scsi_open): Likewise.
11260 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
11261 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
11262 (grub_ata_regs_t): New struct.
11263 (grub_disk_ata_pass_through_parms): Likewise.
11264 (grub_ata_device): Renamed to ...
11265 (grub_ata): ... this.
11266 (grub_ata_dev): New struct.
11267 Removed all low-level inline functions.
11268 * include/grub/scsi.h: Add PATA and AHCI subsystems.
11269 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
11270 iterate hooks and open. All users updated.
11271 * util/grub-install.in: Handle AHCI disk module.
11272
c31dc5f5
SJ
112732011-06-23 Szymon Janc <szymon@janc.net.pl>
11274
11275 Add support for DRI and RSTn markers in JPEG files.
11276
11277 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
11278 (JPEG_MARKER_RST0): Likewise.
11279 (JPEG_MARKER_RST1): Likewise.
11280 (JPEG_MARKER_RST2): Likewise.
11281 (JPEG_MARKER_RST3): Likewise.
11282 (JPEG_MARKER_RST4): Likewise.
11283 (JPEG_MARKER_RST5): Likewise.
11284 (JPEG_MARKER_RST6): Likewise.
11285 (JPEG_MARKER_RST7): Likewise.
11286 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
11287 (grub_jpeg_decode_dri): New function.
11288 (grub_jpeg_decode_sos): Move image data related part into
11289 grub_jpeg_decode_data function.
11290 (grub_jpeg_decode_data): New function.
11291 (grub_jpeg_reset): New function.
11292 (grub_jpeg_decode_jpeg): Handle new markers.
11293
fe12fd5b
VS
112942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11295
11296 * util/ieee1275/ofpath.c (check_sas): Close fd.
11297 (main): Free of_path.
11298 Reported by: David Volgyes <dvolgyes>.
11299
03147f46
VS
113002011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
11303 Reported by: David Volgyes <dvolgyes>.
11304
cad3237f
VS
113052011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
11308 file after stat.
11309 Reported by: David Volgyes <dvolgyes>.
11310
13548d26
VS
113112011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11312
11313 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
11314
11315 Reported by: David Volgyes <dvolgyes>.
11316
e061a1b5
VS
113172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11318
11319 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
11320 Prevent memory leak.
11321
1abe47dc
VS
113222011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
11325 (main): Close file.
e061a1b5 11326 Reported by: David Volgyes <dvolgyes>.
1abe47dc 11327
fbc62666
VS
113282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11329
11330 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
11331 to continue if allocation is failed.
11332
11333 Reported by: David Volgyes <dvolgyes>.
11334
e98c83e9
DV
113352011-06-23 David Volgyes <dvolgyes>
11336
11337 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
11338 dereference.
11339
a199a8cd
VS
113402011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11341
11342 Fix spurious warning.
11343
11344 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
11345 (acorn_partition_map_find): Use .bin member.
11346
e2d1dba0
VS
113472011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11348
11349 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
11350 /dev/root as a valid device.
11351
8a5d6919
JM
113522011-06-23 Jim Meyering <meyering@redhat.com>
11353
e2d1dba0
VS
11354 Avoid NULL deref in grub_device_open.
11355
8a5d6919
JM
11356 * grub-core/kern/device.c (grub_device_open): Don't dereference
11357 a NULL pointer upon failed grub_env_get.
11358
f7db6f4a
VS
113592011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 Support non-512B sectors and agglomerate reads.
11362
11363 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
11364 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
11365 (disk_io_guid): Removed.
11366 (make_devices): Locate solely by BlockIO.
11367 (grub_efidisk_open): Fill log_sector_size and total_sectors.
11368 (grub_efidisk_read): Use read_blocks.
11369 (grub_efidisk_write): Use write_blocks.
11370 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
11371 log_sector_size.
11372 (get_safe_sectors): Handle non-512B sectors.
11373 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
11374 sectors.
11375 (grub_biosdisk_write): Handle non-512B sectors.
11376 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
11377 (grub_scsi_read): Remove special non-512B block handling (now handled
11378 one level up).
11379 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
11380 and do sanity checks.
11381 (grub_disk_adjust_range): Handle non-512B sectors.
11382 (transform_sector): New function.
11383 (grub_disk_read_small): Likewise.
11384 (grub_disk_read): Rewritten.
11385 (grub_disk_write): Handle non-512B sectors.
11386 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
11387 log_sector_size.
11388 (open_device): Use log_sector_size.
11389 (grub_util_biosdisk_read): Likewise.
11390 (grub_util_biosdisk_write): Likewise.
11391 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
11392 non-512B sectors.
11393 (pc_partition_map_embed): Likewise.
11394 * include/grub/disk.h (grub_disk): New field log_sector_size.
11395 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
11396 (GRUB_DISK_CACHE_BITS): Increased to 6.
11397 * util/grub-fstest.c (fstest): New command testload.
11398 (argp_parser): Likewise.
11399
881ac815
RM
114002011-06-16 Robert Millan <rmh@gnu.org>
11401
11402 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
11403 `ata' driver on kernel of FreeBSD 9.
11404
11405 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
11406 (get_ataraid_disk_name): New functions.
11407 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
11408 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
11409 get_ataraid_disk_name() and get_ada_disk_name().
11410
1e9aef7d
CW
114112011-06-13 Colin Watson <cjwatson@ubuntu.com>
11412
11413 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
11414 input format.
11415
351c7c8a
CW
114162011-05-29 Colin Watson <cjwatson@ubuntu.com>
11417
11418 * docs/grub.texi (Obtaining and Building GRUB): Substitute
11419 `ftp.gnu.org' for `alpha.gnu.org'.
11420
6b4e6430
CW
114212011-05-27 Colin Watson <cjwatson@ubuntu.com>
11422
11423 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
11424 partitions under /dev/disk/by-id/.
11425
c64db050
CW
114262011-05-27 Colin Watson <cjwatson@ubuntu.com>
11427
11428 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
11429 after ten consecutive open failures. Scanning all the way up to
11430 10000 is excessive and can cause serious performance problems in
11431 some configurations.
11432 Fixes Ubuntu bug #787461.
11433
245f4aba
VS
114342011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11435
11436 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
11437 opening new one.
11438
f767c929
VS
114392011-05-21 Colin Watson <cjwatson@ubuntu.com>
114402011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 Don't stat devices unless we have to.
11443
11444 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
11445 dir == /dev/mapper.
11446 (grub_guess_root_device): Use already known os_dev if possible.
11447 * grub-core/kern/emu/hostdisk.c
11448 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
11449 if device is known to be a dm one.
11450
f35fa3a6
CW
114512011-05-20 Colin Watson <cjwatson@ubuntu.com>
11452
11453 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
11454 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
11455 Reported by: Pawel Tecza.
11456
9a79fcf2
VS
114572011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
11460 (lsefisystab): Likewise.
11461 (lssal): Likewise.
11462 (lsefimmap): Likewise.
11463 (hdparm): Enable on qemu-mips.
11464 (setjmp): Add ia64 nodist.
11465 (serial): Simplify tags.
11466
63e3eea9
CW
114672011-05-18 Colin Watson <cjwatson@ubuntu.com>
11468
11469 * Makefile.util.def (grub-ofpathname): Install manual page.
11470
09728256
CW
114712011-05-18 Colin Watson <cjwatson@ubuntu.com>
11472
11473 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
11474
8b63a142
CW
114752011-05-18 Colin Watson <cjwatson@ubuntu.com>
11476
11477 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
11478
e775d8ed
VS
114792011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11480
11481 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
11482 into dprintf.
11483
bf947d36
VS
114842011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11485
11486 Use full 64-bit division.
11487
11488 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
11489 (grub_divmod64): ... this.
11490 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
11491 version.
11492
b84f26c5
CW
114932011-05-18 Colin Watson <cjwatson@ubuntu.com>
11494
11495 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
11496 `source'.
11497
5626056f
CW
114982011-05-18 Colin Watson <cjwatson@ubuntu.com>
11499
11500 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
11501 to avoid accidents when debugging with 'sh -x'.
11502 * grub-core/gensyminfo.sh.in: Likewise.
11503 * tests/example_scripted_test.in: Likewise.
11504 * tests/grub_cmd_regexp.in: Likewise.
11505 * tests/grub_script_blanklines.in: Likewise.
11506 * tests/grub_script_dollar.in: Likewise.
11507 * tests/grub_script_expansion.in: Likewise.
11508 * tests/grub_script_final_semicolon.in: Likewise.
11509 * tests/partmap_test.in: Likewise.
11510 * tests/util/grub-shell-tester.in: Likewise.
11511 * tests/util/grub-shell.in: Likewise.
11512
e2965f4a
CW
115132011-05-18 Colin Watson <cjwatson@ubuntu.com>
11514
11515 Move gfxmenu color handling to video, so that gfxterm can use it
11516 too.
11517
11518 * grub-core/gfxmenu/named_colors.c: Move to ...
11519 * grub-core/video/colors.c: ... here. Rename
11520 grub_gui_get_named_color to grub_video_get_named_color.
11521 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
11522 * grub-core/video/colors.c (my_isxdigit): ... here.
11523 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
11524 Move to ...
11525 * grub-core/video/colors.c (parse_hex_color_component): ... here.
11526 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
11527 to ...
11528 * grub-core/video/colors.c (grub_video_parse_color): ... here.
11529
11530 * include/grub/gui.h (grub_gui_color_t): Move to ...
11531 * include/grub/video.h (grub_video_rgba_color_t): ... here.
11532 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
11533 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
11534 * include/grub/gui.h (grub_gui_map_color): Move to ...
11535 * include/grub/video.h (grub_video_map_rgba_color): ... here.
11536 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
11537 to ...
11538 * include/grub/video.h (grub_video_get_named_color): ... here.
11539 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
11540 * include/grub/video.h (grub_video_parse_color): ... here.
11541
11542 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
11543 video/colors.c.
11544 (gfxmenu): Remove gfxmenu/named_colors.c.
11545 (video) [videomodules]: Add video/colors.c.
11546
11547 Add a background_color command.
11548
11549 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
11550 function.
11551 (GRUB_MOD_INIT): Register background_color command.
11552 (GRUB_MOD_FINI): Unregister background_color command.
11553 (redraw_screen_rect): Allow blend/replace of text layer to be
11554 controlled independently from whether there is a background bitmap.
11555 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
11556 changing bitmap.
11557
1e4b4390
VS
115582011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11559
26618ff0
VS
11560 Patch BPB in ntldr and chainloader --bpb.
11561
1e4b4390
VS
11562 * grub-core/fs/fat.c: Include grub/fat.h.
11563 (grub_fat_bpb): Moved to ...
11564 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
11565 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
11566 grub/ntfs.h.
11567 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
11568 Moved from here...
11569 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
11570 here.
11571 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
11572 New function.
11573 (grub_chainloader_cmd): Patch BPB if --bpb is given.
11574 (GRUB_MOD_INIT): Show --bpb.
11575 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
11576 * grub-core/normal/main.c (features): New variable.
11577 (GRUB_MOD_INIT): Set feature_* variables.
11578 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
11579 proto.
11580 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
11581
cf02731e
VS
115822011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
11585 for cleanness.
11586
e3a1073f
VS
115872011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 FreeDOS direct loading support.
11590
11591 * docs/grub.texi (Supported OS): Add FreeDOS.
11592 * grub-core/Makefile.core.def (freedos): New module.
11593 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
11594 variable.
11595 (grub_relocator16_boot): Handle %ebx.
11596 * grub-core/lib/i386/relocator16.S: Likewise.
11597 * grub-core/loader/i386/pc/freedos.c: New file.
11598
05caa461
VS
115992011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11600
11601 Long Linux command line support.
11602
11603 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11604 (maximal_cmdline_size): New variable.
11605 (allocate_pages): Use maximal_cmdline_size.
11606 (grub_cmd_linux): Set and use maximal_cmdline_size.
11607 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11608 (allocate_pages): Use maximal_cmdline_size.
11609 (grub_cmd_linux): Set and use maximal_cmdline_size.
11610 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
11611 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
11612 and cmdline_size.
11613
a2491e23
VS
116142011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
116152011-05-18 Colin Watson <cjwatson@ubuntu.com>
11616
11617 Improve devmapper support
11618
11619 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
11620 (grub_util_is_lvm): New function.
11621 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
11622 than lvm if not dmraid.
11623 Handle mapped md nodes.
11624 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
11625 (grub_util_device_is_mapped): ... this. Make always available. All users
11626 updated.
11627 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
11628 (convert_system_partition_to_system_disk): Handle lvm, mpath and
11629 dmraid nodes.
11630 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
11631
6ad6223e
VS
116322011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11633
11634 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
11635
11636 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
11637 * grub-core/modinfo.sh.in: New file.
11638 * grub-core/Makefile.core.def (modinfo.sh): New script.
11639 * util/grub-mknetdir.in: Use modinfo.sh.
11640 * util/grub-mkrescue.in: Likewise.
11641
543a8f6e
VS
116422011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11645 Fix potential usage of Elf32 instead of Elf64 when compiling on
11646 32-bit architecture. Add endianness macros while on it.
11647
4959e111
VS
116482011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 Use mipsel- rather than mips- in directories involving mipsel ports to
11651 allow both endiannesses coexist.
11652
11653 * configure.ac: proparate target_cpu=mipsel rather than resetting to
11654 mips. All conditions adjusted.
11655 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
11656 variable.
11657 * util/grub-install.in: Adjust conditions to take renaming into account.
11658 * util/grub-mkimage.c (image_targets): Likewise. New target
11659 mips-qemu_mips-elf for bigendian mips.
11660
35341bbc
VS
116612011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 Avoid unnecessary copying on MIPS.
11664
11665 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
11666 early if src == dest.
11667 * util/grub-mkimage.c (generate_image): Arange for src == dest if
11668 compression is none.
11669
b772baed
VS
116702011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 Reduce memory footprint on SGI by putting modules before the kernel
11673 as opposed to after.
11674
11675 * grub-core/Makefile.core.def (kernel): Increase linking address.
11676 (none_decompress): Likewise.
11677 (xz_decompress): Likewise.
11678 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
11679 address.
11680 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
11681 layout change.
11682 (grub_arch_modules_addr): New function.
11683 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
11684 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
11685 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
11686 here.
11687 * grub-core/kern/mips/startup.S (total_size): Rename to ...
11688 (grub_total_modules_size): ... this. Make global.
11689 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
11690 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
11691 New definition.
11692 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
11693 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
11694 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
11695 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
11696 * util/grub-mkimage.c (image_target_desc): New flag
11697 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
11698 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
11699 (generate_image): Handle images with modules before kernel.
11700
566a1917
VS
117012011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11702
11703 Prevent potential loss of memory map by overwrite on qemu-mips.
11704
11705 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11706 Save ram size in $s4.
11707 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
11708 All users changed to grub_arch_memsize.
11709 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
11710 Loongson.
11711 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
11712 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
11713 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
11714 external variable.
11715
5d420cd9
CW
117162011-05-17 Colin Watson <cjwatson@ubuntu.com>
11717
11718 * .bzrignore: Remove grub-dumpbios.
11719
d064b830
CW
117202011-05-17 Colin Watson <cjwatson@ubuntu.com>
11721
11722 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
11723 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
11724 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
11725 existing options which append).
11726 * docs/grub.texi (Simple configuration): Document new options.
11727 Reported by: Ian Jackson. Fixes Debian bug #617538.
11728
3ca2b466
CW
117292011-05-17 Colin Watson <cjwatson@ubuntu.com>
11730
11731 * util/grub-fstest.c (cmd_cat): New function.
11732 (fstest): Handle CMD_CAT.
11733 (options): Add cat.
11734 (argp_parser): Handle cat.
11735
24c9143a
CW
117362011-05-17 Colin Watson <cjwatson@ubuntu.com>
11737
11738 * Makefile.util.def (grub-bin2h): Don't install.
11739 * docs/man/grub-bin2h.h2m: Remove.
11740
90f7ac19
VS
117412011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11742
11743 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
11744 place.
11745
8d4a5178
VS
117462011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11747
11748 Reenable qemu-mips port.
11749
11750 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
11751 Fix small arc bug while on it.
11752 * gentpl.py: Handle qemu_mips.
11753 * grub-core/Makefile.am: Likewise.
11754 * grub-core/Makefile.core.def: Likewise.
11755 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
11756 inappropriate includes.
11757 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
11758 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
11759 * grub-core/kern/main.c (grub_modules_get_end)
11760 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
11761 * grub-core/kern/mips/qemu-mips: Moved to ..
11762 * grub-core/kern/mips/qemu_mips: ... this.
11763 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
11764 (grub_machine_init): Call terminfo_init and serial_init.
11765 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
11766 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11767 New variable.
11768 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
11769 parameter passing.
11770 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
11771 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
11772 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
11773 * include/grub/mips/qemu_mips/cmos.h: New file.
11774 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
11775 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
11776 Removed.
11777 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
11778 Use correct mips-style address.
11779 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
11780 (GRUB_TICKS_PER_SECOND): Removed.
11781 (grub_get_rtc): Likewise.
11782 (grub_cpu_idle): Likewise.
11783 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
11784 New definition.
11785 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
11786 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
11787 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
11788 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
11789 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11790 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11791 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
11792 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
11793
400b9371
VS
117942011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11795
11796 SGI ARCS port.
11797
11798 * Makefile.util.def (libgrubmods.a): Add dvh.c.
11799 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
11800 platforms.
11801 * configure.ac: New target mips-arc.
11802 * gentpl.py: Likewise.
11803 * grub-core/Makefile.am: Likewise.
11804 * grub-core/Makefile.core.def: Likewise.
11805 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
11806 (none_decompress): Likewise.
11807 (lsdev): New module.
11808 (datetime): Use lib/arc/datetime.c on ARC.
11809 (part_dvh): New module.
11810 * grub-core/commands/arc/lsdev.c: New file.
11811 * grub-core/disk/arc/arcdisk.c: Likewise.
11812 * grub-core/kern/mips/arc/init.c: Likewise.
11813 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
11814 aligned addresses.
11815 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
11816 support.
11817 (grub_arch_dl_relocate_symbols): Likewise.
11818 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
11819 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
11820 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
11821 platforms.
11822 * grub-core/lib/arc/datetime.c: New file.
11823 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
11824 pci.h on non-loongson.
11825 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
11826 (grub_linux_boot): Set unused registers to 0.
11827 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
11828 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
11829 * grub-core/mmap/mips/uppermem.c: ...here.
11830 * grub-core/partmap/dvh.c: New file.
11831 * grub-core/term/arc/console.c: Likewise.
11832 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
11833 (grub_terminfo_set_current): Add terminal "arc".
11834 (grub_terminfo_readkey): Support ARC sequences.
11835 * include/grub/arc/arc.h: New file.
11836 * include/grub/arc/console.h: Likewise.
11837 * include/grub/disk.h (grub_disk_dev_id): Add
11838 GRUB_DISK_DEVICE_ARCDISK_ID.
11839 * include/grub/mips/arc/kernel.h: New file.
11840 * include/grub/mips/arc/memory.h: Likewise.
11841 * include/grub/mips/arc/time.h: Likewise.
11842 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
11843 * include/grub/mips/kernel.h (grub_halt): ... here.
11844 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
11845 here...
11846 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
11847 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
11848 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
11849 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
11850 proto.
11851 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
11852 from here ...
11853 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
11854 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
11855 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
11856 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
11857 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11858 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11859 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11860 (grub_phys_addr_t): Moved from here ...
11861 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11862 (grub_vtop): Moved from here ...
11863 * include/grub/mips/memory.h (grub_vtop): ... here.
11864 (grub_map_memory): Moved from here ...
11865 * include/grub/mips/memory.h (grub_map_memory): ... here.
11866 (grub_unmap_memory): Moved from here ...
11867 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11868 (grub_machine_mmap_iterate): Moved from here ...
11869 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11870 (grub_mmap_get_lower): Moved from here ...
11871 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11872 (grub_mmap_get_upper): Moved from here ...
11873 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
11874 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11875 here ...
11876 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11877 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
11878 here ...
11879 * include/grub/mips/time.h (grub_get_rtc): ... here.
11880 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11881 here ...
11882 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11883 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11884 here ...
11885 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11886 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11887 definition.
11888 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11889 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11890 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11891 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11892 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11893 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11894 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11895 (GRUB_MACHINE_LINK_ADDR): Likewise.
11896 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11897 to 6.
11898 * util/grub-install.in: Run dvhtool on ARC.
11899 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 11900 (generate_image): Handle ECOFF output for mips-arc.
400b9371 11901
c8ecc840
VS
119022011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11905 blocks.
11906
153a4b55
VS
119072011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11908
11909 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11910 after enabling port.
11911
ff44d107
VS
119122011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11913
11914 Skip incorrect USB devices.
11915
11916 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11917 configcnt == 0.
11918 * include/grub/usb.h (grub_usb_err_t): New enum value
11919 GRUB_USB_ERR_BADDEVICE.
11920
638dbe4f
VS
119212011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 Fuloong video init support.
11924
11925 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11926 well.
11927 (grub_vga_read_arx): New function.
11928 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11929 definition.
11930 (framebuffer): New members io, mmioptr and mmiobase.
11931 (read_sis_cmd): New function.
11932 (write_sis_cmd): Likewise.
11933 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11934 rather than 640x400.
11935 * grub-core/video/sis315_init.c: New file.
11936
c3fc520c
VS
119372011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11940 non-loongson.
11941 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11942 to grub_dl_register_symbol.
11943
67b1e5c9
VS
119442011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11945
11946 Fix compilation errors.
11947
11948 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11949 potentially unused.
11950 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11951 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11952 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11953 to loongson machines.
11954
b756f75f
VS
119552011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 Several FS mtime support.
11958
11959 * grub-core/fs/affs.c (grub_affs_time): New struct.
11960 (grub_affs_file): New field mtime.
11961 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11962 type. Removed 'size'. New field 'di'. All users updated.
11963 (grub_affs_mount): Simplify checsum checking.
11964 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11965 (grub_affs_dir): Handle mtime.
11966 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11967 (grub_cpio_dir): Likewise.
11968 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11969 (grub_hfs_filerec): New field mtime.
11970 (grub_hfs_dir): Handle mtime.
11971 (grub_hfs_mtime): New function.
11972 (grub_hfs_fs): Register grub_hfs_mtime.
11973 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11974 (grub_iso9660_dir): New field mtime.
11975 (grub_fshelp_node): New field dirent.
11976 (iso9660_to_unixtime): New function.
11977 (iso9660_to_unixtime2): Likewise.
11978 (grub_iso9660_read_symlink): Use node->dirent.
11979 (grub_iso9660_iterate_dir): Likewise.
11980 (grub_iso9660_dir): Set mtime.
11981 (grub_iso9660_mtime): New function.
11982 (grub_iso9660_fs): Register grub_iso9660_mtime.
11983 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11984 (grub_jfs_inode): New fields atime, ctime and mtime.
11985 (grub_jfs_dir): Set mtime.
11986 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11987 * grub-core/fs/ntfs.c (list_file): Set mtime.
11988 (grub_ntfs_dir): Likewise.
11989 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11990 (grub_reiserfs_iterate_dir): Set mtime.
11991 (grub_reiserfs_dir): Likewise.
11992 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11993 (grub_fshelp_node): Likewise.
11994 (grub_sfs_iterate_dir): Set mtime.
11995 (grub_sfs_dir): Likewise.
11996 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11997 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11998 (grub_xfs_inode): New fields atime, mtime, ctime.
11999 (grub_xfs_dir): Set mtime.
12000 * include/grub/datetime.h (grub_datetime2unixtime): New function.
12001 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
12002 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
12003
12004 Support UDF symlinks.
12005
12006 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
12007 (grub_ufs_read_symlink): New function. All users updated.
12008
12009 Check amiga partmap checksum.
12010
12011 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
12012 (grub_amiga_partition): Likewise.
12013 (amiga_partition_map_checksum): New function.
12014 (amiga_partition_map_iterate): Check checksum.
12015
5470225d
VS
120162011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12017
12018 ROMFS support.
12019
12020 * Makefile.util.def (libgrubmods.a): Add romfs.
12021 * grub-core/Makefile.core.def (romfs): New module.
12022 * grub-core/fs/romfs.c: New file.
12023
d4680a35
VS
120242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12025
12026 Squashfs v4 support.
12027
12028 * Makefile.util.def (libgrubmods.a): Add squash4.
12029 * grub-core/Makefile.core.def (squash4): New module.
12030 * grub-core/fs/squash4.c: New file.
12031 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
12032 disk_input_start, disk_input.
12033 (get_byte): Handle disk_input.
12034 (grub_zlib_disk_read): New function.
12035 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
12036
bcb18e74
FZ
120372011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
120382011-05-15 Feiran Zheng <famcool@gmail.com>
12039
12040 * Makefile.util.def (libgrubmods.a): Add minix3.
12041 * grub-core/Makefile.core.def (minix3): New module.
12042 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
12043 (GRUB_MINIX_BSIZE): Removed.
12044 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
12045 (grub_minix_ino_t): New type.
12046 (grub_minix_le_to_cpu_ino): New macro.
12047 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
12048 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
12049 (grub_minix_data): New field block_size.
12050 (grub_minix_read_file): Handle 64-bit correctly.
12051 * grub-core/fs/minix3.c: New file.
12052
32297d5f
TG
120532011-05-15 Tristan Gingold <gingold@free.fr>
120542011-05-15 Robert Millan <rmh.grub@aybabtu.com>
120552011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12056
12057 IA64 support.
12058
12059 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
12060 * configure.ac: Add ia64-efi target.
12061 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
12062 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
12063 * gentpl.py: Add ia64_efi platform.
12064 Rename x86_efi to efi and Add ia64-efi. All users updated.
12065 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
12066 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
12067 Remove kern/generic/rtc_get_time_ms.c on EFI.
12068 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
12069 kern/ia64/dl_helper.c on ia64-efi.
12070 Add kern/emu/cache.c on emu.
12071 (linux): Use on loader/ia64/efi/linux.c on ia64.
12072 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
12073 whether symbol is a function.
12074 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
12075 (grub_symbol): New field 'isfunc'.
12076 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
12077 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
12078 (grub_dl_load_segments): Place all sections into the same region.
12079 [__ia64__]: Create trampolines and got.
12080 [GRUB_MACHINE_EMU]: Call mprotect.
12081 (grub_dl_resolve_symbols): Resolve symbol type as well.
12082 [__ia64__]: Create function descriptors.
12083 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
12084 (grub_rtc_get_time_ms): ... this. Expressions simplified.
12085 (grub_get_rtc): New function.
12086 * grub-core/kern/emu/cache.c [__ia64__]: New file.
12087 * grub-core/kern/emu/cache.S: Renamed to ...
12088 * grub-core/kern/emu/cache_s.S: ... this.
12089 [__ia64__]: Add a nop.
12090 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
12091 [__ia64__]: New function.
12092 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
12093 * grub-core/kern/ia64/dl.c: New file.
12094 * grub-core/kern/ia64/dl_helper.c: Likewise.
12095 * grub-core/kern/ia64/efi/init.c: New file.
12096 * grub-core/kern/ia64/efi/startup.S: Likewise.
12097 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
12098 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
12099 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
12100 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
12101 * grub-core/loader/ia64/efi/linux.c: New file.
12102 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
12103 (GRUB_MOD_DEP): Likewise.
12104 (grub_dl) [__ia64__]: New fields got and tramp.
12105 (grub_dl): New field 'base'.
12106 (grub_dl_register_symbol): New argument isfunc. All users updated.
12107 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
12108 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
12109 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
12110 (grub_ia64_dl_get_tramp_got_size): New proto.
12111 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
12112 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
12113 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
12114 * include/grub/efi/api.h: Skip call wrappers on ia64.
12115 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
12116 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
12117 * include/grub/elf.h (ELF_ST_INFO): New definition.
12118 * include/grub/ia64/efi/kernel.h: New file.
12119 * include/grub/ia64/efi/memory.h: Likewise.
12120 * include/grub/ia64/efi/time.h: Likewise.
12121 * include/grub/ia64/kernel.h: Likewise.
12122 * include/grub/ia64/setjmp.h: Likewise (from glibc).
12123 * include/grub/ia64/time.h: New file.
12124 * include/grub/ia64/types.h: Likewise.
12125 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
12126 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
12127 New protos.
12128 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
12129 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12130 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
12131 * util/grub-mkimage.c (image_target_desc): New field pe_target.
12132 All users updated.
12133 (EFI64_HEADER_SIZE): New definition. All users updated.
12134 (image_targets): Add ia64-efi.
12135 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
12136 jumpers_addr. All users updated.
12137 Create function descriptors.
12138 (count_funcs): New function.
12139 (unaligned_uint32): New struct.
12140 (MASK20): New definition.
12141 (MASK19): Likewise.
12142 (MASKF21): Likewise.
12143 (add_value_to_slot_20b): New function.
12144 (add_value_to_slot_21_real): Likewise.
12145 (add_value_to_slot_21): Likewise.
12146 (ia64_kernel_trampoline): New struct.
12147 (nopm): New variable.
12148 (jump): Likewise.
12149 (make_trampoline): New function.
12150 (relocate_addresses): Handle ia64.
12151 (make_reloc_section): Likewise.
12152 (load_image): Likewise.
12153
983b414d
VS
121542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12155
12156 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
12157 warning. Move variables before code while on it.
12158
5d063cdc
VS
121592011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12160
12161 Fuloong support.
12162
12163 * configure.ac: Rename yeeloong platform to loongson. All users updated.
12164 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
12165 * grub-core/boot/mips/loongson/fuloong.S: New file.
12166 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
12167 Explicitly init CS5536.
12168 [FULOONG]: Don't use serial until CS5536 is available.
12169 Set GPIO based on dumps.
12170 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
12171 [FULOONG]: Handle GPIO and memory controller differences.
12172 Parse machine type in $a2.
12173 * grub-core/boot/mips/startup_raw.S: Determine and save the
12174 architecture.
12175 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
12176 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
12177 init on architecture type.
12178 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12179 SIS315E. Don't init at_keyboard on fuloong.
12180 (grub_halt): Support Fuloong.
12181 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
12182 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
12183 (loongson_machtypes): New array.
12184 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
12185 type.
12186 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
12187 config. All users updated. Handle CS5536 serial.
12188 * grub-core/term/serial.c (grub_serial_register): Conditionalise
12189 default port on machine type. Register serial as inactive.
12190 * grub-core/video/sis315pro.c: New file.
12191 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
12192 definition.
12193 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
12194 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
12195 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
12196 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
12197 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
12198 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
12199 to ...
12200 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
12201 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
12202 definition.
12203 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
12204 (grub_arch_machine): New extern var.
12205 * include/grub/mips/loongson/serial.h
12206 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
12207 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
12208 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
12209 (GRUB_MACHINE_SERIAL_PORT0): ... this.
12210 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
12211 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
12212 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
12213 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
12214 * include/grub/term.h (grub_term_register_input_inactive): New inline
12215 function.
12216 (grub_term_register_output_inactive): Likewise.
12217 * include/grub/video.h (grub_video_driver_id): New value
12218 GRUB_VIDEO_DRIVER_SIS315PRO.
12219 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
12220 New field "names". All users updated.
12221 New field value IMAGE_FULOONG_FLASH.
12222 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
12223
6ada82d1
JU
122242011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
12225
12226 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
12227 and add some clarification.
12228
90c571a4
VS
122292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12230
12231 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
12232 platforms if kernel is compressed.
12233
de04eecf
VS
122342011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12235
12236 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
12237 unused modules since currently referrence counter isn't reliable and
12238 there isn't much memory to recover there anyway.
12239
57688121
VS
122402011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12241
12242 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
12243 rather than resetting it to allow modules to reference themselves
12244 in init.
12245
3d2c7e35
VS
122462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12247
12248 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
12249 counter on dependencies since grub_dl_unref already handles this.
12250
b25db218
VS
122512011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
12254 on error if not already done.
12255
25a45338
VS
122562011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12257
12258 Fix few potential memory misusage.
12259
12260 * grub-core/font/font.c (load_font_index): Don't free char_index to
12261 avoid double free.
b25db218
VS
12262 (grub_font_load): Zero-fill font at alloc for safety.
12263 Close file on error.
12264 (free_font): Free bmp_idx.
25a45338 12265
0cac83df
VS
122662011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12267
12268 * docs/grub.texi (Installation): Fix several outdated claims.
12269
2217a143
VS
122702011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12271
12272 Handle module_license on windows.
12273
12274 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
12275 sections shifted.
12276 (insert_string): Make argument const char * instead of char *.
12277 (write_section_data): Handle long section names.
12278 Handle module_license.
12279
d4de6b01
VS
122802011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12281
12282 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
12283 handle class-free menuentries.
12284 (grub_normal_add_menu_entry): Add a check to be sure.
12285
4c2a3b43
VS
122862011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12287
12288 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
12289 PgUp and PgDown.
12290
85c6210f
VS
122912011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12292
12293 * configure.ac: Bump version to 1.99.
12294
36084912
VS
122952011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12296
12297 Give ATA device a bit more time on first try in order to allow disks
12298 to spin up.
12299
12300 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
12301 if dev->present is 1. Reset dev->present on failure.
12302 (grub_ata_device_initialize): Set dev->present to 1.
12303 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
12304 (grub_ata_device): New member 'present'.
12305
bda0e219
VS
123062011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12307
12308 * util/grub-mkimage.c (generate_image): Update hash.
12309
19e1c41b
VS
123102011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12311
12312 Flush caches on DMA memory.
12313
12314 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
12315 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
12316 (grub_dma_free): Likewise.
12317 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
12318
91bbcc0c
VS
123192011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12320
12321 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
12322 to avoid asm treating ld and sd as macros.
12323
60ddfad3
VS
123242011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
12327 decompressor.
12328
a298aa04
VS
123292011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12330
12331 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
12332 grub_decompress_core since later would fail if grub_decompress_core
12333 is too far.
12334
9b44feca
VS
123352011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12336
12337 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
12338 R_MIPS_JALR since it's used by newer compiler.
12339
56dbe7b4
VS
123402011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
12341
12342 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
12343
52856af2
VS
123442011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12345
12346 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
12347 file_path to 0 for surety.
12348 (grub_chainloader_boot): Set exit_data to NULL.
12349 Unset the loader once done.
12350 (grub_cmd_chainloader): Fix confusing error message if file is empty.
12351
9c9bfc6d
VS
123522011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12353
12354 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
12355 unknown key into a dprintf.
12356
dd94a3df
VS
123572011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12358
12359 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
12360 on first non-existant partition.
12361
fa68d99c
VS
123622011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12363
12364 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
12365 openning fails.
12366 Reported by: Mark Korenberg.
12367
157effb7
VS
123682011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
12371 overflow.
12372
ea75312f
VS
123732011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12374
12375 * util/grub-mkimage.c (main): Explicitely flush and sync the output
12376 before closing to ensure that it will be readable by grub-setup.
12377
072b5d31
VS
123782011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12379
12380 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
12381 (devpath_1): Use MAKE_PIWG_PATH.
12382 (devpath_2): Likewise.
12383 (devpath_3): Likewise.
12384 (devpath_4): Likewise.
12385 (devpath_5): Likewise.
12386 (devpath_6): Likewise.
12387
12388 The appleldr.mod was checked that to be binary identical to previous
12389 version.
12390
7fae0051
Z
123912011-05-05 Zach <mikezackles>
12392
12393 Support 2010 Macbooks.
12394
12395 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
12396 (devs): Add devpath_6.
12397
7c515bee
VS
123982011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12399
12400 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
12401 /dev/random. /dev/urandom is good enough for our purposes (salting).
12402
ed660bd8
VS
124032011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12404
12405 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
12406
ee5614b7
VS
124072011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12408
12409 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
12410 hexadecimal.
12411
664889a6
VS
124122011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12413
12414 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
12415 and not 0 on failure.
12416
bd405bbc
CW
124172011-05-03 Colin Watson <cjwatson@ubuntu.com>
12418
12419 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
12420 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
12421 disk; otherwise grub_fs_probe will not fall back to the next
12422 filesystem.
12423 (grub_pxefs_open): Likewise, for consistency.
12424 Reported and tested by: Ezekiel Grave.
12425
4ebff753
CW
124262011-05-03 Colin Watson <cjwatson@ubuntu.com>
12427
12428 * tests/partmap_test.in: Don't hardcode path to parted.
12429 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
12430
8f942553
CW
124312011-05-01 Colin Watson <cjwatson@ubuntu.com>
12432
12433 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
12434 of `ls' to find out which devices are available.
12435
3c62402d
VS
124362011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
12439 than source address for efi mmap buffer.
12440
723f63f2
VS
124412011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12442
12443 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
12444 wrong action on non-detecting the magic.
12445
68797f92
VS
124462011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12447
12448 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
12449 already supplied by another part of the module (fixes compilation on
12450 FreeBSD).
12451
6be8715d
VS
124522011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12453
12454 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
12455 match the one used by mdadm.
12456
e91dba5b
CW
124572011-04-21 Colin Watson <cjwatson@ubuntu.com>
12458
12459 * po/README: Add instructions for creating po/LINGUAS.
12460
c85140b3
CW
124612011-04-21 Colin Watson <cjwatson@ubuntu.com>
12462
12463 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
12464 #551428.
12465
12466 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
12467 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
12468 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
12469 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
12470 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
12471 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
12472 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
12473 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
12474 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
12475 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
12476 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
12477 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
12478 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
12479 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
12480 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
12481 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
12482 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
12483 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
12484 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
12485 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
12486 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
12487 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
12488
92051871
CW
124892011-04-21 Colin Watson <cjwatson@ubuntu.com>
12490
12491 * grub-core/kern/emu/getroot.c
12492 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
12493 test that was incorrectly reintroduced in r3214.
12494 Reported by: Ian Dall. Fixes Savannah bug #33133.
12495
b13f79a4
CW
124962011-04-21 Colin Watson <cjwatson@ubuntu.com>
12497
12498 Fix stack pointer handling in 16-bit relocator.
12499
12500 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
12501 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
12502 Fixes Ubuntu bug #683904.
12503
9b710a88
VS
125042011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12505
12506 * configure.ac: Bump version to 1.99~rc2.
12507
d97e7b59
VS
125082011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12509
12510 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
12511 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
12512 * grub-core/lib/x86_64/setjmp.S: Likewise.
12513 * grub-core/lib/mips/setjmp.S: Likewise.
12514 * grub-core/lib/powerpc/setjmp.S: Likewise.
12515 * grub-core/lib/sparc64/setjmp.S: Likewise.
12516
0624551c
VS
125172011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12518
12519 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
12520 * grub-core/lib/efi/datetime.c: Likewise.
12521
e8f28d4c
VS
125222011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12523
12524 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
12525 New function.
12526 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
12527 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
12528 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
12529
bba79a15
VS
125302011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
12533 bitmap.
12534 (grub_gfxterm_term_init): Likewise.
12535
abc474ef
VS
125362011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12537
12538 Take into account the decorations the computing menu entry width.
12539
12540 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
12541 (grub_gfxmenu_create_box): Register get_border_width.
12542 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
12543 if available.
12544 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
12545 get_border_width.
12546
e74b3947
EP
125472011-04-18 Endres Puschner <code@e7p.de>
12548
12549 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
12550 Don't skip first class.
12551
34faa595
VS
125522011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12553
12554 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
12555 chunks.
12556 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
12557
93a777e3
VS
125582011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 Complete 64-bit division support.
12561
12562 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
12563 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
12564 * include/grub/misc.h (grub_divmod64): Rename to ...
12565 (grub_divmod64_full): ... this.
12566 (grub_divmod64): New inline function.
12567
a5102d94
VS
125682011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12569
12570 * util/grub-mkimage.c (generate_image): Add forgotten comma.
12571
f3fb7b36
VS
125722011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12573
12574 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
12575 performing the necessary test.
12576
9ac718b0
VS
125772011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12578
12579 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
12580 (kfreebsd.elf): Likewise.
12581 (pc-chainloader.elf): Likewise.
12582 (ntldr.elf): Likewise.
12583
50d2cc5a
VS
125842011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12585
12586 Identify RAID by its UUID rather than (guessed) name.
12587
12588 * grub-core/disk/raid.c (ascii2hex): New function.
12589 (grub_raid_open): Accept mduuid/%s specification.
12590 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
12591 (get_mdadm_uuid): ... this.
12592 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
12593
e03f7bea
VS
125942011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
12595
12596 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
12597 to negative size.
12598
e74c3112
CW
125992011-04-13 Colin Watson <cjwatson@ubuntu.com>
12600
12601 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
12602 btrfs subvolume.
12603 * util/grub.d/20_linux_xen.in: Likewise.
12604
78fa584f
CW
126052011-04-13 Colin Watson <cjwatson@ubuntu.com>
12606
12607 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
12608 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
12609
12610 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12611 Build a list of relevant visible mounts using the mnt_id and
12612 parent_mnt_id fields, and then scan that list at the end.
12613
9d5f8162
CW
126142011-04-12 Colin Watson <cjwatson@ubuntu.com>
12615
12616 * docs/grub.texi (normal): New section.
12617 (normal_exit): New section.
12618 (Embedded configuration): Add reference to normal.
12619 (GRUB only offers a rescue shell): Likewise.
12620 * docs/grub-dev.texi (Error Handling): Fix typo.
12621
09a9d66f
CW
126222011-04-12 Colin Watson <cjwatson@ubuntu.com>
12623
12624 * NEWS: Drop obsolete entry about probe-only btrfs support.
12625
0c676933
CW
126262011-04-12 Colin Watson <cjwatson@ubuntu.com>
12627
12628 * util/import_gcry.py: Fix typo.
12629
ec9f5e0d
VS
126302011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12631
12632 * NEWS: Add btrfs support.
12633
fe6b2cba
VS
126342011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
126352011-04-11 Colin Watson <cjwatson@ubuntu.com>
12636
12637 BtrFS support. Written by me (Vladimir) with important bugfixes and
12638 even more important testing by Colin.
12639
12640 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
12641 * grub-core/Makefile.core.def (btrfs): Add crc.c.
12642 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
12643 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
12644 mem_input_off and mem_input. All users updated to accept in-RAM input.
12645 (gzio_seek): New function.
12646 (test_zlib_header): Likewise.
12647 (grub_gzio_read): Likewise.
12648 (grub_zlib_decompress): Likewise.
12649 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
12650 Accept partial and non-virtual mounts.
12651 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
12652 avoid receiving /dev/dm-X as device.
12653 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
12654 Handle bind and partial mounts.
12655 * grub-core/lib/crc.c: New file.
12656 * include/grub/deflate.h: Likewise.
12657 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
12658 proto.
12659 * include/grub/lib/crc.h: New file.
12660
e745cf0c
VS
126612011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12662
12663 Implement automatic module license checking according to new GNU
12664 guidelines.
12665
12666 * grub-core/kern/dl.c (grub_dl_check_license): New function.
12667 (grub_dl_load_core): Use grub_dl_check_license.
12668 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
12669 (GRUB_MOD_LICENSE): Likewise.
12670 (GRUB_MOD_DUAL_LICENSE): Likewise.
12671 All modules updated.
12672
2a9bc016
CW
126732011-04-11 Colin Watson <cjwatson@ubuntu.com>
12674
12675 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
12676 reserved_first_sector to 1. btrfs reserves plenty of space for boot
12677 loaders.
12678 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
12679
8a3bc88e
VS
126802011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12681
12682 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
12683
af869a4a
VS
126842011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12685
12686 * util/grub-fstest.c (read_file): Report GRUB error if file opening
12687 failed.
12688
9ee8d94f
VS
126892011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12690
12691 * grub-core/kern/file.c (grub_file_open): Don't take into account the
12692 parenthesis in the middle of the filename.
12693
b01abe3e
VS
126942011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
12697 rather than trying to put initrd way too high.
12698 Reported by: Ryan Lortie <desrt@desrt.ca>
12699
335bda1e
VS
127002011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
12703 improperly removed string.
12704
5ca1a64d
VS
127052011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
12708 is_disk.
12709 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
12710 (open_device) Likewise.
12711 (grub_util_biosdisk_close): Likewise.
d8ce9995 12712 Reported by: Mark Korenberg.
5ca1a64d 12713
cbac5b1e
AK
127142011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
12715
12716 * util/grub-mkconfig_lib.in: Add missing quotes.
12717
088cdb65
CW
127182011-04-10 Colin Watson <cjwatson@ubuntu.com>
12719
12720 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
12721 is NULL.
12722
8b8a81fa
VS
127232011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12724
12725 Dynamically count the number of lines for the lower banner.
12726
12727 * grub-core/normal/menu_entry.c (per_term_screen): New member
12728 num_entries.
12729 (print_down): Use num_entries.
12730 (update_screen): Likewise.
12731 (grub_menu_entry_run): Set num_entries.
12732 * grub-core/normal/menu_text.c (menu_viewer_data): New member
12733 num_entries.
12734 (grub_print_message_indented): Move real part to ...
12735 (grub_print_message_indented_real): ... here. Additional argument
12736 dry_run.
12737 (draw_border): Additional argument num_entries.
12738 (print_message): Additional argument dry_run.
12739 (print_entries): Receive menu viewer data.
12740 (grub_menu_init_page): New argment num_entries.
12741 (menu_text_set_chosen_entry): Use num_entries.
12742 (grub_menu_try_text): Likewise.
12743 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
12744 All users updated.
12745 (grub_ucs4_count_lines): New function.
12746 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
12747 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
12748 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
12749 (grub_term_border_height): Likewise.
12750 (grub_term_num_entries): Likewise.
12751
277f955b
VS
127522011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12753
12754 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
12755 Remove now unused string.
12756
536ce85a
CW
127572011-04-09 Colin Watson <cjwatson@ubuntu.com>
12758
12759 * docs/grub-dev.texi (Finding your way around): Update for 1.99
12760 build system.
12761 (Getting started): GRUB is developed in Bazaar now, not Subversion.
12762
12763 (Comment): Fix typo.
12764 (Getting started): General copy-editing.
12765 (Typical Development Experience): Likewise.
12766 (Error Handling): Likewise.
12767 (Video API): Likewise.
12768
2cf09e32
CW
127692011-04-09 Colin Watson <cjwatson@ubuntu.com>
12770
12771 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
12772 throughout.
12773
1ec652f4
VS
127742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12775
12776 * util/grub-mkimage.c (main): Handle special naming of yeeloong
12777 directory.
12778
2c583728
CW
127792011-04-08 Colin Watson <cjwatson@ubuntu.com>
12780
12781 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
12782 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
12783 "development".
12784
d7a565e9
VS
127852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12786
12787 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
12788 grub_strcpy since the lines aren't necessarily 0-terminated.
12789
7c2e4909
VS
127902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12791
12792 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
12793 root on legacy.
12794
34c09785
VS
127952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12796
12797 * grub-core/commands/probe.c (options): Argument to set isn't optional.
12798 (GRUB_MOD_INIT): DEVICE isn't optional.
12799
6a6f8058
VS
128002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12801
12802 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
12803 word on new line if it's too long anyway. Fixes a hang.
12804
2e335e90
VS
128052011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12806
12807 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
12808 const.
12809 * util/grub-setup.c (main): Reuse md device name if available.
12810 * util/raid.c (grub_util_raid_getmembers): Receive device name and
12811 not GRUB name as argument.
12812 Based on patch by: Florian Wagner <fwagner>.
12813
10a7a867
VS
128142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12815
12816 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12817 Place mbi on low memory for better compatibility.
12818
7a3d6cd9
VS
128192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12820
12821 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
12822
18dd6b47
VS
128232011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
128242011-04-08 Colin Watson <cjwatson@ubuntu.com>
12825
12826 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 12827 * conf/Makefile.common: Likewise.
18dd6b47 12828
3c0e3f14
VS
128292011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12830
f7148863
VS
12831 * grub-core/normal/menu.c: Add missing include.
12832
128332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12834
12835 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 12836
6d1fa41f
MZ
128372011-04-08 Martin Zuther <mzuther@mzuther.de>
12838
12839 * util/grub-mkconfig.in: Ignore emacsen backup.
12840
478182a8
VS
128412011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12842
12843 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
12844 on open.
12845 (grub_util_biosdisk_close): Likewise.
12846
72a89a54
VS
128472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12848
12849 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
12850 const attribute and use grub_isdigit.
12851
b5ebecfa
A
128522011-04-06 Andrey <dev_null@ukr.net>
12853
12854 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
12855 gcc warning.
12856
7755f66e
VS
128572011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12858
12859 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12860 useful grub_dprintf's.
12861
461121ff
VS
128622011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12863
12864 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12865
2a961775
VS
128662011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12869
adf594cc
VS
128702011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12871
12872 Output errors if theme loading failed.
12873
12874 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12875 grub_gfxterm_fullscreen on error paths to ...
12876 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12877 theme loading error.
12878
665900a3
VS
128792011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12880
12881 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12882 space for older compilers.
12883 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12884
a562b479
VS
128852011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12886
12887 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12888 and report them as not RAID members since they are useless for GRUB.
12889 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12890
850e9373
VS
128912011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12892
12893 Increase LVM implementation robustness in order not to crash on
12894 configurations like pvmove. Previously code assumed that in some places
12895 only lvs or only pvs are used whereas it seems that they are used
12896 interchangeably.
12897
12898 * grub-core/disk/lvm.c (read_node): New function.
12899 (read_lv): Use read_node.
12900 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12901 Match volumes only at the end when all lvs are found. Take both
12902 pvs (first) and lvs (second) into account.
12903 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12904 mirror_* into node_*. All users updated.
12905 (grub_lvm_stripe): Merge this ...
12906 (grub_lvm_mirror): ... and this ...
12907 (grub_lvm_node): ... into this. All users updated.
12908
6f332153
VS
129092011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12910
12911 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12912 of function to allow further scanning for LVMs.
12913
829ea451
VS
129142011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12915
12916 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12917 on failed seek as it breaks open fd reusage.
12918
09ceb9a5
VS
129192011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12920
12921 * util/grub-install.in: Add a recommendation to use --recheck before
12922 reporting bugs.
12923
67e11623
VS
129242011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12925
12926 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12927 are obtained.
12928
caee5efd
VS
129292011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12930
12931 GRUB developper manual based on existing Internals section and
12932 contributions by the various authors with active copyright assignment.
12933
12934 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12935 * docs/font_char_metrics.png: New file.
12936 * docs/font_char_metrics.txt: Likewise.
12937 * docs/grub-dev.texi: Likewise.
12938 * docs/grub.texi (Internals): Move from here ...
12939 * docs/grub-dev.texi: ... here.
12940
2cccc747
CW
129412011-04-01 Colin Watson <cjwatson@ubuntu.com>
12942
12943 Store the loopback device as data on loopback grub_disk structures,
12944 rather than the file it points to. This fixes use of freed memory
12945 if an existing loopback device is replaced.
12946
12947 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12948 disk->data, not dev->file.
12949 (grub_loopback_read): Adjust file assignment to match.
12950 Fixes Ubuntu bug #742967.
12951
186ae367
CW
129522011-04-01 Colin Watson <cjwatson@ubuntu.com>
12953
12954 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12955 when replacing an existing device.
12956
cfed2ad0
VS
129572011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12958
12959 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12960 memory corruptions.
12961
12962 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12963 unsigned.
12964 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12965 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12966 (grub_jfs_read_inode): Likewise.
12967 (grub_jfs_opendir): Likewise. Remove now useless casts.
12968 (grub_jfs_getent): Likewise.
12969 Make ino a grub_uint32_t rather than int.
12970 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12971 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12972 division and module with bit operations.
12973 (grub_jfs_find_file): Make ino a grub_uint32_t.
12974 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12975
05d2ed32
CW
129762011-04-01 Colin Watson <cjwatson@ubuntu.com>
12977
12978 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12979 warning. (This was in fact always initialised before use, but GCC
12980 wasn't smart enough to prove that.)
12981 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12982
91dc6073
VS
129832011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12984
12985 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12986 stack alignment.
12987 (efi_wrap_1): Likewise.
12988 (efi_wrap_2): Likewise.
12989 (efi_wrap_3): Likewise.
12990 (efi_wrap_4): Likewise.
12991 (efi_wrap_5): Likewise.
12992 (efi_wrap_6): Likewise.
12993 (efi_wrap_10): Likewise.
12994 Based on information by: Red Hat/Peter Jones.
12995
a8afc1d1
CW
129962011-03-31 Colin Watson <cjwatson@ubuntu.com>
12997
12998 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12999 set-but-not-used variable.
13000
a826cc7d
CW
130012011-03-31 Colin Watson <cjwatson@ubuntu.com>
13002
13003 * docs/grub.texi (Simple configuration): Be more explicit about
13004 GRUB_DEFAULT, and add an example.
13005 Reported by: Leslie Rhorer.
13006
875b67ba
CW
130072011-03-30 Colin Watson <cjwatson@ubuntu.com>
13008
13009 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
13010 shell".
13011
fd7cd914
AS
130122011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
13013
13014 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
13015 * util/grub.d/20_linux_xen.in: Likewise.
13016
090b1b6a
VS
130172011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13018
13019 * util/grub.d/10_linux.in: Try alternative config filenames where
13020 we parse config file.
13021 * util/grub.d/20_linux_xen.in: Likewise.
13022
baad885c
AS
130232011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
13024
13025 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
13026 * util/grub.d/20_linux_xen.in: Likewise.
13027
241e41f5
VS
130282011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 * grub-core/disk/raid.c (insert_array): Add few potentially
13031 useful grub_util_info.
13032 (grub_raid_register): Likewise.
13033
56445fb2
VS
130342011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13035
13036 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
13037 Preserve partition number in mdadm code path.
13038
c871b1c6
VS
130392011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13040
13041 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
13042 few potentially useful grub_util_info.
13043
5e631b4f
CW
130442011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13045
13046 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
13047
2d5d0333
CW
130482011-03-30 Colin Watson <cjwatson@ubuntu.com>
13049
13050 * docs/grub.texi (default): Use @example rather than nested
13051 itemized lists to avoid breaking gendocs.
13052
3d7ed04e
CW
130532011-03-30 Colin Watson <cjwatson@ubuntu.com>
13054
13055 * docs/grub.texi (Future): Update.
13056
abf04200 130572011-03-30 Colin Watson <cjwatson@ubuntu.com>
13058
13059 * docs/grub.texi (Environment): New chapter.
13060 (Changes from GRUB Legacy): Link to "Environment block" section for
13061 details of limitations.
13062 (Simple configuration): Likewise. Link to documentation of gfxmode
13063 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
13064 respectively.
13065 (Shell-like scripting): Note that normal variables are stored in the
13066 environment.
13067 (gettext): Link to documentation of lang and locale_dir.
13068 (list_env): New section.
13069 (load_env): New section.
13070 (save_env): New section.
13071
13072 (Reporting bugs): Fix typo.
13073
e1ad0edd
VS
130742011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13075
13076 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
13077 the example.
13078
5d803174
VS
130792011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13080
13081 * grub-core/term/at_keyboard.c (set_scancodes)
13082 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
13083
2a2da1d0
CW
130842011-03-30 Colin Watson <cjwatson@ubuntu.com>
13085
13086 * docs/grub.texi (Menu-specific commands): Remove some semantics
13087 that were true in GRUB Legacy but not in GRUB 2.
13088 (submenu): New section.
13089 (false): New section.
13090 (read): New section.
13091 (true): New section.
13092
a7527639
CW
130932011-03-30 Colin Watson <cjwatson@ubuntu.com>
13094
13095 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
13096
130972011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
13098
13099 * docs/grub.texi (Simple configuration): Explain some of the
13100 current limitations of grub-mkconfig.
8a748df2 13101 Reported by: Leslie Rhorer.
e30af029 13102
fc858482
VS
131032011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13104
13105 Old macs search for boot.efi rather than for bootia32.efi.
13106
13107 * util/grub-install.in: Copy bootia32.efi to boot.efi.
13108 * util/grub-mkrescue.in: Likewise.
13109 Suggested by: Peter Jones.
13110
e1eb511d
VS
131112011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13112
13113 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
13114
70e75364
VS
131152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
13118 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
13119 (grub_lvm_mirror): New struct.
13120 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
13121 (grub_lvm_iterate): Iterate only visible volumes.
13122 (grub_lvm_read): Factor out to ..
13123 (read_lv): ... this. Support mirrors.
13124 (grub_lvm_read): New wrapper function.
13125 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
13126 stripped or mirrored.
13127
fc18f6a3
VS
131282011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13129
13130 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
13131
5c650f4c
CW
131322011-03-29 Colin Watson <cjwatson@ubuntu.com>
13133
13134 * docs/grub.texi (loopback): New section.
13135
61d7156b
CW
131362011-03-29 Colin Watson <cjwatson@ubuntu.com>
13137
13138 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
13139 removed -p option.
13140
994b8264
CW
131412011-03-29 Colin Watson <cjwatson@ubuntu.com>
13142
13143 * docs/grub.texi (BIOS installation): New section, partly based on
13144 previous text in other sections.
13145 (Installing GRUB using grub-install): Replace BIOS discussion with a
13146 cross-reference.
13147 (Images): Likewise.
13148
9e4d19e0
VS
131492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13150
13151 * grub-core/kern/emu/hostdisk.c (find_partition_start)
13152 [HAVE_DIOCGDINFO]: Add safety checks.
13153
a307c0b2
VS
131542011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
13157 per default compiled in kernel and prior to 8.0 isn't shipped at all.
13158
b4db4f39
CW
131592011-03-29 Colin Watson <cjwatson@ubuntu.com>
13160
13161 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
13162 real_sb->size is zero (e.g. RAID-0), get the disk size from
13163 real_sb->data_size instead.
13164 Fixes Ubuntu bug #743136.
13165
35e5f84c
VS
131662011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
13169 printf clauses for printing size and start.
13170
d2e29d81
VS
131712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13172
13173 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
13174 Reported and tested by: Timothy Nikkel.
13175
ed5587af
VS
131762011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13177
13178 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
13179 (dirty_region_add_real): ... this.
13180 (dirty_region_add): Don't discard margin refresh when performing
13181 scheduled repaint.
13182
a1dc717c
VS
131832011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 * grub-core/lib/relocator.c (allocate_regstart)
13186 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
13187 terminals are capabple of malloc-free operation.
13188 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13189 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13190
9f3677d3
VS
131912011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
13192
13193 * util/grub-setup.c: Copy the partition table zone if floppy support
13194 is disabled, even if no partition table is found.
13195
13196 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
13197 during POST if an invalid partition table is contained in the PBR
13198 of the active partition when GRUB is installed to a partition.
13199
24148725
CW
132002011-03-28 Colin Watson <cjwatson@debian.org>
13201
13202 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
13203 comment.
13204
f329eda7
CW
132052011-03-28 Colin Watson <cjwatson@debian.org>
13206
13207 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
13208 to be specific about what kind of RAID device we're scanning for.
13209
c482ad98
SG
132102011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
13211
13212 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
13213 return freed string.
13214
5ee04984
VS
132152011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13216
13217 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
13218
f4727da9
VS
132192011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13220
13221 Use libgeom on FreeBSD to detect partitions.
13222
13223 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
13224 (grub-mkrelpath): Likewise.
13225 (grub-script-check): Likewise.
13226 (grub-editenv): Likewise.
13227 (grub-mkpasswd-pbkdf2): Likewise.
13228 (grub-fstest): Likewise.
13229 (grub-mkfont): Likewise.
13230 (grub-mkdevicemap): Likewise.
13231 (grub-probe): Likewise.
13232 (grub-setup): Likewise.
13233 (grub-ofpathname): Likewise.
13234 (grub-mklayout): Likewise.
13235 (example_unit_test): Likewise.
13236 (grub-menulst2cfg): Likewise.
13237 * grub-core/Makefile.core.def (grub-emu): Likewise.
13238 (grub-emu-lite): Likewise.
13239 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
13240 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
13241 define HAVE_DIOCGDINFO.
13242 (follow_geom_up) [FreeBSD]: New function.
13243 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
13244 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
13245 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
13246 unconditionally of HAVE_DIOCGDINFO.
13247
82fe6c75
VS
132482011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 Fix FreeBSD compilation problem.
13251
13252 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
13253 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
13254
4c6c9431
CW
132552011-03-24 Colin Watson <cjwatson@ubuntu.com>
13256
13257 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
13258 Switch back to page zero before loading a kernel, since some kernel
13259 drivers expect that.
13260 Thanks to: Felix Kuehling.
13261
c7064d94
VS
132622011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13263
13264 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
13265 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
13266 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
13267
3f71cded
VS
132682011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
13271 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
13272
ef6de21a
VS
132732011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13274
13275 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
13276 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
13277 malloc is disabled.
13278
8bc66a2c
VS
132792011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
13282 for modules headers when counting the needed allocation size.
13283
5657722c
VS
132842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13285
13286 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
13287 if no ASCII character is found to prevent crash.
13288
41a85f55
AK
132892011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
13290
13291 * grub-core/video/bitmap.c (match_extension): Ignore case.
13292
59e1e5f1
VS
132932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
13296
bd4d051a
VS
132972011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13298
13299 * grub-core/script/parser.y: Declare "time" as valid argument.
13300
bae7fcc1
PJ
133012011-03-23 Peter Jones <pjones@redhat.com>
13302
13303 Fix incorrect assert failure reporting.
13304
13305 * grub-core/tests/example_functional_test.c (example_test): Add
13306 a failure comment.
13307 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
13308 (failure_start): ...this. Check that malloc succeeded.
13309 Don't call xvasprintf. Return failure struct.
13310 (failure_append_vtext): New function.
13311 (failure_append_text): Likewise.
13312 (add_failure): Likewise.
13313 (grub_test_assert_helper): Likewise.
13314 * include/grub/test.h (grub_test_assert_helper): New declaration.
13315 (grub_test_assert): Macro rewritten.
13316
537dc9be
VS
133172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13318
13319 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
13320
fa3e01bf
VS
133212011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13322
13323 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
13324
b1d28404
VS
133252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13326
13327 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
13328 into GRUB-style one.
13329
2e3e2e09
VS
133302011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13331
13332 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
13333 error and not grub_errno.
13334 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
13335
ed57e557
VS
133362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
13339 GRUB_USB_SPEED_NONE in case of failure and not the error code.
13340
d1611f01
VS
133412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13342
13343 * grub-core/efiemu/i386/pc/cfgtables.c
13344 (grub_machine_efiemu_init_tables): Make declaration a prototype.
13345 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
13346 (grub_xnu_unlock): Likewise.
13347 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
13348
7d4e39d6
VS
133492011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13350
13351 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
13352 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
13353 * grub-core/commands/hashsum.c (aliases): Likewise.
13354 * grub-core/commands/setpci.c (pci_registers): Likewise.
13355 * grub-core/disk/usbms.c (attach_hook): Likewise.
13356 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
13357 (zio_checksum_table): Likewise.
13358 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
13359 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
13360 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
13361 * grub-core/lib/relocator.c (leftovers): Likewise.
13362 (extra_blocks): Likewise.
13363 * grub-core/loader/i386/bsd.c (relocator): Likewise.
13364 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
13365 (modules_last): Likewise.
13366 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
13367 (devices): Likewise.
13368 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
13369 (modules_last): Likewise.
13370 * grub-core/normal/auth.c (users): Likewise.
13371 * grub-core/normal/context.c (initial_menu): Likewise.
13372 (current_menu): Likewise.
13373 * grub-core/normal/crypto.c (crypto_specs): Likewise.
13374 * grub-core/term/serial.c (grub_serial_ports): Likewise.
13375 (grub_serial_terminfo_input_template): Likewise.
13376 (grub_serial_terminfo_output_template): Likewise.
13377 (grub_serial_terminfo_input): Likewise.
13378 (grub_serial_terminfo_output): Likewise.
13379 (registered): Likewise.
13380 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
13381
40fc4659
VS
133822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13383
13384 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
13385 grub_video_mode_type_t.
13386 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
13387 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
13388 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
13389
2da48d28
VS
133902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13391
13392 * util/grub-install.in: Correct the x86-64 name as x86_64.
13393
9b43bf39
CW
133942011-03-11 Colin Watson <cjwatson@ubuntu.com>
13395
13396 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
13397 initial chunk read from the kernel always includes GRUB's multiboot
13398 header, which is now outside the first sector.
13399
be1a7ce0
CW
134002011-03-09 Colin Watson <cjwatson@ubuntu.com>
13401
13402 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
13403 cached mmap_size, so that this works correctly when called multiple
13404 times.
13405 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
13406
83a3c48d
CW
134072011-03-09 Colin Watson <cjwatson@ubuntu.com>
13408
13409 * docs/grub.texi (Simple configuration): Tidy up formatting.
13410
57d75699
SJ
134112011-03-07 Szymon Janc <szymon@janc.net.pl>
13412
13413 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
13414 Set-but-not-used variable removed.
13415
028501a0
VS
134162011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13417
13418 Workaround yet another IEEE1275 bug.
13419
13420 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
13421 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
13422 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
13423 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
13424 is set.
13425 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13426 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
13427
d998657d
VS
134282011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
13431 error.
13432
fee7cdd4
CW
134332011-02-11 Colin Watson <cjwatson@ubuntu.com>
13434
13435 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
13436 empty, since in that case we can only generate either nothing or a
13437 syntactically invalid configuration file.
13438 Reported by: Michal Suchanek. Fixes Debian bug #612898.
13439
97286eb5
CW
134402011-02-09 Colin Watson <cjwatson@ubuntu.com>
13441
13442 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
13443 (Making a GRUB bootable CD-ROM): Likewise.
13444 (Invoking grub-mkrescue): New section.
13445 Reported by: Yann Dirson. Fixes Debian bug #612585.
13446
22b28eb3
CW
134472011-02-09 Colin Watson <cjwatson@ubuntu.com>
13448
13449 * util/grub-install.in: Remove unnecessary brackets from tr
13450 arguments.
13451 * util/grub.d/10_hurd.in: Likewise.
13452 * util/grub.d/10_kfreebsd.in: Likewise.
13453 * util/grub.d/10_linux.in: Likewise.
13454 * util/grub.d/20_linux_xen.in: Likewise.
13455 Reported by: Jamie Heilman. Fixes Debian bug #612564.
13456
7e735e43
CW
134572011-02-08 Colin Watson <cjwatson@ubuntu.com>
13458
13459 * include/grub/file.h (not_easly_seekable): Rename to ...
13460 (not_easily_seekable): ... this. Update all users.
13461
800f1881
CW
134622011-01-28 Colin Watson <cjwatson@ubuntu.com>
13463
13464 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
13465 grub-mkrescue.
13466
3281d3d6
VS
134672011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 * util/grub-mkimage.c (generate_image): Refuse to create the images
13470 bigger than the actual flash (512K) in Loongson machines. 512K is also
13471 the biggest chip supported by them.
13472
3533413c
VS
134732011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
13476
73ae4f4f
VS
134772011-01-22 Anthony DeRobertis <anthony@derobert.net>
13478
13479 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
13480 super_offset field.
13481
37f4f608
VS
134822011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13483
13484 * util/grub-install.in: Ignore install device on platforms
13485 where it doesn't make sense. Always use UUIDs except on pc, efi and
13486 sparc64.
13487 Reported by: Daniel Kahn Gillmor.
13488
03a4ccb5
VS
134892011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
13492
ffc8f4d8
VS
134932011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13494
13495 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
13496 (iterate_real): Don't rely on partition being non-NULL.
13497
80f23be7
VS
134982011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13499
13500 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
13501 supported platforms. Put a compile time assert for this rather than
13502 generate a warning with 32-bit shift.
13503
5d4f4dd5
VS
135042011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
13507 logical expression more readable.
13508
e489601a
VS
135092011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13510
13511 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
13512 even if some elements have a name.
13513 Reported by: Alexander GQ Gerasiov.
13514
96e0a6ea
CW
135152011-01-22 Colin Watson <cjwatson@ubuntu.com>
13516
13517 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
13518 path unreadable if `grub-probe -t abstraction' fails, for example if
13519 memberlist fails on an LVM volume group.
13520 Reported by: Darius Jahandarie.
13521
81431e2b
CW
135222011-01-22 Colin Watson <cjwatson@ubuntu.com>
13523
13524 * docs/grub.texi (Simple configuration): Document
13525 GRUB_PRELOAD_MODULES.
13526
5e79d66a
CW
135272011-01-17 Colin Watson <cjwatson@ubuntu.com>
13528
13529 * .bzrignore: Remove nonexistent grub-pbkdf2.
13530
646ada34
VS
135312011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
13532
13533 * configure.ac: Bump version to 1.99~rc1.
13534
04360337
VS
135352011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13536
13537 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
13538 for safety.
13539
46c9db88
VS
135402011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13541
13542 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
13543 module.
13544
135452011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
13546
13547 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
13548
4fbf1852
VS
135492011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13550
13551 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
13552 diskdevid.
13553
f1632d4d
VS
135542011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13555
13556 Fix compilation on cygwin.
13557
13558 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
13559 -R .drectve on cygwin.
13560 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
13561 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
13562 (COND_CYGWIN): New condition.
13563 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
13564 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
13565 not @TARGET_OBJ2ELF@.
13566 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
13567 type to determine whether aux is to be used.
13568
0b5e127b
VS
135692011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
13572 realpath'ed device string.
13573 Handle floppy (somewhat).
13574 Issue error in unknown case rather than garbage.
13575 Reported by: Axel Beckert.
13576
173b71e9
VS
135772011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13578
13579 * util/grub.d/00_header.in (load_video): Handle the case when no video
13580 drivers available.
13581 Thanks to: Axel Beckert.
13582
f8f479db
VS
135832011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13584
13585 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
13586 variable. Fixes problem on big endian platforms.
13587
8fc0a245
VS
135882011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13589
13590 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
13591 It doesn't work well there.
13592
b8494fbe
VS
135932011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13594
13595 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
13596 warning.
13597 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
13598 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
13599 counter.
13600
b44a558c
VS
136012011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13602
13603 Use alias->path rather than buggy "canon".
13604
13605 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
13606 (ofdisk_hash_add): New argument curcan. All users updated.
13607
51fa856c
CW
136082011-01-11 Colin Watson <cjwatson@ubuntu.com>
13609
13610 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
13611
9da068a5
VS
136122011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13613
13614 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
13615 loadmask before doing any calculations. Use correct type for offset.
13616 (grub_linux_load64): Likewise.
13617
86205c94
CW
136182011-01-11 Colin Watson <cjwatson@ubuntu.com>
13619
13620 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
13621 with NULL.
13622 (console_grub_equivalences_unshift): Likewise.
13623 Reported by: Daniel Dehennin.
13624
4531a206
VS
136252011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13626
13627 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
13628 (set_env_limn_ro): Likewise.
13629 (GRUB_MOD_INIT): Likewise.
13630 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
13631 ARRAY_SIZE while on it.
13632 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
13633 * grub-core/normal/context.c (grub_env_export): Move from here ...
13634 * grub-core/kern/env.c (grub_env_export): ... here.
13635 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
13636 prefix.
13637 * grub-core/kern/main.c (grub_main): Export root and prefix.
13638 * include/grub/env.h (grub_env_export): Export.
13639 Reported by: Seth Goldberg.
13640
45146057
VS
136412011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13644 Take into account space used by ELF sections and multiboot palette.
13645 Reported by: Grégoire Sutre.
13646
f093110b
VS
136472011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13648
13649 * BUGS: New file.
13650
3395fe52
VS
136512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13652
13653 Pass more appropriate video id to Linux.
13654
13655 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
13656 grub_video_get_driver_id and variable gfxpayloadforcelfb to
13657 fill have_vga.
13658 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
13659 shift params->lfb_size.
13660 * include/grub/i386/linux.h: Make an enume out of have_vga values.
13661
c2fa6cbb
VS
136622011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13663
13664 * util/grub-menulst2cfg.c: Add missing include of misc.h.
13665
b3ff6ff0
VS
136662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13667
13668 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
13669 separator and pass bootpath/devid even if only one of them is available.
13670 Reported by: Seth Goldberg.
13671
ae67942e
VS
136722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13673
13674 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
13675 implementations bug on them.
13676
13677 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
13678 memory.
13679 (filter_memory_map): Likewise.
13680
d570097a
VS
136812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13682
13683 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
13684 Reported by: nebuchadnezzar.
13685
a508e776
VS
136862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13687
13688 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
13689 Reported by: nebuchadnezzar.
13690
dcb883b1
VS
136912011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13692
13693 Submenu default support.
13694
13695 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
13696 auto_boot. All users updated.
13697 Declared static.
13698 Handle chosen and default with submenus.
13699 (grub_menu_execute_with_fallback): Declared static.
13700 Don't notify failure if autobooted. Upper level does it.
13701 (menuentry_eq): New function.
13702 (get_entry_number): Use menuentry_eq.
13703 (show_menu): New parameter "autobooted". All users updated.
13704 (grub_show_menu): Likewise.
13705 * include/grub/normal.h (grub_show_menu): Likewise.
13706 * include/grub/menu.h (grub_menu_execute_entry): Removed.
13707 (grub_menu_execute_with_fallback): Likewise.
13708
6fef99b4
VS
137092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13710
13711 * util/grub-mklayout.c (usage): Update help text.
13712
47a77af5
VS
137132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13714
13715 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
13716
ce6bb3ee
VS
137172011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13718
13719 * util/grub-menulst2cfg.c (main): Trim the line.
13720
db87be2a
VS
137212011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13722
13723 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
13724 (grub_machine_init): Don't check amount of low memory as reportedly
13725 INT 12h can be broken and if low memory is too low we wouldn't have
13726 gotten into grub_machine_init anyway.
13727
c49849cc
VS
137282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13729
13730 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
13731 (grub_machine_mmap_iterate): Take low memory into account
13732
b1969b30
VS
137332011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13734
13735 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
13736 badfs.
13737 Reported by: TiCPU.
13738
cf0eaf13
VS
137392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13740
13741 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
13742 members errors.
13743
1f060f39
GS
137442011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13745
13746 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
13747 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
13748
a21e5672
GS
137492011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13750
13751 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
13752 openbsd and netbsd types being in part_bsd module.
13753
c88172fa
VS
137542011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13755
13756 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
13757 (_FILE_OFFSET_BITS): Likewise.
13758 Reported by: Seth Goldberg.
13759
53798c4b
GS
137602011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13761
13762 * configure.ac: Check for libdevmapper header.
13763
e7121b69
VS
137642011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13765
13766 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
13767 avoid aliasing.
13768 (fzap_lookup): Likewise.
13769 (dnode_get): Likewise.
13770 (make_mdn): Likewise.
13771 (zfs_mount): Likewise.
13772 (fzap_iterate): Use temporary pointer to avoid aliasing.
13773 (grub_zfs_read): Likewise.
13774 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
13775 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
13776 pointers to avoid aliasing.
13777 (grub_cmd_xnu_kernel64): Likewise.
13778 (grub_xnu_load_driver): Likewise.
13779
fc836af9
VS
137802011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13781
13782 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
13783 aliasing warning.
13784 (grub_cmd_terminal_output): Likewise.
13785 Reported and tested by: Grégoire Sutre.
13786
f9f37648
VS
137872011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13788
13789 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
13790 warning.
13791 Reported and tested by: Grégoire Sutre.
13792
ec1dfd63
VS
137932011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13794
13795 * configure.ac: Do CPU substitution even if it's specified explicitly.
13796 Reported and tested by: Alain Greppin.
13797
9462775a
VS
137982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13799
13800 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
13801 Reported and tested by: Alain Greppin.
13802
0fd48e35
VS
138032011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13804
13805 Satisfy some bison versions need for inttypes.h.
13806
13807 * grub-core/lib/posix_wrap/inttypes.h: New file.
13808 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
13809 (int16_t): Likewise.
13810 (int32_t): Likewise.
13811 (int64_t): Likewise.
13812 Reported and tested by: Alain Greppin.
13813
43f1bc83
VS
138142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13815
13816 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
13817 Silence spurious warning.
13818 Reported and tested by: Alain Greppin.
13819
64d1f041
SJ
138202011-01-07 Szymon Janc <szymon@janc.net.pl>
13821
13822 * docs/grub.texi (Support automatic decompression): Update with xz
13823 decompression support.
13824
25953e10
SJ
138252011-01-07 Szymon Janc <szymon@janc.net.pl>
13826
13827 Improve loaders' kernel command line handling.
13828
13829 * grub-core/lib/cmdline.c: New file.
13830 * include/grub/lib/cmdline.h: Likewise.
13831 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
13832 grub_create_loader_cmdline to create kernel command line.
13833 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13834 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
13835 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
13836 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
13837 (linux): Add lib/cmdline.c on common.
13838
e72d259f
VS
138392011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13840
13841 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
13842 inopos might be unaligned.
13843
c0cf26da
VS
138442011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13845
13846 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
13847 endian transformations.
13848 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13849 Based on report by: Doug Nazar.
13850
0ca09e6c
DN
138512011-01-07 Doug Nazar <nazard.michi@gmail.com>
13852
13853 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
13854 array->members[i].start_sector.
13855 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
13856
014b6806
VS
138572011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13858
13859 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13860 Reported and tested by: Grégoire Sutre.
13861
415502c2
CW
138622011-01-06 Colin Watson <cjwatson@ubuntu.com>
13863
13864 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13865 avoid causing test failures by clearing the screen.
13866
71b6a2b7
CW
138672011-01-06 Colin Watson <cjwatson@ubuntu.com>
13868
13869 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13870 Fix prefix check to handle the case where dir ends with a slash
13871 (most significantly, "/" itself).
13872 Reported by: Michael Vogt.
13873
b3f8d28a
VS
138742011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13875
13876 Run terminfo_cls on initing terminfo output to clear the screen and
13877 move the cursor to (0,0).
13878
13879 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13880 Call grub_terminfo_output_init.
13881 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13882 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13883 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13884
4c3e4f37
VS
138852011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13888 only when needed.
13889
488f71f1
VS
138902011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13891
13892 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13893 CTRL.
13894
18a38098
VS
138952011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13896
13897 The E820 type 5 is BADRAM, not EXEC_CODE.
13898
13899 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13900 (GRUB_E820_BADRAM): New define.
13901 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13902 into reserved. Propagate BADRAM.
13903 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13904 (GRUB_E820_BADRAM): New define.
13905
9eae2084
VS
139062011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13907
13908 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13909 Ignore the memory post-4G.
13910 (grub_relocator_firmware_alloc_region): Additional debug statement.
13911
ebc71d28
VS
139122011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13913
13914 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13915 names.
13916 Reported by: David Pravec.
13917
446fa400
VS
139182011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13919
13920 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13921 BIOSes.
13922
a0159f37
VS
139232011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13926 Prevent overflow.
13927 (grub_reed_solomon_recover): Likewise.
13928
e5146ca1
VS
139292011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13930
13931 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13932
139332011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
13934
13935 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13936 variable.
13937
5b1bdf12
CW
139382011-01-04 Colin Watson <cjwatson@ubuntu.com>
13939
13940 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13941 descriptions of extract_legacy_entries_source and
13942 extract_legacy_entries_configfile.
13943 Reported by: Seung Soo, Ha.
13944
99d925aa
CW
139452011-01-03 Colin Watson <cjwatson@ubuntu.com>
13946
13947 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13948 on devices that do not implement function 0.
13949
4af0504b
DV
139502011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13951
13952 * grub-core/fs/hfsplus.c: Make parent unsigned.
13953 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13954 overflows.
13955 (grub_hfsplus_cmp_extkey): Likewise
13956
469ee10a
VS
139572011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13958
13959 * util/grub-install.in: Correctly use bootloader_id and not
13960 GRUB_DISTRIBUTOR on efibootmgr line.
13961
323a8e9c
VS
139622011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13963
13964 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13965
1b394975
IC
139662010-12-31 Ian Campbell <ijc@hellion.org.uk>
13967
13968 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13969 Xen and reorder menu item wording to make it clearer that this entry
13970 will launch Xen. Print separate messages when loading Xen and
13971 Linux.
13972
275bff5f
VS
139732010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13974
13975 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13976 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13977 loop in case of incorrect amiga partmap.
13978
307806cb
VS
139792010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13980
13981 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13982 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13983 Reported by:EHeM.
13984
b12b923e
VS
139852010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13986
13987 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13988 spurious warning.
13989 Reported by: crocket
13990
14b48a19
VS
139912010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13992
13993 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13994 Preload EFIemu.
13995 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13996
693db2df
VS
139972010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13998
13999 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
14000 is loaded
14001 (grub_cmd_xnu_kextdir): Likewise.
14002 (grub_cmd_xnu_splash): Likewise.
14003
c7638645
VS
140042010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14005
14006 Avoid using Reed-Solomon with 0 redundancy.
14007
14008 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
14009 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
14010 or 0 redundancy.
14011 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
14012 (grub_reed_solomon_recover): Likewise.
14013
25dd4780
VS
140142010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14015
14016 Don't use disk subsystem in freebsd_boot.
14017
14018 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
14019 (freebsd_biosdev): Likewise.
14020 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
14021 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
14022
0b2db943
VS
140232010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14024
14025 Handling of files of unknown size is currently limited. They can't be
14026 used e.g. for initrd or modules. Moreover gzip handling of not
14027 easily seekable files is buggy. Disable unknown file size for now. May
14028 be inefficient but works.
14029
14030 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
14031 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
14032
5c408d0f
MP
140332010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
14034
14035 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
14036 floppy probe.
14037
190a011a
JD
140382010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
14039
14040 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
14041
022d01b8
SL
140422010-12-25 Shea Levy <shlevy>
14043
14044 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
14045
c4855fdc
VS
140462010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14047
14048 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
14049 Windows Server 2008.
14050 Reported by: Devin Giddings.
14051
0354b867
VS
140522010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14053
14054 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
14055 writing an error message because of async power management.
14056 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
14057 (grub_reboot): Likewise.
14058
ab66c69f
JU
140592010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
14060
14061 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
14062 keep unit tests from failing when they shouldn't.
14063
1426ef35
CW
140642010-12-21 Colin Watson <cjwatson@ubuntu.com>
14065
14066 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
14067 previous patch increased the size of the RS code by 20 bytes (at
14068 least with gcc-4.4), so increase this by 20 bytes to match.
14069 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
14070
20641b6b
CW
140712010-12-21 Colin Watson <cjwatson@ubuntu.com>
14072
14073 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
14074 scratch area. Make sure to initialise chosen in standalone mode as
14075 well as non-standalone.
14076 Reported by: Robert Hooker and Andy Whitcroft.
14077 Tested by: Andy Whitcroft.
14078
d060ad60
CW
140792010-12-21 Colin Watson <cjwatson@ubuntu.com>
14080
14081 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
14082 constructing a new unescaped string and passing it to grub_xputs in
14083 one go, rather than passing characters to grub_printf one at a time.
14084
b889cfad
CW
140852010-12-21 Colin Watson <cjwatson@ubuntu.com>
14086
14087 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
14088 initialising utf16.
14089
4e01b6c8
CW
140902010-12-21 Colin Watson <cjwatson@ubuntu.com>
14091
14092 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
14093 comment. Add an extra layer of quotation, requiring the output of
14094 this function to be used in a printf format string.
14095 (gettext_printf): New function.
14096 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
14097 Extract translatable strings from here-documents and use a temporary
14098 variable instead, so that xgettext can find them.
14099 * util/grub.d/10_kfreebsd.in: Likewise.
14100 * util/grub.d/10_linux.in: Likewise.
14101 * util/grub.d/20_linux_xen.in: Likewise.
14102
14103 * po/grub.d.sed: New file.
14104 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
14105 arguments. Set c-format flags on all strings extracted from
14106 util/grub.d/ (xgettext refuses to include these itself for strings
14107 it extracted from a shell file, but these really are c-format).
14108
5318fe98
VS
141092010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14110
14111 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
14112 Avoid next pointing to nowhere.
14113
6c85b743
VS
141142010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14115
14116 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
14117 rather than assuming than rootblock is exactly in the middle.
14118 (grub_affs_label): Likewise.
14119
a2a08a35
VS
141202010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14121
14122 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
14123 reserved_first_sector to 0.
14124 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
14125 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
14126 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
14127
7059d1ec
VS
141282010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14129
14130 Fix handling of UTF-16 UDF labels.
14131
14132 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
14133 (read_string): .. here.
14134 (grub_udf_label): Use read_string.
14135
30aff4cb
BC
141362010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
14137
14138 * grub-core/normal/menu_entry.c (run): Execute commands from menu
14139 editor under argument scope.
14140 Reported by: Jordan Uggla
14141
5cf86f4b
VS
141422010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14143
14144 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
14145
32570200
CW
141462010-12-18 Colin Watson <cjwatson@ubuntu.com>
14147
14148 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
14149 line, and other keys scroll an entire page (previous handling was
14150 for \r and \n to scroll a page and other keys to scroll two lines).
14151
e1dffcf2
VS
141522010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14153
14154 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14155 Set ptrdest to correct get_physical_target_address rather than
14156 incorrect get_virtual_current_address.
14157
b04298cf 141582010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
14159
14160 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
14161 correct cat to grub_uint8_t * rather than grub_uint32_t *.
14162
5367ecd3
CW
141632010-12-10 Colin Watson <cjwatson@ubuntu.com>
14164
14165 * .bzrignore: Ignore grub-core/rs_decoder.S.
14166
1fb430f8
CW
141672010-12-10 Colin Watson <cjwatson@ubuntu.com>
14168
14169 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
14170 .mo/.mo.gz opening sequence to ...
14171 (grub_mofile_open_lang): ... here.
14172 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
14173 * util/grub.d/00_header.in (grub_lang): Include country part of
14174 locale.
14175 Reported by: Mario Limonciello.
14176
a94a6671
RM
141772010-12-09 Robert Millan <rmh@gnu.org>
14178
14179 * NEWS: Document addition of ZFS support.
14180
24b7938b
CW
141812010-12-04 Colin Watson <cjwatson@ubuntu.com>
14182
14183 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
14184 rather than `/ 2', as the latter requires -Wa,--divide which would
14185 require bumping our minimum binutils version.
14186
bddc3ef6
BC
141872010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
14188
14189 * util/grub-script-check.c (main): Print script line number on
14190 error.
14191
bf78d5b2
RM
141922010-12-01 Robert Millan <rmh@gnu.org>
14193
14194 * grub-core/fs/zfs/zfs.c: New file.
14195 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
14196 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
14197 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
14198 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14199
14200 * include/grub/zfs/dmu.h: Likewise.
14201 * include/grub/zfs/dmu_objset.h: Likewise.
14202 * include/grub/zfs/dnode.h: Likewise.
14203 * include/grub/zfs/dsl_dataset.h: Likewise.
14204 * include/grub/zfs/dsl_dir.h: Likewise.
14205 * include/grub/zfs/sa_impl.h: Likewise.
14206 * include/grub/zfs/spa.h: Likewise.
14207 * include/grub/zfs/uberblock_impl.h: Likewise.
14208 * include/grub/zfs/vdev_impl.h: Likewise.
14209 * include/grub/zfs/zap_impl.h: Likewise.
14210 * include/grub/zfs/zap_leaf.h: Likewise.
14211 * include/grub/zfs/zfs.h: Likewise.
14212 * include/grub/zfs/zfs_acl.h: Likewise.
14213 * include/grub/zfs/zfs_znode.h: Likewise.
14214 * include/grub/zfs/zil.h: Likewise.
14215 * include/grub/zfs/zio.h: Likewise.
14216 * include/grub/zfs/zio_checksum.h: Likewise.
14217
14218 * Makefile.util.def: Build ZFS into libgrubmods.
14219 * grub-core/Makefile.core.def: Build zfs.mod.
14220
3f0f3831
SJ
142212010-11-30 Szymon Janc <szymon@janc.net.pl>
14222
14223 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
14224 variable.
14225 * grub-core/commands/wildcard.c (match_files): Likewise.
14226
3a4253b2
RM
142272010-11-30 Robert Millan <rmh@gnu.org>
14228
14229 * grub-core/loader/i386/bsd.c
14230 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
14231 whether kernel is loaded using grub_loader_is_loaded(), rather
14232 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
14233 certain error conditions.
14234
8c317b27
RM
142352010-11-30 Robert Millan <rmh@gnu.org>
14236
c5c9cd3e
RM
14237 * grub-core/commands/echo.c: Include `<grub/term.h>'.
14238 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 14239
49d3ab46
VS
142402010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14241
14242 Avoid using tricks for initialising endian variables.
14243
14244 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
14245 Make const.
14246 (GRUB_MOD_INIT): Don't byte-swap.
14247 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14248 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
14249 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
14250 (grub_swap_bytes32_compile_time): Likewise.
14251 (grub_cpu_to_le32_compile_time): Likewise.
14252 (grub_cpu_to_le16_compile_time): Likewise.
14253
f420a804
VS
142542010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14255
14256 * util/grub-setup.c (setup): Stop recommending --force. People who
14257 understand the dangers of blocklists are able to find this option
14258 anyway and the ones who don't shouldn't use it anyway.
14259
4e7db17b
RM
142602010-11-26 Robert Millan <rmh@gnu.org>
14261
14262 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
14263 Update all users.
14264
9be57a0d
CW
142652010-11-26 Colin Watson <cjwatson@ubuntu.com>
14266
14267 Fix LVM-on-RAID probing.
14268
14269 * util/grub-probe.c (probe): Remember which disk was detected as
14270 RAID (perhaps an LVM physical volume). Use that disk's raidname
14271 rather than that of the top-level disk.
14272
2c7859b3 142732010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 14274
d7647bb6
BC
14275 Fix cmdline argument quotes for setparams command of menuentry
14276 definitions.
7e623b0d
BC
14277
14278 * grub-core/commands/menuentry.c (setparams_prefix): Use single
14279 quotes for arguments.
f866fe80 14280 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 14281 grub_strchrsub function instead.
f866fe80 14282
7955bea0 14283 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 14284
74f72a64
CW
142852010-11-24 Colin Watson <cjwatson@ubuntu.com>
14286
14287 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
14288 effort by skipping "." and ".." entries up-front.
14289 Suggested by: Michael Lazarev.
14290
5a407278
CW
142912010-11-24 Colin Watson <cjwatson@ubuntu.com>
14292
14293 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
14294 ldflags to ldadd, to fix link line ordering.
14295 (none_decompress): Likewise.
14296
3030d8ec
CW
142972010-11-24 Colin Watson <cjwatson@ubuntu.com>
14298
14299 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
14300 platforms.
14301 (grub-emu-lite): Remove kern/emu/cache.S.
14302
b7fbac12
CW
143032010-11-23 Colin Watson <cjwatson@ubuntu.com>
14304
14305 * util/deviceiter.c (compare_devices): If the by-id link for a
14306 device couldn't be resolved, fall back to sorting by the by-id link
14307 rather than segfaulting.
14308 Reported and tested by: Daniel Mierswa.
14309
5225f328
CW
143102010-11-23 Colin Watson <cjwatson@ubuntu.com>
14311
14312 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
14313 ldflags, to fix link line ordering.
14314
038b3ce8
CW
143152010-11-23 Colin Watson <cjwatson@ubuntu.com>
14316
14317 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
14318 linkers are picky about this.
14319
bf16e98e
CW
143202010-11-23 Colin Watson <cjwatson@ubuntu.com>
14321
14322 * grub-core/Makefile.am (command.lst): Adjust sed expression
14323 ordering so that extended and priority commands aren't treated as
14324 ordinary commands.
14325
7242bab6
CW
143262010-11-23 Colin Watson <cjwatson@ubuntu.com>
14327
14328 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14329 Remove byte-swapping function calls, which are not valid in
14330 structure initialisers.
14331 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
14332 non-const.
14333 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
14334 grub_gpt_partition_type_bios_boot.
14335
14e8b279
CW
143362010-11-22 Colin Watson <cjwatson@ubuntu.com>
14337
14338 Fix test program build on GNU/kFreeBSD.
14339
14340 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
14341 $(LIBNVPAIR)' library dependencies.
14342
e6f63338 143432010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
14344
14345 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
14346
cf8ffc38
CW
143472010-11-22 Colin Watson <cjwatson@ubuntu.com>
14348
14349 * util/grub-install.in: Remove excessive quoting that broke
14350 installations to RAID devices.
14351
7f8b0fd7
VS
143522010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14353
14354 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
14355 bootloader version instead of 0.
14356
dfd240b1
VS
143572010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14358
14359 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
14360 warning.
14361
7b61e609
VS
143622010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14363
14364 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
14365 retrieve the metadat sector if size isn't known.
14366 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14367
9dfe92d0
RM
143682010-11-18 Robert Millan <rmh@gnu.org>
14369
14370 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
14371 with grub_memcmp().
14372
41cc919e
VS
143732010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
14374
14375 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
14376 arrow.
14377 Reported by: Jordan Uggla.
14378
1afcc914
VS
143792010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14380
14381 Make better UTF compliant.
14382
14383 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
14384 sequences as incorrect.
14385 (grub_is_valid_utf8): Likewise.
14386 (grub_utf8_to_ucs4): Likewise.
14387 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
14388 (grub_ucs4_to_utf8_alloc): Likewise.
14389 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
14390
f1808884
VS
143912010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14392
14393 Make legacy_source behave like source.
14394
14395 * grub-core/commands/legacycfg.c (legacy_file): Don't call
14396 grub_show_menu.
14397 (grub_cmd_legacy_source): Call grub_show_menu if needed.
14398
24ec575b
CW
143992010-11-16 Colin Watson <cjwatson@debian.org>
14400
14401 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
14402 (-Wunused implies -Wunused-parameter, but not vice versa).
14403
72b7c7aa
CW
144042010-11-16 Colin Watson <cjwatson@ubuntu.com>
14405
14406 * configure.ac: Make error messages less confusing by testing for
14407 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
14408 accepted, but produces a diagnostic if something else is wrong).
14409
e98937aa
VS
144102010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14411
14412 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
14413 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
14414 (now unused).
14415 (grub_keyboard_controller_init)
14416 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
14417 read the initial state since controller isn't inited yet.
14418
f6bbabc3
VS
144192010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14420
14421 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
14422 allocate_regbeg may need to create new chunk header.
14423
22e7dbb2
VS
144242010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14425
14426 Fix quoting in legacy parser.
14427
14428 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
14429 single quotes.
14430 (grub_legacy_parse): Likewise.
14431 Reported by: Jordan Uggla.
14432 Tested by: Jordan Uggla.
14433
03f80960
VS
144342010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14435
14436 Don't add -lgcc on i386 and x86_64.
14437
14438 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
14439 * conf/Makefile.common (LDADD_KERNEL): Likewise.
14440 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
14441
779dc15b
VS
144422010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14443
14444 * configure.ac: Add -Wno-trampolines when supported.
14445
d20a3b37
MV
144462010-11-14 Modestas Vainius <modax@debian.org>
14447
14448 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
14449 fakeraid.
14450
e5360933
GC
144512010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14452
14453 Add generic logical block size support for UDF.
14454
14455 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
14456 (GRUB_UDF_BLKSZ): Removed.
14457 (struct grub_udf_data): New field "lbshift" to hold the logical block
14458 size of the file system in log2 format. All users updated.
14459 (sblocklist): Change type to unsigned.
14460 (grub_udf_mount): Change type of "sblklist" to unsigned.
14461 Move AVDP search before VRS recognition, because the latter requires
14462 knowledge of the logical block size, which is detected during the
14463 former.
14464 Detect and validate logical block size during AVDP search, adding
14465 support for block sizes 512, 1024 and 4096.
14466 Make VRS recognition independent of block size.
14467
cb0229c5
GC
144682010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14469
14470 Properly handle deleted files on UDF.
14471
14472 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
14473 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
14474 set.
14475
406858a8
GC
144762010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14477
14478 Support reading files larger than 2 GiB.
14479
14480 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
14481 "offset" to grub_off_t.
14482 (grub_udf_read_file): Likewise for parameter "pos".
14483
130da6a7
VS
144842010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14485
14486 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
14487 unavailable.
14488 (Simple configuration): Refer to Changes from GRUB Legacy about
14489 save_env availability.
14490
65e93f6b
VS
144912010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14492
14493 * util/grub-install.in: Ignore empty partition table detection
14494 instead of trying to include part_ module.
14495
1fd08bf1
VS
144962010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14497
14498 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
14499 LVM on RAID support.
14500
de1a024f
VS
145012010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14502
14503 Properly define WORDS_BIGENDIAN in wrapped environments.
14504
14505 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
14506 definition.
14507 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
14508
14509 Reported by: Manoel Rebelo Abranches.
14510 Tested by: Manoel Rebelo Abranches.
14511
bc5dd0b9
VS
145122010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14513
14514 * util/grub-mkconfig.in: Fix quoting.
14515
58c184be
VS
145162010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 Support big ext2 files.
14519
14520 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
14521 (grub_ext2_read_block): Support triple indirect blocks.
14522 (grub_ext2_read_file): Use 64-bit types and read size_high.
14523 (grub_ext2_open): Read size_high.
14524 Reported by: Ximin Luo.
14525 Tested by: Manoel Rebelo Abranches.
14526
5f0c02b3
VS
145272010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14528
14529 * util/grub-install.in: Handle filenames containing spaces.
14530 Reported by: Jordan Uggla.
14531 Tested by: Jordan Uggla.
14532
4417aae6
VS
145332010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14534
14535 * util/grub-mkconfig.in (grub_script_check): New variable.
14536 Use grub_script_check instead of grub-script-check.
14537 Reported by: Barry Jackson.
14538
7625a68e
VS
145392010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14540
14541 * docs/grub.texi (menu): Correct the order.
14542 Reported by: D. Hugh Redelmeier.
14543
10001ac5
VS
145442010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14545
14546 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
14547 jump.
14548
9c4cf53b
MRA
145492010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
14550
10001ac5
VS
14551 * include/grub/elfload.h (grub_elf32_size): New parameter.
14552 All users updated.
9c4cf53b
MRA
14553 Return maximum segments alignment.
14554 (grub_elf64_size): Likewise.
14555 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
14556 Return maximum segments alignment.
14557 (grub_elf64_size): Likewise.
14558 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
14559 (grub_linux_claimmap_iterate): New function. Uses the
14560 "available" property in the "memory" node for memory allocation
14561 for kernel in the PowerPC loader.
9c4cf53b
MRA
14562 (grub_linux_load32): Correctly find linux entry point offset.
14563 (grub_linux_load64): Likewise.
14564
d2bf06bf
RM
145652010-11-07 Robert Millan <rmh@gnu.org>
14566
14567 On mips-yeeloong, build with -march=loongson2f when this flag is
14568 available (GCC >= 4.4).
14569 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
14570 `-march=mips3'.
14571 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
14572 or otherwise add -march=mips3.
14573
898c99a2
BC
145742010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
14575
87220a68
BC
14576 Suppress shell expansion on echo '*' and echo "*" like cases.
14577 Reported by: Jordan Uggla.
898c99a2
BC
14578
14579 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
14580 string arguments before shell expansion.
14581 * tests/grub_cmd_echo.in: New testcases.
14582
4f9b406a
RM
145832010-11-07 Robert Millan <rmh@gnu.org>
14584
14585 * conf/mips-qemu-mips.rmk: Remove stale file from previous
14586 transition.
14587
80c6d25e
VS
145882010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
14589
14590 * grub-core/kern/emu/hostdisk.c
14591 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
14592
4a1a0153
VS
145932010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14594
14595 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
14596 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
14597 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
14598
34706ddc
VS
145992010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14600
14601 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
14602
6972dea9
VS
146032010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14604
14605 * util/grub-install.in: Replace useless recomendation to pass
14606 --modules with a recomendation to report a bug.
14607
9c693bd6
VS
146082010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14609
14610 Properly register serial terminfo.
14611 Reported by: Jordan Uggla
14612
14613 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
14614 const.
14615 (grub_serial_terminfo_output_template): Likewise.
14616 (grub_cmd_serial): Register "serial" with terminfo.
14617 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
14618 grub_serial_terminfo_output.
14619
6c9e4c0c
RM
146202010-11-05 Robert Millan <rmh@gnu.org>
14621
14622 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
14623 needed).
14624
b9b3839f
RM
146252010-11-05 Robert Millan <rmh@gnu.org>
14626
14627 On Yeeloong, pass machine type information to Linux.
14628
14629 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
14630 (LOONGSON_MACHTYPE): New macro, set to
14631 "machtype=lemote-yeeloong-2f-8.9inches".
14632 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
14633 additional argument to Linux.
14634
1a3aaff4
RM
146352010-11-04 Robert Millan <rmh@gnu.org>
14636
14637 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
14638 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
14639 (its SATA disks are detected as slaveless IDE master drives on
14640 kFreeBSD).
14641 Reported by Carsten Aulbert.
14642
a75f4f62
CW
146432010-11-02 Colin Watson <cjwatson@ubuntu.com>
14644
14645 * util/bin2h.c (main): Fix spelling error in generated output.
14646
33b4b0c6
GS
146472010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
14648
14649 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
14650
2b36fbf4
VS
146512010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14652
14653 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
14654 vga= option is supplied.
14655
74aaf558
VS
146562010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14657
14658 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
14659 * util/grub.d/10_kfreebsd.in: Likewise.
14660 * util/grub.d/10_linux.in: Likewise.
14661 * util/grub.d/20_linux_xen.in: Likewise.
14662
6428dec3
VS
146632010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14664
14665 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
14666 argument as an argument to no-argument option.
14667
f8729d98
VS
146682010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14669
14670 * util/grub.d/10_linux.in: Add missing load_video with explicit
14671 GRUB_GFXPAYLOAD_LINUX.
14672
89d68fa6
VS
146732010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14674
14675 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
14676
3a1197cd
VS
146772010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14678
14679 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
14680 elements with invlid index.
14681 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14682 * grub-core/disk/raid.c (insert_array): Automatically reallocate
14683 members.
14684 * include/grub/raid.h (grub_raid_member): New struct.
14685 (grub_raid_array): Transform devices and start_sector into usage of
14686 grub_raid_member. All users updated
14687 (allocated_devs): New member.
14688
71574288
VS
146892010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14690
14691 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
14692 is modified
14693
8d40ec65
BC
146942010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
14695
14696 NetBSD build fix for getline function conflict from gnulib.
14697
14698 * Makefile.util.def (libgrubkern.a): New library for grub kernel
14699 components that depend on gnulib headers.
14700 (libgrubmods.a): Renamed from earlier libgrub.a.
14701 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
14702
95b9257e
VS
147032010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14704
14705 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
14706 install rather than creating a broken install.
14707
26c53dc6
VS
147082010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14709
14710 * util/grub-setup.c (argp): Remove misleading example of installing to
14711 a partition.
14712
4171b3c5
VS
147132010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14714
14715 * util/grub-setup.c (setup): Clarify the error message.
14716
18568d18
VS
147172010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14718
14719 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
14720
4f6a2e21
VS
147212010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 * grub-core/kern/emu/misc.c
14724 (grub_make_system_path_relative_to_its_root)
14725 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
14726
147272010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
14728
14729 * grub-core/kern/emu/misc.c
14730 (grub_make_system_path_relative_to_its_root): Revert r2882.
14731
e138c458
VS
147322010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
14733
14734 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
14735 useless field head. All users updated.
14736 (free_subchunk): Correct handling of IN_REGION subchunk.
14737
0cbcdf0e
CW
147382010-10-22 Colin Watson <cjwatson@ubuntu.com>
14739
14740 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
14741 (Supported kernels): Likewise.
14742
b65ea155
GS
147432010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14744
14745 Make mktemp invocations portable.
14746
14747 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
14748 exit if mktemp fails.
14749 * tests/grub_script_blockarg.in: Likewise.
14750 * tests/partmap_test.in: Likewise.
14751 * tests/util/grub-shell-tester.in: Likewise.
14752 * tests/util/grub-shell.in: Likewise.
14753 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14754 * Makefile.am: Likewise, and chain shell commands with `&&'
14755 instead of ';'.
14756 * util/grub-mkrescue.in: Use the same explicit template as above, and
14757 exit if mktemp fails.
14758
05f43cdd
BC
147592010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
14760
14761 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
14762 Linux kernel, reported by Dennis Schridde.
14763
800e6a9b
SJ
147642010-10-17 Szymon Janc <szymon@janc.net.pl>
14765
14766 * grub-core/normal/auth.c (grub_auth_check_authentication):
14767 Set-but-not-used variable removed.
14768
d82df574
VS
147692010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14770
14771 * docs/grub.texi (GNU/Linux): Document APM unavailability with
14772 32-bit linux protocol.
14773
7bced458
VS
147742010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14775
14776 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
14777 cursor shape for sanity.
14778
5b027690
VS
147792010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14780
14781 * docs/grub.texi (Installation): Document buggy BIOS install.
14782
ba5f65cf
VS
147832010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14784
14785 * docs/grub.texi (Installation): Indent.
14786
fdf2ec9c
VS
147872010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14788
14789 * util/grub-setup.c (setup): New parameter allow_floppy.
14790 (arguments): New member allow_floppy.
14791 (argp_parser): Handle --allow-floppy.
14792 (main): Pass allow_floppy.
14793 * util/grub-install.in: New option --allow-floppy passed though to
14794 grub-setup.
14795
861dfd4c
VS
147962010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14797
14798 * util/grub-install.in: Handle partitionless disks.
14799
f77a8c24
VS
148002010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14801
14802 * util/grub-setup.c (setup): Don't clean blocklists before readability
14803 verfification.
14804
27d9ee32
VS
148052010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14806
14807 * docs/grub.texi (Installation): Document embedding zone. Remove
14808 obsolete grub-install example.
14809
6bdda8f8
SJ
148102010-10-16 Szymon Janc <szymon@janc.net.pl>
14811
14812 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
14813 Set-but-not-used variable ifdef'ed.
14814 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
14815 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
14816 variable removed.
14817 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
14818 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
14819 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14820 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
14821 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
14822 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14823 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
14824 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
14825 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
14826 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
14827 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
14828 Likewise.
14829
e19b016b
VS
148302010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14831
14832 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
14833 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
14834 enum value.
14835
6c8d3002
VS
148362010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14837
14838 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
14839 synonym to _S5_. Needed for some DSDTs.
14840
c32b51c9
VS
148412010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14842
14843 Userspace ACPI parser debugging.
14844
14845 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
14846 headers and add relevant defines. Don't include standard headers.
14847 (main) [GRUB_DSDT_TEST]: New function.
14848 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14849 Don't declare functions.
14850
fbfbeb39
VS
148512010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14852
14853 Remove dead grub_efi_mm_fini.
14854
14855 * grub-core/kern/efi/mm.c (allocated_page): Removed.
14856 (ALLOCATED_PAGES_SIZE): Likewise.
14857 (MAX_ALLOCATED_PAGES): Likewise.
14858 (allocated_pages): Likewise.
14859 (grub_efi_allocate_pages): Don't record allocated pages.
14860 (grub_efi_free_pages): Likewise.
14861 (grub_efi_mm_init): Likewise.
14862 (grub_efi_mm_fini): Removed.
14863
65f7ed7c
VS
148642010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14865
14866 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14867 (grub_efi_mm_init): Take into account the memory map size increase.
14868
24977b44
VS
148692010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14870
14871 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14872 (serial_hw_put): Wait based on real time rather than port reads. Don't
14873 roken ports.
14874 * include/grub/serial.h (grub_serial_port): New field broken.
14875
1eb01cd2
RM
148762010-10-16 Robert Millan <rmh@gnu.org>
14877
14878 * grub-core/kern/emu/misc.c
14879 (grub_make_system_path_relative_to_its_root): Fix premature return
14880 when processing non-root ZFS filesystems.
5f8b440b 14881 Reported by Sergio Talens-Oliag.
1eb01cd2 14882
2d5fed60
RM
148832010-10-15 Robert Millan <rmh@gnu.org>
14884
14885 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14886 guarantee compressed ones are processed first.
14887
d0f4c1ea
VS
148882010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14889
14890 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14891 grub_efiemu_autocore.
14892
d87c681f
VS
148932010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14894
14895 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14896 rather than 0x1b.
14897 (grub_console_getkey): Use correct jae opcode rather than ja.
14898
219b3564
RM
148992010-10-12 Robert Millan <rmh@gnu.org>
14900
14901 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14902 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14903 variable. All references updated.
14904
14905 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14906
20c6bb7e
VS
149072010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14908
14909 Correctly distinguish mdraid flavours.
14910
14911 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14912 (insert_array): New argument raid.
14913 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14914 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14915 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14916
74baff84
VS
149172010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14918
14919 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14920 handling of special keys.
14921
3ef068df 149222010-10-02 Aleš Nesrsta <starous@volny.cz>
14923
c7980ad9
VS
14924 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14925 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 14926
a9455194 149272010-10-02 Aleš Nesrsta <starous@volny.cz>
14928
c7980ad9
VS
14929 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14930 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14931 users updated.
a9455194 14932 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 14933 Use right endpoint when querying descriptor.
a9455194 14934
441cfe65
VS
149352010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14936
14937 Clear out 0x80 color bit on EFI.
14938 Tested by: decoder
14939 Reported by: decoder and meta tech.
14940
14941 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14942 (grub_console_setcolorstate): Clear out 0x80 bit.
14943 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14944 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14945 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14946
bf26bcc4
VS
149472010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14948
14949 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14950 Set to "auto".
14951
6e3c515d
VS
149522010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14953
14954 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14955 mo_file after freeing.
14956
e6d983ba
VS
149572010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14958
14959 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14960
74ccb5b5
VS
149612010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14962
14963 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14964 flags.
14965
17821956
VS
149662010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14967
14968 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14969 usage.
14970
ee74fa48
VS
149712010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14972
14973 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14974
14975 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14976 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14977 and terminfo.h when needed.
14978 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14979 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14980 (terminfo): Enable only on terminfokernel.
14981 (extcmd): Likewise.
14982 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14983 * include/grub/lib/arg.h: Likewise.
14984 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14985 incorrect usage of ->.
14986
aa438e68
VS
149872010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14988
14989 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14990 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14991
57994012
VS
149922010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14993
14994 Fix coreboot compilation.
14995
14996 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14997 Take VBE info into account even if only text is supported.
14998 (fill_vbe_info): Take into account the case when only VGA text
14999 is supported.
15000 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
15001 on coreboot, multiboot and qemu.
15002
2a406611
VS
150032010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15004
15005 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
15006 debug messages.
15007 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
15008
d33613fc
VS
150092010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15010
15011 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
15012 parameters.
15013
44a1b432
VS
150142010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15015
15016 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
15017 if they were BSD-style.
15018
edde54e6
VS
150192010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15020
15021 * grub-core/boot/i386/pc/lnxboot.S: Replace
15022 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
15023 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
15024
b65830fa
VS
150252010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15026
15027 Write embedding zone using Reed-Solomon.
15028
15029 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
15030 * grub-core/Makefile.am (rs_decoder.S): New target.
15031 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
15032 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
15033 (multiboot): Move to RS part.
15034 (post_reed_solomon): New label.
15035 (grub_boot_drive): Move to non-RS part since it's modified in memory
15036 on boot.
15037 Include rs_decoder.S.
15038 * grub-core/lib/reed_solomon.c: New file.
15039 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
15040 New definition.
15041 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
15042 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
15043 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
15044 * include/grub/partition.h (grub_partition_map): Change prototype of
15045 embed to allow returning additional sectors.
15046 * include/grub/reed_solomon.h: New file.
15047 * util/grub-setup.c (setup): Handle Reed-Solomon.
15048
0b4b227f
CW
150492010-09-28 Colin Watson <cjwatson@ubuntu.com>
15050
15051 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
15052 i386 and x86-64 definedness tests.
15053
f772623b
YB
150542010-09-27 Yves Blusseau <blusseau@zetam.org>
15055
15056 Fix generation of kernel_syms.lst
15057
15058 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
15059 ASM_PREFIX
15060
8e57a6ca
RM
150612010-09-26 Robert Millan <rmh@gnu.org>
15062
15063 Support degraded ZFS arrays in "grub-probe -t device" resolution.
15064
15065 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
15066 the pool is an array of devices, iterate through it and return the
15067 first device that passes a stat() test (instead of blindly returning
15068 the first one).
15069
f9130836
RM
150702010-09-26 Robert Millan <rmh@gnu.org>
15071
15072 Build fixes for GNU/kFreeBSD.
15073
15074 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
15075 to programs that require ZFS conversion.
15076 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
15077 kernels that don't have FLOPPY_MAJOR.
15078
96510faf
BC
150792010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
15080
15081 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
15082
449333eb
BC
150832010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
15084
15085 Fix grub-emu build.
15086
15087 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
15088 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
15089 mdraid09 and mdraid1x.
15090
e1fd1939
CW
150912010-09-24 Colin Watson <cjwatson@ubuntu.com>
15092
15093 Re-enable grub-extras.
15094
15095 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
15096 avoid confusing Automake. Run autogen only twice, once for the top
15097 level and once for grub-core. Add Makefile.util.def and
15098 Makefile.core.def from extra modules to the appropriate autogen
15099 invocations. If Makefile.common exists in an extra module, include
15100 it in both Makefile.util.am and grub-core/Makefile.core.am;
15101 similarly, include any Makefile.util.common file in Makefile.util.am
15102 and any Makefile.core.common file in grub-core/Makefile.core.am.
15103 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
15104 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
15105 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
15106 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
15107
15108 * gentpl.py (gvar_add): Turn GVARS into a set.
15109 (global_variable_initializers): Sort global variables on output.
15110 (vars_init): New function.
15111 (first_time): Likewise.
15112 (library): Ensure that non-global variable initialisations are
15113 emitted before the first time we emit code for a library block.
15114 Append to variables rather than setting them. Only emit
15115 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
15116 each conditional path.
15117 (program): installdir() emits an Autogen macro, so must be passed to
15118 var_add rather than gvar_add.
15119 (data): Likewise.
15120 (script): Likewise.
15121 (rules): New function, centralising handling for different target
15122 types. Set up Guile association lists for first_time and vars_init,
15123 and send most output to a diversion so that variable initialisations
15124 can be emitted first.
15125 (module_rules): Use new rules function.
15126 (kernel_rules): Likewise.
15127 (image_rules): Likewise.
15128 (library_rules): Likewise.
15129 (program_rules): Likewise.
15130 (script_rules): Likewise.
15131 (data_rules): Likewise.
15132
15133 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
15134
15135 * .bzrignore: Add contrib and grub-core/contrib. Remove
15136 grub-core/Makefile.gcry.am.
15137
1d12cf29
YB
151382010-09-24 Yves Blusseau <blusseau@zetam.org>
15139
15140 * grub-core/lib/LzFind.c: Add missing include.
15141 * grub-core/lib/LzmaEnc.c: Likewise.
15142 * grub-core/script/lexer.c: Likewise.
15143 * grub-core/script/yylex.l: Likewise.
15144 * util/grub-macho2img.c: Likewise.
15145 * util/grub-menulst2cfg.c: Likewise.
15146 * util/grub-mklayout.c: Likewise.
15147 * util/grub-mkpasswd-pbkdf2.c
15148 * util/grub-mkrelpath.c: Likewise.
15149 * util/resolve.c: Likewise.
15150
dd363028
BC
151512010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
15152
15153 * Makefile.util.def (example_unit_test): Add
15154 grub-core/gnulib/libgnu.a.
15155
f5a109e2
GS
151562010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
15157
15158 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
15159
6d0fa83c
VS
151602010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
15161
15162 Support xz compression on yeeloong.
15163
15164 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
15165 * configure.ac: Check for LZMA.
15166 * grub-core/Makefile.core.def (xz_decompress): New target.
15167 (none_decompress): Likewise.
15168 * grub-core/boot/decompressor/minilib.c: New file.
15169 * grub-core/boot/decompressor/none.c: Likewise.
15170 * grub-core/boot/decompressor/xz.c: Likewise.
15171 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
15172 * grub-core/kern/mips/cache_flush.S: Likewise.
15173 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
15174 * grub-core/kern/mips/startup.S: Move first stage to ...
15175 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
15176 nomacro.
15177 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
15178 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
15179 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
15180 Allocate statically.
15181 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
15182 Allocate statically or use scratch. Don't check CRC32.
15183 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
15184 Allocate statically. Don't check CRC32.
15185 * include/grub/decompressor.h: New file.
15186 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
15187 Removed.
15188 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
15189 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
15190 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
15191 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
15192 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
15193 * util/grub-mkimage.c (grub_compression_t): New type.
15194 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
15195 (image_target_desc): New field default_compression.
15196 (image_targets): Adjust yeeloong targets.
15197 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
15198 (compress_kernel): New parameter comp.
15199 (generate_image): Likewise. Handle new compression case.
15200 (options): New option --compression
15201 (help): Likewise.
15202 (main): Handle new option.
15203
1b655af6
GS
152042010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
15205
15206 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
15207
8f03f0b5
CW
152082010-09-22 Colin Watson <cjwatson@ubuntu.com>
15209
15210 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
15211 typo in __i386__ conditional.
15212
7835dfd3
VS
152132010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15214
15215 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
15216 include.
15217
e255597e
VS
152182010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15219
6d0fa83c 15220 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
15221
15222 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
15223 new tags as supported.
15224 (acpiv2_size): New function.
15225 (grub_multiboot_get_mbi_size): Take new tags into account.
15226 (grub_multiboot_make_mbi): Add new tags.
15227 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 15228
6cc14051 152292010-09-21 Aleš Nesrsta <starous@volny.cz>
15230
15231 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
15232 Added missing configuration of USB device.
15233
df7769d8
CW
152342010-09-21 Colin Watson <cjwatson@ubuntu.com>
15235
15236 * grub-core/normal/menu_entry.c (run): Make sure we always return
15237 a value.
15238
b031012d
CW
152392010-09-21 Colin Watson <cjwatson@ubuntu.com>
15240
15241 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
15242 NumberOfPages is UINT64 according to the UEFI specification, not
15243 UINTN. Fix printf format.
15244
174de8f3
CW
152452010-09-21 Colin Watson <cjwatson@ubuntu.com>
15246
15247 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
15248 `err' to grub_usb_err_t.
15249 Reported and tested by: KESHAV P.R.
15250
d7dbe923
CW
152512010-09-21 Colin Watson <cjwatson@ubuntu.com>
15252
15253 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
15254 tpart non-const, so that we can assign to it. (Since this is a
15255 typedef, the constness refers to the pointer rather than what it
15256 points to.)
15257
8d5e2af3
CW
152582010-09-21 Colin Watson <cjwatson@ubuntu.com>
15259
15260 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
15261 $(top_srcdir)/grub-core/gnulib as well as
15262 $(top_builddir)/grub-core/gnulib.
15263 Reported by: KESHAV P.R.
15264
5c527783
CW
152652010-09-21 Colin Watson <cjwatson@ubuntu.com>
15266
15267 * util/grub-install.in: Fix the bootloader ID option to be
15268 consistently --bootloader-id, not --bootloader_id.
15269 Reported by: KESHAV P.R.
15270
d309a16e
CW
152712010-09-21 Colin Watson <cjwatson@ubuntu.com>
15272
15273 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
15274 check hash checksum." consistently translatable.
15275
b830cd16
YB
152762010-09-21 Yves Blusseau <blusseau@zetam.org>
15277
15278 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
15279 $(top_builddir).
15280
c4fe27a8
CW
152812010-09-21 Colin Watson <cjwatson@ubuntu.com>
15282
15283 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
15284 (GRUB_MOD_INIT): Register sha1sum command.
15285 (GRUB_MOD_FINI): Unregister sha1sum command.
15286
a4c1d277
YB
152872010-09-21 Yves Blusseau <blusseau@zetam.org>
15288
15289 Keep boot and grub directory names in sync with utils scripts
15290
15291 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
15292 * config.h.in: Add previous macros.
15293 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
15294 * util/grub-install.in: Use $bootdir and $grubdir variables.
15295
4eff79d2
CW
152962010-09-21 Colin Watson <cjwatson@ubuntu.com>
15297
15298 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
15299 convert partition names to disk names if the new `convert' parameter
15300 is set.
15301 (grub_util_biosdisk_get_grub_dev): If opening the disk device
15302 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
15303 disk in its own right. This can happen with Xen disk images.
15304
934d7e44
YB
153052010-09-21 Yves Blusseau <blusseau@zetam.org>
15306
15307 * util/grub-editenv.c: Update strings to avoid warnings when generating
15308 grub.pot file.
15309 * util/grub-setup.c: Likewise.
934d7e44 15310
df3367cc
VS
153112010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15312
15313 * configure.ac: Change version to 1.99~beta0.
15314
77a94e98
VS
153152010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15316
15317 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
15318 Add BADRAM.
15319 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
15320 Likewise.
15321 * include/multiboot.h: Resynced with specification.
15322 * include/multiboot2.h: Likewise.
15323
269004c1
CW
153242010-09-21 Colin Watson <cjwatson@ubuntu.com>
15325
15326 Fix po directory handling.
15327
15328 * configure.ac: Create po/Makefile.in rather than po/Makefile.
15329 * grub-core/gnulib/Makefile.am: Import gettext module.
15330 * m4/gnulib-cache.m4: Likewise.
15331 * m4/gnulib-comp.m4: Likewise.
15332 * m4/gettext.m4: New file, from gnulib.
15333 * m4/glibc2.m4: Likewise.
15334 * m4/iconv.m4: Likewise.
15335 * m4/intdiv0.m4: Likewise.
15336 * m4/intl.m4: Likewise.
15337 * m4/intldir.m4: Likewise.
15338 * m4/intlmacosx.m4: Likewise.
15339 * m4/intmax.m4: Likewise.
15340 * m4/inttypes-pri.m4: Likewise.
15341 * m4/lcmessage.m4: Likewise.
15342 * m4/lib-ld.m4: Likewise.
15343 * m4/lib-link.m4: Likewise.
15344 * m4/lib-prefix.m4: Likewise.
15345 * m4/lock.m4: Likewise.
15346 * m4/nls.m4: Likewise.
15347 * m4/po.m4: Likewise.
15348 * m4/printf-posix.m4: Likewise.
15349 * m4/progtest.m4: Likewise.
15350 * m4/threadlib.m4: Likewise.
15351 * m4/uintmax_t.m4: Likewise.
15352 * m4/visibility.m4: Likewise.
15353 * po/Makefile.am: Remove.
15354 * po/Makefile.in.in: New file, from gettext.
15355 ($(DOMAIN).pot-update): Support POTFILES-shell.
15356 * po/Makevars: New file.
15357 * po/POTFILES-shell: Rename to ...
15358 * po/POTFILES-shell.in: ... this. Update.
15359 * po/POTFILES: Rename to ...
15360 * po/POTFILES.in: ... this. Update.
15361 * po/Rules-quot: New file, from gettext.
15362 * po/boldquot.sed: Likewise.
15363 * po/en@boldquot.header: Likewise.
15364 * po/en@quot.header: Likewise.
15365 * po/insert-header.sin: Likewise.
15366 * po/quot.sed: Likewise.
15367 * po/remove-potcdate.sin: Likewise.
15368
3e0fa5d0
VS
153692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15370
15371 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
15372
ade9bd66
VS
153732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15374
15375 * util/grub.d/20_linux_xen.in: Use submenus.
15376
fc55cc4c
VS
153772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15378
15379 Support submenus.
15380
15381 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
15382 parameter submenu. All users updated.
15383 * grub-core/normal/main.c (free_menu): Rename to ...
15384 (grub_normal_free_menu): ... this. Made global.
15385 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
15386 if requested.
15387 * grub-core/normal/menu_entry.c (screen): New field submenu.
15388 (make_screen): Set submenu.
15389 (run): Open new context if requested.
15390 * include/grub/menu.h (grub_menu_entry): New field submenu.
15391 * include/grub/normal.h (grub_normal_free_menu): New proto.
15392
600cedf7
VS
153932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15394
15395 Menu entries extractor.
15396
15397 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
15398 variants.
15399 (GRUB_MOD_INIT): Register new variants.
15400 (GRUB_MOD_FINI): Unregister new variants.
15401 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
15402 into grub_cmd_legacy_source.
15403 (grub_cmd_legacy_source): Implement extractor variants.
15404 (GRUB_MOD_INIT): Register new variants.
15405 (GRUB_MOD_FINI): Unregister new variants.
15406 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
15407 as an extractor.
15408 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
15409 search as an extractor.
15410 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
15411 test as an extractor.
15412 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
15413 as an extractor.
15414 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
15415 (grub_env_new_context): New function.
15416 (grub_env_context_open): Likewise.
15417 (grub_env_extractor_open): Likewise.
15418 (grub_env_extractor_close): Likewise.
15419 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15420 grub_extractor_level.
15421 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
15422 * include/grub/env.h (grub_env_extractor_open): New proto.
15423 (grub_env_extractor_close): Likewise.
15424 * include/grub/normal.h (grub_extractor_level): New external variable.
15425
7bda3a87
VS
154262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15427
15428 Make cutmem accept a region specification.
15429 Suggested by: Samuel Thibault
15430
15431 * grub-core/mmap/mmap.c (parsemem): New function.
15432 (grub_cmd_cutmem): Handle new arguments.
15433
2ea57f88
VS
154342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15435
15436 New command cutmem.
15437
15438 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
15439 (GRUB_MOD_INIT): Register new command.
15440 (GRUB_MOD_FINI): Unregister new command.
15441
74342e31
VS
154422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15443
15444 Support some annoying BSD and Minix subpartitions.
15445
15446 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
15447 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
15448 Properly handle concatenation.
15449 * grub-core/kern/device.c (grub_device_iterate): Likewise.
15450 * grub-core/normal/completion.c (iterate_partition): Likewise.
15451 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
15452 contain partition. All users updated.
15453 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
15454 struct.
15455 (grub_openbsdlabel_partition_map): Likewise.
15456 (bsdlabel_partition_map_iterate): Rename to ..
15457 (iterate_real): ... this. New arguments sector, freebsd and pmap.
15458 (bsdlabel_partition_map_iterate): New function.
15459 (netopenbsdlabel_partition_map_iterate): Likewise.
15460 (netbsdlabel_partition_map_iterate): Likewise.
15461 (openbsdlabel_partition_map_iterate): Likewise.
15462 (GRUB_MOD_INIT): Register new partmaps.
15463 (GRUB_MOD_FINI): Unregister new partmaps.
15464 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
15465 (grub_partition_msdos_iterate): ... this. All users updated.
15466 Don't support embedding other than in a minix partition.
15467 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
15468 proto.
15469 * include/grub/partition.h (grub_partition): New field msdostype.
15470 * util/grub-install.in: Handle openbsd and netbsd types being in
15471 part_bsd module.
15472
1e8d555b
VS
154732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15474
15475 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
15476
15477 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
15478 * grub-core/Makefile.core.def (mdraid): Renamed to ...
15479 (mdraid09): ... this.
15480 (mdraid1x): New module.
15481 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
15482 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
15483
899d8af4
VS
154842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15485
15486 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
15487 vsprintf.
15488
40901acd
CW
154892010-09-20 Colin Watson <cjwatson@ubuntu.com>
15490
15491 * grub-core/commands/efi/lsefimmap.c: Correct header.
15492 * NEWS: Update.
15493
dfe3b247
CW
154942010-09-20 Colin Watson <cjwatson@ubuntu.com>
15495
15496 * util/grub-editenv.c (argp_parser): Don't pass translated strings
15497 as printf format strings; the translations might contain '%' which
15498 could cause a crash.
15499 (main): Likewise.
15500 * util/grub-fstest.c (argp_parser): Likewise.
15501 * util/grub-setup.c (argp_parser): Likewise.
15502 (main): Likewise.
15503
3286a4b4
VS
155042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15505
15506 Use argp in grub-fstest.
15507
15508 * util/grub-fstest.c: Don't include getopt.h.
15509 Include argp.h.
15510 (root): New variable.
15511 (args_count): Likewise.
15512 (nparm): Likewise.
15513 (num_disks): Likewise.
15514 (images): Likewise.
15515 (cmd): Likewise.
15516 (debug_str): Likewise.
15517 (args): Likewise.
15518 (options): Transformed to argp.
15519 (usage): Removed.
15520 (main): Split argument parsing into ...
15521 (argp_parser): ... this. Changed to argp format.
15522 (argp): New variable.
15523 (main): Use argp_parse.
15524
3dccbe4b
TG
155252010-09-20 Tristan Gingold <gingold@free.fr>
155262010-09-20 Robert Millan <rmh.grub@aybabtu.com>
155272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15528
15529 * grub-core/commands/efi/lsefimmap.c: New file.
15530 * grub-core/Makefile.core.def (lsefimmap): New module.
15531 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
15532
38c259a7
VS
155332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15534
15535 Pause the execution (10s max) if any errors are displayed so the user
15536 has a chance to see them.
15537
15538 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
15539 (grub_print_error): Increment grub_err_printed_errors.
15540 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
15541 execution if any errors were displayed.
15542 (show_menu): Remove old code for pause.
15543 * grub-core/normal/menu_entry.c (run): Likewise.
15544 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
15545 users updated.
15546 (grub_normal_get_char_counter): Likewise.
15547 * include/grub/err.h (grub_err_printed_errors): New external variable.
15548 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
15549
f218b09c
VS
155502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15551
15552 Support multiboot VBE info.
15553
15554 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15555 Take VBE info into account.
15556 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
15557 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15558 Call fill_vbe_info when appropriate.
15559 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
15560 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
15561 as supported.
15562 (grub_multiboot_get_mbi_size): Take new tags into account.
15563 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
15564 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15565 Call fill_vbe_tag when appropriate.
15566 (grub_multiboot_make_mbi): Properly align tags.
15567 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
15568 function.
15569 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
15570 proto.
15571 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
15572
a9cc5438
VS
155732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15574
15575 Suport manual terminal geometry specification.
15576
15577 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
15578 Save state in grub_ofconsole_terminfo_output.
15579 (grub_ofconsole_term): Use grub_terminfo_getwh.
15580 (grub_ofconsole_getwh): Removed.
15581 * grub-core/term/serial.c (grub_serial_getwh): Removed.
15582 (grub_serial_term): Use grub_terminfo_getwh.
15583 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
15584 (options): New struct.
15585 (OPTION_*): New enum.
15586 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
15587 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
15588 width and height.
15589 (grub_terminfo_getwh): New proto.
15590 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
15591
1a8fed20
VS
155922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15593
15594 Handle legacy "terminal" command.
15595
15596 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
15597 and FLAG_TERMINAL.
15598 (legacy_commands): Add terminal and title.
15599 (grub_legacy_parse): Handle terminal. Simplify title handling.
15600
41e9c57d
VS
156012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15602
15603 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
15604 parameters overflow.
15605
61c874c5
CW
156062010-09-20 Colin Watson <cjwatson@ubuntu.com>
15607
15608 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
15609 widthspec.h.
15610
15611 * docs/grub.texi (Shell-like scripting): Document `!'.
15612 (Network): Simplify using new i386-pc-pxe format. Mention
15613 grub-mknetdir.
15614
15615 * NEWS: Update.
15616
943682b4
CW
156172010-09-20 Colin Watson <cjwatson@ubuntu.com>
15618
15619 * Makefile.am (SUBDIRS): Restore "."; it's important to force
15620 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
15621 when needed.
15622
6d3d698d
CW
156232010-09-20 Colin Watson <cjwatson@ubuntu.com>
15624
15625 * grub-core/commands/efi/lsefisystab.c: Correct header.
15626 * grub-core/commands/efi/lssal.c: Likewise.
15627 * grub-core/commands/testload.c: Likewise.
15628
c982589f
CW
156292010-09-20 Colin Watson <cjwatson@ubuntu.com>
15630
15631 * util/grub-mkrescue.in: Add explicit root argument to --set to
15632 prevent the UUID being interpreted as an argument to --set (matches
15633 previous change to prepare_grub_to_access_device).
15634
a63c31b6
CW
156352010-09-20 Colin Watson <cjwatson@ubuntu.com>
15636
15637 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
15638 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
15639 the verbosity of later #ifs.
15640 (find_partition_start): Define this function on FreeBSD too.
15641 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
15642 function.
15643 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
15644 on FreeBSD.
15645
6439b8ee
YB
156462010-09-20 Yves Blusseau <blusseau@zetam.org>
15647
15648 * util/grub-editenv.c: Use argp instead of getopt.
15649
c5930ec8
YB
156502010-09-20 Yves Blusseau <blusseau@zetam.org>
15651
15652 * util/grub-setup.c: Use argp instead of getopt.
15653
15c69261
YB
156542010-09-20 Yves Blusseau <blusseau@zetam.org>
15655
15656 Use gnulib-tool to create gnulib source files.
15657
15658 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
15659 grub-core/gnulib directories
15660 * .bzignore: Add **/.deps and autogenerated gnulib files
15661 * configure.ac: Assign auxiliary directory to build-aux, add invocation
15662 of gnulib macros, add grub-core/gnulib/Makefile
15663 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
15664 include m4 directory to aclocal.
15665 * Makefile.util.def: Remove direct compilation of gnulib source files
15666 and use the new grub-core/gnulib/libgnu.a.
15667 * build-aux/config.rpath: move config.rpath from top directory to
15668 build-aux
15669 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
15670 in gnulib headers
15671 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
15672 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
15673 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
15674 header.
15675 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
15676 string.
15677
e511c9f5
YB
156782010-09-20 Yves Blusseau <blusseau@zetam.org>
15679
15680 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
15681 grub-core/genmod.sh and grub-core/gensyminfo.sh
15682
c2dede05
BC
156832010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
15684
15685 Add a test for echo command options.
15686
15687 * tests/grub_cmd_echo.in: New test.
15688 * Makefile.util.def: Rules for new test.
15689
c55f5018
SJ
156902010-09-20 Szymon Janc <szymon@janc.net.pl>
15691
15692 Remove crc.mod and move crc command to hashsum.mod.
15693 Remove lib/crc.c - users updated to use gcrypt implementation.
15694
15695 * grub-core/commands/crc.c: Removed.
15696 * grub-core/Makefile.core.def (crc): Module removed.
15697 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
15698 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
15699 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
15700 * grub-core/lib/crc.c: Removed.
15701 * include/grub/lib/crc.h: Removed.
15702 * Makefile.util.def (crc): Remove lib/crc.c
15703 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
15704 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
15705 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
15706 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
15707 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
15708 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
15709
e0337366
VS
157102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15711
15712 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
15713
742f9232
VS
157142010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15715
15716 Split config.h for util and core.
15717
15718 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
15719 (ADDR32): Likewise.
15720 (DATA32): Likewise.
15721 (BSS_START_SYMBOL): Likewise.
15722 (END_SYMBOL): Likewise.
15723 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
15724 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
15725 * config.h.in: New file.
15726 * configure.ac: Use config-util.h as config define file.
15727 Rename MACHINE into GRUB_MACHINE. All users updated.
15728 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
15729 updated.
15730 (NESTED_FUNC_ATTR): Likewise.
15731 Substitue new variables.
15732 (COND_HAVE_ASM_USCORE): New conditional.
15733 * grub-core/Makefile.am (ASM_PREFIX): New variable.
15734 (kernel_syms.lst): Use ASM_PREFIX.
15735 * grub-core/kern/emu/console.c: Include config-util.h.
15736 * grub-core/kern/emu/misc.c: Likewise.
15737 * grub-core/kern/emu/mm.c: Likewise.
15738 * include/grub/emu/misc.h: Likewise.
15739 * include/grub/libgcc.h: Likewise.
15740
39feb0e8
VS
157412010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15742
15743 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
15744 constants usage.
15745 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
15746 Fix GRUB_TERM_KEY_* constants usage.
15747 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
15748
9af6dac3
VS
157492010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15750
15751 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
15752 print pointer.
15753 * grub-core/bus/usb/uhci.c: Remove empty define.
15754 (grub_uhci_check_transfer): Add missing cast.
15755 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
15756 print pointer.
15757 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
15758 PRIuGRUB_SIZE.
15759 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
15760
d6d94820
VS
157612010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15762
15763 * grub-core/Makefile.core.def (legacycfg): Add
15764 lib/i386/pc/vesa_modes_table.c on emu.
15765
3572f2b6
BC
157662010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15767
15768 Reduce number of temporary files generated by build system.
15769
15770 * grub-core/gencmdlist.sh: Removed.
15771 * grub-core/genfslist.sh: Removed.
15772 * grub-core/genhandlerlist.sh: Removed.
15773 * grub-core/genmodsrc.sh: Removed.
15774 * grub-core/genpartmaplist.sh: Removed.
15775 * grub-core/genparttoollist.sh: Removed.
15776 * grub-core/gentermiinallist.sh: Removed.
15777 * grub-core/genvideolist.sh: Removed.
15778
15779 * grub-core/genmod.sh.in: New file.
15780 * grub-core/gensyminfo.sh.in: New file.
15781
15782 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
15783 * conf/Makefile.extra-dist: Update with new files.
15784 * gentpl.py: Remove rules related to unnecessary temporary files.
15785 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
15786 and und-* files.
15787 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
15788 genmod.sh scripts.
15789 * grub-core/bus/usb/uhci.c: Remove empty #define.
15790 * grub-core/genmoddep.awk: Updated with new syminfo format.
15791 * util/bash-completion.d/Makefile.am: Add config.log to
15792 CLEANFILES.
15793
c836b030
YB
157942010-09-19 Yves Blusseau <blusseau@zetam.org>
15795
15796 * Makefile.util.def: Add forgotten $(LIBINTL) library.
15797
2f4e8053
BC
157982010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15799
15800 * util/grub-mkconfig.in: Check the config script for syntax errors
15801 before saving.
15802
75831c34
CW
158032010-09-19 Colin Watson <cjwatson@ubuntu.com>
158042010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15805
15806 * Makefile.util.def (grub-install): Use util/grub-install.in on all
15807 platforms.
15808 * util/grub-install.in: Add EFI and IEEE1275 support.
15809 * util/i386/efi/grub-install.in: Removed.
15810 * util/ieee1275/grub-install.in: Likewise.
15811
eaf41b25
VS
158122010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15813
15814 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
15815 (grub_cmd_cmosclean): Likewise.
15816 (GRUB_MOD_INIT): Register command cmosclean.
15817 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
15818 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
15819
1a9130dd
CPE
158202010-09-18 Carles Pina i Estany <carles@pina.cat>
158212010-09-18 Aleš Nesrsta <starous@volny.cz>
158222010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 Add keyboard layouts support.
15825
15826 * Makefile.util.def (grub-mklayout): New file.
15827 (grub-kbdcomp): New script.
15828 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
15829 Add keyboard_layouts.h.
15830 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
15831 commands/boot.c on yeeloong.
15832 (keylayouts): New module.
15833 * grub-core/bus/usb/ohci.c
15834 * grub-core/bus/usb/uhci.c
15835 * grub-core/bus/usb/usbhub.c (rescan): New variable.
15836 (grub_usb_add_hub): Poll interrupt pipe for device handling.
15837 (attach_root_port): Likewise.
15838 (poll_nonroot_hub): Likewise.
15839 (grub_usb_poll_devices): Likewise.
15840 (detach_device): Close transfer.
15841 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
15842 function.
15843 (grub_usb_bulk_setup_readwrite): Likewise.
15844 (grub_usb_bulk_finish_readwrite): Likewise.
15845 * grub-core/commands/keylayouts.c: New file.
15846 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
15847 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
15848 aliases.
15849 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
15850 support scancode 2.
15851 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
15852 * include/grub/keyboard_layouts.h: New file.
15853 * util/grub-mklayout.c: New file.
15854 * util/grub-kbdcomp.in: Likewise.
15855
a1d84a5e
VS
158562010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15857
15858 Unify memory types.
15859
15860 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15861 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15862 types.
15863 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15864 (grub_upper_mem): Likewise.
15865 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15866 * include/grub/memory.h (grub_memory_type_t): New enum.
15867 All users updated.
15868
9696382e
VS
158692010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15870
15871 * grub-core/Makefile.core.def (lsapm): New module.
15872 * grub-core/commands/i386/pc/lsapm.c: New file.
15873 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15874 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15875 Likewise.
15876 * include/grub/i386/pc/apm.h: New file.
15877 * include/multiboot.h (multiboot_apm_info): New struct.
15878
158792010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 GRUB-legacy configuration file support.
15882
15883 * Makefile.util.def (grub-menulst2cfg): New util.
15884 * docs/man/grub-menulst2cfg.h2m: New file.
15885 * grub-core/Makefile.core.def (legacycfg): New module.
15886 * grub-core/commands/legacycfg.c: New file.
15887 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15888 (grub_normal_add_menu_entry): ... this.
15889 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15890 (grub_normal_set_password): ...this.
15891 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15892 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15893 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15894 * grub-core/lib/legacy_parse.c: New file.
15895 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15896 * include/grub/i386/pc/vesa_modes_table.h: New file.
15897 * include/grub/legacy_parse.h: Likewise.
15898 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15899 * util/grub-menulst2cfg.c: New file.
15900
bf8d1338
CW
159012010-09-17 Colin Watson <cjwatson@ubuntu.com>
15902
15903 * grub-core/kern/emu/hostdisk.c
15904 (convert_system_partition_to_system_disk): Initialise node.
15905
9c0bad2e
CW
159062010-09-17 Colin Watson <cjwatson@ubuntu.com>
15907
15908 * grub-core/kern/emu/hostdisk.c
15909 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15910 leak.
15911 Reported and based on patch by: Modestas Vainius.
15912
a939d135
CW
159132010-09-17 Colin Watson <cjwatson@ubuntu.com>
15914
15915 Fix DM-RAID probing with recent versions of device-mapper udev
15916 rules.
15917
15918 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15919 canonicalise device paths under /dev/mapper/.
15920 (convert_system_partition_to_system_disk): Compare the
15921 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15922 path, since device nodes under /dev/mapper/ are often symlinks.
15923
0f7ee3c9
YB
159242010-09-17 Yves Blusseau <blusseau@zetam.org>
15925
15926 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15927
10854d0d
YB
159282010-09-16 Yves Blusseau <blusseau@zetam.org>
15929
15930 * configure.ac: Avoid some annoying error messages if freetype-config
15931 program is not found.
15932
108538d8
CW
159332010-09-16 Colin Watson <cjwatson@ubuntu.com>
15934
15935 Support RAID on virtio devices, and others.
15936
15937 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15938 Rename to ...
15939 [__MINGW32__] (grub_find_device): ... this.
15940 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15941 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15942 reasonable default if dir is NULL.
15943 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15944 ...
15945 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15946 (grub_guess_root_device): Update callers.
15947 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15948
15949 * util/raid.c (grub_util_getdiskname): Remove.
15950 (grub_util_raid_getmembers): Use grub_find_device rather than
15951 grub_util_getdiskname.
15952
e5bfc130
CW
159532010-09-16 Colin Watson <cjwatson@ubuntu.com>
15954
15955 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15956 needing to be compiled with serial support.
15957 (ls): Indicate that multiple files are accepted.
15958 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15959 indicate that multiple files are accepted.
15960
be458ae2
CW
159612010-09-16 Colin Watson <cjwatson@ubuntu.com>
15962
15963 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15964 libgrub_a_init.c, and util/bash-completion.d/grub.
15965
cb731b5e
VS
159662010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15967
15968 * util/grub-setup.c (setup): Fix incorrect container semantics.
15969
35139e8a
VS
159702010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15971
15972 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15973 misusage.
15974 Reported by: J. Nick Terry
15975
e50fca4a
VS
159762010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15977
15978 Move embedding routines to partmap sources files.
15979
15980 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15981 [GRUB_UTIL]: New variable.
15982 (gpt_partition_map_iterate): Set part.parent.
15983 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15984 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15985 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15986 New function.
15987 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15988 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15989 (grub_partition_map) [GRUB_UTIL]: New field embed.
15990 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15991 (setup): Use ->embed.
15992
f00478b7
VS
159932010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15994
15995 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15996 function.
15997 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15998 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15999
2b94e3ff
YB
160002010-09-15 Yves Blusseau <blusseau@zetam.org>
16001
16002 Add function to get completions from usage.
16003
16004 * util/bash-completion.d/grub-completion.bash.in: Add function to get
16005 completions from usage. Use LC_ALL=C to get options properly.
16006
2e04a006
VS
160072010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 * grub-core/gnulib/basename-lgpl.c: Imported.
16010 * grub-core/gnulib/basename.c: Likewise.
16011 * grub-core/gnulib/dirname-lgpl.c: Likewise.
16012 * grub-core/gnulib/dirname.c: Likewise.
16013 * grub-core/gnulib/dirname.h: Likewise.
16014 * grub-core/gnulib/stripslash.c: Likewise.
16015
5dcdf93a
VS
160162010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16017
16018 * grub-core/gnulib/error.c: Resynced.
16019 * grub-core/gnulib/getopt.c: Likewise.
16020 * grub-core/gnulib/getopt_int.h: Likewise.
16021 * grub-core/gnulib/regex.h: Likewise.
16022 * grub-core/gnulib/regex_internal.c: Likewise.
16023 * grub-core/gnulib/regex_internal.h: Likewise.
16024
014f47b7
SJ
160252010-09-15 Szymon Janc <szymon@janc.net.pl>
16026
16027 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
16028 CRC calculations and validity checks.
16029 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
16030 calculations.
16031
dd521a4a
SJ
160322010-09-15 Szymon Janc <szymon@janc.net.pl>
16033
16034 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
16035
79c4eeb9
VS
160362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16037
16038 Fix incorrect echo options handling.
16039 Reported by: Yves Blusseau.
16040
16041 * include/grub/command.h (grub_command_flags_t): New flags
16042 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
16043 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
16044 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
16045
ed80f7d5
VS
160462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
16049 users updated.
16050 (GRUB_COMMAND_FLAG_MENU): Likewise.
16051 (GRUB_COMMAND_FLAG_BOTH): Likewise.
16052 (GRUB_COMMAND_FLAG_TITLE): Removed.
16053 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
16054 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
16055 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
16056 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
16057 (grub_command_flags_t): New enum. All users updated.
16058
5fe7620a
SG
160592010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
16060
16061 Fix solaris compilation.
16062
16063 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
16064 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
16065 (grub-emu-list): Likewise.
16066
545b752f
VS
160672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16068
16069 Remove deprecated root command.
16070
16071 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
16072 updated.
16073
6c1a338c
VS
160742010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 * util/i386/pc/grub-setup.c: Merge this ...
16077 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
16078 * util/grub-setup.c: ... into this.
16079 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
16080 New struct.
16081
160822010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16083
16084 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
16085 possible.
16086
d2ea4551
VS
160872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16088
16089 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
16090 allocate p.
16091
3c3b5040
VS
160922010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16093
16094 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
16095 explicit root argument to set to prevent UUID to be interpreted as
16096 argument to set.
16097
b71c3fae
VS
160982010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16099
16100 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
16101
275433e6
VS
161022010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16103
16104 Don't export grub_gate_a20.
16105
16106 * grub-core/kern/i386/pc/init.c: Remove leftovers.
16107 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
16108 to ...
16109 (grub_gate_a20): ... this. All users updated.
16110 * include/grub/i386/pc/init.h: Removed. All users updated.
16111
a5dbb1f1
VS
161122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16113
16114 Create euro.pf2 which supports most European languages.
16115
16116 * Makefile.am (grubdata_DATA): Add euro.pf2.
16117 (euro.pf2): New target.
16118 (CLEANFILES): Add euro.pf2.
16119
62a747cb
VS
161202010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 * configure.ac: Disable emu-usb by default to prevent inadvertent
16123 device takeover.
16124
608e43b1
VS
161252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16126
16127 Disable usbserial on grub-emu since our libusb code isn't good enough
16128 yet.
16129
16130 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
16131 (usbserial_pl2303): Likewise.
16132 (usbserial_ftdi): Likewise.
16133
94564f81
VS
161342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16135
16136 * include/grub/disk.h (grub_disk): Remove has_partitions.
16137 All users updated.
16138 * disk/loopback.c (grub_loopback): Remove has_partitions.
16139 All users updated.
16140 (options): Remove partitions. All users updated.
16141 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
16142 * util/i386/pc/grub-setup.c (setup): copy partition table only when
16143 actual partition table is found.
16144
3352800b
VS
161452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16146
16147 Remove readability checks (too many false negatives).
16148
16149 * util/grub-install.in: Remove readability checks.
16150 * util/grub-mkconfig.in: Likewise.
16151 * util/grub.d/10_hurd.in: Likewise.
16152 * util/grub.d/10_kfreebsd.in: Likewise.
16153 * util/grub.d/10_linux.in: Likewise.
16154 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
16155 way.
16156
2419f17a
VS
161572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16158
16159 Enable acpi shutdown on all ACPI platforms.
16160
16161 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
16162 on coreboo, multiboot and EFI.
16163 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
16164 (grub_acpi_halt): Likewise.
16165 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
16166 (grub_cmd_halt): Don't call grub_acpi_halt directly.
16167 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
16168 * grub-core/lib/i386/halt.c (grub_halt)
16169 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
16170
0575c7c3
VS
161712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16172
16173 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
16174 context.
16175
54ac3cd1
VS
161762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16177
16178 * grub-core/video/efi_gop.c: Fix over-80-chars line.
16179 * grub-core/video/efi_uga.c: Likewise.
16180
b2a30ac5
VS
161812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16182
16183 Filter devaliases and never open same device twice.
16184
16185 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
16186 (last_ihandle): Likewise.
16187 (ofdisk_hash_ent): New member shortest.
16188 (ofdisk_hash_add): Add canonical path too.
16189 (scan): New function.
16190 (grub_ofdisk_iterate): Iterate over hashed entries.
16191 (compute_dev_path): Don't add :0.
16192 (grub_ofdisk_open): Don't really open the disk.
16193 (grub_ofdisk_close): Avoid closing unrelated disk.
16194 (grub_ofdisk_read): Implement reopen logic.
16195 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
16196 New function.
16197 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
16198 New proto.
16199
fb53b340
VS
162002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16201
16202 Fix sparc64.
16203
16204 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
16205 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
16206 right address. Add sparc64_ieee1275_ldflags.
16207 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
16208 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
16209 to grub_host_to_target_addr
16210 (load_image): Likewise.
16211
f452b040
VS
162122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16213
16214 * grub-core/normal/completion.c (complete_file): Handle device
16215 containing slash.
16216 Fix based on patch by Doug Nazar.
16217
9b5b2541
VS
162182010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16219
16220 grub-mknetdir script.
16221
16222 * Makefile.util.def (grub-mknetdir): New module.
16223 * tests/util/grub-shell.in: Support boot=net
16224 * util/grub-mknetdir.in: New file.
16225
9d2be652
VS
162262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16227
16228 videoinfo on non-vbe.
16229
16230 * grub-core/Makefile.core.def (vbeinfo): Removed.
16231 (vbetest): Removed.
16232 (videoinfo): New module.
16233 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
16234 * grub-core/commands/i386/pc/vbetest.c: Removed.
16235 * grub-core/commands/videoinfo.c: New file.
16236 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
16237 specification.
16238 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
16239 as vbetest.
16240 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
16241 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
16242 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
16243 mode_number. New parameter mode. All users updated.
16244 (grub_video_gop_iterate): New function.
16245 (grub_video_efi_gop): New member iterate.
16246 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
16247 (grub_vbe_set_video_mode): Remove setting useless fields.
16248 (vbe2videoinfo): New function.
16249 (grub_video_vbe_iterate): Likewise.
16250 (grub_video_vbe_setup): Use vbe2videoinfo.
16251 (grub_video_vbe_print_adapter_specific_info): New function.
16252 (grub_video_vbe_adapter): New fields iterate and
16253 print_adapter_specific_info.
16254 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
16255 All users updated.
16256 (grub_video_mode_info): New field mode_number.
16257 (grub_video_adapter): New fields iterate and
16258 print_adapter_specific_info.
16259
179503f5
TG
162602010-09-13 Tristan Gingold <gingold@free.fr>
162612010-09-13 Robert Millan <rmh.grub@aybabtu.com>
162622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16263
16264 * grub-core/commands/efi/lsefisystab.c: New file.
16265 * grub-core/commands/efi/lssal.c: Likewise.
16266 * grub-core/Makefile.core.def (lsacpi): New module.
16267 (lsefisystab): Likewise.
16268 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
16269 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
16270 (grub_efi_sal_system_table): New struct.
16271 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
16272 (grub_efi_sal_system_table_memory_descriptor): Likewise.
16273 (grub_efi_sal_system_table_platform_features): Likewise.
16274 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
16275 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
16276 (grub_efi_sal_system_table_ap_wakeup): Likewise.
16277 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
16278
cf9827de
VS
162792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16280
16281 Support explicit user claim that a device is BIOS-visible.
16282
16283 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
16284 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
16285 * grub-core/kern/emu/hostdisk.c
16286 (convert_system_partition_to_system_disk): Support mdX.
16287 (find_system_device): New parameter add. All users updated.
16288 (grub_util_biosdisk_is_present): New function.
16289 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
16290 proto.
16291
53f0eb1f
VS
162922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16293
16294 Search hints support.
16295
16296 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
16297 All users updated.
16298
b23ffd70
YB
162992010-09-13 Yves Blusseau <blusseau@zetam.org>
16300
16301 Bash completion script for util commands
16302
16303 * Makefile.am: Add util/bash-completion.d directory
16304 * configure.ac: Likewise.
16305 * util/bash-completion.d/Makefile.am: New file.
16306 * util/bash-completion.d/grub-completion.bash.in: Likewise.
16307
d547dc28
VS
163082010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16309
16310 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
16311 (print_backlog): set backlog_ucs4 and backlog_glyphs.
16312 Reported by: Yves Blusseau.
16313
2fc8ccb9
VS
163142010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16315
16316 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
16317 partition size and offset.
16318
d8a84076
VS
163192010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16320
16321 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
16322
84fb3b3d
VS
163232010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16324
16325 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
16326
768ec2e2
VS
163272010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16328
16329 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
16330 (grub_xvasprintf): Likewise.
16331
4870900f
VS
163322010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16333
16334 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
16335
faca6bec
VS
163362010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16337
16338 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
16339 args ending with NULL.
16340
163412010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
16342
16343 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
16344 pointer.
16345
3c70f225
SJ
163462010-09-11 Szymon Janc <szymon@janc.net.pl>
16347
16348 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
16349
4df7996d
VS
163502010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16351
16352 Shutdown using ACPI.
16353
16354 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
16355 * grub-core/commands/acpihalt.c: New file.
16356 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
16357 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
16358 (grub_acpi_halt): New proto.
16359 (GRUB_ACPI_SLP_EN): New const.
16360 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
16361 (GRUB_ACPI_OPCODE_*): New enum.
16362 (GRUB_ACPI_EXTOPCODE_*): Likewise.
16363
126b4c32
TG
163642010-09-11 Tristan Gingold <gingold@free.fr>
163652010-09-11 Robert Millan <rmh.grub@aybabtu.com>
163662010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16367
16368 * commands/lsacpi.c: New file.
16369 * grub-core/Makefile.core.def (lsacpi): New module.
16370 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
16371 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
16372 (grub_acpi_madt_entry_header): New struct.
16373 (grub_acpi_madt): Likewise.
16374 (grub_acpi_madt_entry_interrupt_override): Likewise.
16375 (grub_acpi_madt_entry_sapic): Likewise.
16376 (grub_acpi_madt_entry_lsapic): Likewise.
16377 (grub_acpi_madt_entry_platform_int_source): Likewise.
16378 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
16379 (PRIuGRUB_UINT32_T): Likewise.
16380 (PRIxGRUB_UINT64_T): Likewise.
16381
1aa4fe88
VS
163822010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16383
16384 Implement loading palette on ieee1275_fb.
16385
16386 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
16387 (have_setcolors): Likewise.
16388 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
16389 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
16390 (grub_video_ieee1275_set_palette): Implement.
16391
25761e13
VS
163922010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
163932010-09-11 Colin Watson <cjwatson@ubuntu.com>
16394
16395 * util/grub-install.in (grub_partition): New variable.
16396 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
16397 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
16398 Fixes a bug reported by Yves Blusseau.
16399
050abaea
VS
164002010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16401
16402 Fix emu on mipsel.
16403
16404 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
16405 =grub_cpu_flush_cache on all mips and not only yeeloong.
16406 * configure.ac (COND_mips): New conditional.
16407 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
16408 platforms.
16409 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
16410 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
16411 [GRUB_LINKER_HAVE_INIT]: New function.
16412 (grub_emu_post_init): Likewise.
16413 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
16414 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
16415 * include/grub/cache.h (_mips): Include mips/cache.h.
16416 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
16417 LVM and RAID prototypes.
16418 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
16419 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
16420 function.
16421
5ed7d816
CW
164222010-09-10 Colin Watson <cjwatson@ubuntu.com>
16423
16424 * util/grub-install.in: Don't try to verify core.img until after
16425 running grub-mkimage to create it.
16426
90367e04
RM
164272010-09-10 Robert Millan <rmh@gnu.org>
16428
16429 * util/grub.d/10_hurd.in: Add misc readability checks.
16430 * util/grub.d/10_kfreebsd.in: Likewise.
16431 * util/grub.d/10_linux.in: Likewise.
16432
c452fa66
CW
164332010-09-10 Colin Watson <cjwatson@ubuntu.com>
16434
16435 * util/grub-install.in: ${imgext} won't be defined here until the
16436 install branch is merged. For the meantime, only verify core.img on
16437 i386-pc and sparc64-ieee1275 platforms.
16438
c38fe9f4
RM
164392010-09-10 Robert Millan <rmh@gnu.org>
16440
16441 Solaris support in grub_find_zpool_from_dir(). Thanks
16442 Seth Goldberg for referring to getextmntent() facility.
16443
16444 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
16445 `sys/mkdev.h'.
16446 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
16447 `<sys/mnttab.h>'.
16448 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
16449 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
16450 method for finding zpool name.
16451
905f7773
CW
164522010-09-10 Colin Watson <cjwatson@ubuntu.com>
16453
16454 grub-fstest needs the host and hostfs modules while other utilities
16455 actively require those modules to be absent, so grub-fstest needs
16456 its own initialisation and finalisation code.
16457
16458 * Makefile.am (grub_fstest.pp): New target.
16459 (grub_fstest_init.lst): Likewise.
16460 (grub_fstest_init.c): Likewise.
16461 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
16462
fb90b546
RM
164632010-09-10 Robert Millan <rmh@gnu.org>
16464
16465 * configure.ac: Check for `struct statfs.f_fstypename' and
16466 `struct statfs.f_mntfromname'.
16467
16468 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
16469 kFreeBSD-specific code.
16470
66d4bea5
RM
164712010-09-10 Robert Millan <rmh@gnu.org>
16472
16473 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
16474 on ZFS. Now non-main filesystems are supported as / too.
16475
b6a690ee
CW
164762010-09-09 Colin Watson <cjwatson@ubuntu.com>
16477
16478 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
16479 and grub-core/disk/host.c to ...
16480 (grub-fstest): ... here. Having the host disk implementation
16481 present confuses grub-probe and other utility programs.
16482
16483 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
16484 when writing to a file, not when writing to stdout.
16485
8901b00c 164862010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
16487
16488 * tests/partmap_test.in: New test for partitions.
16489 * Makefile.util.def: Rules for new test.
16490
7bf45fdd
RM
164912010-09-09 Robert Millan <rmh@gnu.org>
16492
16493 * util/grub-probe.c (probe): Fix a pair of unhandled error
16494 conditions.
16495
4dfbc574
RM
164962010-09-09 Robert Millan <rmh@gnu.org>
16497
16498 Basic Btrfs support (detection and UUID).
16499
16500 * grub-core/fs/btrfs.c: New file.
16501 * Makefile.util.def (library): Register btrfs.c.
16502 * grub-core/Makefile.core.def: Likewise.
16503
6b8e78ae
RM
165042010-09-08 Robert Millan <rmh@gnu.org>
16505
16506 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
16507 with (optional) parameters to specify device and relative path.
16508 * util/grub-install.in: Use is_path_readable_by_grub() to
16509 verify readability of a few critical files.
16510 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
16511 verify readability of grub.cfg.new.
16512
27f21a8b
VS
165132010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16514
16515 Split minix.mod into minix.mod and minix2.mod.
16516
16517 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
16518 * grub-core/Makefile.core.def (minix2): New module.
16519 * grub-core/fs/minix.c: Use definitions instead of runtime version
16520 checking.
16521 * grub-core/fs/minix2.c: New file.
16522
c0e53ea5
YB
165232010-09-08 Yves Blusseau <blusseau@zetam.org>
16524
16525 Add new --boot-directory option to replace --root-directory
16526
16527 * util/grub-install.in: Add new --boot-directory option
16528 * util/grub-reboot.in: Likewise.
16529 * util/grub-set-default.in: Likewise.
16530
b9fe6ea2
YB
165312010-09-08 Yves Blusseau <blusseau@zetam.org>
16532
16533 * util/grub-mkconfig.in: Use new variable.
16534
d87aedff
YB
165352010-09-08 Yves Blusseau <blusseau@zetam.org>
16536
16537 * configure.ac: Define some useful variables.
16538
e55e8495
VS
165392010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16540
16541 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16542 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
16543 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
16544 Use terminfo and don't use cursor-on/cursor-off unless it's known
16545 to work.
16546 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
16547 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
16548
6fa6d675
CW
165492010-09-08 Colin Watson <cjwatson@ubuntu.com>
16550
16551 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
16552 starts with "(,", fill the drive containing the loaded image in
16553 between those two characters, but expect that a full partition
16554 specification including partition map names will follow.
16555
92f2aef0
RM
165562010-09-08 Robert Millan <rmh@gnu.org>
16557
16558 * configure.ac: Remove `--enable-grub-fstest' option.
16559 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
16560
16561 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
16562 `grub-fstest' instead of `grub-probe' for readability verification.
16563 * util/grub-probe.c (probe): Remove readability verification kludge.
16564
99fd620d
RM
165652010-09-08 Robert Millan <rmh@gnu.org>
16566
16567 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
16568 initializing `GRUB_FS'.
16569
058e30ac 165702010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
16571
16572 Not command (!) support to GRUB script.
16573
16574 * tests/grub_script_not.in: New test.
16575 * Makefile.util.def: Rules for new test.
16576
16577 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
16578 ! command as a special case.
16579 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
16580
b61d05ed 165812010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16582
058e30ac 16583 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
16584 grub_free.
b61d05ed 16585
4d69c786 165862010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16587
16588 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
16589
aa3119c4 165902010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16591
16592 * docs/grub.texi (Shell-like scripting): Documentation for break,
16593 continue, shift and return commands.
16594
db0f7e3d
VS
165952010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
16596
16597 Rename CD-ROM to cd on BIOS.
16598
16599 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
16600 "cd".
16601 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
16602
88b87c93
VS
166032010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16604
16605 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
16606 * util/grub-probe.c (main): Likewise.
16607 * util/i386/pc/grub-setup.c (main): Likewise.
16608 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16609 Reported and debugged by: alexxy
16610
294f324d
VS
166112010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16612
16613 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
16614 diagnostic info.
16615
d7ee3441
JS
166162010-09-05 Jo Shields <directhex@apebox.org>
16617
16618 * util/grub.d/30_os-prober.in: Add missing classes.
16619
d7e06c1f
VS
166202010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16621
16622 * docs/grub.texi (Theme file format): Document new position format.
16623
fc157e53
VS
166242010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16625
16626 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
16627 a table. Use @code instead of @verbatim.
16628
506e9a1c
CB
166292010-09-05 Colin D Bennett <colin@gibibit.com>
16630
16631 Gfxmenu documentation.
16632
16633 * docs/grub.texi (Theme file format): New chapter.
16634
f0aff67c
SJ
166352010-09-05 Szymon Janc <szymon@janc.net.pl>
16636
16637 * grub-core/Makefile.core.def (xzio): New module.
16638 * grub-core/io/xzio.c: New file.
16639 * grub-core/lib/xzembed/xz.h: New file (from xembed).
16640 * grub-core/lib/xzembed/xz_config.h: Likewise.
16641 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
16642 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
16643 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
16644 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
16645 * grub-core/lib/xzembed/xz_private.h: Likewise.
16646 * grub-core/lib/xzembed/xz_stream.h: Likewise.
16647 * include/grub/file.h (grub_file_filter_id): New compression filter
16648 GRUB_FILE_FILTER_XZIO.
16649
82a85062
VS
166502010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16651
16652 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
16653 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
16654 size.
16655
3579415d
VS
166562010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16657
16658 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
16659 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
16660
5124ae6d
VS
166612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16662
16663 Uncompressed checksum support.
16664
16665 * grub-core/commands/hashsum.c (options): Add option --uncompress.
16666 (check_list): New parameter uncompress.
16667 (grub_cmd_hashsum): Handle --uncompress.
16668
9aadb3d1
VS
166692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16670
16671 Reintroduce testload.
16672
16673 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
16674 from here ...
16675 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
16676 (GRUB_MOD_INIT): New function.
16677 (GRUB_MOD_FINI): Likewise.
16678 * grub-core/Makefile.core.def (testload): New module.
16679
a17792c3
SJ
166802010-09-05 Szymon Janc <szymon@janc.net.pl>
16681
16682 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
16683 (uint8_t): New type.
16684 (uint16_t): Likewise.
16685 (uint32_t): Likewise.
16686 (uint64_t): Likewise.
16687
b81e40a3
SJ
166882010-09-05 Szymon Janc <szymon@janc.net.pl>
16689
16690 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
16691
fc2ef117
VS
166922010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16693
16694 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
16695 Made static.
16696 (grub_gzfile_open): Removed. All users updated.
16697 (GRUB_MOD_INIT): New function.
16698 (GRUB_MOD_FINI): Likewise.
16699 * grub-core/kern/file.c (grub_file_filters_all): New variable.
16700 (grub_file_filters_enabled): Likewise.
16701 (grub_file_open): Handle filters.
16702 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
16703 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
16704 * include/grub/file.h (grub_file_filter_id_t): New type.
16705 (grub_file_filter_t): Likewise.
16706 (grub_file_filters_all): New extern variable.
16707 (grub_file_filters_enabled): Likewise.
16708 (grub_file_filter_register): New inline function.
16709 (grub_file_filter_unregister): Likewise.
16710 (grub_file_filter_disable): Likewise.
16711 (grub_file_filter_disable_compression): Likewise.
16712 * include/grub/gzio.h: Removed.
16713
35ee15e0
BC
167142010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16715
16716 Filename expansion support for wildcards in GRUB script.
16717
16718 * tests/grub_script_expansion.in: New test.
16719 * Makefile.util.def: Rule for new test.
16720
16721 * grub-core/commands/wildcard.c: New file, implements filename
16722 expansion support for GRUB script.
16723 * grub-core/Makefile.core.def: Rule update for regexp.mod.
16724 * grub-core/script/argv.c: Cosmetic changes.
16725 * grub-core/script/execute.c (grub_script_arglist_to_argv):
16726 Refactored to perform wildcard expansion on arguments.
16727 * include/grub/script_sh.h (grub_script_wildcard_translator): New
16728 struct.
16729
16730 * tests/util/grub-shell.in: Fix quoting for read input.
16731
5f0c4aca
BC
167322010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16733
16734 Support for updating environment variables with matched substrings
16735 of regexp.
16736
16737 * tests/grub_cmd_regexp.in: New test.
16738 * Makefile.util.def: Rule for new test.
16739
16740 * grub-core/commands/regexp.c: New option -s to update environment
16741 variables with regexp matches.
16742
3759a35f
SJ
167432010-09-04 Szymon Janc <szymon@janc.net.pl>
16744
16745 * include/grub/file.h (grub_file): New member not_easly_seekable.
16746 (grub_file_seekable): New inline function.
16747 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
16748 easily seekable.
16749 (grub_gzio_open): Set not_easly_seekable.
16750 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
16751 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
16752
ed8c6dec
BC
167532010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16754
16755 Support for options to appear multiple times on cmdline.
16756
16757 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
16758 * grub-core/commands/extcmd.c: Support for repeatable option.
16759 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
16760 repeatable option support.
16761
16762 Refactor menuentry into a regular command.
16763
16764 * grub-core/commands/menuentry.c: New file, menuentry command
16765 implementation.
16766 * grub-core/Makefile.core.def: Rule update for normal.mod.
16767 * grub-core/normal/main.c: Moved menuentry creation to
16768 grub-core/commands/menuentry.c.
16769 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
16770 (grub_menu_execute_entry_real): Removed.
16771 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
16772 function.
16773 (grub_script_execute_menuentry): Removed.
16774 * grub-core/script/parser.y (menuentry): Removed.
16775 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
16776 * grub-core/script/yylex.l (menuentry): Removed.
16777 * include/grub/menu.h (grub_menu_init): New prototype.
16778 (grub_menu_fini): New prototype.
16779 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
16780 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
16781 (grub_script_execute_sourcecode): New prototype.
16782
dacd0cf0
BC
167832010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16784
16785 "return" command for GRUB script functions.
16786
16787 * tests/grub_script_return.in: New test.
16788 * Makefile.util.def: Rules for new test.
16789
16790 * grub-core/script/execute.c (grub_script_return): New function.
16791 * grub-core/script/main.c: Register/unregister return commaond.
16792 * include/grub/script_sh.h (grub_script_return): New prototype.
16793
52e72f9d
BC
167942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16795
16796 "setparams" command to update positional parameters.
16797
16798 * tests/grub_script_setparams.in: New test.
16799 * Makefile.util.def: Rules for new test.
16800
16801 * grub-core/script/argv.c (grub_script_argv_make): New function.
16802 * grub-core/script/execute.c (replace_scope): New function.
16803 (grub_script_setparams): New function.
16804 * grub-core/script/lexer.c: Remove unused variables.
16805 * grub-core/script/main.c: Register/unregister setparams command.
16806 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
16807 (grub_script_setparams): New prototype.
16808
25b60c91
BC
168092010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16810
16811 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
16812 grub_free order.
16813
37e7bf68
BC
168142010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16815
16816 Support for passing block of commands as an argument to extcmds.
16817
16818 * Makefile.util.def: Rules for new test.
16819 * tests/grub_script_blockarg.in: New test.
16820 * grub-core/tests/test_blockarg.c: New file, block argument
16821 command used in the test.
16822
16823 * include/grub/extcmd.h (grub_extcmd_context): New struct.
16824 (grub_register_extcmd_prio): New function prototype.
16825 (grub_extcmd_dispatcher): New function prototype.
16826 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
16827 type.
16828 * include/grub/script_sh.h (struct grub_script): New members
16829 `children', `next_siblings' and `refcnt' for block arguments and
16830 reference counting.
16831 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
16832 (grub_script_arg): New member `script' for block argument.
16833 (grub_script_argv): New member `script' for block argument.
16834 (grub_parser_param): New member `scripts' for block argument.
16835 (grub_script_mem_free): New extern function prototype.
16836 (grub_script_ref): New function prototype.
16837 (grub_script_unref): New function prototype.
16838
16839 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
16840 extcmd form to support block arguments.
16841 * grub-core/script/argv.c: Block arguments support.
16842 * grub-core/script/execute.c: Likewise.
16843 * grub-core/script/lexer.c: Likewise.
16844 * grub-core/script/main.c: Likewise.
16845 * grub-core/script/script.c: Likewise.
16846 * grub-core/script/parser.y: Likewise. New `block' and `block0'
16847 non-terminals.
16848
16849 * grub-core/commands/acpi.c: Update extcmd implementations with
16850 grub_extcmd_context_t.
16851 * grub-core/commands/cat.c: Likewise.
16852 * grub-core/commands/echo.c: Likewise.
16853 * grub-core/commands/extcmd.c: Likewise.
16854 * grub-core/commands/hashsum.c: Likewise.
16855 * grub-core/commands/hdparm.c: Likewise.
16856 * grub-core/commands/help.c: Likewise.
16857 * grub-core/commands/hexdump.c: Likewise.
16858 * grub-core/commands/i386/cpuid.c: Likewise.
16859 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16860 * grub-core/commands/i386/pc/halt.c: Likewise.
16861 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16862 * grub-core/commands/iorw.c: Likewise.
16863 * grub-core/commands/keystatus.c: Likewise.
16864 * grub-core/commands/loadenv.c: Likewise.
16865 * grub-core/commands/ls.c: Likewise.
16866 * grub-core/commands/lspci.c: Likewise.
16867 * grub-core/commands/memrw.c: Likewise.
16868 * grub-core/commands/probe.c: Likewise.
16869 * grub-core/commands/search_wrap.c: Likewise.
16870 * grub-core/commands/setpci.c: Likewise.
16871 * grub-core/commands/sleep.c: Likewise.
16872 * grub-core/disk/loopback.c: Likewise.
16873 * grub-core/hello/hello.c: Likewise.
16874 * grub-core/loader/i386/bsd.c: Likewise.
16875 * grub-core/loader/xnu.c: Likewise.
16876 * grub-core/term/gfxterm.c: Likewise.
16877 * grub-core/term/serial.c: Likewise.
16878 * grub-core/tests/lib/functional_test.c: Likewise.
16879
888d1500
BC
168802010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16881
16882 Multi-line quoted strings support.
16883
16884 * grub-core/script/lexer.c (append_newline): Removed.
16885 (grub_script_lexer_yywrap): Refactored.
16886 (grub_script_lexer_init): Refactored.
16887 * grub-core/script/yylex.l (yywrap): New function.
16888 (grub_lexer_resplit): New function.
16889 (grub_lexer_unput): New function.
16890 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16891 and resplit.
16892 * tests/grub_script_echo1.in: Added few more testcases.
16893
dda060dd
VS
168942010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16895
16896 * grub-core/kern/misc.c: Don't add abort alias in utils.
16897 Reported by: echoline.
16898
6556eba9
BC
168992010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16900
16901 Add missing files into "make dist" tarball for other platforms.
16902
16903 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16904 * conf/Makefile.common (dist_noinst_DATA): New variable.
16905 * conf/Makefile.extra-dist: Added missing make dist files.
16906 * grub-core/Makefile.core.def: Likewise.
16907
c8e7bf5f
VS
169082010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16909
16910 Compress grub_prefix.
16911
16912 * grub-core/boot/i386/pc/lnxboot.S: Use
16913 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16914 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16915 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16916 GRUB_MACHINE_PREFIX_END. All users updated.
16917 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16918 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16919 + 0x40.
16920 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16921 * util/grub-mkimage.c (image_target_desc): Change data_end to
16922 prefix_end. All users updated.
16923
a7c00cdb
VS
169242010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16925
16926 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16927 value.
16928 (grub_openbsd_boot): Likewise.
16929 (grub_netbsd_boot): Likewise.
16930 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16931 (grub_xnu_boot): Likewise.
16932
9f915872
VS
169332010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16934
16935 * configure.ac: Clean LIBS variable after tests.
16936
efa1bee7
CW
169372010-09-02 Colin Watson <cjwatson@ubuntu.com>
16938
16939 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16940
61d720e5
VS
169412010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16942
16943 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16944 echo if libdevmapper will be used.
16945
ef8e0ec8
IT
169462010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16947
16948 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16949 constant for the same file.
16950
03e261d8
VS
169512010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16952
16953 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16954
c2a4eba6
CW
169552010-09-02 Colin Watson <cjwatson@ubuntu.com>
16956
16957 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16958 grub-core/*.pp.
16959
9056cbf3
CW
169602010-09-02 Colin Watson <cjwatson@ubuntu.com>
16961
16962 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16963 required by the boot protocol.
16964
16965 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16966 ebp and edi members.
16967 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16968 state.ebp and state.edi.
16969 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16970 %ebp and %edi according to grub_relocator32_ebp and
16971 grub_relocator32_edi respectively.
16972 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16973 and state.edi.
16974
529cc99a
VS
169752010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16976
16977 Add i386-pc-pxe image target.
16978
16979 * util/grub-mkimage.c (image_target_desc): New enum value
16980 IMAGE_I386_PC_PXE.
16981 (image_targets): New target i386-pc-pxe.
16982 (generate_image): Handle i386-pc-pxe image.
16983
9a093920
VS
169842010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16985
16986 Fix grub_pxe_scan.
16987
16988 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16989 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16990 All users updated.
16991 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16992 (grub_pxe_pxenv): Correct type.
16993
f9cefc4e
CW
169942010-09-01 Colin Watson <cjwatson@ubuntu.com>
16995
16996 * NEWS: Document most of the important changes since 1.98.
16997
4066f57f
CW
169982010-09-01 Colin Watson <cjwatson@ubuntu.com>
16999
17000 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
17001 generated manual page) a little.
17002
da2891f9
CW
170032010-09-01 Colin Watson <cjwatson@ubuntu.com>
17004
17005 * docs/grub.texi: Add myself as an author.
17006
ad717fae
VS
170072010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
17008
17009 * Makefile.util.def (libgrub.a): Add missing sunpc.
17010 Reported by: Seth Goldberg.
17011
eefe8abd
VS
170122010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17013
17014 Interrupt wrapping and code simplifications.
17015
9494ef9a
VS
17016 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
17017 x86_noieee1275 which are functionaly equivalent in this case.
17018 (grub-install): Make source on each platform explicit. Enable on
17019 all noemu.
17020 * gentpl.py (x86_efi_pc): Removed group.
17021 (x86_noefi): Likewise.
17022 (i386_noefi): Likewise.
17023 (x86_noieee1275): Likewise.
17024 (i386_noieee1275): Likewise.
17025 (i386_noefi_noieee1275): Likewise.
17026 (i386_pc_qemu_coreboot): Likewise.
17027 (i386_coreboot_multiboot): Likewise.
17028 (i386_pc_coreboot_multiboot_qemu): Likewise.
17029 (x86_noefi_mips): Likewise.
17030 (noieee1275): Likewise.
17031 (ieee1275_mips): Likewise.
17032 (noemu_noieee1275): Likewise.
17033 (cmos): New group.
17034 (usb): Likewise.
17035 (videoinkernel): Likewise.
17036 (videomodules): Likewise.
eefe8abd 17037 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
17038 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
17039 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
17040 include/grub/loader.h, include/grub/msdos_partition.h,
17041 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
17042 include/grub/machine/console.h, include/grub/machine/vga.h,
17043 include/grub/machine/vbe.h, include/grub/machine/init.h,
17044 include/grub/machine/kernel.h, include/grub/cpu/time.h,
17045 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 17046 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
17047 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
17048 * grub-core/Makefile.core.def (kernel): Explicit the source for
17049 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
17050 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
17051 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
17052 Use videoinkernel tag.
17053 (usb): Enable on all usb.
17054 (usbserial_common): Likewise.
17055 (usbserial_pl2303): Likewise.
17056 (usbserial_ftdi): Likewise.
17057 (uhci): Enable on all x86.
17058 (ohci): Enable on all pci.
17059 (cmostest): Enable on all CMOS.
17060 (acpi): Include commands/acpi.c on all platforms.
17061 (halt): Add relevant lib/*/halt.c.
17062 (hdparm): Enable on all pci.
17063 (lspci): Likewise.
17064 (usbtest): Enable on all usb.
17065 (ata): Enable on all pci.
17066 (ata_pthru): Likewise.
17067 (usbms): Enable on all usb.
17068 (usb_keyboard): Likewise.
17069 (font): Use tag videomodules.
17070 (bufio): Likewise.
17071 (datetime): Use tag cmos. Enable on all noemu.
17072 (mmap): Use tags common and x86.
17073 (gfxterm): Use tag videomodules.
17074 (bitmap): Likewise.
17075 (bitmap_scale): Likewise.
17076 (video_fb): Likewise.
17077 (video): Likewise.
17078 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
17079 adjust padding accordingly. All users updated.
17080 (grub_ohci_transaction): Fix bad format specification.
17081 (GRUB_MOD_INIT): Add asserts for struct size.
17082 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
17083 (grub_alloc_td): Likewise.
17084 (grub_free_queue): Likewise.
17085 (grub_uhci_transfer): Likewise.
17086 (grub_uhci_transaction): Fix bad format specification.
17087 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17088 (grub_usb_bulk_readwrite): Likewise.
17089 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
17090 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
17091 Made static.
17092 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
17093 Made static.
17094 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
17095 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
17096 Transformed into C.
17097 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
17098 Moved from here ...
17099 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
17100 ... here. Transformed into C. Made static.
17101 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
17102 Moved from here ...
17103 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
17104 ... here. Transformed into C. Made static.
17105 * grub-core/kern/i386/pc/startup.S
17106 (grub_biosdisk_check_int13_extensions): Moved from here ...
17107 * grub-core/disk/i386/pc/biosdisk.c
17108 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
17109 Made static.
17110 * grub-core/kern/i386/pc/startup.S
17111 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
17112 * grub-core/disk/i386/pc/biosdisk.c
17113 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
17114 Transformed into C. Made static.
17115 * grub-core/kern/i386/pc/startup.S
17116 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
17117 * grub-core/disk/i386/pc/biosdisk.c
17118 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
17119 Transformed into C. Made static.
17120 * grub-core/kern/i386/pc/startup.S
17121 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
17122 * grub-core/disk/i386/pc/biosdisk.c
17123 (grub_biosdisk_get_diskinfo_standard): ... here.
17124 Transformed into C. Made static.
17125 * grub-core/kern/i386/pc/startup.S
17126 (grub_biosdisk_get_num_floppies): Moved from here ...
17127 * grub-core/disk/i386/pc/biosdisk.c
17128 (grub_biosdisk_get_num_floppies): ... here.
17129 Transformed into C. Made static.
17130 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
17131 New function.
17132 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
17133 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
17134 Transformed into C. Made static.
17135 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
17136 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
17137 Transformed into C. Made static.
17138 * grub-core/kern/i386/ieee1275/init.c: Removed.
17139 * grub-core/kern/i386/misc.S: Likewise.
17140 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
17141 Splitted from here ...
17142 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
17143 Transformed into C. Made static. All users updated.
17144 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
17145 Transformed into C. Made static. All users updated.
17146 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
17147 Moved from here...
17148 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
17149 Transformed into C. Made static. All users updated.
17150 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
17151 Moved from here...
17152 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
17153 Transformed into C. Made static. All users updated.
17154 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
17155 Removed (replaced by C version).
17156 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
17157 Moved from here...
17158 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
17159 Transformed into C. Made static.
17160 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
17161 Moved from here...
17162 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
17163 ... here. Transformed into C.
17164 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
17165 Moved from here...
17166 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
17167 ... here. Transformed into C.
17168 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
17169 Moved from here...
17170 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
17171 ... here. Transformed into C. Made static.
17172 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
17173 Moved from here...
17174 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
17175 ... here. Transformed into C.
21ed554b
VS
17176 * grub-core/kern/i386/pc/startup.S
17177 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
17178 * grub-core/video/i386/pc/vbe.c
17179 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
17180 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
17181 Moved from here...
17182 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
17183 ... here. Transformed into C.
17184 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
17185 Moved from here...
17186 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
17187 ... here. Transformed into C.
17188 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
17189 Moved from here...
17190 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
17191 ... here. Transformed into C.
17192 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
17193 Moved from here...
17194 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
17195 ... here. Transformed into C.
17196 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
17197 Moved from here...
17198 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
17199 ... here. Transformed into C. Made static.
17200 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
17201 Moved from here...
17202 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
17203 ... here. Transformed into C. Made static.
17204 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
17205 Moved from here...
17206 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
17207 ... here. Transformed into C. Made static.
17208 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
17209 pxe_rm_entry as third argument.
17210 (grub_bios_interrupt): New function.
17211 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
17212 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
17213 of calling grub_stop.
17214 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
17215 * grub-core/lib/efi/halt.c (grub_halt): ...here.
17216 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
17217 * grub-core/lib/emu/halt.c (grub_halt): ... here.
17218 * grub-core/lib/i386/halt.c: Moved from here ...
17219 * grub-core/lib/i386/halt.c: ... here.
17220 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
17221 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
17222 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
17223 grub_stop_floppy.
17224 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
17225 * include/grub/i386/coreboot/init.h: Removed.
17226 * include/grub/i386/multiboot/init.h: Likewise.
17227 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
17228 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
17229 * include/grub/i386/pc/int.h: New file.
17230 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
17231 (grub_pxe_scan): Removed.
17232 (grub_pxe_call): Update prototype.
17233 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
17234 prototypes.
17235 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
17236 * include/grub/i386/qemu/init.h: Removed.
17237 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
17238 noreturn.
17239 (grub_halt): Likewise.
17240 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
17241 (grub_reboot): Likewise.
17242 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
17243 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
17244 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
17245
215dd471
RM
172462010-08-30 Robert Millan <rmh@gnu.org>
17247
17248 * NEWS: Document addition of ZFS support in `grub-install' and
17249 `grub-mkconfig'.
17250
ebd65b82
BC
172512010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
17252
17253 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
17254 dprintf output.
17255
11721d19
VS
172562010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17257
17258 Remove leftover embedding of font objects.
17259
17260 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17261 * util/grub-install.in (font): Removed.
17262 * util/grub-mkimage.c (generate_image): Remove font support. All users
17263 updated.
17264
37837d4e
VS
172652010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17266
17267 Remove leftover embedding of font objects.
17268
17269 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17270 * util/grub-install.in (font): Removed.
17271 * util/grub-mkimage.c (generate_image): Remove font support. All users
17272 updated.
17273
b4c1aae0
VS
172742010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17275
17276 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 17277 Reported by: Ian Turner
b4c1aae0 17278
8920a08d
VS
172792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17280
17281 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
17282 timeout to avoid indefinite boot stalling.
17283
f21db033
VS
172842010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17285
17286 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
17287 (grub_env_write_color_highlight): Likewise.
17288
9a9de209
VS
172892010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17290
17291 * grub-core/normal/term.c (print_more): Return to normal and not
17292 to standard state after printing "---MORE---".
17293
3dca01d7
VS
172942010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17295
17296 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
17297 Mask out the bit 0x80 since it has other meaning that specifiing color.
17298
0b986c40
VS
172992010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17300
17301 New relocator. Allows for more kernel support and more straightforward
17302 loader writing.
17303
17304 * Makefile.am (BOOTTARGET): New variable.
17305 (QEMU32): Likewise.
17306 (linux.init.x86_64): New target.
17307 (linux.init.i386): Likewise.
17308 (multiboot.elf): Likewise.
17309 (kfreebsd.elf): Likewise.
17310 (kfreebsd.aout): Likewise.
17311 (pc-chainloader.elf): Likewise.
17312 (pc-chainloader.bin): Likewise.
17313 (ntldr.elf): Likewise.
17314 (ntldr.bin): Likewise.
17315 (multiboot2.elf): Likewise.
17316 (kfreebsd.init.x86_64): Likewise.
17317 (kfreebsd.init.i386): Likewise.
17318 (knetbsd.init.i386): Likewise.
17319 (kopenbsd.init.i386): Likewise.
17320 (knetbsd.init.x86_64): Likewise.
17321 (kopenbsd.init.x86_64): Likewise.
17322 (linux-initramfs.i386): Likewise.
17323 (linux-initramfs.x86_64): Likewise.
17324 (kfreebsd-mfsroot.i386.img): Likewise.
17325 (knetbsd.image.i386): Likewise.
17326 (kopenbsd.image.i386): Likewise.
17327 (kopenbsd.image.x86_64): Likewise.
17328 (knetbsd.miniroot-image.i386.img): Likewise.
17329 (kfreebsd-mfsroot.x86_64.img): Likewise.
17330 (knetbsd.image.x86_64): Likewise.
17331 (knetbsd.miniroot-image.x86_64.img): Likewise.
17332 (kfreebsd-mfsroot.i386.gz): Likewise.
17333 (bootcheck-kfreebsd-i386): Likewise.
17334 (kfreebsd-mfsroot.x86_64.gz): Likewise.
17335 (bootcheck-kfreebsd-x86_64): Likewise.
17336 (knetbsd.miniroot-image.i386.gz): Likewise.
17337 (bootcheck-knetbsd-i386): Likewise.
17338 (bootcheck-kopenbsd-i386): Likewise.
17339 (bootcheck-kopenbsd-x86_64): Likewise.
17340 (knetbsd.miniroot-image.x86_64.gz): Likewise.
17341 (bootcheck-knetbsd-x86_64): Likewise.
17342 (bootcheck-linux-i386): Likewise.
17343 (bootcheck-linux-x86_64): Likewise.
17344 (bootcheck-linux16-i386): Likewise.
17345 (bootcheck-linux16-x86_64): Likewise.
17346 (bootcheck-multiboot): Likewise.
17347 (bootcheck-multiboot2): Likewise.
17348 (bootcheck-kfreebsd-aout): Likewise.
17349 (bootcheck-pc-chainloader): Likewise.
17350 (bootcheck-ntldr): Likewise.
17351 (CLEANFILES): Add new targets.
17352 (BOOTCHECKS): New variable.
17353 (.PHONY): Add bootchecks.
17354 (SUCCESSFUL_BOOT_STRING): New variable.
17355 (BOOTCHECK_TIMEOUT): Likewise.
17356 (bootcheck): New target
17357 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
17358 * configure.ac: Correct efiemu excuse.
17359 * docs/grub.texi (Supported kernels): New chapter.
17360 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
17361 include/grub/mm_private.h. Simplify inclusion of
17362 include/grub/boot.h, include/grub/loader.h
17363 and include/grub/msdos_partition.h
17364 (KERNEL_HEADER_FILES) [i386_coreboot]:
17365 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
17366 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
17367 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
17368 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
17369 include/grub/machine/loader.h.
17370 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
17371 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
17372 extra_dist.
17373 (pci.mod): Enable on i386-multiboot.
17374 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
17375 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
17376 i386-qemu.
17377 (relocator.mod): Rewritten.
17378 (aout.mod): Enable on all x86.
17379 (bsd.mod): Likewise.
17380 (ntldr.mod): New module.
17381 (linux.mod): Use loader/i386/linux.c on all x86.
17382 (xnu.mod): Enable on all x86.
17383 (vga_text.mod): disable on EFI and QEMU.
17384 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
17385 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
17386 * grub-core/efiemu/loadcore.c: Likewise.
17387 * grub-core/efiemu/main.c: Likewise.
17388 (grub_efiemu_exit_boot_services): Removed.
17389 (grub_efiemu_finish_boot_services): Likewise.
17390 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
17391 function.
17392 * grub-core/efiemu/i386/nocfgtables.c: New file.
17393 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
17394 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
17395 (grub_efi_finish_boot_services): Moved from here ...
17396 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
17397 Fille finish memory map and related data.
17398 (finish_mmap_buf): New variable.
17399 (grub_efi_uintn_t finish_mmap_size): Likewise.
17400 (grub_efi_uintn_t finish_key): Likewise.
17401 (grub_efi_uintn_t finish_desc_size): Likewise.
17402 (grub_efi_uint32_t finish_desc_version): Likewise.
17403 (grub_efi_is_finished): Likewise.
17404 (grub_efi_get_memory_map): Use saved memory map if EFI is already
17405 finished.
17406 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
17407 (grub_elf64_phdr_iterate): Likewise.
17408 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
17409 (grub_os_area_size): Likewise.
17410 (grub_machine_init): Don't reserve os area.
17411 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
17412 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17413 * grub-core/kern/i386/loader.S: Removed.
17414 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
17415 (grub_os_area_size): Likewise.
17416 (grub_machine_init): Don't reserve os area.
17417 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
17418 Don't call grub_dl_unload_all.
17419 Don't include loader.S.
17420 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
17421 Declare the memory after _end as available.
17422 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 17423 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 17424 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
17425 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
17426 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
17427 * include/grub/mm_private.h (grub_mm_header): ... here.
17428 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
17429 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
17430 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
17431 (grub_mm_region): ..here. Removed addr. Added pre_size.
17432 All users updated.
17433 * grub-core/kern/mm.c (base): Renamed to ...
17434 (grub_mm_base): ... this. Made global.
17435 (grub_real_malloc): Alloc from end of region.
17436 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
17437 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
17438 * grub-core/kern/powerpc/cache_flush.S: ... here.
17439 * grub-core/lib/efi/relocator.c: New file.
17440 * grub-core/lib/i386/relocator.c: Rewritten.
17441 * grub-core/lib/i386/relocator16.S: New file.
17442 * grub-core/lib/i386/relocator32.S: Likewise.
17443 * grub-core/lib/i386/relocator64.S: Likewise.
17444 * grub-core/lib/i386/relocator_asm.S: Rewritten.
17445 * grub-core/lib/i386/relocator_common.S: New file.
17446 * grub-core/lib/ieee1275/relocator.c: Likewise.
17447 * grub-core/lib/mips/relocator.c: Rewritten.
17448 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
17449 stylistic adjustments.
17450 * grub-core/lib/powerpc/relocator.c: New file.
17451 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
17452 * grub-core/lib/relocator.c: Rewritten.
17453 * grub-core/lib/x86_64/relocator_asm.S: New file.
17454 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
17455 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
17456 (bsd_tag): New struct.
17457 (tags): New variable.
17458 (tags_last): Likewise.
17459 (netbsd_module): New struct.
17460 (netbsd_mods): New variable.
17461 (netbsd_mods_last): Likewise.
17462 (openbsd_opts): New parameter "serial".
17463 (OPENBSD_SERIAL_ARG): New definition.
17464 (netbsd_opts): New parameter "serial".
17465 (NETBSD_SERIAL_ARG): New definition.
17466 (grub_freebsd_add_meta): Reorganised into ...
17467 (grub_bsd_add_meta): ...this. All users updated.
17468 (grub_freebsd_add_mmap): Reorganised into ...
17469 (generate_e820_mmap): ...this...
17470 (grub_bsd_add_mmap): ...and this. All users updated.
17471 (grub_freebsd_list_modules): Use tags.
17472 (grub_netbsd_add_meta_module): New function.
17473 (grub_netbsd_list_modules): Likewise.
17474 (grub_freebsd_boot): Use relocator and finish EFI.
17475 (grub_openbsd_boot): Likewise.
17476 (grub_netbsd_setup_video): New function.
17477 (grub_netbsd_add_modules): Likewise.
17478 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
17479 and finish EFI.
17480 (grub_bsd_unload): Unload tags.
17481 (grub_bsd_load_aout): Use relocator.
17482 (grub_bsd_elf32_size_hook): New function.
17483 (grub_bsd_elf32_hook): Use relocator.
17484 (grub_bsd_elf64_size_hook): New function.
17485 (grub_bsd_elf64_hook): Use relocator.
17486 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
17487 (grub_bsd_load): Zero-out openbsd_ramdisk.
17488 (grub_bsd_load): Use relocator.
17489 (grub_cmd_openbsd): Support serial.
17490 (grub_cmd_netbsd): Support modules.
17491 (grub_cmd_freebsd_module): Use relocator.
17492 (grub_netbsd_module_load): New function.
17493 (grub_cmd_netbsd_module): Likewise.
17494 (grub_cmd_openbsd_ramdisk): Likewise.
17495 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
17496 kopenbsd_ramdisk.
17497 (GRUB_MOD_FINI): Unregister new commands.
17498 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
17499 (grub_freebsd_load_elfmodule_obj): Use relocator.
17500 (grub_freebsd_load_elfmodule): Likewise.
17501 (grub_freebsd_load_elf_meta): Likewise.
17502 (grub_netbsd_load_elf_meta): New function.
17503 (grub_openbsd_find_ramdisk): Likewise.
17504 * grub-core/loader/i386/bsd_helper.S: Removed.
17505 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
17506 * grub-core/loader/i386/bsd_trampoline.S: Removed.
17507 * grub-core/loader/i386/efi/linux.c: Likewise.
17508 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
17509 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
17510 (DEFAULT_VIDEO_MODE): Likewise.
17511 (real_mode_target): New variable.
17512 (prot_mode_target): Likewise.
17513 (initrd_mem_target): Likewise.
17514 (relocator): Likewise.
17515 (efi_mmap_buf): Likewise.
17516 (efi_mmap_size): Likewise.
17517 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
17518 (free_pages): Use relocator.
17519 (allocate_pages): Account for efi_mmap and use relocator. Return error.
17520 (grub_linux_setup_video): Return error.
17521 (grub_linux_trampoline_start): Removed.
17522 (grub_linux_trampoline_end): Likewise.
17523 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
17524 andd video parameters depending on firmware.
17525 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
17526 [GRUB_MACHINE_EFI]: Pass EFI parameters.
17527 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
17528 (grub_cmd_initrd): Use relocator.
17529 * grub-core/loader/i386/linux_trampoline.S: Removed.
17530 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
17531 (elf_sec_entsize): Likewise.
17532 (elf_sec_shstrndx): Likewise.
17533 (elf_sections): Likewise.
17534 (grub_multiboot_load): Use relocator.
17535 (grub_multiboot_get_mbi_size): Account for sections.
17536 (grub_multiboot_make_mbi): Use relocator and support sections.
17537 (grub_multiboot_add_elfsyms): New function.
17538 (grub_multiboot_free_mbi): Free sections.
17539 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
17540 (grub_linux_real_target): Likewise.
17541 (grub_linux_real_chunk): Likewise.
17542 (grub_linux16_prot_size): Likewise.
17543 (grub_linux16_boot): Use relocator.
17544 (grub_linux_unload): Unload relocator.
17545 (grub_cmd_linux): Use relocator.
17546 (grub_cmd_initrd): Likewise.
17547 * grub-core/loader/i386/pc/ntldr.c: New file.
17548 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
17549 Don't try to guess CPU frequency.
17550 (grub_xnu_set_video): Stretch bitmap.
17551 (grub_xnu_boot): Use relocator.
17552 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
17553 (grub_linux_unload): Free relocator.
17554 (grub_linux_load32): Use relocator.
17555 (grub_linux_load64): Likewise.
17556 (grub_cmd_initrd): Likewise.
17557 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
17558 (grub_multiboot_unload): Unload relocator.
17559 (grub_cmd_multiboot): Use relocator.
17560 (grub_cmd_module): Likewise.
17561 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
17562 Use relocator and support sections.
17563 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
17564 (elf_sec_entsize): Likewise.
17565 (elf_sec_shstrndx): Likewise.
17566 (elf_sections): Likewise.
17567 (grub_multiboot_load): Use relocator.
17568 (grub_multiboot_get_mbi_size): Account for sections.
17569 (grub_multiboot_make_mbi): Use relocator and support sections.
17570 (grub_multiboot_add_elfsyms): New function.
17571 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
17572 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
17573 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
17574 Prototype changed. All users updated.
17575 (grub_xnu_align_heap): Simplified.
17576 (grub_xnu_writetree_toheap): Likewise.
17577 (grub_xnu_unload): Unload relocator.
17578 (grub_cmd_xnu_kernel): Use relocator.
17579 (grub_cmd_xnu_kernel64): Likewise.
17580 (grub_xnu_register_memory): Simplified.
17581 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
17582 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
17583 EFI is finished.
17584 (grub_console_checkkey): Likewise.
17585 (grub_console_getkey): Likewise.
17586 (grub_console_getwh): Likewise.
17587 (grub_console_getxy): Likewise.
17588 (grub_console_gotoxy): Likewise.
17589 (grub_console_cls): Likewise.
17590 (grub_console_setcolorstate): Likewise.
17591 (grub_console_setcursor): Likewise.
17592 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
17593 * grub-core/tests/boot/kbsd.init-i386.S: New file.
17594 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
17595 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
17596 * grub-core/tests/boot/kernel-8086.S: Likewise.
17597 * grub-core/tests/boot/kernel-i386.S: Likewise.
17598 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
17599 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
17600 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
17601 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
17602 * grub-core/tests/boot/knetbsd.cfg: Likewise.
17603 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
17604 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
17605 * grub-core/tests/boot/linux.cfg: Likewise.
17606 * grub-core/tests/boot/linux.init-i386.S: Likewise.
17607 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
17608 * grub-core/tests/boot/linux16.cfg: Likewise.
17609 * grub-core/tests/boot/multiboot.cfg: Likewise.
17610 * grub-core/tests/boot/multiboot2.cfg: Likewise.
17611 * grub-core/tests/boot/ntldr.cfg: Likewise.
17612 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
17613 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
17614 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
17615 New definition.
17616 * include/grub/dl.h (grub_dl_unload_all): Removed.
17617 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
17618 (grub_efi_finish_boot_services): Change prototype.
17619 (grub_efi_is_finished): New variable.
17620 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
17621 Changed prototype.
17622 (grub_efiemu_finish_boot_services): Removed.
17623 (grub_machine_efiemu_init_tables): New prototype.
17624 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
17625 (grub_elf64_phdr_iterate): Likewise.
17626 * include/grub/i386/bsd.h: Include relocator.h.
17627 (freebsd_tag_header): New struct.
17628 (grub_openbsd_bios_mmap): Removed.
17629 (grub_unix_real_boot): Removed.
17630 (grub_freebsd_load_elfmodule32): Changed prototype.
17631 (grub_freebsd_load_elfmodule_obj64): Likewise.
17632 (grub_freebsd_load_elf_meta32): Likewise.
17633 (grub_freebsd_load_elf_meta64): Likewise.
17634 (grub_freebsd_add_meta): Removed.
17635 (grub_netbsd_load_elf_meta32): New prototype.
17636 (grub_netbsd_load_elf_meta64): Likewise.
17637 (grub_bsd_add_meta): Likewise.
17638 (grub_openbsd_ramdisk_descriptor): New struct.
17639 (grub_openbsd_find_ramdisk32): New prototype.
17640 (grub_openbsd_find_ramdisk64): Likewise.
17641 * include/grub/i386/coreboot/loader.h: Removed.
17642 * include/grub/i386/efi/loader.h: Likewise.
17643 * include/grub/i386/ieee1275/loader.h: Likewise.
17644 * include/grub/i386/linux.h (linux_kernel_header): Change void *
17645 to grub_uint32_t.
17646 * include/grub/i386/loader.h: Removed.
17647 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
17648 value.
17649 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
17650 (grub_phys_addr_t): New type.
17651 (grub_vtop): New inline function.
17652 (grub_map_memory): Likewise.
17653 (grub_unmap_memory): Likewise.
17654 * include/grub/i386/multiboot/loader.h: Removed.
17655 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
17656 (NETBSD_BTINFO_CONSOLE): New definition.
17657 (NETBSD_BTINFO_SYMTAB): Likewise.
17658 (NETBSD_BTINFO_MODULES): Likewise.
17659 (NETBSD_BTINFO_FRAMEBUF): Likewise.
17660 (grub_netbsd_bootinfo): New struct.
17661 (grub_netbsd_btinfo_common): Use explicit bitsize.
17662 (grub_netbsd_btinfo_mmap_entry): Removed.
17663 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
17664 (grub_netbsd_btinfo_bootdisk): New struct.
17665 (grub_netbsd_btinfo_symtab): Likewise.
17666 (grub_netbsd_btinfo_serial): Likewise.
17667 (grub_netbsd_btinfo_modules): Likewise.
17668 (grub_netbsd_btinfo_framebuf): Likewise.
17669 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
17670 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
17671 Likewise.
17672 (grub_openbsd_bootargs): Use explicit bitsize.
17673 (grub_openbsd_bootarg_console): New struct.
17674 (GRUB_OPENBSD_COM_MAJOR): New definition.
17675 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
17676 * include/grub/i386/pc/efiemu.h: Removed.
17677 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
17678 * include/grub/i386/qemu/loader.h: Removed.
17679 * include/grub/i386/relocator.h: Rewritten.
17680 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
17681 * include/grub/mips/memory.h: New file.
17682 * include/grub/mips/multiboot.h: Rewritten.
17683 * include/grub/mips/relocator.h: Rewritten.
17684 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
17685 (grub_vtop): New function.
17686 (grub_map_memory): Likewise.
17687 (grub_unmap_memory): Likewise.
17688 * include/grub/misc.h (ALIGN_DOWN): New definition.
17689 * include/grub/mm.h (grub_mm_check_real): New proto.
17690 (GRUB_MM_CHECK): New definition.
17691 * include/grub/mm_private.h: New file.
17692 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
17693 (grub_multiboot_get_mbi_size): Removed.
17694 (grub_multiboot_make_mbi): Change prottype.
17695 (grub_multiboot_set_accepts_video): New proto.
17696 (grub_multiboot_add_elfsyms): Likewise.
17697 (grub_multiboot_payload_eip): New variable.
17698 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
17699 New prototype.
17700 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
17701 New definition.
17702 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
17703 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
17704 * include/grub/powerpc/ieee1275/loader.h: Removed.
17705 * include/grub/powerpc/memory.h: New file.
17706 * include/grub/powerpc/relocator.h: Likewise.
17707 * include/grub/relocator.h: Likewise.
17708 * include/grub/relocator_private.h: Likewise.
17709 * include/grub/sparc64/ieee1275/loader.h: Removed.
17710 * include/grub/x86_64/memory.h: New file.
17711 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
17712 (grub_xnu_heap_malloc): Likewise.
17713 (grub_xnu_heap_real_start): Removed.
17714 (grub_xnu_heap_start): Likewise.
17715 (grub_xnu_relocator): New variable.
17716 (grub_xnu_heap_target_start): Likewise.
17717 * tests/util/grub-shell.in: Support non-pc.
17718 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 17719
5303b85d
VS
177202010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17721
17722 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
17723 on malloc error.
17724 (grub_bidi_logical_to_visual): Check that malloc succeded.
17725 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
17726 puts.
17727 (grub_xputs_normal): Likewise.
17728
d768d159
VS
177292010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17730
17731 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
17732 extra_dist.
17733
177342010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17735
17736 * grub-core/efiemu/runtime/efiemu.sh: Removed.
17737
5bf84df4
VS
177382010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17739
17740 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
17741
3626810e
VS
177422010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17743
17744 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
17745 dprintf.
17746
a7363f53
BC
177472010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
17748
17749 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
17750
902f75f6
VS
177512010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17752
17753 * grub-core/normal/term.c (print_more): Fix a memory leak.
17754 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
17755 (grub_xputs_normal): Likewise.
17756
3c707967
VS
177572010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17758
17759 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
17760 the begining of the string
17761
2053cc07
VS
177622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17763
17764 * grub-core/script/script.c (grub_script_parse): Free parsed on
17765 failure.
17766
46422ebf
VS
177672010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17768
17769 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
17770 on failure.
17771
9e0fa3f6
VS
177722010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17773
17774 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
17775 return.
17776
3393cf16
VS
177772010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17778
17779 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
17780 (scroll_up): Fix a memory leak.
17781
b17540cb
VS
177822010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17783
17784 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
17785 errors.
17786
67140446
VS
177872010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
17788
17789 Handle USB pendrives exposed as floppies.
17790
17791 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
17792 floppy.
17793 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17794 Check for partitions on all devices.
17795
e35e46fc
VS
177962010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17797
17798 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
17799 (readkey): Likewise.
17800
d24c6190
BC
178012010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17802
17803 Multiple variable names support to "export" command.
17804
17805 * normal/context.c (grub_cmd_export): "export" command supports
17806 multiple variable names.
17807
04ddcc6a
ST
178082010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
17809
17810 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
17811 --target=drive output to Mach device name.
17812
0c8b61d8
BC
178132010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17814
17815 New Automake based build system for GRUB.
17816
17817 * ABOUT-NLS: New file.
17818 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
17819 in Makefile.util.def file.
17820 * Makefile.util.def: New file. Autogen build definitions file for
17821 GRUB host utils.
17822 * conf/Makefile.common: New file. Common variables for GRUB host
17823 utils and target modules.
17824 * conf/Makefile.extra-dist: New file. Extra files for make dist.
17825 * docs/Makefile.am: New file. Automake file for docs.
17826 * gentpl.py: New file. Python script to generate Autogen
17827 template.
17828 * grub-core/Makefile.am: New file. GRUB target modules' rules
17829 that doesn't fit in Makefile.core.def file.
17830 * grub-core/Makefile.core.def: New file. Autogen build
17831 definitions file for GRUB target modules.
17832 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
17833 specific setjmp.S file.
17834 * po/Makefile.am: New file.
17835
17836 * .bzrignore: New ignores.
17837 * INSTALL: New requirements, without Ruby.
17838 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
17839 * autogen.sh: Updated to invoke autogen as necessary.
17840 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
17841 and defines for Automake conditionals.
17842 * geninit.sh: Refactoring.
17843
17844 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
17845 necessary.
17846 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
17847 New prototype.
17848
17849 * include/grub/test.h: Fix functional test modules' naming.
17850 * grub-core/tests/example_functional_test.c: Fix test module name.
17851
17852 * util/misc.c: Hosted versions' of grub functions for libgrub.a
17853 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
17854 * util/grub-editenv.c: Likewise.
17855 * util/grub-fstest.c: Likewise.
17856 * util/grub-mkdevicemap.c: Likewise.
17857 * util/grub-mkfont.c: Likewise.
17858 * util/grub-mkimage.c: Likewise.
17859 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17860 * util/grub-probe.c: Likewise.
17861 * util/grub-script-check.c: Likewise.
17862 * util/i386/pc/grub-setup.c: Likewise.
17863 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17864
17865 * tests/util/grub-shell.in: Fix override directory path.
17866 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17867 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17868
17869 * util/lvm.c: Update #includes.
17870 * util/raid.c: Likewise.
17871 * util/resolve.c: Likewise.
17872 * grub-core/bus/emu/pci.c: Likewise.
17873 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17874 * grub-core/lib/posix_wrap/string.h: Likewise.
17875 * grub-core/kern/emu/main.c: Likewise.
17876
17877 * grub-core/gensymlist.sh: New file. Script for generating kernel
17878 symbols file.
17879 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17880
17881 * grub-core/gentrigtables.c: Fix unused variable warnings.
17882
17883 * Makefile.in: Removed.
17884 * conf/any-emu.rmk: Removed.
17885 * conf/common.rmk: Removed.
17886 * conf/i386-coreboot.rmk: Removed.
17887 * conf/i386-efi.rmk: Removed.
17888 * conf/i386-ieee1275.rmk: Removed.
17889 * conf/i386-multiboot.rmk: Removed.
17890 * conf/i386-pc.rmk: Removed.
17891 * conf/i386-qemu.rmk: Removed.
17892 * conf/i386.rmk: Removed.
17893 * conf/mips-yeeloong.rmk: Removed.
17894 * conf/mips.rmk: Removed.
17895 * conf/powerpc-ieee1275.rmk: Removed.
17896 * conf/sparc64-ieee1275.rmk: Removed.
17897 * conf/tests.rmk: Removed.
17898 * conf/x86-efi.rmk: Removed.
17899 * conf/x86_64-efi.rmk: Removed.
17900 * gendistlist.sh: Removed.
17901 * geninitheader.sh: Removed.
17902 * genkernsyms.sh.in: Removed.
17903 * genmk.rb: Removed.
17904 * gensymlist.sh.in: Removed.
17905 * mkinstalldirs: Removed.
17906 * boot: Moved ...
17907 * grub-core/boot: ... to here.
17908 * bus: Moved ...
17909 * grub-core/bus: ... to here.
17910 * commands: Moved ...
17911 * grub-core/commands: ... to here.
17912 * disk: Moved ...
17913 * grub-core/disk: ... to here.
17914 * efiemu: Moved ...
17915 * grub-core/efiemu: ... to here.
17916 * font: Moved ...
17917 * grub-core/font: ... to here.
17918 * fs: Moved ...
17919 * grub-core/fs: ... to here.
17920 * gencmdlist.sh: Moved ...
17921 * grub-core/gencmdlist.sh: ... to here.
17922 * genemuinit.sh: Moved ...
17923 * grub-core/genemuinit.sh: ... to here.
17924 * genemuinitheader.sh: Moved ...
17925 * grub-core/genemuinitheader.sh: ... to here.
17926 * genfslist.sh: Moved ...
17927 * grub-core/genfslist.sh: ... to here.
17928 * genhandlerlist.sh: Moved ...
17929 * grub-core/genhandlerlist.sh: ... to here.
17930 * genmoddep.awk: Moved ...
17931 * grub-core/genmoddep.awk: ... to here.
17932 * genmodsrc.sh: Moved ...
17933 * grub-core/genmodsrc.sh: ... to here.
17934 * genpartmaplist.sh: Moved ...
17935 * grub-core/genpartmaplist.sh: ... to here.
17936 * genparttoollist.sh: Moved ...
17937 * grub-core/genparttoollist.sh: ... to here.
17938 * genterminallist.sh: Moved ...
17939 * grub-core/genterminallist.sh: ... to here.
17940 * gentrigtables.c: Moved ...
17941 * grub-core/gentrigtables.c: ... to here.
17942 * genvideolist.sh: Moved ...
17943 * grub-core/genvideolist.sh: ... to here.
17944 * gettext: Moved ...
17945 * grub-core/gettext: ... to here.
17946 * gfxmenu: Moved ...
17947 * grub-core/gfxmenu: ... to here.
17948 * gnulib: Moved ...
17949 * grub-core/gnulib: ... to here.
17950 * hello: Moved ...
17951 * grub-core/hello: ... to here.
17952 * hook: Moved ...
17953 * grub-core/hook: ... to here.
17954 * io: Moved ...
17955 * grub-core/io: ... to here.
17956 * kern: Moved ...
17957 * grub-core/kern: ... to here.
17958 * lib: Moved ...
17959 * grub-core/lib: ... to here.
17960 * loader: Moved ...
17961 * grub-core/loader: ... to here.
17962 * mmap: Moved ...
17963 * grub-core/mmap: ... to here.
17964 * normal: Moved ...
17965 * grub-core/normal: ... to here.
17966 * partmap: Moved ...
17967 * grub-core/partmap: ... to here.
17968 * parttool: Moved ...
17969 * grub-core/parttool: ... to here.
17970 * script: Moved ...
17971 * grub-core/script: ... to here.
17972 * term: Moved ...
17973 * grub-core/term: ... to here
17974 * tests/example_functional_test.c: Moved ...
17975 * grub-core/tests/example_functional_test.c: ... to here.
17976 * tests/lib/functional_test.c: Moved ...
17977 * grub-core/tests/lib/functional_test.c: ... to here.
17978 * tests/lib/test.c: Moved ...
17979 * grub-core/tests/lib/test.c: ... to here.
17980 * video: Moved ...
17981 * grub-core/video: ... to here.
17982
645586e6
BC
179832010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17984
17985 Replace --enable-grub-emu-modules with grub-emu-lite.
17986
17987 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17988 cache.S.
17989
17990 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17991 * kern/emu/full.c: New file. For grub-emu specific initialization.
17992 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17993 * kern/emu/main.c: Call initialization function grub_emu_init.
17994
17995 * Makefile.in: Include grub-emu-lite in install.
17996 * commands/parttool.c: Use grub_no_autoload to differentiate
17997 between grub-emu and grub-emu-lite.
17998 * include/grub/misc.h: New variable grub_no_autoload.
17999
18000 * conf/any-emu.rmk: New rules for grub-emu-lite.
18001 * configure.ac: Remove --enable-grub-emu-modules.
18002 * genmk.rb: Cleanup unnecessary rules.
18003 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
18004
18005 * normal/main.c: Don't load list files on grub-emu-lite.
18006 * util/misc.c (grub_arch_sync_caches): Removed.
18007
f86a4030
CW
180082010-08-23 Colin Watson <cjwatson@ubuntu.com>
18009
18010 * kern/mips/startup.S (grub_prefix): Update comment to refer to
18011 grub-mkimage rather than grub-mkelfimage.
18012 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
18013
06776944
VS
180142010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
18015
18016 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
18017 a key after CapsLock or NumLock. It's just a qemu bug.
18018
df262419
VS
180192010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
18020
18021 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
18022 needed by libusb wrapper.
18023
b40ea81b
ST
180242010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
18025
18026 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
18027
dee50575
VS
180282010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
18029
18030 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
18031 --nounzip is passed.
18032
fb1d7b79
VS
180332010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
18034
18035 USB hotunplugging and USB serial support.
18036
18037 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
18038 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
18039 (grub_uhci_transfer): Respect timeout and set *actual.
18040 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
18041 non-standard length.
18042 (grub_usb_device_attach): Autoload modules.
18043 (GRUB_MOD_INIT): Set grub_term_poll_usb.
18044 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
18045 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
18046 users updated.
18047 (grub_usb_add_hub): Fill nports and children.
18048 (attach_root_port): Receive hub instead of controller.
18049 All users updated. Fill hub->devices.
18050 (grub_usb_root_hub): Allocate hub->devices.
18051 (detach_device): New function.
18052 (poll_nonroot_hub): Fill children and detach devices.
18053 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
18054 actual arguments. All users updated.
18055 (grub_usb_bulk_read_extended): New function.
18056 * bus/usb/serial/common.c: New file.
18057 * bus/usb/serial/ftdi.c: Likewise.
18058 * bus/usb/serial/pl2303.c: Likewise.
18059 * commands/terminal.c (handle_command): Support wildcard.
18060 * commands/usbtest.c: Output "Unknown" instead of empty string.
18061 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
18062 (usbserial_common_mod_SOURCES): New variable.
18063 (usbserial_common_mod_CFLAGS): Likewise.
18064 (usbserial_common_mod_LDFLAGS): Likewise.
18065 (pkglib_MODULES): Add usbserial_pl2303.mod.
18066 (usbserial_pl2303_mod_SOURCES): New variable.
18067 (usbserial_pl2303_mod_CFLAGS): Likewise.
18068 (usbserial_pl2303_mod_LDFLAGS): Likewise.
18069 (pkglib_MODULES): Add usbserial_ftdi.mod.
18070 (usbserial_ftdi_mod_SOURCES): New variable.
18071 (usbserial_ftdi_mod_CFLAGS): Likewise.
18072 (usbserial_ftdi_mod_LDFLAGS): Likewise.
18073 (pkglib_MODULES): Add serial.mod.
18074 (serial_mod_SOURCES): New variable.
18075 (serial_mod_CFLAGS): Likewise.
18076 (serial_mod_LDFLAGS): Likewise.
18077 * conf/i386-pc.rmk: Likewise.
18078 * conf/mips-yeeloong.rmk: Likewise.
18079 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
18080 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
18081 * disk/usbms.c (first_available_slot): New variable.
18082 (grub_usbms_attach): Don't reuse free slots due to potential cache
18083 problems.
18084 * include/grub/serial.h: Moved to ..
18085 * include/grub/ns8250.h: ...this.
18086 * include/grub/serial.h: New file.
18087 * include/grub/term.h (grub_term_poll_usb): New variable.
18088 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
18089 readkey. All users updated.
18090 (grub_terminfo_output_state): Pass term to put.
18091 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
18092 (grub_usb_controller_dev): Add timeout and actual arguments to
18093 transfer. All users updated.
18094 (grub_usb_interface): New field detach_data.
18095 (grub_usb_device): New fields children and nports.
18096 (grub_usb_ep_type_t): New type.
18097 (grub_usb_get_ep_type): New function.
18098 (grub_usb_bulk_read_extended): Likewise.
18099 * include/grub/usbdesc.h (grub_usb_desc): New type.
18100 * include/grub/usbserial.h: New file.
18101 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
18102 * kern/term.c (grub_term_poll_usb): New variable.
18103 (grub_getkey): Call grub_term_poll_usb if set.
18104 (grub_checkkey): Likewise.
18105 (grub_getkeystatus): Likewise.
18106 * term/serial.c: Moved controller-specific parts to ...
18107 * term/ns8250.c: ... here.
18108 * term/serial.c: Mostly rewritten.
18109 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
18110 according to spec.
18111
21a313de
RM
181122010-08-20 Robert Millan <rmh@gnu.org>
18113
18114 Make kFreeBSD code more generic to support ext2fs as root, ufs as
18115 a separate module and maybe other interesting combinations.
18116
18117 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
18118 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
18119 (kfreebsd_entry): Add generic filesystem module load routine.
18120 Map GRUB `ext2' to kFreeBSD `ext2fs'.
18121
63c734a6
CW
181222010-08-20 Colin Watson <cjwatson@ubuntu.com>
18123
18124 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
18125 "numcenter" (I misunderstood the purpose of this entry).
18126 * docs/grub.texi (sendkey): Likewise.
18127
c4d16542
CW
181282010-08-20 Colin Watson <cjwatson@ubuntu.com>
18129
18130 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
18131 status flag options; simply omitting the option is equivalent and
18132 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
18133 (keysym_table): Rename "num5numlock" to "numlock".
18134 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
18135 can uniformly say that only the last of multiple `sendkey'
18136 invocations has any effect.
18137 * docs/grub.texi (sendkey): New section.
18138
93541d66
CW
181392010-08-19 Colin Watson <cjwatson@ubuntu.com>
18140
18141 * commands/i386/pc/sendkey.c (options): Fix three typos.
18142
b4ece5e1
VS
181432010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18144
18145 Implement sendkey support.
18146
18147 * commands/i386/pc/sendkey.c: New file.
18148 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
18149 (sendkey_mod_SOURCES): New variable.
18150 (sendkey_mod_CFLAGS): Likewise.
18151 (sendkey_mod_LDFLAGS): Likewise.
18152
51f1f5af
CW
181532010-08-18 Colin Watson <cjwatson@ubuntu.com>
18154
18155 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
18156 fix warnings from Autoconf.
18157
9da94e05
CW
181582010-08-18 Colin Watson <cjwatson@ubuntu.com>
18159
18160 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
18161 to avoid false positives with some assemblers that output things
18162 like "someprefix_func" as part of their output.
18163
729a0f2e
RM
181642010-08-15 Robert Millan <rmh@gnu.org>
18165
18166 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
18167 errors.
18168 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
18169 grub_get_libzfs_handle() errors.
18170
f3710e08
RM
181712010-08-14 Robert Millan <rmh@gnu.org>
18172
18173 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
18174 filesystem is not ZFS.
18175
7a3c13de
BC
181762010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18177
18178 Fix for misspelled color names defaulting to black/black (bug
18179 reported by Doug Nazar)
18180
18181 * include/grub/normal.h (grub_parse_color_name_pair): Add return
18182 status to prototype.
18183 * normal/color.c (grub_parse_color_name_pair): Return failure
18184 status.
18185 (grub_env_write_color_normal): Ignore bad color names.
18186 (grub_env_write_color_highlight): Likewise.
18187 * normal/main.c (GRUB_MOD_INIT): Set default color names.
18188
ab8ba50d
BC
181892010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18190
18191 "shift" command support to GRUB script.
18192
18193 * include/grub/script_sh.h (grub_script_shift): New prototype.
18194 * script/execute.c (grub_script_shift): New function.
18195 * script/main.c (grub_script_init): Register shift command.
18196 (grub_script_fini): Unregister shift command.
18197 * util/grub-script-check.c (grub_script_cmd_shift): New function.
18198
18199 * tests/grub_script_shift.in: New testcase.
18200 * conf/tests.rmk: Rules for new testcase.
18201
4d61999e
BC
182022010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18203
18204 "continue" command support to GRUB script.
18205
18206 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
18207 (grub_script_break): Continue support.
18208 * script/main.c (grub_script_init): Register continue command.
18209 (grub_script_fini): Unregister continue command.
18210
18211 * tests/grub_script_continue.in: New testcase.
18212 * conf/tests.rmk: Rules for new testcase.
18213
4df51e00
BC
182142010-08-12 BVK Chaitanya <bvk@dbook>
18215
18216 "break" command support to GRUB script.
18217
18218 * conf/common.rmk: Rule updates to grub-script-check.
18219 * include/grub/misc.h (grub_min): New function.
18220 * include/grub/script_sh.h (grub_script_init): New prototype.
18221 (grub_script_fini): New prototype.
18222 (grub_script_break): New prototype.
18223 * script/main.c (grub_script_init): New function.
18224 (grub_script_fini): New function.
18225 * script/execute.c (grub_script_break): New function.
18226 * normal/main.c: Calls to grub_script_{init,fini}.
18227 * util/grub-script-check.c (grub_script_break): New function.
18228
18229 * tests/grub_script_break.in: New testcase.
18230 * conf/tests.rmk: Rules for new test case.
18231
f12c8420
BC
182322010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18233
18234 Function parameters support to GRUB script.
18235
18236 * script/yylex.l (VARIABLE): Regular expression update.
18237 * script/function.c (grub_script_function_call): Moved ...
18238 * script/execute.c (grub_script_function_call): ... to here.
18239 (grub_script_execute_arglist_to_argv): Removed.
18240 (grub_script_arglist_to_argv): New function.
18241 * script/argv.c: New file.
18242 (grub_script_argv_free): New function.
18243 (grub_script_argv_next): Likewise.
18244 (grub_script_argv_append): Likewise.
18245 (grub_script_argv_split_append): Likewise.
18246 * include/grub/script_sh.h (grub_script_argv): New struct.
18247 (grub_script_argv_free): New function.
18248 (grub_script_argv_next): Likewise.
18249 (grub_script_argv_append): Likewise.
18250 (grub_script_argv_split_append): Likewise.
18251
18252 * conf/common.rmk (normal.mod): New source script/argv.c.
18253
18254 * tests/grub_script_echo1.in: More tests.
18255 * tests/grub_script_vars1.in: Likewise.
18256 * tests/grub_script_functions.in: New test case.
18257 * conf/tests.rmk: Rules for new testcase.
18258
8022b748
BC
182592010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18260
18261 Remove grub_script_cmdblock struct.
18262
18263 * include/grub/script_sh.h: Remove grub_script_cmdblock.
18264 * script/parser.y: Likewise.
18265 * script/execute.c: Rename cmdblock suffix to cmdlist.
18266 * script/script.c: Likewise.
18267 * util/grub-script-check.c: Likewise.
18268
79a6ba61
YB
182692010-08-11 Yves Blusseau <blusseau@zetam.org>
18270
18271 * .bzrignore: add grub-macho2img
18272
d04b9414
VS
182732010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18274
18275 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
18276
f947ab49
VS
182772010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18278
18279 Remove the dump of sm712 initialisation sequence.
18280
18281 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
18282 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
18283 (GRUB_VGA_IO_MISC_WRITE): Likewise.
18284 (GRUB_VGA_CR_*): Added many registers.
18285 (GRUB_VGA_SR_*): Likewise.
18286 (GRUB_VGA_GR_*): Likewise.
18287 (grub_vga_write_arx): New function.
18288 (grub_video_hw_config): New struct.
18289 (grub_vga_set_geometry): New function.
18290 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
18291 GRUB_PCI_CLASS_SUBCLASS_VGA.
18292 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
18293 * video/sm712.c (grub_sm712_write_reg): New function
18294 (grub_sm712_read_reg): Likewise.
18295 (grub_sm712_sr_write): Likewise.
18296 (grub_sm712_gr_write): Likewise.
18297 (grub_sm712_cr_write): Likewise.
18298 (grub_sm712_write_arx): Likewise.
18299 (grub_sm712_cr_shadow_write): Likewise.
18300 (grub_sm712_write_dda_lookup): Likewise.
18301 (grub_video_sm712_setup): Initialise the video rather then
18302 blindly replay the dump.
18303 (main) [TEST]: Add a routine to be able to compile as standalone for
18304 tests.
18305 * video/sm712_init.c (sm712_init): Removed.
18306 (sm712_sr_seq1): New array.
18307 (sm712_sr_seq2): Likewise.
18308
f0206638
VS
183092010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18310
18311 * include/grub/vga.h: Add missing grub/pci.h include.
18312
2764da3b
YB
183132010-08-10 Yves Blusseau <blusseau@zetam.org>
18314
18315 * util/grub-macho2img.c (main): fix typo
18316
cf0c775e
VS
183172010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18318
18319 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
18320 (grub_vga_gr_read): Likewise.
18321 (grub_vga_cr_write): Likewise.
18322 (grub_vga_cr_read): Likewise.
18323 (grub_vga_sr_write): Likewise.
18324 (grub_vga_sr_read): Likewise.
18325 (grub_vga_palette_read): Likewise.
18326 (grub_vga_palette_write): Likewise.
18327 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
18328 (grub_sm712_sr_read): New function.
18329 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
18330 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
18331
07f360e9
RM
183322010-08-09 Robert Millan <rmh@gnu.org>
18333
18334 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
18335 out unused variables on non-ZFS build.
18336
346c2072
RM
183372010-08-08 Robert Millan <rmh@gnu.org>
18338
18339 Fix path generation for sub-filesystems in ZFS.
18340
18341 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
18342 missing slash.
18343
71175420
RM
183442010-08-08 Robert Millan <rmh@gnu.org>
18345
18346 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
18347
0d8286f3
RM
183482010-08-08 Robert Millan <rmh@gnu.org>
18349
18350 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
18351 exist, issue a proper error message (rely on `ls' for translated
18352 strings).
18353
55dd2924
RM
183542010-08-08 Robert Millan <rmh@gnu.org>
18355
18356 Fix grub-probe invocation.
18357
18358 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
18359
d3dd9e80
RM
183602010-08-04 Robert Millan <rmh@gnu.org>
18361
18362 * configure.ac: Remove checks for getfsstat() and getmntany().
18363 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
18364 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
18365 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
18366 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
18367 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
18368 function.
18369 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
18370 via find_mount_point_from_dir() and getfsstat() / getmntany().
18371
0de22aa9
RM
183722010-08-04 Robert Millan <rmh@gnu.org>
18373
18374 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18375 (grub_find_zpool_from_mount_point): Merge into ...
18376 (grub_find_zpool_from_dir): ... this.
18377 * kern/emu/misc.c: Likewise.
18378
18379 * kern/emu/misc.c
18380 (grub_make_system_path_relative_to_its_root): Replace
18381 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
18382 with grub_find_zpool_from_dir().
18383 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
18384
62858144
RM
183852010-08-04 Robert Millan <rmh@gnu.org>
18386
18387 Support OpenSolaris in ZFS device resolution.
18388
18389 * configure.ac: Check for getmntany().
18390 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
18391 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
18392 support.
18393
9dd6fd50
RM
183942010-08-03 Robert Millan <rmh@gnu.org>
18395
18396 Fix grub-emu build.
18397
18398 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
18399 * include/grub/emu/misc.h: ... here.
18400
18401 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
18402 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
18403
18404 * util/misc.c: Remove `<grub/util/libzfs.h>'.
18405 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
18406 (grub_get_libzfs_handle): Move to ...
18407 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
18408 (grub_get_libzfs_handle): ... here.
18409
c9f7ff97
BC
184102010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
18411
18412 * script/execute.c (grub_script_execute_cmdline): Check for NULL
18413 as command name case.
18414
a870a783
CW
184152010-08-02 Colin Watson <cjwatson@ubuntu.com>
18416
18417 * disk/raid.c (insert_array): Select unique numbers for named arrays
18418 as well, for use as keys in the disk cache.
18419
c7db243b
RM
184202010-08-01 Robert Millan <rmh@gnu.org>
18421
18422 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
18423 kFreeBSD device name, except on ZFS where the filesystem label is
18424 used.
18425 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
18426 `/boot/zfs/zpool.cache'.
18427 Set mountfrom kernel variable using ${kfreebsd_device}.
18428
f7abdefb
RM
184292010-08-01 Robert Millan <rmh@gnu.org>
18430
18431 Make it even harder to use uninitialized `libzfs_handle' (and
18432 make the interface a bit simpler).
18433
18434 * include/grub/util/misc.h (grub_util_init_libzfs)
18435 (libzfs_handle): Remove.
18436 (grub_get_libzfs_handle): New prototype.
18437
18438 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
18439 attribute.
18440 (grub_util_init_libzfs): Remove.
18441 (grub_get_libzfs_handle): New function.
18442
18443 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
18444 grub_get_libzfs_handle() to obtain a libzfs handle instead of
18445 accessing `libzfs_handle' directly.
18446
c882acc0
RM
184472010-08-01 Robert Millan <rmh@gnu.org>
18448
18449 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18450 (grub_find_zpool_from_mount_point): New function prototypes.
18451
18452 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18453 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18454
18455 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18456 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18457 `static' attribute.
18458
18459 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18460 finding zpool from mount point into ...
18461 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18462
18463 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18464 requested path is part of a ZFS pool, use
18465 grub_find_zpool_from_mount_point() to detect its filesystem name,
18466 and generate a path with `/fsname@path' syntax.
18467
8bfe31d8
CW
184682010-08-01 Colin Watson <cjwatson@ubuntu.com>
18469
18470 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
18471 (void) rather than () so that this is a proper prototype.
18472
553df63d
VS
184732010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18474
18475 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
18476
8687cf07
VS
184772010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18478
18479 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
18480 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
18481
ea9be8ea
CW
184822010-08-01 Colin Watson <cjwatson@ubuntu.com>
18483
18484 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
18485
6eea041a
CW
184862010-08-01 Colin Watson <cjwatson@ubuntu.com>
18487
18488 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
18489
2cfb45df
CW
184902010-08-01 Colin Watson <cjwatson@ubuntu.com>
18491
18492 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
18493 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
18494 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
18495 disable gfxpayload.
18496 (Shell-like scripting): Add real content.
18497 (Serial terminal): Suggest `terminal_input serial; terminal_output
18498 serial' rather than putting the two commands on separate lines,
18499 since console input will be inoperative after the first command.
18500 (menuentry): Document --class, --users, and --hotkey options.
18501 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
18502 Vladimir Serbinenko).
18503
7decd202
VS
185042010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
185052010-08-01 Colin Watson <cjwatson@ubuntu.com>
18506
18507 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
18508
c882acc0
RM
185092010-08-01 Robert Millan <rmh@gnu.org>
18510
18511 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18512 (grub_find_zpool_from_mount_point): New function prototypes.
18513
18514 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18515 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18516
18517 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18518 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18519 `static' attribute.
18520
18521 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18522 finding zpool from mount point into ...
18523 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18524
18525 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18526 requested path is part of a ZFS pool, use
18527 grub_find_zpool_from_mount_point() to detect its filesystem name,
18528 and generate a path with `/fsname@path' syntax.
18529
deb0caa3
RM
185302010-08-01 Robert Millan <rmh@gnu.org>
18531
18532 Prevent accidental use of uninitialized libzfs_handle.
18533
18534 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
18535 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
18536 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
18537
ce04ef47
CW
185382010-08-01 Colin Watson <cjwatson@ubuntu.com>
18539
18540 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
18541 util/grub.d/10_linux.in). Fixes Debian bug #591093.
18542
ebf53056
RM
185432010-08-01 Robert Millan <rmh@gnu.org>
18544
18545 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 18546
3710bb6b
RM
185472010-07-31 Robert Millan <rmh@gnu.org>
18548
18549 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
18550
8072efeb
RM
185512010-07-31 Robert Millan <rmh@gnu.org>
18552
18553 * kern/emu/misc.c: Add missing license header.
18554
3169f4c7
RM
185552010-07-31 Robert Millan <rmh@gnu.org>
18556
18557 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
18558
18559 * include/grub/util/libnvpair.h: Include `<config.h>'.
18560 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
18561 declaring libnvpair prototypes ourselves.
18562 * include/grub/util/libzfs.h: Include `<config.h>'.
18563 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
18564 declaring libzfs prototypes ourselves.
18565
18566 (libzfs_handle): Moved to ...
18567 * include/grub/util/misc.h (libzfs_handle): ... here.
18568 Include `<grub/util/libzfs.h>'.
18569
c9a00aee
RM
185702010-07-30 Robert Millan <rmh@gnu.org>
18571
18572 * include/grub/emu/misc.h: Add missing license header.
18573
a184f9c8
RM
185742010-07-30 Robert Millan <rmh@gnu.org>
18575
18576 Enable `grub-probe -t device' resolution on ZFS.
18577
18578 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
18579 * include/grub/util/libnvpair.h: New file.
18580 * include/grub/util/libzfs.h: New file.
18581
18582 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
18583 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
18584 `<grub/util/libnvpair.h>'.
18585 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
18586
18587 (find_mount_point_from_dir): New static function.
18588 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
18589 function.
18590 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
18591 find_root_device_from_libzfs() before ressorting to find_root_device().
18592
18593 * include/grub/util/misc.h (grub_util_init_libzfs): New function
18594 prototype.
18595 * util/misc.c: Include `<grub/util/libzfs.h>'.
18596 (grub_util_init_libzfs): New function.
18597 [HAVE_LIBZFS] (libzfs_handle): New global variable.
18598 [HAVE_LIBZFS] (fini_libzfs): New static function.
18599 (grub_util_init_libzfs): New function.
18600 * util/grub-probe.c (main): Call grub_util_init_libzfs().
18601
f7790cdd
RM
186022010-07-30 Robert Millan <rmh@gnu.org>
18603
18604 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
18605 (xmalloc, xrealloc, xstrdup, xasprintf): Add
18606 `warn_unused_result' attribute.
18607 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
18608 (grub_xasprintf, grub_xvasprintf): Likewise.
18609 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
18610
0806b63c
RM
186112010-07-29 Robert Millan <rmh@gnu.org>
18612
18613 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
18614 (probe): Handle `PRINT_FS_LABEL'.
18615 (main): Handle `-t fs_label'.
18616
9f841f5c
RM
186172010-07-29 Robert Millan <rmh@gnu.org>
18618
18619 * configure.ac: Remove grub-mkisofs checks.
18620
46371121
VS
186212010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18622
18623 * util/ieee1275/grub-install.in: Don't use empty grub_device.
18624 Reported by: Lennart Sorensen.
18625
186262010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18627
18628 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
18629 prior to terminal_input/terminal_output separation. It's been over 1.5
18630 years and those versions weren't widely deployed.
18631
a9600892
CW
186322010-07-22 Colin Watson <cjwatson@ubuntu.com>
18633
18634 * disk/raid.c (insert_array): Don't count named arrays when looking
18635 for unused array numbers.
697e053c 18636 Reported and tested by: Michael Guntsche.
a9600892 18637
c03507df
CW
186382010-07-20 Colin Watson <cjwatson@ubuntu.com>
18639
18640 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
18641 implementation of this so that grub-emu links again, with a note
18642 that this should support hotplugging in the future.
18643
b26f1c11
CW
186442010-07-20 Colin Watson <cjwatson@ubuntu.com>
18645
18646 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18647
efc9d7f1
CW
186482010-07-20 Colin Watson <cjwatson@ubuntu.com>
18649
18650 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
18651 handle on failure.
18652 (grub_loopback_close): Remove empty function.
18653 (grub_loopback_dev): Remove close method.
18654
dd8ff5c9
CW
186552010-07-20 Colin Watson <cjwatson@ubuntu.com>
18656
18657 Disable EFI cursor when the EFI console becomes inactive.
18658
18659 * term/efi/console.c (grub_efi_console_init): New function.
18660 (grub_efi_console_fini): New function.
18661 (grub_console_term_output): Register init and fini methods.
18662
5e3bec67
VS
186632010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18664
18665 * tests/util/grub-shell-tester.in: Remove bashism and declare as
18666 sh script.
18667
afaec079
VS
186682010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18669
18670 * disk/loopback.c (grub_loopback): Replace filename with file.
18671 (delete_loopback): Handle new semantics.
18672 (grub_cmd_loopback): Likewise.
18673 (grub_loopback_iterate): Likewise.
18674 (grub_loopback_close): Likewise.
18675
a6a11f3c
VS
186762010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18677
18678 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
18679 with -p "".
18680 Reported by: Tito Keitel.
18681
64a638b0
VS
186822010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18683
18684 * docs/grub.texi (Naming convention): Document new naming convention.
18685
ab8ba957
VS
186862010-07-20 Vadim Solomin <vadic052@gmail.com>
186872010-07-20 Colin Watson <cjwatson@ubuntu.com>
18688
18689 Generate device.map in something closer to the old ordering.
18690
18691 * util/deviceiter.c (struct device): New declaration.
18692 (compare_file_names): Rename to ...
18693 (compare_devices): ... this. Sort by kernel name in preference to
18694 the stable by-id name, but keep the latter as a fallback comparison.
18695 Update header comment.
18696 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
18697 of `struct device' rather than of plain file names.
18698
a29d6a4b
TF
186992010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
18700
18701 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
18702 on i386.
18703
39d824e8
VS
187042010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18705
18706 * commands/acpi.c (setup_common_tables): Use sizeof instead of
18707 hardcoding size.
18708 (setv1table): Likewise.
18709
f058276b
FZ
187102010-07-20 Colin Watson <cjwatson@ubuntu.com>
18711
18712 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
18713 removing the homehost if present.
18714 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
18715 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
18716 removing the homehost if present.
18717 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
18718 if possible.
18719 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
18720
18721 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
18722 parameter. Set its pointer target to 0.
18723 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
18724 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
18725 `data_offset' value from the superblock for 1.x metadata.
18726 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
18727 data on the device.
18728 (insert_array): Record the start sector of data on the device.
18729 (grub_raid_register): Pass start_sector parameters to
18730 grub_raid_list->detect and insert_array.
18731 * include/grub/raid.h (struct grub_raid_array): Add start_sector
18732 member.
18733 (struct grub_raid): Add start_sector parameter to `detect'.
18734
18735 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
18736 __attribute__ ((packed)), leaving a comment.
18737 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
18738 (grub_mdraid_detect_09): ... here and ...
18739 (grub_mdraid_detect_1x): ... here.
18740
187412010-07-20 Peter Henn <peter.henn@web.de>
18742
18743 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
18744 chunk size and disk size, which are already given as sector counts
18745 as distinct from the 0.90 units. Fetch the correct device number
18746 from the role table instead of using the table index.
18747
187482010-07-20 Felix Zielcke <fzielcke@z-51.de>
18749
18750 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
18751 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
18752 (WriteMostly1): New macro.
18753 Set array->name to NULL for metadata format 0.90. Add support for
18754 metadata 1.x. Fix some comments.
18755 * disk/raid.c (): Add support for name based RAID arrays. Fix a
18756 few comments.
18757 * util/getroot.c (grub_util_get_grub_dev): Add support for
18758 /dev/md/name style devices.
18759
4b761da9
CW
187602010-07-20 Colin Watson <cjwatson@ubuntu.com>
18761
18762 * .bzrignore: Ignore 20_linux_xen.
18763
5771289a
CW
187642010-07-17 Colin Watson <cjwatson@ubuntu.com>
18765
18766 * util/import_unicode.py: Remove unnecessary imports.
18767
5dab68df
AN
187682010-07-17 Aleš Nesrsta <starous@volny.cz>
18769
18770 Hotplugging and USB hub support.
18771
18772 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
18773 (grub_ohci): Likewise.
18774 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
18775 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
18776 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
18777 (GRUB_OHCI_CTRL_EDS): Likewise.
18778 (GRUB_OHCI_BULK_EDS): Likewise.
18779 (GRUB_OHCI_TDS): Likewise.
18780 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
18781 (grub_ohci_ed_phys2virt): New function.
18782 (grub_ohci_virt_to_phys): Likewise.
18783 (grub_ohci_td_phys2virt): Likewise.
18784 (grub_ohci_td_virt2phys): Likewise.
18785 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
18786 attachment.
18787 (grub_ohci_find_ed): New function.
18788 (grub_ohci_alloc_td): Likewise.
18789 (grub_ohci_free_td): Likewise.
18790 (grub_ohci_free_tds): Likewise.
18791 (grub_ohci_transfer): Use previously allocated memory.
18792 (grub_ohci_portstatus): Reset status changed bit.
18793 (grub_ohci_detect_dev): Supply status changed.
18794 (grub_ohci_fini_hw): Free memory.
18795 (grub_ohci_restore_hw): Reallocate memory.
18796 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
18797 Reset status change.
18798 (grub_uhci_detect_dev): Supply status_change.
18799 * bus/usb/usb.c (attach_hooks): New var.
18800 (grub_usb_device_attach): New function.
18801 (grub_usb_register_attach_hook_class): Likewise.
18802 (grub_usb_unregister_attach_hook_class): Likewise.
18803 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
18804 (grub_usb_add_hub): Reset connection changed bit.
18805 (attach_root_port): New function.
18806 (grub_usb_root_hub): Likewise.
18807 (poll_nonroot_hub): Likewise.
18808 (grub_usb_poll_devices): Likewise.
18809 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
18810 * disk/usbms.c (grub_usbms_open): Use device hooks.
18811 (grub_usbms_iterate) :Poll devices.
18812 (grub_usbms_finddevs): Split into ...
18813 (grub_usbms_attach): ... this ...
18814 (grub_usbms_attach): ... and this.
18815 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
18816 in detect_dev.
18817 (grub_usb_interface): New fields attached and detach_hook.
18818 (grub_usb_attach_hook_class): New type.
18819 (grub_usb_attach_desc): New struct.
18820 (grub_usb_register_attach_hook_class): New function.
18821 (grub_usb_unregister_attach_hook_class): Likewise.
18822 (grub_usb_poll_devices): Likewise.
18823 (grub_usb_device_attach): Likewise.
18824 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
18825 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
18826
3222efaf
VS
188272010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18828
18829 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
18830 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
18831 delta determination style. Works with most NetBSD partitions too.
18832
139b714a
VS
188332010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18834
18835 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
18836 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
18837
986aad56
VS
188382010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18839
18840 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
18841
99be513c
AB
188422010-07-14 Anton Blanchard <anton@samba.org>
18843
18844 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
18845 ET_DYN files.
18846
18075f62
GS
188472010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18848
18849 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
18850
8d9a5b15
GS
188512010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18852
18853 * kern/partition.c (grub_partition_check_containment): New function to
18854 check that a partition is physically contained in a parent. Since
18855 offsets are relative (and non-negative), this reduces to checking that
18856 the partition ends before its parent.
18857 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18858 (grub_partition_iterate): Likewise.
18859 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18860 comments.
18861 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18862 partitions that start before their parent, and add debug printfs.
18863
19563c25
CW
188642010-07-13 Colin Watson <cjwatson@ubuntu.com>
18865
18866 * Makefile.in (.SUFFIX): Spell correctly, as ...
18867 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18868 bare module name without `.mod', e.g. `test') tried to invoke a
18869 Modula-2 compiler.
18870
1a1f1e67
CW
188712010-07-13 Colin Watson <cjwatson@ubuntu.com>
18872
18873 * README: Point to the Info manual.
18874
811b0dca
JS
188752010-07-13 Jiro SEKIBA <jir@unicus.jp>
18876
18877 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18878 2nd superblock position from partition size.
18879
e4f4eafc
CW
188802010-07-10 Colin Watson <cjwatson@ubuntu.com>
18881
18882 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18883 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18884 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18885 outputs.
18886
4274c30f
VS
188872010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18888
18889 Restructure SCSI .id handling.
18890 Reported and tested by: Aleš Nesrsta.
18891
18892 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18893 (grub_atapi_dev): Changed .name to "ata". New field .id.
18894 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18895 (grub_usbms_dev): New field .id.
18896 * disk/scsi.c (grub_scsi_iterate): Generate name.
18897 (grub_scsi_open): Parse name.
18898 * include/grub/scsi.h (grub_make_scsi_id): New function.
18899 (grub_scsi_dev): Change iterate and open to number instead of naming
18900 busses. All users updated.
18901 (grub_scsi): Remove name. Add .bus.
18902
5bc24388
VS
189032010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18904
18905 * commands/help.c (grub_cmd_help): Fix a typo.
18906
249975ba
VS
189072010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18908
18909 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18910 Reported and tested by: Colin Watson.
18911
3eaac1a1
VS
189122010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18913
18914 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18915 in this context.
18916
becce1b1
VS
189172010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18918
18919 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18920
f7bf0918
CW
189212010-07-07 Colin Watson <cjwatson@ubuntu.com>
18922
18923 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18924 indentation.
18925
0b0f9620
CW
189262010-07-06 Colin Watson <cjwatson@ubuntu.com>
18927
18928 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18929 and disk/raid6_recover.c.
18930 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18931 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18932
1e545469
CW
189332010-07-06 Colin Watson <cjwatson@ubuntu.com>
18934
18935 * term/gfxterm.c (repaint_schedulded): Rename to ...
18936 (repaint_scheduled): ... this. Update all callers.
18937 (repaint_was_schedulded): Rename to ...
18938 (repaint_was_scheduled): ... this. Update all callers.
18939
5357687a
CW
189402010-07-06 Colin Watson <cjwatson@ubuntu.com>
18941
18942 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18943 which we expect to be handled by upper layers.
18944
29d7e783
BC
189452010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18946
18947 * bus/usb/usbhub.c: #include time.h header.
18948
37582066
CW
189492010-07-06 Colin Watson <cjwatson@ubuntu.com>
18950
18951 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18952 entry_name also for entries without stat blocks (e.g. ".."); fixes
18953 corruption of the first entry in a directory.
18954
c8c06953
CW
189552010-07-06 Colin Watson <cjwatson@ubuntu.com>
18956
18957 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18958 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18959 doesn't work otherwise.
18960
e75056f1
CW
189612010-07-05 Colin Watson <cjwatson@ubuntu.com>
18962
18963 * docs/grub.texi (Features): Update list of supported file systems.
18964 (GNU/Linux): Update for GRUB 2.
18965 (Serial terminal): Remove mention of --disable-serial, which was a
18966 GRUB Legacy configure option. Update instructions to use
18967 `terminal_input' and `terminal_output' rather than `terminal'.
18968 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18969 configuration' and `Installing GRUB using grub-install'.
18970 (Menu entry editor): Update for GRUB 2.
18971 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18972 Document new -a, -u, and -v options.
18973 (initrd): New section.
18974 (initrd16): New section.
18975 (linux): New section.
18976 (linux16): New section.
18977 (search): The `var' argument to `--set' is optional.
18978 (GRUB only offers a rescue shell): Go into a little more detail on
18979 drive ordering.
18980
5cf69151
CW
189812010-07-05 Colin Watson <cjwatson@ubuntu.com>
18982
18983 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18984
e3f90044
CW
189852010-07-05 Colin Watson <cjwatson@ubuntu.com>
18986
18987 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18988 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18989
38d8f4f3
CW
189902010-07-05 Colin Watson <cjwatson@ubuntu.com>
18991
18992 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18993 install_prefix, in line with install_dos_part and install_bsd_part.
18994 Add new prefix variable, which is copied to install_prefix after
18995 comparing core.img in memory with the one read from disk in the
18996 no-embedding case, and use that rather than overwriting
18997 install_prefix immediately when installing to a partition.
18998 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18999 Bicakci.
19000
57ebd41e
GS
190012010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
19002
19003 * configure.ac: Avoid == in test command, it's not portable.
19004 * util/grub.d/30_os-prober.in: Likewise.
19005
cb7f64b2
CW
190062010-07-04 Colin Watson <cjwatson@ubuntu.com>
19007
19008 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
19009
6b654bb0
GS
190102010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
19011
19012 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
19013 multiple (top-level) partmaps.
19014
72a2026d
VS
190152010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19016
19017 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 19018 Reported by: Tino Keitel.
72a2026d 19019
df3eb88f
VS
190202010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19021
19022 Bidi and diacritics support.
19023
19024 * Makefile.in (widthspec.bin): New target.
19025 (widthspec.h): Likewise.
19026 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
19027 * autogen.sh: Generate unidata.c.
19028 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
19029 * commands/ls.c (grub_ls_list_devices): Likewise.
19030 (grub_ls_list_files): Likewise.
19031 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
19032 (grub_mini_cmd_lsmod): Likewise.
19033 * commands/read.c: Likewise.
19034 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
19035 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
19036 * lib/arg.c (grub_arg_show_help): Likewise.
19037 * lib/crypto.c (grub_password_get): Likewise.
19038 * normal/auth.c (grub_username_get): Likewise.
19039 * normal/misc.c (grub_normal_print_device_info): Likewise.
19040 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
19041 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
19042 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
19043 (normal/charset.c_DEPENDENCIES): New variable.
19044 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
19045 (pkglib_MODULES): Remove charset.mod.
19046 (charset_mod_SOURCES): Removed.
19047 (charset_mod_CFLAGS): Likewise.
19048 (charset_mod_LDFLAGS): Likewise.
19049 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
19050 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
19051 and term/tparm.c.
19052 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19053 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19054 (kernel_img_HEADERS): Add terminfo.h.
19055 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
19056 Fill ->font. Reverse ascii bitmaps.
19057 (grub_font_get_xheight): New function.
19058 * font/font.c (grub_font_get_string_width): Moved from here ...
19059 * gfxmenu/font.c (grub_font_get_string_width): ... here.
19060 * font/font.c (grub_font_draw_string): Moved from here ...
19061 * gfxmenu/font.c (grub_font_draw_string): ... here.
19062 * font/font.c (grub_font_dup_glyph): New function.
19063 (grub_font_blit_glyph): Likewise.
19064 (grub_font_blit_glyph_mirror): Likewise.
19065 (blit_comb): Likewise.
19066 (grub_font_construct_dry_run): Likewise.
19067 (grub_font_get_constructed_device_width): Likewise.
19068 (grub_font_construct_glyph): Likewise.
19069 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
19070 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
19071 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
19072 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
19073 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
19074 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
19075 (grub_font_get_xheight): New proto.
19076 (grub_font_get_constructed_device_width): Likewise.
19077 (grub_font_construct_glyph): Likewise.
19078 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
19079 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
19080 * include/grub/font.h (grub_font_draw_string): Moved from here ...
19081 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
19082 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
19083 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
19084 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
19085 (grub_console_getcharwidth): Likewise.
19086 * include/grub/misc.h (grub_xputs): New proto.
19087 (grub_puts): Inlined.
19088 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
19089 (grub_normal_get_line_counter): Removed.
19090 (grub_install_newline_hook): Likewise.
19091 (grub_normal_get_char_counter): New proto.
19092 (grub_normal_reset_more): Likewise.
19093 (grub_xputs_normal): Likewise.
19094 * include/grub/powerpc/ieee1275/console.h: Removed.
19095 * include/grub/sparc64/ieee1275/console.h: Likewise.
19096 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
19097 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
19098 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
19099 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
19100 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
19101 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
19102 (grub_term_input): Pass reference to self. All users updated.
19103 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
19104 Pass reference to self. New fields normal_color, highlight_color and
19105 data. All users updated.
19106 (grub_putchar): Removed.
19107 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
19108 (grub_unicode_estimate_width): New function.
19109 (grub_term_getcharwidth): Add defaults.
19110 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
19111 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
19112 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
19113 (grub_cls): Remove EXPORT_FUNC.
19114 (grub_setcolorstate): Inline.
19115 (grub_newline_hook): Removed.
19116 * include/grub/terminfo.h: Rewritten. All users updated.
19117 * include/grub/unicode.h: New file.
19118 * include/grub/video.h (grub_video_signed_rect): New type.
19119 * kern/emu/console.c (grub_console_highlight_color): Removed.
19120 (grub_console_normal_color): Likewise.
19121 (grub_console_standard_color): Made static.
19122 (grub_ncurses_putchar): Remove mapping.
19123 (grub_ncurses_getcharwidth): Removed.
19124 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
19125 (grub_ncurses_setcolor): Removed.
19126 (grub_ncurses_getcolor): Likewise.
19127 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
19128 (grub_console_putchar): ... this.
19129 (grub_console_putchar): Handle argument difference.
19130 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
19131 console_init_early and console_init_lately.
19132 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
19133 * kern/misc.c (grub_puts): Removed.
19134 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
19135 (grub_vsnprintf_real): Remove str = NULL support.
19136 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
19137 * normal/charset.c (grub_utf8_to_ucs4): ... here.
19138 * kern/term.c (grub_putcode): Renamed to ...
19139 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
19140 (grub_putchar): Removed.
19141 (grub_xputs_dumb): New function.
19142 (grub_xputs): New variable.
19143 * lib/charset.c: Move from here ...
19144 * normal/charset.c: ... to here.
19145 (grub_ucs4_to_utf8): New function.
19146 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
19147 (join_types): New variable.
19148 (unpack_join): New function.
19149 (bidi_types): New variable.
19150 (unpack_bidi): New function.
19151 (get_bidi_type): Likewise.
19152 (get_join_type): Likewise.
19153 (is_mirrored): Likewise.
19154 (grub_unicode_get_comb_type): Likewise.
19155 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
19156 (is_type_after): Likewise.
19157 (grub_unicode_aglomerate_comb): Likewise.
19158 (bidi_line_wrap): Likewise.
19159 (grub_bidi_line_logical_to_visual): Likewise.
19160 (grub_bidi_logical_to_visual): Likewise.
19161 (grub_unicode_mirror_code): Likewise.
19162 (grub_unicode_shape_code): Likewise.
19163 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
19164 Don't use grub_putchar.
19165 * normal/main.c (grub_normal_init_page): Use grub_putcode.
19166 (grub_normal_reader_init): Likewise.
19167 (grub_xputs_saved): New variable.
19168 (GRUB_MOD_INIT): Set grub_xputs.
19169 (GRUB_MOD_FINI): Restore grub_xputs.
19170 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
19171 (menu_init): Avoid printing gfxmenu error.
19172 (show_menu): Use grub_normal_get_char_counter.
19173 * normal/menu_entry.c (update_screen): Fix out-of-array.
19174 (complete): Avoid NULL dereferencing.
19175 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
19176 * normal/menu_text.c (print_spaces): Removed.
19177 (grub_print_ucs4): Likewise.
19178 (grub_print_message_indented): Use grub_print_ucs4.
19179 (print_message): Use grub_putcode.
19180 (print_entry): Hanlde diacritics.
19181 * normal/term.c (term_state): New type.
19182 (grub_more_lines): Removed.
19183 (term_states): New variable.
19184 (grub_normal_line_counter): Renamed to ..
19185 (grub_normal_char_counter): ...this. All users updated.
19186 (grub_normal_get_line_counter): Renamed to ...
19187 (grub_normal_get_char_counter): ... this.
19188 (grub_normal_reset_more): New function.
19189 (process_newline): Removed.
19190 (print_more): New function.
19191 (grub_install_newline_hook): Removed.
19192 (map_code): New function.
19193 (grub_puts_terminal): Use grub_print_ucs4.
19194 (putglyph): New function.
19195 (putcode_real): Likewise.
19196 (grub_putcode): Use putcode_real.
19197 (get_maxwidth): New function.
19198 (get_startwidth): Likewise.
19199 (print_ucs4_terminal): Likewise.
19200 (find_term_state): Likewise.
19201 (put_glyphs_terminal): Likewise.
19202 (print_backlog): Likewise.
19203 (print_ucs4_real): Likewise.
19204 (grub_print_ucs4): Likewise.
19205 (grub_xputs_normal): Likewise.
19206 * term/efi/console.c (grub_console_putchar): Output diacritics.
19207 (grub_console_getcharwidth): Removed.
19208 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19209 * term/gfxterm.c (clear_char): Free chars.
19210 (scroll_up): Avoid leaking memory.
19211 (grub_gfxterm_putchar): Support diacritics.
19212 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19213 * term/i386/pc/console.c (grub_console_term_output): Declare as
19214 GRUB_TERM_CODE_TYPE_VGA.
19215 * term/i386/pc/vga.c (grub_vga_term): Declare as
19216 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
19217 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
19218 GRUB_TERM_CODE_TYPE_VGA.
19219 * term/i386/vga_common.c (map_char): Removed.
19220 (grub_console_putchar): Likewise.
19221 (grub_console_getcharwidth): Likewise.
19222 * term/ieee1275/ofconsole.c: Simplify using terminfo.
19223 (colors): Reordered to match terminfo.
19224 (grub_ofconsole_normal_color): Removed.
19225 (grub_ofconsole_writeesc): Likewise.
19226 (grub_ofconsole_highlight_color): Likewise.
19227 (grub_ofconsole_getcharwidth): Likewise.
19228 (grub_ofconsole_setcolorstate): Likewise.
19229 (grub_ofconsole_setcolor): Likewise.
19230 (grub_ofconsole_getcolor): Likewise.
19231 (grub_ofconsole_readkey): Renamed to ...
19232 (readkey): ... this. Remove escape sequence handling. Return -1 on no
19233 key.
19234 (grub_ofconsole_checkkey): Removed.
19235 (grub_ofconsole_getkey): Likewise.
19236 (grub_ofconsole_getxy): Likewise.
19237 (grub_ofconsole_gotoxy): Likewise.
19238 (grub_ofconsole_cls): Likewise.
19239 (grub_ofconsole_refresh): Likewise.
19240 (grub_ofconsole_terminfo_input): New struct.
19241 (grub_ofconsole_terminfo_output): Likewise.
19242 (grub_ofconsole_term_input): Use terminfo.
19243 (grub_ofconsole_term_output): Likewise.
19244 (grub_console_init): Split into ...
19245 (grub_console_init_early): ...this and ...
19246 (grub_console_init_lately): ...this. Use terminfo.
19247 (grub_ofconsole_putchar): Renamed to ...
19248 (put): ... this. Remove mapping.
19249 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
19250 * term/serial.c: Simplify using terminfo.
19251 (xpos): Removed.
19252 (ypos): Likewise.
19253 (keep_track): Likewise.
19254 (registered): Likewise.
19255 (input_buf): Likewise.
19256 (npending): Likewise.
19257 (serial_translate_key_sequence): Likewise.
19258 (fill_input_buf): Likewise.
19259 (grub_serial_checkkey): Likewise.
19260 (grub_serial_getkey): Likewise.
19261 (grub_serial_getxy): Likewise.
19262 (grub_serial_gotoxy): Likewise.
19263 (grub_serial_putchar): Likewise.
19264 (grub_serial_cls): Likewise.
19265 (grub_serial_setcolorstate): Likewise.
19266 (grub_serial_setcursor): Likewise.
19267 (serial_hw_init): Use serial_hw_fetch.
19268 (grub_serial_terminfo_input): New variable.
19269 (grub_serial_terminfo_output): Likewise.
19270 (grub_serial_term_input): Use terminfo.
19271 (grub_serial_term_output): Likewise.
19272 * term/terminfo.c (putstr): Use put.
19273 (grub_terminfo_all_free): New function
19274 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
19275 (grub_terminfo_output_register): New function.
19276 (grub_terminfo_output_unregister): Likewise.
19277 (grub_terminfo_getxy): Likewise.
19278 (grub_terminfo_readkey): Likewise.
19279 (grub_terminfo_checkkey): Likewise.
19280 (grub_terminfo_getkey): Likewise.
19281 (grub_terminfo_input_init): Likewise.
19282 (print_terminfo): Likewise.
19283 (grub_cmd_terminfo): Handle encoding.
19284 (grub_terminfo_gotoxy): Track position.
19285 (grub_terminfo_cls): Likewise.
19286 (grub_terminfo_putchar): Likewise.
19287 (grub_terminfo_setcolorstate): Handle colors
19288 (grub_terminfo_cursor_on): This ...
19289 (grub_terminfo_cursor_off): ... and this merged into ...
19290 (grub_terminfo_setcursor): ... this.
19291 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
19292 * unicode/ArabicShaping.txt: New file (imported from Unicode).
19293 * unicode/BidiMirroring.txt: Likewise.
19294 * unicode/UnicodeData.txt: Likewise.
19295 * unicode/COPYING: Likewise.
19296 * util/grub-editenv.c (grub_putchar): Removed.
19297 (grub_xputs_real): New function.
19298 (grub_xputs): New variable.
19299 * util/grub-fstest.c (grub_putchar): Removed.
19300 (grub_xputs_real): New function.
19301 (grub_xputs): New variable.
19302 * util/grub-mkdevicemap.c (grub_putchar): Removed.
19303 (grub_xputs_real): New function.
19304 (grub_xputs): New variable.
19305 * util/grub-probe.c (grub_putchar): Removed.
19306 (grub_xputs_real): New function.
19307 (grub_xputs): New variable.
19308 * util/grub-script-check.c (grub_putchar): Removed.
19309 (grub_xputs_real): New function.
19310 (grub_xputs): New variable.
19311 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
19312 (grub_xputs_real): New function.
19313 (grub_xputs): New variable.
19314 * util/import_unicode.py: New file.
19315 * util/grub-mkfont.c (ft_errmsgs): New array.
19316 (grub_glyph_info): Make bitmap a pointer.
19317 (file_formats): New type WIDTH_SPEC.
19318 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
19319 (options): Add width-spec.
19320 (help): Likewise.
19321 (add_char): Renamed to ...
19322 (add_glyph): ... this.
19323 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
19324 (glyph_replace): New type.
19325 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
19326 (add_char): New function.
19327 (add_subst): Likewise.
19328 (process_cursive): Likewise.
19329 (add_font): Handle GSUB.
19330 (write_font_width_spec): New function.
19331 (main): Sort glyphs.
19332 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
19333 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
19334 * kern/term.c (grub_cls): Moved from here...
19335 * normal/term.c (grub_cls): ... here.
19336
50f0bcda
CW
193372010-07-02 Colin Watson <cjwatson@ubuntu.com>
19338
19339 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
19340 suitable for using within the format argument of printf when
19341 converting grub_size_t.
19342 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
19343 "x" to convert grub_size_t arguments.
19344
40372103
VS
193452010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19346
19347 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
19348 too long captions.
19349 (list_get_minimal_size): Take selection box into account.
19350
942a10c7
VS
193512010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19352
19353 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
19354 NULL font.
19355
2bdb2892
CW
193562010-07-02 Colin Watson <cjwatson@ubuntu.com>
19357
19358 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
19359 devices when iterating over /dev/disk/by-id; they will be handled
19360 later if appropriate, which they aren't always (e.g. LVM).
19361
e03ed6c1
CW
193622010-07-02 Colin Watson <cjwatson@ubuntu.com>
19363
19364 * include/grub/misc.h (grub_reboot): Declare as noreturn.
19365 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
19366 fails.
19367 (grub_halt): Likewise.
19368 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
19369 reset-all fails.
19370 (grub_halt): Don't return, even if all of shut-down, power-off, and
19371 poweroff fail.
19372
47695765
CW
193732010-07-02 Colin Watson <cjwatson@ubuntu.com>
19374
19375 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
19376 arguments, not three.
19377
507736c8
CW
193782010-07-02 Colin Watson <cjwatson@ubuntu.com>
19379
19380 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
19381 * util/grub.d/10_linux.in: Use it to check for LVM, so that
19382 LVM-on-RAID is handled correctly.
19383
e3c8cd37
CW
193842010-07-02 Colin Watson <cjwatson@ubuntu.com>
19385
19386 * docs/grub.texi (Changes from GRUB Legacy): New section.
19387 (Future): Fix typo.
19388
8d4a2fec
CW
193892010-07-02 Colin Watson <cjwatson@ubuntu.com>
19390
19391 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
19392 grub.d/README accidentally ends up executable for one reason or
19393 another. Ignore it.
19394
1c4827be
VS
193952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19396
19397 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
19398 (gpt_partition_map_iterate): Support non-512B sectors.
19399
d9a0c941
VS
194002010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19401
19402 * kern/efi/init.c (grub_efi_init): Disable watchdog.
19403 Tested by: Seth Goldberg.
19404
48f27e87
VS
194052010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19406
19407 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
19408 Properly align mbi.
19409 Reported by: Seth Goldberg.
19410
b0c4f956
VS
194112010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19412
19413 * util/grub-mkrescue.in: Avoid module duplication.
19414
105a2e8c
SF
194152010-07-01 Sean Finney <seanius@seanius.net>
19416
19417 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
19418
5944958c
SF
194192010-07-01 Sean Finney <seanius@seanius.net>
19420
19421 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
19422
194232010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19424
19425 * disk/lvm.c (grub_lvm_checkvalue): New function.
19426 (grub_lvm_check_flag): Likewise.
19427
b79889ba
RM
194282010-07-01 Robert Millan <rmh@gnu.org>
19429
19430 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
19431 Support 'p' as partition separator on kernel of FreeBSD (used
19432 with GPT labels).
19433 (grub_util_biosdisk_get_grub_dev): Likewise.
19434
ec1d04f1
VS
194352010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19436
19437 Yeeloong firmware port.
19438
19439 * boot/mips/yeeloong/fwstart.S: New file.
19440 * bus/cs5536.c (gpiodump): New const.
19441 (set_io_space): New function.
19442 (set_iod): Likewise.
19443 (set_p2d): Likewise.
19444 (grub_cs5536_init_geode): Likewise.
19445 * commands/mips/yeeloong/lsspd.c: New file.
19446 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
19447 (serial_mod_SOURCES): New variable.
19448 (serial_mod_CFLAGS): Likewise.
19449 (serial_mod_LDFLAGS): Likewise.
19450 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
19451 term/terminfo.c and term/tparm.c.
19452 (pkglib_IMAGES): Add fwstart.img.
19453 (fwstart_img_SOURCES): New variable.
19454 (fwstart_img_CFLAGS): Likewise.
19455 (fwstart_img_ASFLAGS): Likewise.
19456 (fwstart_img_LDFLAGS): Likewise.
19457 (fwstart_img_FORMAT): Likewise.
19458 (pkglib_MODULES): Add lsspd.mod.
19459 (lsspd_mod_SOURCES): New variable.
19460 (lsspd_mod_CFLAGS): Likewise.
19461 (lsspd_mod_LDFLAGS): Likewise.
19462 (pkglib_MODULES): Add halt.mod.
19463 (halt_mod_SOURCES): New variable.
19464 (halt_mod_CFLAGS): Likewise.
19465 (halt_mod_LDFLAGS): Likewise.
19466 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
19467 (serial_mod_SOURCES): Removed.
19468 (serial_mod_CFLAGS): Likewise.
19469 (serial_mod_LDFLAGS): Likewise.
19470 * disk/ata.c (check_device): New function.
19471 (grub_ata_device_initialize): Use check_device.
19472 (grub_ata_iterate): Recheck devices.
19473 (grub_ata_open): Likewise.
19474 (grub_atapi_iterate): Likewise.
19475 (grub_atapi_open): Likewise.
19476 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
19477 (GRUB_ATA_CH1_PORT1): Likewise.
19478 (GRUB_ATA_CH0_PORT2): Likewise.
19479 (GRUB_ATA_CH1_PORT2): Likewise.
19480 * include/grub/mips/loongson.h: New file.
19481 * include/grub/mips/yeeloong/ec.h: Likewise.
19482 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
19483 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
19484 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
19485 * include/grub/misc.h (grub_halt): Declare as noreturn.
19486 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
19487 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
19488 (UART_ENABLE_FIFO_TRIGGER1): New definition.
19489 (UART_ENABLE_DTRRTS): Likewise.
19490 (UART_ENABLE_MODEM): Removed.
19491 (UART_ENABLE_OUT2): New const.
19492 * include/grub/term.h (grub_term_register_input_active): New function.
19493 (grub_term_register_output_active): Likewise.
19494 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
19495 argument.
19496 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
19497 (init_pci): New function.
19498 (grub_machine_init): Execute platform init when firmware. Init serial.
19499 (grub_halt): Implement.
19500 (grub_exit): Likewise.
19501 (grub_reboot): Likewise.
19502 * term/serial.c (serial_hw_init): Update macros.
19503 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
19504 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
19505 (image_targets): New target mipsel-yeeloong-flash.
19506 (generate_image): Support IMAGE_YEELOONG_FLASH.
19507 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
19508 (grub_video_sm712_setup): Init card.
19509 (grub_video_sm712_set_palette): Removed.
19510 * video/sm712_init.c: New file.
19511
ff4a70d2
CW
195122010-06-30 Colin Watson <cjwatson@ubuntu.com>
19513
19514 * Makefile.in (install-local): Temporarily prepend $(builddir) to
19515 PATH when running help2man and then run it on the unadorned
19516 executable names, rather than passing $(builddir)/* paths to
19517 help2man. This avoids the build directory ending up in generated
19518 manual pages.
19519
1246efeb
CW
195202010-06-29 Colin Watson <cjwatson@ubuntu.com>
19521
19522 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
19523 to avoid accidents when debugging with 'sh -x'.
19524 * util/grub-mkrescue.in: Likewise.
19525 * util/grub.d/00_header.in: Likewise.
19526 * util/grub.d/10_hurd.in: Likewise.
19527 * util/grub.d/10_kfreebsd.in: Likewise.
19528 * util/grub.d/10_linux.in: Likewise.
19529 * util/grub.d/10_netbsd.in: Likewise.
19530 * util/grub.d/10_windows.in: Likewise.
19531 * util/grub.d/20_linux_xen.in: Likewise.
19532 * util/grub.d/30_os-prober.in: Likewise.
19533 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19534
1ba9b889
CW
195352010-06-29 Colin Watson <cjwatson@ubuntu.com>
19536
19537 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
19538 last character in the buffer.
19539 Reported by: Vladimir Serbinenko.
19540
dccaf99d
RM
195412010-06-29 Robert Millan <rmh@gnu.org>
19542
19543 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
19544 (Command-line and menu entry commands): Document `badram' command.
19545
d500ed12
RM
195462010-06-28 Robert Millan <rmh@gnu.org>
19547
19548 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
19549 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
19550 command using ${GRUB_BADRAM} as parameter.
19551
20bc84a6
CW
195522010-06-28 Colin Watson <cjwatson@ubuntu.com>
19553
19554 * docs/grub.texi (Device map): New section.
19555 (Themes): New section (stub).
19556 * Makefile.in (docs/grub.info): The info documentation now builds
19557 without errors. Make sure it stays that way.
19558
4045dee1
VS
195592010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19560
19561 Use normal parser for menu entries.
19562 Reported by: Thomas Frauendorfer
19563
19564 * include/grub/parser.h (grub_parser_execute): Don't export.
19565 * normal/menu.c (grub_menu_execute_entry_real): New function.
19566 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
19567
bca58c7b
CW
195682010-06-28 Colin Watson <cjwatson@ubuntu.com>
19569
19570 * docs/grub.texi (Embedded configuration): New section (replacing
19571 old "Preset Menu" stub).
19572 (Images): New section.
19573 (configfile): Note that any menu entries defined in `file' are shown
19574 immediately.
19575
dec53e63
JT
195762010-06-28 Josh Triplett <josh@joshtriplett.org>
19577
19578 * mmap/i386/pc/mmap_helper.S: Set CF on return.
19579
c06e40f7
CW
195802010-06-28 Colin Watson <cjwatson@ubuntu.com>
19581
19582 * util/grub-install.in: Add --debug-image= option.
19583
cb88052b
CW
195842010-06-28 Colin Watson <cjwatson@ubuntu.com>
19585
19586 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
19587 possible on Linux.
19588
19589 * util/deviceiter.c (check_device): Rename to ...
19590 (check_device_readable_unique): ... this. Update all callers.
19591 Maintain and check a list of which devices (by canonicalized name)
19592 have already been seen.
19593 (clear_seen_devices): New function.
19594 (compare_file_names) [__linux__]: New function.
19595 (grub_util_iterate_devices): Clear the list of seen devices on exit
19596 and (just in case) on entry.
19597 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
19598 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
19599 seen-devices list, superseded by general code in check_device.
19600
bbe34652
CW
196012010-06-28 Colin Watson <cjwatson@ubuntu.com>
19602
19603 * commands/cat.c (options): New variable.
19604 (grub_cmd_cat): Parse options. If the --dos option is given, print
19605 DOS-style "\r\n" line endings as simple newlines (Debian bug
19606 #586358).
19607 (GRUB_MOD_INIT): Use extcmd.
19608 (GRUB_MOD_FINI): Likewise.
19609 * docs/grub.texi (cat): Document --dos.
19610
412e09f3
VS
196112010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19612
19613 XEN with Linux grub-mkconfig support.
19614
19615 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
19616 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
19617 GRUB_CMDLINE_XEN_DEFAULT.
19618 * util/grub.d/20_linux_xen.in: New file.
19619
53f3ef38 196202010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
19621
19622 Initialise VGA video on qemu ourselves.
19623
19624 * boot/i386/qemu/boot.S: Don't call 0xc000.
19625 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
19626 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
19627 (kernel_img_HEADERS): Add pci.h.
19628 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
19629 * configure.ac: Force unifont on qemu and yeeloong.
19630 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
19631 (grub_vga_palette_write): Use correct register.
19632 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
19633 Call grub_qemu_init_cirrus.
19634 * kern/i386/qemu/init.c: New file.
19635 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
19636
19637 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
19638
c75be4fb
PR
196392010-06-26 Pavel Roskin <proski@gnu.org>
19640
19641 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
19642 13.
19643
d8034603
CW
196442010-06-26 Colin Watson <cjwatson@ubuntu.com>
19645
19646 * docs/grub.texi (Simple configuration): Explain that
19647 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
19648 set to `true' to disable their respective recovery entries, not
19649 merely set.
19650
3fa06487
CW
196512010-06-26 Colin Watson <cjwatson@ubuntu.com>
19652
19653 Make the `source' command slightly faster.
19654
19655 * normal/main.c (grub_normal_execute): Don't re-read list files when
19656 nested.
19657
e9b29642
CW
196582010-06-23 Colin Watson <cjwatson@ubuntu.com>
19659
19660 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
19661 field position and mask size to red fields from mode_info, not
19662 green.
19663 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
19664 Remove redundant tag->common.framebuffer_type assignment.
19665 Reported by: Seth Goldberg.
19666
e726542f
CW
196672010-06-23 Colin Watson <cjwatson@ubuntu.com>
19668
19669 Sync up other versions of the Linux loader with Robert Millan's
19670 change of 2010-01-09, "Make loader output a bit more user-friendly".
19671
19672 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
19673 grub_dprintf().
19674 (grub_cmd_linux): Likewise.
19675 (grub_cmd_initrd): Likewise.
19676 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
19677 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19678
d6e98a17
CW
196792010-06-21 Colin Watson <cjwatson@ubuntu.com>
19680
19681 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
19682 larger than MEMORY_MAP_SIZE.
19683
14d3f08e
BC
196842010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
19685
19686 Fix parallel build.
19687
19688 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
19689 dependency.
19690 * script/parser.y: #include grub_script.tab.h header.
19691
4f9613a3
VS
196922010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19693
19694 Support >3GiB and <16MiB RAM in i386-qemu.
19695
19696 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
19697 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
19698 (grub_lower_mem): Removed.
19699 (grub_upper_mem): Likewise.
19700 (mem_size): Made static.
19701 (above_4g): New variable.
19702 (grub_machine_mmap_init): Detect small mem_size and above_4g.
19703 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
19704 support.
19705
05e51879
VS
197062010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19707
19708 Cirrus 5446 and Bochs video cards support.
19709
19710 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
19711 video_bochs.mod
19712 (video_cirrus_mod_SOURCES): New variable.
19713 (video_cirrus_mod_CFLAGS): Likewise.
19714 (video_cirrus_mod_LDFLAGS): Likewise.
19715 (video_bochs_mod_SOURCES): Likewise.
19716 (video_bochs_mod_CFLAGS): Likewise.
19717 (video_bochs_mod_LDFLAGS): Likewise.
19718 * include/grub/vga.h: New file.
19719 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
19720 (grub_video_fb_set_page_t): New type.
19721 (grub_video_fb_setup): New prototype.
19722 (grub_video_fb_swap_buffers): Likewise.
19723 (grub_video_fb_get_info_and_fini): Likewise.
19724 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
19725 (CRTC_DATA_PORT): Likewise.
19726 (CRTC_CURSOR): Likewise.
19727 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19728 (CRTC_CURSOR_ADDR_LOW): Likewise.
19729 (CRTC_CURSOR_DISABLE): Likewise.
19730 (update_cursor): Use grub_vga_cr_write.
19731 (grub_vga_text_setcursor): Likewise.
19732 * video/bochs.c: New file.
19733 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
19734 (palette): Likewise.
19735 (palette_size): Likewise.
19736 (framebuffer): New variable.
19737 (grub_video_fb_init): Use 'framebuffer'.
19738 (grub_video_fb_fini): Likewise.
19739 (grub_video_fb_get_info): Likewise.
19740 (grub_video_fb_get_palette): Likewise.
19741 (grub_video_fb_set_palette): Likewise.
19742 (grub_video_fb_set_viewport): Likewise.
19743 (grub_video_fb_get_viewport): Likewise.
19744 (grub_video_fb_map_color): Likewise.
19745 (grub_video_fb_map_rgb): Likewise.
19746 (grub_video_fb_map_rgba): Likewise.
19747 (grub_video_fb_unmap_color): Likewise.
19748 (grub_video_fb_unmap_color_int): Likewise.
19749 (grub_video_fb_fill_rect): Likewise.
19750 (grub_video_fb_blit_bitmap): Likewise.
19751 (grub_video_fb_blit_render_target): Likewise.
19752 (grub_video_fb_scroll): Likewise.
19753 (grub_video_fb_create_render_target): Likewise.
19754 (grub_video_fb_doublebuf_blit_init): Likewise.
19755 (grub_video_fb_set_active_render_target): Handle doublebuffering.
19756 (doublebuf_pageflipping_update_screen): New function.
19757 (doublebuf_pageflipping_init): Likewise.
19758 (grub_video_fb_setup): Likewise.
19759 (grub_video_fb_swap_buffers): Likewise.
19760 (grub_video_fb_get_info_and_fini): Likewise.
19761 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
19762 All users updated.
19763 (doublebuf_pageflipping_commit): Restructured into ...
19764 (doublebuf_pageflipping_set_page): ... this.
19765 (doublebuf_pageflipping_update_screen): Removed.
19766 (doublebuf_pageflipping_init): Likewise.
19767 (double_buffering_init): Likewise.
19768 (grub_video_vbe_setup): Use grub_video_fb_setup.
19769 (grub_video_vbe_swap_buffers): Removed.
19770 (grub_video_vbe_set_active_render_target): Likewise.
19771 (grub_video_vbe_get_active_render_target): Likewise.
19772 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
19773 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
19774 grub_video_fb_set_active_render_target and
19775 grub_video_fb_get_active_render_target.
19776 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
19777 (SEQUENCER_DATA_PORT): Likewise.
19778 (MAP_MASK_REGISTER): Likewise.
19779 (CRTC_ADDR_PORT): Likewise.
19780 (CRTC_DATA_PORT): Likewise.
19781 (START_ADDR_HIGH_REGISTER): Likewise.
19782 (START_ADDR_LOW_REGISTER): Likewise.
19783 (GRAPHICS_ADDR_PORT): Likewise.
19784 (GRAPHICS_DATA_PORT): Likewise.
19785 (READ_MAP_REGISTER): Likewise.
19786 (INPUT_STATUS1_REGISTER): Likewise.
19787 (INPUT_STATUS1_VERTR_BIT): Likewise.
19788 (get_map_mask): Use grub_vga_sr_read.
19789 (set_map_mask): Use grub_vga_sr_write.
19790 (set_read_map): Use grub_vga_gr_write.
19791 (set_start_address): Use grub_vga_cr_write.
19792 * video/sm712.c (framebuffer): Remove leftover fields.
19793
4321c64a
CW
197942010-06-20 Colin Watson <cjwatson@ubuntu.com>
19795
19796 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
19797 setting GRUB_VIDEO_BACKEND. Make it available as a user override
19798 instead. Replace the gfxterm backend check with a check that
19799 ${GRUB_PREFIX}/video.lst is non-empty.
19800 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
19801 again.
19802 (load_video): New generated function. Call it before loading
19803 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
19804 * util/grub.d/10_linux.in (linux_entry): Call load_video.
19805 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
19806 * docs/grub.texi (Simple configuration): Document
19807 GRUB_VIDEO_BACKEND.
19808
198092010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19810
19811 Use video functions in linux and xnu loaders.
19812
19813 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
19814 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
19815 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
19816 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
19817 loader/i386/pc/linux.c.
19818 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
19819 (find_line_len): Removed.
19820 (find_framebuf): Likewise.
19821 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
19822 * loader/i386/efi/xnu.c: Removed.
19823 * loader/i386/pc/xnu.c: Moved from here...
19824 * loader/i386/xnu.c: ...here.
19825
19826 Enable priorities in video drivers.
19827
19828 * include/grub/video.h (grub_video_adapter_prio_t): New type.
19829 (grub_video_adapter): New field prio.
19830 (grub_video_register): Respect prio when inserting.
19831 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
19832 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
19833 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
19834 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
19835 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
19836 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
19837 * video/sm712.c (grub_video_sm712_adapter): Likewise.
19838
19839 Fix SDL driver ID.
19840
19841 * include/grub/video.h (grub_video_driver_id_t): New value
19842 GRUB_VIDEO_DRIVER_SDL.
19843 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
19844
7d24e434
CW
198452010-06-17 Colin Watson <cjwatson@ubuntu.com>
19846
19847 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
19848 argument to printf.
19849 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19850
c88a83f6
CW
198512010-06-17 Colin Watson <cjwatson@ubuntu.com>
19852
19853 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
19854 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19855
094dfb69
CW
198562010-06-17 Colin Watson <cjwatson@ubuntu.com>
19857
19858 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19859 directly, and recommend grub-install instead.
19860 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19861
2164da6b
CW
198622010-06-17 Colin Watson <cjwatson@ubuntu.com>
19863
19864 Fix i386-pc prefix handling with nested partitions (Debian bug
19865 #585068). Note that the case where the core image is booted using
19866 multiboot and relocated from its original location still requires
19867 more work.
19868
19869 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19870 with "(,", fill the boot drive in between those two characters, but
19871 expect that a full partition specification including partition map
19872 names will follow.
19873 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19874 specified, write a prefix without the drive name but including a
19875 full partition specification.
19876
044e2e60
CW
198772010-06-16 Colin Watson <cjwatson@ubuntu.com>
19878
19879 * util/grub-mkconfig.in: Ignore non-option arguments, for
19880 compatibility with older versions (before 2010-06-12) which did the
19881 same. In particular, this makes it easier to ship an update-grub
19882 wrapper which is compatible with that used with GRUB Legacy (Debian
19883 bug #586056).
19884
5591324f
GS
198852010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19886
19887 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19888 for manual page generation.
19889
662e24d5
GS
198902010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19891
19892 * po/POTFILES: Remove leftover commands/handler.c.
19893
8d70754e
CW
198942010-06-14 Colin Watson <cjwatson@ubuntu.com>
19895
19896 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19897 left this script non-functional.
19898
41160e2e
CW
198992010-06-14 Colin Watson <cjwatson@ubuntu.com>
19900
19901 * docs/man/grub-emu.h2m: New file.
19902
b5309cc1
CW
199032010-06-13 Colin Watson <cjwatson@ubuntu.com>
19904
19905 * docs/grub.texi (Commands): Document reduced command set in rescue
19906 mode.
19907 (cpuid): New section.
19908
fcb2d090
GS
199092010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19910
19911 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19912 new partition naming style.
19913 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19914
96e5c556
BC
199152010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19916
19917 Add "-o grub.iso" like cmdline options support.
19918
19919 * util/grub-install.in: Improve cmdline option parsing.
19920 * util/grub-mkconfig.in: Likewise.
19921 * util/grub-mkrescue.in: Likewise.
19922 * util/grub-reboot.in: Likewise.
19923 * util/grub-set-default.in: Likewise.
19924 * util/i386/efi/grub-install.in: Likewise.
19925 * util/ieee1275/grub-install.in: Likewise.
19926 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19927
c16be99b
CW
199282010-06-12 Colin Watson <cjwatson@ubuntu.com>
19929
19930 * .bzrignore: Ignore 41_custom.
19931
ce08a9fb
TS
199322010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19933
19934 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19935
7beac90c
CW
199362010-06-12 Colin Watson <cjwatson@ubuntu.com>
19937
19938 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19939 prototype declarations.
19940
19941 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19942 generating fs, partmap, and video lists.
19943 * include/grub/fs.h (grub_fs_register): Omit prototype if
19944 GRUB_LST_GENERATOR is defined.
19945 * include/grub/partition.h (grub_partition_map_register): Likewise.
19946 * include/grub/video.h (grub_video_register): Likewise.
19947
1c8f0f8d
JM
199482010-06-12 Javier Martín <lordhabbit@gmail.com>
19949
19950 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19951
a6085973
TS
199522010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19953
19954 * util/grub-mkrescue.in: Support --xorriso argument.
19955
25c56d29
VS
199562010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19957
19958 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19959 Suggested by: Thomas Schmitt.
19960
e03e4b24
VS
199612010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19962
19963 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19964 Suggested by: Thomas Schmitt.
19965
57711df6
VS
199662010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19967
19968 custom.cfg support.
19969
19970 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19971 * util/grub.d/41_custom.in: New file.
19972
ee62c427
CW
199732010-06-12 Colin Watson <cjwatson@ubuntu.com>
19974
19975 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19976 been merged back into normal.
19977
283af07a
CW
199782010-06-11 Colin Watson <cjwatson@ubuntu.com>
19979
19980 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19981 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19982
56a0d956
CW
199832010-06-11 Colin Watson <cjwatson@ubuntu.com>
19984
19985 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19986 when generating manual pages.
19987 * docs/man/grub-bin2h.h2m: New file.
19988 * docs/man/grub-editenv.h2m: New file.
19989 * docs/man/grub-fstest.h2m: New file.
19990 * docs/man/grub-install.h2m: New file.
19991 * docs/man/grub-macho2img.h2m: New file.
19992 * docs/man/grub-mkconfig.h2m: New file.
19993 * docs/man/grub-mkdevicemap.h2m: New file.
19994 * docs/man/grub-mkfont.h2m: New file.
19995 * docs/man/grub-mkimage.h2m: New file.
19996 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19997 * docs/man/grub-mkrelpath.h2m: New file.
19998 * docs/man/grub-mkrescue.h2m: New file.
19999 * docs/man/grub-ofpathname.h2m: New file.
20000 * docs/man/grub-pe2elf.h2m: New file.
20001 * docs/man/grub-probe.h2m: New file.
20002 * docs/man/grub-reboot.h2m: New file.
20003 * docs/man/grub-script-check.h2m: New file.
20004 * docs/man/grub-set-default.h2m: New file.
20005 * docs/man/grub-setup.h2m: New file.
20006
3a37e322
VS
200072010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
20008
20009 Use FOR_* macros instead of *_iterate whenever possible.
20010
20011 * commands/handler.c: Removed.
20012 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
20013 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
20014 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20015 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
20016 (grub_probe_SOURCES): Remove kern/parser.c.
20017 (util/grub-script-check.c_DEPENDENCIES): Removed.
20018 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
20019 and grub_script_check_init.c.
20020 (grub_script_check_init.lst): Removed.
20021 (grub_script_check_init.h): Likewise.
20022 (grub_script_check_init.c): Likewise.
20023 (pkglib_MODULES): Remove handler.mod and sh.mod.
20024 (handler_mod_SOURCES): Removed.
20025 (handler_mod_CFLAGS): Likewise.
20026 (handler_mod_LDFLAGS): Likewise.
20027 (normal_mod_SOURCES): Remove normal/handler.c.
20028 Add script/main.c, script/script.c, script/execute.c,
20029 script/function.c, script/lexer.c, grub_script.tab.c
20030 and grub_script.yy.c.
20031 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20032 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20033 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
20034 (grub_setup_SOURCES): Remove kern/parser.c.
20035 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20036 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
20037 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
20038 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20039 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20040 (grub_setup_SOURCES): Remove kern/parser.c.
20041 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20042 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
20043 * include/grub/command.h (grub_command_iterate): Removed.
20044 (FOR_COMMANDS): New macro.
20045 * include/grub/dl.h (grub_dl): New member next.
20046 (grub_dl_iterate): Removed.
20047 (grub_dl_head): New variable declaration.
20048 (FOR_DL_MODULES): New macro.
20049 * include/grub/fs.h: Include list.h.
20050 (grub_fs): Make next first element.
20051 (grub_fs_list): New variable declaration.
20052 (grub_fs_register): Make inline.
20053 (grub_fs_unregister): Likewise.
20054 (grub_fs_iterate): Removed.
20055 (FOR_FILESYSTEMS): New macro.
20056 * include/grub/handler.h: Removed.
20057 * include/grub/list.h (grub_list_hook_t): Removed.
20058 (grub_list_test_t): Likewise.
20059 (grub_list_pop): Likewise.
20060 (grub_list_iterate): Likewise.
20061 (grub_list_insert): Likewise.
20062 (FOR_LIST_ELEMENTS): New macro.
20063 * include/grub/parser.h (grub_parser_class): Removed.
20064 (grub_parser_register): Likewise.
20065 (grub_parser_unregister): Likewise.
20066 (grub_parser_get_current): Likewise.
20067 (grub_parser_set_current): Likewise.
20068 (grub_register_rescue_parser): Likewise.
20069 (grub_rescue_parse_line): New function.
20070 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
20071 * include/grub/script_sh.h (grub_script_function_list): New variable
20072 declaration.
20073 (FOR_SCRIPT_FUNCTIONS): New macro.
20074 (grub_script_function_iterate): Removed.
20075 (grub_normal_parse_line): New prototype.
20076 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
20077 (FOR_DISABLED_TERM_INPUTS): Likewise.
20078 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
20079 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
20080 * include/grub/video.h (grub_video_adapter): Move 'next' to first
20081 element.
20082 (grub_video_register): Inline.
20083 (grub_video_unregister): Likewise.
20084 (grub_video_adapter_list): New variable declaration.
20085 (grub_video_iterate): Removed.
20086 (FOR_VIDEO_ADAPTERS): New macro.
20087 * kern/dl.c (grub_dl_list): Removed. All users updated.
20088 (grub_dl_iterate): Removed.
20089 * kern/fs.c (grub_fs_list): Make global.
20090 (grub_fs_register): Removed.
20091 (grub_fs_unregister): Likewise.
20092 (grub_fs_iterate): Likewise.
20093 * kern/handler.c: Removed.
20094 * kern/list.c (grub_list_pop): Removed.
20095 (grub_list_iterate): Likewise.
20096 (grub_list_insert): Likewise.
20097 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
20098 (grub_prio_list_insert): Don't use grub_list_insert.
20099 * kern/main.c (grub_register_rescue_parser): Don't call
20100 grub_register_rescue_parser.
20101 * kern/parser.c (grub_parser_class): Removed.
20102 (grub_parser_execute): Use grub_rescue_parse_line.
20103 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
20104 (grub_rescue_parser): Removed.
20105 (grub_register_rescue_parser): Likewise.
20106 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
20107 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
20108 (grub_auth_check_authentication): Likewise.
20109 * normal/completion.c (iterate_command): Removed.
20110 (grub_normal_do_completion): Use FOR_COMMANDS.
20111 * normal/handler.c: Removed.
20112 * normal/main.c (read_config_file): Remove parser changing.
20113 (grub_normal_execute): Don't call read_handler_list.
20114 (grub_normal_read_line_real): Statically allocate prompt.
20115 (grub_cmdline_run): Use grub_normal_parse_line.
20116 (GRUB_MOD_FINI): Don't call free_handler_list.
20117 * normal/menu_entry.c (run): Likewise.
20118 * script/function.c (grub_script_function_list): Make global.
20119 (grub_script_function_iterate): Removed.
20120 * script/main.c (grub_normal_parse_line): Make global.
20121 (grub_sh_parser): Removed.
20122 (GRUB_MOD_INIT): Likewise.
20123 (GRUB_MOD_FINI): Likewise.
20124 * tests/lib/functional_test.c (grub_functional_test): Use
20125 FOR_LIST_ELEMENTS.
20126 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
20127 (grub_test_run): Use FOR_LIST_ELEMENTS.
20128 * tests/lib/unit_test.c (main): Likewise.
20129 * util/deviceiter.c (grub_util_iterate_devices): Don't use
20130 grub_list_pop.
20131 * util/grub-fstest.c (grub_term_input_class): Removed.
20132 (grub_term_output_class): Likewise.
20133 * util/grub-probe.c: Likewise.
20134 * util/i386/pc/grub-setup.c: Likewise.
20135 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20136 * util/grub-script-check.c (main): Don't call grub_init_all and
20137 grub_fini_all.
20138 * video/video.c (grub_video_adapter_list): Make global.
20139 (grub_video_register): Removed.
20140 (grub_video_unregister): Likewise.
20141 (grub_video_iterate): Likewise.
20142
6289c3a7
VS
201432010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
20144
20145 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
20146 reported by Henrique Ferreiro.
20147
91460247
RM
201482010-06-09 Robert Millan <rmh@gnu.org>
20149
20150 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
20151 ones, when both are available.
20152
0ea7c4f9
GS
201532010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20154
20155 Make --version uniform and avoid hard-coded program name.
20156
20157 * util/grub-mkimage.c (main): Use `program_name' instead of
20158 hard-coded string.
20159 * util/i386/pc/grub-setup.c (main): Likewise.
20160 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
20161 * util/grub-install.in: Save the basename of $0 in $self, and use the
20162 latter in informational messages. Use the same format for --version
20163 as the binary programs.
20164 * util/grub-mkconfig.in: Likewise.
20165 * util/grub-mkrescue.in: Likewise.
20166 * util/grub-reboot.in: Likewise.
20167 * util/grub-set-default.in: Likewise.
20168 * util/i386/efi/grub-install.in: Likewise.
20169 * util/ieee1275/grub-install.in: Likewise.
20170 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20171
e8a6f3b6
GS
201722010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20173
20174 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
20175 embedding area. Use <= instead of == when checking for non-emptiness.
20176
f4d095d7
GS
201772010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20178
20179 * configure.ac: Add `.' to the directories searched for unifont.
20180
50e532ca
CW
201812010-06-08 Colin Watson <cjwatson@ubuntu.com>
20182
20183 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
20184 grub_script.yy.h.
20185
d39f3dec
CW
201862010-06-08 Colin Watson <cjwatson@ubuntu.com>
20187
20188 * docs/grub.texi (History): Expand to cover GRUB 2.
20189 (Serial terminal): Refer to `terminal_input' and `terminal_output'
20190 commands, not `terminal'.
20191 (serial): Likewise.
20192 (terminal_input): New section.
20193 (terminal_output): New section.
20194 (uppermem): New section (stub).
20195 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
20196
6ef0ddb4
CW
201972010-06-08 Colin Watson <cjwatson@ubuntu.com>
20198
20199 * docs/grub.texi (Security): Menu entries are unrestricted by
20200 default, not restricted to superusers as I had previously thought.
20201 Reword to account for this.
20202
e0f4c438
CW
202032010-06-07 Colin Watson <cjwatson@ubuntu.com>
20204
20205 * kern/emu/misc.c (device_mapper_null_log): New function.
20206 (grub_device_mapper_supported): New function.
20207 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
20208 prototype.
20209 * kern/emu/hostdisk.c (find_partition_start): Check whether
20210 device-mapper is supported before trying to use it.
20211 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
20212
da908200
CW
202132010-06-07 Colin Watson <cjwatson@ubuntu.com>
20214
20215 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
20216 (File name syntax): Likewise.
20217 (help): --all is no longer supported in GRUB 2. Be more precise
20218 about pattern matching.
20219
fb55c3ac
CW
202202010-06-07 Colin Watson <cjwatson@ubuntu.com>
20221
20222 * normal/completion.c (grub_normal_do_completion): When completing
20223 arguments to "set" and the current word contains an equals sign,
20224 skip to after the equals sign before starting completion.
20225
258c2573
CW
202262010-06-07 Colin Watson <cjwatson@ubuntu.com>
20227
20228 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
20229
ee75515e
CW
202302010-06-07 Colin Watson <cjwatson@ubuntu.com>
20231
20232 * docs/grub.texi (Network): New section.
20233 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
20234 `(nd)' as in GRUB Legacy.
20235 (pxe_unload): New section.
20236
a6a700aa
CW
202372010-06-07 Colin Watson <cjwatson@ubuntu.com>
20238
20239 * docs/grub.texi (Troubleshooting): `echo' is not usually available
20240 in the rescue shell, so recommend using `set' instead. Thanks,
20241 Jordan Uggla.
20242
4003dd38
CW
202432010-06-07 Colin Watson <cjwatson@ubuntu.com>
20244
20245 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
20246 (password): New section.
20247 (password_pbkdf2): New section.
20248 (search): New section.
20249 (Security): New section.
20250 (Troubleshooting): New section, currently very incomplete.
20251 (Invoking grub-mkpasswd-pbkdf2): New section.
20252 (Internals): New section, currently very incomplete.
20253
e1cbcc40
CW
202542010-06-07 Colin Watson <cjwatson@ubuntu.com>
20255
20256 * util/grub.d/00_header.in: Add some more quoting (of
20257 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
20258 work again.
20259 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
20260
db8fa1ad
CW
202612010-06-07 Colin Watson <cjwatson@ubuntu.com>
20262
20263 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
20264 to `count', fixing variable shadowing that broke the -c option.
20265
202662010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
20267
20268 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
20269 in case they contain spaces.
20270
f28a9212
CW
202712010-06-04 Colin Watson <cjwatson@ubuntu.com>
20272
20273 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
20274 "part_" to partmap module names, in line with grub-install.
20275 Reported by: Jindřich Makovička (Debian bug #584426).
20276
9cdfe32f
CW
202772010-06-04 Colin Watson <cjwatson@ubuntu.com>
20278
20279 * util/grub-mkimage.c: Make target-related error messages slightly
20280 more helpful; -O talks about "format". Explicitly point to the use
20281 of -O if no target is specified.
20282 Reported by: Didier Raboud (Debian bug #584415).
20283
795b593a
CW
202842010-06-03 Colin Watson <cjwatson@ubuntu.com>
20285
20286 * INSTALL: Document several build requirements for optional features
20287 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
20288
9d9b5833
GS
202892010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
20290
20291 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
20292 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
20293 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
20294
0819fec8
CW
202952010-06-02 Colin Watson <cjwatson@ubuntu.com>
20296
20297 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
20298 Thanks to Jordan Uggla for spotting this.
20299
49396b4f
VS
203002010-06-02 Aleš Nesrsta <starous@volny.cz>
20301
20302 Finally make USB usable.
20303
20304 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
20305 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
20306 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
20307 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
20308 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
20309 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
20310 (GRUB_OHCI_FSMPS): Likewise.
20311 (GRUB_OHCI_PERIODIC_START): Likewise.
20312 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
20313 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
20314 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
20315 (GRUB_OHCI_SET_PORT_RESET): Likewise.
20316 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
20317 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
20318 (grub_ohci_transaction): Likewise.
20319 (grub_ohci_transfer): Improve condition detection algorithms.
20320 Handle toggle property. Program the transactions correctly.
20321 Improve error handling. Various important fixups.
20322 (grub_ohci_portstatus): Put register writes in right order.
20323 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
20324 (grub_uhci_transfer): Don't show "failed" message on success.
20325 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
20326 array.
20327 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
20328 determine its size.
20329 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
20330 before initialization is completed. Use IN direction for empty
20331 transfers. Use last_trans and compute toggle.
20332 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
20333 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
20334 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
20335 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
20336 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
20337 (grub_usb_device): Increase toggle to 256.
20338 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
20339 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
20340 GRUB_USBMS_SUBCLASS_SFF8070.
20341 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
20342 (grub_scsi_inquiry): New member page and alloc_length.
20343 (grub_scsi_request_sense): New structure.
20344 (grub_scsi_request_sense_data): Likewise.
20345 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
20346 control.
20347 * disk/scsi.c (grub_scsi_request_sense): New function.
20348 (grub_scsi_test_unit_ready): Likewise.
20349 (grub_scsi_inquiry): Fill new fields.
20350 (grub_scsi_read_capacity): Likewise.
20351 (grub_scsi_read10): Add request sense at the end.
20352 (grub_scsi_read12): Likewise.
20353 (grub_scsi_write10): Likewise.
20354 (grub_scsi_write12): Likewise.
20355 (grub_scsi_open): Add Test Unit Ready.
20356 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
20357 Support additional subclasses. Con't clear halt yet. Activate the
20358 proper config. Calculate LUNs correctly.
20359 (grub_usbms_transfer): Various important fixups.
20360
203612010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20362
20363 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
20364 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
20365 (grub_ohci_fini_hw): New function.
20366 (grub_ohci_restore_hw): Likewise.
20367 (GRUB_MOD_INIT(ohci)): Register preboot hook.
20368 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
20369 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
20370
203712010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20372
20373 Dedicated DMA allocations.
20374
20375 * bus/pci.c (grub_memalign_dma32): New function
20376 (grub_dma_free): Likewise.
20377 (grub_dma_get_virt): Likewise.
20378 (grub_dma_get_phys): Likewise.
20379 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
20380 (grub_ohci_pci_iter): Use dma32_alloc.
20381 (grub_ohci_transfer): Likewise.
20382 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20383 (grub_usb_bulk_readwrite): Likewise.
20384 * include/grub/pci.h: Add declarations.
20385
203862010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20387
20388 CS5536 support.
20389
20390 * bus/cs5536.c: New file.
20391 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
20392 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
20393 (cs5536_mod_SOURCES): New variable.
20394 (cs5536_mod_CFLAGS): Likewise.
20395 (cs5536_mod_LDFLAGS): Likewise.
20396 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
20397 machine/pci.h.
20398 (kernel_img_SOURCES): Add bus/cs5536.c.
20399 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
20400 usb_keyboard.mod.
20401 (usb_mod_SOURCES): New variable.
20402 (usb_mod_CFLAGS): New variable.
20403 (usb_mod_LDFLAGS): New variable.
20404 (usbtest_mod_SOURCES): New variable.
20405 (usbtest_mod_CFLAGS): New variable.
20406 (usbtest_mod_LDFLAGS): New variable.
20407 (ohci_mod_SOURCES): New variable.
20408 (ohci_mod_CFLAGS): New variable.
20409 (ohci_mod_LDFLAGS): New variable.
20410 (usbms_mod_SOURCES): New variable.
20411 (usbms_mod_CFLAGS): New variable.
20412 (usbms_mod_LDFLAGS): New variable.
20413 (usb_keyboard_mod_SOURCES): New variable.
20414 (usb_keyboard_mod_CFLAGS): New variable.
20415 (usb_keyboard_mod_LDFLAGS): New variable.
20416 * include/grub/smbus.h: New file.
20417 * include/grub/cs5536.h: New file.
20418
0b35b2a9
CW
204192010-06-02 Colin Watson <cjwatson@ubuntu.com>
20420
20421 * util/grub.d/00_header.in: Add safety check to make sure that
20422 ${locale_dir} exists before trying to probe it.
20423
ca0afd5b
CW
204242010-06-02 Colin Watson <cjwatson@ubuntu.com>
20425
20426 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
20427 per the GNU Coding Standards; this is now too obscure to be worth
20428 documenting.
20429 (QNX): Likewise.
20430 (chainloader): Remove cross-reference to `SCO UnixWare'.
20431
1c41aa78
CW
204322010-06-02 Colin Watson <cjwatson@ubuntu.com>
20433
20434 * docs/grub.texi (Chain-loading): New section.
20435 (DOS/Windows): New section, borrowed from GRUB Legacy with details
20436 adjusted for GRUB 2.
20437 (SCO UnixWare): Likewise.
20438 (QNX): Likewise.
20439 (chainloader): Add reference to `Block list syntax'.
20440 (drivemap): New section.
20441 (parttool): New section.
20442
bb8ea0f5
CW
204432010-06-02 Colin Watson <cjwatson@ubuntu.com>
20444
20445 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
20446 the grub shell'.
20447 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
20448 (Installing GRUB using grub-install): Remove reference to the grub
20449 shell; mention `grub-mkimage' and `grub-setup' instead.
20450 (Invoking grub-install): Likewise.
20451 (Interface): Add reference to `Menu entry editor'.
20452 (serial): Remove `--device' option.
20453
288dd6ed
CW
204542010-06-02 Colin Watson <cjwatson@ubuntu.com>
20455
20456 * docs/grub.texi (Configuration): New section, documenting
20457 configuration file generation using grub-mkconfig. I've left a slot
20458 for documenting the full shell scripting format but have not yet
20459 started on writing that up.
20460 (Invoking grub-mkconfig): New section.
20461
34c9f0e9
CW
204622010-06-02 Colin Watson <cjwatson@ubuntu.com>
20463
20464 * docs/grub.texi (direntry): Remove grub-terminfo reference.
20465 (GNU GRUB manual): Likewise.
20466 (General commands): Update description of `terminfo' for GRUB 2.
20467
9121567e
CW
204682010-06-02 Colin Watson <cjwatson@ubuntu.com>
20469
20470 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
20471 (GRUB_MOD_INIT): Fix capitalisation.
20472 * docs/grub.texi (Command-line and menu entry commands): Document
20473 gettext and gptsync commands.
20474
ab631611
CW
204752010-06-02 Colin Watson <cjwatson@ubuntu.com>
20476
20477 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
20478 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
20479
bde4a9ac
CW
204802010-06-01 Colin Watson <cjwatson@ubuntu.com>
20481
20482 Add btrfs probing support, currently only in the single-device case.
20483
20484 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
20485 function.
20486 (grub_guess_root_device): Call find_root_device_from_mountinfo
20487 before looking in /dev.
20488
b1d17e10
VS
204892010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20490
20491 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
20492 GRUB_DISK_SIZE_UNKNOWN.
20493 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
20494
dfbfe004
JS
204952010-05-31 Jiro SEKIBA <jir@unicus.jp>
20496
20497 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
20498 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
20499 corrupted or not synced properly.
20500
c2ffc8e9
VS
205012010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20502
20503 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
20504 Reported by: Seth Goldberg.
20505
56293166
VS
205062010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20507
20508 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
20509 addition of dest.
20510 Reported by: Seth Goldberg.
20511
7620e7de
VS
205122010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20513
20514 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
20515 Reported by: Seth Goldberg.
20516
c837af3f
VS
205172010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20518
20519 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
20520 64-bit address as signed on MIPS.
20521
c7c75cf4
CW
205222010-05-28 Colin Watson <cjwatson@ubuntu.com>
20523
20524 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
20525 to the empty string.
20526
fa4b8490
BC
205272010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
20528
20529 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
20530
20531 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
20532 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
20533 * kern/misc.c (__enable_execute_stack): Disable on
20534 GRUB_MACHINE_EMU.
20535
a33075b9
CW
205362010-05-28 Colin Watson <cjwatson@ubuntu.com>
20537
20538 Make grub-probe work with symbolic links under /dev/mapper as well
20539 as with real block devices. The Linux world seems to be (at best)
20540 in transition here, and GRUB shouldn't get caught in the middle.
20541
20542 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
20543 /dev/mapper.
20544
d8708134
CW
205452010-05-27 Colin Watson <cjwatson@ubuntu.com>
20546
20547 * util/grub-script-check.c (main): Ensure defined behaviour on empty
20548 input files (in which case exit zero).
20549
db2102a0
CW
205502010-05-27 Colin Watson <cjwatson@ubuntu.com>
20551
20552 * kern/emu/misc.c (canonicalize_file_name): realpath can still
20553 return NULL for various reasons even if it has a maximum-length
20554 buffer: for example, there might be a symlink loop, or the path
20555 might exceed PATH_MAX. If this happens, return NULL.
20556
5fdba519
RM
205572010-05-27 Robert Millan <rmh@gnu.org>
20558
20559 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
20560 partmap module to handle cross-partmap setups.
20561 Reported by Orestes Mas. Gràcies!
20562
d1d368e4
CW
205632010-05-27 Colin Watson <cjwatson@ubuntu.com>
20564
20565 * util/grub-mkrescue.in: Initialise override_dir rather than
20566 assuming that it's unset or empty in the environment.
20567
95ac3c73
GS
205682010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
20569
20570 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
20571 variable index into p_index to suppress a warning with -Wshadow.
20572
7d8c0213
BC
205732010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
20574
20575 * INSTALL: Added flex >= 2.5.35 requirement.
20576
db4d5813
VS
205772010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20578
20579 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
20580
f24f4300
VS
205812010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20582
20583 cmostest support.
20584
20585 * commands/i386/cmostest.c: New file.
20586 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
20587 (cmostest_mod_SOURCES): New variable.
20588 (cmostest_mod_CFLAGS): Likewise.
20589 (cmostest_mod_LDFLAGS): Likewise.
20590 * conf/i386-pc.rmk: Likewise.
20591 * docs/grub.texi (Vendor power-on keys): New section.
20592 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
20593 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
20594 and GRUB_BUTTON_CMOS_ADDRESS.
20595 * util/grub.d/00_header.in: Handle powering-on by separate button.
20596
ad603f61
VS
205972010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20598
20599 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
20600 Removed drawing_scrollbar argument. All users updated
20601 Fixes #29792.
20602 Reported by Jo Shields
20603
3ecb080a
VS
206042010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20605
20606 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
20607 buffer since gfxterm handles double repaint.
20608
5f2316c1
VS
206092010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20610
20611 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
20612 * term/gfxterm.c (real_scroll): Likewise.
20613
9a25f885
VS
206142010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20615
20616 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
20617 before calling BIOS.
20618
39fbb79a
VS
206192010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20620
20621 * include/grub/i18n.h: Always enable grub_gettext.
20622
228cfa97
VS
206232010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20624
20625 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
20626 partition naming style.
20627
21717c8f
CW
206282010-05-21 Colin Watson <cjwatson@ubuntu.com>
20629
20630 * util/grub-mkconfig.in: Fix handling of -o so that it works when
20631 not the first option.
20632
c0f48e65
CW
206332010-05-20 Colin Watson <cjwatson@ubuntu.com>
20634
20635 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
20636
96779aec
CW
206372010-05-20 Colin Watson <cjwatson@ubuntu.com>
20638
20639 * util/misc.c: Move inclusion of <limits.h> to ...
20640 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
20641
fa9d256e
GS
206422010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
20643
20644 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
20645 Fix merge error in NetBSD code.
20646 (find_partition_start) [__NetBSD__]: Likewise.
20647
123b7a85
BC
206482010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
20649
20650 Fix grub-mkrescue usage unit testing.
20651
20652 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
20653
74276c0d
CF
206542010-05-18 Christian Franke <franke@computer.org>
20655
20656 * util/grub.d/10_windows.in: Use path names instead of
20657 drive letters to prevent warning from Cygwin 1.7.
20658 Add drivemap command to menuentry if needed.
20659
c4f7b523
ST
206602010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
20661
20662 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
20663 gnumach and gnumach.gz.
20664
95b97950
VS
206652010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20666
20667 * include/grub/i18n.h (gettext): Inline instead of using #define.
20668 (grub_gettext): Likewise.
20669 (_): Likewise.
20670
01b8d2d7
VS
206712010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20672
20673 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
20674 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
20675 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
20676 (main): Add a slash after pkglibdirroot.
20677
654e1d1e
VS
206782010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20679
20680 * util/grub-install.in: Add missing "in" keyword.
20681
26966aeb
VS
206822010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20683
20684 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
20685 Reported by: Seth Goldberg.
20686
75006747
VS
206872010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20688
20689 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
20690
74cbf5bd
CW
206912010-05-18 Colin Watson <cjwatson@ubuntu.com>
20692
20693 * configure.ac: Check for Linux device-mapper support.
20694
20695 * util/hostdisk.c (device_is_mapped): New function.
20696 (find_partition_start): New function, partly broken out from
20697 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
20698 device-mapper support added.
20699 (linux_find_partition): Use find_partition_start.
20700 (convert_system_partition_to_system_disk): Add `st' argument.
20701 Support Linux /dev/mapper/* devices if device-mapper support is
20702 available; only DM-RAID devices are understood at present.
20703 (find_system_device): Add `st' argument. Pass it to
20704 convert_system_partition_to_system_disk.
20705 (grub_util_biosdisk_get_grub_dev): Pass stat result to
20706 find_system_device and convert_system_partition_to_system_disk. Use
20707 find_partition_start.
20708
20709 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
20710 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
20711 * util/deviceiter.c [__linux__]: Define MINOR.
20712 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
20713 * util/mkdevicemap.c (grub_putchar): New function.
20714 (grub_getkey): New function.
20715 (grub_refresh): New function.
20716 (main): Set debug=all if -v -v is used.
20717
355b51e9
CW
207182010-05-18 Colin Watson <cjwatson@ubuntu.com>
20719
20720 Fix build with non-GNU libcs.
20721
20722 * util/misc.c (canonicalize_file_name): Move to ...
20723 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
20724 grub_make_system_path_relative_to_its_root.
20725
7fb5c25f
CW
207262010-05-18 Colin Watson <cjwatson@ubuntu.com>
20727
20728 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
20729 we handle finding grub-mkimage. Default to finding grub-mkimage in
20730 ${bindir} with program_transform_name applied, and provide a
20731 --grub-mkimage option to override this.
20732
1d3293d6
VS
207332010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20734
20735 Remove grub-mkisofs.
20736
20737 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
20738 (grub_mkisofs_SOURCES): Removed.
20739 (grub_mkisofs_CFLAGS): Removed.
20740 * util/mkisofs/defaults.h: Removed.
20741 * util/mkisofs/eltorito.c: Likewise.
20742 * util/mkisofs/exclude.h: Likewise.
20743 * util/mkisofs/hash.c: Likewise.
20744 * util/mkisofs/include/: Likewise.
20745 * util/mkisofs/include/fctldefs.h: Likewise.
20746 * util/mkisofs/include/mconfig.h: Likewise.
20747 * util/mkisofs/include/prototyp.h: Likewise.
20748 * util/mkisofs/include/statdefs.h: Likewise.
20749 * util/mkisofs/iso9660.h: Likewise.
20750 * util/mkisofs/joliet.c: Likewise.
20751 * util/mkisofs/match.c: Likewise.
20752 * util/mkisofs/match.h: Likewise.
20753 * util/mkisofs/mkisofs.c: Likewise.
20754 * util/mkisofs/mkisofs.h: Likewise.
20755 * util/mkisofs/msdos_partition.h: Likewise.
20756 * util/mkisofs/multi.c: Likewise.
20757 * util/mkisofs/name.c: Likewise.
20758 * util/mkisofs/rock.c: Likewise.
20759 * util/mkisofs/tree.c: Likewise.
20760 * util/mkisofs/write.c: Likewise.
20761
5dde9afe
VS
207622010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20763
20764 Unify grub-mkimage accross platforms.
20765
20766 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
20767 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
20768 (grub_mkelfimage_SOURCES): Removed.
20769 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
20770 (util/grub-mkimage.c_DEPENDENCIES): .. this.
20771 (bin_UTILITIES): Add grub-mkimage.
20772 (grub_mkimage_SOURCES): New variable.
20773 (kernel_img_HEADERS): Remove machine/kernel.h.
20774 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
20775 (pkglib_PROGRAMS): Add kernel.img.
20776 (kernel_img_HEADERS): Add machine/kernel.h.
20777 (kernel_img_FORMAT): Removed.
20778 (bin_UTILITIES): Remove grub-mkimage.
20779 (grub_mkimage_SOURCES): Removed.
20780 (grub_mkimage_CFLAGS): Likewise.
20781 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20782 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
20783 (pkglib_PROGRAMS): Add kernel.img.
20784 (bin_UTILITIES): Remove grub-mkimage.
20785 (grub_mkimage_SOURCES): Removed.
20786 (grub_mkimage_CFLAGS): Likewise.
20787 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20788 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
20789 (pkglib_PROGRAMS): Add kernel.img.
20790 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
20791 (pkglib_PROGRAMS): Add kernel.img.
20792 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
20793 (grub_mkimage_SOURCES): Removed.
20794 (grub_mkimage_CFLAGS): Likewise.
20795 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20796 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
20797 (pkglib_PROGRAMS): Add kernel.img.
20798 (bin_UTILITIES): Remove grub-mkimage.
20799 (grub_mkimage_SOURCES): Removed.
20800 (grub_mkimage_CFLAGS): Likewise.
20801 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20802 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
20803 (grub_mkimage_SOURCES): Removed.
20804 (grub_mkimage_CFLAGS): Likewise.
20805 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20806 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
20807 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
20808 (grub_pe32_optional_header): ... this.
20809 (grub_pe64_optional_header): ... and this. All users updated.
20810 (GRUB_PE32_PE32_MAGIC): Split into ..
20811 (GRUB_PE32_PE32_MAGIC): .. this.
20812 (GRUB_PE32_PE64_MAGIC): .. and this.
20813 (GRUB_PE32_SIGNATURE_SIZE): New definition.
20814 * include/grub/elf.h (PT_GNU_STACK): New definition.
20815 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
20816 * include/grub/i386/efi/kernel.h: Likewise.
20817 * include/grub/i386/kernel.h: Likewise.
20818 * include/grub/i386/pc/kernel.h: Likewise.
20819 * include/grub/i386/qemu/boot.h: Likewise.
20820 * include/grub/mips/kernel.h: Likewise.
20821 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20822 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20823 * include/grub/powerpc/kernel.h: Likewise.
20824 * include/grub/sparc64/ieee1275/boot.h: Likewise.
20825 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20826 * include/grub/sparc64/kernel.h: Likewise.
20827 * include/grub/x86_64/efi/kernel.h: Likewise.
20828 * include/grub/x86_64/kernel.h: Likewise.
20829 * include/grub/offsets.h: New file.
20830 * include/grub/kernel.h (grub_module_info): Split into ...
20831 (grub_module_info32): ... this.
20832 (grub_module_info64): ... and this.
20833 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
20834 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
20835 (grub_boot_blocklist): Moved from here ...
20836 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
20837 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
20838 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
20839 * include/grub/types.h (grub_target_to_host16): Removed.
20840 (grub_target_to_host32): Likewise.
20841 (grub_target_to_host64): Likewise.
20842 (grub_host_to_target16): Likewise.
20843 (grub_host_to_target32): Likewise.
20844 (grub_host_to_target64): Likewise.
20845 (grub_host_to_target_addr): Likewise.
20846
20847 Support grub-mkrescue for efi, coreboot and qemu.
20848
20849 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
20850 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
20851 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
20852 * util/grub-mkrawimage.c: Moved from here ...
20853 * util/grub-mkimage.c: ... here. All users updated.
20854 (ALIGN_ADDR): Use image_target.
20855 (TARGET_NO_FIELD): New const.
20856 (image_target_desc): New type.
20857 (image_targets): New array.
20858 (grub_target_to_host64): Use image_target.
20859 (grub_target_to_host32): Likewise.
20860 (grub_target_to_host16): Likewise.
20861 (grub_host_to_target64): Likewise.
20862 (grub_host_to_target32): Likewise.
20863 (grub_host_to_target16): Likewise.
20864 (grub_host_to_target_addr): Likewise.
20865 (generate_image): Handle multiimage.
20866 (main): Require -O parameter. All users updated.
20867 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20868 util/efi/grub-mkimage.c
20869 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20870 New option --rom-directory.
20871 Use xorriso.
20872 * util/i386/efi/grub-mkimage.c: Removed.
20873 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
20874 (grub_target_to_host32): Likewise.
20875 (grub_target_to_host64): Likewise.
20876 (grub_host_to_target16): Likewise.
20877 (grub_host_to_target32): Likewise.
20878 (grub_host_to_target64): Likewise.
20879 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20880 (grub_target_to_host32): Likewise.
20881 (grub_target_to_host64): Likewise.
20882 (grub_host_to_target16): Likewise.
20883 (grub_host_to_target32): Likewise.
20884 (grub_host_to_target64): Likewise.
20885
f4fc97d0
BC
208862010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20887
20888 Source tree is reorganized for emu build.
20889
20890 * include/grub/util/console.h: Move from here...
20891 * include/grub/emu/console.h: ...to here.
20892 * include/grub/util/getroot.h: Move from here...
20893 * include/grub/emu/getroot.h: ...to here.
20894 * include/grub/util/hostdisk.h: Move from here...
20895 * include/grub/emu/hostdisk.h: ...to here.
20896 * util/console.c: Move from here...
20897 * kern/emu/console.c: ...to here.
20898 * util/getroot.c: Move from here...
20899 * kern/emu/getroot.c: ...to here.
20900 * util/grub-emu.c: Move from here...
20901 * kern/emu/main.c: ...to here.
20902 * util/hostdisk.c: Move from here...
20903 * kern/emu/hostdisk.c: ...to here.
20904 * util/hostfs.c: Move from here...
20905 * kern/emu/hostfs.c: ...to here.
20906 * util/mm.c: Move from here...
20907 * kern/emu/mm.c: ...to here.
20908 * util/pci.c: Move from here...
20909 * bus/emu/pci.c: ...to here.
20910 * util/sdl.c: Move from here...
20911 * video/emu/sdl.c: ...to here.
20912 * util/time.c: Move from here...
20913 * kern/emu/time.c: ...to here.
20914 * util/usb.c: Move from here...
20915 * bus/usb/emu/usb.c: ...to here.
20916
20917 * include/grub/emu/misc.h: New header for grub-emu functions.
20918 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20919
20920 * conf/any-emu.rmk: Rule updates for above renames.
20921 * conf/common.rmk: Likewise.
20922 * conf/i386-pc.rmk: Likewise.
20923 * conf/i386-qemu.rmk: Likewise.
20924 * conf/mips.rmk: Likewise.
20925 * conf/sparc64-ieee1275.rmk: Likewise.
20926 * conf/x86-efi.rmk: Likewise.
20927
20928 * disk/lvm.h: #include updates for above renames.
20929 * util/grub-mkrelpath.c: Likewise.
20930 * util/grub-probe.c: Likewise.
20931 * util/i386/pc/grub-setup.c: Likewise.
20932 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20933 * kern/emu/console.c: Likewise.
20934 * kern/emu/getroot.c: Likewise.
20935 * kern/emu/hostdisk.c: Likewise.
20936 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20937
20938 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20939 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20940 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20941 * util/misc.c: Remove grub-emu functions.
20942
cced9145
VS
209432010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20944
20945 Fix gfxmenu crash.
20946 Reported by: Thorsten Grützmacher.
20947
20948 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20949 timeout hook.
20950 (circprog_set_property): Register and unregister timeout hook.
20951 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20952 (label_destroy): Free template. and unregister hook.
20953 (label_set_state): New function.
20954 (label_set_property): Handle templates and hooks.
20955 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20956 timeout hook.
20957 (progress_bar_set_property): Register and unregister timeout hook.
20958 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20959 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20960 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20961 (update_timeout_visit): Removed.
20962 (update_timeouts): New function.
20963 (redraw_timeouts): Likewise.
20964 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20965 (grub_gfxmenu_clear_timeout): Likewise.
20966 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20967 (grub_gfxmenu_timeout_notify): Likewise.
20968 (grub_gfxmenu_timeout_notifications): New external variable.
20969 (grub_gfxmenu_timeout_register): New function.
20970 (grub_gfxmenu_timeout_unregister): Likewise.
20971
c6e5caab
VS
209722010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20973
20974 Transform (broken) vga terminal into (working) vga video driver.
20975
20976 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20977 video/i386/pc/vga.c.
20978 * include/grub/video.h (grub_video_driver_id):
20979 Add GRUB_VIDEO_DRIVER_VGA.
20980 * term/i386/pc/vga.c: Renamed to ...
20981 * video/i386/pc/vga.c: ...this
20982 (DEBUG_VGA): Removed.
20983 (CHAR_WIDTH): Likewise.
20984 (CHAR_HEIGHT): Likewise.
20985 (TEXT_WIDTH): Likewise.
20986 (TEXT_HEIGHT): Likewise.
20987 (DEFAULT_FG_COLOR): Likewise.
20988 (DEFAULT_BG_COLOR): Likewise.
20989 (colored_char): Likewise.
20990 (xpos): Likewise.
20991 (ypos): Likewise.
20992 (cursor_state): Likewise.
20993 (fg_color): Likewise.
20994 (bg_color): Likewise.
20995 (text_buf): Likewise.
20996 (page): Likewise.
20997 (font): Likewise.
20998 (framebuffer): New variable.
20999 (set_read_map): Disabled.
21000 (setup): New variable.
21001 (is_target): Likewise.
21002 (grub_vga_mod_init): Likewise.
21003 (grub_vga_mod_fini): Likewise.
21004 (check_vga_mem): Likewise.
21005 (write_char): Likewise.
21006 (write_cursor): Likewise.
21007 (scroll_up): Likewise.
21008 (grub_vga_putchar): Likewise.
21009 (grub_vga_getcharwidth): Likewise.
21010 (grub_vga_getwh): Likewise.
21011 (grub_vga_getxy): Likewise.
21012 (grub_vga_gotoxy): Likewise.
21013 (grub_vga_cls): Likewise.
21014 (grub_vga_setcolorstate): Likewise.
21015 (grub_vga_setcursor): Likewise.
21016 (grub_video_vga_init): New function.
21017 (grub_video_vga_setup): Likewise.
21018 (grub_video_vga_fini): Likewise.
21019 (update_target): Likewise.
21020 (grub_video_vga_blit_bitmap): Likewise.
21021 (grub_video_vga_blit_render_target): Likewise.
21022 (grub_video_vga_set_active_render_target): Likewise.
21023 (grub_video_vga_get_active_render_target): Likewise.
21024 (grub_video_vga_swap_buffers): Likewise.
21025 (grub_video_vga_set_palette): Likewise.
21026 (grub_video_vga_get_info_and_fini): Likewise.
21027 (grub_vga_term): Removed.
21028 (grub_video_vga_adapter): New variable.
21029 (GRUB_MOD_INIT): Register a video driver instead of terminal.
21030 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
21031
2bf61a98
VS
210322010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21033
21034 * video/readers/jpeg.c: Indented.
21035
09ddcd11
VS
210362010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21037
21038 Various jpeg cleanups.
21039
21040 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
21041 (grub_jpeg_decode_quan_table): Use sizeof.
21042 (grub_jpeg_decode_du): Use ARRAY_SIZE.
21043
e5507505
PH
210442010-05-05 Peter Hurley <No e-mail available> (tiny change)
21045
21046 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
21047 tables. Ignore non-last ac bit.
21048 (grub_jpeg_decode_quan_table): Likewise.
21049
7e720a9b
VS
210502010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21051
21052 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
21053 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
21054 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21055 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
21056 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
21057 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
21058
a7fc080b
VS
210592010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21060
21061 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
21062 error.
21063
2bf6012d
VS
210642010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21065
21066 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
21067
265d68cd
VS
210682010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21069
21070 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
21071 condition.
21072
210732010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
21074
21075 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
21076 part.
21077
265d68cd 210782010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
21079
21080 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
21081 pointers.
21082
265d68cd 210832010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
21084
21085 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
21086
d1b61374
CF
210872010-05-01 Christian Franke <franke@computer.org>
21088
21089 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
21090 Remove broken Cygwin path conversion.
21091 * util/misc.c: [__CYGWIN__] Add include and define.
21092 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
21093 for Cygwin 1.7.
21094 (make_system_path_relative_to_its_root): Simplify loop, replace early
21095 return by break.
21096 [__CYGWIN__] Add conversion to win32 path.
21097 Include "/" case in trailing slash removal.
21098
3558c6e9
VS
210992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21100
21101 * kern/main.c (grub_load_config): Fix copy-pasted comment.
21102 Reported by: Seth Goldberg
21103
f5f3ff93
VS
211042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21105
21106 * commands/help.c (grub_cmd_help): Fix a typo.
21107 Reported by: Seth Goldberg
21108
d8b5cd40
VS
211092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21110
21111 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
21112 name and add N_.
21113 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
21114 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
21115 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
21116 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
21117 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
21118 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
21119 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21120 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21121 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21122 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21123 * normal/context.c (GRUB_MOD_INIT): Likewise.
21124 * normal/main.c (GRUB_MOD_INIT): Likewise.
21125 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21126 * term/serial.c (GRUB_MOD_INIT): Likewise.
21127 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21128
88c14915
VS
211292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21130
21131 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
21132 extra == 0.
21133
165134bc
VS
211342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21135
21136 * commands/iorw.c: New file.
21137 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
21138 (iorw_mod_SOURCES): New variable.
21139 (iorw_mod_CFLAGS): Likewise.
21140 (iorw_mod_LDFLAGS): Likewise.
21141
c5ac9b32
VS
211422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21143
21144 Hotkey support
21145
21146 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
21147 * normal/main.c (hotkey_aliases): New variable.
21148 (grub_normal_add_menu_entry): Parse "--hotkey".
21149 * normal/menu_text.c (run_menu): Handle hotkeys.
21150
ce60689c
VS
211512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21152
21153 * kern/i386/coreboot/init.c (grub_machine_init): Call
21154 grub_machine_mmap_init on qemu.
21155
0359d006
VS
211562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21157
21158 * boot/i386/qemu/boot.S: Add a missing .code16.
21159
7819a456
VS
211602010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21161
21162 Use LBIO on coreboot.
21163
21164 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
21165 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
21166 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
21167 New declaration.
21168 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
21169 grub_machine_mmap_init on coreboot.
21170 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
21171 GRUB_LINUXBIOS_MEMBER_LINK.
21172 (grub_machine_mmap_iterate): Fix declaration.
21173 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
21174
7210dca9
VS
211752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21176
21177 Split coreboot and multiboot ports.
21178
21179 * conf/i386-multiboot.rmk: New file.
21180 * configure.ac: Add multiboot port.
21181 * include/grub/i386/multiboot/boot.h: New file.
21182 * include/grub/i386/multiboot/console.h: Likewise.
21183 * include/grub/i386/multiboot/init.h: Likewise.
21184 * include/grub/i386/multiboot/kernel.h: Likewise.
21185 * include/grub/i386/multiboot/loader.h: Likewise.
21186 * include/grub/i386/multiboot/memory.h: Likewise.
21187 * include/grub/i386/multiboot/serial.h: Likewise.
21188 * include/grub/i386/multiboot/time.h: Likewise.
21189 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
21190 * loader/multiboot.c: Likewise.
21191 * loader/multiboot_mbi2.c: Likewise.
21192 * util/grub-mkrescue.in: Generate multiboot rescue.
21193
6f8aaf68
VS
211942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21195
3080f7a7
VS
21196 * kern/parser.c (grub_parser_execute): Cope with read-only config.
21197
211982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21199
21200 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
21201
21202 * commands/terminal.c (abstract_terminal): New struct.
21203 (handle_command): New function. Based on grub_cmd_terminal_input.
21204 (grub_cmd_terminal_input): Use handle_command.
21205 (grub_cmd_terminal_output): Use handle_command.
21206
a8ebb841
BC
212072010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
21208
21209 Fix comment handling.
21210
21211 * tests/grub_script_comments.in: New testcase.
21212 * conf/tests.rmk: Rules for new testcase.
21213 * script/yylex.l: Updated flex rules.
21214
bb06ba08
ST
212152010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
21216
21217 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
21218 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
21219 if argc is 1.
bb06ba08 21220
cc9d2425
VS
212212010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21222
21223 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
21224 autogen issues.
21225
460d8402
CF
212262010-04-26 Christian Franke <franke@computer.org>
21227
21228 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
21229 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
21230 (grub_get_prefix): Remove function.
21231 * util/grub-emu.c (main): Replace grub_get_prefix () call by
21232 make_system_path_relative_to_its_root ().
21233 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
21234
553c01f9
CF
212352010-04-24 Christian Franke <franke@computer.org>
21236
21237 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
21238 (kernel_img_LDFLAGS): Remove -static-libgcc.
21239
2aec1692
CF
212402010-04-24 Christian Franke <franke@computer.org>
21241
21242 * configure.ac: Do not CHECK_BSS_START_SYMBOL
21243 and CHECK_END_SYMBOL if grub-emu is built.
21244 Unset TARGET_OBJ2ELF if grub-emu is built
21245 without module support.
21246
f67dc308
JS
212472010-04-24 Jiro SEKIBA <jir@unicus.jp>
21248
21249 Nilfs2 support.
21250
21251 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
21252 (grub_fstest_SOURCES): Likewise.
21253 (pkglib_MODULES): Add nilfs2.mod.
21254 (nilfs2_mod_SOURCES): New variable.
21255 (nilfs2_mod_CFLAGS): Likewise.
21256 (nilfs2_mod_LDFLAGS): Likewise.
21257 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21258 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21259 * fs/nilfs2.c: New file.
21260
4ba8d354
VS
212612010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
21262
21263 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
21264 is not supported.
21265
0d2c20c6
GS
212662010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
21267
21268 Add grub-mkconfig support for NetBSD.
21269
21270 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
21271 * util/grub-mkconfig.in: export new NetBSD specific variables.
21272 * po/POTFILES-shell: added 10_netbsd.in.
21273 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
21274
bc4a2d83
BC
212752010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
21276
21277 Fix emu build with grub-emu-pci and grub-emu-modules.
21278
21279 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
21280 functions.
21281 * include/grub/libpciaccess.h: New file.
21282 * conf/any-emu.rmk: Update kernel headers for emu build.
21283
f48c87aa
VS
212842010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21285
21286 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
21287
18959385
VS
212882010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21289
21290 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
21291
0037de3f
VS
212922010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21293
21294 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
21295 Retrieve chosen/bootpath if bootpath isn't hardcoded.
21296 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
21297 util/ieee1275/ofpath.c.
21298 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
21299 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
21300 * include/grub/sparc64/ieee1275/boot.h
21301 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
21302 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
21303 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
21304 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
21305 const char *.
21306 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
21307 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
21308 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
21309 install.
21310
38e55e90
GS
213112010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21312
21313 * util/grub-mkconfig.in: Corrected two == equality tests.
21314 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
21315 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
21316 expect a number appended to it.
21317 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
21318 expects a number appended to it.
21319
a9e6ff28
VS
213202010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21321
21322 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
21323
0b830b8f
VS
213242010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21325
21326 * util/hostdisk.c (make_device_name): Change to new partition naming.
21327
0973daeb
VS
213282010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
21329
21330 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
21331
460d8402 213322010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
21333
21334 * Makefile.in: Add missing localedir setting.
21335
0b456309
CW
213362010-04-14 Colin Watson <cjwatson@ubuntu.com>
21337
21338 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
21339 mistake in r2156. Noticed by Anthony Fok.
21340
21341 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
21342 @localedir@.
21343 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21344
08f46d62
BC
213452010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
21346
21347 Fix a spurious, uninitialized variable warning.
21348
21349 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
21350 Initialize variable, shdr.
21351 (grub_freebsd_load_elfmodule): Likewise.
21352 (grub_freebsd_load_elf_meta): Likewise.
21353
8c4a72d4
BC
213542010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
21355
21356 Fix for escaped dollar in double quoted strings.
21357
21358 * script/yylex.l: Updated flex rules.
21359 * conf/tests.rmk: Rule for new testcase.
21360 * tests/grub_script_dollar.in: New testcase.
21361
ce44826e
CPE
213622010-04-13 Carles Pina i Estany <carles@pina.cat>
213632010-04-13 Colin Watson <cjwatson@ubuntu.com>
21364
21365 Enclose all translated strings in grub.cfg in single quotes, and
21366 escape them appropriately (Ubuntu bug #552921).
21367
21368 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
21369 * util/grub.d/10_hurd.in: Use it.
21370 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21371 * util/grub.d/10_linux.in (linux_entry): Likewise.
21372
4b0cd8f8
VS
213732010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21374
21375 Fix cygwin compilation.
21376
21377 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
21378 * include/grub/misc.h (__register_frame_info)
21379 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
21380 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21381 * kern/misc.c (__register_frame_info)
21382 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
21383 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21384
01fcf061
VS
213852010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21386
21387 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
21388
5d04b11e
VS
213892010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21390
21391 Unify libgcc processing.
21392
21393 * Makefile.in (kernel_img_LDFLAGS): New variable.
21394 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
21395 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
21396 overwriting.
21397 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
21398 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
21399 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
21400 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
21401 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
21402 overwriting. Remove -lgcc and -static-libgcc
21403 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
21404 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21405 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21406 (kernel_img_LDFLAGS): Append instead of overwriting.
21407 Remove -lgcc and -static-libgcc
21408 * conf/sparc64-ieee1275.rmk: Likewise.
21409 * include/grub/powerpc/libgcc.h: Move to ...
21410 * include/grub/libgcc.h: .. this.
21411 * include/grub/libgcc.h: Don't export most of the function on x86.
21412 (__bswapsi2): New export.
21413 (__bswapdi2): Likewise.
21414 * include/grub/mips/libgcc.h: Removed.
21415 * include/grub/sparc64/libgcc.h: Likewise.
21416
b7f3ac29
VS
214172010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21418
21419 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
21420 disk_info_msg (conflicts with gettexting into languages with cases).
21421
2c7031b1
GS
214222010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
21423
21424 Add grub-probe support for NetBSD.
21425
21426 * util/getroot.c (find_root_device): Convert block device to
21427 character device on NetBSD.
21428 * util/probe.c (probe): Require character device on NetBSD.
21429 * util/hostdisk.c: NetBSD specific headers.
21430 (configure_device_driver): new function to tune device driver
21431 parameters (currently only for NetBSD floppy driver).
21432 (grub_util_biosdisk_open): NetBSD specific code (get disk size
21433 via disklabel ioctl).
21434 (open_device): call configure_device_driver on NetBSD.
21435 (convert_system_partition_to_system_disk): NetBSD specific code.
21436 (device_is_wholedisk): Likewise.
21437 (grub_util_biosdisk_get_grub_dev): Likewise.
21438 (make_device_name): Fixed a typo in bsd_part_str.
21439 * configure.ac: check for opendisk() and getrawpartition() on
21440 NetBSD and set LIBUTIL.
21441 * Makefile.in: add LIBUTIL to LIBS.
21442
f516290c
BC
214432010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21444
21445 Documentation fix.
21446
21447 * util/grub-script-check.c: Better help message.
21448
d8dcc0df
BC
214492010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21450
21451 Fix FreeBSD build.
21452
21453 * configure.ac: Flex version check.
21454 * conf/common.rmk: Add -Wno-error to sh.mod.
21455 * script/yylex.l: Remove all #pragma.
21456
6734334a
VS
214572010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21458
21459 * include/grub/util/misc.h (canonicalise_file_name): Add missing
21460 prototype.
21461 Reported by: Seth Goldberg.
21462
daea6abd
VS
214632010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21464
21465 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
21466 Rename "module" to "module2".
21467 Reported by: Seth Goldberg.
21468
f2fd9d2b
VS
214692010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21470
21471 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
21472 EXPORT_FUNC.
21473 Reported by: Seth Goldberg.
21474
be124579
VS
214752010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21476
21477 * lib/posix_wrap/locale.h: Add missing file.
21478 Reported by: Seth Goldberg.
21479
ef5da797
VS
214802010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21481
21482 grub-emu module load support.
21483
21484 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
21485 NO_DYNAMIC_MODULES switched to this.
21486 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
21487 (CFLAGS): Likewise.
21488 * conf/any-emu.rmk: Generate symlist.
21489 (kernel_img_HEADERS): Add util/datetime.h.
21490 (kernel_img_HEADERS) [sdl]: Add sdl.h.
21491 (kernel_img_HEADERS) [libusb]: Add libusb.h.
21492 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
21493 kern/$(target_cpu)/cache.S.
21494 * configure.ac (grub-emu-modules): New option.
21495 * genmk.rb: Handle multiple source lists.
21496 * include/grub/sdl.h: New file.
21497 * include/grub/libusb.h: Likewise.
21498 * util/grub-emu.c (main): Hanle (host) root.
21499 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
21500 GRUB_ERR_UNKNOWN_DEVICE.
21501 * util/misc.c: Move mm functions to ...
21502 * util/mm.c: ... here. All users updated.
21503
47822096
VS
215042010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21505
21506 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
21507 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
21508 missing files.
21509 (maintainer-clean): Remove libgcrypt-grub.
21510
5d7e7445
VS
215112010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21512
21513 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
21514
25f4e252
EC
215152010-04-09 EFI Coder <eficoder@hotmail.com>
21516
21517 * normal/menu_text.c (print_message): Clean up the message and show
21518 the Fn information when on EFI
21519 * term/efi/console.c (grub_console_checkkey): Add F4 support.
21520
027de555
VS
215212010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21522
21523 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
21524 All users updated.
21525 * normal/crypto.c (read_crypto_list): Likewise.
21526 * normal/dyncmd.c (read_command_list): Likewise.
21527 * normal/term.c (read_terminal_list): Likewise.
21528 * normal/main.c (read_lists): Use explicit prefix.
21529 (read_lists_hook): Use read_lists.
21530 (grub_normal_execute): Likewise.
21531
47779711
VS
215322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21533
21534 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
21535 Reported by: Thomas Schmitt.
21536 Add -no-emul-boot to grub-mkisofs parameters.
21537
1118c32e
VS
215382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21539
21540 * font/font.c: Indented.
21541
7d652447
BC
215422010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21543
21544 Elif support to GRUB script (by Deepak Vankadaru).
21545
21546 * tests/grub_script_if.in: New testcase.
21547 * conf/tests.rmk: Rule for new testcase.
21548 * script/parser.y: Grammar rules for elif.
21549
34bb22df
BC
215502010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21551
21552 While and until loops support to GRUB script.
21553
21554 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
21555 (grub_script_create_cmdwhile): New function prototype.
21556 (grub_script_execute_cmdwhile): New function prototype.
21557 * script/execute.c (grub_script_execute_cmdwhile): New function.
21558 * script/parser.y (command): New commands.
21559 (whilecmd): New grammar rule.
21560 (untilcmd): New grammar rule.
21561 * script/script.c (grub_script_create_cmdwhile): New function.
21562 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
21563 function.
21564
21565 * tests/grub_script_while1.in: New testcase.
21566 * conf/tests.rmk: Rule for new testcase.
21567
e215d8e0
VS
215682010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21569
21570 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
21571 as *.jpg.
21572
d7c43ba1
MV
215732010-04-09 Mario Vazquez <mariovazq@gmail.com>
21574
21575 GRUB_BACKGROUND support.
21576
21577 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
21578 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
21579
d64795c0
VS
215802010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21581
21582 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 21583 Idea by: Mario Vazquez
d64795c0
VS
21584
21585 * util/grub.d/00_header.in: Load pf2 and image modules.
21586
f267f83a
VS
215872010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21588
21589 grub-mkconfig multiple terminal support.
21590
21591 * util/grub-mkconfig.in: Handle multiple terminals correctly.
21592 * util/grub.d/00_header.in: Likewise.
21593
b7841ceb
VS
215942010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21595
21596 * Makefile.in: Specify files explicitly instead of using $< and $@ since
21597 we use cd $(srcdir).
21598
df60998c
CW
215992010-04-08 Colin Watson <cjwatson@ubuntu.com>
21600
21601 * util/grub.d/10_linux.in: Only use the first word of
21602 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
21603 spaces in GRUB_DISTRIBUTOR.
21604 * util/grub.d/10_kfreebsd.in: Likewise.
21605 * util/grub.d/10_hurd.in: Likewise.
21606
fa09c82e
BC
216072010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
21608
14e18ae3 21609 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
21610
21611 * tests/util/grub-shell.in: Remove -serial stdio option.
21612
daf892b3
BC
216132010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
21614
21615 POSIX header file wrappers.
21616
21617 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
21618 equivalents.
21619 * lib/posix_wrap/ctype.h: Likewise.
21620 * lib/posix_wrap/errno.h: Likewise.
21621 * lib/posix_wrap/langinfo.h: Likewise.
21622 * lib/posix_wrap/limits.h: Likewise.
21623 * lib/posix_wrap/localcharset.h: Likewise.
21624 * lib/posix_wrap/stdint.h: Likewise.
21625 * lib/posix_wrap/stdio.h: Likewise.
21626 * lib/posix_wrap/stdlib.h: Likewise.
21627 * lib/posix_wrap/string.h: Likewise.
21628 * lib/posix_wrap/sys/types.h: Likewise.
21629 * lib/posix_wrap/unistd.h: Likewise.
21630 * lib/posix_wrap/wchar.h: Likewise.
21631 * lib/posix_wrap/wctype.h: Likewise.
21632 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
21633 (grub_script.yy.h): Likewise.
21634 * script/yylex.l: Remove POSIX emulation #defines.
21635 * Makefile.in (POSIX_CFLAGS): New variable.
21636 (GNULIB_UTIL_CFLAGS): Likewise.
21637
21638 Regexp support.
21639
21640 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
21641 (regexp_mod_SOURCES): New variable.
21642 (regexp_mod_CFLAGS): Likewise.
21643 (regexp_mod_LDFLAGS): Likewise.
21644 * commands/regexp.c: New file.
21645 * gnulib/regcomp.c: New file. Imported from gnulib.
21646 * gnulib/regex.c: Likewise.
21647 * gnulib/regex_internal.c: Likewise.
21648 * gnulib/regex_internal.h: Likewise.
21649 * gnulib/regexec.c: Likewise.
21650 * gnulib/regex.h: Likewise.
21651
974ac4f7
VS
216522010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21653
21654 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
21655 unsupported video mode types.
21656
2622c3ff
VS
216572010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21658
21659 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
21660
064cb524
VS
216612010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21662
21663 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
21664 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
21665
a8c3b552
VS
216662010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
21667
21668 Remove unused grub_vga_get_font.
21669
21670 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
21671 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
21672
187bbe3d
GS
216732010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21674
21675 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
21676 * include/grub/misc.h: Likewise.
21677
b9396631
GS
216782010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21679
21680 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
21681 for which failure is fatal.
21682
50479feb
GS
216832010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21684
21685 * util/grub-install.in: Use mkdir -p to create grub directory.
21686 * util/i386/efi/grub-install.in: Likewise.
21687 * util/ieee1275/grub-install.in: Likewise.
21688
b1654fdf
GS
216892010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21690
21691 * Makefile.in (LEX): new variable.
21692
bd5a6415
GS
216932010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21694
21695 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
21696 `=' and added double quotes on operands of this equality test.
21697
3db3a82b
VS
216982010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21699
21700 * Makefile.in (uninstall): Remove a leftover debug echo.
21701 Reported by: Grégoire Sutre
21702
38023412
VS
217032010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21704
21705 MIPS multiboot2 support.
21706
21707 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
21708 (multiboot2_mod_SOURCES): New variable.
21709 (multiboot2_mod_CFLAGS): Likewise.
21710 (multiboot2_mod_LDFLAGS): Likewise.
21711 (multiboot2_mod_ASFLAGS): Likewise.
21712 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
21713 definition.
21714 (MULTIBOOT_ENTRY_REGISTER): Likewise.
21715 (MULTIBOOT_MBI_REGISTER): Likewise.
21716 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
21717 (MULTIBOOT_ELF32_MACHINE): Likewise.
21718 (MULTIBOOT_ELF64_MACHINE): Likewise.
21719 * include/grub/mips/multiboot.h: New file.
21720 * include/grub/video.h (grub_video_driver_id): New type
21721 GRUB_VIDEO_DRIVER_SM712.
21722 (grub_video_get_info_and_fini): Export.
21723 (grub_video_get_palette): Likewise.
21724 (grub_video_get_driver_id): Likewise.
21725 * include/multiboot2.h: Resynced with spec.
21726 * loader/i386/multiboot.c: Moved from here ...
21727 * loader/multiboot.c: ... here. All users updated.
21728 (grub_multiboot_boot): Use platform-specific macros.
21729 * loader/i386/multiboot_elfxx.c: Moved from here ...
21730 * loader/multiboot_elfxx.c: ... here. All users updated.
21731 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
21732 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
21733 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
21734
47674667
VS
217352010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
21736
21737 Import gnulib argp module.
21738
21739 * gnulib/argp-ba.c: New file.
21740 * gnulib/argp-eexst.c: Likewise.
21741 * gnulib/argp-fmtstream.c: Likewise.
21742 * gnulib/argp-fmtstream.h: Likewise.
21743 * gnulib/argp-fs-xinl.c: Likewise.
21744 * gnulib/argp-help.c: Likewise.
21745 * gnulib/argp-namefrob.h: Likewise.
21746 * gnulib/argp-parse.c: Likewise.
21747 * gnulib/argp-pin.c: Likewise.
21748 * gnulib/argp-pv.c: Likewise.
21749 * gnulib/argp-pvh.c: Likewise.
21750 * gnulib/argp-version-etc.c: Likewise.
21751 * gnulib/argp-version-etc.h: Likewise.
21752 * gnulib/argp-xinl.c: Likewise.
21753 * gnulib/argp.h: Likewise.
21754
495442ed
VS
217552010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21756
21757 * kern/device.c (grub_device_iterate): Clear errors after failed
21758 opening device.
21759
f9fd65df
VS
217602010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21761
21762 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
21763 returned by firmware.
21764
af09641e
VS
217652010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
21766
21767 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
21768 compilation on coreboot and qemu
21769
016883a5
VS
217702010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21771
21772 * include/multiboot2.h: Resync with spec.
21773
f97e1f7d
VS
217742010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21775
21776 Multiboot2 tag support
21777
21778 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
21779 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
21780 Remove loader/multiboot_loader.c.
21781 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
21782 (grub_multiboot2_real_boot): Likewise.
21783 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
21784 (grub_get_multiboot_mmap_count): New proto.
21785 (grub_fill_multiboot_mmap): Likewise.
21786 (grub_multiboot_set_video_mode): Likewise.
21787 (grub_multiboot_set_console): Likewise.
21788 (grub_multiboot_load): Likewise.
21789 (grub_multiboot_load_elf): Likewise.
21790 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
21791 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
21792 * include/multiboot.h: Resynced with specification.
21793 * include/multiboot2.h: Resynced with specification.
21794 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
21795 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
21796 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
21797 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
21798 users updated.
21799 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
21800 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
21801 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
21802 Removed.
21803 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
21804 Moved from here...
21805 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
21806 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21807 Moved from here...
21808 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
21809 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
21810 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
21811 All users updated.
21812 * loader/i386/multiboot_mbi2.c: New file.
21813
3506b90b
VS
218142010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21815
21816 Resync with gnulib.
21817
21818 * Makefile.in (GNULIB_CFLAGS): New variable.
21819 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
21820 (grub_script_check_CFLAGS): New variable.
21821 * gnulib/alloca.h: Resync with gnulib.
21822 * gnulib/error.c: Likewise.
21823 * gnulib/error.h: Likewise.
21824 * gnulib/fnmatch.c: Likewise.
21825 * gnulib/fnmatch_loop.c: Likewise.
21826 * gnulib/getdelim.c: Likewise.
21827 * gnulib/getline.c: Likewise.
21828 * gnulib/getopt.c: Likewise.
21829 * gnulib/getopt1.c: Likewise.
21830 * gnulib/getopt_int.h: Likewise.
21831 * gnulib/gettext.h: Likewise.
21832 * gnulib/progname.c: Likewise.
21833 * gnulib/progname.h: Likewise.
21834
394a3120
GS
218352010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
21836
21837 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
21838 which is the case with --disabled-nls.
21839
21840 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
21841 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
21842 * util/misc.c: Likewise.
21843 * util/mkisofs/mkisofs.c: Likewise.
21844 * util/mkisofs/mkisofs.h: Likewise.
21845
969d1c78
VS
218462010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21847
21848 Simplify Apple CC support.
21849
21850 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
21851 Add 0 byte at the end not to have a symbol with empty target.
21852 * mmap/i386/pc/mmap_helper.S: Likewise.
21853 * genmk.rb: Ignore errors 2030 and 2050.
21854 * kern/i386/pc/startup.S: Use LOCAL when possible.
21855
8d2977bb
BC
218562010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
21857
21858 Testcase and the fix for final semicolon on cmdline.
21859
21860 * tests/grub_script_final_semicolon.in: New testcase.
21861 * conf/tests.rmk: Rules for the new testcase.
21862 * script/parser.y: Grammar fix.
21863
a7bd6915
BC
218642010-03-26 BVK Chaitanya <bvk@localhost>
21865
21866 Blank lines testcase for GRUB script.
21867
21868 * tests/grub_script_blanklines.in: New testcase.
21869 * conf/tests.rmk: Rules for the new testcase.
21870
e4ff6628
VS
218712010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21872
21873 Don't use __FILE__.
21874
21875 * genmk.rb: Add -DGRUB_FILE to all C targets.
21876 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21877 * include/grub/list.h: Likewise.
21878 * include/grub/misc.h: Likewise.
21879 * include/grub/mm.h: Likewise.
21880 * include/grub/test.h: Likewise.
21881 * kern/mm.c: Likewise.
21882 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21883
6a5cf6b6
VS
218842010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21885
21886 Sunpc partitions support.
21887
21888 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21889 (grub_fstest_SOURCES): Likewise.
21890 (pkglib_MODULES): Add part_sunpc.mod.
21891 (part_sunpc_mod_SOURCES): New variable.
21892 (part_sunpc_mod_CFLAGS): Likewise.
21893 (part_sunpc_mod_LDFLAGS): Likewise.
21894 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21895 * partmap/sunpc.c: New file.
21896
746d9045
BC
218972010-03-26 BVK Chaitanya <bvk@localhost>
21898
21899 For loop support to GRUB script.
21900
21901 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21902 (grub_script_create_cmdfor): New function prototype.
21903 (grub_script_execute_cmdfor): New function prototype.
21904 * script/execute.c (grub_script_execute_cmdfor): New function.
21905 * script/parser.y (command): New for command.
21906 (forcmd): New grammar rule.
21907 * script/script.c (grub_script_create_cmdfor): New function.
21908 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21909 function.
21910 * tests/grub_script_for1.in: New testcase.
21911 * conf/tests.rmk: Rules for new testcase.
21912
18486b18
VS
219132010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21914
21915 Nested partitions
21916
21917 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21918 'partition' is NULL, grub_partition_get_start already does that.
21919 * commands/loadenv.c (check_blocklists): Likewise.
21920 (write_blocklists): Likewise.
21921 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21922 (grub_fstest_SOURCES): Likewise.
21923 (pkglib_MODULES): Add part_bsd.mod.
21924 (part_bsd_mod_SOURCES): New variable.
21925 (part_bsd_mod_CFLAGS): Likewise.
21926 (part_bsd_mod_LDFLAGS): Likewise.
21927 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21928 (grub_emu_SOURCES): Likewise.
21929 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21930 * include/grub/bsdlabel.h: New file.
21931 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21932 'get_name'.
21933 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21934 (grub_partition_map_list): New variable.
21935 (grub_partition_map_register): Inline.
21936 (grub_partition_map_unregister): Likewise.
21937 (FOR_PARTITION_MAPS): New macro.
21938 (grub_partition_map_iterate): Removed.
21939 (grub_partition_get_start): Handle nested partitions.
21940 * include/grub/msdos_partition.h: Remove bsd-related entries.
21941 (grub_pc_partition): Remove.
21942 * kern/disk.c (grub_disk_close): Free partition data.
21943 (grub_disk_adjust_range): Handle nested partitions.
21944 * kern/partition.c (grub_partition_map_probe): New function.
21945 (grub_partition_probe): Parse name to number, handle subpartitions.
21946 (get_partmap): New function.
21947 (grub_partition_iterate): Handle subpartitions.
21948 (grub_partition_get_name): Likewise.
21949 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21950 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21951 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21952 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21953 Set 'number'.
21954 (acorn_partition_map_probe): Remove.
21955 (acorn_partition_map_get_name): Likewise.
21956 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21957 Set 'number'.
21958 Set 'index' to 0 since there can be only one partition entry per sector.
21959 (amiga_partition_map_probe): Remove.
21960 (amiga_partition_map_get_name): Likewise.
21961 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21962 Set 'number'.
21963 Set 'offset' and 'index' to real positions of partitions.
21964 (apple_partition_map_probe): Remove.
21965 (apple_partition_map_get_name): Likewise.
21966 * partmap/bsdlabel.c: New file.
21967 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21968 Set 'number'.
21969 Allocate 'data' so it can be correctly freed.
21970 Set 'index' to offset inside sector.
21971 (gpt_partition_map_probe): Remove.
21972 (gpt_partition_map_get_name): Likewise.
21973 * partmap/msdos.c (grub_partition_parse): Remove.
21974 (pc_partition_map_iterate): Don't force raw access.
21975 Set 'number'.
21976 Make 'ext_offset' a local variable.
21977 (pc_partition_map_probe): Remove.
21978 (pc_partition_map_get_name): Remove.
21979 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21980 Set 'number'.
21981 (sun_partition_map_probe): Remove.
21982 (sun_partition_map_get_name): Likewise.
21983 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21984 (grub_pcpart_type): Likewise.
21985 * util/hostdisk.c (open_device): Handle new numbering scheme.
21986 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21987 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21988 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21989 * util/grub-install.in: Insert all subpartition modules.
21990 * util/ieee1275/grub-install.in: Likewise.
21991
a3940f88
AG
219922010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21993
21994 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21995 grammar.
21996
21b99926 219972010-03-24 Colin Watson <cjwatson@ubuntu.com>
21998
21999 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
22000
bed1d352
CW
220012010-03-21 Colin Watson <cjwatson@ubuntu.com>
22002
22003 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
22004 match where 'make install' puts them.
22005 * util/i386/efi/grub-install.in: Likewise.
22006
c9f58427
CW
220072010-03-19 Colin Watson <cjwatson@ubuntu.com>
22008
22009 * .bzrignore: Add gentrigtables, grub-script-check,
22010 grub_script_check_init.c, grub_script_check_init.h, and
22011 trigtables.c.
22012
f84afb27
VS
220132010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
22014
22015 * kern/parser.c: Indented.
22016
ed0e3d30
VS
220172010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
22018
22019 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
22020
0ea81d98
VS
220212010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
22022
22023 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
22024 alpha_mask_size == 0 case.
22025
0cdc2a09
BC
220262010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
22027
22028 GRUB shell lexer and parser improvements.
22029
22030 * conf/any-emu.rmk: Build rule updates.
22031 * conf/common.rmk: Likewise.
22032 * conf/i386-coreboot.rmk: Likewise.
22033 * conf/i386-efi.rmk: Likewise.
22034 * conf/i386-ieee1275.rmk: Likewise.
22035 * conf/i386-pc.rmk: Likewise.
22036 * conf/powerpc-ieee1275.rmk: Likewise.
22037 * conf/x86_64-efi.rmk: Likewise.
22038
22039 * configure.ac: Configure check for flex.
22040
22041 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
22042 types.
22043 (grub_lexer_param): Struct member updates.
22044 (grub_parser_param): Likewise.
22045 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
22046 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
22047 (grub_script_lexer_init): Prototype update.
22048 (grub_script_lexer_record_start): Likewise.
22049 (grub_script_lexer_record_stop): Likewise.
22050 (grub_script_lexer_yywrap): New function prototype.
22051 (grub_script_lexer_fini): Likewise.
22052 (grub_script_execute_argument_to_string): Removed by...
22053 (grub_script_execute_argument_to_argv): ...better version.
22054
22055 * script/execute.c (ROUND_UPTO): New macro.
22056 (grub_script_execute_cmdline): Out of memory fixes.
22057 (grub_script_execute_menuentry): Likewise.
22058 (grub_script_execute_argument_to_string): Removed. Update all
22059 users by...
22060 (grub_script_execute_argument_to_argv): ...better version.
22061 * script/function.c (grub_script_function_create): Use
22062 grub_script_execute_argument_to_argv instead of
22063 grub_script_execute_argument_to_string.
22064
22065 * script/lexer.c (check_varstate): Removed.
22066 (check_textstate): Removed.
22067 (grub_script_lexer_record_start): Likewise.
22068 (grub_script_lexer_record_stop): Likewise.
22069 (recordchar): Replaced with...
22070 (grub_script_lexer_record): ...new function.
22071 (nextchar): Removed.
22072 (grub_script_lexer_init): Rewritten.
22073 (grub_script_yylex): Rewritten.
22074 (append_newline): New function.
22075 (grub_script_lexer_yywrap): New function.
22076 (grub_script_lexer_fini): New function.
22077 (grub_script_yyerror): Sets error flag.
22078
22079 * script/yylex.l: New file.
22080 (grub_lexer_yyfree): Wrapper for flex yyffre.
22081 (grub_lexer_yyalloc): Likewise.
22082 (grub_lexer_yyrealloc): Likewise.
22083 * script/parser.y: Refactored.
22084
22085 * script/script.c (grub_script_arg_add): Out of memory fixes.
22086 (grub_script_add_arglist): Likewise.
22087 (grub_script_create_cmdline): Likewise.
22088 (grub_script_create_cmdmenu): Likewise.
22089 (grub_script_add_cmd): Likewise.
22090 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
22091 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
22092 unnecessary code.
22093
22094 * tests/grub_script_echo1.in: New testcase.
22095 * tests/grub_script_vars1.in: New testcase.
22096 * tests/grub_script_echo_keywords.in: New testcase.
22097
1d63a066
VS
220982010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22099
22100 Remove some redundancy in build system.
22101
22102 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
22103 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
22104 (TARGET_LDFLAGS): Add -nostdlib.
22105 (TARGET_IMG_LDFLAGS): Likewise.
22106 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
22107 anything since mmap isn't available.
22108 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
22109 Add util/time.c.
22110 (pkglib_MODULES): Remove reboot.mod.
22111 (reboot_mod_SOURCES): Removed.
22112 (reboot_mod_CFLAGS): Likewise.
22113 (reboot_mod_LDFLAGS): Likewise.
22114 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
22115 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
22116 (DEFSYMFILES): Add kernel_syms.lst.
22117 (kernel_img_HEADERS): Add common headers.
22118 (symlist.c): New target.
22119 (kernel_syms.lst): Likewise.
22120 (pkglib_MODULES): Add memdisk.mod.
22121 (memdisk_mod_SOURCES): New variable.
22122 (memdisk_mod_CFLAGS): Likewise.
22123 (memdisk_mod_LDFLAGS): Likewise.
22124 (pkglib_MODULES): Add reboot.mod.
22125 (reboot_mod_SOURCES): New variable.
22126 (reboot_mod_CFLAGS): Likewise.
22127 (reboot_mod_LDFLAGS): Likewise.
22128 (pkglib_MODULES): Add date.mod.
22129 (date_mod_SOURCES): New variable.
22130 (date_mod_CFLAGS): Likewise.
22131 (date_mod_LDFLAGS): Likewise.
22132 (pkglib_MODULES): Add datehook.mod.
22133 (datehook_mod_SOURCES): New variable.
22134 (datehook_mod_CFLAGS): Likewise.
22135 (datehook_mod_LDFLAGS): Likewise.
22136 (pkglib_MODULES): Add lsmmap.mod.
22137 (lsmmap_mod_SOURCES): New variable.
22138 (lsmmap_mod_CFLAGS): Likewise.
22139 (lsmmap_mod_LDFLAGS): Likewise.
22140 (pkglib_MODULES): Add boot.mod.
22141 (boot_mod_SOURCES): New variable.
22142 (boot_mod_CFLAGS): Likewise.
22143 (boot_mod_LDFLAGS): Likewise.
22144 * conf/i386-coreboot.rmk: Removed redundant parts.
22145 * conf/i386-ieee1275.rmk: Likewise.
22146 * conf/i386-pc.rmk: Likewise.
22147 * conf/mips-yeeloong.rmk: Likewise.
22148 * conf/mips.rmk: Likewise.
22149 * conf/powerpc-ieee1275.rmk: Likewise.
22150 * conf/sparc64-ieee1275.rmk: Likewise.
22151 * conf/x86_64-efi.rmk: Likewise.
22152 * conf/i386-coreboot.rmk: Moved qemu parts ..
22153 * conf/i386-qemu.rmk: ... here
22154 * conf/i386-efi.rmk: Moved common parts to...
22155 * conf/x86-efi.rmk: ... here.
22156 * conf/i386.rmk: Added modules common to all x86 variants.
22157 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
22158 * disk/memdisk.c: Remove grub/machine/kernel.h.
22159 * gensymlist.sh.in: Include symbol.h.
22160 * hook/datehook.c: Correct module name.
22161 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
22162 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
22163 * include/grub/i386/efi/serial.h: New file.
22164 * include/grub/x86_64/efi/serial.h: Likewise.
22165 * util/time.c: Likewise.
22166 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
22167
463ac55f
CK
221682010-03-14 Colin King <colin.king@ubuntu.com>
221692010-03-14 Colin Watson <cjwatson@ubuntu.com>
22170
22171 Shrink the pre-partition-table part of boot.img by eight bytes.
22172
22173 * boot/i386/pc/boot.S (ERR): New macro.
22174 (chs_mode): Use ERR.
22175 (geometry_error): Likewise.
22176 (hd_probe_error): Remove. This is only used once, so we wrwite
22177 it inline instead.
22178 (read_error): Instead of printing read_error_string, just set up
22179 %si and fall through to ...
22180 (error_message): ... this new function, also used by ERR.
22181
08e46ede
CW
221822010-03-14 Colin Watson <cjwatson@ubuntu.com>
22183
22184 Speed up consecutive hostdisk operations on the same device.
22185
22186 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
22187 (grub_util_biosdisk_open): Initialise disk->data.
22188 (struct linux_partition_cache): New structure.
22189 (linux_find_partition): Cache partition start positions; these are
22190 expensive to compute on every read and write.
22191 (open_device): Cache open file descriptor in disk->data, so that we
22192 don't have to reopen it and flush the buffer cache for consecutive
22193 operations on the same device.
22194 (grub_util_biosdisk_close): New function.
22195 (grub_util_biosdisk_dev): Set `close' member.
22196
22197 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
22198 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
22199 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22200 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22201 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
22202
4a6d2d06
VS
222032010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22204
22205 Compile parts of grub-emu as modules.
22206
22207 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
22208 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
22209 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
22210 (all-local): Add $(GRUB_EMU).
22211 (install-local): Install $(GRUB_EMU).
22212 (uninstall): Uninstall $(GRUB_EMU).
22213 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
22214 * kern/dl.c: Likewise.
22215 * commands/sleep.c: Not include machine/time.h.
22216 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
22217 (COMMON_CFLAGS): Likewise.
22218 (sbin_UTILITIES): Remove grub-emu.
22219 (grub_emu_SOURCES): Removed.
22220 (kernel_img_RELOCATABLE): New variable.
22221 (pkglib_PROGRAMS): Add kernel.img.
22222 (kernel_img_SOURCES): New variable
22223 (kernel_img_CFLAGS): Likewise.
22224 (kernel_img_LDFLAGS): Likewise.
22225 (TARGET_NO_STRIP): Likewise.
22226 (TARGET_NO_DYNAMIC_MODULES): Likewise.
22227 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
22228 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
22229 (grub-emu): New target.
22230 (GRUB_EMU): New variable.
22231 * configure.ac: Whitelist -emu as possible x86_64 architecture.
22232 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
22233 * loader/xnu.c: Likewise.
22234 * include/grub/pci.h: Likewise.
22235 * genemuinit.sh: New file.
22236 * genemuinitheader.sh: Likewise.
22237 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
22238 Support TARGET_NO_DYNAMIC_MODULES.
22239 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
22240 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
22241 * disk/loopback.c: Likewise.
22242 * font/font_cmd.c: Likewise.
22243 * partmap/acorn.c: Likewise.
22244 * partmap/amiga.c: Likewise.
22245 * partmap/apple.c: Likewise.
22246 * partmap/gpt.c: Likewise.
22247 * partmap/msdos.c: Likewise.
22248 * partmap/sun.c: Likewise.
22249 * parttool/msdospart.c: Likewise.
22250 * term/gfxterm.c: Likewise.
22251 * video/bitmap.c: Likewise.
22252 * video/readers/jpeg.c: Likewise.
22253 * video/readers/png.c: Likewise.
22254 * video/readers/tga.c: Likewise.
22255 * video/video.c: Likewise.
22256 * util/grub-emu.c (read_command_list): Removed.
22257 (main): Don't call util_init_nls.
22258 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
22259 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
22260
91fdd2ed
VS
222612010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22262
22263 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
22264 date.mod, datehook.mod.
22265 (datetime_mod_SOURCES): New variable.
22266 (datetime_mod_CFLAGS): Likewise.
22267 (datetime_mod_LDFLAGS): Likewise.
22268 (date_mod_SOURCES): Likewise.
22269 (date_mod_CFLAGS): Likewise.
22270 (date_mod_LDFLAGS): Likewise.
22271 (datehook_mod_SOURCES): Likewise.
22272 (datehook_mod_CFLAGS): Likewise.
22273 (datehook_mod_LDFLAGS): Likewise.
22274 * conf/sparc64-ieee1275.rmk: Likewise.
22275 * lib/ieee1275/datetime.c: New file.
22276
873ccae6
VS
222772010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22278
22279 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
22280 (ieee1275_fb_mod_SOURCES): New variable.
22281 (ieee1275_fb_mod_CFLAGS): Likewise.
22282 (ieee1275_fb_mod_LDFLAGS): Likewise.
22283 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
22284 New proto.
22285 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
22286 (HEAP_MAX_ADDR): Likewise.
22287 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
22288 type.
22289 Correct stop condition.
22290 (grub_ieee1275_devices_iterate): New function.
22291 * video/ieee1275.c: New file.
22292
601c97c0
VS
222932010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
22296
22297 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
22298 as scratch.
22299 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
22300 SCRATCH_PAD_DISKBOOT as scratch.
22301 (bootit): Pass Openfirmware pointer in %o4.
22302 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
22303 of 0x200000.
22304 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
22305 with util/grub-mkrawimage.c.
22306 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
22307 * include/grub/aout.h (AOUT_MID_SUN): New definition.
22308 (grub_aout_get_type) [GRUB_UTIL]: Removed.
22309 (grub_aout_load) [GRUB_UTIL]: Likewise.
22310 * include/grub/kernel.h (grub_modules_get_end): New proto.
22311 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
22312 (SCRATCH_PAD_BOOT): New definition.
22313 (SCRATCH_PAD_DISKBOOT): Likewise.
22314 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
22315 * include/grub/sparc64/ieee1275/ieee1275.h
22316 (grub_ieee1275_original_stack): New variable
22317 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22318 New definition
22319 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
22320 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
22321 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
22322 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
22323 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
22324 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
22325 (grub_platform_image_format_t): New type.
22326 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
22327 * kern/main.c (grub_modules_get_end)
22328 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
22329 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
22330 (codestart): Switch stacks.
22331 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
22332 variable.
22333 (grub_heap_init): Use grub_modules_get_end.
22334 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
22335 stack.
22336 * util/grub-mkrawimage.c (generate_image): Support sparc64.
22337 (main): Likewise.
22338 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
22339
d68b491e
TG
223402010-03-14 Thorsten Glaser <tg@mirbsd.org>
22341
22342 * util/grub-mkrescue.in: Base ISO UUID on UTC.
22343
4e02ed50
MK
223442010-03-08 Matt Kraai <kraai@ftbfs.org>
22345
22346 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
22347 bug #559005).
22348
1f15fc1e
VS
223492010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
22350
22351 * genmoddep.awk: Output all missing symbols and not only first.
22352
fce5d8ff
VS
223532010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22354
22355 * NEWS: Put the date of 1.98 release.
22356
d1e8a02f
VS
223572010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22358
22359 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
22360 ft2build.h.
22361
696fd607
VS
223622010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22363
22364 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
22365 completition in the middle of string.
22366
33e2e6f3
VS
223672010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22368
22369 * util/grub-mkrescue.in: Use mktemp with explicit template.
22370
b1f6d291
VS
223712010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22372
22373 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
22374
2ac227c7
VS
223752010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22376
22377 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
22378 right pointer.
22379
8f9a632b
VS
223802010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22381
22382 Fix FreeBSD compilation.
22383
22384 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
22385 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
22386
60b03859
VS
223872010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22388
22389 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
22390
48a5a769
VS
223912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22392
22393 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
22394
3ab4bd77
VS
223952010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22396
22397 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
22398
d116e0d8
RM
223992010-03-04 Robert Millan <rmh.grub@aybabtu.com>
22400
22401 Support relative image path in theme file.
22402
22403 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
22404 (image_set_property): Handle theme_dir and relative path.
22405
c7ef54aa
VS
224062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22407
22408 * configure.ac: Alias amd64 to x86_64.
22409
fcee14ed
VS
224102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22411
22412 * NEWS: mention multiboot on EFI.
22413
d0780363
VS
224142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22415
22416 * kern/main.c (grub_load_modules): Handle errors from init functions of
22417 embeded modules.
22418
41168ea4
VS
224192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22420
22421 * normal/autofs.c (autoload_fs_module): Handle errors.
22422
b54d93ac
VS
224232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22424
22425 Disable linux.mod on qemu-mips since it's not functional and leads
22426 to compilation failure.
22427
22428 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
22429 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
22430 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
22431 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
22432 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
22433 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
22434 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
22435 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
22436 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
22437 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
22438 Reported by: BVK Chaitanya
22439
fc8345da
JU
224402010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
22441
22442 * INSTALL: Add gettext as a dependency and add qemu to a new section
22443 "Prerequisites for make-check".
22444
4760f979
CF
224452010-03-04 Christian Franke <franke@computer.org>
22446
22447 * util/grub-pe2elf.c: Add missing include "progname.h".
22448
f209b5b2
VS
224492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22450
22451 * normal/crypto.c (read_crypto_list): Fix a typo.
22452 Reported by: Seth Goldberg.
22453
b4b7be98
VS
224542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22455
22456 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 22457 Reported by: Seth Goldberg.
b4b7be98 22458
c0ee0385
VS
224592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22460
22461 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
22462 ascii.bitmaps.
22463
a8efbf64
VS
224642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22465
22466 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 22467 Reported by: Seth Goldberg.
a8efbf64 22468
08dcd913
VS
224692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22470
22471 * util/i386/efi/grub-install.in: Copy gettext files.
22472
c4d0b332
VS
224732010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22474
22475 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
22476
c6f2fe52
VS
224772010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22478
22479 Wait for user entry basing on presence of output rather than on errors.
22480
22481 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
22482 (grub_install_newline_hook): Likewise.
22483 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
22484 * normal/menu.c (show_menu): Check line_counter to determine presence
22485 of output.
22486 * normal/term.c (grub_normal_line_counter): New variable.
22487 (grub_normal_get_line_counter): New function.
22488 (grub_install_newline_hook): Likewise.
22489
5382b1e4
VS
224902010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22491
22492 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
22493
5519963b
VS
224942010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22495
22496 * configure.ac: Update version to 1.98.
22497
72b28631
VS
224982010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22499
22500 * util/grub.d/10_linux.in (linux_entry): Don't default to
22501 gfxpayload=keep if Linux doesn't support video handover.
22502
c140a180
VS
225032010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
22504
22505 Don't compile video modules on yeeloong since video subsystem is part
22506 of kernel.
22507
22508 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
22509 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
22510 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
22511 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
22512 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
22513 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
22514 * include/grub/bitmap_scale.h: Likewise.
22515 * include/grub/bufio.h: Likewise.
22516 * include/grub/font.h: Likewise.
22517 * include/grub/gfxterm.h: Likewise.
22518 * include/grub/video.h: Likewise.
22519 * include/grub/vbe.h: Don't include video_fb.h.
22520 * video/i386/pc/vbe.c: Include video_fb.h.
22521 * commands/i386/pc/vbetest.c: Include video.h.
22522
a0ca21c2
CW
225232010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
22524
22525 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
22526 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
22527 default entry if GRUB_SAVEDEFAULT=true. This allows using
22528 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
22529 saving a new default on every boot.
22530
4a8a763c
VS
225312010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22532
22533 * normal/crypto.c (read_crypto_list): Fix a memory leak.
22534 * normal/term.c (read_terminal_list): Likewise.
22535 * normal/main.c (grub_normal_init_page): Likewise.
22536 (grub_normal_read_line_real): Likewise.
22537
607ffde2
VS
225382010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22539
22540 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
22541 memory leak.
22542 Reported by: Seth Goldberg.
22543
2b8fa975
CW
225442010-02-24 Joey Korkames <joey+lists@kidfixit.com>
22545
22546 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
22547 duplicate declaration of `start'.
22548
618307dd
VS
225492010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22550
22551 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
22552 filename.
22553 Reported by: Georgy Buranov
22554
7dd05b96 225552010-02-20 Carles Pina i Estany <carles@pina.cat>
22556
22557 * util/grub-mkrawimage.c (usage): Change string formatting to
22558 improve gettext.
22559
d1484a42
MRA
225602010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22561
22562 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
22563 backspace keys.
22564
42b1d186
VS
225652010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22566
22567 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
22568 Reported by: Michael Suchanek.
22569
225702010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
22571
22572 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
22573 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
22574
d9f31a41
VS
225752010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
22576
22577 Remove any reference to non-free fonts.
22578
22579 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
22580 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
22581 uses non-free components.
22582 * font/font.c (grub_font_get_name): Remove example name.
22583 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
22584 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22585 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
22586 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
22587
2793c71e
GB
225882010-02-16 Georgy Buranov <gburanov@gmail.com>
22589
22590 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
22591
402e3779
VS
225922010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22593
22594 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
22595 Double divisor.
22596 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
22597 features.
22598 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
22599
0dd1e0dd
VS
226002010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22601
22602 * gensymlist.sh.in: Use TARGET_CC instead of CC.
22603
6fa7cfce
ST
226042010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22605
22606 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
22607 * docs/grub.texi (Command-line and menu entry commands): Document play
22608 command.
22609
37c8483b
ST
226102010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22611
22612 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
22613 parse arguments as inline tempo and notes. Move code for playing notes
22614 to...
22615 (play): ... new function.
22616
14da0fb7
ST
226172010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22618
22619 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
22620 grub_uint16_t instead of short.
22621 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
22622 disk from little endian to cpu endianness.
22623
04459e70
ST
226242010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
22625
22626 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
22627 GRUB_TICKS_PER_SECOND instead of 120.
22628
a0876943
VS
226292010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22630
22631 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
22632 escape sequence after \e.
22633
e29f95dc
VS
226342010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22635
22636 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
22637 non-ASCII characters.
22638
d27859b2
VS
226392010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22640
22641 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
22642 set root in single quotes to prevent \, from being unescaped.
22643
bc028f2f
VS
226442010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22645
22646 Prevent unknown commands from stopping menuentry execution.
22647
22648 * script/execute.c (grub_script_execute_cmdline): Print error after
22649 unknown command.
22650
095f5f82
VS
226512010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22652
22653 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
22654 Reported by: Pavel Pisa.
22655
8c717950
VS
226562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22657
22658 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
22659
904935c3
VS
226602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22661
22662 Merge grub_ieee1275_map_physical into grub_map and rename to
22663 grub_ieee1275_map
22664
22665 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
22666 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
22667 Remove.
22668 * kern/ieee1275/openfw.c (grub_map): Rename to ...
22669 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
22670 necessary.
22671 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
22672
5b59a4e3
VS
226732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22674
22675 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
22676 opening and not after.
22677
69e137e8
VS
226782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22679
22680 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
22681 constants.
22682
2c0fcc36
VS
226832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22684
22685 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
22686 (alloc_phys): Use ALIGN_UP instead of align_addr.
22687
8c6052ce
VS
226882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22689
22690 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
22691
17cec782
VS
226922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22693
22694 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
22695
e0128bbd
VS
226962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22697
22698 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
22699 verbose dprintf.
22700
ca62070b
VS
227012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22702
22703 Fix over-4GiB seek on sparc64.
22704
22705 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
22706 Replace pos_i and pos_lo with pos. All users updated.
22707 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22708 New constant.
22709 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22710 Likewise.
22711 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
22712 and pos_lo.
22713
bdca2607
VS
227142010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22715
22716 * util/grub-mkrawimage.c (main): Call set_program_name.
22717
da278c4d
VS
227182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22719
22720 Properly align 64-bit targets.
22721
22722 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
22723 (generate_image): Use ALIGN_ADDR.
22724
b274d734
VS
227252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22726
22727 Properly create cross-endian images.
22728
22729 * include/grub/types.h (grub_host_to_target_addr): New macro
22730 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
22731
82da2062
VS
227322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22733
22734 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
22735
7cae4377
VS
227362010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22737
22738 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
22739
22740 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
22741 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
22742 (grub_linux_boot): Divide by 64K when on VESA.
22743
65a533e7
VS
227442010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22745
22746 Support GRUB_GFXPAYLOAD_LINUX.
22747
22748 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
22749 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
22750
dd01d397
VS
227512010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22752
22753 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
22754 to show messages instead of discarding them.
22755 Process errors after executing command and not before. Keep old method
22756 too as precaution.
22757
660960d6
VS
227582010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
22759
22760 * configure.ac: Check for ft2build.h.
22761
62509f04
VS
227622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22763
22764 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
22765
473df63d
VS
227662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22767
22768 * genkernsyms.sh.in: Use TARGET_CC.
22769
c98d2a13
CW
227702010-02-07 Colin Watson <cjwatson@ubuntu.com>
22771
22772 * NEWS: Update.
22773
6e14234c
VS
227742010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22775
22776 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
22777 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
22778 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 22779
b255e9cf
YB
227802010-02-07 Yves Blusseau <blusseau@zetam.org>
22781
6e14234c 22782 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 22783
98e6959d
VS
227842010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22785
22786 Fix warnings in grub-emu when compiling with maximum warning options.
22787
22788 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
22789 (grub_arch_modules_addr): Return 0 and not NULL.
22790 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 22791 (xstrdup): Use newstr instead of dup.
f88d801b
VS
22792 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
22793 of disk to dsk to avoid shadowing.
74e4934e
VS
22794 (find_free_slot): Fix prototype.
22795 * util/getroot.c (grub_util_is_dmraid): Make static.
22796 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
22797 Add missing prototype.
22798 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 22799
74e31b5c
VS
228002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22801
22802 * loader/i386/linux.c (grub_linux_setup_video): Handle error
22803 appropriately.
22804
6b2ad14b
VS
228052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22806
22807 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
22808 code out.
22809
8f891adc
VS
228102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22811
22812 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
22813 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
22814 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
22815 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
22816 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
22817 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
22818
74b45184
VS
228192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22820
22821 * include/grub/err.h (grub_err_printf): Don't export.
22822
a4bced77
VS
228232010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22824
22825 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
22826
007d0695
VS
228272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22828
22829 * include/grub/i18n.h (grub_gettext_dummy): Removed.
22830 * kern/misc.c (grub_gettext_dummy): Make static.
22831
b6c0d9c2
VS
228322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22833
22834 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
22835 by non-valid ones.
22836 * kern/term.c (grub_putchar): Likewise.
22837
f51a90d0
VS
228382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22839
22840 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
22841 buggy hook call and memory leak.
22842
6846cec5
VS
228432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22844
22845 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
22846
468d69fe
VS
228472010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22848
22849 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
22850
51906b8c
VS
228512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22852
22853 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
22854 modevar.
22855 Return grub_errno on allocation error.
22856
09706ce5
VS
228572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22858
22859 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22860
911df80c
YB
228612010-02-06 Yves Blusseau <blusseau@zetam.org>
22862
22863 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22864 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22865
3746a6bc
VS
228662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22867
22868 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22869 non-pxe disk.
22870 (grub_pxefs_open): Likewise.
22871
09706ce5
VS
228722010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22873
22874 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22875 * util/grub.d/10_kfreebsd.in: Likewise.
22876 * util/grub.d/10_linux.in: Likewise.
22877
7cc192d9
VS
228782010-02-06 Colin D Bennett <colin@gibibit.com>
22879
22880 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22881 (gfxmenu_mod_SOURCES): New variable.
22882 (gfxmenu_mod_CFLAGS): Likewise.
22883 (gfxmenu_mod_LDFLAGS): Likewise.
22884 * include/grub/term.h (grub_term_set_current_output): Declare
22885 argument as const.
22886 * docs/gfxmenu-theme-example.txt: New file.
22887 * gfxmenu/gfxmenu.c: Likewise.
22888 * gfxmenu/gui_box.c: Likewise.
22889 * gfxmenu/gui_canvas.c: Likewise.
22890 * gfxmenu/gui_circular_progress.c: Likewise.
22891 * gfxmenu/gui_image.c: Likewise.
22892 * gfxmenu/gui_label.c: Likewise.
22893 * gfxmenu/gui_list.c: Likewise.
22894 * gfxmenu/gui_progress_bar.c: Likewise.
22895 * gfxmenu/gui_string_util.c: Likewise.
22896 * gfxmenu/gui_util.c: Likewise.
22897 * gfxmenu/icon_manager.c: Likewise.
22898 * gfxmenu/model.c: Likewise.
22899 * gfxmenu/named_colors.c: Likewise.
22900 * gfxmenu/theme_loader.c: Likewise.
22901 * gfxmenu/view.c: Likewise.
22902 * gfxmenu/widget-box.c: Likewise.
22903 * include/grub/gfxmenu_model.h: Likewise.
22904 * include/grub/gfxmenu_view.h: Likewise.
22905 * include/grub/gfxwidgets.h: Likewise.
22906 * include/grub/gui.h: Likewise.
22907 * include/grub/gui_string_util.h: Likewise.
22908 * include/grub/icon_manager.h: Likewise.
22909
229102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22911
22912 Agglomerate scrolling in gfxterm.
22913
22914 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22915 (grub_virtual_screen_setup): Initialise 'total_screen'.
22916 (write_char): Split to ...
22917 (paint_char): ... this ...
22918 (write_char): ... and this.
22919 (paint_char): Handle delayed scrolling.
22920 (draw_cursor): Likewise.
22921 (scroll_up): Split to ...
22922 (real_scroll): ... this ...
22923 (scroll_up): ... and this.
22924 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22925 characters.
22926 (grub_gfxterm_refresh): Call real_scroll.
22927
229282010-02-06 Colin D Bennett <colin@gibibit.com>
22929
22930 * include/grub/misc.h (grub_iscntrl): New inline function.
22931 (grub_isalnum): Likewise.
22932 (grub_strtol): Likewise.
22933
229342010-02-06 Colin D Bennett <colin@gibibit.com>
22935
22936 * normal/menu_text.c (get_entry_number): Move from here ...
22937 * normal/menu.c (get_entry_number): ... moved here.
22938 * include/grub/menu.h (grub_menu_get_default_entry_index):
22939 New prototype.
22940 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22941 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22942 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22943 (grub_menu_viewer_should_return): Likewise.
22944 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22945 * normal/menu_text.c (run_menu): Enable menu switching.
22946 * normal/menu_viewer.c (should_return): New variable.
22947 (menu_viewer_changed): Likewise.
22948 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22949 (grub_menu_viewer_should_return): New function.
22950 (menuviewer_write_hook): Likewise.
22951 (grub_menu_viewer_init): Likewise.
22952
229532010-02-06 Colin D Bennet <colin@gibibit.com>
229542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22955
22956 Support for gfxterm in a window.
22957
22958 * include/grub/gfxterm.h: New file.
22959 * include/grub/video.h (struct grub_video_rect): New declaration.
22960 (grub_video_rect_t): Likewise.
22961 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22962 (refcount): New variable.
22963 (render_target): Likewise.
22964 (window): Likewise.
22965 (repaint_callback): Likewise.
22966 (grub_virtual_screen_setup): Use 'render_target'.
22967 (init_window): New function.
22968 (grub_gfxterm_init_window): Likewise.
22969 (grub_gfxterm_init): Check reference counter.
22970 Use init_window.
22971 (destroy_window): New function.
22972 (grub_gfxterm_destroy_window): Likewise.
22973 (grub_gfxterm_fini): Check reference counter.
22974 Use destroy_window.
22975 (redraw_screen_rect): Restore viewport.
22976 Use 'render_target' and 'window'.
22977 Call 'repaint_callback'.
22978 (write_char): Use 'render_target'.
22979 (draw_cursor): Likewise.
22980 (scroll_up): Restore viewport.
22981 Use 'render_target' and 'window'.
22982 Call 'repaint_callback'.
22983 (grub_gfxterm_cls): Likewise.
22984 (grub_gfxterm_refresh): Use 'window'.
22985 (grub_gfxterm_set_repaint_callback): New function.
22986 (grub_gfxterm_background_image_cmd): Use 'window'.
22987 (grub_gfxterm_get_term): New function.
22988 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22989
229902010-02-06 Colin D Bennett <colin@gibibit.com>
22991
22992 Bitmap scaling support.
22993
22994 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22995 (bitmap_scale_mod_SOURCES): New variable.
22996 (bitmap_scale_mod_CFLAGS): Likewise.
22997 (bitmap_scale_mod_LDFLAGS): Likewise.
22998 * include/grub/bitmap_scale.h: New file.
22999 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
23000 (background_image_cmd_options): New variable.
23001 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
23002 (cmd): Rename and change type to ...
23003 (background_image_cmd_handle): ... this. All users updated.
23004 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
23005 * video/bitmap_scale.c: New file.
23006
230072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23008
23009 SDL support.
23010
23011 * Makefile.in (LIBSDL): New variable.
23012 (enable_grub_emu_sdl): Likewise.
23013 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
23014 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
23015 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
23016 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
23017 * util/sdl.c: New file.
23018
230192010-02-06 Colin D Bennett <colin@gibibit.com>
230202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23021
23022 Double buffering support.
23023
23024 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
23025 * include/grub/video.h: Update comment.
23026 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
23027 New type.
23028 (grub_video_fb_doublebuf_blit_init): New prototype.
23029 * term/gfxterm.c (scroll_up): Support double buffering.
23030 (grub_gfxterm_refresh): Likewise.
23031 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
23032 (grub_video_fb_doublebuf_blit_init): Likewise.
23033 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
23034 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
23035 'displayed_page', 'render_page' and 'update_screen'.
23036 (grub_video_vbe_fini): Free offscreen buffer.
23037 (doublebuf_pageflipping_commit): New function.
23038 (doublebuf_pageflipping_update_screen): Likewise.
23039 (doublebuf_pageflipping_init): Likewise.
23040 (double_buffering_init): Likewise.
23041 (grub_video_vbe_setup): Enable doublebuffering.
23042 (grub_video_vbe_swap_buffers): Implement.
23043 (grub_video_vbe_set_active_render_target): Handle double buffering.
23044 (grub_video_vbe_get_active_render_target): Likewise.
23045 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
23046 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
23047 (grub_video_vbe_enable_double_buffering): Likewise.
23048 (grub_video_vbe_swap_buffers): Use update_screen.
23049 (grub_video_set_mode): Use double buffering.
23050
230512010-02-06 Robert Millan <rmh.grub@aybabtu.com>
23052
23053 * maintainance/gentrigtables.py: Remove.
23054 * lib/trig.c: Likewise.
23055
23056 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
23057
23058 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
23059 `trigtables.c'.
23060 (trigtables.c): New rule.
23061 (gentrigtables): Likewise.
23062 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
23063
230642010-02-06 Robert Millan <rmh.grub@aybabtu.com>
23065
23066 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
23067 integer constants.
23068
230692010-02-06 Colin D Bennet <colin@gibibit.com>
23070
23071 Trigonometry support.
23072
23073 * include/grub/trig.h: New file.
23074 * lib/trig.c: Likewise.
23075 * maintainance/gentrigtables.py: Likewise.
23076 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
23077 (trig_mod_SOURCES): New variable.
23078 (trig_mod_CFLAGS): Likewise.
23079 (trig_mod_LDFLAGS): Likewise.
23080
5562834e
VS
230812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23082
23083 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
23084 disk devices.
23085
4f8528fc
VS
230862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23087
23088 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
23089 error.
23090
2b4068e9
VS
230912010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
23092
23093 * util/hostdisk.c (open_device): Don't use partition device when reading
23094 before the partition.
23095 (grub_util_biosdisk_read): Don't read from partition and before the
23096 partition in single operation.
23097 (grub_util_biosdisk_write): Don't write to partition and before the
23098 partition in single operation.
23099
399f6e4d
TL
231002010-02-03 Torsten Landschoff <torsten@debian.org>
23101
23102 * kern/disk.c (grub_disk_read): Fix offset computation when reading
23103 last sectors.
23104
996649b0
VS
231052010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
23106
23107 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
23108 CDROM reads.
23109 (grub_biosdisk_write): Refuse to write to CDROM.
23110
3b205d4d
VS
231112010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
23112
23113 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
23114
61e89d9d
VS
231152010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
23116
23117 * font/font.c (find_glyph): Check that bmp_idx is available before
23118 using it.
23119 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
23120 with (font == NULL).
23121
bf7fcba2
CS
231222010-01-28 Christian Schmitt <chris@ilovelinux.de>
23123
23124 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
23125
f45d2663
BC
231262010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
23127
23128 * include/grub/script_sh.h (sourcecode): Add const qualifier.
23129 * util/grub-script-check.c (getline): Fix empty lines case.
23130
ec1444e6
RM
231312010-01-28 Robert Millan <rmh.grub@aybabtu.com>
23132
23133 * Makefile.in (check): Exit with fail status when one of the tests
23134 fails.
23135 * tests/example_functional_test.c (example_test): Fix reversed assert.
23136 * tests/example_unit_test.c (example_test): Likewise.
23137
2e1cb9bb
CW
231382010-01-28 Colin Watson <cjwatson@ubuntu.com>
23139
23140 * util/grub.d/10_linux.in: This script does not use any of the
23141 contents of gettext.sh, only the external command `gettext', so stop
23142 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
23143 the same prefix as GRUB.)
23144 * util/grub.d/10_kfreebsd.in: Likewise.
23145
63533ab0
VS
231462010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23147
23148 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
23149 of the line.
23150
989e1f93
VS
231512010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23152
23153 * kern/disk.c (grub_disk_read): Fix offset computation when reading
23154 last sectors.
23155
e709ebe2
VS
231562010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23157
23158 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
23159 having a 4KiB and not 32KiB buffer size.
23160
27dea7ed
RM
231612010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23162
23163 * util/hostfs.c: Include `<errno.h>'.
23164 (grub_hostfs_read): Handle errors from fseeko() and fread().
23165
67667b9c
RM
231662010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23167
23168 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
23169 loop when using read hooks on files whose size isn't sector-aligned.
23170
c294d9d8
RM
231712010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23172
23173 Remove unused parameter.
23174
23175 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
23176 (grub_iso9660_open): Remove initialization of `data->length'.
23177
af75a9f1
RM
231782010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23179
23180 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
23181 memleak conditions.
23182
254e2ce5 231832010-01-27 Carles Pina i Estany <carles@pina.cat>
23184
23185 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
23186 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
23187
b510928c 231882010-01-26 Carles Pina i Estany <carles@pina.cat>
23189
23190 * util/bin2h.c (usage): Fix warning (space after backslash).
23191
aa2f9dd2 231922010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 23193
23194 * font/font.c: Include `grub/fontformat.h.
23195 Remove font file format constants.
23196 (grub_font_load): Use the new macros.
23197 * include/grub/fontformat.h: New file.
23198 * util/grub-mkfont.c: Include `grub/fontformat.c'.
23199 (write_font_pf2): Use the new macros.
23200
94e7e712
RM
232012010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23202
23203 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
23204 does.
23205
3973a59a
RM
232062010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23207
23208 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
23209
23210 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
23211 (_start): Macroify `0x7F'.
23212
23213 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
23214 (make_install_device): Use "(pxe)" as fallback prefix when booting
23215 via PXE.
23216
42e0cba3
GS
232172010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
23218
23219 * configure.ac: Reset LIBS after check for libgcc symbols.
23220
847effd8
CW
232212010-01-25 Colin Watson <cjwatson@ubuntu.com>
23222
23223 * util/hostdisk.c (open_device): Add trailing newline to debug
23224 message.
23225
ea4a7e35
GS
232262010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
23227
23228 * configure.ac: Check for `limits.h'.
23229 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
23230
67951a53
RM
232312010-01-24 Robert Millan <rmh.grub@aybabtu.com>
23232
23233 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
23234 capitalize error strings.
23235
c273d4ce
ST
232362010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
23237
23238 * util/grub.d/10_hurd.in: Add a recovery mode.
23239
69be5b74
VS
232402010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
23241
23242 * configure.ac: Check for libgcc symbols with -nostdlib.
23243
fc9e5810
BC
232442010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
23245
23246 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
23247
4b358c0a
VS
232482010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23249
23250 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
23251 stack since heap may be unavailable at that point.
23252 (grub_ofconsole_gotoxy): Likewise.
23253
454fcd1c
VS
232542010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23255
23256 * configure.ac: Check for _restgpr_14_x.
23257 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
23258 and _savegpr_* prototypes.
23259
566863ca
RM
232602010-01-22 Robert Millan <rmh.grub@aybabtu.com>
23261
23262 Use generic grub_reboot() for i386-efi.
23263
23264 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
23265 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
23266 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
23267
bf86e59a
VS
232682010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23269
23270 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
23271 presence of "prefix" variable as it breaks when normal.mod is
23272 embedded.
23273
d645e0f8
VS
232742010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23275
23276 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
23277 stack since heap is unavailable at that point.
23278
f9ab2e25
VS
232792010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23280
23281 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
23282 (grub_freebsd_bootinfo): Rewritten.
23283 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
23284
01fc7054
VS
232852010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23286
23287 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
23288
caab4fd6
RM
232892010-01-21 Robert Millan <rmh.grub@aybabtu.com>
23290
23291 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
23292 domain now.
23293
67eb1427
FZ
232942010-01-20 Felix Zielcke <fzielcke@z-51.de>
23295
23296 * util/misc.c (make_system_path_relative_to_its_root): Change the work
23297 around for handling "/" to the correct fix. Fix a memory leak. Use
23298 xstrdup instead of strdup.
23299
a9ed4ff3
VS
233002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23301
23302 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
23303
233042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
23305
23306 Optimise glyph lookup by Basic Multilingual Plane lookup array.
23307
23308 * font/font.c (struct grub_font): New member 'bmp_idx'.
23309 (font_init): Initialise 'bmp_idx'.
23310 (load_font_index): Fill 'bmp_idx'.
23311 (find_glyph): Make inline. Use bmp_idx for BMP characters.
23312
48209f4f
VS
233132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23314
23315 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
23316 unnecessary calls.
23317
9f0a4bb7
VS
233182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23319
23320 Move context handling out of the kernel.
23321
23322 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
23323 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
23324 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
23325 * conf/i386-efi.rmk: Likewise.
23326 * conf/i386-ieee1275.rmk: Likewise.
23327 * conf/i386-pc.rmk: Likewise.
23328 * conf/powerpc-ieee1275.rmk: Likewise.
23329 * conf/sparc64-ieee1275.rmk: Likewise.
23330 * conf/x86_64-efi.rmk: Likewise.
23331 * include/grub/env.h: Include grub/menu.h.
23332 (grub_env_var_type): Removed.
23333 (grub_env_var): Replaced field 'type' with 'global'.
23334 (grub_env_find): New prototype.
23335 (grub_env_context_open): Remove EXPORT_FUNC.
23336 (grub_env_context_close): Likewise.
23337 (grub_env_export): Likewise.
23338 (grub_env_set_data_slot): Removed.
23339 (grub_env_get_data_slot): Likewise.
23340 (grub_env_unset_data_slot): Likewise.
23341 (grub_env_unset_menu): New prototype.
23342 (grub_env_set_menu): Likewise.
23343 (grub_env_get_menu): Likewise.
23344 * include/grub/env_private.h: New file.
23345 * include/grub/normal.h (grub_context_init): New prototype.
23346 (grub_context_fini): Likewise.
23347 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
23348 * normal/context.c (grub_cmd_export): ... to here.
23349 * kern/env.c: Include env_private.h.
23350 (HASHSZ): Moved to include/grub/env_private.h.
23351 (grub_env_context): Likewise.
23352 (grub_env_sorted_var): Likewise.
23353 (current_context): Renamed from this ...
23354 (grub_current_context): ...to this. 'static' removed. All users updated.
23355 (grub_env_find): Removed 'static'.
23356 (grub_env_context_open): Moved to normal/context.c.
23357 (grub_env_context_close): Likewise.
23358 (grub_env_export): Likewise.
23359 (mangle_data_slot_name): Removed.
23360 (grub_env_set_data_slot): Likewise.
23361 (grub_env_get_data_slot): Likewise.
23362 (grub_env_unset_data_slot): Likewise.
23363 * kern/main.c (grub_set_root_dev): Don't export root.
23364 It will be done later.
23365 (grub_main): Don't export prefix.
23366 It will be done later.
23367 * normal/context.c: New file.
23368 * normal/main.c (free_menu): Use grub_env_unset_menu.
23369 (grub_normal_add_menu_entry): Use grub_env_get_menu.
23370 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
23371 (GRUB_MOD_INIT(normal)): Call grub_context_init.
23372 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
23373
8dd35b8c
VS
233742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23375
23376 setpci support.
23377
23378 * commands/setpci.c: New file.
23379 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
23380 (setpci_mod_SOURCES): New variable.
23381 (setpci_mod_CFLAGS): Likewise.
23382 (setpci_mod_LDFLAGS): Likewise.
23383
449193d5
VS
233842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23385
23386 Byte-addressable PCI configuration space.
23387
23388 * bus/pci.c (grub_pci_make_address): Use byte address instead of
23389 dword address.
23390 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
23391 GRUB_PCI_REG_CACHELINE.
23392 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
23393 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
23394 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
23395 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
23396 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
23397 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
23398 grub_pci_make_address.
23399 (lock_rom_area): Likewise.
23400 * commands/lspci.c (grub_lspci_iter): Use macroses
23401 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
23402 of grub_pci_make_address.
23403 * disk/ata.c (grub_ata_pciinit): Likewise.
23404 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
23405 (GRUB_PCI_REG_VENDOR): Likewise.
23406 (GRUB_PCI_REG_DEVICE): Likewise.
23407 (GRUB_PCI_REG_COMMAND): Likewise.
23408 (GRUB_PCI_REG_STATUS): Likewise.
23409 (GRUB_PCI_REG_REVISION): Likewise.
23410 (GRUB_PCI_REG_CLASS): Likewise.
23411 (GRUB_PCI_REG_CACHELINE): Likewise.
23412 (GRUB_PCI_REG_LAT_TIMER): Likewise.
23413 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
23414 (GRUB_PCI_REG_BIST): Likewise.
23415 (GRUB_PCI_REG_ADDRESSES): Likewise.
23416 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23417 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23418 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23419 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23420 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23421 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23422 (GRUB_PCI_REG_CIS_POINTER): Likewise.
23423 (GRUB_PCI_REG_SUBVENDOR): Likewise.
23424 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
23425 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
23426 (GRUB_PCI_REG_CAP_POINTER): Likewise.
23427 (GRUB_PCI_REG_IRQ_LINE): Likewise.
23428 (GRUB_PCI_REG_IRQ_PIN): Likewise.
23429 (GRUB_PCI_REG_MIN_GNT): Likewise.
23430 (GRUB_PCI_REG_MAX_LAT): Likewise.
23431 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
23432 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
23433 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 23434 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
23435 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
23436 space.
23437
96d73208
RM
234382010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23439
23440 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
23441 can be reliably determined to be supported.
23442
d4484482
RM
234432010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23444
23445 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
23446 that VESA is supported.
23447 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
23448 supported.
23449
00308ecf
VS
234502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23451
23452 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
23453
f66924a4
RM
234542010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23455
23456 * util/misc.c (make_system_path_relative_to_its_root): Work around
23457 special-casing of "/", as previous incarnation of this routine did.
23458
cbca0ada
VS
234592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23460
23461 Fix any-emu compilation.
23462
23463 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
23464 * grub_bin2h_SOURCES: New variable.
23465
34a66d99
RM
234662010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23467
23468 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
23469
94fabf58
RM
234702010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23471
23472 * util/grub.d/00_header.in: Fix handling of locale_dir.
23473
02cf98ca
VS
234742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23475
23476 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
23477 as possible unifont location (Gentoo).
23478 Reported by: Alexander Brüning
23479
327dbcd7
VS
234802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23481
23482 Don't try to generate lists for kernel.img.
23483
23484 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
23485 (pkglib_MODULES): Remove kernel.img.
23486 (kernel_img_EXPORTS): Removed.
23487 (kernel_img_RELOCATABLE): New variable.
23488 * conf/x86_64-efi.rmk: Likewise.
23489 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
23490
ca467290
VS
234912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23492
23493 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
23494 grub_xasprintf or grub_snprintf.
23495 (grub_vsprintf): Likewise.
23496 (grub_snprintf): New proto.
23497 (grub_vsnprintf): Likewise.
23498 (grub_xasprintf): Likewise.
23499 (grub_xvasprintf): Likewise.
23500 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
23501 (grub_sprintf): Removed.
23502 (grub_vsnprintf): New function.
23503 (grub_snprintf): Likewise.
23504 (grub_xvasprintf): Likewise.
23505 (grub_xasprintf): Likewise.
23506 (grub_vsprintf): Renamed to ...
23507 (grub_vsnprintf_real): ...this. New argument max_len.
23508
aca655fd
BC
235092010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
23510
23511 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
23512 fix grub-script-check warning.
23513
7ee92c32
VS
235142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23515
23516 * include/grub/font.h (grub_font_load): Fix prototype.
23517
f80927ca
VS
235182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23519
23520 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
23521
119c50ea
VS
235222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23523
23524 * include/grub/x86_64/at_keyboard.h: New file.
23525
47d5f3c1
VS
235262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23527
23528 * loader/mips/linux.c: Include missing grub/i18n.h.
23529
55ff5266
RM
235302009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23531
23532 * normal/menu.c (notify_execution_failure): Clarify error message.
23533
c893cc87
RM
235342009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23535
23536 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
23537 return value (and revert all return statements). Update users.
23538
917dd370
CW
235392010-01-20 Dan Merillat <debian@dan.merillat.org>
23540
23541 * kern/device.c (grub_device_iterate): Allocate new part_ent
23542 structure based on sizeof (*p) rather than sizeof (p->next), to
23543 account for structure padding.
23544
23545 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
23546 disk is NULL, which might happen for LVM physical volumes with no
23547 LVM signature.
23548
d4a4ee57
RM
235492009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23550
23551 * loader/mips/linux.c (grub_cmd_initrd)
23552 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
23553
235542009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23555
23556 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
23557 (grub_video_video_init, grub_video_bitmap_init)
23558 (grub_font_manager_init, grub_term_gfxterm_init)
23559 (grub_at_keyboard_init): New extern declarations.
23560 (grub_machine_init): Initialize gfxterm and at_keyboard.
23561
23562 * kern/main.c (grub_main): Revert grub_printf delay kludge.
23563
23564 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
23565 `gfxterm.mod' into core image.
23566
23567 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23568 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23569 (kernel_img_FORMAT): Copy to ...
23570
23571 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23572 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23573 (kernel_img_FORMAT): ... here, and ...
23574
23575 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23576 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23577 (kernel_img_FORMAT): ... here.
23578
23579 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
23580 and input (at_keyboard) terminals in kernel.
23581 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
23582
23583 (pkglib_MODULES): Remove `pci.mod'.
23584 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
23585 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
23586 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
23587 (at_keyboard_mod_LDFLAGS): Remove variables.
23588
235892010-01-11 Felix Zielcke <fzielcke@z-51.de>
23590
23591 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
23592
235932009-12-10 Robert Millan <rmh.grub@aybabtu.com>
23594
23595 * include/grub/mips/libgcc.h: Only export symbols for functions
23596 that libgcc provides.
23597
235982009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
23599
23600 MIPS support.
23601
23602 * bus/bonito.c: New file.
23603 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
23604 GRUB_PCI_NUM_DEVICES.
23605 * term/i386/pc/serial.c: Move to ...
23606 * term/serial.c: ... here. All users updated.
23607 * util/i386/pc/grub-mkimage.c: Move to ...
23608 * util/grub-mkrawimage.c: ... here. All users updated.
23609 * term/i386/pc/at_keyboard.c: Move to ...
23610 * term/at_keyboard.c: ... here. All users updated.
23611 * conf/mips-qemu-mips.rmk: New file.
23612 * conf/mips-yeeloong.rmk: Likewise.
23613 * conf/mips.rmk: Likewise.
23614 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
23615 mipsel-qemu-mips.
23616 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
23617 to port addresses.
23618 (grub_ata_pciinit): Support CS5536.
23619 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
23620 * font/font_cmd.c (loadfont_command): Open file before passing it to
23621 grub_font_load.
23622 (pseudo_file_read): New function.
23623 (pseudo_file_close): Likewise.
23624 (pseudo_fs): New structure.
23625 (load_font_module): New function.
23626 (GRUB_MOD_INIT(font_manager)): Load embedded font.
23627 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
23628 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
23629 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
23630 * include/grub/i386/at_keyboard.h: Split into ...
23631 * include/grub/at_keyboard.h: ... this ...
23632 * include/grub/i386/at_keyboard.h: ... and this.
23633 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
23634 New prototype.
23635 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
23636 updated.
23637 (grub_elf64_size): Likewise.
23638 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
23639 filename.
23640 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
23641 * include/grub/i386/coreboot/serial.h: Rewritten.
23642 * include/grub/i386/ieee1275/serial.h: Include
23643 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
23644 * include/grub/i386/pc/serial.h: Moved from here ...
23645 * include/grub/serial.h: ... to here. All users updated.
23646 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
23647 (GRUB_PCI_NUM_BUS): Likewise.
23648 (GRUB_PCI_NUM_DEVICES): Likewise.
23649 (grub_pci_device_map_range): Add missing volatile keyword.
23650 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
23651 * include/grub/mips/at_keyboard.h: New file.
23652 * include/grub/mips/cache.h: Likewise.
23653 * include/grub/mips/io.h: Likewise.
23654 * include/grub/mips/kernel.h: Likewise.
23655 * include/grub/mips/libgcc.h: Likewise.
23656 * include/grub/mips/pci.h: Likewise.
23657 * include/grub/mips/qemu-mips/boot.h: Likewise.
23658 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23659 * include/grub/mips/qemu-mips/loader.h: Likewise.
23660 * include/grub/mips/qemu-mips/memory.h: Likewise.
23661 * include/grub/mips/qemu-mips/serial.h: Likewise.
23662 * include/grub/mips/qemu-mips/time.h: Likewise.
23663 * include/grub/mips/relocator.h: Likewise.
23664 * include/grub/mips/time.h: Likewise.
23665 * include/grub/mips/types.h: Likewise.
23666 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
23667 * include/grub/mips/yeeloong/boot.h: Likewise.
23668 * include/grub/mips/yeeloong/kernel.h: Likewise.
23669 * include/grub/mips/yeeloong/loader.h: Likewise.
23670 * include/grub/mips/yeeloong/memory.h: Likewise.
23671 * include/grub/mips/yeeloong/pci.h: Likewise.
23672 * include/grub/mips/yeeloong/serial.h: Likewise.
23673 * include/grub/mips/yeeloong/time.h: Likewise.
23674 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
23675 * kern/elf.c (grub_elf32_size): New parameter. All users
23676 updated.
23677 (grub_elf64_size): Likewise.
23678 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
23679 Load modules before saying "Welcome to GRUB!".
23680 Call grub_refresh after saying "Welcome to GRUB!".
23681 * kern/mips/cache.S: New file.
23682 * kern/mips/cache_flush.S: Likewise.
23683 * kern/mips/dl.c: Likewise.
23684 * kern/mips/init.c: Likewise.
23685 * kern/mips/qemu-mips/init.c: Likewise.
23686 * kern/mips/startup.S: Likewise.
23687 * kern/mips/yeeloong/init.c: Likewise.
23688 * kern/term.c (grub_putcode): Handle NULL terminal.
23689 (grub_getcharwidth): Likewise.
23690 (grub_getkey): Likewise.
23691 (grub_checkkey): Likewise.
23692 (grub_getkeystatus): Likewise.
23693 (grub_getxy): Likewise.
23694 (grub_getwh): Likewise.
23695 (grub_gotoxy): Likewise.
23696 (grub_cls): Likewise.
23697 (grub_setcolorstate): Likewise.
23698 (grub_setcolor): Likewise.
23699 (grub_getcolor): Likewise.
23700 (grub_refresh): Likewise.
23701 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
23702 (write_jump): Add hatch nop.
23703 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
23704 * lib/mips/setjmp.S: New file.
23705 * loader/mips/linux.c: Likewise.
23706 * term/i386/pc/at_keyboard.c: Move from here ...
23707 * term/at_keyboard.c: ... to here.
23708 * term/i386/pc/serial.c: Moved from here ...
23709 * term/serial.c: ... to here. All users updated.
23710 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
23711 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
23712 (serial_translate_key_sequence): Avoid deadlock.
23713 (grub_serial_getkey): Handle backspace.
23714 (grub_serial_putchar): Fix newline handling.
23715 * util/i386/pc/grub-mkimage.c: Move from here ...
23716 * util/grub-mkrawimage.c: ... to here. All users updated.
23717 (generate_image): New parameters 'font_path' and 'format'.
23718 Support embedding font.
23719 Use grub_host_to_target* instead of grub_cpu_to_le*.
23720 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
23721 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
23722 (options): New option "--font".
23723 (usage): Likewise.
23724 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
23725 (main): Handle "--font".
23726 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
23727 (grub_virtual_screen_setup): Set bg_color_display.
23728 (redraw_screen_rect): Use bg_color_display instead of incorrect
23729 bg_color.
23730 (grub_gfxterm_cls): Likewise.
23731 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
23732 Support embedding config file.
23733 (add_segments): Likewise.
23734 (options): New option "--config".
23735 (main): Handle "--config".
23736 * video/sm712.c: New file.
23737
25c2b5b3
RM
237382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23739
23740 Fix parallel builds.
23741
23742 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
23743 font.c depend on ascii.h).
23744
237452010-01-12 Carles Pina i Estany <carles@pina.cat>
23746
23747 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
23748
237492010-01-11 Carles Pina i Estany <carles@pina.cat>
23750
23751 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
23752 By default: disabled.
23753 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
23754 parameter.
23755
237562010-01-10 Carles Pina i Estany <carles@pina.cat>
23757
23758 * font/font.c: Update copyright years.
23759 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
23760
237612010-01-10 Carles Pina i Estany <carles@pina.cat>
23762
23763 * font/font.c: Include `ascii.h'.
23764 (ASCII_BITMAP_SIZE): New macro.
23765 (ascii_font_glyph): Define.
23766 (ascii_glyph_lookup): New function.
23767 (grub_font_get_string_width): Change comment. If glyph not found, use
23768 ascii_glyph_lookup.
23769 (grub_font_get_glyph_with_fallback): If glyph not available returns
23770 ascii_glyph_lookup.
23771 * util/grub-mkfont.c (file_formats): New enum.
23772 (options): Add `ascii-bitmaps' new option.
23773 (usage): Add `asii-bitmaps' new option.
23774 (write_font_ascii_bitmap): New function.
23775 (write_font): Rename to ...
23776 (write_font_p2): ... this. Remove print_glyphs call.
23777 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
23778 used. Call print_glyphs.
23779 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
23780
237812010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23782
23783 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
23784 (grub_bin2h_SOURCES): New variable.
23785 * util/bin2h.c: New file.
23786
915fc1b8
VS
237872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23788
23789 * include/multiboot.h: Resynced with spec.
23790 * include/multiboot2.h: Likewise.
23791 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
23792 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
23793
9444b678
RM
237942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23795
23796 * include/grub/term.h (grub_term_register_input,
23797 grub_term_register_output): Check return of terminal init()
23798 routines, and abort if errors are raised.
23799
23800 * commands/terminal.c: Update copyright year.
23801
cba98e8d
RM
238022010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23803
23804 * commands/terminal.c (grub_cmd_terminal_input)
23805 (grub_cmd_terminal_output): Check return of terminal init()
23806 routines, and abort if errors are raised.
23807
6f7db5d6
VS
238082010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23809
23810 * include/grub/i386/bsd.h: Fix include pathes.
23811
262bff8d
VS
238122010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23813
23814 Add missing *BSD copyright headers.
23815
23816 * include/grub/aout.h: Add BSD licence.
23817 * include/grub/i386/bsd.h: Parts under different licences moved to ...
23818 * include/grub/i386/freebsd_linker.h: ... here,
23819 * include/grub/i386/freebsd_reboot.h: ... here,
23820 * include/grub/i386/netbsd_bootinfo.h: ... here,
23821 * include/grub/i386/netbsd_reboot.h: ... here,
23822 * include/grub/i386/openbsd_bootarg.h: ... here,
23823 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
23824 licence to each file.
23825
b2cab848
RM
238262010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23827
23828 * acinclude.m4: Remove `nop' assembly instruction; it's not
23829 implemented by all architectures.
23830
2cb6be4b
RM
238312010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23832
23833 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
23834 ELILO. This is no longer necessary.
23835
a2eaee15
BC
238362010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
23837
23838 Added new tool, grub-scrit-check to verify grub.cfg syntax.
23839
23840 * util/grub-script-check.c: grub-script-check tool.
23841 * conf/common.rmk: Make rules for grub-script-check.
23842
88d17012
RM
238432010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23844
23845 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
23846 spotting it back in 2008. Shame on me for forgetting he did.
23847
23848 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
23849
8040619d
RM
238502010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23851
23852 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
23853 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
23854 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
23855 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
23856 (GRUB_VIDEO_TYPE_EFI): Rename to ...
23857 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23858
a0c2a0f6
RM
238592010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23860
23861 * include/grub/test.h: Add license header.
23862 * tests/example_functional_test.c: Likewise.
23863 * tests/example_unit_test.c: Likewise.
23864 * tests/lib/functional_test.c: Likewise.
23865 * tests/lib/test.c: Likewise.
23866 * tests/lib/unit_test.c: Likewise.
23867
b0b13907
VS
238682010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23869
23870 Use flag-based instead of hook-based video mode selection and "auto"
23871 keyword.
23872
23873 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23874 (grub_video_set_mode): Changed prototype. All users updated.
23875 (grub_video_check_mode_flag): New inline function.
23876 * video/video.c (parse_modespec): New function.
23877 (grub_video_set_mode): Parse flags and keywords.
23878
ea379330 238792010-01-17 Carles Pina i Estany <carles@pina.cat>
23880
23881 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23882 fprintf call.
23883
e15c215e
FZ
238842010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23885
23886 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23887
409ae1c9 238882010-01-16 Carles Pina i Estany <carles@pina.cat>
23889
23890 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23891 string.
23892 * util/grub-emu.c (usage): Likewise.
23893 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23894 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23895 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23896 * util/i386/pc/grub-setup.c (usage): Likewise.
23897
70a14d3d 238982010-01-16 Carles Pina i Estany <carles@pina.cat>
23899
23900 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23901 the message.
23902 (grub_util_info): Likewise.
23903 (grub_util_error): Likewise.
23904 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23905 and/or new lines in `grub_util_warna', `grub_util_info',
23906 `grub_util_error' calls.
23907 * util/getroot.c: Likewise.
23908 * util/grub-editenv.c: Likewise.
23909 * util/grub-emu.c: Likewise.
23910 * util/grub-fstest.c: Likewise.
23911 * util/grub-mkdevicemap.c: Likewise.
23912 * util/grub-mkfont.c: Likewise.
23913 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23914 * util/grub-mkrelpath.c: Likewise.
23915 * util/grub-pe2elf.c: Likewise.
23916 * util/grub-probe.c: Likewise.
23917 * util/hostdisk.c: Likewise.
23918 * util/i386/efi/grub-mkimage.c: Likewise.
23919 * util/i386/pc/grub-mkimage.c: Likewise.
23920 * util/i386/pc/grub-setup.c: Likewise.
23921 * util/ieee1275/ofpath.c: Likewise.
23922 * util/mkisofs/eltorito.c: Likewise.
23923 * util/mkisofs/rock.c: Likewise.
23924 * util/mkisofs/write.c: Likewise.
23925 * util/raid.c: Likewise.
23926 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23927 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23928
a0b766fc
VS
239292010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23930
23931 Enable multiboot on non-pc.
23932
23933 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23934 multiboot.mod and multiboot2.mod to ...
23935 * conf/i386.rmk (pkglib_MODULES): ... here.
23936 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23937 Moved to ...
23938 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23939 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23940 Moved to ...
23941 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23942 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23943 Moved to ...
23944 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23945 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23946 Moved to ...
23947 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23948 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23949 relocator.mod.
23950 (ata_mod_SOURCES): Removed.
23951 (ata_mod_CFLAGS): Likewise.
23952 (ata_mod_LDFLAGS): Likewise.
23953 (relocator_mod_SOURCES): Removed.
23954 (relocator_mod_CFLAGS): Likewise.
23955 (relocator_mod_ASFLAGS): Likewise.
23956 (relocator_mod_LDFLAGS): Likewise.
23957 Include i386.mk.
23958 * include/grub/x86_64/multiboot.h: New file.
23959 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23960 Terminate EFI.
23961
884ade56
VS
239622010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23963
23964 Video multiboot support.
23965
23966 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23967 New prototype.
23968 * include/multiboot.h: Resynced with multiboot specification.
23969 * include/multiboot2.h: Likewise.
23970 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23971 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23972 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23973 (HAS_VGA_TEXT): Likewise.
23974 (accepts_video): New variable.
23975 (grub_multiboot_set_accepts_video): New function.
23976 (grub_multiboot_get_mbi_size): Account for video structures.
23977 (set_video_mode): New function.
23978 (retrieve_video_parameters): Likewise.
23979 (grub_multiboot_make_mbi): Fill video fields.
23980
0d90e8a6
VS
239812010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23982
23983 Video driver ids.
23984
23985 * include/grub/video.h (grub_video_driver_id): New type.
23986 (grub_video_adapter): New member 'id'. All users updated.
23987 (grub_video_get_driver_id): New proto.
23988 * video/video.c (grub_video_get_driver_id): New function.
23989
5c71db1b 239902010-01-14 Carles Pina i Estany <carles@pina.cat>
23991
23992 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23993 `var=val'.
23994
cca15b52 239952010-01-14 Carles Pina i Estany <carles@pina.cat>
23996
23997 * normal/cmdline.c (print_completion): Gettextizze.
23998
c586fbb2 239992001-01-14 Carles Pina i Estany <carles@pina.cat>
24000
24001 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
24002
ba2f6848 240032010-01-14 Carles Pina i Estany <carles@pina.cat>
24004
24005 * gettext/gettext.c (grub_gettext_translate): Push and pop
24006 grub_errno.
24007 (grub_gettext_delete_list): Change comment style.
24008 * kern/err.c (grub_error): Gettextizze.
24009 (grub_fatal): Gettextizze.
24010
0a46429a
RM
240112010-01-14 Robert Millan <rmh.grub@aybabtu.com>
24012
24013 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
24014 (grub_linux16_real_boot): ... this.
24015 * kern/i386/loader.S: Likewise.
24016 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
24017 (grub_linux16_boot): New function. Switches to text mode and calls
24018 grub_linux16_real_boot().
24019
24020 * loader/i386/bsd.c: Include `<grub/video.h>'.
24021 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
24022 text mode before calling grub_unix_real_boot().
24023
24024 * loader/i386/multiboot.c: Include `<grub/video.h>'.
24025 (grub_multiboot_boot): Switch to text mode before calling
24026 grub_relocator32_boot().
24027
24028 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
24029 (grub_chainloader_boot): Switch to text mode before calling
24030 grub_chainloader_real_boot().
24031
d6f93a66
RM
240322010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
240332010-01-05 Colin Watson <cjwatson@ubuntu.com>
24034
24035 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
24036 non-empty value.
24037
240382010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
240392010-01-05 Colin Watson <cjwatson@ubuntu.com>
24040
24041 * util/grub.d/00_header.in: Define a "savedefault" function for use
24042 in menu entries.
24043 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
24044
240452010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
240462010-01-05 Colin Watson <cjwatson@ubuntu.com>
24047
24048 * util/grub-mkconfig_lib.in (save_default_entry): Only set
24049 saved_entry if boot_once is unset.
24050 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
24051 previous saved entry (i.e. grub-reboot).
24052
240532009-12-08 Colin Watson <cjwatson@ubuntu.com>
24054
24055 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
24056
240572009-12-08 Colin Watson <cjwatson@ubuntu.com>
24058
24059 * util/grub.d/00_header.in: Use `set var=val' rather than plain
24060 `var=val'.
24061 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
24062
240632009-12-08 Colin Watson <cjwatson@ubuntu.com>
24064
24065 * util/grub-reboot.in: Fix --version output.
24066 * util/grub-set-default.in: Likewise.
24067
240682009-12-08 Colin Watson <cjwatson@ubuntu.com>
24069
24070 * util/grub.d/00_header.in: Silently ignore zero-sized environment
24071 blocks.
24072
240732009-12-08 Colin Watson <cjwatson@ubuntu.com>
24074
24075 * util/grub.d/00_header.in: Quote the value assigned to `default',
24076 in case it contains spaces.
24077
240782009-12-08 Colin Watson <cjwatson@ubuntu.com>
24079
24080 * util/grub.d/30_os-prober.in: Fix merge error that moved a
24081 `save_default_entry' call from the macosx case to the linux case.
24082
240832009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
240842009-10-25 Colin Watson <cjwatson@ubuntu.com>
24085
24086 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
24087 in `chosen' environment variable.
24088 * normal/menu_text.c (get_entry_number): Check if the variable
24089 matches the title of a menu entry.
24090 (run_menu): Pass menu to get_entry_number.
24091
24092 * util/grub-reboot.in: New file.
24093 * util/grub-set-default.in: New file.
24094 * conf/common.rmk (grub-reboot): New utility.
24095 (grub-set-default): New utility.
24096
24097 * util/grub-mkconfig_lib.in (save_default_entry): New function.
24098 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
24099 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
24100 move it to `saved_entry' for the next boot. Load environment on
24101 initialisation.
24102 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
24103 * util/grub.d/10_hurd.in: Likewise.
24104 * util/grub.d/10_linux.in (linux_entry): Likewise.
24105 * util/grub.d/10_windows.in: Likewise.
24106 * util/grub.d/30_os-prober.in: Likewise.
24107
24108 * util/grub-install.in: Create environment block.
24109 * util/i386/efi/grub-install.in: Likewise.
24110 * util/ieee1275/grub-install.in: Likewise.
24111 * util/sparc64/ieee1275/grub-install.in: Likewise.
24112
0934d184
BC
241132010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
24114
24115 Unit testing framework for GRUB.
24116
24117 * Makefile.in: Test framework build rules for 'make check'.
24118 * conf/tests.rmk: Build rules for individual tests and framework.
24119
24120 * include/grub/test.h: Header file for whitebox tests.
24121 * tests/lib/functional_test.c: Framework support for whitebox
24122 functional tests.
24123 * tests/lib/test.c: Common whitebox testing code for unit and
24124 functional tests.
24125 * tests/lib/unit_test.c: Framework support for whitebox unit
24126 tests.
24127
24128 * tests/util/grub-shell-tester.in: Support utility for grub-script
24129 tests.
24130 * tests/util/grub-shell.in: Utility to execute grub-script
24131 commands in a Qemu instance.
24132
24133 * tests/example_functional_test.c: Example whitebox functional
24134 test.
24135 * tests/example_grub_script_test.in: Example grub-script test.
24136 * tests/example_scripted_test.in: Example scripted test.
24137 * tests/example_unit_test.c: Example whitebox unit test.
24138
9c4ffeeb
VS
241392010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
24140
24141 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
24142 Add loader/i386/multiboot_mbi.c.
24143 (multiboot2_mod_SOURCES): Likewise.
24144 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
24145 (multiboot2_mod_SOURCES): Likewise.
24146 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
24147 (grub_multiboot_make_mbi): Likewise.
24148 (grub_multiboot_free_mbi): Likewise.
24149 (grub_multiboot_init_mbi): Likewise.
24150 (grub_multiboot_add_module): Likewise.
24151 (grub_multiboot_set_bootdev): Likewise.
24152 * loader/i386/multiboot.c (mbi): Removed.
24153 (mbi_dest): Likewise.
24154 (alloc_mbi): New variable.
24155 (grub_multiboot_payload_size): Removed. All users updated.
24156 (grub_multiboot_pure_size): New variable.
24157 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
24158 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
24159 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
24160 (grub_fill_multiboot_mmap): Likewise.
24161 (grub_multiboot_get_bootdev): Likewise.
24162 (grub_multiboot): Use multiboot_mbi functions.
24163 * loader/i386/multiboot_mbi.c: New file.
24164
17383dfe
VS
241652010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24166
24167 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
24168 it would result in module crash.
24169
c1f28820
VS
241702010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24171
24172 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
24173 (grub_ofconsole_getwh): Split to ...
24174 (grub_ofconsole_getwh): ... this.
24175 (grub_ofconsole_dimensions): ...and this.
24176 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
24177
58655a16
RM
241782010-01-13 Robert Millan <rmh.grub@aybabtu.com>
24179
24180 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
24181
10891398
VS
241822010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24183
24184 * loader/i386/pc/multiboot2.c: Removed stalled file.
24185
0b8a223c
VS
241862010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24187
24188 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
24189 Reported by: Grégoire Sutre
24190
92ab12b0
RM
241912010-01-11 Robert Millan <rmh.grub@aybabtu.com>
24192
24193 * util/misc.c (canonicalize_file_name): New function.
24194 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
24195 instead of realpath().
24196
a788afb6
CW
241972010-01-11 Colin Watson <cjwatson@ubuntu.com>
24198
24199 * util/grub-install.in (usage): Clarify meaning of --root-directory,
24200 and make it clearer that it's optional. Based on confusion
24201 witnessed on IRC.
24202
ffa8e3d2
VS
242032010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24204
24205 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
24206 in premature implicit newline.
24207
e9060a9d
VS
242082010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24209
24210 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
24211 which resulted in garbled command line at the end of screen.
24212
f0d0c0b7
RM
242132010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24214
24215 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
24216 initialization with similar approach as with other Linux loaders.
24217
0e60bae7
RM
242182010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24219
24220 Fix i386-ieee1275 build.
24221
24222 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
24223 and grub_term_height() for video_{width,height} initialization.
24224
242252010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
24226
24227 Fix grub-emu build.
24228
24229 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
24230
cdb3f378
RM
242312010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
242322010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24233
24234 Support for multiple terminals.
24235
24236 * Makefile.in (pkglib_DATA): terminal.lst.
24237 (terminal.lst): New target.
24238 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
24239 (GRUB_MOD_INIT(handler)): Likewise.
24240 (GRUB_MOD_FINI(handler)): Likewise.
24241 * commands/help.c (grub_cmd_help): Handle multiple terminals.
24242 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
24243 * commands/sleep.c (do_print): Use grub_term_restore_pos.
24244 (grub_cmd_sleep): Use grub_term_save_pos.
24245 * commands/terminal.c: New file.
24246 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
24247 commands/terminal.c and lib/charset.c.
24248 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
24249 (pkglib_MODULES): Add terminal.mod.
24250 (terminal_mod_SOURCES): New variable.
24251 (terminal_mod_CFLAGS): Likewise.
24252 (terminal_mod_LDFLAGS): Likewise.
24253 * genhandlerlist.sh: Don't handle terminals.
24254 * genmk.rb: Generate terminal-*.lst.
24255 * genterminallist.sh: New file.
24256 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
24257 (grub_is_valid_utf8): Likewise.
24258 (grub_utf8_to_ucs4_alloc): Likewise.
24259 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
24260 (grub_menu_register_viewer): Changed argument.
24261 (grub_menu_try_text): New proto.
24262 (grub_gfxmenu_try_hook): New declaration.
24263 * include/grub/normal.h (grub_normal_exit_level): New declaration.
24264 (grub_menu_init_page): Additional argument term.
24265 (grub_normal_init_page): Likewise.
24266 (grub_cmdline_get): Arguments simplified.
24267 (grub_utf8_to_ucs4_alloc): Removed.
24268 (grub_print_ucs4): Additional argument term.
24269 (grub_getstringwidth): Likewise.
24270 (grub_print_message_indented): Likewise.
24271 (grub_menu_text_register_instances): New proto.
24272 (grub_show_menu): Likewise.
24273 (read_terminal_list): Likewise.
24274 (grub_set_more): Likewise.
24275 * include/grub/parser.h: Include handler.h.
24276 * include/grub/reader.h: Rewritten.
24277 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
24278 (GRUB_TERM_WIDTH): Changed to function.
24279 (GRUB_TERM_HEIGHT): Likewise.
24280 (GRUB_TERM_BORDER_WIDTH): Likewise.
24281 (GRUB_TERM_BORDER_HEIGHT): Likewise.
24282 (GRUB_TERM_NUM_ENTRIES): Likewise.
24283 (GRUB_TERM_ENTRY_WIDTH): Likewise.
24284 (GRUB_TERM_CURSOR_X): Likewise.
24285 (grub_term_input_class): Likewise.
24286 (grub_term_output_class): Likewise.
24287 (grub_term_outputs_disabled): New declaration.
24288 (grub_term_inputs_disabled): Likewise.
24289 (grub_term_outputs): Likewise.
24290 (grub_term_inputs): Likewise.
24291 (grub_term_register_input): Rewritten.
24292 (grub_term_register_output): Likewise.
24293 (grub_term_unregister_input): Likewise.
24294 (grub_term_unregister_output): Likewise.
24295 (FOR_ACTIVE_TERM_INPUTS): New macro.
24296 (FOR_DISABLED_TERM_INPUTS): Likewise.
24297 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
24298 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
24299 * include/grub/terminfo.h: Add oterm argument to all protypes.
24300 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
24301 Use grub_rescue_run.
24302 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
24303 All users updated.
24304 * kern/reader.c: Removed. All users updated.
24305 * kern/rescue_reader.c (grub_rescue_init): Removed.
24306 (grub_rescue_reader): Likewise.
24307 (grub_register_rescue_reader): Likewise.
24308 (grub_rescue_run): New function based on kern/reader.c.
24309 * kern/term.c: Adapted for multiterm.
24310 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
24311 (grub_is_valid_utf8): Likewise.
24312 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
24313 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
24314 right terminal.
24315 * loader/i386/linux.c (grub_linux_boot): Likewise.
24316 * normal/auth.c (grub_username_get): New function.
24317 (grub_auth_check_authentication): Use grub_username_get.
24318 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
24319 * normal/color.c: Adapt for multiterm.
24320 * normal/main.c (read_config_file): Don't use grub_reader_loop.
24321 (grub_normal_init_page): Additional argument term.
24322 (read_lists): Call read_terminal_lists.
24323 (grub_enter_normal_mode): Call grub_cmdline_run.
24324 Handle grub_normal_exit_level.
24325 (grub_cmd_normal): Make reentrant.
24326 (grub_cmd_normal_exit): New function.
24327 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
24328 * normal/menu.c: Adapt for multiterm.
24329 * normal/menu_entry.c: Likewise.
24330 * normal/menu_text.c: Likewise.
24331 * normal/menu_viewer.c: Removed. All users updated.
24332 * normal/term.c: New file.
24333 * util/console.c: Change order of includes to workaround a bug in
24334 ncurses headers.
24335 * term/terminfo.c: New argument oterm on all exported functions.
24336 All users updated.
24337 * util/grub-editenv.c (grub_term_input_class): Removed.
24338 (grub_term_output_class): Likewise.
24339
1a064917
RM
243402010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24341
24342 Make loader output a bit more user-friendly.
24343
24344 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
24345 is being loaded. Likewise for the Hurd.
24346
24347 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
24348 that kernel of FreeBSD ${version} is being loaded.
24349
24350 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
24351 grub_dprintf().
24352 (grub_cmd_initrd): Likewise.
24353 * util/grub.d/10_linux.in (linux_entry): Print message indicating
24354 that Linux ${version} is being loaded. Likewise for initrd.
24355
5ce0a83a 243562010-01-09 Carles Pina i Estany <carles@pina.cat>
24357
24358 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
24359
809bbfeb 243602010-01-08 Carles Pina i Estany <carles@pina.cat>
24361
24362 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
24363 (GRUB_MOD_INIT): Gettextizze.
24364 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
24365 (GRUB_MOD_INIT): Gettextizze.
24366 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
24367 (grub_cmd_linux): Capitalise Linux.
24368 (GRUB_MOD_INIT): Gettextizze.
24369 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
24370 (grub_cmd_linux): Capitalise Linux.
24371 (GRUB_MOD_INIT): Gettextizze.
24372 * loader/i386/linux.c: Include `<grub/i18n.h>'.
24373 (grub_cmd_linux): Capitalise Linux.
24374 (GRUB_MOD_INIT): Gettextizze.
24375 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
24376 (GRUB_MOD_INIT): Gettextizze.
24377 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
24378 (grub_cmd_linux): Capitalise Linux.
24379 (GRUB_MOD_INIT): Gettextizze.
24380 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
24381 (grub_cpu_xnu_init): Gettextizze.
24382 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
24383 (GRUB_MOD_INIT): Gettextizze.
24384 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
24385 (GRUB_MOD_INIT): Gettextizze.
24386 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
24387 (grub_linux_load64): Capitalise Linux.
24388 (GRUB_MOD_INIT): Gettextizze.
24389 * loader/xnu.c: Include `<grub/i18n.h>'.
24390 (GRUB_MOD_INIT): Gettextizze.
24391 * po/POTFILES: Add `loader/efi/appleloader.c',
24392 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
24393 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
24394 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
24395 `loader/i386/xnu.c', `loader/multiboot_loader.c',
24396 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
24397 and `loader/xnu.c'.
24398
b394b2ca
RM
243992010-01-08 Robert Millan <rmh.grub@aybabtu.com>
24400
24401 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
24402
244032010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
24404
24405 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
24406 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
24407 * util/mkisofs/mkisofs.c (main): Readjust --version output.
24408
bc8b32b3
RM
244092010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24410
24411 Reset Multiboot 2 support. New loader implements the draft in
24412 /branches/multiboot2 and shares as much code as possible with the
24413 production Multiboot 1 implementation.
24414
24415 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
24416 * loader/multiboot2.c: Likewise.
24417 * loader/i386/multiboot_helper.S: Likewise.
24418 * include/multiboot2.h: Replace with latest version from the draft
24419 in /branches/multiboot2.
24420
24421 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
24422 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
24423 and `loader/multiboot2.c'.
24424 (pkglib_MODULES): Add `multiboot2.mod'.
24425 (multiboot2_mod_SOURCES): New variable.
24426 (multiboot2_mod_LDFLAGS): Likewise.
24427 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
24428
24429 * conf/i386-pc.rmk: Likewise.
24430
24431 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24432 (multiboot_mod_SOURCES): Remove variable.
24433 (multiboot_mod_LDFLAGS): Likewise.
24434 (multiboot_mod_CFLAGS): Likewise.
24435
24436 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
24437 `<multiboot2.h>' instead of `<multiboot.h>'.
24438 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
24439 (MULTIBOOT_HEADER_MAGIC): New macros.
24440
24441 * loader/multiboot_loader.c (module_version_status): Remove variable.
24442 (find_multi_boot2_header): Remove function.
24443 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
24444 logic. Always check for the Multiboot version we're compiling for.
24445 (grub_cmd_module_loader): Likewise.
24446 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
24447 command instead of `multiboot'.
24448
5d2c52b8
RM
244492010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24450
24451 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
24452 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
24453 all users.
24454
53108d92
RM
244552010-01-07 Robert Millan <rmh.grub@aybabtu.com>
244562010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24457
24458 Fix breakage introduced with previous commit.
24459
24460 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
24461 commands.
24462 * normal/handler.c (read_handler_list): Revert part of previous commit
24463 affecting this file.
24464 * normal/main.c (read_lists): Move read_handler_list() call back to ...
24465 (grub_normal_execute): ... here.
24466
e2e936b2
RM
244672010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24468
24469 Merge prefix-redefinition-fix branch.
24470
24471 * normal/autofs.c (read_fs_list): Make function capable of being
24472 run multiple times, gracefuly replacing the previous data
24473 structures.
24474 * normal/dyncmd.c (read_command_list): Likewise.
24475 * normal/handler.c (read_handler_list): Likewise.
24476 * normal/main.c (read_lists): New function. Calls all the
24477 list reading functions.
24478 (grub_normal_execute): Use read_lists() instead of calling all
24479 list reading functions explicitly. Register read_lists() as a
24480 variable hook attached to ${prefix}.
24481
607a3701
VS
244822010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24483
24484 Merge crypto branch.
24485
24486 * Makefile.in (pkglib_DATA): Add crypto.lst.
24487 (crypto.lst): New target.
24488 * commands/hashsum.c: New file.
24489 * commands/password.c (check_password): Use grub_crypto_memcmp.
24490 * commands/password_pbkdf2.c: New file.
24491 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
24492 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
24493 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
24494 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
24495 -I$(srcdir)/lib/libgcrypt_wrap.
24496 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
24497 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
24498 password_pbkdf2.mod.
24499 (crypto_mod_SOURCES): New variable.
24500 (crypto_mod_CFLAGS): Likewise.
24501 (crypto_mod_LDFLAGS): Likewise.
24502 (hashsum_mod_SOURCES): New variable.
24503 (hashsum_mod_CFLAGS): Likewise.
24504 (hashsum_mod_LDFLAGS): Likewise.
24505 (pbkdf2_mod_SOURCES): New variable.
24506 (pbkdf2_mod_CFLAGS): Likewise.
24507 (pbkdf2_mod_LDFLAGS): Likewise.
24508 (password_pbkdf2_mod_SOURCES): New variable.
24509 (password_pbkdf2_mod_CFLAGS): Likewise.
24510 (password_pbkdf2_mod_LDFLAGS): Likewise.
24511 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
24512 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
24513 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
24514 Include conf/gcry.rmk.
24515 * include/grub/auth.h: Rewritten.
24516 * include/grub/crypto.h: New file.
24517 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
24518 * include/grub/normal.h (read_crypto_list): New prototype.
24519 * lib/crypto.c: New file.
24520 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24521 * lib/pbkdf2.c: Likewise.
24522 * normal/auth.c (grub_auth_strcmp): Removed.
24523 (grub_iswordseparator): Likewise.
24524 (grub_auth_strword): Likewise.
24525 (is_authenticated): Use grub_strword.
24526 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
24527 and grub_strword. Pass entered password to authentication callback.
24528 * normal/crypto.c: New file.
24529 * normal/main.c: Call read_crypto_list.
24530 * util/grub-mkpasswd-pbkdf2.c: New file.
24531 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
24532
42841caa
VS
245332010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
24534
24535 Fix descent and ascent calculation.
24536
24537 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
24538 (options): New option "asce".
24539 (usage): Likewise.
24540 (add_char): Ignore invalid glyphs for descent calculation.
24541 Calculate ascent from actual content.
24542 (print_glyphs): Use 'asce'.
24543 (write_font): Likewise. Allow ascent override.
24544 (main): Handle "asce" option.
24545
e7730de7 245462010-01-06 Carles Pina i Estany <carles@pina.cat>
24547
24548 * kern/err.c: Include `<grub/i18n.h>'.
24549 (grub_print_error): Add full stop. Gettextizze.
24550 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
24551 (grub_bsd_load_elf): Capitalise ELF.
24552 (grub_cmd_freebsd_loadenv): Add `s' in error string.
24553 (grub_cmd_freebsd_module): Likewise.
24554 (grub_cmd_freebsd_module_elf): Likewise.
24555 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
24556
40e3a41f 245572010-01-06 Carles Pina i Estany <carles@pina.cat>
24558
24559 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
24560 * commands/search_file.c (HELP_MESSAGE): New macro.
24561 * commands/search_label.c (HELP_MESSAGE): Likewise.
24562 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
24563 * po/POTFILES: Add `commands/search_file.c',
24564 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
24565 `commands/search.c'.
24566
83507e68
RM
245672010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24568
24569 * config.rpath: Update from Gnulib.
24570
465c787b
YB
245712010-01-05 Yves Blusseau <blusseau@zetam.org>
24572
24573 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
24574
6581dd3a
YB
245752010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
24576
24577 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
24578
3bff18c5
CW
245792010-01-05 Colin Watson <cjwatson@ubuntu.com>
24580
24581 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
24582 arguments to fread so that we get a return value in bytes, rather
24583 than something that will normally be rounded down to 0.
24584 Adjust error handling to avoid producing garbage when size_t is not
24585 the same size as long long.
24586
a1368118
CW
245872010-01-05 Colin Watson <cjwatson@ubuntu.com>
24588
24589 * util/mkisofs/write.c (padblock_write): Check return value of
24590 fread.
24591
7c302978
RM
245922010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24593
24594 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
24595 floppy images now.
24596
24597 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
24598
e33ace06
RM
245992010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24600
24601 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
24602 instead of manual alignment.
24603 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
24604 verbose). Avoid attempts to read past end of the device
24605 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
24606 but GRUB_DISK_CACHE_SIZE may exceed that).
24607
4b856776
RM
246082010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24609
24610 * commands/crc.c (grub_cmd_crc): Abort on read errors.
24611 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
24612 it to upper layer.
24613
52c2d97f
VS
246142010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24615
24616 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
24617 New constant.
24618 (grub_efi_piwg_device_path): New structure
24619 (grub_efi_piwg_device_path_t): New type.
24620 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
24621 (devpath_1): Transform to a structure. All users updated.
24622 (devpath_2): Likewise.
24623 (devpath_3): Likewise.
24624 (devpath_4): Likewise.
24625 (devpath_5): Likewise.
24626
98ff6a54
VS
246272010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24628
24629 * loader/efi/appleloader.c: Restored. Update all users.
24630
3a73dcb6
RM
246312010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24632
24633 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
24634
24635 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
24636 (struct boot_blocklist): Move from here ...
24637 * include/grub/i386/pc/boot.h [ASM_FILE]
24638 (struct grub_boot_blocklist): ... to here. Update all users.
24639 (setup): Only initialize `start' member of `first_block'
24640 structure. Add assert() calls to verify the other members.
24641
24642 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
24643 (generate_image): Fix broken blocklist length initialization.
24644 Add assert() call to verify blocklist `segment' field.
24645
ab0eeb0c
RM
246462010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24647
24648 * loader/efi/appleloader.c: Remove. Update all users.
24649
58bc8bd5
RM
246502010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24651
24652 * boot/i386/pc/boot.S: Update copyright year.
24653 * boot/i386/pc/cdboot.S: Likewise.
24654 * boot/i386/pc/diskboot.S: Likewise.
24655 * boot/i386/pc/lnxboot.S: Likewise.
24656 * boot/i386/pc/pxeboot.S: Likewise.
24657 * bus/pci.c: Likewise.
24658 * commands/cmp.c: Likewise.
24659 * commands/help.c: Likewise.
24660 * commands/hexdump.c: Likewise.
24661 * commands/i386/pc/halt.c: Likewise.
24662 * commands/i386/pc/play.c: Likewise.
24663 * commands/i386/pc/vbeinfo.c: Likewise.
24664 * commands/ls.c: Likewise.
24665 * commands/test.c: Likewise.
24666 * disk/dmraid_nvidia.c: Likewise.
24667 * disk/i386/pc/biosdisk.c: Likewise.
24668 * disk/ieee1275/nand.c: Likewise.
24669 * disk/ieee1275/ofdisk.c: Likewise.
24670 * disk/lvm.c: Likewise.
24671 * disk/raid.c: Likewise.
24672 * disk/raid6_recover.c: Likewise.
24673 * disk/scsi.c: Likewise.
24674 * fs/affs.c: Likewise.
24675 * fs/cpio.c: Likewise.
24676 * fs/ext2.c: Likewise.
24677 * fs/hfs.c: Likewise.
24678 * fs/iso9660.c: Likewise.
24679 * fs/ntfs.c: Likewise.
24680 * fs/sfs.c: Likewise.
24681 * fs/udf.c: Likewise.
24682 * fs/ufs.c: Likewise.
24683 * fs/xfs.c: Likewise.
24684 * gencmdlist.sh: Likewise.
24685 * genmk.rb: Likewise.
24686 * include/grub/disk.h: Likewise.
24687 * include/grub/efi/api.h: Likewise.
24688 * include/grub/efi/efi.h: Likewise.
24689 * include/grub/efi/pe32.h: Likewise.
24690 * include/grub/elf.h: Likewise.
24691 * include/grub/fs.h: Likewise.
24692 * include/grub/i386/at_keyboard.h: Likewise.
24693 * include/grub/i386/pc/memory.h: Likewise.
24694 * include/grub/i386/pc/vbe.h: Likewise.
24695 * include/grub/i386/pci.h: Likewise.
24696 * include/grub/i386/tsc.h: Likewise.
24697 * include/grub/ieee1275/ieee1275.h: Likewise.
24698 * include/grub/ntfs.h: Likewise.
24699 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24700 * include/grub/sparc64/libgcc.h: Likewise.
24701 * include/grub/symbol.h: Likewise.
24702 * include/grub/types.h: Likewise.
24703 * include/multiboot2.h: Likewise.
24704 * io/gzio.c: Likewise.
24705 * kern/device.c: Likewise.
24706 * kern/disk.c: Likewise.
24707 * kern/efi/efi.c: Likewise.
24708 * kern/efi/mm.c: Likewise.
24709 * kern/elf.c: Likewise.
24710 * kern/file.c: Likewise.
24711 * kern/i386/dl.c: Likewise.
24712 * kern/i386/pc/init.c: Likewise.
24713 * kern/i386/pc/startup.S: Likewise.
24714 * kern/ieee1275/ieee1275.c: Likewise.
24715 * kern/ieee1275/init.c: Likewise.
24716 * kern/main.c: Likewise.
24717 * kern/mm.c: Likewise.
24718 * kern/powerpc/dl.c: Likewise.
24719 * kern/sparc64/dl.c: Likewise.
24720 * kern/x86_64/dl.c: Likewise.
24721 * lib/hexdump.c: Likewise.
24722 * loader/efi/appleloader.c: Likewise.
24723 * loader/i386/ieee1275/linux.c: Likewise.
24724 * loader/i386/pc/chainloader.c: Likewise.
24725 * loader/i386/pc/linux.c: Likewise.
24726 * loader/i386/pc/multiboot2.c: Likewise.
24727 * loader/ieee1275/multiboot2.c: Likewise.
24728 * loader/multiboot2.c: Likewise.
24729 * loader/multiboot_loader.c: Likewise.
24730 * loader/powerpc/ieee1275/linux.c: Likewise.
24731 * normal/completion.c: Likewise.
24732 * normal/menu_entry.c: Likewise.
24733 * partmap/apple.c: Likewise.
24734 * util/grub.d/10_hurd.in: Likewise.
24735 * util/hostfs.c: Likewise.
24736 * video/readers/png.c: Likewise.
24737
e2d70b5c
CW
247382010-01-03 Colin Watson <cjwatson@ubuntu.com>
24739
24740 * include/grub/misc.h (GNUC_PREREQ): New macro.
24741 (ATTRIBUTE_ERROR): New macro.
24742 * include/grub/list.h (grub_bad_type_cast_real): Use
24743 ATTRIBUTE_ERROR.
24744
a173283f 247452010-01-03 Carles Pina i Estany <carles@pina.cat>
24746
24747 * normal/menu_text.c (print_message): Change messages.
24748
7fa7ff74 247492010-01-03 Carles Pina i Estany <carles@pina.cat>
24750
24751 * normal/menu_entry.c (store_completion): Gettextizze.
24752
136d24f6 247532010-01-03 Carles Pina i Estany <carles@pina.cat>
24754
24755 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
24756
f936862e 247572010-01-03 Carles Pina i Estany <carles@pina.cat>
24758
24759 * po/POTFILES: Sort correctly.
24760
29c44ad1 247612010-01-03 Carles Pina i Estany <carles@pina.cat>
24762
24763 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
24764 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
24765 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
24766 full stop.
24767 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
24768 summary. Gettextizze the strings.
24769 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
24770 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
24771 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
24772 full stop.
24773 (GRUB_MOD_INIT): Remove command name from summary.
24774 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
24775 summary.
24776 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
24777 * term/i386/pc/serial.c (options): Add full stops.
24778 (GRUB_MOD_INIT): Remove command name from the summary.
24779
77a79592 247802010-01-03 Carles Pina i Estany <carles@pina.cat>
24781
24782 * commands/acpi.c: Gettextizze help strings and/or options. Include
24783 `grub/i18n.h' if needed.
24784 * commands/blocklist.c: Likewise.
24785 * commands/boot.c: Likewise.
24786 * commands/cat.c: Likewise.
24787 * commands/cmp.c: Likewise.
24788 * commands/configfile.c: Likewise.
24789 * commands/crc.c: Likewise.
24790 * commands/date.c: Likewise.
24791 * commands/echo.c: Likewise.
24792 * commands/efi/fixvideo.c: Likewise.
24793 * commands/efi/loadbios.c: Likewise.
24794 * commands/gptsync.c: Likewise.
24795 * commands/halt.c: Likewise.
24796 * commands/handler.c: Likewise.
24797 * commands/hdparm.c: Likewise.
24798 * commands/hexdump.c: Likewise.
24799 * commands/i386/cpuid.c: Likewise.
24800 * commands/i386/pc/drivemap.c: Likewise.
24801 * commands/i386/pc/halt.c: Likewise.
24802 * commands/i386/pc/pxecmd.c: Likewise.
24803 * commands/i386/pc/vbeinfo.c: Likewise.
24804 * commands/i386/pc/vbetest.c: Likewise.
24805 * commands/ieee1275/suspend.c: Likewise.
24806 * commands/keystatus.c: Likewise.
24807 * commands/loadenv.c: Likewise.
24808 * commands/ls.c: Likewise.
24809 * commands/lsmmap.c: Likewise.
24810 * commands/lspci.c: Likewise.
24811 * commands/memrw.c: Likewise.
24812 * commands/minicmd.c: Likewise.
24813 * commands/parttool.c: Likewise.
24814 * commands/password.c: Likewise.
24815 * commands/probe.c: Likewise.
24816 * commands/read.c: Likewise.
24817 * commands/reboot.c: Likewise.
24818 * commands/search.c: Likewise.
24819 * commands/sleep.c: Likewise.
24820 * commands/test.c: Likewise.
24821 * commands/true.c: Likewise.
24822 * commands/usbtest.c: Likewise.
24823 * commands/videotest.c: Likewise.
24824 * commands/xnu_uuid.c: Likewise.
24825 * disk/loopback.c: Likewise.
24826 * hello/hello.c: Likewise.
24827 * loader/i386/bsd.c: Likewise.
24828 * term/i386/pc/serial.c: Likewise.
24829 * po/POTFILES: Add new files.
24830
da8d5c53
CW
248312010-01-02 Colin Watson <cjwatson@ubuntu.com>
24832
24833 * term/i386/pc/at_keyboard.c
24834 (keyboard_controller_wait_untill_ready): Rename to ...
24835 (keyboard_controller_wait_until_ready): ... this. Update all users.
24836
33937904 248372010-01-01 Carles Pina i Estany <carles@pina.cat>
24838
24839 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
24840 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
24841 string using string width.
24842 * normal/menu_text.c (grub_print_message_indented): Use
24843 grub_print_spaces and not print_spaces.
24844 (print_timeout): Likewise.
24845 (print_spaces): Move to...
24846 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
24847
3fd3b8d8
RM
248482010-01-01 Robert Millan <rmh.grub@aybabtu.com>
24849
24850 Import from Gnulib.
24851
24852 * gnulib/getdelim.c: New file.
24853 * gnulib/getline.c: Likewise.
24854
33433555
VS
248552009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
24856
24857 * include/grub/list.h (grub_assert_fail): Removed.
24858 (grub_bad_type_cast_real): New function.
24859 (grub_bad_type_cast): New macro.
24860 (GRUB_AS_LIST): Use grub_bad_type_cast.
24861 (GRUB_AS_LIST_P): Likewise.
e44721e8 24862 (GRUB_AS_NAMED_LIST): Likewise.
33433555 24863 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 24864 (GRUB_AS_PRIO_LIST): Likewise.
33433555 24865 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 24866 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 24867
f5a51306
VS
248682009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24869
24870 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24871 Fix syntax error.
24872
90d1e879
RM
248732009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24874
24875 * configure.ac: Check for TARGET_CFLAGS initialization before we
24876 initialize it ourselves (sigh).
24877 Move a few modifications to TARGET_CFLAGS to be unconditional
24878 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24879 eh_frame)
24880
24881 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24882 * term/i386/pc/at_keyboard.c
24883 (keyboard_controller_wait_untill_ready): Likewise.
24884 (keyboard_controller_led): Rename `led_status' paramter to avoid
24885 name conflict.
24886
465b5a81 248872009-12-28 Carles Pina i Estany <carles@pina.cat>
24888
24889 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24890 quotes.
24891
c181849b
VS
248922009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24893
24894 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24895
9c8739a4
VS
248962009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24897
24898 * normal/menu_text.c (grub_print_message_indented): Prevent
24899 past-the-end-of-array dereference.
24900
3e74249c
VS
249012009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24902
24903 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24904 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24905
64fd18ed 249062009-12-27 Carles Pina i Estany <carles@pina.cat>
24907
24908 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24909 * normal/main.c (grub_normal_read_line): Remove a space from the
24910 default prompt.
24911
714af9b9 249122009-12-27 Carles Pina i Estany <carles@pina.cat>
24913
24914 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24915 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24916 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24917 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24918 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24919 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24920 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24921
82f3e412 249222009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 24923
24924 * video/readers/jpeg.c (cmd): Declare.
24925 (grub_cmd_jpegtest): Use `grub_command_t' type.
24926 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24927 Assign to `cmd'.
24928 (GRUB_MOD_FINI): Use `cmd' to unregister.
24929 * video/readers/png.c (cmd): Declare.
24930 (grub_cmd_pngtest): Use `grub_command_t' type.
24931 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24932 Assign to `cmd'.
24933 (GRUB_MOD_FINI): Use `cmd' to unregister.
24934 * video/readers/tga.c (cmd): Declare.
24935 (grub_cmd_tgatest): Use `grub_command_t' type.
24936 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24937 Assign to `cmd'.
24938 (GRUB_MOD_FINI): Use `cmd' to unregister.
24939
82f3e412 249402009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 24941
24942 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24943 stops.
24944 * kern/corecmd.c (grub_register_core_commands): Likewise.
24945 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24946 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24947 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24948 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24949 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24950 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24951 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24952 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24953 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24954 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24955 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24956 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24957 * normal/handler.c (insert_handler): Likewise.
24958 * normal/main.c (GRUB_MOD_INIT): Likewise.
24959 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24960
fdcdbb66 249612009-12-26 Carles Pina i Estany <carles@pina.cat>
24962
24963 * commands/help.c (grub_cmd_help): Print the command name before the
24964 summary.
24965 (GRUB_MOD_INIT): Remove command name from the summary.
24966 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 24967 string as summary.
fdcdbb66 24968 * lib/arg.c (find_long): Print the command name before the summary.
24969 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24970 summary.
24971 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24972 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24973 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24974 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24975 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24976 * commands/date.c (GRUB_MOD_INIT): Likewise.
24977 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24978 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24979 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24980 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24981 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24982 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24983 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24984 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24985 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24986 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24987 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24988 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24989 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24990 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24991 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24992 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24993 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24994 * commands/password.c (GRUB_MOD_INIT): Likewise.
24995 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24996 * commands/read.c (GRUB_MOD_INIT): Likewise.
24997 * commands/search.c (GRUB_MOD_INIT): Likewise.
24998 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24999 * commands/test.c (GRUB_MOD_INIT): Likewise.
25000 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
25001 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
25002 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
25003 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
25004 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
25005 * lib/arg.c (GRUB_MOD_INIT): Likewise.
25006 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
25007 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
25008 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
25009 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
25010 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
25011 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
25012 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
25013 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
25014
9c288be2
VS
250152009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
25016
25017 Use search command for preliminar UUID search.
25018
25019 * commands/search.c: Split into ...
25020 * commands/search_wrap.c: ...this
25021 * commands/search.c: ...and this.
25022 * commands/search_file.c: New file.
25023 * commands/search_label.c: New file.
25024 * commands/search_uuid.c: New file.
25025 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
25026 Add commands/search_wrap.c, commands/search_file.c,
25027 commands/search_label.c and commands/search_uuid.c.
25028 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
25029 (search_mod_SOURCES): Set to commands/search_wrap.c.
25030 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
25031 search_label.mod.
25032 (search_fs_file_mod_SOURCES): New variable.
25033 (search_fs_file_mod_CFLAGS): Likewise.
25034 (search_fs_file_mod_LDFLAGS): Likewise.
25035 (search_label_mod_SOURCES): Likewise.
25036 (search_label_mod_CFLAGS): Likewise.
25037 (search_label_mod_LDFLAGS): Likewise.
25038 (search_fs_uuid_mod_SOURCES): New variable.
25039 (search_fs_uuid_mod_CFLAGS): Likewise.
25040 (search_fs_uuid_mod_LDFLAGS): Likewise.
25041 (fs_file_mod_SOURCES): Removed.
25042 (fs_file_mod_CFLAGS): Likewise.
25043 (fs_file_mod_LDFLAGS): Likewise.
25044 (fs_uuid_mod_SOURCES): Removed.
25045 (fs_uuid_mod_CFLAGS): Likewise.
25046 (fs_uuid_mod_LDFLAGS): Likewise.
25047 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
25048 Set to util/grub-install.in.
25049 * disk/fs_file.c: Removed.
25050 * disk/fs_uuid.c: Likewise.
25051 * include/grub/search.h: New file.
25052 * util/grub-install.in: Handle sparc64.
25053 Create and use load.cfg.
25054 * util/sparc64/ieee1275/grub-install.in: Removed.
25055
db943399
VS
250562009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
25057
25058 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
25059 Ignore return status if CF is cleared.
25060 (grub_biosdisk_get_diskinfo_standard): Likewise.
25061
3fdae612
RM
250622009-12-25 Robert Millan <rmh.grub@aybabtu.com>
25063
25064 * term/i386/pc/at_keyboard.c
25065 (keyboard_controller_wait_untill_ready): New function.
25066 (grub_keyboard_controller_write, grub_keyboard_controller_read)
25067 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
25068 for keyboard polling, rather than duplicate the same loop. This
25069 saves a few bytes in code size.
25070
7ebaa2b4
VS
250712009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
25072
25073 Support for (pxe[:server[:gateway]]) syntax and
25074 use environment variable for PXE.
25075
25076 * commands/i386/pc/pxecmd.c (options): Removed.
25077 (print_ip): Removed.
25078 (grub_cmd_pxe): Removed
25079 (grub_cmd_pxe_unload): New function.
25080 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
25081 (grub_pxe_your_ip): Made static.
25082 (grub_pxe_default_server_ip): Likewise.
25083 (grub_pxe_default_gateway_ip): Likewise.
25084 (grub_pxe_blksize): Likewise.
25085 (parse_ip): New function.
25086 (grub_pxe_open): Support server and gateway specification.
25087 (grub_pxe_close): Free disk->data.
25088 (grub_pxefs_open): Use disk->data.
25089 (grub_pxefs_read): Likewise.
25090 (grub_env_write_readonly): New function.
25091 (set_mac_env): Likewise.
25092 (set_env_limn_ro): Likewise.
25093 (parse_dhcp_vendor): Likewise.
25094 (grub_pxe_detect): Set the environment variables.
25095 (set_ip_env): New function.
25096 (write_ip_env): Likewise.
25097 (grub_env_write_pxe_default_server): Likewise.
25098 (grub_env_write_pxe_default_gateway): Likewise.
25099 (grub_env_write_pxe_blocksize): Likewise.
25100 (GRUB_MOD_INIT(pxe)): Set environment variables.
25101 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
25102 (grub_pxe_mac_addr_t): ... this. All users updated.
25103 (grub_pxe_your_ip): Removed.
25104 (grub_pxe_server_ip): Likewise.
25105 (grub_pxe_gateway_ip): Likewise.
25106 (grub_pxe_blksize): Likewise.
25107
ec5f98ab 251082009-12-25 Carles Pina i Estany <carles@pina.cat>
25109
25110 * commands/help.c: Include `<grub/i18n.h>'.
25111 (grub_cmd_help): Gettextizze.
25112 (GRUB_MOD_INIT): Likewise.
25113 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
25114 (GRUB_MOD_INIT): Gettextizze.
25115 * commands/search.c: Include `<grub/i18n.h>'.
25116 (options): Gettextizze.
25117 (GRUB_MOD_INIT): Gettextizze.
25118 * lib/arg.c: Include `<grub/i18n.h>'.
25119 (help_options): Gettextizze.
25120 (find_long): Likewise.
25121 (grub_arg_show_help): Likewise.
25122 * normal/dyncmd.c: Include `<grub/i18n.h>'.
25123 (read_command_list): Gettextizze.
25124 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 25125 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 25126
22815526
RM
251272009-12-25 Robert Millan <rmh.grub@aybabtu.com>
25128
25129 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
25130 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
25131 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
25132 (led_status): New variable.
25133 (keyboard_controller_led): New function.
25134 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
25135 update led status for caps lock, num lock and scroll lock.
25136
0ad46fd7
FZ
251372009-12-25 Felix Zielcke <fzielcke@z-51.de>
25138
25139 * util/hostdisk.c (open_device): Fix a comment.
25140
d0e158c2
RM
251412009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25142
25143 * util/grub-install.in (host_os): New variable.
25144 * util/i386/efi/grub-install.in (host_os): Likewise.
25145
401c0ad6
RM
251462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25147
25148 * util/mkisofs/write.c (padblock_write): Abort when given an
25149 excedingly large embed image, instead of silently truncating it.
25150
d14d3370
RM
251512009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25152
25153 * include/multiboot.h: Indentation fixes.
25154
eeed10b4
RM
251552009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25156
25157 * include/multiboot.h (struct multiboot_aout_symbol_table)
25158 (struct multiboot_elf_section_header_table): New structure
25159 declarations (stolen from GRUB Legacy).
25160 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
25161 table information.
25162
25163 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
25164 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
25165 type aliases.
25166
681c70ab
RM
251672009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25168
25169 * include/multiboot.h: Make comments src2texi-friendly.
25170
e4d47d8d
RM
251712009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25172
25173 For consistency with [multiboot]/docs/boot.S.
25174
25175 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
25176 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
25177 (MULTIBOOT_MAGIC2): Rename from this ...
25178 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
25179
a0b70bda
RM
251802009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25181
25182 * include/multiboot.h: Remove `<grub/types.h>'.
25183 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
25184 types. Update all users.
25185
61ba42be 251862009-12-25 Carles Pina i Estany <carles@pina.cat>
25187
25188 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
25189 `couldn't' and `can not' by `cannot'.
25190 * commands/i386/pc/drivemap.c: Likewise.
25191 * disk/ata.c: Likewise.
25192 * disk/ieee1275/nand.c: Likewise.
25193 * fs/affs.c: Likewise.
25194 * fs/fat.c: Likewise.
25195 * fs/hfs.c: Likewise.
25196 * fs/hfsplus.c: Likewise.
25197 * fs/iso9660.c: Likewise.
25198 * fs/jfs.c: Likewise.
25199 * fs/minix.c: Likewise.
25200 * fs/reiserfs.c: Likewise.
25201 * fs/sfs.c: Likewise.
25202 * fs/udf.c: Likewise.
25203 * fs/ufs.c: Likewise.
25204 * fs/xfs.c: Likewise.
25205 * loader/powerpc/ieee1275/linux.c: Likewise.
25206 * loader/sparc64/ieee1275/linux.c: Likewise.
25207 * util/grub-probe.c: Likewise.
25208 * util/misc.c: Likewise.
25209
7fd0baee 252102009-12-24 Carles Pina i Estany <carles@pina.cat>
25211
25212 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
25213 grub_errno calls.
25214 * commands/acpi.c: Likewise.
25215 * commands/blocklist.c: Likewise.
25216 * commands/efi/loadbios.c: Likewise.
25217 * commands/i386/pc/drivemap.c: Likewise.
25218 * commands/loadenv.c: Likewise.
25219 * commands/memrw.c: Likewise.
25220 * commands/password.c: Likewise.
25221 * commands/videotest.c: Likewise.
25222 * disk/ata.c: Likewise.
25223 * disk/ata_pthru.c: Likewise.
25224 * disk/dmraid_nvidia.c: Likewise.
25225 * disk/ieee1275/nand.c: Likewise.
25226 * disk/ieee1275/ofdisk.c: Likewise.
25227 * disk/loopback.c: Likewise.
25228 * disk/lvm.c: Likewise.
25229 * disk/mdraid_linux.c: Likewise.
25230 * disk/raid.c: Likewise.
25231 * disk/raid6_recover.c: Likewise.
25232 * disk/scsi.c: Likewise.
25233 * efiemu/main.c: Likewise.
25234 * efiemu/mm.c: Likewise.
25235 * efiemu/pnvram.c: Likewise.
25236 * efiemu/symbols.c: Likewise.
25237 * font/font.c: Likewise.
25238 * fs/cpio.c: Likewise.
25239 * fs/hfsplus.c: Likewise.
25240 * fs/iso9660.c: Likewise.
25241 * fs/jfs.c: Likewise.
25242 * fs/minix.c: Likewise.
25243 * fs/ntfs.c: Likewise.
25244 * fs/ntfscomp.c: Likewise.
25245 * fs/reiserfs.c: Likewise.
25246 * fs/ufs.c: Likewise.
25247 * fs/xfs.c: Likewise.
25248 * gettext/gettext.c: Likewise.
25249 * include/grub/auth.h: Likewise.
25250 * kern/elf.c: Likewise.
25251 * kern/file.c: Likewise.
25252 * kern/ieee1275/init.c: Likewise.
25253 * kern/ieee1275/mmap.c: Likewise.
25254 * kern/ieee1275/openfw.c: Likewise.
25255 * kern/powerpc/dl.c: Likewise.
25256 * kern/sparc64/dl.c: Likewise.
25257 * lib/arg.c: Likewise.
25258 * loader/i386/bsd.c: Likewise.
25259 * loader/i386/bsdXX.c: Likewise.
25260 * loader/i386/efi/linux.c: Likewise.
25261 * loader/i386/efi/xnu.c: Likewise.
25262 * loader/i386/ieee1275/linux.c: Likewise.
25263 * loader/i386/linux.c: Likewise.
25264 * loader/i386/multiboot.c: Likewise.
25265 * loader/i386/pc/linux.c: Likewise.
25266 * loader/i386/pc/multiboot2.c: Likewise.
25267 * loader/i386/xnu.c: Likewise.
25268 * loader/ieee1275/multiboot2.c: Likewise.
25269 * loader/macho.c: Likewise.
25270 * loader/machoXX.c: Likewise.
25271 * loader/multiboot2.c: Likewise.
25272 * loader/multiboot_loader.c: Likewise.
25273 * loader/powerpc/ieee1275/linux.c: Likewise.
25274 * loader/sparc64/ieee1275/linux.c: Likewise.
25275 * loader/xnu.c: Likewise.
25276 * loader/xnu_resume.c: Likewise.
25277 * mmap/i386/pc/mmap.c: Likewise.
25278 * normal/menu_viewer.c: Likewise.
25279 * partmap/acorn.c: Likewise.
25280 * partmap/amiga.c: Likewise.
25281 * partmap/apple.c: Likewise.
25282 * script/lexer.c: Likewise.
25283 * term/gfxterm.c: Likewise.
25284 * term/i386/pc/serial.c: Likewise.
25285 * term/i386/pc/vga.c: Likewise.
25286 * term/ieee1275/ofconsole.c: Likewise.
25287 * term/terminfo.c: Likewise.
25288 * video/bitmap.c: Likewise.
25289 * video/efi_gop.c: Likewise.
25290 * video/efi_uga.c: Likewise.
25291 * video/fb/video_fb.c: Likewise.
25292 * video/i386/pc/vbe.c: Likewise.
25293 * video/readers/tga.c: Likewise.
25294 * video/video.c: Likewise.
25295
0ad46fd7 252962009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
25297
25298 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
25299 * commands/lspci.c: Likewise.
25300 * commands/probe.c: Likewise.
25301 * commands/xnu_uuid.c: Likewise.
25302 * conf/i386-coreboot.rmk: Likewise.
25303 * conf/i386-efi.rmk: Likewise.
25304 * conf/i386-ieee1275.rmk: Likewise.
25305 * conf/i386-pc.rmk: Likewise.
25306 * conf/powerpc-ieee1275.rmk: Likewise.
25307 * conf/sparc64-ieee1275.rmk: Likewise.
25308 * conf/x86_64-efi.rmk: Likewise.
25309 * fs/i386/pc/pxe.c: Likewise.
25310 * gettext/gettext.c: Likewise.
25311 * include/grub/efi/graphics_output.h: Likewise.
25312 * include/grub/i386/pc/memory.h: Likewise.
25313 * kern/env.c: Likewise.
25314 * kern/i386/qemu/startup.S: Likewise.
25315 * lib/i386/pc/biosnum.c: Likewise.
25316 * lib/i386/relocator.c: Likewise.
25317 * lib/i386/relocator_asm.S: Likewise.
25318 * lib/relocator.c: Likewise.
25319 * loader/i386/bsd.c: Likewise.
25320 * loader/i386/multiboot.c: Likewise.
25321 * loader/i386/pc/chainloader.c: Likewise.
25322 * loader/i386/xnu.c: Likewise.
25323 * loader/xnu.c: Likewise.
25324 * normal/main.c: Likewise.
25325 * normal/menu_text.c: Likewise.
25326 * util/getroot.c: Likewise.
25327 * util/grub-mkconfig_lib.in: Likewise.
25328 * util/grub.d/00_header.in: Likewise.
25329 * util/i386/pc/grub-mkimage.c: Likewise.
25330 * util/mkisofs/eltorito.c: Likewise.
25331 * util/mkisofs/exclude.h: Likewise.
25332 * util/mkisofs/hash.c: Likewise.
25333 * util/mkisofs/iso9660.h: Likewise.
25334 * util/mkisofs/joliet.c: Likewise.
25335 * util/mkisofs/mkisofs.c: Likewise.
25336 * util/mkisofs/mkisofs.h: Likewise.
25337 * util/mkisofs/multi.c: Likewise.
25338 * util/mkisofs/name.c: Likewise.
25339 * util/mkisofs/rock.c: Likewise.
25340 * util/mkisofs/tree.c: Likewise.
25341 * util/mkisofs/write.c: Likewise.
25342 * video/efi_gop.c: Likewise.
25343
009ec743
VS
253442009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
25345
25346 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
25347 size counting.
25348
0ad46fd7 253492009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
25350
25351 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
25352 * genmk.rb (class SCRIPT): Modify the target file instead of source.
25353
d3d30ea0
VS
253542009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25355
25356 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
25357 (GRUB_MOD_INIT(memrw)): Update help line.
25358
a34f5c70
VS
253592009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25360
25361 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
25362 Use grub_extcmd_t. All users updated.
25363 (options): New variable.
25364 (grub_cmd_read): Restructure for readability. Support "-v" option.
25365 (grub_cmd_write): Restructure for readability.
25366
0ad46fd7 253672009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
25368
25369 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
25370
0ad46fd7 253712009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
25372
25373 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
25374 with the actual contents of the correspondending make variable.
25375 * util/grub-mkrescue.in (pkglib_DATA): New variable.
25376 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
25377 specifying `*.lst' and `efiemu??.o'
25378
0ad46fd7 253792009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
25380
25381 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
25382 after function name.
25383 Noticed by Rene Engelhard <rene@debian.org>.
25384
dc77a799
VS
253852009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25386
25387 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
25388 (options): New variable.
25389 (iospace): Likewise.
25390 (grub_lspci_iter): List IO spaces if "-i" was given.
25391 (grub_cmd_lspci): Parse options.
25392 (GRUB_MOD_INIT(lspci)): Use extcmd.
25393 (GRUB_MOD_FINI(lspci)): Likewise.
25394
0ad46fd7 253952009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
25396
25397 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
25398 `function' keyword.
25399 Patch by Tony Mancill <tmancill@debian.org>.
25400
b5d5993b
VS
254012009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25402
25403 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
25404 (grub_uhci_portstatus): Likewise.
25405 (grub_uhci_portstatus): Add necessary delay.
11d18281 25406 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 25407
941903f2 254082009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 25409
941903f2 25410 * commands/acpi.c (options): Fix capitalizations and/or full stops.
25411 (GRUB_MOD_INIT): Likewise.
25412 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 25413 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
25414 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 25415 * commands/efi/loadbios.c (enable_rom_area): Likewise.
25416 (enable_rom_area): Likewise.
25417 (GRUB_MOD_INIT): Likewise.
25418 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
25419 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
25420 * commands/handler.c (GRUB_MOD_INIT): Likewise.
25421 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
25422 * commands/hexdump.c (options): Likewise.
25423 * commands/i386/cpuid.c (options): Likewise.
25424 (GRUB_MOD_INIT): Likewise.
25425 * commands/i386/pc/drivemap.c (options): Likewise.
25426 (GRUB_MOD_INIT): Likewise.
25427 * commands/i386/pc/halt (options): Likewise.
25428 (GRUB_MOD_INIT): Likewise.
25429 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
25430 * commands/i386/pc/pxecmd.c (options): Likewise.
25431 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
25432 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
25433 * commands/keystatus.c (options): Likewise.
25434 (GRUB_MOD_INIT): Likewise.
25435 * commands/loadenv.c (options): Likewise.
25436 * commands/ls.c (options): Likewise.
25437 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
25438 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
25439 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
25440 * commands/parttool.c (helpmsg): Likewise.
25441 * commands/probe.c (options): Likewise.
25442 * commands/read.c (GRUB_MOD_INIT): Likewise.
25443 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
25444 * commands/search.c (options): Likewise.
25445 * commands/sleep.c (options): Likewise.
25446 * commands/test.c (GRUB_MOD_INIT): Likewise.
25447 * commands/true.c (GRUB_MOD_INIT): Likewise.
25448 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
25449 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
25450 * lib/arg.c (help_options): Likewise.
e9bbb4e7 25451 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
25452 `$(XGETTEXT)'.
98a50553 25453 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 25454
0ad46fd7 254552009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 25456
ef3c2c3a 25457 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
25458 instead of specifying them explicit.
25459
7922f68b
RM
254602009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25461
25462 * NEWS: Add grub-probe support for GNU/Hurd.
25463
537ce47f
RM
254642009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25465
25466 * NEWS: gettext was added after 1.97.
25467
9b214e3a
RM
254682009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25469
25470 * util/mkisofs/msdos_partition.h: New file (based on
25471 include/grub/msdos_partition.h).
25472 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
25473 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
25474 (ld_options, main): Recognize --protective-msdos-label.
25475 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
25476 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
25477 (padblock_write): If `use_protective_msdos_label' is set, patch a
25478 protective DOS-style label in the output image.
25479
25480 * util/grub-mkrescue.in: Use --protective-msdos-label.
25481
e9309813
RM
254822009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25483
25484 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
25485 boot.
25486
0ae56929
RM
254872009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25488
25489 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
25490 variables.
25491 (ld_options, main): Recognize `--embedded-boot'.
25492 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
25493 declarations.
25494 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
25495 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
25496 (padblock_write): Likewise. Rewrite to support embedded boot image.
25497
25498 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
25499 for BIOS-based disk boot instead of only ElTorito.
25500
b15937b1
RM
255012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25502
25503 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
25504 build (not needed for bootstrap).
25505
52cc3ce0
RM
255062009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25507
25508 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
25509 from i386-pc build (not needed for bootstrap).
25510 Rewrite a pair of strings.
25511
36f5ff04
RM
255122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25513
25514 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
25515
973c6c85 255162009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
25517
25518 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
25519
05d21547
AB
255202009-12-21 Andreas Born <futur.andy@googlemail.com>
25521
25522 * kern/env.c (grub_env_context_open): Mark exported variable for
25523 reexport.
25524
0175d51f
AB
255252009-12-21 Andreas Born <futur.andy@googlemail.com>
25526
25527 * kern/env.c (grub_env_export): Create nonexistent variables before
25528 exporting.
25529
7f39d92f 255302009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 25531
7f39d92f 25532 * include/grub/auth.h: Include `<grub/i18n.h>'.
25533 (GRUB_GET_PASSWORD): Gettextizze string.
25534 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
25535 menu_text.c.
25536 (grub_utf8_to_ucs4_alloc): Fix indentation.
25537 (grub_print_ucs4): Likewise.
25538 (grub_getstringwidth): Likewise.
25539 (print_message_indented): New declaration.
25540 * normal/auth.c: Include `<grub/i18n.h>'.
25541 (grub_auth_check_authentication): Gettexttize string.
25542 * normal/cmdline.c: Include `<grub/i18n.h>'.
25543 (grub_cmdline_get): Gettextizze.
25544 * normal/color.c: Include `<grub/i18n.h>'.
25545 (grub_parse_color_name_pair): Gettexttize strings.
25546 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
25547 string (use `print_message_indented').
25548 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
25549 `include/grub/normal.h'.
25550 (print_message_indented): Renamed to ...
25551 (grub_print_message_indented): ... this. Remove `static' qualifer (now
25552 used in normal/main.c).
25553 (print_message): Use `grub_print_message_indented' instead of
25554 `print_message_indented'.
25555 (print_timeout): Likewise.
25556 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
25557 (grub_normal_print_device_info): Gettexttize strings.
25558 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
25559
3041d898
VS
255602009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25561
25562 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
25563 of arguments. Return number of tokens and not arguments. All users
25564 updated.
25565
de15bf8e
VS
255662009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25567
25568 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
25569 non-MSDOS paritions.
25570
e0a6ca52
VS
255712009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
25572
25573 * include/grub/types.h (UNUSED): Removed since it conflicts with
25574 NetBSD headers. All users changed to direct __attribute__ ((unused)).
25575 Reported by Grégoire Sutre.
25576
b99518d1 255772009-12-19 Carles Pina i Estany <carles@pina.cat>
25578
25579 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
25580 (grub_print_ucs4_alloc): Likewise.
25581 (grub_getstringwidth): Likewise.
25582 * normal/main.c (grub_normal_init_page): Gettextize version string.
25583 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
25584 (getstringwidth): Renamed to ...
25585 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
25586 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
25587 (grub_print_ucs4): Remove `static' qualifer (now used in
25588 normal/main.c).
25589 * po/POTFILES: Add normal/main.c.
25590
bfd5e52b 255912009-12-19 Carles Pina i Estany <carles@pina.cat>
25592
25593 * normal/menu_text.c (STANDARD_MARGIN): New macro.
25594 (print_message_indented): Add `margin_left' and `margin_right'
25595 parameters.
25596 (print_message): Update `print_message_indented' calls. Adds '\n' to the
25597 strings.
25598 (print_timeout): Use `print_message_indented' to print the message.
25599 Deletes `second_stage' parameter.
25600 (run_menu): Update `print_timeout' calls.
25601
5a1ad2b9
VS
256022009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25603
25604 Fix console palette on OpenFirmware.
25605
25606 * term/ieee1275/ofconsole.c (MAX): Removed.
25607 (colors): Redone based on VGA palette.
25608 (grub_ofconsole_setcolor): Discard brightness bit since only 8
25609 colors are supported.
25610 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
25611
b045f00a
VS
256122009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25613
25614 Fix potential EfiEmu double prepare.
25615
25616 * efiemu/main.c (prepared): New variable
25617 (grub_efiemu_unload): Set prepare to '0'.
25618 (grub_efiemu_prepare): Return if already prepared. Set prepared.
25619
25620 set_virtual_address_map support.
25621
25622 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
25623 prototype.
25624 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
25625 prototype.
25626 (grub_efiemu_crc32): Likewise.
25627 (grub_efiemu_crc64): Likewise.
25628 (grub_efiemu_set_virtual_address_map): Likewise.
25629 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
25630 New definition.
25631 (grub_autoefi_set_virtual_address_map): Likewise.
25632 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
25633 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
25634 Restructure flow to accomodate it.
25635 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
25636 (grub_efiemu_crc): Recompute CRC32.
25637 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
25638 (efiemu_ptv_relocated): ... this. Made global. All users updated.
25639 * efiemu/symbols.c (relocated_handle): New variable.
25640 (grub_efiemu_free_syms): Free relocated_handle.
25641 (grub_efiemu_alloc_syms): Allocate relocated_handle.
25642 (grub_efiemu_write_sym_markers): New function.
25643 (grub_efiemu_set_virtual_address_map): Likewise.
25644
25645 Newer XNU parameters.
25646
25647 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
25648 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
25649 (grub_xnu_fill_devicetree): New prototype.
25650 (grub_xnu_heap_real_start): New variable.
25651 * loader/xnu.c (get_name_ptr): New function.
25652 (grub_xnu_load_driver): Fill namelen and name.
25653
25654 64-bit xnu support.
25655
25656 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
25657 and 'loader/macho64.c'.
25658 * conf/i386-pc.rmk: Likewise.
25659 * conf/x86_64-efi.rmk: Likewise.
25660 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
25661 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
25662 * include/grub/macho.h (grub_macho_segment64): New structure.
25663 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
25664 (grub_macho_size32): ... to this.
25665 (grub_macho32_get_entry_point): Renamed from ...
25666 (grub_macho_get_entry_point32): ... to this.
25667 (grub_macho_contains_macho64): New prototype.
25668 (grub_macho_size64): Likewise.
25669 (grub_macho_get_entry_point64): Likewise.
25670 (grub_macho32_load): Renamed from ...
25671 (grub_macho_load32): ... to this.
25672 (grub_macho32_filesize): Renamed from ...
25673 (grub_macho_filesize32): ... to this.
25674 (grub_macho32_readfile): Renamed from ...
25675 (grub_macho_readfile32): ... to this.
25676 (grub_macho_filesize64): New prototype.
25677 (grub_macho_readfile64): Likewise.
25678 (grub_macho_parse32): Likewise.
25679 (grub_macho_parse64): Likewise.
25680 * loader/macho.c: Split into ...
25681 * loader/machoXX.c: ... and this. Replace 32 with XX.
25682 * loader/macho32.c: New file.
25683 * loader/macho64.c: Likewise.
25684 * loader/xnu.c (grub_xnu_is_64bit): New variable.
25685 (grub_cmd_xnu_kernel): Make 32-bit only.
25686 (grub_cmd_xnu_kernel64): New function.
25687 (grub_xnu_load_driver): Support Mach-O 64.
25688 (grub_cmd_xnu_mkext): Likewise.
25689 * util/grub.d/30_os-prober.in (osx_entry): New function.
25690 Generate entries for 64-bit boot too.
25691
25692 Eliminate ad-hoc tree format in XNU and EfiEmu.
25693
25694 * efiemu/main.c (grub_efiemu_prepare): Update comment.
25695 * efiemu/pnvram.c: Rewritten to use environment variables.
25696 All users updated.
25697
25698 Inline utf16_to_utf8.
25699
25700 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
25701 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
25702 All users updated.
25703 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
25704
25705 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
25706 * commands/usbtest.c (grub_usb_get_string): ... move here.
25707 (usb_print_str): Fix error handling.
25708 * include/grub/usb.h (grub_usb_get_string): Remove.
25709
25710 UTF-8 to UTF-16 transformation.
25711
25712 * conf/common.rmk (pkglib_MODULES): Add charset.mod
25713 (charset_mod_SOURCES): New variable.
25714 (charset_mod_CFLAGS): Likewise.
25715 (charset_mod_LDFLAGS): Likewise.
25716 * include/grub/utf.h: New file.
25717 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
25718
25719 Support for device properties.
25720
25721 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
25722 (grub_xnu_devprop_device_header): Likewise.
25723 (grub_xnu_devprop_device_descriptor): Likewise.
25724 (grub_xnu_devprop_add_device): New prototype.
25725 (grub_xnu_devprop_remove_device): Likewise.
25726 (grub_xnu_devprop_remove_property): Likewise.
25727 (grub_xnu_devprop_add_property_utf8): Likewise.
25728 (grub_xnu_devprop_add_property_utf16): Likewise.
25729 (grub_cpu_xnu_init): Likewise.
25730 (grub_cpu_xnu_fini): Likewise.
25731 (grub_cpu_xnu_unload): Likewise.
25732 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
25733 (property_descriptor): Likewise.
25734 (devices): New variable.
25735 (grub_xnu_devprop_remove_property): New function.
25736 (grub_xnu_devprop_add_device): Likewise.
25737 (grub_xnu_devprop_remove_device): Likewise.
25738 (grub_xnu_devprop_add_property): Likewise.
25739 (grub_xnu_devprop_add_property_utf8): Likewise.
25740 (grub_xnu_devprop_add_property_utf16): Likewise.
25741 (hextoval): Likewise.
25742 (grub_cpu_xnu_fill_devprop): Likewise.
25743 (grub_cmd_devprop_load): Likewise.
25744 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
25745 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
25746 (cmd_devprop_load): New variable.
25747 (grub_cpu_xnu_init): New function.
25748 (grub_cpu_xnu_fini): Likewise.
25749 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
25750 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
25751 (grub_cmd_xnu_devtree): Likewise.
25752 (hextoval): New function.
25753 (unescape): Likewise.
25754 (grub_xnu_fill_devicetree): Likewise.
25755
25756 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
25757 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
25758
0945f181
VS
257592009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25760
25761 Workaround for broken ATI VBE.
25762
25763 * video/i386/pc/vbe.c (last_set_mode): New variable.
25764 (grub_vbe_set_video_mode): Set 'last_set_mode'.
25765 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
25766 (grub_video_vbe_setup): Don't check for reserved flag.
25767
0ad46fd7 257682009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
25769
25770 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
25771 the `find' command.
25772
c179ebe4
VS
257732009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
25774
25775 UUID support for HFS.
25776
25777 * fs/hfs.c (grub_hfs_uuid): New function.
25778 (grub_hfs_fs): New value .uuid.
25779 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
25780
0ad46fd7 257812009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
25782
25783 Fix a segfault with parsing unknown long options.
25784
25785 * util/grub-mkrelpath.c (options): Zero terminate it.
25786
c4a3e41a
CPE
257872009-12-13 Carles Pina i Estany <carles@pina.cat>
25788
25789 * include/grub/misc.h (grub_puts): New declaration.
25790 (grub_puts_): Likewise.
a22008a6 25791 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
25792 (grub_puts_): Likewise.
25793
2e8a7602
RM
257942009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25795
25796 * util/grub-probe.c (probe): Improve error message.
25797
b50b77b9
RM
257982009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25799
25800 * loader/i386/multiboot_elfxx.c
25801 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
25802 initialization.
25803
258042009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25805
25806 Relocator framework
25807
25808 * loader/i386/xnu_helper.S: Removed. All users updated.
25809 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
25810 (relocator_mod_SOURCES): New variable.
25811 (relocator_mod_CFLAGS): Likewise.
25812 (relocator_mod_LDFLAGS): Likewise.
25813 (relocator_mod_ASFLAGS): Likewise.
25814 * conf/x86_64.rmk: Likewise.
25815 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
25816 (grub_multiboot_payload_entry_offset): Likewise.
25817 (grub_multiboot_forward_relocator): Likewise.
25818 (grub_multiboot_forward_relocator_end): Likewise.
25819 (grub_multiboot_backward_relocator): Likewise.
25820 (grub_multiboot_backward_relocator_end): Likewise.
25821 (grub_multiboot_payload_eip): New variable.
25822 (grub_multiboot_payload_orig): Likewise.
25823 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
25824 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
25825 * include/grub/i386/memory.h
25826 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
25827 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
25828 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
25829 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
25830 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
25831 * include/grub/i386/relocator.h: New file.
25832 * include/grub/x86_64/relocator.h: Likewise.
25833 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
25834 (XNU_RELOCATOR): New macro.
25835 (grub_xnu_launcher_start): Remove.
25836 (grub_xnu_launcher_end): Likewise.
25837 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
25838 (grub_xnu_heap_real_start): Remove.
25839 (grub_xnu_heap_start): Change to void *. All users updated.
25840 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
25841 * lib/i386/relocator.c: New file.
25842 * lib/i386/relocator_asm.S: Likewise.
25843 * lib/i386/relocator_backward.S: Likewise.
25844 * lib/mips/relocator.c: Likewise.
25845 * lib/mips/relocator_asm.S: Likewise.
25846 * lib/relocator.c: Likewise.
25847 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
25848 (entry): Removed.
25849 (playground): Likewise.
25850 (grub_multiboot_payload_orig): New variable.
25851 (grub_multiboot_payload_dest): Likewise.
25852 (grub_multiboot_payload_size): Likewise.
25853 (grub_multiboot_payload_eip): Likewise.
25854 (grub_multiboot_payload_esp): Likewise.
25855 (grub_multiboot_boot): Use grub_relocator32_boot.
25856 (grub_multiboot_unload): Free relocators.
25857 (grub_multiboot): Setup stack. Use relocators.
25858 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25859 (grub_multiboot_load_elfXX): Use relocators.
25860 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25861 (grub_multiboot_payload_size): Likewise.
25862 (grub_multiboot_payload_dest): Likewise.
25863 (grub_multiboot_payload_entry_offset): Likewise.
25864 (grub_multiboot_forward_relocator): Likewise.
25865 (grub_multiboot_backward_relocator): Likewise.
25866 (grub_multiboot_real_boot): Likewise.
25867 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25868 (grub_xnu_entry_point): Likewise.
25869 (grub_xnu_arg1): Likewise.
25870 (grub_xnu_stack): Likewise.
25871 (grub_xnu_launch): Removed.
25872 (grub_xnu_boot_resume): New function.
25873 (grub_xnu_boot): Use relocators.
25874 * loader/i386/xnu_helper.S: Removed.
25875 * loader/xnu.c (grub_xnu_heap_start): New variable.
25876 (grub_xnu_heap_size): Likewise.
25877 (grub_xnu_heap_malloc): Use relocators.
25878 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25879
29eb90c6
VS
258802009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25881
25882 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25883 anything.
25884
31027430
CPE
258852009-12-13 Carles Pina i Estany <carles@pina.cat>
25886
25887 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25888 GRUB_ERR_NONE before calling grub_env_set.
25889
dc0c71d9
RM
258902009-12-12 Robert Millan <rmh@aybabtu.com>
25891
25892 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25893 * genmk.rb (video): New variable.
25894 (CLEANFILES, VIDEOFILES): Add #{video}.
25895 (#{video}): New target rule.
25896 * genvideolist.sh: New file.
25897 * Makefile.in (pkglib_DATA): Add video.lst.
25898 (video.lst): New target rule.
25899 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25900 `video.lst'.
25901 * util/grub.d/30_os-prober.in: Replace `vbe' with
25902 ${GRUB_VIDEO_BACKEND}.
25903
2a4bfcf0
RM
259042009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25905
25906 * THANKS: Add David Miller.
25907
2a3aa4d5
RM
259082009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25909
25910 libpciaccess support.
25911
25912 * Makefile.in (LIBPCIACCESS): New variable.
25913 (enable_grub_emu_pci): Likewise.
25914 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25915 util/pci.c and commands/lspci.c.
25916 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25917 * configure.ac (grub-emu-pci): New option.
25918 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25919 (grub_pci_device_unmap_range): Likewise.
25920 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25921 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25922 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25923 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25924 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25925 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25926 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25927 * include/grub/pciutils.h: New file.
25928 * util/pci.c: Likewise.
25929
0ad46fd7 259302009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
25931
25932 * util/misc.c: Don't include <errno.h> twice.
25933
0ad46fd7 259342009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
25935
25936 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25937 name in an error message.
25938 (grub_biosdisk_rw): Likewise.
25939
2e59983c
VS
259402009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25941
25942 Eliminate NTFS 4Gib barrier.
25943
25944 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25945 (read_run_data): Likewise.
25946 (grub_ntfs_read_run_list): Likewise.
25947 (grub_ntfs_read_block): Likewise.
25948 (grub_ntfs_iterate_dir): Likewise.
25949 (read_mft): Likewise.
25950 (read_data): Likewise.
25951 Use COM_LOG_LEN.
25952 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25953 to avoid 64-bit division
25954 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25955 (grub_ntfs_rlst): Use grub_disk_addr_t.
25956
71ee178a
VS
259572009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25958
25959 Eliminate grub-fstest 4Gib barrier.
25960
25961 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25962 (read_file): Fix error reporting.
25963
2520d4b8
VS
259642009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25965
25966 Eliminate hexdump 4Gib barrier.
25967
25968 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25969 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25970
e1f27065
VS
259712009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25972
25973 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25974 Fixes amarsh bug.
25975
1a0f7f45
RM
259762009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25977
25978 Remove miscellaneous files in distclean target.
25979
25980 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25981
c631d9fb
CW
259822009-12-09 Colin Watson <cjwatson@ubuntu.com>
25983
25984 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25985 if they're already set. This resolves the conflict between my
25986 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25987 fixing the --grub-probe option again.
25988 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25989 change on 2009-10-06, so that we now once again source
25990 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25991
7c7b6106
RM
259922009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25993
25994 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25995 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25996 `util/devicemap.c'.
25997
e3069ec1
CPE
259982009-12-08 Carles Pina i Estany <carles@pina.cat>
25999
26000 * include/grub/misc.h (grub_printf_): New declaration.
26001 * kern/misc.c (grub_printf_): New definition.
26002 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
26003 instead of `grub_printf' and `_'.
26004 * normal/menu_entry.c (store_completion): Likewise.
26005 (run): Likewise.
26006 (grub_menu_entry_run): Likewise.
26007 * normal/menu_text.c (grub_wait_after_message): Likewise.
26008 (notify_booting): Likewise.
26009 (notify_fallback): Likewise.
26010 (notify_execution_failure): Likewise.
26011
d6ceebf1
CW
260122009-12-07 Colin Watson <cjwatson@ubuntu.com>
26013
26014 * configure.ac: Check for vasprintf.
26015 * util/misc.c (asprintf): Move allocation from here ...
26016 (vasprintf): ... to here. New function.
26017 (xasprintf): New function.
26018 * include/grub/util/misc.h (vasprintf, xasprintf): Add
26019 prototypes.
26020 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
26021 * util/grub-mkfont.c (write_font): Likewise.
26022 * util/grub-probe.c (probe): Likewise.
26023 * util/hostdisk.c (make_device_name): Likewise.
26024
de6daa8b
DM
260252009-12-06 David S. Miller <davem@sunset.davemloft.net>
26026
26027 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
26028 anything even prefixed with 'cdrom' as a cdrom.
26029
0ad46fd7 260302009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
26031
26032 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
26033 mount points.
26034
98d3dc02
CPE
260352009-12-05 Carles Pina i Estany <carles@pina.cat>
26036
26037 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
26038 grub_gettext_msg_list.
26039 (grub_gettext_gettranslation_from_position): Return const char *
26040 and not char *.
a2c1332b 26041 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
26042 returns from the list if existing there.
26043 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
26044 (grub_gettext_delete_list): Delete the list.
26045 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
26046 lang environment variable is changed.
26047 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
26048
b283f108
VS
260492009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
26050
26051 Rename kernel.mod to kernel.img.
26052
26053 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
26054 (kernel_mod_EXPORTS): Rename to ...
26055 (kernel_img_EXPORTS): ... this.
26056 (kernel_mod_SOURCES): Rename to ...
26057 (kernel_img_SOURCES): ... this.
26058 (kernel_mod_HEADERS): Rename to ...
26059 (kernel_img_HEADERS): ... this. All users updated.
26060 (kernel_mod_CFLAGS): Rename to ...
26061 (kernel_img_CFLAGS): ... this.
26062 (kernel_mod_ASFLAGS): Rename to ...
26063 (kernel_img_ASFLAGS): ... this.
26064 (kernel_mod_LDFLAGS): Rename to ...
26065 (kernel_img_LDFLAGS): ... this.
26066 * conf/x86_64-efi.rmk: Likewise.
26067 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
26068 (read_kernel_image): ... this. All users updated.
26069 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
26070
69055f8a
CPE
260712009-12-05 Carles Pina i Estany <carles@pina.cat>
26072
26073 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
26074 (print_spaces): New function.
26075 (grub_print_ucs4): New function.
26076 (getstringwidth): New function.
26077 (print_message_indented): New function.
26078 (print_message): Gettexttize strings using print_message_indented.
26079 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
26080 width.
26081 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 26082 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
26083 Gettextize.
26084 * normal/menu_entry.c (store_completion): Cleanup the gettextized
26085 string.
26086 (run): Likewise.
26087 (grub_menu_entry_run): Likewise.
26088 * PO/POTFILES: Add normal/menu_entry.c.
26089
f616f51c
VS
260902009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
26091
26092 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
26093
57bbe3be
CPE
260942009-12-05 Carles Pina i Estany <carles@pina.cat>
26095
26096 * util/grub-install.in: Install gettext .mo files.
26097 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
26098
013d67a1
CPE
260992009-12-05 Carles Pina i Estany <carles@pina.cat>
26100
26101 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
26102 grub_dprintf.
26103
fb954db0
RM
261042009-12-05 Robert Millan <rmh.grub@aybabtu.com>
26105
26106 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
26107 non-firmware-dependant one in realmode.S takes precedence.
26108
6b8474f8
RM
261092009-12-04 Robert Millan <rmh.grub@aybabtu.com>
26110
26111 * commands/halt.c: Replace misc arch-specific headers with
26112 `<grub/misc.h>'.
26113 * commands/reboot.c: Likewise.
26114 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
26115 `<grub/misc.h>'.
26116 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
26117 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
26118 (kernel_img_SOURCES): ... to here.
26119
26120 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
26121 * include/grub/i386/pc/init.h: Likewise.
26122 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26123 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26124
26125 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
26126
26127 * include/grub/i386/halt.h: Remove.
26128 * include/grub/i386/reboot.h: Likewise.
26129
26130 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
26131
4b2e6ca2
DM
261322009-12-03 David S. Miller <davem@sunset.davemloft.net>
26133
26134 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
26135 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
26136 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
26137 "progname.h"
26138 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
26139 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26140 (usage): Add missing comma in printf.
26141
5239348f
RM
261422009-12-02 Robert Millan <rmh.grub@aybabtu.com>
26143
26144 Use the same reboot approach on i386 coreboot and qemu as we do on
26145 BIOS.
26146
26147 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
26148 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
26149 * kern/i386/reboot.c: Remove.
26150 * include/grub/i386/reboot.h (grub_reboot): Export function.
26151 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
26152 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
26153 0xf000:0xfff0 instead of 0xffff:0x0000.
26154 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
26155 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
26156
ef34cbd4
RM
261572009-11-30 Robert Millan <rmh.grub@aybabtu.com>
26158
26159 Fix $srcdir != $objdir build.
26160
26161 * Makefile.in (po/%.po): Rewrite as ...
26162 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
26163
dc9837ea
ST
261642009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
26165
26166 Fix GNU/Hurd grub-install crash.
26167 * util/grub-probe.c (probe): Try to access `path' only when it is not
26168 NULL.
26169
2f857f98
VS
261702009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26171
26172 Correct module naming.
26173
26174 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26175 (GRUB_MOD_INIT(efi_uga)): ... to this
26176 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26177 (GRUB_MOD_FINI(efi_uga)): ... to this
26178 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26179 (GRUB_MOD_INIT(efi_gop)): ... to this
26180 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26181 (GRUB_MOD_FINI(efi_gop)): ... to this
26182
c5448046
RM
261832009-11-28 Robert Millan <rmh.grub@aybabtu.com>
26184
26185 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
26186 translatable.
26187 (usage): Translate `arg' strings using gettext().
26188 Thanks to Jordi Mallach for the suggestion.
26189
c85184ad
VS
261902009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26191
26192 GOP support. Based on patch from Bean
26193 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26194
26195 * video/efi_gop.c: New file.
26196 * include/grub/efi/graphics_output.h: Likewise.
26197 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
26198 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26199 variables.
26200 * conf/x86_64-efi.rmk: Likewise.
26201
8a4c48d8
VS
262022009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26203
26204 Rename efi_fb to efi_uga.
26205
26206 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26207 'efi_uga.mod'.
26208 (efi_fb_mod_SOURCES): Rename this ...
26209 (efi_uga_mod_SOURCES): ... to this.
26210 (efi_fb_mod_CFLAGS): Rename this ...
26211 (efi_uga_mod_CFLAGS): ... to this.
26212 (efi_fb_mod_LDFLAGS): Rename this ...
26213 (efi_uga_mod_LDFLAGS): ... to this.
26214 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26215 'efi_uga.mod'.
26216 (efi_fb_mod_SOURCES): Rename this ...
26217 (efi_uga_mod_SOURCES): ... to this.
26218 (efi_fb_mod_CFLAGS): Rename this ...
26219 (efi_uga_mod_CFLAGS): ... to this.
26220 (efi_fb_mod_LDFLAGS): Rename this ...
26221 (efi_uga_mod_LDFLAGS): ... to this.
26222 * video/efi_fb.c: Move this ...
26223 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
26224
fb6c1a7b
RM
262252009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26226
26227 * po/README: New file. Explain our PO file workflow.
26228
3bc7896c
RM
262292009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26230
26231 * po/ChangeLog: Remove. Move relevant entries back to ...
26232 * ChangeLog: ... here.
26233 * po/ca.po: Remove (now handled by TLP).
26234 * po/id.po: Likewise.
26235 * po/zh_CN.po: Likewise.
26236 * Makefile.in (LINGUAS): Initialize in a way that supports
26237 empty set.
26238
9ed4841d
RM
262392009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26240
26241 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
26242 reliing on po/LINGUAS.
26243 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
26244 (po/%.po): ... this.
26245
0ad46fd7 262462009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
26247
26248 * util/i386/efi/grub-mkimage.c: Include "progname.h".
26249 (main): Use `program_name' instead of nonexistent `progname'.
26250
e30dd392
FZ
262512009-11-26 Felix Zielcke <fzielcke@z-51.de>
26252
26253 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26254 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
26255
7656de4f
RM
262562009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26257
26258 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
26259 commit.
26260 * conf/i386-efi.rmk: Likewise.
26261 * conf/i386-ieee1275.rmk: Likewise.
26262 * conf/powerpc-ieee1275.rmk: Likewise.
26263 * conf/sparc64-ieee1275.rmk: Likewise.
26264 * conf/x86_64-efi.rmk: Likewise.
26265
db77c4d4
FZ
262662009-11-26 Felix Zielcke <fzielcke@z-51.de>
26267
26268 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
26269
a755bb04
FZ
262702009-11-26 Felix Zielcke <fzielcke@z-51.de>
26271
26272 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
26273
8a4c07fd
RM
262742009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26275
26276 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
26277 (grub_mkdevicemap_SOURCES): New variable.
26278 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
26279 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
26280 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
26281 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
26282 (grub_mkdevicemap_SOURCES): Remove.
26283 * conf/i386-efi.rmk: Likewise.
26284 * conf/i386-ieee1275.rmk: Likewise.
26285 * conf/i386-pc.rmk: Likewise.
26286 * conf/powerpc-ieee1275.rmk: Likewise.
26287 * conf/sparc64-ieee1275.rmk: Likewise.
26288 * conf/x86_64-efi.rmk: Likewise.
26289 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
26290 (usage): Fix strings to use `program_name'.
26291 (main): Initialize gettext.
26292 * util/grub-editenv.c: Likewise.
26293 * util/grub-emu.c: Likewise.
26294 * util/grub-fstest.c: Likewise.
26295 * util/grub-mkdevicemap.c: Likewise.
26296 * util/grub-mkfont.c: Likewise.
26297 * util/grub-mkrelpath.c: Likewise.
26298 * util/grub-pe2elf.c: Likewise.
26299 * util/grub-probe.c: Likewise.
26300 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26301 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
26302 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26303
26304 * util/misc.c: Include `"progname.h"'.
26305 (progname): Remove variable.
26306 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
26307
6f61ed55
FZ
263082009-11-25 Felix Zielcke <fzielcke@z-51.de>
26309
26310 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
26311 printf and print a newline after the menuentry header line.
26312 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26313
f022876b
FZ
263142009-11-25 Felix Zielcke <fzielcke@z-51.de>
26315
26316 autoconf >= 2.60 support $(localedir).
26317
26318 * INSTALL: Note that autoconf 2.60 is required.
26319 * configure.ac (AC_PREREQ): Bump to 2.60.
26320 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
26321 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26322
6717926e
YB
263232009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
26324
26325 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
26326 aclocal is run.
26327
08806a54
RM
263282009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26329
26330 * normal/main.c (grub_normal_read_line): Fix off-by-one
26331 buffer overflow.
26332
13b33fba
RM
263332009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26334
26335 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
26336 "parser.grub" in grub_command_execute() call.
26337
4a8572e9
CPE
263382009-11-24 Carles Pina i Estany <carles@pina.cat>
26339
26340 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
26341 * conf/i386-efi.rmk: Likewise.
26342 * conf/i386-ieee1275.rmk: Likewise.
26343 * conf/i386-pc.rmk: Likewise.
26344 * conf/powerpc-ieee1275.rmk: Likewise.
26345 * conf/sparc64-ieee1275.rmk: Likewise.
26346 * conf/x86_64-efi.rmk: Likewise.
26347 * gettext/gettex.c: Include <grub/i18n.h>.
26348 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
26349 here ...
26350 * include/grub/i18n.h: ... to here
26351 * include/grub/i18n.h: ... to here.
26352 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 26353 (grub_gettext_dummy): Move above user.
4a8572e9 26354
bee48093
FZ
263552009-11-24 Felix Zielcke <fzielcke@z-51.de>
26356
26357 * util/Makefile.in (install-local): Convert a `for' into a normal
26358 shell expansion.
26359
a031e91c
RM
263602009-11-24 Robert Millan <rmh.grub@aybabtu.com>
26361
26362 * autogen.sh: Add automake call.
26363 * config.guess: Remove.
26364 * config.sub: Likewise.
26365 * install-sh: Likewise.
26366
26bec39d
FZ
263672009-11-24 Felix Zielcke <fzielcke@z-51.de>
26368
26369 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
26370
8e2532fd
FZ
263712009-11-24 Felix Zielcke <fzielcke@z-51.de>
26372
26373 * util/Makefile.in (install-local): Convert a make `$(foreach)'
26374 function to a normal shell `for'.
26375
fefa1b7d
FZ
263762009-11-24 Felix Zielcke <fzielcke@z-51.de>
26377
26378 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26379
4501250b
FZ
263802009-11-24 Felix Zielcke <fzielcke@z-51.de>
26381
26382 * util/grub-mkrelpath.c: New file.
26383 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
26384 (grub_mkrelpath_SOURCES): New variable.
26385 * include/grub/util/misc.h: New function prototype.
26386 * util/misc.c (make_system_path_relative_to_its_root): New function.
26387
26388 * util/grub-mkconfig_lib.in (bindir): New variable.
26389 (grub_mkrelpath): Likewise.
26390 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
26391
26392 * util/probe.c (probe): Make the file path relative to its root.
26393 Change a info message to use the GRUB path. Enable again the
26394 check if we can read the file with GRUB facilities.
26395
26396 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
26397 to its root.
26398
11d9778b
FZ
263992009-11-24 Felix Zielcke <fzielcke@z-51.de>
26400
26401 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
26402 platform.
26403
4465287d
FZ
264042009-11-24 Felix Zielcke <fzielcke@z-51.de>
26405
26406 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
26407 strncmp().
26408
62b47f22
FZ
264092009-11-24 Felix Zielcke <fzielcke@z-51.de>
26410
26411 * util/getroot.c (grub_util_is_dmraid): New function.
26412 (grub_util_get_dev_abstraction): Treat dmraid and multipath
26413 devices as normal ones, not as LVM.
26414
1eafb9b9 264152009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
26416
26417 * conf/common.rmk: Add grub-gettext_lib target and updates
26418 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
26419 LDFLAGS.
26420 * gettext/gettext.c: New file. (Reads mo files).
26421 * include/grub/file.h (grub_file_pread): New prototype.
26422 * include/grub/i18n.h (_): New prototype.
26423 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
26424 prototypes.
26425 * kern/misc.c (grub_gettext_dummy): New function.
26426 * normal/menu_text.c: Include <grub/i18n.h>.
26427 * normal/menu_text.c (print_timeout): Gettexttize string.
26428 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
26429 * po/POTFILES: Add `normal/menu_text.c'.
26430 * po/ca.po: Add new translations.
c3ea6bd4
CPE
26431 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
26432 gettext module and defines locale_dir and lang in grub.cfg.
26433 * NEWS: Add gettext support.
26434
0fdb2568
RM
264352009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26436
26437 * util/hostdisk.c: Include `<grub/i18n.h>'.
26438 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
26439 (make_device_name): Rewrite using asprintf.
26440 (convert_system_partition_to_system_disk): Replace 0 with NULL.
26441 (find_system_device): If a device is not found, generate one just
26442 by reusing the OS path name.
26443 (read_device_map): Make it permissible for device.map not to exist.
26444
f515aa62
RM
264452009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26446
26447 * script/sh/execute.c: Move from here ...
26448 * script/execute.c: ... to here. Update all users.
26449 * script/sh/function.c: Move from here ...
26450 * script/function.c: ... to here. Update all users.
26451 * script/sh/lexer.c: Move from here ...
26452 * script/lexer.c: ... to here. Update all users.
26453 * script/sh/main.c: Move from here ...
26454 * script/main.c: ... to here. Update all users.
26455 * script/sh/parser.y: Move from here ...
26456 * script/parser.y: ... to here. Update all users.
26457 * script/sh/script.c: Move from here ...
26458 * script/script.c: ... to here. Update all users.
26459
f84b481b
RM
264602009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26461
26462 * configure.ac: Detect all `emu' platforms. Define
26463 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
26464 --enable-grub-emu logic. Disable include/grub/machine
26465 symlink on `emu' platforms.
26466
26467 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
26468 * gensymlist.sh.in: Likewise.
26469
26470 * include/grub/i386/coreboot/machine.h: Remove file.
26471 * include/grub/i386/efi/machine.h: Likewise.
26472 * include/grub/i386/ieee1275/machine.h: Likewise.
26473 * include/grub/i386/pc/machine.h: Likewise.
26474 * include/grub/i386/qemu/machine.h: Likewise.
26475 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26476 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26477 * include/grub/x86_64/efi/machine.h: Likewise.
26478
26479 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
26480 * commands/halt.c: Likewise.
26481 * commands/reboot.c: Likewise.
26482 * include/grub/autoefi.h: Likewise.
26483 * include/grub/i386/at_keyboard.h: Likewise.
26484 * include/grub/i386/kernel.h: Likewise.
26485 * include/grub/i386/loader.h: Likewise.
26486 * include/grub/i386/pc/memory.h: Likewise.
26487 * kern/dl.c: Likewise.
26488 * kern/i386/coreboot/init.c: Likewise.
26489 * loader/i386/bsd.c: Likewise.
26490 * loader/i386/linux.c: Likewise.
26491 * loader/multiboot_loader.c: Likewise.
26492 * term/i386/pc/serial.c: Likewise.
26493 * term/usb_keyboard.c: Likewise.
26494
26495 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
26496 `<grub/machine/machine.h>'
26497 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
26498 * util/misc.c: Remove `<grub/machine/machine.h>' and
26499 `<grub/machine/time.h>'.
26500
26501 * Makefile.in (enable_grub_emu): Remove variable.
26502 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
26503
26504 * conf/any-emu.rmk: New file.
26505 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
26506 (grub_emu_init.c): Move from here ...
26507 * conf/any-emu.rmk: ... to here.
26508
26509 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
26510 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
26511 * conf/any-emu.rmk: ... to here.
26512
4efeab03
RM
265132009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26514
26515 * include/grub/parser.h (grub_parser_register): Document need
26516 of `name' parameter.
26517 * normal/main.c (grub_normal_read_line): Simplify prompt string.
26518 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
26519 "sh" to "grub".
26520
ea1dd8bf
RM
265212009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26522
26523 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
26524 `$(XGETTEXT)'.
26525 * include/grub/i18n.h (N_): New macro.
26526 * util/mkisofs/mkisofs.h: Likewise.
26527 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
26528 around N_().
26529 (usage): Use gettext() to translate help strings when printing them.
26530
0c140626
RM
265312009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26532
26533 Based on patch from Bean
26534 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26535
26536 * video/efi_fb.c: New file.
26537 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
26538 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26539 variables.
26540 * conf/x86_64-efi.rmk: Likewise.
26541
87d58298
RM
265422009-11-22 Robert Millan <rmh.grub@aybabtu.com>
26543
26544 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
26545 * util/i386/pc/grub-setup.c: Likewise.
26546
994cc3a3
ST
265472009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
26548
26549 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
26550 <hurd/fs.h>
26551 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
26552 file_get_storage_info to implement grub_guess_root_device.
26553
26a61d6a
FZ
265542009-11-21 Felix Zielcke <fzielcke@z-51.de>
26555
26556 * Makefile.in (target): Use make's builtin $(shell) function
26557 instead of calling directly $(SHELL) to create the locale directories,
26558 inside the $(foreach) function.
26559
74ff1dd5
FZ
265602009-11-21 Felix Zielcke <fzielcke@z-51.de>
26561
26562 * util/grub-mkrescue.in: Print an error and usage if output option
26563 has not been given.
26564
0b787d0e
FZ
265652009-11-21 Felix Zielcke <fzielcke@z-51.de>
26566
26567 Patch from Loïc Minier <loic.minier@ubuntu.com>.
26568 * util/grub.d/30_os-prober.in: Cope with Linux entries where
26569 root and /boot are on different devices.
26570
1164b270
RM
265712009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26572
26573 Fix build for srcdir != objdir.
26574
26575 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
26576 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
26577 $(srcdir).
26578 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
26579 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
26580 reference for input.
26581
13774a2f
RM
265822009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26583
26584 * util/grub-mkrescue.in: Use source directory direcly (without copiing
26585 or hardlinking it). Remove -J option, Joliet is not compatible with
26586 multiple source directories.
26587
efda854e
RM
265882009-11-21 Carles Pina i Estany <carles@pina.cat>
265892009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26590
26591 * util/grub-mkrescue.in: Recognize `--override-directory' option.
26592 (process_input_dir): New function. Process an arbitrary input
26593 directory.
26594 Misc adjustments to support both "override mode" and system-wide mode.
26595
6c09890c
FZ
265962009-11-20 Felix Zielcke <fzielcke@z-51.de>
26597
26598 * configure.ac (UNIFONT_BDF): Rename to ...
26599 (FONT_SOURCE): ... this. Update all users.
26600
a797824f
FZ
266012009-11-20 Felix Zielcke <fzielcke@z-51.de>
26602
26603 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
26604 to the list of unifont files to look for.
26605
cd4f42b0
RM
266062009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26607
26608 Patch from Joe Auricchio <jauricchio@gmail.com>
26609 * commands/minicmd.c (grub_mini_cmd_clear): New function.
26610 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
26611 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
26612
393c783d
FZ
266132009-11-19 Felix Zielcke <fzielcke@z-51.de>
26614
26615 * Makefile.in (install-local): Add a missing backslash.
26616
b2f1e327
FZ
266172009-11-19 Felix Zielcke <fzielcke@z-51.de>
26618
26619 * include/grub/x86_64/io.h: New file.
26620
f577f7a0
RM
266212009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26622
26623 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
26624 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
26625 Include `"progname.h"'.
26626 (main): Initialize gettext.
26627 * util/i386/pc/grub-setup.c: Gettexttize.
26628 * util/i386/pc/grub-mkimage.c: Likewise.
26629
26630 * Makefile.in (po/*.po): Redefine as ...
26631 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
26632
3bc7896c
RM
26633 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
26634
c37943b6
RM
266352009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26636
26637 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
26638 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
26639 (program_name): Remove.
26640 (main): Initialize gettext support.
6323f705
RM
26641 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
26642 Include `<libintl.h>'.
26643 (_): New macro.
c37943b6
RM
26644
26645 * util/mkisofs/eltorito.c: Gettexttize.
26646 * util/mkisofs/joliet.c: Likewise.
26647 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
26648 * util/mkisofs/multi.c: Likewise.
26649 * util/mkisofs/rock.c: Likewise.
26650 * util/mkisofs/tree.c: Likewise.
26651 * util/mkisofs/write.c: Likewise.
26652
3bc7896c
RM
26653 * po/POTFILES: Update with new files.
26654
5ce77c6e
RM
266552009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26656
26657 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
26658 * util/mkisofs/iso9660.h: Likewise.
26659 * util/mkisofs/joliet.c: Likewise.
26660 * util/mkisofs/mkisofs.c: Likewise.
26661 * util/mkisofs/mkisofs.h: Likewise.
26662 * util/mkisofs/rock.c: Likewise.
26663 * util/mkisofs/tree.c: Likewise.
26664 * util/mkisofs/write.c: Likewise.
26665
26666 * util/mkisofs/eltorito.c (rcsid): Remove.
26667 * util/mkisofs/hash.c: Likewise.
26668 * util/mkisofs/joliet.c: Likewise.
26669 * util/mkisofs/name.c: Likewise.
26670 * util/mkisofs/rock.c: Likewise.
26671 * util/mkisofs/tree.c: Likewise.
26672 * util/mkisofs/write.c: Likewise.
26673
1dabbc77
RM
266742009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26675
26676 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
26677 instead of static allocation.
26678 * util/mkisofs/match.h: Likewise.
26679
633877cb
RM
266802009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26681
3bc7896c
RM
26682 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
26683 and `util/grub.d/10_linux.in'.
633877cb
RM
26684 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
26685 translatable Shell files.
26686
af1c0c85
RM
266872009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26688
26689 * Makefile.in ($(srcdir)/aclocal.m4): New target.
26690
769ae37b
RM
266912009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26692
26693 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 26694 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
26695 * util/grub.d/10_kfreebsd.in (bindir): New variable.
26696 Add gettext initialization.
26697 (kfreebsd_entry): Make menuentry output translatable.
26698
266992009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26700
26701 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
26702 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
26703 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
26704 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
26705 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 26706 * po/LINGUAS: New file.
769ae37b
RM
26707
267082009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26709
26710 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
26711 other things).
26712 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
26713 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
26714 bindtextdomain() calls for gettext initialization.
26715
267162009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26717
26718 * gnulib/progname.c: New file (imported from Gnulib).
26719 * gnulib/progname.h: Likewise.
26720 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26721 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
26722 (usage): Replace `progname' with `program_name'.
26723 (main): Use set_program_name() for program name initialization.
26724
267252009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26726
26727 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
26728 from here ...
26729 * Makefile.in (CPPFLAGS): ... to here.
26730
267312009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26732
26733 * aclocal.m4: Move from here ...
26734 * acinclude.m4: ... to here.
26735 * autogen.sh: Add call to `aclocal'.
26736 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
26737
267382009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26739
26740 * Makefile.in (CLEANFILES): Add `po/*.mo'.
26741 (LINGUAS): New variable.
26742 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
26743 (install-local): Install MO files.
26744 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
26745 * include/grub/i18n.h: New file.
3bc7896c
RM
26746 * po/POTFILES: New file.
26747 * po/ca.po: New file.
769ae37b
RM
26748 * util/grub.d/10_linux.in (bindir): New variable.
26749 Add gettext initialization.
26750 (linux_entry): Make menuentry output translatable.
26751 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
26752 (usage): Make --help output translatable.
26753 (main): Initialize gettext.
26754
02c0a6ad
RM
267552009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26756
26757 * import_gcry.py: New file (written by Vladimir with minor
26758 adjustments).
26759 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
26760 ciphers.
26761 * INSTALL: Document that Python is required for bootstrap.
26762
267632009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26764
26765 Import ciphers from libgcrypt 1.4.4.
26766
26767 * lib/libgcrypt/cipher/ChangeLog
26768 * lib/libgcrypt/cipher/ac.c
26769 * lib/libgcrypt/cipher/arcfour.c
26770 * lib/libgcrypt/cipher/bithelp.h
26771 * lib/libgcrypt/cipher/blowfish.c
26772 * lib/libgcrypt/cipher/camellia-glue.c
26773 * lib/libgcrypt/cipher/camellia.c
26774 * lib/libgcrypt/cipher/camellia.h
26775 * lib/libgcrypt/cipher/cast5.c
26776 * lib/libgcrypt/cipher/cipher.c
26777 * lib/libgcrypt/cipher/crc.c
26778 * lib/libgcrypt/cipher/des.c
26779 * lib/libgcrypt/cipher/dsa.c
26780 * lib/libgcrypt/cipher/ecc.c
26781 * lib/libgcrypt/cipher/elgamal.c
26782 * lib/libgcrypt/cipher/hash-common.c
26783 * lib/libgcrypt/cipher/hash-common.h
26784 * lib/libgcrypt/cipher/hmac-tests.c
26785 * lib/libgcrypt/cipher/md.c
26786 * lib/libgcrypt/cipher/md4.c
26787 * lib/libgcrypt/cipher/md5.c
26788 * lib/libgcrypt/cipher/primegen.c
26789 * lib/libgcrypt/cipher/pubkey.c
26790 * lib/libgcrypt/cipher/rfc2268.c
26791 * lib/libgcrypt/cipher/rijndael-tables.h
26792 * lib/libgcrypt/cipher/rijndael.c
26793 * lib/libgcrypt/cipher/rmd.h
26794 * lib/libgcrypt/cipher/rmd160.c
26795 * lib/libgcrypt/cipher/rsa.c
26796 * lib/libgcrypt/cipher/seed.c
26797 * lib/libgcrypt/cipher/serpent.c
26798 * lib/libgcrypt/cipher/sha1.c
26799 * lib/libgcrypt/cipher/sha256.c
26800 * lib/libgcrypt/cipher/sha512.c
26801 * lib/libgcrypt/cipher/tiger.c
26802 * lib/libgcrypt/cipher/twofish.c
26803 * lib/libgcrypt/cipher/whirlpool.c
26804
af2f93ac
RM
268052009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26806
26807 Fix build for systems without error().
26808
26809 * gnulib/error.c: New file (imported from Gnulib).
26810 * gnulib/error.h: Likewise.
26811 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
26812 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
26813 (this variable is now used by error()).
26814
73fb3dd5
FZ
268152009-11-16 Felix Zielcke <fzielcke@z-51.de>
26816
814f5e96
FZ
26817 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
26818 instead of relying that char is signed.
73fb3dd5 26819
a691ca33
VS
268202009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
26821
26822 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
26823 blocksize different from specified.
26824 (grub_pxefs_read): Likewise.
26825
2af8f0f4
FZ
268262009-11-16 Felix Zielcke <fzielcke@z-51.de>
26827
26828 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
26829
26830 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
26831 (grub_ata_readwrite): Likewise. Update 2 format strings.
26832 (grub_atapi_read): Likewise.
26833
26834 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
26835 * conf/i386.rmk (pkglib_MODULES): ... to here ...
26836 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
26837 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
26838 (ata_mod_LDFLAGS): Move from here ...
26839 * conf/i386.rmk: ... to here ...
26840 * conf/x86_64-efi.rmk: ... and here.
26841 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
26842 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
26843
83bdecaf
RM
268442009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26845
26846 Relicense multiboot.h, with RMS' blessing.
26847
26848 * include/multiboot.h: Change to X11 license.
26849
fd6fd3d7
RM
268502009-11-15 Robert Millan <rmh.grub@aybabtu.com>
26851
26852 Support --version in grub-mkisofs.
26853
26854 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
26855 (OPTION_VERSION): New macro.
26856 (ld_options): Recognize --version.
26857 (usage): Move `program_name' from here ...
26858 (program_name): ... to here. Add `static' qualifier.
26859 (main): Recognize `OPTION_VERSION'.
26860
16a88c49
FZ
268612009-11-15 Felix Zielcke <fzielcke@z-51.de>
26862
26863 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26864 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26865
a4158476
RM
268662009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26867
26868 Fix help2man generation for mkisofs.
26869
26870 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26871 (usage): Send output to stdout (rather than stderr).
26872
fc2208b0
RM
268732009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26874
26875 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26876 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26877 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26878 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26879 (bin_SCRIPTS): Add `grub-mkfloppy'.
26880 (grub_mkfloppy_SOURCES): New variable.
26881
26882 * util/grub-mkrescue.in: New file.
26883 * util/i386/pc/grub-mkfloppy.in: New file.
26884
26885 * util/i386/coreboot/grub-mkrescue.in: Remove.
26886 * util/i386/pc/grub-mkrescue.in: Remove.
26887
8d0edf4a
RM
268882009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26889
26890 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26891 from here ...
26892 * include/multiboot.h (struct multiboot_header): ... to here. Update
26893 all users.
26894 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26895 from here ...
26896 * include/multiboot.h (struct multiboot_info): ... to here. Update
26897 all users.
26898 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26899 from here ...
26900 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26901 Update all users.
26902 * include/grub/multiboot.h (struct grub_mod_list): Move
26903 from here ...
26904 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26905 Update all users.
26906
a73f5969
RM
269072009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26908
26909 * include/multiboot2.h (multiboot_word): Rename from this ...
26910 (multiboot2_word): ... to this. Update all users.
26911 (multiboot_header): Rename from this ...
26912 (multiboot2_header): ... to this. Update all users.
26913 (multiboot_tag_header): Rename from this ...
26914 (multiboot2_tag_header): ... to this. Update all users.
26915 (multiboot_tag_start): Rename from this ...
26916 (multiboot2_tag_start): ... to this. Update all users.
26917 (multiboot_tag_name): Rename from this ...
26918 (multiboot2_tag_name): ... to this. Update all users.
26919 (multiboot_tag_module): Rename from this ...
26920 (multiboot2_tag_module): ... to this. Update all users.
26921 (multiboot_tag_memory): Rename from this ...
26922 (multiboot2_tag_memory): ... to this. Update all users.
26923 (multiboot_tag_unused): Rename from this ...
26924 (multiboot2_tag_unused): ... to this. Update all users.
26925 (multiboot_tag_end): Rename from this ...
26926 (multiboot2_tag_end): ... to this. Update all users.
26927
1c8927f0
RM
269282009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26929
26930 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26931 this platform we should support Multiboot1 first.
26932
26933 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26934 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26935 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26936
6e1e0d89
RM
269372009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26938
26939 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26940 of write calls (converting them to fwrite() if they aren't already).
26941 (get_torito_desc): Likewise.
26942 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26943
7f2b34d8
RM
269442009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26945
26946 * util/i386/pc/grub-install.in: Move from here ...
26947 * util/grub-install.in: ... to here. Update all users.
26948
c0ef3311
CW
269492009-11-11 Colin Watson <cjwatson@ubuntu.com>
26950
26951 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26952
e1f240ff
RM
269532009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26954
26955 Support for El Torito without floppy emulation.
26956
26957 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26958 (init_boot_catalog): Improve error handling.
26959 (get_torito_desc): Don't use floppy emulation unless requested by
26960 user. Patch boot information table when requested via
26961 `-boot-info-table'.
26962 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26963 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26964 (use_boot_info_table): New variables.
26965 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26966 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26967 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26968 `--eltorito-emul-floppy'.
26969 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26970 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26971 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26972 (use_boot_info_table, get_731): New prototypes.
26973 * util/mkisofs/write.c (get_731): New function.
26974
af7d4de5
FZ
269752009-11-11 Felix Zielcke <fzielcke@z-51.de>
26976
26977 Fix the generation of the man page.
26978
26979 * util/pc/i386/grub-install.in: Source
26980 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26981
2c55dbc0
RM
269822009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26983
26984 Large file support for grub-mkisofs.
26985
26986 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26987 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26988 (session_start): Upgrade type to `uint64_t'. Update all users.
26989 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26990 (struct directory_entry): Upgrade type of `starting_block' and
26991 `size' to `uint64_t'. Update all users.
26992 (struct deferred): Remove unused structure.
26993 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26994 Update all users.
26995 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26996 file is larger than `UINT32_MAX'.
26997 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26998 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26999 return value.
27000 (struct deferred_write): Upgrade type of `extent' and `size' to
27001 `uint64_t'. Update all users.
27002 (last_extent_written): Upgrade type to `uint64_t'. Update all
27003 users.
27004 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
27005 Update all users. Upgrade type of `remain' to `int64_t' and
27006 `use' to `size_t'. Use error() to handle fread() errors.
27007 (write_files): Rely on write_one_file() rather than calling
27008 xfwrite() directly.
27009
6a9cead5
FZ
270102009-11-09 Felix Zielcke <fzielcke@z-51.de>
27011
27012 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
27013
4825d790
RM
270142009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27015
27016 * util/mkisofs/fnmatch.c: Remove.
27017 * util/mkisofs/getopt1.c: Likewise.
27018 * util/mkisofs/getopt.c: Likewise.
27019 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
27020 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
27021 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
27022 `gnulib/getopt1.c' and `gnulib/getopt.c'.
27023 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
27024
27025 * configure.ac: Detect `mingw32msvc' host_os.
27026 Check for lstat(), getuid() and getgid().
27027
27028 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
27029 instances of `u_char' with `uint8_t'.
27030
27031 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
27032 [!HAVE_GETUID] (getuid): New function (stub).
27033 [!HAVE_GETGID] (getgid): Likewise.
27034 [!HAVE_LSTAT] (lstat): Likewise.
27035 [!S_IROTH] (S_IROTH): New macro (dummy).
27036 [!S_IRGRP] (S_IRGRP): Likewise.
27037
84b860d8
RM
270382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27039
27040 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
27041 conditional expression).
27042
66e9b712
RM
270432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27044
27045 Import from Gnulib.
27046
27047 * gnulib/fnmatch.c: New file.
27048 * gnulib/fnmatch.h: Likewise.
27049 * gnulib/fnmatch_loop.c: Likewise.
27050 * gnulib/getopt.c: Likewise.
27051 * gnulib/getopt.h: Likewise.
27052 * gnulib/getopt1.c: Likewise.
27053 * gnulib/getopt_int.h: Likewise.
27054 * gnulib/gettext.h: Likewise.
27055
34f4a5b0
RM
270562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27057
27058 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
27059 * normal/handler.c (read_handler_list): Likewise.
27060
ac451143
RM
270612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27062
27063 Misc cleanup.
27064
27065 * kern/command.c (grub_register_command_prio): Use
27066 grub_zalloc() instead of explicitly zeroing data.
27067 * kern/list.c: Include `<grub/mm.h>'.
27068 (grub_named_list_find): Replace `0' with `NULL'.
27069 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
27070 (fs_module_list): Change type to `grub_named_list_t'. Update all
27071 users.
27072 * normal/dyncmd.c (read_command_list): Add space between function
27073 call and parenthesis.
27074 * normal/handler.c (read_handler_list): Likewise.
27075
4089b167
RM
270762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27077
27078 * normal/auth.c (punishment_delay): Moved from here ...
27079 (grub_auth_strcmp): ... to here (inside function).
27080
325f5037
RM
270812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27082
27083 * include/grub/list.h (struct grub_named_list): Remove `const'
27084 qualifier from `name'.
27085 (struct grub_prio_list): Likewise.
27086
7aea29a3
RM
270872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27088
27089 * normal/auth.c: Include `<grub/time.h>'.
27090 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
27091
3fd6f044
RM
270922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27093
27094 * normal/auth.c (punishment_delay): New variable.
27095 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
27096 (grub_auth_check_authentication): Punish failed login attempts with
27097 an incremental (2^N) delay.
27098
a4cd68e4
RM
270992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27100
27101 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
27102 path with $(srcdir).
27103
7ad12f43
VS
271042009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
27105
27106 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
27107
c1129f03
RM
271082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27109
27110 * util/i386/coreboot/grub-mkrescue.in: New file.
27111 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
27112 variables.
27113
27114 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
27115 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
27116 * configure.ac: Add header and function checks to satisfy grub-mkisofs
27117 requirements.
27118 * util/mkisofs/defaults.h: New file.
27119 * util/mkisofs/eltorito.c: Likewise.
27120 * util/mkisofs/exclude.h: Likewise.
27121 * util/mkisofs/fnmatch.c: Likewise.
27122 * util/mkisofs/getopt.c: Likewise.
27123 * util/mkisofs/getopt1.c: Likewise.
27124 * util/mkisofs/hash.c: Likewise.
27125 * util/mkisofs/include/fctldefs.h: Likewise.
27126 * util/mkisofs/include/mconfig.h: Likewise.
27127 * util/mkisofs/include/prototyp.h: Likewise.
27128 * util/mkisofs/include/statdefs.h: Likewise.
27129 * util/mkisofs/iso9660.h: Likewise.
27130 * util/mkisofs/joliet.c: Likewise.
27131 * util/mkisofs/match.c: Likewise.
27132 * util/mkisofs/match.h: Likewise.
27133 * util/mkisofs/mkisofs.c: Likewise.
27134 * util/mkisofs/mkisofs.h: Likewise.
27135 * util/mkisofs/multi.c: Likewise.
27136 * util/mkisofs/name.c: Likewise.
27137 * util/mkisofs/rock.c: Likewise.
27138 * util/mkisofs/tree.c: Likewise.
27139 * util/mkisofs/write.c: Likewise.
27140
ec8bb77d
VS
271412009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
27142
27143 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
27144 being insecure.
27145
3716b12c
RM
271462009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27147
27148 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
27149 `grub-mkimage' (and use $0 when possible).
27150
b97b7b91
RM
271512009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27152
27153 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
27154 error message for excessively large memory map.
27155
04114812
RM
271562009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27157
27158 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
27159 executable bit.
27160
e4eb2373
RM
271612009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27162
27163 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
27164 message for coreboot users.
27165
c926e1d5 271662009-11-07 Robert Millan <rmh.grub@aybabtu.com>
27167
27168 Fix build with GNU gold.
27169
27170 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
27171 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
27172 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
27173 link addresses.
27174 * aclocal.m4: Likewise.
27175
86e5b1db 271762009-11-04 Felix Zielcke <fzielcke@z-51.de>
27177
27178 * configure.ac (AC_PREREQ): Bump to 2.59d.
27179 * INSTALL: Make it more clear when Autoconf and Ruby are
27180 needed and when to run `./autogen.sh'.
27181
246cd78f 271822009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
27183
27184 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
27185 OSes.
27186
4f9dfb37 271872009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27188
27189 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
27190
b82bd5e1 271912009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27192
27193 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
27194 giving it to GNU Mach.
27195
ff1a9bca 271962009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27197
27198 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
27199 GNU partition number to get internal GRUB partition number.
27200
61697d9c 272012009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27202
27203 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
27204 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
27205
a50569e1 272062009-11-01 Robert Millan <rmh.grub@aybabtu.com>
27207
27208 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
27209 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
27210 case.
27211
5b153867 272122009-11-01 Felix Zielcke <fzielcke@z-51.de>
27213
27214 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
27215
d9e2cd70 272162009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27217
27218 Fix build problem.
27219
27220 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
27221 `-isystem=$(srcdir)/include'.
27222
805111a4 272232009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27224
27225 * util/i386/pc/grub-install.in: Remove hint that device.map should be
27226 checked (grub-install doesn't currently rely on it).
27227
fa6e945f 272282009-10-29 Robert Millan <rmh.grub@aybabtu.com>
27229
27230 Revert SVN r2660.
27231
27232 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
27233 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27234 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
27235 * conf/i386-ieee1275.rmk: Likewise.
27236 * conf/i386-pc.rmk: Likewise.
27237 * conf/powerpc-ieee1275.rmk: Likewise.
27238 * conf/sparc64-ieee1275.rmk: Likewise.
27239 * conf/x86_64-efi.rmk: Likewise.
27240
cee15086 272412009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27242
27243 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
27244
95b9239e 272452009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27246
27247 * include/grub/misc.h: Stop checking for APPLE_CC.
27248
2ed19dfd 272492009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27250
27251 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
27252 doesn't cause an infinite call loop.
27253
fdcdde19 272542009-10-28 Felix Zielcke <fzielcke@z-51.de>
27255
27256 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
27257 strings.
27258
cefabfe1 272592009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27260
27261 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
27262 variable.
27263 * Makefile.in: Likewise.
27264
ed96ab6d 272652009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27266
27267 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
27268
0579b753 272692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27270
27271 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
27272
478df409 272732009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27274
27275 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
27276
083d1679 272772009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27278
27279 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
27280 from here ...
27281 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
27282
5947ae32 272832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27284
27285 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
27286 in $(MAKEINFO) invocation. This makes it clear in output that
27287 errors are being ignored.
27288
94180ff6 272892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27290
27291 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
27292 from here ...
27293 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27294 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
27295 * conf/i386-ieee1275.rmk: Likewise.
27296 * conf/i386-pc.rmk: Likewise.
27297 * conf/powerpc-ieee1275.rmk: Likewise.
27298 * conf/sparc64-ieee1275.rmk: Likewise.
27299 * conf/x86_64-efi.rmk: Likewise.
27300
9031b03a 273012009-10-26 Colin Watson <cjwatson@ubuntu.com>
27302
27303 * util/grub-editenv.c (main): If only a command is given, use
27304 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
27305 (usage): FILENAME is now optional and has a default.
27306
e4f6809b 273072009-10-26 Colin Watson <cjwatson@ubuntu.com>
27308
27309 Improve grub-mkconfig performance when there are several menu
27310 entries on a single filesystem.
27311
27312 * util/grub.d/10_linux.in (linux_entry): Cache the output of
27313 prepare_grub_to_access_device.
27314 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27315 * util/grub.d/30_os-prober.in: Likewise.
27316
67937d4d 273172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27318
27319 * util/grub.d/10_freebsd.in: Remove.
27320 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
27321 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
27322
ee3756cc 273232009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27324
5c35048e 27325 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 27326
4dea1c6f 273272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27328
27329 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
27330 grub_util_error() call.
27331
042484d7 273322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27333
27334 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
27335 `reserved_first_sector' member.
27336 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
27337 `reserved_first_sector' to 1.
27338 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
27339 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
27340 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
27341 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
27342 filesystems which begin at first sector.
27343 (options): New option --skip-fs-probe.
27344 (main): Handle --skip-fs-probe and pass it to setup().
27345
d64448a7 273462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27347
27348 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
27349 (memset): Fix function prototype.
27350
508d42ec 273512009-10-25 Robert Millan <rmh.grub@aybabtu.com>
273522009-10-25 Vasily Averin <vvs@parallels.com>
27353
27354 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
27355 `dirent.direntlen == 0'.
27356
b240e30c 273572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27358
27359 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
27360 `cpio'.
27361 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
27362
346e7fbe 273632009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27364
27365 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
27366 `__trampoline_setup' and `__ucmpdi2'.
27367 * include/grub/powerpc/libgcc.h: Only export symbols for functions
27368 that libgcc provides.
27369
cdb308b0 273702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27371
27372 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
27373 * include/grub/sparc64/libgcc.h (memset): Likewise.
27374 * include/grub/misc.h (memset, memcmp): New function prototypes.
27375
fb26abc2 273762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27377
27378 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
27379 `cpio'.
27380 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
27381
f6693890 273822009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27383
27384 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
27385 * docs/grub.cfg: Compensate for recent change in multiboot
27386 loader (since 2009-08-14 it won't pass filename to payload).
27387 * util/grub.d/10_hurd.in: Likewise.
27388
0933cdc0 273892009-10-21 Felix Zielcke <fzielcke@z-51.de>
27390
27391 * config.guess: Update to latest version from config git
27392 repository.
27393 * config.sub: Likewise.
27394
3b2fe8c2 273952009-10-20 Robert Millan <rmh.grub@aybabtu.com>
27396
27397 Fix build on sparc64.
27398
27399 * configure.ac: Perform checks for libgcc symbols before
27400 adding `-nostdlib' to LDFLAGS.
27401
46695a62 274022009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27403
27404 Let user specify OpenBSD root device.
27405
27406 * loader/i386/bsd.c (openbsd_root): New variable.
27407 (openbsd_opts): New option 'root'.
27408 (OPENBSD_ROOT_ARG): New macro.
27409 (grub_openbsd_boot): Use 'openbsd_root'.
27410 (grub_cmd_openbsd): Fill 'openbsd_root'.
27411
d2b6b7fc 274122009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27413
27414 * NEWS: Misc adjustments.
27415
421bd7ac 274162009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27417
27418 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
27419
f1d29d87 274202009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27421
27422 * configure.ac: Bump version to 1.97.
27423
6f3cd880 274242009-10-16 Colin Watson <cjwatson@ubuntu.com>
27425
27426 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
27427 -mno-3dnow on x86 architectures. Some toolchains enable these
27428 features by default, but they rely on registers that aren't enabled
27429 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
27430
035f7122 274312009-10-15 Robert Millan <rmh.grub@aybabtu.com>
27432
27433 Make entry text a bit more readable.
27434
27435 * util/grub.d/10_linux.in: Add `with' before `Linux'.
27436
44998e58 274372009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27438
27439 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
27440
cd2851b3 274412009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27442
27443 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
27444 operations.
27445
c6f3b249 274462009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27447
27448 * configure.ac: Add missing dollar.
27449
6b5886ba 274502009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27451
27452 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
27453
27454 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
27455 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
27456 exports.
27457 * include/grub/sparc64/libgcc.h: Likewise. Use
27458 preprocessor conditionals.
27459
e9d66f6d 274602009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27461
27462 * conf/common.rmk (grub-dumpbios): Remove rule.
27463 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
27464 * util/grub-dumpbios.in: Remove file.
27465
9155bc17 274662009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27467
27468 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
27469 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
27470
27471 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
27472 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
27473 users.
27474
27475 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
27476 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
27477 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
27478 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
27479 users.
27480
bf7f7a18 274812009-10-12 Robert Millan <rmh.grub@aybabtu.com>
27482
27483 * term/tparm.c: Switch to GPLv3.
27484
86564c26 274852009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27486
27487 * include/grub/i386/cpuid.h: Add header protection.
27488
5c936493 274892009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27490
27491 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
27492
27493 * include/grub/i386/cpuid.h: New file.
27494 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
27495 (has_longmode): Rename to ...
27496 (grub_cpuid_has_longmode): ... this. Update all users. Remove
27497 `static' attribute.
27498 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
27499 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
27500 on a CPU that doesn't implement AMD64 instruction set.
27501
186e7cf2 275022009-10-06 Colin Watson <cjwatson@ubuntu.com>
27503
27504 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
27505 that version.texi is rebuilt on version number changes.
27506
83b65c4a 275072009-10-06 Colin Watson <cjwatson@ubuntu.com>
27508
27509 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
27510 Fixes bug #27602.
27511
d244281c 275122009-10-06 Colin Watson <cjwatson@ubuntu.com>
27513
27514 * util/i386/pc/grub-install.in: Source
27515 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
27516 that the --grub-probe option will work.
27517 * util/sparc64/ieee1275/grub-install.in: Likewise.
27518
da25306d 275192009-10-05 Robert Millan <rmh.grub@aybabtu.com>
27520
27521 * configure.ac: Bump version to 1.97~beta4.
27522
e8ee83c0 275232009-10-03 Robert Millan <rmh.grub@aybabtu.com>
27524
27525 Resync grub-mkdevicemap in x86_64-efi.
27526
27527 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
27528 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
27529 `util/devicemap.c'.
27530
50dcabcf 275312009-10-01 Colin Watson <cjwatson@ubuntu.com>
27532
27533 * util/grub-editenv.c (create_envblk_file): Write new block with a
27534 .new suffix and then rename it into place, to ensure atomic
27535 creation.
27536
0e51c3a7 275372009-09-28 Robert Millan <rmh.grub@aybabtu.com>
27538
27539 Do not automatically install headers.
27540
27541 * Makefile.in (include_DATA): Remove. Update all users.
27542
31299a95 275432009-09-26 Robert Millan <rmh.grub@aybabtu.com>
27544
27545 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
27546 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
27547
27548 * util/osdetect.lua: Remove.
27549 * script/lua/lauxlib.c: Likewise.
27550 * script/lua/ldebug.c: Likewise.
27551 * script/lua/grub_main.c: Likewise.
27552 * script/lua/lauxlib.h: Likewise.
27553 * script/lua/ldebug.h: Likewise.
27554 * script/lua/ltablib.c: Likewise.
27555 * script/lua/liolib.c: Likewise.
27556 * script/lua/lstrlib.c: Likewise.
27557 * script/lua/lualib.h: Likewise.
27558 * script/lua/ldo.c: Likewise.
27559 * script/lua/ldump.c: Likewise.
27560 * script/lua/ldo.h: Likewise.
27561 * script/lua/loslib.c: Likewise.
27562 * script/lua/lundump.c: Likewise.
27563 * script/lua/grub_lib.c: Likewise.
27564 * script/lua/ldblib.c: Likewise.
27565 * script/lua/lundump.h: Likewise.
27566 * script/lua/lmem.c: Likewise.
27567 * script/lua/grub_lib.h: Likewise.
27568 * script/lua/lmathlib.c: Likewise.
27569 * script/lua/lstate.c: Likewise.
27570 * script/lua/ltm.c: Likewise.
27571 * script/lua/lvm.c: Likewise.
27572 * script/lua/lmem.h: Likewise.
27573 * script/lua/lstate.h: Likewise.
27574 * script/lua/ltm.h: Likewise.
27575 * script/lua/ltable.c: Likewise.
27576 * script/lua/lvm.h: Likewise.
27577 * script/lua/llex.c: Likewise.
27578 * script/lua/lgc.c: Likewise.
27579 * script/lua/grub_lua.h: Likewise.
27580 * script/lua/loadlib.c: Likewise.
27581 * script/lua/lfunc.c: Likewise.
27582 * script/lua/lopcodes.c: Likewise.
27583 * script/lua/lparser.c: Likewise.
27584 * script/lua/ltable.h: Likewise.
27585 * script/lua/llex.h: Likewise.
27586 * script/lua/lgc.h: Likewise.
27587 * script/lua/lfunc.h: Likewise.
27588 * script/lua/lbaselib.c: Likewise.
27589 * script/lua/lopcodes.h: Likewise.
27590 * script/lua/lparser.h: Likewise.
27591 * script/lua/lzio.c: Likewise.
27592 * script/lua/linit.c: Likewise.
27593 * script/lua/lobject.c: Likewise.
27594 * script/lua/llimits.h: Likewise.
27595 * script/lua/lstring.c: Likewise.
27596 * script/lua/lzio.h: Likewise.
27597 * script/lua/lapi.c: Likewise.
27598 * script/lua/lcode.c: Likewise.
27599 * script/lua/lua.h: Likewise.
27600 * script/lua/lobject.h: Likewise.
27601 * script/lua/lstring.h: Likewise.
27602 * script/lua/lapi.h: Likewise.
27603 * script/lua/lcode.h: Likewise.
27604 * script/lua/luaconf.h: Likewise.
27605
cb8a2c38 276062009-09-26 Colin Watson <cjwatson@ubuntu.com>
27607
27608 * docs/grub.texi (Command-line and menu entry commands): Document
27609 date and echo commands.
27610
6b9b6276 276112009-09-24 Pavel Roskin <proski@gnu.org>
27612
27613 * include/grub/kernel.h (struct grub_module_header): Remove
27614 `grub_module_header_types'. Make `type' unsigned. Make `size'
27615 32-bit on all platforms.
27616 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
27617 8-bit field. Use grub_host_to_target32() for `size'.
27618 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
27619 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
27620 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
27621
4e5a02a7 276222009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27623
27624 Fix "lost keypress" bug in at_keyboard.
27625
27626 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
27627 Checks for readyness of input buffer (without flushing it).
27628 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
27629 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
27630
c6dcedf6 276312009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27632
27633 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
27634 size check within GRUB_MACHINE_PCBIOS section.
27635
74c958b1 276362009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27637
27638 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
27639 return value.
27640 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
27641 KEYBOARD_ISREADY check.
27642 (grub_at_keyboard_checkkey): Rename to ...
27643 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
27644 Remove gratuitous cast.
27645
ff420223 276462009-09-23 Colin Watson <cjwatson@ubuntu.com>
27647
27648 * configure.ac: Call AC_PROG_MKDIR_P.
27649 * Makefile.in (docs/stamp-vti): Create docs directory. Create
27650 version.texi in $(builddir) rather than $(srcdir).
27651 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
27652 to makeinfo's @include search path.
27653
d96875df 276542009-09-23 Felix Zielcke <fzielcke@z-51.de>
27655
27656 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
27657
9b3f8365 276582009-09-23 Felix Zielcke <fzielcke@z-51.de>
27659
27660 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
27661 for `*.dpkg-new'.
27662
c44c90db 276632009-09-21 Colin Watson <cjwatson@ubuntu.com>
27664
27665 Build info documentation. Some code borrowed from Automake.
27666
27667 * configure.ac: Check for makeinfo.
27668 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
27669 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
27670 docs/version.texi.
27671 (MOSTLYCLEANFILES): Add vti.tmp.
27672 (docs/version.texi, docs/stamp-vti): Update automatically.
27673 (docs/grub.info): Build info documentation. Use --force and ignore
27674 errors for now.
27675 (all-local): Add $(INFOS).
27676 (install-local): Install info files.
27677 (uninstall): Uninstall info files.
27678 * docs/version.texi: Remove from revision control. This file is
27679 automatically generated on build now.
27680 * gendistlist.sh: Add `*.info'.
27681
e0b37bb5 276822009-09-21 Felix Zielcke <fzielcke@z-51.de>
27683
27684 * kern/term.c: Fix indentation.
27685
5a78865b 276862009-09-21 Felix Zielcke <fzielcke@z-51.de>
27687
27688 * util/hostdisk.c: Fix a comment.
27689
dace7e8a 276902009-09-20 Robert Millan <rmh.grub@aybabtu.com>
27691
27692 Fix regression introduced in r2539.
27693
27694 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
27695 to 0xA1.
27696
a83d079b 276972009-09-19 Colin Watson <cjwatson@ubuntu.com>
27698
27699 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 27700 os-prober. Under normal operation, it does not print anything to
27701 stderr; if it does, we need to debug it, and throwing away stderr
27702 makes that excessively difficult.
a83d079b 27703
be94a509 277042009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
27705
27706 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
27707
63f745e8 277082009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27709
27710 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
27711 AC_LANG_PROGRAM from autoconf.
27712 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
27713 prototypes (fixes warning).
27714
27715 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
27716 `--disable-werror' was used.
27717
bbb2a70f 277182009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27719
27720 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
27721 uninitialized `lastaddr'.
27722
77c24f1d 277232009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
27724
0f0b8c87 27725 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 27726
07197f23 277272009-09-14 Colin Watson <cjwatson@ubuntu.com>
27728
27729 * commands/test.c (get_fileinfo): Return immediately if
27730 grub_fs_probe fails.
27731
dabf1798 277322009-09-14 José Martínez <xosemp@gmail.com>
27733
27734 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
27735
d52109a7 277362009-09-14 Colin Watson <cjwatson@ubuntu.com>
27737
27738 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
27739 output.
27740
56532179 277412009-09-13 Robert Millan <rmh.grub@aybabtu.com>
27742
27743 * configure.ac: Remove --enable-grub-pe2elf. Only build
27744 grub-pe2elf when needed by the build system itself.
27745 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
27746
8ef070f5 277472009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27748
27749 * configure.ac: Bump version to 1.97~beta3.
27750 * docs/version.texi: Likewise.
27751
61229557 277522009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27753
27754 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
27755 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
27756 from here ...
27757 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
27758 (grub_linux_setup_video): ... to here (with some adjustments).
27759
5c9f8d84 277602009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27761
27762 Fix memory corruption issue (spotted by Colin Watson).
27763
27764 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
27765 causing returned size to be stored in an incorrect memory location.
27766 Fix use of uninitialized value when storing the returned size.
27767
e8f5d6e9 277682009-09-12 Yves Blusseau <blusseau@zetam.org>
27769
27770 Change clean rules to properly remove files
27771
27772 * genmk.rb: add new clean rules
27773 * Makefile.in (clean): add the new targets
27774 (mostlyclean): likewise
27775
cda2a409 277762009-09-11 Colin Watson <cjwatson@ubuntu.com>
27777
27778 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
27779 to grub_uint64_t.
27780 * fs/ntfs.c (init_file): Understand 64-bit sizes for
27781 non-resident files.
27782
86695375 277832009-09-11 Colin Watson <cjwatson@ubuntu.com>
27784
27785 * configure.ac: Don't look for help2man when cross-compiling. Fixes
27786 part of bug #27349.
27787
8aa1541a 277882009-09-10 Felix Zielcke <fzielcke@z-51.de>
27789
27790 * util/grub-mkconfig.in: Make the created config mode 400 and
27791 print a warning if it fails.
27792
48d9bb0a 277932009-09-10 Robert Millan <rmh.grub@aybabtu.com>
27794
27795 * util/grub.d/40_custom.in: Ask user to type custom entries below
27796 comment, rather than below 'exec tail' line.
27797
3b0521be 277982009-09-10 Colin Watson <cjwatson@ubuntu.com>
27799
27800 * util/grub.d/40_custom.in: Make sure that the explanatory text is
27801 visible in grub.cfg.
27802
50051d55 278032009-09-10 Colin Watson <cjwatson@ubuntu.com>
27804
27805 * util/grub.d/40_custom.in: Make it a little clearer how to use this
27806 file.
27807
c0d34387 278082009-09-10 Felix Zielcke <fzielcke@z-51.de>
27809
27810 * docs/grub.cfg: Add an example menu entry for memtest86+.
27811
80a608f3 278122009-09-09 Felix Zielcke <fzielcke@z-51.de>
27813
a2094832 27814 * config.guess: Update to latest version from config git.
80a608f3 27815 * config.sub: Likewise.
27816
99423078 278172009-09-08 Colin Watson <cjwatson@ubuntu.com>
27818
27819 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
27820 unknown-command case. Fixes bug #27320.
27821
44454e4c 278222009-09-08 Felix Zielcke <fzielcke@z-51.de>
27823
27824 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
27825 `help' if the command exists.
27826
e30d87ad 278272009-09-06 Robert Millan <rmh.grub@aybabtu.com>
27828
27829 * INSTALL: Require GCC 4.1.3 or later.
27830
9a86f1ec 278312009-09-06 Yves Blusseau <blusseau@zetam.org>
27832
27833 * Makefile.in (RMKFILES): add i386-qemu.rmk
27834 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
27835 $(srcdir)/stamp-h.in
27836
7f26d466 278372009-09-05 Robert Millan <rmh.grub@aybabtu.com>
27838
27839 * util/grub-probe.c (probe): Comment out buggy codepath, which
27840 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
27841 should be re-enabled after 1.97.
27842
3a613259 278432009-09-05 Felix Zielcke <fzielcke@z-51.de>
27844
27845 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
27846 find searches for.
27847
197f76c7 278482009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
27849
27850 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
27851 unnecessary calls to grub_error.
27852
70ba68ce 278532009-09-04 Colin Watson <cjwatson@ubuntu.com>
27854
27855 * NEWS: Mention `keystatus' and Unicode fonts.
27856
4ff0d7a4 278572009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27858
27859 * configure.ac: Bump version to 1.97~beta2.
27860 * docs/version.texi: Likewise.
27861
77c55a87 278622009-09-03 Colin Watson <cjwatson@ubuntu.com>
27863
27864 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27865 containing unwind information in some cases where it previously did
27866 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27867 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27868 discussion.
27869
f79572cd 278702009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27871
27872 Embedding loadenv module into grub-emu
27873
27874 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27875 commands/loadenv.c
27876 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27877 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27878 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27880 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27881 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27882
93a81088 278832009-09-03 Magnus Granberg <zorry@ume.nu>
27884
27885 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27886 include -fPIE in the default specs.
27887 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27888 to TARGET_CFLAGS.
27889
160034b2 278902009-09-03 Felix Zielcke <fzielcke@z-51.de>
27891
27892 * INSTALL: Note that GNU Bison 2.3 or later is required.
27893
087c07c4 278942009-09-03 Colin Watson <cjwatson@ubuntu.com>
27895
27896 * kern/i386/pc/startup.S: Fix typo.
27897
cbf978c0 278982009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27899
27900 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27901 according to GCS.
27902
279032009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 27904
27905 * docs/grub.texi (Naming convention): Describe one-based partition
27906 numbering.
27907 (Device syntax): Likewise.
27908 (File name syntax): Likewise.
27909 (Block list syntax): Likewise.
27910 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27911 menu.lst.
27912 (File name syntax): Likewise.
27913 (Command-line and menu entry commands): Document acpi, blocklist,
27914 crc, export, insmod, keystatus, ls, set, and unset commands.
27915
f3e8cdfd 279162009-09-02 Colin Watson <cjwatson@ubuntu.com>
27917
27918 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27919 to avoid implying that only one of --shift, --ctrl, or --alt may be
27920 used.
27921
c0bc232b 279222009-09-02 Colin Watson <cjwatson@ubuntu.com>
27923
27924 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27925 rather than comparing against S_IFREG, which will almost never work.
27926
aa0f752d 279272009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27928
27929 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27930 (write_blocklists): Likewise.
27931
ecb3166a 279322009-09-01 Colin Watson <cjwatson@ubuntu.com>
27933
27934 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27935 argument to grub_printf.
27936
c403a125 279372009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 27938
27939 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 27940 non GNU test.
31aba781 27941
b5e7312c 279422009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27943
27944 * kern/file.c (grub_file_read): Spelling fix
27945
fe00f472 279462009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27947
27948 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27949 loading of headers in some cases.
27950
cc55302e 279512009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27952
27953 * configure.ac: Bump version to 1.97~beta1.
27954 * docs/version.texi: Likewise.
27955
5c90cdd2 279562009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 27957
27958 * include/grub/i386/xnu.h: Add license header.
27959 include grub/err.h explicitly.
27960
c90edae4 279612009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27962
27963 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27964 to `ufs' in the vfs.root.mountfrom kernel parameter.
27965
d8888b5c 279662009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27967
27968 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27969
27970 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27971 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27972
27973 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27974 `ARRAY_SIZE' macro.
27975
6f07b921 279762009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27977
27978 * kern/file.c (grub_file_read): Check offset.
27979 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27980 * fs/jfs.c (grub_jfs_read_file): Likewise.
27981 * fs/ntfs.c (grub_ntfs_read): Likewise.
27982 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27983 * fs/minix.c (grub_minix_read_file): Correct offset check.
27984 * fs/ufs.c (grub_ufs_read_file): Likewise.
27985
b4f34077 279862009-08-28 Colin Watson <cjwatson@ubuntu.com>
27987
27988 * term/i386/pc/console.c (bios_data_area): Cast
27989 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27990
e7c69859 279912009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27992
27993 1-bit optimised blitters.
27994
27995 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27996 prototype.
27997 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27998 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27999 (grub_video_fbblit_replace_8bit_1bit): Likewise.
28000 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
28001 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
28002 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
28003 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
28004 function.
28005 (grub_video_fbblit_replace_24bit_1bit): Likewise.
28006 (grub_video_fbblit_replace_16bit_1bit): Likewise.
28007 (grub_video_fbblit_replace_8bit_1bit): Likewise.
28008 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
28009 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
28010 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
28011 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
28012 when possible.
28013 * video/video.c (grub_video_get_blit_format): Return
28014 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
28015
a57da43f 280162009-08-28 Colin Watson <cjwatson@ubuntu.com>
28017
28018 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
28019 the first argument to grub_printf.
28020
4cbe67e5 280212009-08-28 Colin Watson <cjwatson@ubuntu.com>
280222009-08-28 Robert Millan <rmh.grub@aybabtu.com>
28023
28024 Add `getkeystatus' terminal method. Add a new `keystatus' command
28025 to query it.
28026
28027 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
28028 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
28029 modifier key bitmasks.
28030 (struct grub_term_input): Add `getkeystatus' member.
28031 (grub_getkeystatus): Add prototype.
28032 * kern/term.c (grub_getkeystatus): New function.
28033
28034 * include/grub/i386/pc/memory.h
28035 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
28036 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
28037 Data Area layout.
28038 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
28039 (grub_console_term_input): Set `getkeystatus' member.
28040 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
28041 constants.
28042 (grub_usb_keyboard_getreport): Likewise.
28043 (grub_usb_keyboard_checkkey): Likewise.
28044 (grub_usb_keyboard_getkeystatus): New function.
28045 (grub_usb_keyboard_term): Set `getkeystatus' member.
28046
28047 * commands/keystatus.c: New file.
28048 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
28049 (keystatus_mod_SOURCES): New variable.
28050 (keystatus_mod_CFLAGS): Likewise.
28051 (keystatus_mod_LDFLAGS): Likewise.
28052 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
28053 commands/keystatus.c.
28054 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28055 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28056 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28058 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28059 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 28060
6e2a9085 280612009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
28062
28063 Split befs.mod and afs.mod into *_be.mod and *.mod
28064
28065 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
28066 (grub_fstest_SOURCES): Likewise.
28067 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
28068 (afs_be_mod_SOURCES): New variable.
28069 (afs_be_mod_CFLAGS): Likewise.
28070 (afs_be_mod_LDFLAGS): Likewise.
28071 (befs_be_mod_SOURCES): Likewise.
28072 (befs_be_mod_CFLAGS): Likewise.
28073 (befs_be_mod_LDFLAGS): Likewise.
28074 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
28075 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28076 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28077 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28078 (grub_emu_SOURCES): Likewise.
28079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28080 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28081 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28082 * fs/afs_be.c: New file.
28083 * fs/befs_be.c: New file.
28084 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
28085 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
28086 (U16): Replaced with ...
28087 (grub_afs_to_cpu16): ...this. All users updated.
28088 (U32): Replaced with ...
28089 (grub_afs_to_cpu32): ...this. All users updated.
28090 (U64): Replaced with ...
28091 (grub_afs_to_cpu64): ...this. All users updated.
28092 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
28093 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 28094 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 28095 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
28096 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
28097 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
28098 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
28099 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
28100 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
28101 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
28102 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
28103
32a71655 281042009-08-26 Bean <bean123ch@gmail.com>
28105
28106 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
28107 64-bit number.
28108 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
28109 (grub_xfs_inode_block): Change return type to grub_uint64_t.
28110 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
28111
552bf6c5 281122009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28113
28114 NetBSD memory map support.
28115
28116 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
28117 (grub_netbsd_btinfo_mmap_header): New structure.
28118 (grub_netbsd_btinfo_mmap_entry): Likewise.
28119 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
28120
1ae2078c 281212009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28122
28123 Enable bsd.mod on coreboot.
28124
28125 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
28126 (bsd_mod_SOURCES): New variable.
28127 (bsd_mod_CFLAGS): Likewise.
28128 (bsd_mod_LDFLAGS): Likewise.
28129 (bsd_mod_ASFLAGS): Likewise.
28130 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
28131 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
28132
beefc598 281332009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28134
28135 Cleanup NetBSD root support.
28136
28137 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
28138 grub_bsd_get_device.
28139 Fix typo.
28140
3b76e68b 281412009-08-25 Felix Zielcke <fzielcke@z-51.de>
28142
28143 * util/grub.d/00_header.in: Move check for the video backend of
28144 gfxterm from here ...
28145 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
28146 a suitable video backend.
28147
aea664ea 281482009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28149
28150 Fix breakage in grub-setup.
28151
28152 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
28153 "msdos_partition_map".
28154
ff747d50 281552009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28156
28157 Fix breakage in normal/auth.c.
28158
28159 * normal/auth.c (grub_iswordseparator): New function.
28160
e7e1f93f 281612009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28162
28163 Authentication support.
28164
28165 * commands/password.c: New file.
28166 * conf/common.rmk (pkglib_MODULES): Add password.mod.
28167 (password_mod_SOURCES): New variable.
28168 (password_mod_CFLAGS): Likewise.
28169 (password_mod_LDFLAGS): Likewise.
28170 (normal_mod_SOURCES): Add normal/auth.c.
28171 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
28172 normal/auth.c.
28173 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28174 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28175 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28176 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28177 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28178 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28179 * include/grub/auth.h: New file.
28180 * include/grub/err.h (grub_err_t): New enum value
28181 GRUB_ERR_ACCESS_DENIED.
28182 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
28183 'users'.
28184 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
28185 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
28186 users updated.
28187 * normal/auth.c: New file.
28188 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
28189 (grub_cmdline_run): Don't allow to go to command line without
28190 authentication.
28191 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
28192 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
28193 menuentry without superuser rights.
28194 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
28195 user isn't a superuser.
28196
70f1161d 281972009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28198
28199 Save space by inlining misc.c functions.
28200
28201 * kern/misc.c (grub_iswordseparator): Made static.
28202 * kern/misc.c (grub_strcat): Moved from here ...
28203 * include/grub/misc.h (grub_strcat): ... here. Inlined.
28204 * kern/misc.c (grub_strncat): Moved from here ...
28205 * include/grub/misc.h (grub_strncat): ... here. Inlined.
28206 * kern/misc.c (grub_strcasecmp): Moved from here ...
28207 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
28208 * kern/misc.c (grub_strncasecmp): Moved from here ...
28209 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
28210 * kern/misc.c (grub_isalpha): Moved from here ...
28211 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
28212 * kern/misc.c (grub_isdigit): Moved from here ...
28213 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
28214 * kern/misc.c (grub_isgraph): Moved from here ...
28215 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
28216 * kern/misc.c (grub_tolower): Moved from here ...
28217 * include/grub/misc.h (grub_tolower): ... here. Inlined.
28218
48e40bff 282192009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28220
28221 * script/sh/function.c (grub_script_function_find): Cut error message
28222 not to flood terminal.
28223 * script/sh/lexer.c (grub_script_yylex): Remove command line length
28224 limit.
28225 * script/sh/script.c (grub_script_arg_add): Duplicate string.
28226
c385bfc3 282272009-08-24 Colin Watson <cjwatson@ubuntu.com>
28228
28229 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
28230 `report' grub_uint8_t *.
28231 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
28232 Use a 50-millisecond timeout rather than just repeating
28233 grub_usb_keyboard_getreport 50 times.
28234 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
28235
2d21e3e8 282362009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28237
28238 Rename *_partition_map to part_*
28239
28240 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
28241 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
28242 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
28243 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
28244 All users updated.
28245 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
28246 All users updated.
28247 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
28248 * util/grub-probe.c (probe_partmap): Don't transform partition name
28249 to get module name.
28250
dd103c4e 282512009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28252
28253 Fix OpenBSD and NetBSD support.
28254
28255 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
28256 memory address conflict.
28257 (OPENBSD_MMAP_ACPI): New definition.
28258 (OPENBSD_MMAP_NVS): Likewise.
28259 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
28260 and OPENBSD_MMAP_NVS.
28261 Add memory map terminator
28262 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 28263 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 28264
16c84d74 282652009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28266
28267 Let user specify NetBSD root device.
28268
28269 * loader/i386/bsd.c (netbsd_root): New variable.
28270 (netbsd_opts): New option 'root'.
28271 (NETBSD_ROOT_ARG): New macro.
28272 (grub_netbsd_boot): Use 'netbsd_root'.
28273 (grub_bsd_unload): Free 'netbsd_root'.
28274 (grub_cmd_netbsd): Fill 'netbsd_root'.
28275
adb29902 282762009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28277
28278 Support for 64-bit NetBSD.
28279
28280 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
28281 point when booting non-FreeBSD.
28282
f5ae9f74 282832009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28284
28285 Support --no-smp and --no-acpi for NetBSD.
28286
28287 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
28288 (NETBSD_AB_NOACPI): Likewise.
28289 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
28290 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
28291
de74f136 282922009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28293
28294 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
28295 errors.
28296 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
28297 errors. Call grub_error when needed.
28298
e9a925da 282992009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28300
28301 * commands/search.c (search_fs): Try searching without autoload first.
28302 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
28303 filesystem module explicitly for faster booting.
28304
5174302b 283052009-08-23 Colin Watson <cjwatson@ubuntu.com>
28306
28307 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
28308
c8c80635 283092009-08-23 Colin Watson <cjwatson@ubuntu.com>
28310
28311 * util/grub.d/30_os-prober.in: Disable os-prober if
28312 `GRUB_DISABLE_OS_PROBER' was set to true.
28313
71acf5e5 283142009-08-23 Robert Millan <rmh.grub@aybabtu.com>
28315
28316 * partmap/pc.c: Rename to ...
28317 * partmap/msdos.c: ... this. Update all users.
28318 (grub_pc_partition_map): Rename to ...
28319 (grub_msdos_partition_map): ... this. Update all users.
28320
28321 * parttool/pcpart.c: Rename to ...
28322 * parttool/msdospart.c: ... this. Update all users.
28323
28324 * include/grub/pc_partition.h: Rename to ...
28325 * include/grub/msdos_partition.h: ... this. Update all users.
28326 (grub_pc_partition_bsd_entry): Rename to ...
28327 (grub_msdos_partition_bsd_entry): ... this. Update all users.
28328 (grub_pc_partition_disk_label): Rename to ...
28329 (grub_msdos_partition_disk_label): ... this. Update all users.
28330 (grub_pc_partition_entry): Rename to ...
28331 (grub_msdos_partition_entry): ... this. Update all users.
28332 (grub_pc_partition_mbr): Rename to ...
28333 (grub_msdos_partition_mbr): ... this. Update all users.
28334 (grub_pc_partition): Rename to ...
28335 (grub_msdos_partition): ... this. Update all users.
28336 (grub_pc_partition_is_empty): Rename to ...
28337 (grub_msdos_partition_is_empty): ... this. Update all users.
28338 (grub_pc_partition_is_extended): Rename to ...
28339 (grub_msdos_partition_is_extended): ... this. Update all users.
28340 (grub_pc_partition_is_bsd): Rename to ...
28341 (grub_msdos_partition_is_bsd): ... this. Update all users.
28342
28343 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
28344 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
28345 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
28346 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
28347 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
28348 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
28349 (gpt_mod_LDFLAGS): Rename to ...
28350 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
28351 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
28352 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
28353 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
28354 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
28355 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
28356 (part_gpt_mod_LDFLAGS): ... this.
28357 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
28358 `pcpart.mod' to `msdospart.mod'.
28359 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
28360 to ...
28361 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
28362 (msdospart_mod_LDFLAGS): ... this.
28363
c11fded5 283642009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28365
28366 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
28367 (openbsd_opts): Likewise.
28368 (netbsd_opts): Likewise.
28369 (freebsd_flags): Added 0 terminator.
28370 (openbsd_flags): Likewise.
28371 (netbsd_flags): Likewise.
28372 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
28373 (grub_cmd_freebsd): Transformed into extended command.
28374 (grub_cmd_openbsd): Likewise.
28375 (grub_cmd_netbsd): Likewise.
28376 (cmd_freebsd): Changed type to grub_extcmd_t.
28377 (cmd_openbsd): Likewise.
28378 (cmd_netbsd): Likewise.
28379 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
28380 grub_cmd_openbsd as extended commands.
28381 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
28382 cmd_netbsd and cmd_openbsd
28383
11d1c769 283842009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
28385
28386 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
28387
7a9094e5 283882009-08-21 Pavel Roskin <proski@gnu.org>
28389
5496c37e 28390 * Makefile.in (install-local): When checking if a file is in the
28391 build directory, use "test -e" to detect symlinks.
28392
7a9094e5 28393 * Makefile.in (install-local): Remove all files in
28394 $(DESTDIR)$(pkglibdir) before installing new files there.
28395
e53cea11 283962009-08-18 Felix Zielcke <fzielcke@z-51.de>
28397
28398 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
28399 grub-mkelfimage.
28400
9aced544 284012009-08-18 Felix Zielcke <fzielcke@z-51.de>
28402
28403 * util/grub-mkconfig.in: Don't use gfxterm by default if not
28404 explicitly specified by the user.
28405
b7da6bab 284062009-08-18 Pavel Roskin <proski@gnu.org>
28407
28408 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
28409 grub_uint8_t pointer for data.
28410 * include/grub/fbutil.h (struct grub_video_fbblit_info):
28411 Likewise.
28412 * video/fb/fbutil.c: Remove unnecessary casts.
28413
19f1b335 284142009-08-17 Michal Suchanek <hramrach@centrum.cz>
28415
28416 VBE cleanup.
28417
28418 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
28419 (grub_vbe_set_video_mode): Save active mode info
28420 only after setting the mode.
28421 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
28422 second argument.
28423
2f467aa9 284242009-08-17 Michal Suchanek <hramrach@centrum.cz>
28425
28426 Rename variables for clarity.
28427
28428 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
28429 (active_vbe_mode_info): ... this. All users updated.
28430 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
28431 All users updated.
28432 (initial_mode): Rename to ...
28433 (initial_vbe_mode): ... this. All users updated.
28434 (mode_in_use): Rename to ..
28435 (vbe_mode_in_use): ... this. All users updated.
28436 (mode_list): Rename to ..
28437 (vbe_mode_list): ... this. All users updated.
28438 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
28439 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
28440 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
28441 'mode_list_size' to 'vbe_mode_list_size'.
28442 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
28443 'best_mode_info' to 'best_vbe_mode_info' and
28444 'best_mode' to 'best_vbe_mode'
28445
6025fcd7 284462009-08-17 Michal Suchanek <hramrach@centrum.cz>
28447
28448 Remove duplicate grub_video_fb_get_video_ptr.
28449
28450 * include/grub/fbutil.h (get_data_ptr): Rename to ...
28451 (grub_video_fb_get_video_ptr): ... this.
28452 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
28453 * video/fb/fbutil.c: Add comment about addressing.
28454 (get_data_ptr): Rename to ...
28455 (grub_video_fb_get_video_ptr): ... this. All users updated.
28456 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
28457
cc8c6faf 284582009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28459
28460 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
28461 grub_dprintf() that was just added.
28462
08aa61f0 284632009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28464
28465 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
28466 (DEFAULT_VIDEO_MODE): Remove macros.
28467 (grub_linux_boot): Remove assumption that Linux has FB support,
28468 and use "text" as default video mode.
28469
7cef4f75 284702009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
28471
28472 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
28473 grub_dprintf.
28474 * fs/fat.c (grub_fat_read_data): Likewise.
28475
e1f39873 284762009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28477
28478 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
28479 payload.
28480 (grub_module): Likewise.
28481
c166d79e 284822009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28483
28484 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
28485 mbi->cmdline but free playground.
28486
c60cee8e 284872009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28488
28489 Handle group offset on UFS1.
28490
28491 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
28492 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
28493
c0d8b5d4 284942009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28495
28496 Split ufs.mod into ufs1.mod and ufs2.mod.
28497
28498 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
28499 (grub_fstest_SOURCES): Likewise.
28500 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
28501 (ufs_mod_SOURCES): Remove.
28502 (ufs_mod_CFLAGS): Likewise.
28503 (ufs_mod_LDFLAGS): Likewise.
28504 (ufs1_mod_SOURCES): New variable.
28505 (ufs1_mod_CFLAGS): Likewise.
28506 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 28507 (ufs2_mod_SOURCES): New variable.
28508 (ufs2_mod_CFLAGS): Likewise.
28509 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 28510 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
28511 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28512 Likewise.
28513 (grub_emu_SOURCES): Likewise.
28514 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28515 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28516 (grub_setup_SOURCES): Likewise.
28517 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28518 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
28519 (grub_setup_SOURCES): Likewise.
28520 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28521 Likewise.
28522 * fs/ufs2.c: New file.
28523 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
28524
d3539132 285252009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28526
28527 Framebuffer split.
28528
28529 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
28530 subsystem at the end.
28531 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
28532 (video_fb_mod_SOURCES): New variable.
28533 (video_fb_mod_CFLAGS): Likewise.
28534 (video_fb_mod_LDFLAGS): Likewise.
28535 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
28536 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
28537 * video/i386/pc/vbeblit.c: Moved from here ...
28538 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
28539 * video/i386/pc/vbefill.c: Moved from here ...
28540 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
28541 * video/i386/pc/vbeutil.c: Moved from here ...
28542 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
28543 * include/grub/i386/pc/vbeblit.h: Moved from here ...
28544 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
28545 * include/grub/i386/pc/vbefill.h: Moved from here ...
28546 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
28547 * include/grub/i386/pc/vbeutil.h: Moved from here ...
28548 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
28549 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
28550 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
28551 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
28552 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
28553 (grub_video_adapter): Added 'get_info_and_fini'.
28554 (grub_video_get_info_and_fini): New prototype.
28555 (grub_video_set_mode): make modestring const char *.
28556 * loader/i386/linux.c (grub_linux_setup_video): Use
28557 grub_video_get_info_and_fini.
28558 (grub_linux_boot): Move modesetting just before booting.
28559 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
28560 grub_video_get_info_and_fini.
28561 * video/i386/pc/vbe.c: Moved framebuffer part ...
28562 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
28563 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
28564 grub_video_fbstd_colors and grub_video_fb_set_palette.
28565 (grub_video_vbe_init): Clear 'framebuffer' variable and use
28566 grub_video_fb_init.
28567 (grub_video_vbe_fini): Use grub_video_fb_fini.
28568 (grub_video_vbe_setup): Use framebuffer.render_target instead of
28569 render_target and use grub_video_fb_set_active_render_target and
28570 grub_video_fb_set_palette.
28571 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
28572 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
28573 (grub_video_vbe_adapter): Use framebuffer.
28574 * video/video.c (grub_video_get_info_and_fini): New function.
28575 (grub_video_set_mode): Make modestring const char *.
28576 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
28577 values are already initialised.
28578
d404ee56 285792009-08-14 Pavel Roskin <proski@gnu.org>
28580
28581 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
28582 ABS and APPLE_CC.
28583 * boot/i386/pc/diskboot.S: Likewise.
28584 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
28585 sectors allow compilation on MacOSX.
28586 * conf/i386-pc.rmk: Enable unconditional compilation of
28587 lnxboot.img.
28588
9a10df16 285892009-08-13 Colin Watson <cjwatson@ubuntu.com>
28590
28591 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
28592 * util/grub.d/00_header.in: Enter interruptible sleep if
28593 GRUB_HIDDEN_TIMEOUT is set.
28594
be3c9ca7 285952009-08-13 Yves Blusseau <blusseau@zetam.org>
28596
28597 * include/grub/symbol.h: Add the LOCAL macro.
28598 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
28599 starting with "L_".
28600
1f9e557e 286012009-08-13 Pavel Roskin <proski@gnu.org>
28602
9ca62843 28603 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
28604 any modern compilers we support.
28605
1f9e557e 28606 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
28607 Use local labels starting with "L_" so that Apple assembler
28608 knows they are local.
28609
81623db6 286102009-08-10 Robert Millan <rmh.grub@aybabtu.com>
28611
28612 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
28613 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
28614 (bsd_kernel_types): ... this enum.
28615
28616 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
28617 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
28618 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
28619
28620 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
28621 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
28622 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
28623 messages.
28624
f5d35e7a 286252009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28626
28627 * util/grub-dumpdevtree: Moved from here ...
28628 * util/i386/efi/grub-dumpdevtree: ... to here.
28629 (hexify): New function. Converts a string to its hex version.
28630 Generate hex versions of "efi" and "device-properties" by calling
28631 hexify() on the ASCII strings rather than by hardcoding numbers.
28632
d1e1d527 286332009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28634
28635 * fs/jfs.c: Update copyright year.
28636
1ebbe064 286372009-08-08 Felix Zielcke <fzielcke@z-51.de>
28638
28639 * util/grub.d/00_header.in: Fix a comment.
28640 * util/grub.d/10_linux.in: Likewise.
28641 * util/grub.d/10_windows.in: Likewise.
28642 * util/grub.d/10_hurd.in: Likewise.
28643
a78c8d24 286442009-08-08 Felix Zielcke <fzielcke@z-51.de>
28645
28646 * util/grub-mkconfig.in: Allow the user to specify the used font
28647 with GRUB_FONT.
28648
29a6b9e8 286492009-08-08 Pavel Roskin <proski@gnu.org>
28650
b5f16cc4 28651 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
28652 available, xfs.mod needs it now.
28653
2f5cb827 28654 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
28655 the "g" modifier in sed when the intention is to strip something
28656 once. This fixes comparison of kernels with multiple dashes.
28657
29a6b9e8 28658 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
28659 on it. Add missing space before closing bracket. Fix
28660 misleading formatting.
28661
892a3d98 286622009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28663
28664 * docs/grub.texi: Major overhaul. Remove all sections that are
28665 specific to GRUB Legacy, or mostly composed of Legacy-specific
28666 information.
28667
ed94253f 286682009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28669
28670 * docs/version.texi: New file. Provides version information for
28671 grub.texi.
28672
126d6628 286732009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28674
28675 * docs/grub.texi: Update CVS information to SVN.
28676 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
28677
998b5aa9 286782009-08-07 Felix Zielcke <fzielcke@z-51.de>
28679
28680 * util/grub-mkconfig.in: Remove a wrong `fi'.
28681
818e094a 286822009-08-07 Felix Zielcke <fzielcke@z-51.de>
28683
28684 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
28685 (grub_jfs_uuid): New function.
28686 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
28687
b969c52f 286882009-08-07 Felix Zielcke <fzielcke@z-51.de>
28689
28690 * util/grub-mkconfig_lib.in (font_path): Move the functionality
28691 of it to ...
28692 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
28693 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
28694
7a4894cc 286952009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28696
28697 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
28698 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
28699 Update all users.
28700
28701 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
28702 not just "vmlinu[zx]".
28703 Moved from here ...
28704 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
28705 all users.
28706
28707 * util/grub.d/10_linux.in (find_latest): Moved from here ...
28708 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
28709 all users.
28710
4e2171f8 287112009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28712
28713 * util/grub.d/10_freebsd.in: Use an absolute device path for
28714 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
28715
6dcfcb32 287162009-08-06 Felix Zielcke <fzielcke@z-51.de>
28717
28718 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
28719 handling of multiple abstraction modules.
28720
f56a8756 287212009-08-04 Robert Millan <rmh.grub@aybabtu.com>
28722
28723 Fix a bug resulting in black screen when loading Linux using a
28724 packed video mode.
28725
28726 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
28727 function.
28728
28729 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
28730 (grub_vbe_bios_getset_dac_palette_width): New function.
28731 (grub_vbe_bios_get_dac_palette_width)
28732 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
28733 grub_vbe_bios_getset_dac_palette_width()).
28734
28735 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
28736 check for return status.
28737 (grub_vbe_get_video_mode_info): When getting information for a packed
28738 mode (<= 8 bpp), obtain DAC palette width using
28739 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
28740 {red,green,blue}_mark_size.
28741
222671b2 287422009-08-04 Felix Zielcke <fzielcke@z-51.de>
28743
ecb1a6d9 28744 * commands/search.c (options): Fix help output to match actual code.
222671b2 28745
f84114f5 287462009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
28747
28748 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
28749 of homegrown code.
28750
bd288a20 287512009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 28752
28753 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
28754 on XFS or ReiserFS.
28755
8aab5e25 287562009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28757
28758 Support Apple partition map with sector size different from 512 bytes.
28759
28760 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
28761 (apple_partition_map_iterate): Respect 'aheader.blocksize'
28762 and 'apart.partmap_size'.
28763
6ad6258a 287642009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
287652009-08-01 Robert Millan <rmh.grub@aybabtu.com>
28766
28767 Fix cpuid command.
28768
28769 * commands/i386/cpuid.c (options): New variable.
28770 (grub_cmd_cpuid): Return real error.
28771 (GRUB_MOD_INIT(cpuid)): Declare options.
28772
67459bc6 287732009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
28774
28775 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
28776 valid.
28777
fbc6ab54 287782009-07-31 Bean <bean123ch@gmail.com>
28779
28780 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
28781 log2_inode.
28782 (grub_fshelp_node): Move inode field to the end.
28783 (grub_xfs_data): Remove inode field.
28784 (grub_xfs_inode_block): Calculate inode size using sblock.
28785 (grub_xfs_inode_offset): Likewise.
28786 (grub_xfs_read_inode): Calculate inode size using sblock.
28787 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
28788 (grub_xfs_iterate_dir): Calculate inode size using sblock.
28789 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
28790 to match inode size.
28791 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
28792 not accessible when data is null.
28793 (grub_xfs_open): Likewise.
28794
f45d6cfc 287952009-07-31 Bean <bean123ch@gmail.com>
28796
28797 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
28798 Don't change pv->disk if it's already set.
28799
28800 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
28801 (grub_raid_register): ... here.
28802 (grub_raid_rescan): Removed.
28803
28804 * include/grub/raid.h (grub_raid_rescan): Removed.
28805
28806 * util/grub-fstest.c: Remove include file <grub/raid.h>.
28807 (fstest): Replace grub_raid_rescan with module fini function followed
28808 by init function.
28809
28810 * util/grub-probe.c: Add include file <grub/raid.h>.
28811 (probe_raid_level): New function.
28812 (probe): Detect abstraction by walking the disk device, support two
28813 level of abstraction (LVM on RAID) when detecting partition map.
28814
24443b5a 288152009-07-31 Pavel Roskin <proski@gnu.org>
28816
28817 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
28818 to grub_zalloc(), it was erroneous.
28819 Reported by Bean <bean123ch@gmail.com>
28820
a275d9e7 288212009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
28822
28823 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 28824 embedding zone, not only the first one.
a275d9e7 28825
56c5a47f 288262009-07-29 Joe Auricchio <jauricchio@gmail.com>
28827
28828 * term/gfxterm.c (clear_char): New function.
28829 (grub_virtual_screen_setup): Use clear_char.
28830 (scroll_up): Likewise.
28831 (grub_virtual_screen_cls): Likewise.
28832
67bb323a 288332009-07-29 Felix Zielcke <fzielcke@z-51.de>
28834
28835 * util/deviceiter.c (get_acceleraid_disk_name): New static
28836 function.
28837 (grub_util_iterate_devices): Handle Accelraid devices.
28838 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
28839
388a7c75 288402009-07-28 Robert Millan <rmh.grub@aybabtu.com>
28841
28842 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
28843 separator for the suggested gfxpayload string (';' collides with the
28844 parser and needs escaping).
28845
3bb7abcf 288462009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
28847
28848 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
28849 Clear direction flag before jumping to OS.
28850 (grub_multiboot2_real_boot): Likewise.
28851
2ddd36d7 288522009-07-28 Felix Zielcke <fzielcke@z-51.de>
28853
28854 * util/i386/pc/grub-install: Fix parsing of --disk-module
28855 option.
28856
c521b62b 288572009-07-28 Felix Zielcke <fzielcke@z-51.de>
28858
28859 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28860 when embedding.
28861
880e0a0c 288622009-07-26 Felix Zielcke <fzielcke@z-51.de>
28863
28864 * util/grub-mkconfig.in (package_version): New variable.
28865 Use it do display the version.
28866
2366e356 288672009-07-25 Felix Zielcke <fzielcke@z-51.de>
28868
28869 * kern/file.c (grub_file_open): Revert to previous check with
28870 grub_errno.
28871
7ad8c80e 288722009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28873
28874 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28875 from help line. It's out of sync with code.
28876
72b9658b 288772009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28878
28879 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28880 entries on failed boot.
28881
77435277 288822009-07-25 Felix Zielcke <fzielcke@z-51.de>
28883
28884 * kern/file.c (grub_file_open): Fix an error check.
28885
fcaa8b21 288862009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28887
35d16c74 28888 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28889 partition map couldn't be identified.
fcaa8b21 28890
48904cd1 288912009-07-23 Pavel Roskin <proski@gnu.org>
28892
ef3c317f 28893 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28894 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28895 case of little endian words becomes just an optimization.
28896 Respect const modifier.
ad8ea1f4 28897 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 28898
48904cd1 28899 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28900 to avoid loss of upper bits if align is unsigned and shorter
28901 than addr.
28902
260c9a89 289032009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28904
28905 UUID support for UFS
28906
28907 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28908 (grub_ufs_uuid): New function.
28909 (grub_ufs_fs): add .uuid
28910
f76ce889 289112009-07-21 Pavel Roskin <proski@gnu.org>
28912
28913 * kern/dl.c (grub_dl_check_header): Make static.
28914
6a6cbcaf 289152009-07-21 Felix Zielcke <fzielcke@z-51.de>
28916
28917 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28918 add drivemap for Vista. It breaks Windows 7.
28919
cffcddb2 289202009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28921
28922 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28923 128 bytes
28924
1ef44b80 289252009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28926
28927 Add BFS support
28928
28929 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28930 (grub_fstest_SOURCES): Likewise.
28931 (pkglib_MODULES): Add befs.mod.
28932 (befs_mod_SOURCES): New variable.
28933 (befs_mod_CFLAGS): Likewise.
28934 (befs_mod_LDFLAGS): Likewise.
28935 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28936 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28937 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28938 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28939 (grub_setup_SOURCES): Likewise.
28940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28941 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28942 (grub_setup_SOURCES): Likewise.
28943 * fs/befs.c: New file.
28944 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28945 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28946 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28947 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28948 (B_KEY_INDEX_ALIGN): New declaration.
28949 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28950 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28951 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28952 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28953 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28954 (grub_afs_mount) [MODE_BFS]: Likewise.
28955 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28956 (grub_afs_fs): Use GRUB_AFS_FSNAME
28957 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28958 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28959 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28960 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28961
4f253044 289622009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28963
28964 * util/getroot.c (find_root_device): Add support for MacOSX.
28965 * util/hostdisk.c: Likewise.
28966
57a55913 289672009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28968
28969 * font/font.c (find_glyph): Check whether a font is present to avoid
28970 segmentation fault.
75421ca9 28971
289722009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 28973
28974 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28975
e98cd0c2 289762009-07-20 Pavel Roskin <proski@gnu.org>
28977
28978 * configure.ac: Trim excessively wordy excuses.
28979
1d2d169a 289802009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28981
28982 Add symlink, mtime and label support to AtheFS.
28983
28984 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28985 (grub_afs_iterate_dir): Handle symlinks.
28986 (grub_afs_open): Use grub_afs_read_symlink.
28987 (grub_afs_dir): Likewise.
28988 Pass mtime.
28989 (grub_afs_label): New function.
28990 (grub_afs_fs): Add grub_afs_label.
28991 (grub_afs_read_symlink): New function.
28992
186f3189 289932009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28994
28995 Fix AtheFS support.
28996
28997 * fs/afs.c: Fix comments style.
28998 (grub_afs_blockrun): Declare as packed.
28999 (grub_afs_datastream): Likewise.
29000 (grub_afs_bnode): Likewise.
29001 (grub_afs_btree): Likewise.
29002 (grub_afs_sblock): Likewise.
29003 Declare `name' as char.
29004 (grub_afs_inode): Declare as packed.
29005 Change void *vnode to grub_uint32_t unused.
29006 (grub_afs_iterate_dir): Check that key_size is positive.
29007 (grub_afs_mount): Don't read superblock twice.
75421ca9 29008 (grub_afs_dir): Don't free node in case of error,
186f3189 29009 grub_fshelp_find_file already handles this.
29010 (grub_afs_open): Likewise.
29011
5680109e 290122009-07-19 Pavel Roskin <proski@gnu.org>
29013
29014 * Makefile.in: Remove LIBLZO and enable_lzo.
29015 * conf/i386-pc.rmk: Remove lzo support.
29016 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
29017 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
29018 support.
29019 * kern/i386/pc/lzo1x.S: Remove.
29020 * kern/i386/pc/startup.S: Remove lzo support.
29021 * util/i386/pc/grub-mkimage.c: Likewise.
29022
ac70fa32 290232009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
29024
29025 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
29026 * fs/xfs.c (grub_xfs_dir): Likewise.
29027 * fs/afs.c (grub_afs_dir): Likewise.
29028 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
29029 (grub_iso9660_open): Likewise.
29030 * fs/jfs.c (grub_jfs_open): Likewise.
29031 * fs/ext2.c (grub_ext2_dir): Likewise.
29032 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
29033 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 29034
eab58da2 290352009-07-16 Pavel Roskin <proski@gnu.org>
29036
d2838156 29037 * configure.ac: Never add "-c" to CFLAGS.
29038
55c70904 29039 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
29040
43e6200c 29041 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
29042 grub_cv_cc_efiemu should be used.
29043
ce7a733d 29044 * configure.ac: Typo fixes.
29045
eab58da2 29046 * kern/mm.c (grub_zalloc): New function.
29047 (grub_debug_zalloc): Likewise.
29048 * include/grub/mm.h: Declare grub_zalloc() and
29049 grub_debug_zalloc().
29050 * util/misc.c (grub_zalloc): New function.
29051 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
29052 instead of grub_malloc(), remove unneeded initializations.
29053 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
29054 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
29055 * commands/parttool.c (grub_cmd_parttool): Likewise.
29056 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
29057 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
29058 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
29059 * disk/usbms.c (grub_usbms_finddevs): Likewise.
29060 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
29061 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
29062 (grub_cmd_efiemu_pnvram): Likewise.
29063 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
29064 * fs/iso9660.c (grub_iso9660_mount): Likewise.
29065 (grub_iso9660_iterate_dir): Likewise.
29066 * fs/jfs.c (grub_jfs_opendir): Likewise.
29067 * fs/ntfs.c (list_file): Likewise.
29068 (grub_ntfs_mount): Likewise.
29069 * kern/disk.c (grub_disk_open): Likewise.
29070 * kern/dl.c (grub_dl_load_core): Likewise.
29071 * kern/elf.c (grub_elf_file): Likewise.
29072 * kern/env.c (grub_env_context_open): Likewise.
29073 (grub_env_set): Likewise.
29074 (grub_env_set_data_slot): Likewise.
29075 * kern/file.c (grub_file_open): Likewise.
29076 * kern/fs.c (grub_fs_blocklist_open): Likewise.
29077 * loader/i386/multiboot.c (grub_module): Likewise.
29078 * loader/xnu.c (grub_xnu_create_key): Likewise.
29079 (grub_xnu_create_value): Likewise.
29080 * normal/main.c (grub_normal_add_menu_entry): Likewise.
29081 (read_config_file): Likewise.
29082 * normal/menu_entry.c (make_screen): Likewise.
29083 * partmap/sun.c (sun_partition_map_iterate): Likewise.
29084 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
29085 * script/sh/script.c (grub_script_parse): Likewise.
29086 * video/bitmap.c (grub_video_bitmap_create): Likewise.
29087 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
29088 * video/readers/png.c (grub_png_output_byte): Likewise.
29089 (grub_video_reader_png): Likewise.
29090
830afef7 290912009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 29092
29093 Enable all targets that can be built by default
29094
830afef7 29095 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 29096 grub-mkfont and grub-fstest if they can be built
29097
ee293aee 290982009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29099
29100 Fix hang and segmentation fault in grub-emu-usb
29101
29102 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
29103 * util/usb.c (grub_libusb_devices): likewise
29104 (grub_libusb_init): rename to ...
29105 (GRUB_MOD_INIT (libusb)):...this
29106 (grub_libusb_fini): rename to ..
29107 (GRUB_MOD_FINI (libusb)):...this
29108 * disk/usbms.c (grub_usbms_transfer): fix retry logic
29109 * include/grub/disk.h (grub_raid_init): removed, it's useless
29110 (grub_raid_fini): likewise
29111 (grub_lvm_init): likewise
29112 (grub_lvm_fini): likewise
29113 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
29114 by grub_init_all
29115
94414221 291162009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29117
29118 Fix libusb
29119
29120 * Makefile.in (LIBUSB): new macro
29121 * genmk.rb (Utility/print_tail): new method
29122 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
29123 (top level): call util.print_tail at the end.
29124
59ade63d 291252009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29126
29127 Make FreeBSD accept zpool.cache
29128
29129 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
29130 type is /boot/zfs/zpool.cache
29131
a58da8c7 291322009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29133
29134 Fix 64-bit efiemu
29135
29136 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
29137 correct wrong typedef
29138 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
29139
20591577 291402009-07-15 Pavel Roskin <proski@gnu.org>
29141
560ca572 29142 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
29143 * kern/disk.c (struct grub_disk_cache): Likewise.
29144
e8e8e4fd 29145 * commands/probe.c (options): Typo fix.
29146
fde24e10 29147 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
29148 Increase to 0x5a to accommodate FAT32. Adjust other offsets
29149 accordingly.
29150 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
29151
379c54c1 29152 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
29153 the end of "Error" to make the message more readable.
29154
7bd8f5bf 29155 * boot/i386/pc/boot.S (kernel_segment): Remove.
29156 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
29157 for destination.
29158
40b132c5 29159 * boot/i386/pc/boot.S (boot_version): Remove.
29160 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
29161 Remove.
29162
20591577 29163 * include/grub/i386/pc/boot.h: Sort all offsets.
29164 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
29165 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
29166 * boot/i386/pc/boot.S: Assert location of every offset listed in
29167 include/grub/i386/pc/boot.h.
29168
2df32b2c 291692009-07-13 Pavel Roskin <proski@gnu.org>
29170
44b5d879 29171 * include/grub/i386/coreboot/machine.h: Rename
29172 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
29173 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
29174 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
29175
17dc3751 29176 * kern/dl.c: Force native word size to suppress warnings when
29177 compiling grub-emu.
29178
2df32b2c 29179 * kern/device.c (grub_device_iterate): Change struct part_ent to
29180 hold the name, not a pointer to it. Use one grub_malloc() per
29181 partition, not two. Free partition_name if grub_malloc() fails.
29182 Set ents to NULL only before grub_partition_iterate() is called.
29183
75c59f59 291842009-07-11 Bean <bean123ch@gmail.com>
29185
29186 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
29187 childname.
29188
0ae1bf88 291892009-07-10 Bean <bean123ch@gmail.com>
291902009-07-10 Robert Millan <rmh.grub@aybabtu.com>
29191
29192 * kern/ieee1275/openfw.c (grub_children_iterate)
29193 (grub_devalias_iterate): Fix size evaluation for property or path
29194 strings, which was broken since r2132.
29195
8279cade 291962009-07-07 Pavel Roskin <proski@gnu.org>
29197
7d8a52d3 29198 * commands/search.c (search_file): Merge into ...
29199 (search_fs): ... this. Accept search type as argument.
29200 (grub_cmd_search): Pass search type to search_fs().
29201
25f9a05a 29202 * include/grub/util/console.h: New file.
29203 * util/console.c: Use it instead of grub/machine/console.h.
29204 * util/grub-emu.c: Likewise.
29205
8279cade 29206 * lib/arg.c (find_long_option): Remove.
29207 (find_long): Add `len' argument, make `s' const char *.
29208 (grub_arg_parse): Parse long options in place, not in a
29209 temporary buffer.
29210
4a11b60f 292112009-07-06 Pavel Roskin <proski@gnu.org>
29212
99f68041 29213 * commands/search.c (search_fs): Fix potential NULL pointer
29214 dereference.
29215
4a11b60f 29216 * commands/search.c (search_fs): Replace QUID macro with quid_fn
29217 function pointer.
29218
e110f4de 292192009-07-06 Daniel Mierswa <impulze@impulze.org>
29220
29221 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
29222 comparison.
29223
46eeb6a2 292242009-07-05 Pavel Roskin <proski@gnu.org>
29225
bab74958 29226 * include/grub/i386/linux.h (struct linux_kernel_params):
29227 Restore padding3, it's still needed.
29228
46eeb6a2 29229 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
29230 FreeBSD.
29231 * util/osdetect.lua: Likewise.
29232
b4a1dc79 292332009-07-05 Bean <bean123ch@gmail.com>
29234
29235 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
29236
29237 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
29238 (grub_lua_getenv): Likewise.
29239 (grub_lua_setenv): Likewise.
29240 (save_errno): New function.
29241 (push_result): Likewise.
29242 (grub_lua_enum_device): Likewise.
29243 (grub_lua_enum_file): Likewise.
29244 (grub_lua_file_open): Likewise.
29245 (grub_lua_file_close): Likewise.
29246 (grub_lua_file_seek): Likewise.
29247 (grub_lua_file_read): Likewise.
29248 (grub_lua_file_getline): Likewise.
29249 (grub_lua_file_getsize): Likewise.
29250 (grub_lua_file_getpos): Likewise.
29251 (grub_lua_file_eof): Likewise.
29252 (grub_lua_file_exist): Likewise.
29253 (grub_lua_add_menu): Likewise.
29254
29255 * script/lua/grub_lua.h (isupper): New inline function.
29256 (islower): Likewise.
29257 (ispunct): Likewise.
29258 (isxdigit): Likewise.
29259 (strcspn): Change to normal function.
29260 (strpbkr): New function declaration.
29261 (memchr): Likewise.
29262
29263 * script/lua/grub_main.c (scan_str): New function.
29264 (strcspn): Likewise.
29265 (strpbrk): Likewise.
29266 (memchr): Likewise.
29267
29268 * script/lua/linit.c (lualibs): Enable the string library.
29269
29270 * util/osdetect.lua: New file.
29271
2da92295 292722009-07-04 Robert Millan <rmh.grub@aybabtu.com>
29273
29274 * include/grub/i386/linux.h (struct linux_kernel_params): Add
29275 `capabilities' member.
29276
b2582ec9 292772009-07-02 Pavel Roskin <proski@gnu.org>
29278
29279 * genparttoollist.sh: Add missing newline at the end.
29280
32622956 292812009-07-01 Pavel Roskin <proski@gnu.org>
29282
87a7339e 29283 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
29284
d23af54e 29285 * util/hostdisk.c (open_device): Remove `const' from
29286 `sysctl_size', as sysctlbyname() can change it (in this case it
29287 doesn't actually happen).
29288
c94b18a9 29289 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
29290 using signed long int constants.
29291
c6cd3ef0 29292 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
29293 constant to avoid a warning on FreeBSD.
29294
0df63420 29295 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
29296 where it's needed.
29297
999577f1 29298 * Makefile.in: Install include/grub/machine symlink.
29299
6f41557f 29300 * Makefile.in: When installing symlinks, use "cp -fR", which
29301 works on FreeBSD and MacOSX.
29302 From Yves Blusseau <cl7m42e02@sneakemail.com>
29303
c8d22988 29304 * kern/dl.c (grub_dl_resolve_symbol): Make static.
29305 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
29306
1b96e952 29307 * util/misc.c: Move grub_reboot() and grub_halt() ...
29308 * util/grub-emu.c: ... here. Make main_env static.
29309 * include/grub/util/misc.h: Remove main_env.
29310
2ef0084d 29311 * kern/mm.c: Use correct format to print size_t.
29312
32622956 29313 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
29314 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
29315 * kern/powerpc/dl.c: Likewise.
29316 * kern/sparc64/dl.c: Likewise.
29317 * kern/x86_64/dl.c: Likewise.
29318
3f7f0cd0 293192009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29320
29321 Fix grub-emu build on sparc64-ieee1275.
29322
75421ca9 29323 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 29324 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
29325
211d06b5 293262009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29327
29328 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
29329 (grub_reboot, grub_halt): New functions.
29330
29331 * util/i386/pc/misc.c: Delete. Update all users.
29332 * util/sparc64/ieee1275/misc.c: Likewise.
29333 * util/powerpc/ieee1275/misc.c: Likewise.
29334
aaf53e3c 293352009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29336
29337 * conf/i386.rmk (setjmp_mod_SOURCES)
29338 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
29339 * conf/common.rmk (setjmp_mod_SOURCES)
29340 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
29341 to use $(target_cpu).
29342 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
29343 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
29344 * conf/powerpc-ieee1275.rmk: Likewise.
29345 * conf/sparc64-ieee1275.rmk: Likewise.
29346
29347 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
29348 $(target_cpu) for kern/$(target_cpu)/dl.c.
29349 * conf/i386-efi.rmk: Likewise.
29350 * conf/i386-ieee1275.rmk: Likewise.
29351 * conf/x86_64-efi.rmk: Likewise.
29352 * conf/i386-coreboot.rmk: Likewise.
29353 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
29354 $(target_cpu) for kern/$(target_cpu)/dl.c and for
29355 kern/$(target_cpu)/cache.S.
29356 * conf/sparc64-ieee1275.rmk: Likewise.
29357
a337130b 293582009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29359
29360 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
29361 type to `grub_uint8_t', and adjust `padding9' accordingly.
29362
c6fe4d53 293632009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29364
b09db61d 29365 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
29366
c6fe4d53 29367 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
29368 assembly in final jump, using register constraints.
29369
b09db61d 29370 (grub_linux_boot): For text mode, initialize `have_vga' using
29371 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
29372
29373 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
29374 right before the final jump.
29375
29376 Set `video_mode' to 0x3.
29377
29378 Document initialization of `video_page', `video_mode' and
29379 `video_ega_bx'.
29380
28333ad0 293812009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29382
29383 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
29384 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 29385 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 29386
02164e1b 293872009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29388
29389 Fix build on Debian / sparc.
29390
29391 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
29392
18b6c557 293932009-06-28 Pavel Roskin <proski@gnu.org>
29394
85f2aab6 29395 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
29396 fix a warning.
29397
18b6c557 29398 * util/grub.d/10_linux.in: Match SUSE style initrd names.
29399
ad760f81 294002009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29401
29402 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
29403 `err'.
29404
87a4623b 294052009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29406
29407 Revert r2338.
29408
29409 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
29410 file can't be opened. grub_file_open() is already supposed to set
75421ca9 29411 grub_errno / grub_errmsg appropriately.
87a4623b 29412 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29413
8231fb77 294142009-06-27 Pavel Roskin <proski@gnu.org>
294152009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29416
29417 * include/grub/dl.h: Include grub/elf.h.
29418 (struct grub_dl): Add symtab field.
29419 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
29420 GRUB_MODULES_MACHINE_READONLY.
29421 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
29422 of the header for read-only modules.
29423 (grub_dl_unload): Free mod->symtab for read-only modules.
29424 * kern/i386/dl.c: Use mod->symtab.
29425 * kern/powerpc/dl.c: Likewise.
29426 * kern/sparc64/dl.c: Likewise.
29427 * kern/x86_64/dl.c: Likewise.
29428
29429 * conf/i386-qemu.rmk: New file.
29430 * kern/i386/qemu/startup.S: Likewise.
29431 * kern/i386/qemu/mmap.c: Likewise.
29432 * boot/i386/qemu/boot.S: Likewise.
29433 * include/grub/i386/qemu/time.h: Likewise.
29434 * include/grub/i386/qemu/serial.h: Likewise.
29435 * include/grub/i386/qemu/kernel.h: Likewise.
29436 * include/grub/i386/qemu/console.h: Likewise.
29437 * include/grub/i386/qemu/boot.h: Likewise.
29438 * include/grub/i386/qemu/init.h: Likewise.
29439 * include/grub/i386/qemu/machine.h: Likewise.
29440 * include/grub/i386/qemu/loader.h: Likewise.
29441 * include/grub/i386/qemu/memory.h: Likewise.
29442
29443 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
29444 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
29445 [qemu] (pkglib_IMAGES): Add `boot.img'.
29446 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
29447 [qemu] (boot_img_FORMAT): New variables.
29448 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
29449 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
29450 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
29451 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29452 [qemu] (kernel_img_FORMAT): New variables.
29453
29454 * configure.ac: Recognise `i386-qemu'.
29455
29456 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
29457 (for no compression).
29458 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
29459 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
29460 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
29461 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
29462 ifdefs).
29463
97fe384e 294642009-06-27 Pavel Roskin <proski@gnu.org>
29465
29466 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
29467 read.
29468 * efiemu/prepare32.c: Likewise.
29469 * efiemu/prepare64.c: Likewise.
29470
c402ab17 294712009-06-26 Pavel Roskin <proski@gnu.org>
29472
29473 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
29474 * include/grub/elf.h: Define symbols without "32" or "64" based
29475 on GRUB_TARGET_WORDSIZE.
29476 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
29477 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
29478 ELF definitions.
29479 * efiemu/loadcore64.c: Likewise.
29480 * loader/i386/bsd32.c: Likewise.
29481 * loader/i386/bsd64.c: Likewise.
29482 * kern/dl.c: Remove own ELF definitions.
29483 * util/i386/efi/grub-mkimage.c: Likewise.
29484
9bbdfd4d 294852009-06-23 Robert Millan <rmh.grub@aybabtu.com>
29486
29487 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
29488 segment 0x0 unconditionally, because the reference generated by
29489 GAS is an absolute address.
29490
a42ce6e9 294912009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29492
29493 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
29494 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
29495
c952cf92 294962009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29497
29498 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
29499 indexes. Check for -f explicitly.
cc3752ad 29500 (search_file): Improve error message.
29501 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 29502
132a0a59 295032009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29504
29505 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
29506 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
29507
387a140c 295082009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29509
29510 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
29511 * conf/i386-ieee1275.rmk: Likewise.
29512 * conf/i386-coreboot.rmk: Likewise.
29513
29514 * kern/i386/pc/startup.S (grub_stop): Remove function.
29515 * kern/i386/ieee1275/startup.S: Likewise.
29516 * kern/i386/coreboot/startup.S: Likewise.
29517 * kern/i386/misc.S (grub_stop): New function.
29518
41da9665 295192009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29520
29521 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
29522 * kern/i386/realmode.S (real_to_prot): ... to here.
29523
bf337234 295242009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29525
29526 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
29527 with `kernel.img'.
29528 (kernel_elf_SOURCES): Rename to ...
29529 (kernel_img_SOURCES): ... this.
29530 (kernel_elf_HEADERS): Rename to ...
29531 (kernel_img_HEADERS): ... this. Update all users.
29532 (kernel_elf_ASFLAGS): Rename to ...
29533 (kernel_img_ASFLAGS): ... this.
29534 (kernel_elf_CFLAGS): Rename to ...
29535 (kernel_img_CFLAGS): ... this.
29536 (kernel_elf_LDFLAGS): Rename to ...
29537 (kernel_img_LDFLAGS): ... this.
29538 * conf/i386-coreboot.rmk: Likewise.
29539 * conf/powerpc-ieee1275.rmk: Likewise.
29540
29541 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
29542 with "kernel.img".
29543
f52196ff 295442009-06-21 Pavel Roskin <proski@gnu.org>
29545
c3cee413 29546 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
29547 to match nested functions.
29548 * loader/sparc64/ieee1275/linux.c: Likewise.
29549
f52196ff 29550 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
29551
58750afc 295522009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29553
29554 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
29555 all i386 platforms.
29556
15355c7d 295572009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29558
29559 Fix asm file handling on ELF, and remove workarounds.
29560
29561 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 29562 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 29563 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
29564 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
29565
3f3ec72b 295662009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
29567
29568 Load BSD ELF modules
29569
29570 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
29571 and loader/i386/bsd64.c
29572 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
29573 (FREEBSD_MODTYPE_ELF_MODULE): New definition
29574 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
29575 (grub_freebsd_load_elfmodule32): New declaration
29576 (grub_freebsd_load_elfmoduleobj64): Likewise
29577 (grub_freebsd_load_elf_meta32): Likewise
29578 (grub_freebsd_load_elf_meta64): Likewise
29579 (grub_freebsd_add_meta): Likewise
29580 (grub_freebsd_add_meta_module): Likewise
29581 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
29582 (grub_freebsd_add_meta_module): Likewise and move module-specific
29583 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
29584 (grub_cmd_freebsd): Add elf-kernel specific parts
29585 based on grub_freebsd_add_meta_module
29586 (grub_cmd_freebsd_module): Add type parsing moved from
29587 grub_freebsd_add_meta_module
29588 (grub_cmd_freebsd_module_elf): New function
29589 (cmd_freebsd_module_elf): New variable
29590 (GRUB_MOD_INIT): Register freebsd_module_elf
29591 * loader/i386/bsd32.c: New file
29592 * loader/i386/bsd64.c: Likewise
29593 * loader/i386/bsdXX.c: Likewise
29594 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
29595 (grub_elf64_load): Likewise
29596 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
29597 All users updated
29598 (grub_elf64_load_hook_t): Likewise
29599
0db15301 296002009-06-21 Colin Watson <cjwatson@ubuntu.com>
29601
29602 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
29603 variable.
29604 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
29605 don't write a menu entry for recovery mode.
29606
546796c1 296072009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29608
29609 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
29610 after it's no longer needed.
29611
cd7310d5 296122009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29613
29614 * include/grub/i386/loader.h (grub_linux_prot_size)
29615 (grub_linux_tmp_addr, grub_linux_real_addr)
29616 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
29617 GRUB_MACHINE_PCBIOS.
29618 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
29619 common grub_util_info() call to ...
29620 (generate_image): ... here.
29621 Fix use of uninitialized memory, comparison of signed with
29622 unsigned integers and memory leak.
29623 Remove bogus module address message.
29624
ab32d3b5 296252009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
29626
29627 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
29628 grub_raid_register
29629 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
29630
024ef597 296312009-06-19 Pavel Roskin <proski@gnu.org>
29632
29633 * configure.ac: Remove stray AC_MSG_CHECKING.
29634
3ac72b51 296352009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
29636
29637 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 29638
e14cd814 296392009-06-18 Pavel Roskin <proski@gnu.org>
29640
29641 * conf/common.rmk: Add fs_file.mod.
29642 * disk/fs_file.c: New file.
29643 * include/grub/disk.h (enum grub_disk_dev_id): Add
29644 GRUB_DISK_DEVICE_FILE_ID.
29645
26586d98 296462009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29647
29648 Fix build with Apple's toolchain. Part 2
29649
29650 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
29651 a fake start
29652
26de2bcd 296532009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29654
29655 Fix build with Apple's toolchain. Part 1
29656
29657 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
29658 for long calls
29659 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 29660 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 29661 Apple's toolchain
29662
09b3490b 296632009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29664
29665 Fix warnings
29666
29667 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
29668 (decomp_block): initialize ch
29669 use grub_memcpy instead of memcpy
29670
c22a006a 296712009-06-17 Pavel Roskin <proski@gnu.org>
29672
d3638678 29673 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
29674 version, use declarations needed to use vga_text as the startup
29675 console.
29676
c22a006a 29677 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
29678 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
29679 the kernel.
29680 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
29681 and grub_at_keyboard_fini(), it's done on module load and
29682 unload.
29683
05b129e0 296842009-06-17 Felix Zielcke <fzielcke@z-51.de>
29685
29686 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
29687 file can't be found.
29688 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29689
cf24ed9e 296902009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29691
29692 Fix newline handling
29693
29694 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 29695 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 29696 (grub_script_yylex): don't segfault on unterminated script
29697 newline terminates command and variable
29698
74aa8e4b 296992009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29700
29701 avoid double grub_adjust_range call. Bug reported by David Simner
29702
29703 * kern/disk.c (grub_disk_write): change to raw disk access before
29704 calling disk_read
29705
1bd265f3 297062009-06-17 Colin Watson <cjwatson@ubuntu.com>
29707
29708 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
29709 spaces, for the benefit of help2man.
29710 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29711
a2d08c06 297122009-06-16 Pavel Roskin <proski@gnu.org>
29713
29714 * kern/i386/halt.c: Include grub/machine/init.h.
29715 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
29716
b97bcb19 297172009-06-16 Felix Zielcke <fzielcke@z-51.de>
29718
29719 * util/grub.d/30_os-prober.in: Use ${root} in the generated
29720 drivemap menuentry.
29721
0644f96c 297222009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
29723
29724 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
29725 `echo' command.
29726
3ef17a2e 297272009-06-16 Pavel Roskin <proski@gnu.org>
29728
29729 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
29730 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
29731 save %dx, we only need %dl and we never change it.
29732 * boot/i386/pc/cdboot.S: Don't set the root drive.
29733 * boot/i386/pc/pxeboot.S: Likewise.
29734 * include/grub/i386/pc/boot.h: Remove
29735 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
29736 GRUB_BOOT_MACHINE_DRIVE_CHECK.
29737 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
29738 * kern/i386/pc/init.c (make_install_device): Remove references
29739 to grub_root_drive.
29740 * kern/i386/pc/startup.S: Likewise.
29741 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
29742
693fe637 297432009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29744
29745 xnu_uuid command
29746
29747 * commands/xnu_uuid.c: new file
29748 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
29749 (xnu_uuid_mod_SOURCES): new variable
29750 (xnu_uuid_mod_CFLAGS): likewise
29751 (xnu_uuid_mod_LDFLAGS): likewise
29752 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29753 * conf/i386-ieee1275.rmk: likewise
29754 * conf/i386-pc.rmk: likewise
29755 * conf/powerpc-ieee1275.rmk: likewise
29756 * conf/sparc64-ieee1275.rmk: likewise
29757 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
29758
c9da87d0 297592009-06-16 Pavel Roskin <proski@gnu.org>
29760
29761 * configure.ac: Avoid '==' in test command, it's not portable.
29762
9c6f4596 297632009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29764
29765 Probe command
29766
29767 * commands/probe.c: new file
29768 * conf/common.rmk (pkglib_MODULES): add probe.mod
29769 (probe_mod_SOURCES): new variable
29770 (probe_mod_CFLAGS): likewise
29771 (probe_mod_LDFLAGS): likewise
29772 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29773 * conf/i386-ieee1275.rmk: likewise
29774 * conf/i386-pc.rmk: likewise
29775 * conf/powerpc-ieee1275.rmk: likewise
29776 * conf/sparc64-ieee1275.rmk: likewise
29777
70b7f9fd 297782009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
29779
29780 Fix handling of string like \"hello\" and "a
29781 b"
29782
29783 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
29784 (grub_script_yylex): fix parsing of quoting, escaping and newline
29785
71c79a6b 297862009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
29787
dd74360c 29788 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 29789 handling
dd74360c 29790
0644f96c 297912009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 29792
29793 * util/grub-mkconfig.in: Fix parsing of --output option.
29794
e40893c3 297952009-06-12 Pavel Roskin <proski@gnu.org>
29796
29797 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
29798 genmk.rb don't need to be generated or installed.
29799
3a1acfe2 298002009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
29801
29802 * commands/i386/pc/drivemap_int13h.S: add more comments
29803
3a4575d4 298042009-06-11 Pavel Roskin <proski@gnu.org>
29805
0658e928 29806 * Makefile.in (uninstall): Uninstall manuals.
29807
ca0388f0 29808 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
29809 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
29810 and update-grub_lib in two places.
29811 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
29812
e3b27c39 29813 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
29814 a compiler warning.
29815
3a4575d4 29816 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
29817 `entry_lo' to fix variable shadowing.
29818
af1f4f55 298192009-06-11 Christian Franke <franke@computer.org>
29820
29821 * kern/misc.c (__enable_execute_stack): Add missing return type
29822 to prevent gcc warning.
29823
5225e649 298242009-06-11 Felix Zielcke <fzielcke@z-51.de>
29825
29826 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
29827
7d83bd47 298282009-06-11 Pavel Roskin <proski@gnu.org>
29829
c1cb63ba 29830 * Makefile.in: Don't rely on any scripts being executable.
29831 Always use $(SHELL) to run shell scripts.
29832
7d83bd47 29833 * configure.ac: Always define ___main if using -nostdlib. This
29834 fixes tests on Cygwin.
29835
948f48e7 298362009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
29837
29838 UDF fix
29839
7d83bd47 29840 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 29841 is in bytes and not in blocks
7d83bd47 29842
8ada9bc1 298432009-06-11 Pavel Roskin <proski@gnu.org>
29844
29845 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
29846 warning.
29847
25ad2323 298482009-06-11 Felix Zielcke <fzielcke@z-51.de>
29849
29850 * util/grub.d/30_os-prober.in: Fix a comment. Source
29851 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
29852 to set the root device. Place drivemap command in the generated
29853 chain entry.
29854
e65acb0c 298552009-06-11 Pavel Roskin <proski@gnu.org>
29856
29857 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29858 have long been resolved.
29859
f285fe2d 298602009-06-11 Colin Watson <cjwatson@ubuntu.com>
29861
bd47b0b5 29862 * util/grub.d/10_linux.in: Capitalise "Linux".
29863
f285fe2d 29864 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29865
a0c62e4e 298662009-06-11 Pavel Roskin <proski@gnu.org>
29867
b6783cb2 29868 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29869 fix a gcc warning and ensure that the function won't ever exit.
29870
dde032e8 29871 * kern/i386/ieee1275/init.c: Add missing prototype for
29872 grub_stop_floppy().
29873
22cd079d 29874 * loader/ieee1275/multiboot2.c [__i386__]: Include
29875 grub/cpu/multiboot.h.
29876
a0c62e4e 29877 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29878 casts to short - they are not portable and cause warnings. Fix
29879 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29880
63963d17 298812009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29882
29883 Drivemap fixes
29884
29885 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29886 new function
29887 (grub_get_root_biosnumber_saved): new variable
29888 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29889 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 29890 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 29891 %dx after the call if necessary
29892 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29893 (boot_mod_SOURCES): remove
29894 (boot_mod_CFLAGS): remove
29895 (boot_mod_LDFLAGS): remove
29896 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29897 (boot_mod_SOURCES): new variable
29898 (boot_mod_CFLAGS): likewise
29899 (boot_mod_LDFLAGS): likewise
29900 * conf/i386-efi.rmk: likewise
29901 * conf/i386-ieee1275.rmk: likewise
29902 * conf/i386-pc.rmk: likewise
29903 * conf/powerpc-ieee1275.rmk: likewise
29904 * conf/sparc64-ieee1275.rmk: likewise
29905 * conf/x86_64-efi.rmk: likewise
29906 * include/grub/i386/pc/biosnum.h: new file
29907 * lib/i386/pc/biosnum.c: likewise
29908 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29909 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29910 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 29911
33abf7ae 299122009-06-10 Pavel Roskin <proski@gnu.org>
29913
5ac35b35 29914 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29915 Use separate variables. Read only the file size at the end, but
29916 not the checksum that we don't use.
29917
5c5215d5 29918 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29919 Adjust all callers.
29920
27d5fef7 29921 * kern/ieee1275/openfw.c: Remove libc includes.
29922 * kern/ieee1275/cmain.c: Likewise.
29923 * include/grub/ieee1275/ieee1275.h: Likewise.
29924
33abf7ae 29925 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29926 compiler warnings.
29927
19d50c2b 299282009-06-10 Felix Zielcke <fzielcke@z-51.de>
29929
29930 * Makefile.in: Remove all trailing whitespace.
29931 * conf/i386-pc.rmk: Likewise.
29932 * conf/powerpc-ieee1275.rmk: Likewise.
29933 * conf/sparc64-ieee1275.rmk: Likewise.
29934 * docs/grub.texi: Likewise.
29935 * docs/texinfo.tex: Likewise.
29936 * disk/fs_uuid.c: Likewise.
29937 * disk/lvm.c: Likewise.
29938 * disk/scsi.c: Likewise.
29939 * disk/ata.c: Likewise.
29940 * disk/ieee1275/ofdisk.c: Likewise.
29941 * disk/i386/pc/biosdisk.c: Likewise.
29942 * disk/host.c: Likewise.
29943 * disk/raid.c: Likewise.
29944 * disk/efi/efidisk.c: Likewise.
29945 * disk/usbms.c: Likewise.
29946 * disk/memdisk.c: Likewise.
29947 * disk/loopback.c: Likewise.
29948 * kern/powerpc/dl.c: Likewise.
29949 * kern/device.c: Likewise.
29950 * kern/dl.c: Likewise.
29951 * kern/sparc64/dl.c: Likewise.
29952 * kern/ieee1275/ieee1275.c: Likewise.
29953 * kern/term.c: Likewise.
29954 * kern/fs.c: Likewise.
29955 * kern/i386/dl.c: Likewise.
29956 * kern/i386/pc/startup.S: Likewise.
29957 * kern/i386/pc/init.c: Likewise.
29958 * kern/i386/pc/mmap.c: Likewise.
29959 * kern/i386/pc/lzo1x.S: Likewise.
29960 * kern/i386/ieee1275/init.c: Likewise.
29961 * kern/i386/realmode.S: Likewise.
29962 * kern/i386/tsc.c: Likewise.
29963 * kern/partition.c: Likewise.
29964 * kern/corecmd.c: Likewise.
29965 * kern/file.c: Likewise.
29966 * kern/efi/efi.c: Likewise.
29967 * kern/efi/init.c: Likewise.
29968 * kern/efi/mm.c: Likewise.
29969 * kern/main.c: Likewise.
29970 * kern/err.c: Likewise.
29971 * kern/env.c: Likewise.
29972 * kern/disk.c: Likewise.
29973 * kern/generic/millisleep.c: Likewise.
29974 * kern/generic/rtc_get_time_ms.c: Likewise.
29975 * kern/misc.c: Likewise.
29976 * kern/parser.c: Likewise.
29977 * genmk.rb: Likewise.
29978 * configure.ac: Likewise.
29979 * boot/i386/pc/diskboot.S: Likewise.
29980 * boot/i386/pc/pxeboot.S: Likewise.
29981 * boot/i386/pc/boot.S: Likewise.
29982 * boot/i386/pc/lnxboot.S: Likewise.
29983 * boot/i386/pc/cdboot.S: Likewise.
29984 * parttool/pcpart.c: Likewise.
29985 * video/readers/tga.c: Likewise.
29986 * video/video.c: Likewise.
29987 * video/bitmap.c: Likewise.
29988 * lib/envblk.c: Likewise.
29989 * lib/i386/setjmp.S: Likewise.
29990 * fs/xfs.c: Likewise.
29991 * fs/afs.c: Likewise.
29992 * fs/fat.c: Likewise.
29993 * fs/ntfs.c: Likewise.
29994 * fs/udf.c: Likewise.
29995 * fs/affs.c: Likewise.
29996 * fs/iso9660.c: Likewise.
29997 * fs/hfs.c: Likewise.
29998 * fs/fshelp.c: Likewise.
29999 * fs/ext2.c: Likewise.
30000 * fs/jfs.c: Likewise.
30001 * fs/reiserfs.c: Likewise.
30002 * fs/hfsplus.c: Likewise.
30003 * fs/minix.c: Likewise.
30004 * fs/cpio.c: Likewise.
30005 * fs/sfs.c: Likewise.
30006 * fs/ufs.c: Likewise.
30007 * efiemu/prepare.c: Likewise.
30008 * efiemu/loadcore_common.c: Likewise.
30009 * efiemu/runtime/efiemu.sh: Likewise.
30010 * efiemu/runtime/efiemu.S: Likewise.
30011 * efiemu/runtime/efiemu.c: Likewise.
30012 * efiemu/pnvram.c: Likewise.
30013 * efiemu/main.c: Likewise.
30014 * efiemu/i386/pc/cfgtables.c: Likewise.
30015 * efiemu/i386/loadcore64.c: Likewise.
30016 * efiemu/i386/loadcore32.c: Likewise.
30017 * efiemu/loadcore.c: Likewise.
30018 * efiemu/symbols.c: Likewise.
30019 * efiemu/mm.c: Likewise.
30020 * include/grub/autoefi.h: Likewise.
30021 * include/grub/datetime.h: Likewise.
30022 * include/grub/term.h: Likewise.
30023 * include/grub/hfs.h: Likewise.
30024 * include/grub/lvm.h: Likewise.
30025 * include/grub/i386/tsc.h: Likewise.
30026 * include/grub/i386/linux.h: Likewise.
30027 * include/grub/i386/xnu.h: Likewise.
30028 * include/grub/i386/efiemu.h: Likewise.
30029 * include/grub/i386/pc/biosdisk.h: Likewise.
30030 * include/grub/i386/pc/memory.h: Likewise.
30031 * include/grub/i386/pc/vbe.h: Likewise.
30032 * include/grub/parttool.h: Likewise.
30033 * include/grub/video.h: Likewise.
30034 * include/grub/memory.h: Likewise.
30035 * include/grub/fs.h: Likewise.
30036 * include/grub/partition.h: Likewise.
30037 * include/grub/xnu.h: Likewise.
30038 * include/grub/efi/api.h: Likewise.
30039 * include/grub/efi/pe32.h: Likewise.
30040 * include/grub/efi/memory.h: Likewise.
30041 * include/grub/multiboot.h: Likewise.
30042 * include/grub/usbdesc.h: Likewise.
30043 * include/grub/multiboot2.h: Likewise.
30044 * include/grub/acpi.h: Likewise.
30045 * include/grub/efiemu/efiemu.h: Likewise.
30046 * include/grub/disk.h: Likewise.
30047 * include/grub/ieee1275/ieee1275.h: Likewise.
30048 * include/grub/net.h: Likewise.
30049 * include/grub/machoload.h: Likewise.
30050 * include/grub/macho.h: Likewise.
30051 * include/multiboot.h: Likewise.
30052 * genmoddep.awk: Likewise.
30053 * normal/main.c: Likewise.
30054 * normal/menu_entry.c: Likewise.
30055 * normal/menu_viewer.c: Likewise.
30056 * normal/completion.c: Likewise.
30057 * normal/cmdline.c: Likewise.
30058 * normal/misc.c: Likewise.
30059 * normal/datetime.c: Likewise.
30060 * bus/usb/usbtrans.c: Likewise.
30061 * bus/usb/ohci.c: Likewise.
30062 * bus/usb/uhci.c: Likewise.
30063 * bus/usb/usb.c: Likewise.
30064 * mmap/efi/mmap.c: Likewise.
30065 * mmap/i386/pc/mmap_helper.S: Likewise.
30066 * mmap/i386/pc/mmap.c: Likewise.
30067 * mmap/i386/mmap.c: Likewise.
30068 * mmap/i386/uppermem.c: Likewise.
30069 * mmap/mmap.c: Likewise.
30070 * commands/acpi.c: Likewise.
30071 * commands/echo.c: Likewise.
30072 * commands/blocklist.c: Likewise.
30073 * commands/loadenv.c: Likewise.
30074 * commands/usbtest.c: Likewise.
30075 * commands/boot.c: Likewise.
30076 * commands/parttool.c: Likewise.
30077 * commands/search.c: Likewise.
30078 * commands/cat.c: Likewise.
30079 * commands/i386/pc/play.c: Likewise.
30080 * commands/i386/pc/drivemap.c: Likewise.
30081 * commands/i386/pc/vbeinfo.c: Likewise.
30082 * commands/i386/pc/acpi.c: Likewise.
30083 * commands/i386/pc/vbetest.c: Likewise.
30084 * commands/ls.c: Likewise.
30085 * commands/cmp.c: Likewise.
30086 * commands/test.c: Likewise.
30087 * commands/efi/acpi.c: Likewise.
30088 * commands/gptsync.c: Likewise.
30089 * commands/help.c: Likewise.
30090 * partmap/amiga.c: Likewise.
30091 * partmap/apple.c: Likewise.
30092 * partmap/acorn.c: Likewise.
30093 * partmap/pc.c: Likewise.
30094 * partmap/sun.c: Likewise.
30095 * partmap/gpt.c: Likewise.
30096 * script/sh/lexer.c: Likewise.
30097 * script/sh/function.c: Likewise.
30098 * font/font.c: Likewise.
30099 * font/font_cmd.c: Likewise.
30100 * loader/powerpc/ieee1275/linux.c: Likewise.
30101 * loader/efi/chainloader.c: Likewise.
30102 * loader/multiboot_loader.c: Likewise.
30103 * loader/macho.c: Likewise.
30104 * loader/i386/multiboot.c: Likewise.
30105 * loader/i386/linux.c: Likewise.
30106 * loader/i386/pc/linux.c: Likewise.
30107 * loader/i386/pc/multiboot2.c: Likewise.
30108 * loader/i386/pc/chainloader.c: Likewise.
30109 * loader/i386/pc/xnu.c: Likewise.
30110 * loader/i386/bsd_trampoline.S: Likewise.
30111 * loader/i386/efi/linux.c: Likewise.
30112 * loader/i386/multiboot_elfxx.c: Likewise.
30113 * loader/i386/bsd_helper.S: Likewise.
30114 * loader/i386/bsd.c: Likewise.
30115 * loader/i386/linux_trampoline.S: Likewise.
30116 * loader/i386/xnu_helper.S: Likewise.
30117 * loader/i386/xnu.c: Likewise.
30118 * loader/i386/bsd_pagetable.c: Likewise.
30119 * loader/i386/multiboot_helper.S: Likewise.
30120 * loader/xnu.c: Likewise.
30121 * loader/xnu_resume.c: Likewise.
30122 * io/gzio.c: Likewise.
30123 * term/efi/console.c: Likewise.
30124 * term/terminfo.c: Likewise.
30125 * term/ieee1275/ofconsole.c: Likewise.
30126 * term/i386/pc/serial.c: Likewise.
30127 * term/i386/pc/vesafb.c: Likewise.
30128 * term/i386/pc/vga.c: Likewise.
30129 * term/usb_keyboard.c: Likewise.
30130 * term/gfxterm.c: Likewise.
30131 * aclocal.m4: Likewise.
30132 * util/lvm.c: Likewise.
30133 * util/grub.d/30_os-prober.in: Likewise.
30134 * util/grub.d/10_hurd.in: Likewise.
30135 * util/console.c: Likewise.
30136 * util/grub-macho2img.c: Likewise.
30137 * util/grub-probe.c: Likewise.
30138 * util/hostfs.c: Likewise.
30139 * util/i386/pc/grub-mkimage.c: Likewise.
30140 * util/i386/pc/grub-setup.c: Likewise.
30141 * util/i386/efi/grub-mkimage.c: Likewise.
30142 * util/grub-mkconfig.in: Likewise.
30143 * util/raid.c: Likewise.
30144 * util/resolve.c: Likewise.
30145 * util/grub-mkdevicemap.c: Likewise.
30146 * util/grub-emu.c: Likewise.
30147 * util/getroot.c: Likewise.
30148 * util/hostdisk.c: Likewise.
30149 * util/usb.c: Likewise.
30150 * util/grub-editenv.c: Likewise.
30151 * util/misc.c: Likewise.
30152
d2d49665 301532009-06-10 Felix Zielcke <fzielcke@z-51.de>
30154
30155 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
30156 `genparttoollist.sh'.
30157 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
30158 Add `*.sh' to the list find searches for and change `mdate.sh'
30159 to `mdate-sh'.
30160
fe052e37 301612009-06-10 Pavel Roskin <proski@gnu.org>
30162
2763ac18 30163 * include/grub/multiboot2.h: Provide compatibility defines for
30164 multiboot2.h.
30165 * include/multiboot2.h: Include stdint.h only if needed, using
30166 angle brackets.
30167 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
30168 grub/multiboot2.h.
30169 * loader/ieee1275/multiboot2.c: Likewise.
30170 * loader/multiboot2.c: Likewise.
30171 * loader/multiboot_loader.c: Likewise.
30172
437e6adc 30173 * configure.ac: Use -nostdlib when probing for the target. It
30174 should not be required to have libc for the target.
30175
06a6836c 30176 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
30177 they fail without libc headers for the target.
30178 * include/grub/powerpc/libgcc.h: Use weak attribute for all
30179 exports.
30180 * include/grub/sparc64/libgcc.h: Likewise. Don't use
30181 preprocessor conditionals.
30182
fe052e37 30183 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
30184 build system doesn't need to be aware of the tar.c internals.
30185
afd22553 301862009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 30187
afd22553 30188 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 30189
6b787c4f 301902009-06-09 Robert Millan <rmh.grub@aybabtu.com>
30191
30192 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
30193 disk limit to 26 for IDE, Virtio, Xen and SCSI.
30194
301952009-06-09 Felix Zielcke <fzielcke@z-51.de>
30196
30197 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 30198 aren't available if ata.mod gets used.
6b787c4f 30199
473d1e45 302002009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 30201
473d1e45 30202 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 30203 initialising controller.
473d1e45 30204 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 30205
255a27d4 302062009-06-08 Felix Zielcke <fzielcke@z-51.de>
30207
30208 * util/i386/pc/grub-install.in: Add a parameter --disk-module
30209 to choose between ata and biosdisk module on i386-pc.
30210
473d1e45 302112009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 30212
d55842d8 30213 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
30214 Subclass and Programming Interface fields in terms of the 3 byte
30215 Class Code register.
30216 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30217
fa5db0b1 30218 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
30219 interface is OHCI. Add grub_dprintf for symmetry with
30220 bus/usb/uhci.c.
30221 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
30222 interface is UHCI. Add interf variable for programming
30223 interface. Print interface with class/subclass.
30224
c0947beb 30225 * bus/usb/ohci.c: Set interf with correct field.
30226
69da8877 30227 * bus/usb/uhci.c: Remove unneeded doubled lines.
30228 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
30229 Remove whitespace inside comment.
30230
9e172e30 302312009-06-08 Robert Millan <rmh.grub@aybabtu.com>
30232
30233 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
30234 as fallback an equivalent option without depth.
30235
de65ee2b 302362009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30237
30238 Not fail if unable to retrieve C/H/S on LBA disks
30239
473d1e45 30240 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 30241 if unable to retrieve C/H/S on LBA disks
30242
b57ea2c9 302432009-06-08 Pavel Roskin <proski@gnu.org>
30244
30245 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
30246 about aliasing.
30247
af361263 302482009-06-08 Felix Zielcke <fzielcke@z-51.de>
30249
30250 * Makefile.in (uninstall): Remove all $lib_DATA files.
30251
4c9ec6b3 302522009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30253
30254 Bugfix: install on partitionless device
30255
30256 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
30257 is a whole disk
30258
e76fc924 302592009-06-08 Felix Zielcke <fzielcke@z-51.de>
30260
30261 * Makefile.in (uninstall): Remove all $include_DATA files.
30262
ba5a0d05 302632009-06-08 Felix Zielcke <fzielcke@z-51.de>
30264
30265 * commands/true.c: New file. Implement the true and false commands.
30266 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
30267 (true_mod_SOURCES): New variable.
30268 (true_mod_CFLAGS): Likewise.
30269 (true_mod_LDFLAGS): Likewise.
30270
c8048e32 302712009-06-05 Colin D Bennett <colin@gibibit.com>
30272
30273 Optimized font character lookup using binary search instead of linear
30274 search. Fonts now are required to have the character index ordered by
30275 code point.
30276
30277 * font/font.c (load_font_index): Verify that fonts have ordered
30278 character indices.
30279 (find_glyph): Use binary search instead of linear search to find a
30280 character in a font.
30281
408305be 302822009-06-05 Michael Scherer <misc@mandriva.org>
30283
30284 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
30285 uses case sensitive btree.
30286 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
30287 only for case insensitive filesystems.
30288
8ee1e0d9 302892009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
30290
30291 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
30292 * conf/common.rmk (search_mod_CFLAGS): likewise
30293
a9966eb1 302942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30295
473d1e45 30296 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 30297 compensate a compiler bug
30298
9e7100fb 302992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30300
473d1e45 30301 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 30302 instead of '\b'
473d1e45 30303
ede21d71 303042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30305
30306 Definitions for creating asm symbols with Apple's CC
30307
30308 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
30309 [APPLE_CC] (VARIABLE): likewise
30310
9dbf7653 303112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30312
30313 Disable lnxboot.img when compiled
30314 with Apple's CC
30315
30316 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
30317 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
30318 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
30319 [! APPLE_CC] (CODE_LENG): skip
30320 [! APPLE_CC] (setup_sects): likewise
30321 [! APPLE_CC]: skip filling
473d1e45 30322
e93cdc3d 303232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30324
30325 Address in trampolines based on 32-bit registers when compiled
30326 with Apple's CC
30327
473d1e45 30328 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 30329 for addresses
30330 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
30331
6c688477 303322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30333
30334 Avoid aliases when compiling with Apple's CC for PCBIOS machine
30335
30336 * kern/misc.c [APPLE_CC] (memcpy): new function
30337 [APPLE_CC] (memmove): likewise
30338 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 30339 (memcpy): define alias conditionally on !APPLE_CC
6c688477 30340 (memset): likewise
30341 (abort): likewise
30342 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
30343 APPLE_CC are defined
30344 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
30345 (grub_assert_fail): make prototype conditional
30346
e37ffc5c 303472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30348
30349 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
30350
473d1e45 30351 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
30352 grub-macho2img
e37ffc5c 30353 (CLEANFILES): add grub-macho2img
30354 (grub_macho2img_SOURCES): new variable
30355 * kern/i386/pc/startup.S (bss_start): new variable
30356 (bss_end): likewise
30357 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
30358 * util/grub-macho2img.c: new file
30359
cf00df31 303602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30361
30362 Use objconv when compiling with Apple's CC
30363
30364 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
30365 (efiemu64.o): likewise
30366 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
30367 when compiling with Apple's CC
30368 (efiemu64_s.o): likewise
30369 * configure.ac: check for objconv when compiling with Apple's CC
30370 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 30371
d119a20c 303722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30373
30374 Define segment as well as section when compiling with
30375 Apple's CC
30376
30377 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
30378 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
30379 (efiemu_convert_pointer): likewise
30380 (efiemu_set_virtual_address_map): likewise
30381 (efiemu_convert_pointer): likewise
30382 (efiemu_getcrc32): likewise
30383 (init_crc32_table): likewise
30384 (reflect): likewise
30385 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
30386 (GRUB_MOD_DEP): likewise
473d1e45 30387
c8600122 303882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30389
30390 Allow a compilation without -mcmodel=large
30391
30392 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
30393 when compiled without -mcmodel=large
473d1e45 30394 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 30395 without -mcmodel=large
473d1e45 30396 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 30397 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 30398
e8df1d4e 303992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30400
30401 Remove nested functions in efiemu core
30402
30403 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 30404
cc6c3ac1 304052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30406
30407 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
30408
30409 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
30410 temporary storage
473d1e45 30411 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
30412 using Apple's CC
cc6c3ac1 30413 (grub_cpu_is_tsc_supported): likewise
30414 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 30415
3e325901 304162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30417
30418 Absolute addressing through constant with Apple's cc
30419
30420 * kern/i386/pc/startup.S: Define necessary constants
30421 and address through it when using ABS with Apple's CC
30422 * boot/i386/pc/diskboot.S: likewise
30423 * boot/i386/pc/boot.S: likewise
30424 * boot/i386/pc/lnxboot.S: likewise
30425 * boot/i386/pc/cdboot.S: likewise
30426 * mmap/i386/pc/mmap_helper.S: likewise
30427 * commands/i386/pc/drivemap_int13h.S: likewise
30428
2b167a72 304292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30430
30431 Check if compiler is apple cc
30432
30433 * Makefile.in (ASFLAGS): new variable
30434 (TARGET_ASFLAGS): likewise
30435 (TARGET_MODULE_FORMAT): likewise
30436 (TARGET_APPLE_CC): likewise
30437 (OBJCONV): likewise
30438 (TARGET_IMG_CFLAGS): likewise
30439 (TARGET_CPPFLAGS): add includedir
30440 * configure.ac: call grub_apple_cc and grub_apple_target_cc
30441 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
30442 Check for linker script only if compiler isn't Apple's CC
30443 (TARGET_MODULE_FORMAT): set
30444 (TARGET_APPLE_CC): likewise
30445 (TARGET_ASFLAGS): likewise
30446 (ASFLAGS): likewise
30447 Check for objcopy only if compiler isn't Apple's CC
30448 Check for BSS symbol only if compiler isn't Apple's CC
30449 * genmk.rb: adapt nm options if we use Apple's utils
30450 * aclocal.m4 (grub_apple_cc): new test
30451 (grub_apple_target_cc): likewise
473d1e45 30452
fb14123e 304532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30454
30455 Simplify sed expressions and improve awk
30456
30457 * Makefile.in (install-local): simplify sed expression
30458 * gencmdlist.sh: likewise
30459 * genmoddep.awk: avoid adding module as a dependency of itself
30460
5b889789 304612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30462
30463 Add missing start symbols
30464
30465 * boot/i386/pc/boot.S: add start
fb14123e 30466 * boot/i386/pc/pxeboot.S: likewise
473d1e45 30467
fd2bf2e3 304682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30469
30470 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 30471
30472 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 30473 (relocate_addresses): consider both r_addend and value at offset
30474 (make_mods_section): zerofill modinfo and header
30475 (convert_elf): write prefix here
473d1e45 30476
5389763d 304772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30478
30479 Use .asciz instead of .string
30480
30481 * i386/pc/diskboot.S: use .asciz instead of .string
30482 * i386/pc/boot.S: likewise
30483 * include/grub/dl.h (GRUB_MOD_DEP): likewise
30484 (GRUB_MOD_NAME): likewise
473d1e45 30485
3eb5ed4e 304862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30487
30488 gfxpayload support
30489
30490 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
30491 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
30492 (grub_video_setup): remove
30493 (grub_video_set_mode): new prototype
30494 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
30495 (vid_mode): remove
30496 (linux_vesafb_res): compile only on PCBIOS
30497 (grub_linux_boot): support gfxpayload
30498 * loader/i386/pc/xnu.c (video_hook): new function
30499 (grub_xnu_set_video): support gfxpayload
30500 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
30501 (DEFAULT_VIDEO_HEIGHT): likewise
30502 (DEFAULT_VIDEO_FLAGS): likewise
30503 (DEFAULT_VIDEO_MODE): new definition
30504 (video_hook): new function
30505 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 30506 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 30507 loading xnu
30508 * video/video.c (grub_video_setup): removed
473d1e45 30509 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 30510 grub_video_setup
30511
4b0e1143 305122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30513
30514 Avoid calling biosdisk in drivemap
30515
30516 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
30517 (revparse_biosdisk): likewise
30518 (list_mappings): derive name from id directly
30519 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 30520
fda6cb98 305212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30522
30523 Script fixes
30524
30525 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
30526 (grub_lexer_param): add tokenonhold
30527 (grub_script_create_cmdline): remove cmdline. All callers updated
30528 (grub_script_function_create): make functionname
30529 grub_script_arg. All callers updated
30530 (grub_script_execute_argument_to_string): new prototype
30531 * kern/parser.c (state_transitions): reorder
30532 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 30533 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 30534 make global
30535 (grub_script_execute_cmdline): use new format
30536 * script/sh/function.c (grub_script_function_create): make functionname
30537 grub_script_arg. All callers updated
473d1e45 30538 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 30539 (grub_script_yylex): remove
30540 (grub_script_yylex2): renamed to ...
30541 (grub_script_yylex): ...renamed
30542 parse the expressions like a${b}c
30543 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
30544 (GRUB_PARSER_TOKEN_VAR): remove
30545 (GRUB_PARSER_TOKEN_NAME): likewise
30546 ("if"): declare as typeless
30547 ("while"): likewise
30548 ("function"): likewise
30549 ("else"): likewise
30550 ("then"): likewise
30551 ("fi"): likewise
30552 (text): remove
30553 (argument): likewise
30554 (script): accept empty scripts and make exit on error
30555 (arguments): use GRUB_PARSER_TOKEN_ARG
30556 (function): likewise
30557 (command): move error handling to script
30558 (menuentry): move grub_script_lexer_ref before
473d1e45 30559 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 30560 argument. All callers updated
30561
f4448a07 305622009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30563
30564 Prevent GRUB from probing floppies during boot.
30565
30566 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
30567 * commands/search.c (options): Add --no-floppy.
30568 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
30569 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
30570 --no-floppy when searching for UUIDs.
30571
2bf5885a 305722009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30573
30574 Simplify the code duplication in commands/search.c.
30575
30576 * commands/search.c (search_label, search_fs_uuid): Merge into ...
30577 (search_fs): ... this. Update all users.
30578
f6fd460a 305792009-06-03 Felix Zielcke <fzielcke@z-51.de>
30580
30581 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
30582
cbb3c83e 305832009-05-28 Pavel Roskin <proski@gnu.org>
30584
57788cfd 30585 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
30586 Remove the original symlink explicitly.
30587
cbb3c83e 30588 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
30589 just one slash. That's how grub_fshelp_find_file() does it.
30590
cd0d5e30 305912009-05-26 Pavel Roskin <proski@gnu.org>
30592
f0f8bbe2 30593 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
30594 to `str'.
30595
cd0d5e30 30596 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
30597 possibly unused.
30598
8c2cab51 305992009-05-25 Christian Franke <franke@computer.org>
30600
30601 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
30602 register.
30603 (grub_atapi_identify): Add wait after drive select.
30604 (grub_ata_identify): Do more strict status register check before
30605 calling grub_atapi_identify (). Suppress error message if status
30606 register is 0x00 after command failure. Add status register
30607 check after PIO read to avoid bogus identify due to stuck DRQ.
30608 Thanks to Pavel Roskin for testing.
30609 (grub_device_initialize): Remove unsafe status register check.
30610 Thanks to 'phcoder' for problem report and patch.
30611 Prevent sign extension in debug message.
30612
230c0ad6 306132009-05-23 Colin D Bennett <colin@gibibit.com>
30614
30615 Cleaned up `include/grub/normal.h'. Grouped prototypes by
30616 definition file, and functions defined in `normal/menu.c' have had
30617 their prototypes moved to `include/grub/menu.h' for consistency.
30618
30619 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
30620 from normal.h.
30621 (grub_menu_get_entry): Likewise.
30622 (grub_menu_get_timeout): Likewise.
30623 (grub_menu_set_timeout): Likewise.
30624 (grub_menu_execute_entry): Likewise.
30625 (grub_menu_execute_with_fallback): Likewise.
30626 (grub_menu_entry_run): Likewise.
30627
30628 * include/grub/normal.h: Re-ordered and grouped function
30629 prototypes by file that the function is defined in.
30630 (grub_menu_execute_callback): Removed; moved to menu.h.
30631 (grub_menu_get_entry): Likewise.
30632 (grub_menu_get_timeout): Likewise.
30633 (grub_menu_set_timeout): Likewise.
30634 (grub_menu_execute_entry): Likewise.
30635 (grub_menu_execute_with_fallback): Likewise.
30636 (grub_menu_entry_run): Likewise.
30637 (grub_menu_addentry): Renamed from this ...
30638 (grub_normal_add_menu_entry): ... to this.
30639
30640 * normal/main.c (grub_menu_addentry): Renamed from this ...
30641 (grub_normal_add_menu_entry): ... to this.
30642
30643 * script/sh/execute.c (grub_script_execute_menuentry): Update
30644 reference to renamed grub_menu_addentry function.
30645
861f03a5 306462009-05-23 Felix Zielcke <fzielcke@z-51.de>
30647
30648 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
30649
96b1619a 306502009-05-22 Pavel Roskin <proski@gnu.org>
30651
bf6a5fb2 30652 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
30653 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
30654 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
30655 compiling for the i386 targets, but not for the utilities.
30656
96b1619a 30657 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
30658 to grub_uint8_t.
30659 (grub_root_drive): Likewise.
30660 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
30661 remove alignment.
30662 (grub_root_drive): Change size to byte.
30663 (grub_start_addr): Remove.
30664 (grub_end_addr): Likewise.
30665 (grub_apm_bios_info): Likewise.
30666
b729776b 306672009-05-21 Felix Zielcke <fzielcke@z-51.de>
30668
30669 * normal/i386: Remove.
30670 * normal/powerpc: Likewise.
30671 * normal/sparc64: Likewise.
30672 * normal/x86_64: Likewise.
30673
0a15ce80 306742009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
30675
30676 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 30677 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 30678 * loader/i386/xnu_helper.S: Likewise
d6da58e6 30679
33db9015 306802009-05-18 Colin D Bennett <colin@gibibit.com>
30681
d6da58e6 30682 Display error messages when parsing a Lua statement fails.
30683 Previously, executing a syntactically invalid statement like
30684 ")foo" or "bar;" would silently fail.
33db9015 30685
30686 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 30687 (grub_lua_parse_line): Improved reporting of Lua parser and
30688 execution errors.
33db9015 30689
46422c89 306902009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30691
30692 Remove -Werror which causes build to fail on some systems
30693
30694 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
30695 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
30696 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 30697
22f53a96 306982009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30699
30700 trampoline for linux on 64-bit platform
30701
18f547ad 30702 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
30703 loader/i386/efi/linux_trampoline.S
30704 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 30705 declaration
d6da58e6 30706 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
30707 here
22f53a96 30708 * loader/i386/linux_trampoline.S: moved here
d6da58e6 30709 * loader/i386/efi/linux.c (allocate_pages): reserve space for
30710 trampoline
22f53a96 30711 (jumpvector): removed
30712 (grub_linux_trampoline_start): new declaration
30713 (grub_linux_trampoline_end): likewise
30714 (grub_linux_boot): use trampoline when on 64-bit platform
30715 * loader/i386/linux.c: likewise
30716
cb5a0f40 307172009-05-16 Pavel Roskin <proski@gnu.org>
30718
30719 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
30720 const to avoid a warning.
30721 (grub_lua_setenv): Likewise.
30722 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
30723 lmsg to fix a warning.
30724
334f2c28 307252009-05-16 Felix Zielcke <fzielcke@z-51.de>
30726
30727 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 30728 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30729 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
30730 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30731 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30732 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30733 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30734 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 30735
59e5d3ec 307362009-05-16 Felix Zielcke <fzielcke@z-51.de>
30737
30738 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
30739
9d87a1ba 307402009-05-16 Bean <bean123ch@gmail.com>
30741
30742 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
30743 (lua_mod_SOURCES): New variable.
30744 (lua_mod_CFLAGS): Likewise.
30745 (lua_mod_LDFLAGS): Likewise.
30746
30747 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
30748 (setjmp_mod_SOURCES): New variable.
30749 (setjmp_mod_CFLAGS): Likewise.
30750 (setjmp_LDFLAGS): Likewise.
30751
30752 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
30753 (setjmp_mod_SOURCES): New variable.
30754 (setjmp_mod_CFLAGS): Likewise.
30755 (setjmp_LDFLAGS): Likewise.
30756
30757 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30758 (setjmp_mod_SOURCES): New variable.
30759 (setjmp_mod_CFLAGS): Likewise.
30760 (setjmp_LDFLAGS): Likewise.
30761
30762 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30763 (setjmp_mod_SOURCES): New variable.
30764 (setjmp_mod_CFLAGS): Likewise.
30765 (setjmp_LDFLAGS): Likewise.
30766
30767 * normal/i386/setjmp.S: Moved from here ...
30768 * lib/i386/setjmp.S: ... Moved here
30769 * normal/x86_64/setjmp.S: Moved from here ...
30770 * lib/x86_64/setjmp.S: ... Moved here
30771 * normal/powerpc/setjmp.S: Moved from here ...
30772 * lib/powerpc/setjmp.S: ... Moved here
30773 * normal/sparc64/setjmp.S: Moved from here ...
30774 * lib/sparc64/setjmp.S: ... Moved here
30775
30776 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
30777 returns_twice in mingw.
30778
30779 * script/lua/grub_lib.c: New file.
30780 * script/lua/grub_lib.h: Likewise.
30781 * script/lua/grub_lua.h: Likewise.
30782 * script/lua/grub_main.c: Likewise.
30783 * script/lua/lapi.c: Likewise.
30784 * script/lua/lapi.h: Likewise.
30785 * script/lua/lauxlib.c: Likewise.
30786 * script/lua/lauxlib.h: Likewise.
30787 * script/lua/lbaselib.c: Likewise.
30788 * script/lua/lcode.c: Likewise.
30789 * script/lua/lcode.h: Likewise.
30790 * script/lua/ldblib.c: Likewise.
30791 * script/lua/ldebug.c: Likewise.
30792 * script/lua/ldebug.h: Likewise.
30793 * script/lua/ldo.c: Likewise.
30794 * script/lua/ldo.h: Likewise.
30795 * script/lua/ldump.c: Likewise.
30796 * script/lua/lfunc.c: Likewise.
30797 * script/lua/lfunc.h: Likewise.
30798 * script/lua/lgc.c: Likewise.
30799 * script/lua/lgc.h: Likewise.
30800 * script/lua/linit.c: Likewise.
30801 * script/lua/liolib.c: Likewise.
30802 * script/lua/llex.c: Likewise.
30803 * script/lua/llex.h: Likewise.
30804 * script/lua/llimits.h: Likewise.
30805 * script/lua/lmathlib.c: Likewise.
30806 * script/lua/lmem.c: Likewise.
30807 * script/lua/lmem.h: Likewise.
30808 * script/lua/loadlib.c: Likewise.
30809 * script/lua/lobject.c: Likewise.
30810 * script/lua/lobject.h: Likewise.
30811 * script/lua/lopcodes.c: Likewise.
30812 * script/lua/lopcodes.h: Likewise.
30813 * script/lua/loslib.c: Likewise.
30814 * script/lua/lparser.c: Likewise.
30815 * script/lua/lparser.h: Likewise.
30816 * script/lua/lstate.c: Likewise.
30817 * script/lua/lstate.h: Likewise.
30818 * script/lua/lstring.c: Likewise.
30819 * script/lua/lstring.h: Likewise.
30820 * script/lua/lstrlib.c: Likewise.
30821 * script/lua/ltable.c: Likewise.
30822 * script/lua/ltable.h: Likewise.
30823 * script/lua/ltablib.c: Likewise.
30824 * script/lua/ltm.c: Likewise.
30825 * script/lua/ltm.h: Likewise.
30826 * script/lua/lua.h: Likewise.
30827 * script/lua/luaconf.h: Likewise.
30828 * script/lua/lualib.h: Likewise.
30829 * script/lua/lundump.c: Likewise.
30830 * script/lua/lundump.h: Likewise.
30831 * script/lua/lvm.c: Likewise.
30832 * script/lua/lvm.h: Likewise.
30833 * script/lua/lzio.c: Likewise.
30834 * script/lua/lzio.h: Likewise.
30835
5e898c9d 308362009-05-16 Bean <bean123ch@gmail.com>
30837
30838 * include/grub/kernel.h (grub_module_header_types): Add type
30839 OBJ_TYPE_CONFIG.
30840
30841 * kern/main.c (grub_load_config): New function.
30842 (grub_main): Call grub_load_config to read boot config.
30843
30844 * grub-mkimage (generate_image): New parameter config_path.
30845 (options): New option --config.
30846 (main): Parse --config option, and pass it to generate_image.
30847
cf353a47 308482009-05-14 Christian Franke <franke@computer.org>
30849
30850 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
30851 This fixes build on Cygwin.
30852
3834887f 308532009-05-14 Pavel Roskin <proski@gnu.org>
30854
30855 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
30856 jump. This saves two bytes, so the typical case of 2 swapped
30857 drives would fit 32 bytes.
30858
8090fc01 308592009-05-13 Pavel Roskin <proski@gnu.org>
30860
ac963883 30861 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30862 grub_uint32_t to avoid a warning.
30863
8090fc01 30864 * loader/i386/linux.c (allocate_pages): When assigning
30865 real_mode_mem, cast through grub_size_t to fix a warning. The
30866 code already makes sure that the value would fit a pointer.
30867 (grub_linux_setup_video): Cast render_target->data to
30868 grub_size_t to fix a warning.
30869
18f547ad 308702009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 30871
30872 * commands/i386/pc/drivemap.c: New file - implement drivemap
30873 command.
30874 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30875 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30876
6f6a8b28 308772009-05-13 Pavel Roskin <proski@gnu.org>
30878
30879 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30880 embedding_area_exists.
30881
15fbf4c4 308822009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30883
30884 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30885 it easier to understand / work with.
59978c8a 30886 Improve warning messages for cases where there's no embedding area,
30887 or when it is too small (or core.img too large).
15fbf4c4 30888
238e871f 308892009-05-13 Pavel Roskin <proski@gnu.org>
30890
0ab3a9a4 30891 * loader/i386/pc/multiboot2.c: Add necessary includes for
30892 grub_multiboot2_real_boot().
30893
a2c8c5f8 30894 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30895 PX record is always little-endian. We only need the lower 2
30896 bytes of the mode.
30897
faec96af 30898 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30899 facilitate code reuse.
30900 (grub_cpio_mount): Use "struct head", not a char buffer. This
30901 fixes a warning reported by gcc 4.4.
30902
238e871f 30903 * kernel/disk.c (grub_disk_read): Use void pointer for the
30904 buffer.
30905 (grub_disk_write): Use const void pointer for the buffer.
30906 Adjust all callers. Remove unnecessary casts.
30907
901d2f0c 309082009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30909
30910 * util/i386/pc/grub-install.in: Update copyright year.
30911
18f547ad 309122009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 30913
30914 gptsync
30915
30916 * commands/gptsync.c: new file
30917 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30918 (gptsync_mod_SOURCES): new variable
30919 (gptsync_mod_CFLAGS): likewise
30920 (gptsync_mod_LDFLAGS): likewise
18f547ad 30921 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 30922 new definition
30923 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30924 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30925 * conf/i386-ieee1275.rmk: likewise
30926 * conf/i386-pc.rmk: likewise
30927 * conf/powerpc-ieee1275.rmk: likewise
30928
b4ba690a 309292009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30930
30931 Fixed grub-emu
30932
30933 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30934 (grub_dl_ref): likewise
30935
317e1a44 309362009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30937
30938 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30939 split in two functions (one for msdos and one for gpt).
30940
041b8094 309412009-05-08 Pavel Roskin <proski@gnu.org>
30942
752473c2 30943 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30944 not modified.
30945
041b8094 30946 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30947 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30948 Initialize them with -1. Add sanity check for bad1. Eliminate
30949 nerr variable.
30950
172800ce 309512009-05-08 David S. Miller <davem@davemloft.net>
30952
30953 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30954
29aa5e81 309552009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30956
30957 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 30958 existence.
29aa5e81 30959
96613b62 309602009-05-05 Felix Zielcke <fzielcke@z-51.de>
30961
30962 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 30963 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 30964
eef73c8a 309652009-05-05 David S. Miller <davem@davemloft.net>
30966
30967 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30968
119494b5 309692009-05-05 Pavel Roskin <proski@gnu.org>
30970
30971 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30972 of grub_dl_ref() and grub_dl_unref().
30973 * commands/parttool.c: Remove preprocessor conditionals around
30974 grub_dl_ref() and grub_dl_unref().
30975 * fs/affs.c: Likewise.
30976 * fs/afs.c: Likewise.
30977 * fs/cpio.c: Likewise.
30978 * fs/ext2.c: Likewise.
30979 * fs/fat.c: Likewise.
30980 * fs/hfs.c: Likewise.
30981 * fs/hfsplus.c: Likewise.
30982 * fs/iso9660.c: Likewise.
30983 * fs/jfs.c: Likewise.
30984 * fs/minix.c: Likewise.
30985 * fs/ntfs.c: Likewise.
30986 * fs/reiserfs.c: Likewise.
30987 * fs/sfs.c: Likewise.
30988 * fs/udf.c: Likewise.
30989 * fs/ufs.c: Likewise.
30990 * fs/xfs.c: Likewise.
30991 * include/grub/dl.h: Likewise.
30992 * loader/xnu.c: Likewise.
30993
de5fd76e 309942009-05-04 Pavel Roskin <proski@gnu.org>
30995
30996 * commands/acpi.c: Remove unused variable my_mod.
30997 * partmap/amiga.c: Likewise.
30998 * partmap/apple.c: Likewise.
30999 * partmap/gpt.c: Likewise.
31000 * partmap/pc.c: Likewise.
31001 * partmap/sun.c: Likewise.
31002 * term/gfxterm.c: Likewise.
31003 * term/i386/pc/vesafb.c: Likewise.
31004 * term/i386/pc/vga.c: Likewise.
31005
983598ad 310062009-05-04 David S. Miller <davem@davemloft.net>
31007
31008 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
31009 pointer args to grub_ieee1275_get_property().
31010
8aadec43 31011 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
31012
9554b15e 31013 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
31014 devices, and do not traverse down under controller nodes.
31015
67e23c90 31016 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
31017 (grub_ofdisk_open): Use it to un-escape "," characters.
31018 * kern/disk.c (find_part_sep): New.
31019 (grub_disk_open): Use it to find the first non-escaped ','
31020 character in the disk name.
31021 * util/ieee1275/devicemap.c (escape_of_path): New.
31022 (grub_util_emit_devicemap_entry): Use it.
31023 * util/sparc64/ieee1275/grub-install.in: Update script to
31024 strip partition specifiers properly by not triggering on
31025 '\' escaped ',' characters.
31026
74bfdd2f 310272009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31028
31029 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
31030 to 0x300.
31031 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
31032 resolutions.
31033 (linux_vesafb_modes): Add a lot of additional modes to the list (based
31034 on documentation from Wikipedia).
31035
4241d2b1 310362009-05-04 Pavel Roskin <proski@gnu.org>
31037
31038 * disk/ata.c: Spelling fixes.
31039 * disk/raid.c: Likewise.
31040 * disk/usbms.c: Likewise.
31041 * disk/dmraid_nvidia.c: Likewise.
31042 * kern/ieee1275/openfw.c: Likewise.
31043 * kern/ieee1275/init.c: Likewise.
31044 * kern/ieee1275/cmain.c: Likewise.
31045 * boot/i386/pc/cdboot.S: Likewise.
31046 * video/readers/png.c: Likewise.
31047 * video/i386/pc/vbe.c: Likewise.
31048 * fs/udf.c: Likewise.
31049 * fs/hfs.c: Likewise.
31050 * fs/reiserfs.c: Likewise.
31051 * efiemu/runtime/efiemu.c: Likewise.
31052 * efiemu/main.c: Likewise.
31053 * efiemu/mm.c: Likewise.
31054 * include/grub/elf.h: Likewise.
31055 * include/grub/xnu.h: Likewise.
31056 * include/grub/usbdesc.h: Likewise.
31057 * include/grub/usb.h: Likewise.
31058 * include/grub/script_sh.h: Likewise.
31059 * include/grub/lib/LzmaEnc.h: Likewise.
31060 * include/grub/efiemu/efiemu.h: Likewise.
31061 * include/grub/command.h: Likewise.
31062 * normal/menu.c: Likewise.
31063 * normal/main.c: Likewise.
31064 * normal/datetime.c: Likewise.
31065 * bus/usb/uhci.c: Likewise.
31066 * mmap/i386/uppermem.c: Likewise.
31067 * mmap/mmap.c: Likewise.
31068 * commands/acpi.c: Likewise.
31069 * commands/test.c: Likewise.
31070 * partmap/apple.c: Likewise.
31071 * font/font.c: Likewise.
31072 * loader/sparc64/ieee1275/linux.c: Likewise.
31073 * loader/macho.c: Likewise.
31074 * loader/i386/bsd_trampoline.S: Likewise.
31075 * loader/i386/bsd.c: Likewise.
31076 * loader/xnu.c: Likewise.
31077 * term/i386/pc/vesafb.c: Likewise.
31078 * term/usb_keyboard.c: Likewise.
31079 * util/resolve.c: Likewise.
31080 * util/getroot.c: Likewise.
31081
0cfc0083 310822009-05-04 Felix Zielcke <fzielcke@z-51.de>
31083
31084 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
31085
7c1d00cd 310862009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31087
31088 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
31089 build error.
31090
b01f0548 310912009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31092
31093 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
31094 parameter only available on BIOS.
31095
ecc3eb22 310962009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31097
31098 Removed wrong semicolon in declaration
31099
31100 * grub/misc.h (grub_dprintf): remove semicolon
31101
112972a9 311022009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31103
31104 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
31105 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
31106 is done by grub_cmd_linux() now).
31107 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
31108 restore video to text mode.
31109 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
31110 indicates lack of "vga=" parameter. "vga=0" is mapped to
31111 `GRUB_LINUX_VID_MODE_NORMAL'.
31112
afd5c115 311132009-05-04 Felix Zielcke <fzielcke@z-51.de>
31114
31115 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
31116 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
31117 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 31118 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 31119 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
31120 `grub_script.tab.c'.
31121
31122 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31123 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31125 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31126 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31127
faa517ce 31128 * Makefile.in: Remove duplicated 2008 in Copyright line.
31129
ae0c0bdc 311302009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31131
473d1e45 31132 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 31133 unconditionally.
31134 * include/grub/util/misc.h (grub_util_warn): New declaration.
31135
31136 * util/i386/pc/grub-install.in: Understand --force and pass it down
31137 to grub-setup.
31138
31139 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
31140 down to setup().
31141 (setup): Improve error messages and add warnings when requested to
31142 install in odd layouts. Refuse to install using blocklists unless
31143 --force was set.
31144
18f547ad 311452009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 31146
31147 * disk/raid.c (grub_raid_scan_device): Improve debug message.
31148
6d260daa 311492009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31150
31151 Updated copyright year
31152
31153 * fs/hfsplus.c: updated copyright year
18f547ad 31154
69f853f8 311552009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31156
31157 HFS+ UUID
31158
18f547ad 31159 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 31160 in the space previously used by unused3
31161 (grub_hfsplus_uuid): new function
31162 (grub_hfsplus_fs): added uuid field
31163
4c402e73 311642009-05-03 Pavel Roskin <proski@gnu.org>
31165
31166 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
31167 suppress warnings. It's no longer needed.
31168 * disk/host.c: Likewise.
31169 * disk/ata_pthru.c: Likewise.
31170 * disk/loopback.c: Likewise.
31171 * hook/datehook.c: Likewise.
31172 * parttool/pcpart.c: Likewise.
31173 * fs/i386/pc/pxe.c: Likewise.
31174 * fs/ntfscomp.c: Likewise.
31175 * efiemu/main.c: Likewise.
31176 * mmap/mmap.c: Likewise.
31177 * commands/crc.c: Likewise.
31178 * commands/hexdump.c: Likewise.
31179 * commands/hdparm.c: Likewise.
31180 * commands/acpi.c: Likewise.
31181 * commands/echo.c: Likewise.
31182 * commands/minicmd.c: Likewise.
31183 * commands/blocklist.c: Likewise.
31184 * commands/memrw.c: Likewise.
31185 * commands/loadenv.c: Likewise.
31186 * commands/usbtest.c: Likewise.
31187 * commands/lsmmap.c: Likewise.
31188 * commands/boot.c: Likewise.
31189 * commands/parttool.c: Likewise.
31190 * commands/configfile.c: Likewise.
31191 * commands/search.c: Likewise.
31192 * commands/ieee1275/suspend.c: Likewise.
31193 * commands/cat.c: Likewise.
31194 * commands/i386/pc/pxecmd.c: Likewise.
31195 * commands/i386/pc/play.c: Likewise.
31196 * commands/i386/pc/halt.c: Likewise.
31197 * commands/i386/pc/vbeinfo.c: Likewise.
31198 * commands/i386/pc/vbetest.c: Likewise.
31199 * commands/lspci.c: Likewise.
31200 * commands/date.c: Likewise.
31201 * commands/handler.c: Likewise.
31202 * commands/ls.c: Likewise.
31203 * commands/test.c: Likewise.
31204 * commands/cmp.c: Likewise.
31205 * commands/efi/loadbios.c: Likewise.
31206 * commands/efi/fixvideo.c: Likewise.
31207 * commands/halt.c: Likewise.
31208 * commands/help.c: Likewise.
31209 * commands/reboot.c: Likewise.
31210 * hello/hello.c: Likewise.
31211 * script/sh/main.c: Likewise.
31212 * loader/xnu.c: Likewise.
31213 * term/terminfo.c: Likewise.
31214 * term/i386/pc/serial.c: Likewise.
31215 * term/usb_keyboard.c: Likewise.
31216
515b5079 312172009-05-03 David S. Miller <davem@davemloft.net>
31218
31219 * normal/menu.c: Include grub/parser.h
31220
dfc31a22 312212009-05-03 Pavel Roskin <proski@gnu.org>
31222
2fee74f1 31223 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
31224 not char*.
31225 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
31226 Suggested by Javier Martín <lordhabbit@gmail.com>
31227
dfc31a22 31228 * util/i386/pc/grub-mkrescue.in: Allow for the case when
31229 efiemu??.o doesn't exist.
31230 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
31231 copying.
31232
18f547ad 312332009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 31234
31235 FreeBSD 64-bit support
31236
18f547ad 31237 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 31238 and loader/i386/bsd_trampoline.S
31239 (bsd_mod_ASFLAGS): new variable
31240 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
31241 (FREEBSD_MODTYPE_KERNEL64): likewise
31242 (grub_bsd64_trampoline_start): likewise
31243 (grub_bsd64_trampoline_end): likewise
31244 (grub_bsd64_trampoline_selfjump): likewise
31245 (grub_bsd64_trampoline_gdt): likewise
31246 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
31247 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
31248 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
31249 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 31250 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 31251 of "attrib" member
31252 * loader/i386/bsd_pagetable.c: new file
31253 * loader/i386/bsd_trampoline.S: likewise
31254 * loader/i386/bsd.c (ALIGN_QWORD): new macro
31255 (ALIGN_VAR): likewise
31256 (entry_hi): new variable
31257 (kern_end_mdofs): likewise
31258 (is_64bit): likewise
31259 (grub_freebsd_add_meta): use ALIGN_VAR
31260 (grub_e820_mmap): new declaration
31261 (grub_freebsd_add_mmap): new function
31262 (grub_freebsd_add_meta_module): support 64 bit kernels
31263 (grub_freebsd_list_modules): use ALIGN_VAR
31264 (gdt_descriptor): new declaration
31265 (grub_freebsd_boot): support 64 bit kernels
31266 (grub_bsd_elf64_hook): new function
31267 (grub_bsd_load_elf): support elf64
31268
038c5720 312692009-05-03 Bean <bean123ch@gmail.com>
31270
31271 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
31272 after we get the result of if statement.
31273
fc45fb58 312742009-05-03 Bean <bean123ch@gmail.com>
31275
31276 * Makefile.in (enable_efiemu): New variable.
31277
31278 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
31279 set.
31280 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
31281 path.
31282 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
31283 path, add -mno-red-zone option.
31284 (efiemu64_s.o): Likewise.
31285 (efiemu64.o): Use macro $^ for source file.
31286
31287 * configure.ac (--enable-efiemu): New option.
31288
bbee0f2b 312892009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
31290
31291 xnu support
31292
31293 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
31294 (pkglib_MODULES): add xnu.mod
31295 (xnu_mod_SOURCES): new variable
31296 (xnu_mod_CFLAGS): likewise
31297 (xnu_mod_LDFLAGS): likewise
31298 (xnu_mod_ASFLAGS): likewise
31299 * conf/i386-pc.rmk: likewise
31300 * conf/x86_64-efi.rmk: likewise
7dd4a573 31301 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 31302 new declaration
31303 * include/grub/i386/macho.h: new file
31304 * include/grub/i386/xnu.h: likewise
31305 * include/grub/macho.h: likewise
31306 * include/grub/machoload.h: likewise
31307 * include/grub/x86_64/macho.h: likewise
31308 * include/grub/x86_64/xnu.h: likewise
31309 * include/grub/xnu.h: likewise
31310 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
31311 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
31312 * loader/i386/efi/xnu.c: new file
31313 * loader/i386/pc/xnu.c: likewise
31314 * loader/i386/xnu.c: likewise
31315 * loader/i386/xnu_helper.S: likewise
31316 * loader/macho.c: likewise
31317 * loader/xnu.c: likewise
31318 * loader/xnu_resume.c: likewise
31319 * util/grub-dumpdevtree: likewise
31320 * include/grub/i386/pit.h: include grub/err.h
31321 (grub_pit_wait): export
31322 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 31323
5caf964d 313242009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31325
31326 Efiemu
7dd4a573 31327
5caf964d 31328 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 31329 _linux_efi, linux_efi.
31330 new files in grub-emu
5caf964d 31331 new targets efiemu32.o and efiemu64.o
31332 * loader/linux_normal_efiemu.c: likewise
31333 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 31334 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 31335 files to copy
31336 * include/grub/autoefi.h: new file
7dd4a573 31337 * include/grub/i386/efiemu.h: likewise
5caf964d 31338 * include/grub/i386/pc/efiemu.h: likewise
31339 * include/grub/efi/api.h: add LL suffix when necessary
31340 new definitions relating to tables
31341 * include/grub/efiemu/efiemu.h: new file
31342 * include/grub/efiemu/runtime.h: likewise
31343 * efiemu/prepare.c: likewise
31344 * efiemu/loadcore_common.c: likewise
31345 * efiemu/loadcore64.c: likewise
31346 * efiemu/runtime/efiemu.sh: likewise
31347 * efiemu/runtime/efiemu.S: likewise
31348 * efiemu/runtime/efiemu.c: likewise
31349 * efiemu/runtime/config.h: likewise
31350 * efiemu/prepare32.c: likewise
31351 * efiemu/main.c: likewise
31352 * efiemu/modules/pnvram.c: likewise
31353 * efiemu/modules/i386: likewise
31354 * efiemu/modules/i386/pc: likewise
31355 * efiemu/modules/acpi.c: likewise
31356 * efiemu/i386/pc/cfgtables.c: likewise
31357 * efiemu/i386/loadcore64.c: likewise
31358 * efiemu/i386/loadcore32.c: likewise
31359 * efiemu/prepare64.c: likewise
31360 * efiemu/loadcore.c: likewise
31361 * efiemu/symbols.c: likewise
31362 * efiemu/mm.c: likewise
31363 * efiemu/loadcore32.c: likewise
7dd4a573 31364
313652009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 31366
31367 ACPI spoofing
31368
31369 * commands/acpi.c: new file
31370 * commands/i386/pc/acpi.c: likewise
31371 * commands/efi/acpi.c: likewise
31372 * include/grub/acpi.h: likewise
31373 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
31374 (acpi_mod_SOURCES): new variable
31375 (acpi_mod_CFLAGS): likewise
31376 (acpi_mod_LDFLAGS): likewise
31377 * conf/i386-efi.rmk: likewise
31378 * conf/x86_64-efi.rmk: likewise
31379
7dd4a573 313802009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 31381
31382 Missing part from mmap patch
31383
31384 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
31385 (grub_mmap_unregister)
31386 (grub_mmap_free_and_unregister): use grub_mmap_register
31387
7dd4a573 313882009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 31389
31390 Mmap services
31391
31392 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
31393 * loader/i386/linux.c (find_mmap_size): likewise
31394 (allocate_pages): likewise
31395 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
31396 (grub_fill_multiboot_mmap): likewise
31397 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
31398 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
31399 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
31400 (OPENBSD_MMAP_RESERVED): likewise
31401 * include/grub/i386/pc/memory.h: include grub/memory.h
31402 (grub_lower_mem): removed
31403 (grub_upper_mem): likewise
31404 (GRUB_MACHINE_MEMORY_ACPI): new definition
31405 (GRUB_MACHINE_MEMORY_NVS): likewise
31406 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
31407 (GRUB_MACHINE_MEMORY_HOLE): likewise
31408 (grub_machine_mmap_register): likewise
31409 (grub_machine_mmap_unregister): likewise
31410 (grub_machine_get_upper): likewise
31411 (grub_machine_get_lower): likewise
31412 (grub_machine_get_post64): likewise
31413 * include/grub/i386/efi/memory.h: new file
31414 * include/grub/x86_64/efi/memory.h: likewise
31415 * include/grub/efi/memory.h: likewise
31416 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
31417 (mmap_mod_SOURCES): new variable
31418 (mmap_mod_LDFLAGS): likewise
31419 (mmap_mod_ASFLAGS): likewise
31420 * conf/i386-coreboot.rmk: likewise
31421 * conf/i386-ieee1275.rmk: likewise
31422 * conf/i386-efi.rmk: likewise
31423 * conf/x86_64-efi.rmk: likewise
31424 * include/grub/types.h (UINT_TO_PTR): new macro
31425 (PTR_TO_UINT32): likewise
31426 (PTR_TO_UINT64): likewise
31427 * include/grub/memory.h: new file
31428 * mmap/i386/pc/mmap.c: likewise
31429 * mmap/i386/pc/mmap_helper.S: likewise
31430 * mmap/i386/uppermem.c: likewise
31431 * mmap/mmap.c: likewise
31432 * mmap/efi/mmap.c: likewise
7dd4a573 31433 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 31434 grub_upper_mem
31435 * kern/i386/pc/init.c (grub_lower_mem): removed variable
31436 (grub_upper_mem): likewise
31437 (grub_machine_init): don't use grub_upper_mem,
31438 make grub_lower_mem local
31439 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
31440 grub_mmap_iterate and grub_mmap_get_upper
31441 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
31442
d558e6b5 314432009-05-02 Bean <bean123ch@gmail.com>
31444
31445 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
31446 script/sh/parser.y.
31447 (pkglib_MODULES): Add normal.mod and sh.mod.
31448 (normal_SOURCES): New variable.
31449 (normal_mod_CFLAGS): Likewise.
31450 (normal_mod_LDFLAGS): Likewise.
31451 (sh_mod_SOURCES): Likewise.
31452 (sh_mod_CFLAGS): Likewise.
31453 (sh_mod_LDFLAGS): Likewise.
31454
31455 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
31456 script/sh/lexer.c_DEPENDENCIES.
31457 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
31458 kern/rescue_reader.c and kern/rescue_parser.c.
31459 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
31460 (grub_emu_SOURCES): Change source files.
31461 (pkglib_MODULES): Remove normal.mod.
31462 (normal_SOURCES): Removed.
31463 (normal_mod_CFLAGS): Likewise.
31464 (normal_mod_LDFLAGS): Likewise.
31465 * conf/i386-coreboot.rmk: Likewise.
31466 * conf/i386-efi.rmk: Likewise.
31467 * conf/i386-ieee1276.rmk: Likewise.
31468 * conf/powerpc-ieee1275.rmk: Likewise.
31469 * conf/sparc64-ieee1275.rmk: Likewise.
31470 * conf/x86_64-efi.rmk: Likewise.
31471
31472 * include/grub/command.h (grub_command_execute): New inline function.
31473
31474 * include/grub/menu.h (grub_menu_entry): Removed commands field.
31475
31476 * include/grub/normal.h: Remove <grub/setjmp.h>.
31477 (grub_fs_module_list): Moved to normal/autofs.c.
31478 (grub_exit_env): Removed.
31479 (grub_command_execute): Likewise.
31480 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
31481 parameter script.
31482 (read_command_list): New function declaration.
31483 (read_fs_list): Likewise.
31484
31485 * include/parser.h: Include <grub/reader.h>.
31486 (grub_parser_split_cmdline): Change type of getline parameter.
31487 (grub_parser): New structure.
31488 (grub_parser_class): New variable.
31489 (grub_parser_execute): New function declaration.
31490 (grub_register_rescue_parser): Likewise.
31491 (grub_parser_register): New inline function.
31492 (grub_parser_unregister): Likewise.
31493 (grub_parser_get_current): Likewise.
31494 (grub_parser_set_current): Likewise.
31495
31496 * include/grub/reader.h: New file.
31497 * kern/reader.c: Likewise.
31498 * kern/rescue_parser.c: Likewise.
31499 * kern/rescue_reader.c: Likewise.
31500 * normal/autofs.c: Likewise.
31501 * normal/dyncmd.c: Likewise.
31502
31503 * include/grub/rescue.h: Removed.
31504 * normal/command.h: Likewise.
31505
31506 * include/grub/script.h: Moved to ...
31507 * include/grub/script_sh.h: ... Moved here.
31508 * normal/execute.c: Moved to ...
31509 * script/sh/execute.c: ... Moved here.
31510 * normal/function.c: Moved to ...
31511 * script/sh/function.c: ... Moved here.
31512 * normal/lexer.c: Moved to ...
31513 * script/sh/lexer.c: ... Moved here.
31514 * normal/parser.y: Moved to ...
31515 * script/sh/parser.y: ... Moved here.
31516 * normal/script.c: Moved to ...
31517 * script/sh/script.c: ... Moved here.
31518
31519 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
31520 <grub/reader.h>.
31521 (grub_exit_env): Removed.
31522 (fs_module_list): Moved to normal/autofs.c.
31523 (grub_file_getline): Don't handle comment here.
31524 (free_menu): Skip removed field entry->commands.
31525 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
31526 script parameter.
31527 (read_config_file): Removed nested parameter, change getline function.
31528 (grub_enter_normal_mode): Removed.
31529 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
31530 (read_command_list): Likewise.
31531 (autoload_fs_module): Moved to normal/autofs.c.
31532 (read_fs_list): Likewise.
31533 (reader_nested): New variable.
31534 (grub_normal_execute): Run parser.sh to switch to sh parser.
31535 (grub_cmd_rescue): Removed.
31536 (cmd_normal): Removed.
31537 (grub_cmd_normal): Unregister itself at the beginning. Don't register
31538 rescue command.
31539 (grub_cmdline_run): New function.
31540 (grub_normal_reader_init): Likewise.
31541 (grub_normal_read_line): Likewise.
31542 (grub_env_write_pager): Likewise.
31543 (cmdline): New variable.
31544 (grub_normal_reader): Likewise.
31545 (GRUB_MOD_INIT): Register normal reader and set as current, register
31546 pager hook, register normal command with grub_register_command_prio,
31547 so that it won't show up in command.lst.
31548 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
31549 grub_fs_autoload_hook.
31550
31551 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
31552 (grub_menu_execute_entry): Replace grub_script_execute with
31553 grub_parser_execute, change parameter to grub_command_execute.
31554
31555 * normal/menu_text.c: Remove <grub/script.h>.
31556
31557 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
31558 and <grub/parser.h>.
31559 (run): Change editor_getline to use new parser interface. Change
31560 parameter to grub_command_execute.
31561
31562 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
31563 <grub/reader.h> and <grub/parser.h>.
31564 (grub_load_normal_mode): Execute normal command.
31565 (grub_main): Call grub_register_core_commands,
31566 grub_register_rescue_parser and grub_register_rescue_reader, use
31567 grub_reader_loop to enter input loop.
31568
7dd4a573 31569 * kern/parser.c (grub_parser_split_cmdline): Change type of
31570 getline parameter.
d558e6b5 31571 (grub_parser_class): New variable.
31572 (grub_parser_execute): New function.
31573
31574 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
31575 * loader/multiboot2.c: Likewise.
31576 * loader/sparc64/ieee1275/linux.c: Likewise.
31577
31578 * util/grub-emu.c (read_command_list): New dummy function.
31579
18db813d 315802009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31581
31582 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
31583 count to 16 for CCISS and IDA.
31584
6c67de15 315852009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31586
31587 * normal/menu_text.c (grub_wait_after_message): Print a newline
31588 after waiting for user input.
31589
31590 * loader/i386/linux.c: Include `<grub/normal.h>'.
31591 (grub_cmd_linux): Improve the error message about `ask' mode, by
31592 waiting for user input so it's not missed (we can do this, since
31593 user requested interaction).
31594
d9dc87b0 315952009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31596
31597 Added missing lst to grub-mkrescue
31598
31599 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
31600 and ${input_dir}/parttool.lst
31601
ac8a2baa 316022009-04-30 David S. Miller <davem@davemloft.net>
31603
ad22a610 31604 * util/hostdisk.c (device_is_wholedisk): New function.
31605 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
31606 zero only if device_is_wholedisk() returns true.
31607
6966215d 31608 * util/hostdisk.c (convert_system_partition_to_system_disk):
31609 Handle virtual disk devices named /dev/vdiskX as found on sparc
31610 and powerpc.
31611
ac8a2baa 31612 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
31613 lettered partition specifier is found, convert to numbered.
31614
979b4fb4 316152009-04-29 David S. Miller <davem@davemloft.net>
31616
e2bf39b2 31617 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
31618 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31619
3c64e104 31620 * normal/command.c: Add missing newline at end of file.
31621
979b4fb4 31622 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
31623 warnings.
31624 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
31625 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
31626 grub_ofdisk_read): Likewise, and deal similarly with the fact that
31627 ihandles have a 32-bit type but need to be stored in a "void *".
31628
136d9f82 316292009-04-28 Pavel Roskin <proski@gnu.org>
31630
9459c306 31631 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
31632 not disk. Adjust all dependencies.
2e08a26a 31633 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 31634 grub_disk_close().
31635
136d9f82 31636 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
31637 parent's partition, don't copy it by reference, as it gets freed
31638 on close.
31639
7dd4a573 316402009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 31641
31642 Preboot hooks support
31643
31644 * commands/boot.c (struct grub_preboot_t): new declaration
31645 (preboots_head): new variable
31646 (preboots_tail): likewise
31647 (grub_loader_register_preboot_hook): new function
31648 (grub_loader_unregister_preboot_hook): likewise
31649 (grub_loader_set): launch preboot hooks
31650 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
31651 (grub_loader_register_preboot_hook): new declaration
31652 (grub_loader_unregister_preboot_hook): likewise
31653
5af922b5 316542009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
31655
31656 Warning fix
31657
7dd4a573 31658 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 31659 calling grub_dprintf
31660
a5562c30 316612009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
31662
31663 Bug and warning fixes
31664
7dd4a573 31665 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 31666 declaration
31667 * commands/test.c (test_parse): fixed bug with file tests and corrected
31668 declaration of find_file
31669
4006f85c 316702009-04-26 Pavel Roskin <proski@gnu.org>
31671
31672 * Makefile.in: Don't install empty manual pages if help2man is
31673 missing. Use help2man option for output, not shell redirection.
31674
5c77c3de 316752009-04-26 David S. Miller <davem@davemloft.net>
31676
31677 * util/grub-mkdevicemap.c (make_device_map): Add missing
31678 NESTED_FUNC_ATTR to process_device().
31679
033b10a8 316802009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31681
31682 Test command
31683
31684 * commands/test.c: rewritten to use bash-like test
31685
e4343593 316862009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31687
31688 Parttool autoloading and improvements
31689
7dd4a573 31690 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 31691 (parttool.lst): new target
31692 * genmk.rb: generate parttool-*
31693 (CLEANFILES): add #{parttool}
31694 (PARTTOOLFILES): new variable
31695 * genparttoollist.sh: new file
7dd4a573 31696 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 31697 (grub_pcpart_type): likewise
31698 * commands/parttool.c (helpmsg): new variable
31699 (grub_cmd_parttool): output help if not enough arguments are supplied
31700 autoload modules
31701 (GRUB_MOD_INIT(parttool)): use helpmsg
31702
0d312500 317032009-04-24 David S. Miller <davem@davemloft.net>
31704
7dd4a573 31705 Avoiding opening same device multiple times in device iterator.
0d312500 31706
31707 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 31708 and use it to build a list of partitions in iterate_disk() and
0d312500 31709 iterate_partition().
31710
ac20caff 31711 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
31712 on disk->data.
31713
0dcf7495 31714 * disk/ieee1275/nand.c (grub_nand_iterate): Return
31715 grub_devalias_iterate() result instead of unconditional 0.
31716 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
31717 Also, capture hook return value, either directly or via
31718 grub_children_iterate(), and propagate to caller.
31719 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
31720 grub_children_iterate): Return value is now 'int' instead of
31721 'grub_err_t'.
31722 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
31723 like a proper iterator, stopping when hooks return non-zero.
31724 (grub_devalias_iterate): Likewise.
31725
c8c08833 317262009-04-23 David S. Miller <davem@davemloft.net>
31727
31728 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
31729
f01005a8 317302009-04-22 David S. Miller <davem@davemloft.net>
31731
31732 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
31733 is larger than address_cells, use that value for address_cells too.
31734
4e8269da 31735 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
31736 IEEE1275_MAX_PATH_LEN): Define.
31737 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
31738 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
31739 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
31740 'devtype'. Explicitly NULL terminate devalias expansion.
31741
a1447506 31742 * util/sparc64/ieee1275/misc.c: New file.
31743 * util/sparc64/ieee1275/grub-setup.c: New file.
31744 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
31745 * util/sparc64/ieee1275/grub-mkimage.c: New file.
31746 * util/sparc64/ieee1275/grub-install.in: New file.
31747 * util/ieee1275/ofpath.c: New file.
31748 * util/ieee1275/devicemap.c: New file.
31749 * util/devicemap.c: New file.
31750 * util/deviceiter.c: New file.
31751 * kern/sparc64/ieee1275/init.c: New file.
31752 * include/grub/util/ofpath.h: New file.
31753 * include/grub/util/deviceiter.h: New file.
31754 * util/grub-mkdevicemap.c: Include deviceiter.h.
31755 Implement using grub_util_emit_devicemap_entry and
31756 grub_util_iterate_devices.
31757 * conf/i386-corebook.rmk: Build util/deviceiter.c and
31758 util/devicemap.c into grub-mkdevicemap
31759 * conf/i386-efi.rmk: Likewise.
31760 * conf/i386-ieee1275.rmk: Likewise.
31761 * conf/i386-pc.rmk: Likewise.
31762 * conf/powerpc-ieee1275.rmk: Likewise.
31763 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
31764 images and installation utilities. Build kernel as image
31765 instead of as elf binary. Use common rules as much as possible.
31766
7dd4a573 317672009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 31768
31769 Correct GPT definition
31770
7dd4a573 31771 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 31772 of "attrib" member
31773
c6c5219f 317742009-04-19 Felix Zielcke <fzielcke@z-51.de>
31775
31776 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
31777
0552ff9f 317782009-04-19 David S. Miller <davem@davemloft.net>
31779
31780 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
31781 (grub_rescue_cmd_linux): Rename to...
31782 (grub_cmd_linux): and fix prototype.
31783 (grub_rescue_cmd_initrd): Rename to...
31784 (grub_cmd_initrd): and fix prototype.
31785 (cmd_linux, cmd_initrd): New.
31786 (GRUB_MOD_INIT(linux)): Use grub_register_command().
31787 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
31788
d1a282fc 317892009-04-17 Pavel Roskin <proski@gnu.org>
31790
07c5039f 31791 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
31792 format.
31793 (grub_ohci_transfer): Likewise.
31794
b012002d 31795 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
31796
1bc09c35 31797 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
31798 return without a value. Fix inconsistent indentation.
31799
e0ff9126 31800 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
31801 match struct grub_fs.
31802
d1a282fc 31803 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
31804 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
31805 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31806 * commands/lspci.c (grub_lspci_iter): Likewise.
31807
a96df3f2 318082009-04-16 Bean <bean123ch@gmail.com>
31809
31810 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
31811 value.
31812
41bb0fe9 318132009-04-15 Pavel Roskin <proski@gnu.org>
31814
31815 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
31816 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
31817 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
31818 definitions.
31819
596c6970 318202009-04-15 Felix Zielcke <fzielcke@z-51.de>
31821
31822 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 31823 that no multiple data or metadata areas are supported and `Unknown
596c6970 31824 metadata header'.
31825
7dd4a573 318262009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 31827
31828 Move loader out of the kernel
31829
31830 * kern/loader.c: moved to ...
31831 * commands/boot.c: ... moved here
31832 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
31833 * commands/boot.c (grub_cmd_boot): moved here. All users updated
31834 * include/grub/kernel.h (grub_machine_fini): export
31835 * include/grub/loader.h (grub_loader_is_loaded): update declaration
31836 (grub_loader_set): likewise
31837 (grub_loader_unset): likewise
31838 (grub_loader_boot): likewise
31839 * conf/common.rmk: new module boot.mod
31840 (pkglib_MODULES): add boot.mod
31841 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
31842 (grub_emu_SOURCES): likewise
31843 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
31844 (grub_emu_SOURCES): likewise
31845 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
31846 (grub_emu_SOURCES): likewise
31847 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
31848 (grub_emu_SOURCES): likewise
31849 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
31850 (grub_emu_SOURCES): likewise
7dd4a573 31851 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
31852 (grub_emu_SOURCES): likewise
0d5d5653 31853 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 31854 (grub_emu_SOURCES): likewise
0d5d5653 31855
7dd4a573 318562009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 31857
31858 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 31859
5999d619 31860 * kern/misc.c (grub_itoa): Removed function
31861 (grub_ltoa): likewise
31862 (grub_vsprintf): use grub_lltoa
31863
7dd4a573 318642009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 31865
31866 Restore grub-emu
31867
31868 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31869 * conf/i386-coreboot.rmk: likewise
31870 * conf/i386-ieee1275.rmk: likewise
31871 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31872
20318222 318732009-04-15 Felix Zielcke <fzielcke@z-51.de>
31874
31875 * INSTALL: Add that `./autogen.sh' needs to be run before
31876 `./configure.'.
31877
d05f0df3 318782009-04-14 Bean <bean123ch@gmail.com>
31879
31880 * Makefile.in (pkglib_DATA): Add handler.lst.
31881 (handler.lst): New rule.
31882
31883 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31884 * conf/i386-coreboot.rmk: Likewise.
31885 * conf/i386-ieee1275.rmk: Likewise.
31886 * conf/i386-efi.rmk: Likewise.
31887 * conf/x86_64-efi.rmk: Likewise.
31888 * conf/powerpc-ieee1275.rmk: Likewise.
31889 * conf/sparc64-ieee1275.rmk: Likewise.
31890
31891 * genhandlerlist.sh: New file.
31892
31893 * genmk.rb: Add rules to generate handler.lst.
31894
31895 * include/grub/normal.h (grub_file_getline): New function definition.
31896 (read_handler_list): Likewise.
31897 (free_handler_list): Likewise.
31898
31899 * include/grub/term.h (grub_term_register_input): Add name parameter
31900 for auto generation of handler.lst.
31901 (grub_term_register_output): Likewise.
31902
31903 * normal/handler.c: New file.
31904
31905 * normal/main.c (get_line): Renamed to grub_file_getline.
31906 (read_config_file): Use the newly renamed grub_file_getline.
31907 (read_command_list): Likewise.
31908 (read_fs_list): Likewise.
31909 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31910 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31911
31912 * term/efi/console.c (grub_console_init): Add name parameter for auto
31913 generation of handler.lst.
31914 * term/gfxterm.c: Likewise.
31915 * term/i386/pc/at_keyboard.c: Likewise.
31916 * term/i386/pc/console.c: Likewise.
31917 * term/i386/pc/serial.c: Likewise.
31918 * term/i386/pc/vesafb.c: Likewise.
31919 * term/i386/pc/vga.c: Likewise.
31920 * term/i386/pc/vga_text.c: Likewise.
31921 * term/ieee1275/ofconsole.c: Likewise.
31922 * term/usb_keyboard.c: Likewise.
31923
33c846be 319242009-04-14 Bean <bean123ch@gmail.com>
31925
31926 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31927 properly with null character.
31928
4484e01e 319292009-04-14 Felix Zielcke <fzielcke@z-51.de>
31930
31931 * configure: Remove.
31932 * config.h.in: Likewise.
f93d668e 31933 * stamp-h.in: Likewise.
4484e01e 31934 * DISTLIST: Likewise.
31935 * conf/common.mk: Likewise.
31936 * conf/i386-coreboot.mk: Likewise.
31937 * conf/i386-efi.mk: Likewise.
31938 * conf/i386-ieee1275.mk: Likewise.
31939 * conf/i386.mk: Likewise.
31940 * conf/i386-pc.mk: Likewise.
31941 * conf/powerpc-ieee1275.mk: Likewise.
31942 * conf/sparc64-ieee1275.mk: Likewise.
31943 * conf/x86_64-efi.mk: Likewise.
31944
31945 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31946 develop on GRUB.
31947
7dd4a573 319482009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 31949 David S. Miller <davem@davemloft.net>
31950
31951 * util/hostdisk.c (make_device_name): Fix buffer length
31952 calculations.
31953
e25b5a8c 319542009-04-14 Felix Zielcke <fzielcke@z-51.de>
31955
31956 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31957 <sys/param.h> and <sys/sysctl.h>.
31958 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31959 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31960 opening the device and reset them afterwards.
31961
1f1f580c 319622009-04-13 Pavel Roskin <proski@gnu.org>
31963
31964 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31965 Reported by John Stanley <jpsinthemix@verizon.net>
31966
7ebc2d6b 319672009-04-13 Robert Millan <rmh@aybabtu.com>
31968
31969 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 31970 that name for menuentries when appropriate.
7ebc2d6b 31971
d8ba3667 319722009-04-13 Felix Zielcke <fzielcke@z-51.de>
31973
31974 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31975
cba416eb 319762009-04-13 Robert Millan <rmh@aybabtu.com>
31977
31978 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31979 to Linux, simply abort telling the user it's no longer supported.
31980
a547a745 319812009-04-13 Felix Zielcke <fzielcke@z-51.de>
31982
31983 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 31984 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 31985 `freebsd_loadenv' only when devices.hints exist.
31986
232a769c 319872009-04-13 Pavel Roskin <proski@gnu.org>
31988
31989 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31990
c3012039 319912009-04-13 Felix Zielcke <fzielcke@z-51.de>
31992
31993 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31994 partition number.
31995 (grub_drive): Likewise.
31996
234022fe 319972009-04-13 David S. Miller <davem@davemloft.net>
31998
31999 * kern/sparc64/ieee1275/ieee1275.c: New file.
32000 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
32001 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
32002 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
32003 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
32004 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
32005 grub_ieee1275_alloc_physmem): Declare new exported functions.
32006
d8e1836c 32007 * include/grub/sparc64/ieee1275/loader.h: New file.
32008 * include/grub/sparc64/ieee1275/memory.h: Likewise.
32009 * include/grub/sparc64/kernel.h: Likewise.
32010 * loader/sparc64/ieee1275/linux.c: Likewise.
32011
96bd81ec 32012 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
32013 (grub_fstest_SOURCES): Likewise.
32014
6a4737e5 32015 * util/hostdisk.c (make_device_name): Do not make any assumptions
32016 about the length of drive names.
32017
1d7a72fd 32018 * kern/dl.c (grub_dl_load_file): Close file immediately when
32019 we are done using it.
32020
56bc2471 320212009-04-12 David S. Miller <davem@davemloft.net>
32022
32023 * kern/misc.c (grub_ltoa): Fix cast when handling negative
32024 values. Noticed by Pavel Roskin.
32025
df38d0bb 32026 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
32027 target compiler.
7dd4a573 32028
e382e93a 32029 * genmk.rb: Add more flexible image type specification, also
32030 pass --strip-unneeded to objcopy.
32031 * conf/i386-pc.rmk: Use *_FORMAT.
32032 * conf/i386-pc.mk: Rebuilt.
32033
f5dbbca9 32034 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
32035 (OFDISK_HASH_SZ): Define.
32036 (ofdisk_hash): New hash table.
32037 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
32038 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
32039 instead of device phandle which is not unique.
32040
91c88b12 32041 * kern/sparc64/ieee1275/init.c: Delete, replace with...
32042 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
32043 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
32044 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
32045 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
32046 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
32047 GRUB_KERNEL_MACHINE_DATA_END): Define.
32048 (grub_kernel_image_size, grub_total_module_size): Declare.
32049
5b5d4aa5 320502009-04-12 Pavel Roskin <proski@gnu.org>
32051
7dd4a573 32052 * configure.ac: Change the logic when we check for target tools.
32053 Do it when the target is specified and it's different from the
32054 specified value of the host.
5b5d4aa5 32055
c91e1793 320562009-04-11 Felix Zielcke <fzielcke@z-51.de>
32057
32058 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
32059 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
32060 GNU/kFreeBSD. Check if a device is a character device. Use
32061 DIOCGMEDIASIZE to get the size.
32062 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
32063 support for GNU/kFreeBSD.
32064 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
32065 is a character device instead of a block device. Add support for
32066 FreeBSD device names.
32067
32068 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
32069 is a character device instead of a block device.
32070
32071 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
32072 is a character device instead of a block device.
32073
b1ac8644 320742009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
32075
32076 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
32077 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
32078 FreeBSD. Check if a device is a character device. Use
32079 DIOCGMEDIASIZE to get the size.
32080 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
32081 support for FreeBSD.
32082 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
32083 is a character device instead of a block device. Add support for
32084 FreeBSD device names.
32085
32086 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
32087 a character device instead of a block device.
32088 (grub_util_check_char_device): New function.
32089
32090 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
32091 a character device instead of a block device.
32092
32093 * include/grub/util/getroot.h (grub_util_check_char_device): New
32094 prototype.
32095
a3f7515a 320962009-04-11 David S. Miller <davem@davemloft.net>
32097
32098 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
32099 static libgcc.
32100 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
32101 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
32102 function, if present.
32103 (__bswapdi2): Likewise.
32104
0d44993d 32105 * include/grub/sparc64/ieee1275/boot.h: New file.
32106 * boot/sparc64/ieee1275/boot.S: Likewise.
32107 * boot/sparc64/ieee1275/diskboot.S: Likewise.
32108
ed3d2bc2 32109 * kern/misc.c (grub_ltoa): New function.
32110 (grub_vsprintf): Use it to format 'long' integers.
32111
d3bfb59c 321122009-04-10 David S. Miller <davem@davemloft.net>
32113
32114 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
32115 slots are of type grub_ieee1275_cell_t.
32116 (grub_nand_read): Likewise.
32117 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
32118 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
32119 macros are used to compare values in arg/ret block of the call.
32120 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32121 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
32122 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
32123 grub_ieee1275_instance_to_path, grub_ieee1275_write,
32124 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
32125 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
32126 grub_ieee1275_close, grub_ieee1275_set_property,
32127 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
32128 grub_ieee1275_cell_t.
32129 * kern/ieee1275/openfw.c (grub_map): Likewise.
32130 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
32131 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
32132
450e2238 32133 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
32134 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
32135 (grub_devalias_iterate): Likewise.
32136
7dd4a573 321372009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 32138
32139 UFS improvements
32140
32141 * fs/ufs.c (INODE_NBLOCKS): new definition
32142 (struct grub_ufs_dirent): added fields for non-BSD dirents
32143 (grub_ufs_get_file_block): fixed double indirect handling
32144 (grub_ufs_lookup_symlink): use more robust way to determine whether
32145 symlink is inline
32146 (grub_ufs_find_file): support for non-BSD dirents
32147 (grub_ufs_dir): support for non-BSD dirents
32148
e7e6862a 321492009-04-10 Bean <bean123ch@gnail.com>
32150
32151 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
32152 attribute, otherwise the size would be wrong for i386 platform.
32153
32154 * include/grub/pci.h (grub_pci_read_word): New inline function.
32155 (grub_pci_read_byte): Likewise.
32156 (grub_pci_write): Likewise.
32157 (grub_pci_write_word): Likewise.
32158 (grub_pci_write_byte): Likewise.
32159
32160 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
32161
32162 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
32163 (find_framebuf): Scan pci to locate the frame buffer address.
32164
32165 * commands/efi/fixvideo.c: New file.
32166
32167 * commands/efi/loadbios.c: Likewise.
32168
32169 * commands/memrw.c: Likewise.
32170
32171 * util/grub-dumpbios.in: Likewise.
32172
32173 * conf/common.rmk (grub-dumpbios): New utility.
32174 (pkglib_MODULES): New module memrw.mod.
32175 (memrw_mod_SOURCE): New macro.
32176 (memrw_mod_CFLAGS): Likewise.
32177 (memrw_mod_LDFLAGS): Likewise.
32178
7dd4a573 32179 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 32180 fixvideo.mod.
32181 (loadbios_mod_SOURCE): New macro.
32182 (loadbios_mod_CFLAGS): Likewise.
32183 (loadbios_mod_LDFLAGS): Likewise.
32184 (fixvideo_mod_SOURCE): Likewise.
32185 (fixvideo_mod_CFLAGS): Likewise.
32186 (fixvideo_mod_LDFLAGS): Likewise.
32187
7dd4a573 32188 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 32189 fixvideo.mod.
32190 (loadbios_mod_SOURCE): New macro.
32191 (loadbios_mod_CFLAGS): Likewise.
32192 (loadbios_mod_LDFLAGS): Likewise.
32193 (fixvideo_mod_SOURCE): Likewise.
32194 (fixvideo_mod_CFLAGS): Likewise.
32195 (fixvideo_mod_LDFLAGS): Likewise.
32196
af63ada2 321972009-04-08 Felix Zielcke <fzielcke@z-51.de>
32198
32199 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
32200
c2cdde70 322012009-04-07 David S. Miller <davem@davemloft.net>
32202
32203 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
32204 support for R_SPARC_OLO10 relocations. Fix compile warning for
32205 R_SPARC_WDISP30 case.
ea3f72cf 32206 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 32207
761319cf 322082009-04-06 Pavel Roskin <proski@gnu.org>
32209
1007d1f5 32210 * include/grub/misc.h (ARRAY_SIZE): New macro.
32211 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
32212 New macro.
32213 * loader/i386/linux.c (allocate_pages): Use free_pages().
32214 (grub_linux_unload): Don't use free_pages().
32215 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
32216 wrong index. Treat all other modes as text modes.
32217 (grub_cmd_linux): Initialize vid_mode unconditionally to
32218 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
32219
761319cf 32220 * commands/help.c (print_command_help): Use cmd->prio, not
32221 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
32222
ea761d40 322232009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 32224
ea761d40 32225 Parttool
32226
32227 * parttool/pcpart.c: new file
32228 * commands/parttool.c: likewise
32229 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
32230 (parttool_mod_SOURCES): new variable
32231 (parttool_mod_CFLAGS): likewise
32232 (parttool_mod_LDFLAGS): likewise
32233 (pcpart_mod_SOURCES): likewise
32234 (pcpart_mod_CFLAGS): likewise
32235 (pcpart_mod_LDFLAGS): likewise
7dd4a573 32236 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 32237 and parttool/pcpart.c
32238 * conf/i386-efi.rmk: likewise
32239 * conf/i386-ieee1275.rmk: likewise
32240 * conf/i386-pc.rmk: likewise
32241 * conf/powerpc-ieee1275.rmk: likewise
32242 * conf/sparc64-ieee1275.rmk: likewise
32243 * conf/x86_64-ieee1275.rmk: likewise
32244
05aaebfb 322452009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32246
32247 Support for mtime and further expandability of dir command
32248
32249 * include/grub/lib/datetime.h: moved to ...
7dd4a573 32250 * include/grub/datetime.h: ... moved here and added
05aaebfb 32251 declaration of grub_unixtime2datetime. All users updated
7dd4a573 32252 * include/grub/fs.h: new syntax for dir and mtime functions in
32253 struct grub_fs
05aaebfb 32254 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
32255 and GRUB_FSHELP_FLAGS_MASK
32256 * commands/ls.c (grub_ls_list_files): Write mtime in long format
32257 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
32258 (grub_ext2_mtime): new function
32259 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
32260 (grub_hfsplus_mtime): new function
32261 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
32262 (GRUB_UFS_ATTR_FILE): likewise
32263 (GRUB_UFS_ATTR_LNK): likewise
32264 (struct grub_ufs_sblock): new fields mtime
32265 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
32266 all users updated
32267 (grub_ufs_dir): mtime support
32268 (grub_ufs_mtime): new function
32269 * fs/affs.c (grub_affs_dir): use new dir syntax
32270 * fs/afs.c (grub_afs_dir): likewise
32271 * fs/cpio.c (grub_cpio_dir): likewise
32272 * fs/fat.c (grub_fat_find_dir): likewise
32273 * fs/hfs.c (grub_hfs_dir): likewise
32274 * fs/iso9660.c (grub_iso9660_dir): likewise
32275 * fs/jfs.c (grub_jfs_dir): likewise
32276 * fs/minix.c (grub_minix_dir): likewise
32277 * fs/ntfs.c (grub_ntfs_dir): likewise
32278 * fs/reiserfs.c (grub_reiserfs_dir): likewise
32279 * fs/sfs.c (grub_sfs_dir): likewise
32280 * fs/xfs.c (grub_xfs_dir): likewise
32281 * util/hostfs.c (grub_hostfs_dir): likewise
32282 * lib/datetime.c: moved to ...
32283 * normal/datetime.c: ... moved here
32284 (grub_unixtime2datetime): new function
32285 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 32286 * normal/completion.c (iterate_dir): use new dir syntax
32287 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 32288 last modification time of a volume
7dd4a573 32289 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 32290 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 32291 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 32292 (normal_mod_SOURCES): likewise
32293 (datetime_mod_SOURCES): Removed lib/datetime.c
32294 * conf/i386-efi.rmk: likewise
7dd4a573 32295 * conf/i386-ieee1275.rmk: likewise
05aaebfb 32296 * conf/i386-pc.rmk: likewise
32297 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 32298 * conf/sparc64-ieee1275.rmk: likewise
32299 * conf/x86_64-efi.rmk: likewise
05aaebfb 32300
8a7e1a14 323012009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32302
32303 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 32304
32305 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 32306 on grub_fat_find_dir
32307 (grub_fat_find_dir): use grub_fat_iterate_dir
32308 (grub_fat_label): likewise
32309
04186a9c 323102009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
32311
7dd4a573 32312 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 32313 and command.h
32314 remove extraneous kernel_elf_HEADERS
32315
da4c0bb6 323162009-04-04 Bean <bean123ch@gnail.com>
32317
32318 * include/grub/util/misc.h: Add dummy function fsync for mingw.
32319
32320 * util/misc.c: Likewise.
32321
54ad9555 323222009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32323
32324 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
32325 instead of grub_printf.
32326
7a6bf9f2 323272009-04-03 Robert Millan <rmh@aybabtu.com>
32328
32329 * loader/i386/linux.c (grub_linux_setup_video): Fill
32330 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
32331 values from `mode info' structure instead of hardcoded
32332 values.
32333
3fcc2083 323342009-04-01 Pavel Roskin <proski@gnu.org>
32335
32336 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
32337 unused now.
32338 * genmk.rb: Likewise.
32339 * configure.ac: Likewise.
32340
5ec9740b 323412009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
32342
32343 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
32344 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
32345
5270cec8 323462009-04-01 David S. Miller <davem@davemloft.net>
32347
32348 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 32349 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 32350 (grub_setjmp): Mark with 'returns_twice' attribute.
32351 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
32352 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
32353 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
32354
9c3dd854 323552009-04-01 Robert Millan <rmh@aybabtu.com>
32356
32357 Reapply fix from 2008-07-28 which was accidentally reverted; also
32358 perform the same fix to a similar check in same function.
32359
32360 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32361 with the same number are found, just use issue a warning with
32362 grub_dprintf(), as this error has been reported to be non-fatal.
32363
0d818b7e 323642009-03-31 Pavel Roskin <proski@gnu.org>
32365
32366 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
32367 for cross-compilation.
32368
95646d92 323692009-03-30 Robert Millan <rmh@aybabtu.com>
32370
32371 Fix i386-ieee1275 build.
32372
32373 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
32374 Remove declaration.
32375
6a003ed1 323762009-03-30 Pavel Roskin <proski@gnu.org>
32377
32378 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
32379 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
32380 zero-terminated, rely only on the strlen value. Fix comparison
32381 of strings differing in length.
32382
92f33540 323832009-03-30 Robert Millan <rmh@aybabtu.com>
32384
32385 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
32386 checking for abi version. Improve error messages on BIOS to notify
32387 user about `linux16' command.
32388
a8c48fd5 323892009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
32390
f968172e 32391 Leak fixes
a8c48fd5 32392
f968172e 32393 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
32394 in case of collision
32395 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 32396
9c323f09 323972009-03-29 Robert Millan <rmh@aybabtu.com>
32398
32399 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
32400 set `vid_mode' accordingly.
32401 (grub_linux_boot): Process `vid_mode' and set video mode.
32402
ae68f423 324032009-03-29 Robert Millan <rmh@aybabtu.com>
32404
32405 * util/grub.d/10_linux.in (linux_entry): New function.
32406 Factorize generation of Linux boot entries.
32407
5709cfc4 324082009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
32409
32410 Make the format of Environment Block plain text. The boot loader
32411 part is not tested well yet.
7dd4a573 32412
5709cfc4 32413 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
32414 (buffer): Removed.
32415 (envblk): Likewise.
32416 (usage): Remove "info" and "clear". Add "unset". Update the
32417 description of "set", as this does not delete variables any
32418 longer.
32419 (create_envblk_file): Complete rewrite.
32420 (open_envblk_file): Likewise.
32421 (cmd_info): Removed.
32422 (cmd_list): Likewise.
32423 (cmd_set): Likewise.
32424 (cmd_clear): Likewise.
32425 (list_variables): New function.
32426 (write_envblk): Likewise.
32427 (set_variables): Likewise.
32428 (unset_variables): Likewise.
32429 (main): Complete rewrite.
32430
32431 * commands/loadenv.c (buffer): Removed.
32432 (envblk): Likewise.
32433 (open_envblk_file): New function.
32434 (read_envblk_file): Complete rewrite.
32435 (grub_cmd_load_env): Likewise.
32436 (grub_cmd_list_env): Likewise.
32437 (struct blocklist): New struct.
32438 (free_blocklists): New function.
32439 (check_blocklists): Likewise.
32440 (write_blocklists): Likewise.
32441 (grub_cmd_save_env): Complete rewrite.
32442
32443 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
32444 a plain text signature.
32445 (GRUB_ENVBLK_MAXLEN): Removed.
32446 (struct grub_envblk): Complete rewrite.
32447 (grub_envblk_find): Removed.
32448 (grub_envblk_insert): Likewise.
32449 (grub_envblk_open): New prototype.
32450 (grub_envblk_set): Likewise.
32451 (grub_envblk_delete): Put const to VALUE.
32452 (grub_envblk_iterate): Put const to NAME and VALUE.
32453 (grub_envblk_close): New prototype.
32454 (grub_envblk_buffer): New inline function.
32455 (grub_envblk_size): Likewise.
32456
32457 * lib/envblk.c: Include grub/mm.h.
32458 (grub_env_find): Removed.
32459 (grub_envblk_open): New function.
32460 (grub_envblk_close): Likewise.
32461 (escaped_value_len): Likewise.
32462 (find_next_line): Likewise.
32463 (grub_envblk_insert): Removed.
32464 (grub_envblk_set): New function.
32465 (grub_envblk_delete): Complete rewrite.
32466 (grub_envblk_iterate): Likewise.
32467
a9368fd3 324682009-03-28 Robert Millan <rmh@aybabtu.com>
32469
32470 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
32471 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
32472 variables. Use 16-bit loader.
32473 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
32474 loader.
32475 * kern/i386/loader.S (grub_linux_boot): Rename to ...
32476 (grub_linux16_boot): ... this. Update all users.
32477 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
32478 (grub_linux_boot): ... this. Update all users.
32479
32480 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
32481 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
32482 commands to `linux16' and `initrd16'.
32483 (GRUB_MOD_FINI(linux)): Rename to ...
32484 (GRUB_MOD_FINI(linux16)): ... this.
32485
e4dd5a7e 324862009-03-24 Pavel Roskin <proski@gnu.org>
32487
32488 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
32489 not just for compilation.
32490
c04d6e05 324912009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
32492
32493 Move multiboot helper out of kernel
32494
32495 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
32496 `loader/i386/multiboot_helper.S'.
32497 * conf/i386-coreboot.rmk: Likewise
32498 * conf/i386-ieee1275.rmk: Likewise
32499
32500 * kern/i386/loader.S: Move multiboot helpers from here...
32501 * loader/i386/multiboot_helper.S: ...moved here
32502 * include/grub/i386/loader.h: Move declarations of multiboot
32503 helpers from here...
32504 * include/grub/i386/multiboot.h: ...moved here
32505 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
32506
42a5b3fc 325072009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32508
32509 * kern/env.c (grub_env_context_open): Added an argument to specify
32510 whether a new context inherits exported variables from current
32511 one. This is useful when making a sandbox to interpret a config
32512 file.
32513 All callers updated.
32514
32515 * include/grub/env.h (grub_env_context_open): Updated the prototype.
32516
b28bbc4e 325172009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32518
32519 * kern/env.c (grub_env_context_close): Fix memory leaks.
32520
f04f02e4 325212009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32522
32523 * normal/main.c (grub_normal_execute): Added an argument
32524 BATCH to specify if an interactive interface should be provided
32525 after reading a config file.
32526 All callers updated.
32527 (read_command_list): Prevent being executed twice.
32528 (read_fs_list): Likewise.
32529
42a5b3fc 32530 * include/grub/normal.h (grub_normal_execute): Updated the
32531 prototype.
f04f02e4 32532
41473ac2 325332009-03-22 Pavel Roskin <proski@gno.org>
32534
fbc00b0c 32535 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
32536 _start.
32537 * kern/i386/pc/startup.S: Likewise.
32538 * kern/i386/efi/startup.S: Likewise.
32539 * kern/i386/ieee1275/startup.S: Likewise.
32540 * kern/i386/coreboot/startup.S: Likewise.
32541 * kern/x86_64/efi/startup.S: Likewise.
32542
41473ac2 32543 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
32544 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
32545 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
32546
2274cc8f 325472009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
32548
32549 Bugfixes in multiboot for bugs uncovered by solaris kernel.
32550
32551 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
32552 limit detection.
32553 Use vaddr of correct segment for entry_point.
32554
b1b797cb 325552009-03-21 Bean <bean123ch@gmail.com>
32556
32557 * commands/blocklist.c: Add include file <grub/command.h>, remove
32558 <grub/normal.h> and <grub/arg.h>.
32559 (grub_cmd_blocklist): Use the new command interface.
32560 (GRUB_MOD_INIT): Likewise.
32561 (GRUB_MOD_FINI): Likewise.
32562 * commands/boot.c: Likewise.
32563 * commands/cat.c: Likewise.
32564 * commands/cmp.c: Likewise.
32565 * commands/configfile.c: Likewise.
32566 * commands/crc.c: Likewise.
32567 * commands/echo.c: Likewise.
32568 * commands/halt.c: Likewise.
32569 * commands/handler.c: Likewise.
32570 * commands/hdparm.c: Likewise.
32571 * commands/help.c: Likewise.
32572 * commands/hexdump.c: Likewise.
32573 * commands/loadenv.c: Likewise.
32574 * commands/ls.c: Likewise.
32575 * commands/lsmmap.c: Likewise.
32576 * commands/lspci.c: Likewise.
32577 * commands/loadenv.c: Likewise.
32578 * commands/read.c: Likewise.
32579 * commands/reboot.c: Likewise.
32580 * commands/search.c: Likewise.
32581 * commands/sleep.c: Likewise.
32582 * commands/test.c: Likewise.
32583 * commands/usbtest.c: Likewise.
32584 * commands/videotest.c: Likewise.
32585 * commands/i386/cpuid.c: Likewise.
32586 * commands/i386/pc/halt.c: Likewise.
32587 * commands/i386/pc/play.c: Likewise.
32588 * commands/i386/pc/pxecmd.c: Likewise.
32589 * commands/i386/pc/vbeinfo.c: Likewise.
32590 * commands/i386/pc/vbetest.c: Likewise.
32591 * commands/ieee1275/suspend.c: Likewise.
32592 * disk/loopback.c: Likewise.
32593 * font/font_cmd.c: Likewise.
32594 * hello/hello.c: Likewise.
32595 * loader/efi/appleloader.c: Likewise.
32596 * loader/efi/chainloader.c: Likewise.
32597 * loader/i386/bsd.c: Likewise.
32598 * loader/i386/efi/linux.c: Likewise.
32599 * loader/i386/ieee1275/linux.c: Likewise.
32600 * loader/i386/linux.c: Likewise.
32601 * loader/i386/pc/chainloader.c: Likewise.
32602 * loader/i386/pc/linux.c: Likewise.
32603 * loader/powerpc/ieee1275/linux.c: Likewise.
32604 * loader/multiboot_loader.c: Likewise.
32605 * term/gfxterm.c: Likewise.
32606 * term/i386/pc/serial.c: Likewise.
32607 * term/terminfo.c: Likewise.
32608
32609 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
32610 * term/i386/pc/vga.c: Likewise.
32611 * video/readers/jpeg.c: Likewise.
32612 * video/readers/png.c: Likewise.
32613 * video/readers/tga.c: Likewise.
32614
32615 * util/grub-fstest (cmd_loopback): Removed.
32616 (cmd_blocklist): Likewise.
32617 (cmd_ls): Likewise.
32618 (grub_register_command): Likewise.
32619 (grub_unregister_command): Likewise.
32620 (execute_command): Use grub_command_find to locate command and execute
32621 it.
32622
32623 * include/grub/efi/chainloader.h: Removed.
32624 * loader/efi/chainloader_normal.c: Likewise.
32625 * loader/i386/bsd_normal.c: Likewise.
32626 * loader/i386/pc/chainloader_normal.c: Likewise.
32627 * loader/i386/pc/multiboot_normal.c: Likewise.
32628 * loader/linux_normal.c: Likewise.
32629 * loader/multiboot_loader_normal.c: Likewise.
32630 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32631
32632 * gencmdlist.sh: Scan new registration command grub_register_extcmd
32633 and grub_register_command_p1.
32634
32635 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
32636 kern/command.c, lib/arg.c and commands/extcmd.c.
32637 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
32638 (minicmd_mod_SOURCES): New variable.
32639 (minicmd_mod_CFLAGS): Likewise.
32640 (minicmd_mod_LDFLAGS): Likewise.
32641 (extcmd_mod_SOURCES): Likewise.
32642 (extcmd_mod_CFLAGS): Likewise.
32643 (extcmd_mod_LDFLAGS): Likewise.
32644 (boot_mod_SOURCES): Removed.
32645 (boot_mod_CFLAGS): Likewise.
32646 (boot_mod_LDFLAGS): Likewise.
32647
32648 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
32649 kern/corecmd.c.
32650 (kernel_img_HEADERS): Add command.h.
32651 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
32652 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
32653 and lib/arg.c.
32654 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
32655 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
32656 remove the corresponding normal mode command.
32657 (normal_mod_SOURCES): Remove normal/arg.c.
32658 * conf/i386-coreboot.rmk: Likewise.
32659 * conf/i386-efi.rmk: Likewise.
32660 * conf/i386-ieee1275.rmk: Likewise.
32661 * conf/powerpc-ieee1275.rmk: Likewise.
32662 * conf/x86_64-efi.rmk: Likewise.
32663
32664 * include/grub/arg.h: Move from here ...
32665 * include/grub/lib/arg.h: ... to here.
32666
32667 * normal/arg.c: Move from here ...
32668 * lib/arg.c: ... to here.
32669
32670 * commands/extcmd.c: New file.
32671 * commands/minicmd.c: Likewise.
32672 * include/grub/command.h: Likewise.
32673 * include/grub/extcmd.h: Likewise.
32674 * kern/command.c: Likewise.
32675 * kern/corecmd.c: Likewise.
32676
32677 * kern/list.c (grub_list_iterate): Return int instead of void.
32678 (grub_list_insert): New function.
32679 (grub_prio_list_insert): Likewise.
32680
32681 * kern/rescue.c (grub_rescue_command): Removed.
32682 (grub_rescue_command_list): Likewise.
32683 (grub_rescue_register_command): Likewise.
32684 (grub_rescue_unregister_command): Likewise.
32685 (grub_rescue_cmd_boot): Move to minicmd.c
32686 (grub_rescue_cmd_help): Likewise.
32687 (grub_rescue_cmd_info): Likewise.
32688 (grub_rescue_cmd_boot): Likewise.
32689 (grub_rescue_cmd_testload): Likewise.
32690 (grub_rescue_cmd_dump): Likewise.
32691 (grub_rescue_cmd_rmmod): Likewise.
32692 (grub_rescue_cmd_lsmod): Likewise.
32693 (grub_rescue_cmd_exit): Likewise.
32694 (grub_rescue_print_devices): Moved to corecmd.c.
32695 (grub_rescue_print_files): Likewise.
32696 (grub_rescue_cmd_ls): Likewise.
32697 (grub_rescue_cmd_insmod): Likewise.
32698 (grub_rescue_cmd_set): Likewise.
32699 (grub_rescue_cmd_unset): Likewise.
7d074e3c 32700 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 32701 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 32702 commands, remove grub_rescue_register_command calls.
b1b797cb 32703
7d074e3c 32704 * normal/command.c (grub_register_command): Removed.
b1b797cb 32705 (grub_unregister_command): Likewise.
32706 (grub_command_find): Likewise.
32707 (grub_iterate_commands): Likewise.
32708 (rescue_command): Likewise.
32709 (export_command): Moved to corecmd.c.
32710 (set_command): Removed.
32711 (unset_command): Likewise.
32712 (insmod_command): Likewise.
32713 (rmmod_command): Likewise.
32714 (lsmod_command): Likewise.
32715 (grub_command_init): Likewise.
32716
32717 * normal/completion.c (iterate_command): Use cmd->prio to check for
32718 active command.
32719 (complete_arguments): Use grub_extcmd_t structure to find options.
32720 (grub_normal_do_completion): Change function grub_iterate_commands to
32721 grub_command_iterate.
32722
32723 * normal/execute.c (grub_script_execute_cmd): No need to parse
32724 argument here.
32725
32726 * normal/main.c (grub_dyncmd_dispatcher): New function.
32727 (read_command_list): Register unload commands as dyncmd.
32728 (grub_cmd_normal): Use new command interface, register rescue,
32729 unregister normal at entry, register normal, unregister rescue at exit.
32730
32731 * include/grub/list.h (grub_list_test_t): New type.
32732 (grub_list_iterate): Return int instead of void.
32733 (grub_list_insert): New function.
32734 (GRUB_AS_NAMED_LIST_P): New macro.
32735 (GRUB_AS_PRIO_LIST): Likewise.
32736 (GRUB_AS_PRIO_LIST_P): Likewise.
32737 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
32738 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
32739 (grub_prio_list): New structure.
32740 (grub_prio_list_insert): New function.
32741 (grub_prio_list_remove): New inline function.
32742
32743 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
32744 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
32745 (GRUB_COMMAND_FLAG_MENU): Likewise.
32746 (GRUB_COMMAND_FLAG_BOTH): Likewise.
32747 (GRUB_COMMAND_FLAG_TITLE): Likewise.
32748 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
32749 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
32750 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
32751 (grub_command): Likewise.
32752 (grub_register_command): Likewise.
32753 (grub_command_find): Likewise.
32754 (grub_iterate_commands): Likewise.
32755 (grub_command_init): Likewise.
32756 (grub_arg_parse): Likewise.
32757 (grub_arg_show_help): Likewise.
32758
32759 * include/grub/rescue.h (grub_rescue_register_command): Removed.
32760 (grub_rescue_unregister_command): Likewise.
32761
32762 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
32763 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
32764 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
32765
32766 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
32767 grub_rescue_cmd_initrd.
32768 * include/grub/i386/loader.h: Likewise.
32769 * include/grub/x86_64/loader.h: Likewise.
32770
32771 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
32772
1f4147aa 327732009-03-21 Bean <bean123ch@gmail.com>
32774
32775 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
32776 instead of stat in mingw environment.
32777
32778 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
32779
32780 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
32781
32782 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
32783 AC_CONFIG_LINKS.
32784
2156d5ba 327852009-03-21 Bean <bean123ch@gmail.com>
32786
32787 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
32788 out of range error.
32789
177b82ca 327902009-03-18 Michel Dänzer <michel@daenzer.net>
32791
32792 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
32793 checking inode flags for EXT4_EXTENTS_FLAG.
32794
14aad807 327952009-03-18 Robert Millan <rmh@aybabtu.com>
32796
32797 * loader/i386/linux.c: Include `<grub/video.h>' and
32798 `<grub/i386/pc/vbe.h>'..
32799 (grub_linux_setup_video): New function. Loosely based on the EFI one.
32800 (grub_linux32_boot): Attempt to configure video settings with
32801 grub_linux_setup_video().
32802 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
32803 to avoid grub_console_fini() which would step out of graphical mode
32804 unconditionally.
32805
8cf83a27 328062009-03-14 Robert Millan <rmh@aybabtu.com>
32807
32808 Fix build on powerpc.
32809 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
32810
40164e75 328112009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
32812
32813 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
32814 background image command.
32815
c58bc32a 328162009-03-12 Colin D Bennett <colin@gibibit.com>
32817
32818 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
32819 (grub_gfxterm_putchar): Extract pairs of identical calls to
32820 draw_cursor out of conditional blocks.
32821
5415144a 328222009-03-11 Pavel Roskin <proski@gnu.org>
32823
32824 * fs/hfs.c (grub_hfs_strncasecmp): New function.
32825 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
32826
6394042e 328272009-03-11 Robert Millan <rmh@aybabtu.com>
32828
32829 * loader/i386/multiboot_elfxx.c
32830 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
32831
b7b50e5f 328322009-03-11 Felix Zielcke <fzielcke@z-51.de>
32833
32834 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
32835 `kern/handler.c'.
32836
1ca7fc96 328372009-03-11 Robert Millan <rmh@aybabtu.com>
32838
32839 * loader/i386/multiboot.c (code_size): New variable.
32840 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 32841 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 32842 4-byte alignment to MBI and others by increasing
7d074e3c 32843 `boot_loader_name_length' appropriately.
1ca7fc96 32844
32845 * loader/i386/multiboot_elfxx.c
32846 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
32847
a83ea1d2 328482009-03-09 Felix Zielcke <fzielcke@z-51.de>
32849
32850 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
32851 `fs/ext2.c'.
32852
aa9f3bff 328532009-03-08 Robert Millan <rmh@aybabtu.com>
32854
32855 Make loader/i386/linux.c usable on i386-pc again.
32856
32857 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32858 memory to heap.
32859 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32860 `#error' stanza.
32861
d8b3b60e 328622009-03-07 Bean <bean123ch@gmail.com>
32863
32864 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32865 allocation.
32866
b362c9e9 328672009-03-06 Robert Millan <rmh@aybabtu.com>
32868
32869 Fix display issue on terminals with screen size other than 80x25
32870 (e.g. gfxterm with resolution higher than 640x480).
32871
32872 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 32873 position relative to the center of the terminal instead of relying
b362c9e9 32874 on a hardcoded offset.
32875
9304eef1 328762009-03-04 Robert Millan <rmh@aybabtu.com>
32877
32878 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32879 installed.
32880
32881 * Makefile.in (host_kernel): New variable.
32882 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32883 scripts instead of just the windows one.
32884 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32885
eabc95fb 328862009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 32887
32888 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32889 `kern/handler.c'.
32890 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32891 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32892 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32894 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32895 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32896
ceb1223c 328972009-03-04 Felix Zielcke <fzielcke@z-51.de>
32898
32899 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32900 or if there's no space for the disk label and print the partition number on a
32901 invalid magic.
32902
4910684a 329032009-03-04 Felix Zielcke <fzielcke@z-51.de>
32904
32905 * util/misc.c: Include <time.h>.
32906 (grub_millisleep): New function.
32907
7e9ca17a 329082009-03-04 Bean <bean123ch@gmail.com>
32909
32910 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32911 another option -mno-red-zone.
32912
32913 * commands/handler.c: Change module description.
32914
32915 * kern/handler.c: Add missing space at the end of description line.
32916
32917 * kern/list.c: Likewise.
32918
f501677c 329192009-03-03 Robert Millan <rmh@aybabtu.com>
32920
32921 Move more components to the relocation area, and fix mbi pointer
32922 handling to use the destination rather than the origin (thanks to
32923 Vladimir Serbinenko for spotting).
32924
32925 * loader/i386/multiboot.c (mbi_dest): New variable.
32926 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32927 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32928 relocation area.
32929
9902d047 329302009-03-01 Bean <bean123ch@gmail.com>
32931
50fb7002 32932 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 32933 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32934 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32935 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32936
32937 * loader/i386/efi/linux.c (acpi_guid): New variable.
32938 (acpi_guid): Likewise.
32939 (EBDA_SEG_ADDR): New constant.
32940 (LOW_MEM_ADDR): Likewise.
32941 (FAKE_EBDA_SEG): Likewise.
32942 (fake_bios_data): New function.
32943 (grub_linux_boot): Call fake_bios_data.
32944
71b9f361 329452009-03-01 Bean <bean123ch@gmail.com>
32946
32947 * commands/terminal.c: Removed.
32948
32949 * commands/handler.c: New file.
32950
32951 * include/grub/list.h: Likewise.
32952
32953 * include/grub/handler.h: Likewise.
32954
32955 * kern/list.c: Likewise.
32956
32957 * kern/handler.c: Likewise.
32958
32959 * kern/term.h: Include header file <grub/handler.h>.
32960 (grub_term_input): Move next field to the beginning.
32961 (grub_term_output): Likewise.
32962 (grub_term_input_class): New variable.
32963 (grub_term_output_class): Likewise.
32964 (grub_term_register_input): Changed to inline function.
32965 (grub_term_register_output): Likewise.
32966 (grub_term_unregister_input): Likewise.
32967 (grub_term_unregister_output): Likewise.
32968 (grub_term_set_current_input): Likewise.
32969 (grub_term_set_current_output): Likewise.
32970 (grub_term_get_current_input): Likewise.
32971 (grub_term_get_current_output): Likewise.
32972 (grub_term_iterate_input): Removed.
32973 (grub_term_iterate_output): Likewise.
32974
32975 * kern/term.c (grub_term_list_input): Removed.
32976 (grub_term_list_output): Likewise.
32977 (grub_term_input_class): New variable.
32978 (grub_term_output_class): Likewise.
50fb7002 32979 (grub_cur_term_input): Change variable as macro.
71b9f361 32980 (grub_cur_term_output): Likewise.
32981 (grub_term_register_input): Removed.
32982 (grub_term_register_output): Likewise.
32983 (grub_term_unregister_input): Likewise.
32984 (grub_term_unregister_output): Likewise.
32985 (grub_term_set_current_input): Likewise.
32986 (grub_term_set_current_output): Likewise.
32987 (grub_term_iterate_input): Likewise.
32988 (grub_term_iterate_output): Likewise.
32989 (grub_term_get_current_input): Likewise.
32990 (grub_term_get_current_output): Likewise.
32991
32992 * util/grub-editenv.c: Include header file <grub/handler.h>.
32993 (grub_term_get_current_input): Removed.
32994 (grub_term_get_current_output): Likewise.
32995 (grub_term_input_class): New variable.
50fb7002 32996 (grub_term_output_class): Likewise.
71b9f361 32997
32998 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32999 (grub_term_get_current_output): Likewise.
33000 (grub_term_input_class): New variable.
50fb7002 33001 (grub_term_output_class): Likewise.
71b9f361 33002
33003 * util/grub-probe.c (grub_term_get_current_input): Removed.
33004 (grub_term_get_current_output): Likewise.
33005 (grub_term_input_class): New variable.
50fb7002 33006 (grub_term_output_class): Likewise.
71b9f361 33007
33008 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
33009 (grub_term_get_current_output): Likewise.
33010 (grub_term_input_class): New variable.
50fb7002 33011 (grub_term_output_class): Likewise.
71b9f361 33012
33013 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
33014 (terminal_mod_SOURCES): Likewise.
33015 (terminal_mod_CFLAGS): Likewise.
33016 (terminal_mod_LDFLAGS): Likewise.
33017
33018 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
33019 handler.c.
33020 (kernel_img_SOURCES): Add list.c and handler.c.
33021 (kernel_img_HEADERS): Add list.h and handler.h.
33022
33023 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
33024 handler.c.
33025 (kernel_mod_SOURCES): Add list.c and handler.c.
33026 (kernel_mod_HEADERS): Add list.h and handler.h.
33027
33028 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
33029 handler.c.
33030 (kernel_elf_SOURCES): Add list.c and handler.c.
33031 (kernel_elf_HEADERS): Add list.h and handler.h.
33032
33033 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
33034 handler.c.
33035 (kernel_elf_SOURCES): Add list.c and handler.c.
33036 (kernel_elf_HEADERS): Add list.h and handler.h.
33037
33038 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
33039 handler.c.
33040 (kernel_mod_SOURCES): Add list.c and handler.c.
33041 (kernel_mod_HEADERS): Add list.h and handler.h.
33042
33043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
33044 handler.c.
33045 (kernel_elf_SOURCES): Add list.c and handler.c.
33046 (kernel_elf_HEADERS): Add list.h and handler.h.
33047
8a31787f 330482009-02-27 Robert Millan <rmh@aybabtu.com>
33049
33050 Factorize elf32 / elf64 code in Multiboot loader. This will
33051 prevent it from getting out of sync again.
33052
33053 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
33054 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
33055 grub_multiboot_load_elf64): Move from here ...
33056 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
33057 grub_multiboot_load_elf): ... to here (new file).
33058
51cd3dfc 330592009-02-27 Robert Millan <rmh@aybabtu.com>
33060
33061 * util/grub.d/10_linux.in: Rename "single-user mode" to
33062 "recovery mode".
33063
6e8c9c3a 330642009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
33065
33066 Don't leak in SCSI code.
33067 * disk/scsi.c (grub_scsi_close): free `scsi'.
33068
4b6bf4f9 330692009-02-27 Robert Millan <rmh@aybabtu.com>
33070
33071 * loader/i386/pc/multiboot.c: Move from here ...
33072 * loader/i386/multiboot.c: ... to here. Update all users.
33073
b9413424 330742009-02-27 Robert Millan <rmh@aybabtu.com>
33075
33076 Patch from Alexandre Bique <bique.alexandre@gmail.com>
33077 * util/i386/pc/grub-setup.c (setup): Fix directory path.
33078
50fb7002 330792009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 33080
33081 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
33082 b-tree.
33083
8cc50345 330842009-02-27 Robert Millan <rmh@aybabtu.com>
33085
33086 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
33087 `0x' qualifier as 0 when base is specified as parameter).
33088
6e09b8b7 330892009-02-24 Bean <bean123ch@gmail.com>
33090
33091 * configure.ac: Check for -mcmodel=large in x86_64 target.
33092
33093 * include/grub/efi/api.h (efi_call_10): New macro.
33094 (efi_wrap_10): New function.
33095
33096 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
33097 (GRUB_PE32_REL_BASED_HIGH): Likewise.
33098 (GRUB_PE32_REL_BASED_LOW): Likewise.
33099 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
33100 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
33101 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
33102 (GRUB_PE32_REL_BASED_SECTION): Likewise.
33103 (GRUB_PE32_REL_BASED_REL): Likewise.
33104 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
33105 (GRUB_PE32_REL_BASED_DIR64): Likewise.
33106 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
33107
33108 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
33109 issue.
33110
33111 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
33112 (efi_wrap_10): New function.
33113
33114 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
33115
33116 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
33117 MB/MBP model (NV chipset).
33118 (devdata_devs): Add devpath_5 to the list.
33119
33120 * load/i386/efi/linux.c (video_base): Remove variable.
33121 (RGB_MASK): New macro.
33122 (RGB_MAGIC): Likewise.
33123 (LINE_MIN): Likewise.
33124 (LINE_MAX): Likewise.
33125 (FBTEST_STEP): Likewise.
33126 (FBTEST_COUNT): Likewise.
33127 (fb_list): New variable.
33128 (grub_find_video_card): Remove function.
33129 (find_framebuf): New function.
33130 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
33131 line length.
33132
33133 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
33134 problem for x86_64.
33135
74b21bee 331362009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
33137
33138 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
33139
33140 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
33141 coding tool name.
33142
a455f472 331432009-02-22 Robert Millan <rmh@aybabtu.com>
33144
33145 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
33146 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
33147 in our relocation, instead of using it directly from heap. Also
33148 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
33149
6374daf3 331502009-02-21 Robert Millan <rmh@aybabtu.com>
33151
33152 Implement USB keyboard support (based on patch by Marco Gerards)
33153
33154 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
33155 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
33156 (usb_keyboard_mod_LDFLAGS): New variables.
33157
33158 * term/usb_keyboard.c: New file.
33159
8fa4ea70 331602009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
33161
33162 Corrected wrong declaration
33163
33164 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
33165
353976ac 331662009-02-14 Christian Franke <franke@computer.org>
33167
33168 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
33169 (grub_lspci_iter): Print class code and programming interface byte.
33170
6aa1169b 331712009-02-14 Christian Franke <franke@computer.org>
33172
33173 * gendistlist.sh: Ignore `.svn' directories.
33174
265372ca 331752009-02-14 Felix Zielcke <fzielcke@z-51.de>
33176
33177 * fs/fat.c: Add 2009 to Copyright line.
33178
9ff516f3 331792009-02-14 Christian Franke <franke@computer.org>
33180
33181 * commands/hdparm.c: New file. Provides `hdparm' command
33182 which sends ATA commands via grub_disk_ata_pass_through ().
33183
33184 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
33185
33186 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
33187 and <grub/cpu/io.h> to include/grub/ata.h.
33188 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
33189 (GRUB_CDROM_SECTOR_SIZE): Remove.
33190 (GRUB_ATA_*): Move to include/grub/ata.h.
33191 (GRUB_ATAPI_*): Likewise.
33192 (enum grub_ata_commands): Likewise.
33193 (enum grub_ata_timeout_milliseconds): Likewise.
33194 (struct grub_ata_device): Likewise.
33195 (grub_ata_regset): Likewise.
33196 (grub_ata_regget): Likewise.
33197 (grub_ata_regset2): Likewise.
33198 (grub_ata_regget2): Likewise.
33199 (grub_ata_check_ready): Likewise.
33200 (grub_ata_wait_not_busy): Remove static, exported in
33201 include/grub/ata.h.
33202 (grub_ata_wait_drq): Likewise.
33203 (grub_ata_pio_read): Likewise.
33204
33205 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
33206 function for hdparm.mod.
33207
33208 * include/grub/ata.h: New file, contains declarations from
33209 disk/ata.c.
33210 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
33211
33212 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
33213 (grub_disk_ata_pass_through): New exported variable.
33214
33215 * kern/disk.c (grub_disk_ata_pass_through): New variable.
33216
772e23da 332172009-02-13 Colin D Bennett <colin@gibibit.com>
33218
33219 Support multiple fallback entries, and provide an API to support
33220 executing default+fallback menu entries. Renamed the `terminal' menu
33221 viewer to `text'.
33222
33223 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
33224 variable declaration.
33225 (grub_menu_execute_callback): New structure declaration.
33226 (grub_menu_execute_callback_t): New typedef.
33227 (grub_menu_execute_with_fallback): New function declaration.
33228 (grub_menu_get_entry): Likewise.
33229 (grub_menu_get_timeout): Likewise.
33230 (grub_menu_set_timeout): Likewise.
33231
33232 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
33233
33234 * normal/menu.c (grub_wait_after_message): Moved to
33235 `normal/menu_text.c'.
33236 (draw_border): Likewise.
33237 (print_message): Likewise.
33238 (print_entry): Likewise.
33239 (print_entries): Likewise.
33240 (grub_menu_init_page): Likewise.
33241 (get_entry_number): Likewise.
33242 (print_timeout): Likewise.
33243 (run_menu): Likewise.
33244 (grub_menu_execute_entry): Likewise.
33245 (show_text_menu): Likewise.
33246 (get_and_remove_first_entry_number): New function.
33247 (grub_menu_execute_with_fallback): Likewise.
33248 (get_entry): Renamed to ...
33249 (grub_menu_get_entry): .. this and made it global.
33250 (get_timeout): Renamed to ...
33251 (grub_menu_get_timeout): ... this and made it global.
33252 (set_timeout): Renamed to ...
33253 (grub_menu_set_timeout): ... this and made it global.
33254 (grub_normal_terminal_menu_viewer): Renamed to ...
33255 (grub_normal_text_menu_viewer): ... this.
33256
33257 * normal/menu_text.c: New file. Extracted text-menu-specific code
33258 from normal/menu.c.
33259
33260 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
33261 (normal_mod_SOURCES): Likewise.
33262
33263 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33264 (normal_mod_SOURCES): Likewise.
33265
33266 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33267 (normal_mod_SOURCES): Likewise.
33268
33269 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
33270 (normal_mod_SOURCES): Likewise.
33271
33272 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33273 (normal_mod_SOURCES): Likewise.
33274
33275 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33276 (normal_mod_SOURCES): Likewise.
33277
33278 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33279 (normal_mod_SOURCES): Likewise.
33280
16ac430e 332812009-02-11 Robert Millan <rmh@aybabtu.com>
33282
33283 * util/grub.d/00_header.in: Update old reference to `font' command.
33284
06ff20fc 332852009-02-10 Felix Zielcke <fzielcke@z-51.de>
33286
33287 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
33288
33289 Based on patch from Javier Martín.
33290
96da9407 332912009-02-09 Felix Zielcke <fzielcke@z-51.de>
33292
33293 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 33294 to avoid false positives with FAT.
96da9407 33295 (grub_fstest_SOURCES): Likewise.
33296 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33297 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33299 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33300 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33301 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33302
6dca6fe4 333032009-02-09 Felix Zielcke <fzielcke@z-51.de>
33304
06ff20fc 33305 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 33306 bpb.version_specific.fat12_or_fat16.fstype and
33307 bpb.version_specific.fat32.fstype.
33308
2550c62f 333092009-02-08 Robert Millan <rmh@aybabtu.com>
33310
be110b30 33311 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 33312
56978920 333132009-02-08 Robert Millan <rmh@aybabtu.com>
33314
33315 * Makefile.in (host_os, host_cpu): New variables.
33316 (target_os): Remove. Update all users.
33317
d64399b5 333182009-02-08 Marco Gerards <marco@gnu.org>
33319
33320 * Makefile.in (enable_grub_emu_usb): New variable.
33321 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
33322 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
33323 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
33324 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
33325 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
33326 `usbtest.mod' and `usbms.mod'.
33327 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
33328 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
33329 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
33330 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
33331 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
33332 variables.
33333
33334 * disk/usbms.c: New file.
33335
33336 * include/grub/usb.h: Likewise.
33337
33338 * include/grub/usbtrans.h: Likewise.
33339
33340 * include/grub/usbdesc.h: Likewise.
33341
33342 * bus/usb/usbtrans.c: Likewise.
33343
33344 * bus/usb/ohci.c: Likewise.
33345
33346 * bus/usb/uhci.c: Likewise.
33347
33348 * bus/usb/usbhub.c: Likewise.
33349
33350 * bus/usb/usb.c: Likewise.
33351
33352 * commands/usbtest.c: Likewise.
33353
33354 * util/usb.c: Likewise.
50fb7002 33355
d64399b5 33356 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
33357
33358 * configure.ac: Test for libusb presence.
50fb7002 33359
d64399b5 33360 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
33361
2b40d6bb 333622009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
33363
33364 * kern/mm.c: Add more comments.
33365
73a4ce81 333662009-02-08 Robert Millan <rmh@aybabtu.com>
33367
33368 Patch from Javier Martín.
33369 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
33370 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
33371
f821ce59 333722009-02-08 Robert Millan <rmh@aybabtu.com>
33373
33374 * fs/cpio.c: Split tar functionality to ...
33375 * fs/tar.c: ... here (new file). Update all users.
33376
aebfc4b0 333772009-02-07 Robert Millan <rmh@aybabtu.com>
33378
33379 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
33380 backward-incompatible features.
33381
33382 Based on patch from Javier Martín, with some adjustments.
33383
50fb7002 333842009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 33385
33386 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
33387
0bb5115e 333882009-02-07 Robert Millan <rmh@aybabtu.com>
33389
33390 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
33391 position of `disk/lvm.c' to ensure grub_init_all() always picks it
33392 after the RAID stuff.
33393
38a0f8e7 333942009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
33395
50fb7002 33396 Fixes problem when running vbetest command as reported by
38a0f8e7 33397 Vladimir Serbinenko <phcoder@gmail.com>.
33398
33399 * (grub_vbe_set_video_mode): Fixed problem with text modes.
33400
3143cc1c 334012009-02-04 Felix Zielcke <fzielcke@z-51.de>
33402
33403 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
33404 /dev/md/NpN style mdraid devices.
33405
9cba6fce 334062009-02-03 Felix Zielcke <fzielcke@z-51.de>
33407
33408 * util/unifont2pff.rb: Remove.
33409
e507a2c1 334102009-02-03 Felix Zielcke <fzielcke@z-51.de>
33411
33412 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
33413 `#'.
33414
d2c2b4cd 334152009-02-03 Felix Zielcke <fzielcke@z-51.de>
33416
33417 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
33418 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33419 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33420 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33421 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33422 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33423 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33424
b4315fb0 334252009-02-02 Christian Franke <franke@computer.org>
33426
33427 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
33428
de3aa260 334292009-02-01 Felix Zielcke <fzielcke@z-51.de>
33430
7c3ff286 33431 * INSTALL: Note that we now require at least autoconf 2.59 and
33432 that LZO is optional.
de3aa260 33433
825a182b 334342009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33435
33436 Base on patch on bug #24154 created by Tomas Tintera
33437 <trosos@seznam.cz>.
33438
33439 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
33440
a69ef770 334412009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33442
7c3ff286 33443 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 33444 <bero@arklinux.org>.
33445
33446 * normal/parser.y (script_init): Add missing semicolon.
33447
6fa42fa6 334482009-01-31 Colin D Bennett <colin@gibibit.com>
33449
7c3ff286 33450 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 33451 (free_menu_entry_classes): Added.
33452 (grub_normal_menu_addentry): Added class property handling.
33453 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
33454 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
33455
33456 * normal/menu_viewer.c: New file.
33457
33458 * normal/menu.c (run_menu_entry): Renamed to ...
33459 (grub_menu_execute_entry): ... this and made it as global.
33460 (grub_menu_run): Renamed to ...
33461 (show_text_menu): ... this and made it local.
33462 (show_text_menu): Adapt to new function names.
33463 (grub_normal_terminal_menu_viewer): New global variable.
33464
33465 * include/grub/menu.h: New file.
33466
33467 * include/grub/menu_viewer.h: New file.
33468
33469 * include/grub/normal.h: Added include to grub/menu.h.
33470 (grub_menu_entry): Moved to include/grub/menu.h.
33471 (grub_menu_entry_t): Likewise.
33472 (grub_menu): Likewise.
33473 (grub_menu_t): Likewise.
33474 (grub_normal_terminal_menu_viewer): Added.
33475 (grub_menu_execute_entry): Likewise.
33476 (grub_menu_run): Removed.
33477
33478 * DISTLIST: Added include/grub/menu.h.
33479 Added include/grub/menu_viewer.h.
33480 Added normal/menu_viewer.c.
33481
334822009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
33483
33484 * normal/execute.c (grub_script_execute_menuentry): Changed to use
33485 arglist for menutitle arguments.
33486
33487 * normal/main.c (grub_normal_menu_addentry): Likewise.
33488
33489 * normal/parser.y (menuentry): Likewise.
33490
33491 * normal/script.c (grub_script_create_cmdmenu): Likewise.
33492
33493 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
33494 (grub_script_create_cmdmenu): Likewise.
33495
33496 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
33497
33498 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
33499 changes.
33500
33501 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
33502
33503 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
33504
33505 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
33506
33507 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33508
33509 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33510
33511 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33512
56192c23 335132009-01-30 Christian Franke <franke@computer.org>
33514
33515 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
33516 in option help text.
33517
d72521b3 335182009-01-27 Pavel Roskin <proski@gnu.org>
33519
33520 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
33521
994b5e84 335222009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33523
33524 * commands/lsmmap.c: Add include to grub/machine/memory.h.
33525
33526 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
33527
33528 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
33529 unregister function.
33530
6a7eab2c 335312009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33532
33533 * disk/scsi.c (grub_scsi_read): Fix sign problem.
33534
33535 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
33536
33537 * util/grub-mkfont.c (usage): Fix typo.
33538
33539 * util/elf/grub-mkimage.c (load_modules): Fix warning.
33540
1806b56e 335412009-01-26 Daniel Mierswa <impulze@impulze.org>
33542
3fb18f09 33543 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
33544
336e1fb9 33545 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
33546
1806b56e 33547 * kern/misc.c (grub_strcasecmp): New function.
33548 (grub_strcasecmp): Use grub_size_t instead of int for length.
33549 Fix return value.
33550 * include/grub/misc.h: Update function prototypes.
33551
580b2a0f 335522009-01-26 Robert Millan <rmh@aybabtu.com>
33553
33554 * configure.ac: Fix cross-compilation check.
ef257b36 33555
d31c24f1 335562009-01-22 Christian Franke <franke@computer.org>
33557
33558 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
33559 (precision) digit string. Allow `.format2' without `format1' (width).
33560 Limit input chars for `%s' output to `format2' if specified. This is
33561 compatible with standard printf ().
33562
3138b44c 335632009-01-22 Christian Franke <franke@computer.org>
33564
33565 * disk/ata.c (grub_ata_wait_status): Replace by ...
33566 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
33567 other status bits may be invalid while BSY is asserted.
33568 (grub_ata_check_ready): New function.
33569 (grub_ata_cmd): Removed.
33570 (grub_ata_wait_drq): New function.
33571 (grub_ata_strncpy): Remove inline.
33572 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
33573 and error check now done by grub_ata_wait_drq ().
33574 (grub_ata_pio_write): Likewise.
33575 (grub_atapi_identify): Set DEV before check for !BSY. Use
33576 grub_ata_wait_drq () to wait for data.
33577 (grub_ata_device_initialize): Add status register check to
33578 detect missing SATA slave devices. Add debug messages.
33579 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
33580 (grub_atapi_packet): Set DEV before check for !BSY. Replace
33581 transfer loop by grub_ata_pio_write ().
33582 (grub_ata_identify): Set DEV before check for !BSY. Use
33583 grub_ata_wait_drq () to wait for data.
ef257b36 33584 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 33585 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
33586 read/write in one loop. Fix invalid command on write. Fix incomplete
33587 command on (size % batch) == 0. Add missing error check after write of
33588 last block. Add debug messages.
33589 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
33590
59a64ef6 335912009-01-19 Christian Franke <franke@computer.org>
33592
33593 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
33594 (GRUB_ATAPI_IREASON_*): Likewise.
33595 (grub_ata_pio_write): Fix timeout error return.
33596 (grub_atapi_identify): Add grub_ata_wait () after cmd.
33597 (grub_atapi_wait_drq): New function.
33598 (grub_atapi_packet): New parameter `size'.
33599 Use grub_atapi_wait_drq () and direct write instead of
33600 grub_ata_pio_write ().
33601 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
33602 reads the number of bytes requested by the device for each DRQ
33603 assertion.
33604 (grub_atapi_write): Remove old implementation, return not
33605 implemented instead.
33606
1cfe20b3 336072009-01-19 Christian Franke <franke@computer.org>
33608
33609 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
33610 of 512 to calculate data size.
33611 (grub_scsi_read12): Likewise.
33612 (grub_scsi_write10): Likewise.
33613 (grub_scsi_write12): Likewise.
33614 (grub_scsi_read): Adjust size according to blocksize.
33615 Add checks for invalid blocksize and unaligned transfer.
33616
bee5fe5d 336172009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
33618
33619 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
33620
ef257b36 33621 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 33622 width glyphs.
33623
3e643f8c 336242009-01-19 Robert Millan <rmh@aybabtu.com>
33625
33626 * config.guess: Update to latest version from config git.
33627 * config.sub: Likewise.
33628
4fa80998 336292009-01-17 Felix Zielcke <fzielcke@z-51.de>
33630
33631 * Makefile.in: Change font compilation to use new grub-mkfont instead
33632 of java version.
33633
33634 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
33635 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33636 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33637 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33638 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33639 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33640 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33641 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33642 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33643
7086085b 336442009-01-16 Christian Franke <franke@computer.org>
33645
33646 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
33647 (enum grub_ata_timeout_milliseconds): New enum.
33648 (grub_ata_wait_status): Add parameter milliseconds.
33649 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
33650 recovery from timed-out commands.
33651 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
33652 return grub_errno instead of REG_ERROR.
33653 (grub_ata_pio_write): Add parameter milliseconds.
33654 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
33655 Pass milliseconds to grub_ata_wait_status () and
33656 grub_ata_pio_read ().
33657 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
33658 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
33659 grub_ata_wait_status (). Fix IDENTIFY timeout check.
33660 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
33661 It is not suitable for device detection, because DEV bit is ignored,
33662 the command may run too long, and not all devices set the signature
33663 properly.
33664 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
33665 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
33666 Fix device selection, DEV bit must be set first to address the registers
33667 of the correct device.
33668 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
33669 grub_ata_pio_read/write ().
33670 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
33671 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
33672
4a412913 336732009-01-13 Carles Pina i Estany <carles@pina.cat>
33674
33675 * util/grub-editenv.c (main): Use fseeko(), not fseek().
33676
7795c55e 336772009-01-13 Bean <bean123ch@gmail.com>
d913988c 33678
33679 * util/grub-mkfont.c (write_font): forget to remove some debug code.
33680
7795c55e 336812009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 33682
33683 * Makefile.in: (enable_grub_mkfont): New variable.
33684 (freetype_cflags): Likewise.
33685 (freetype_libs): Likewise.
33686
33687 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
33688 (grub_mkfont_SOURCES): New variable.
33689 (grub_mkfont_CFLAGS): Likewise.
33690 (grub_mkfont_LDFLAGS): Likewise.
33691
33692 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
33693 library if `--enable-grub-mkfont' is requested.
33694 (enable_grub_mkfont): New variable.
33695 (freetype_cflags): Likewise.
33696 (freetype_libs): Likewise.
33697
33698 * util/grub-mkfont.c: New file.
33699
093af1fe 337002009-01-12 Christian Franke <franke@computer.org>
33701
33702 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
33703 mode check. Fix setting of compat_use[].
33704
f36cc108 337052009-01-10 Robert Millan <rmh@aybabtu.com>
33706
33707 Update a few copyright years which we forgot to do in 2008 (only for
33708 files whose changes made in 2008 were copyright-significant)
33709
33710 * Makefile.in: Add 2008 to Copyright line.
33711 * disk/ieee1275/ofdisk.c: Likewise.
33712 * disk/efi/efidisk.c: Likewise.
33713 * kern/dl.c: Likewise.
33714 * kern/sparc64/ieee1275/init.c: Likewise.
33715 * kern/mm.c: Likewise.
33716 * kern/efi/mm.c: Likewise.
33717 * boot/i386/pc/boot.S: Likewise.
33718 * genfslist.sh: Likewise.
33719 * fs/iso9660.c: Likewise.
33720 * fs/hfs.c: Likewise.
33721 * fs/jfs.c: Likewise.
33722 * fs/minix.c: Likewise.
33723 * fs/ufs.c: Likewise.
33724 * gensymlist.sh.in: Likewise.
33725 * genkernsyms.sh.in: Likewise.
33726 * include/grub/misc.h: Likewise.
33727 * include/grub/types.h: Likewise.
33728 * include/grub/symbol.h: Likewise.
33729 * include/grub/elf.h: Likewise.
33730 * include/grub/kernel.h: Likewise.
33731 * include/grub/disk.h: Likewise.
33732 * include/grub/dl.h: Likewise.
33733 * include/grub/i386/linux.h: Likewise.
33734 * include/grub/i386/pc/biosdisk.h: Likewise.
33735 * include/grub/efi/api.h: Likewise.
33736 * include/grub/efi/pe32.h: Likewise.
33737 * include/grub/util/misc.h: Likewise.
33738 * normal/execute.c: Likewise.
33739 * normal/arg.c: Likewise.
33740 * normal/completion.c: Likewise.
33741 * normal/lexer.c: Likewise.
33742 * normal/parser.y: Likewise.
33743 * normal/misc.c: Likewise.
33744 * commands/i386/pc/vbeinfo.c: Likewise.
33745 * commands/hexdump.c: Likewise.
33746 * commands/terminal.c: Likewise.
33747 * commands/ls.c: Likewise.
33748 * commands/help.c: Likewise.
33749 * partmap/pc.c: Likewise.
33750 * loader/efi/chainloader.c: Likewise.
33751 * loader/multiboot_loader.c: Likewise.
33752 * loader/i386/pc/multiboot2.c: Likewise.
33753 * term/efi/console.c: Likewise.
33754 * term/i386/pc/serial.c: Likewise.
33755 * util/lvm.c: Likewise.
33756 * util/console.c: Likewise.
33757 * util/i386/efi/grub-mkimage.c: Likewise.
33758 * util/raid.c: Likewise.
33759
7f02114b 337602009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
33761
33762 * commands/videotest.c: Removed include to grub/machine/memory.h.
33763
33764 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
33765 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
33766 (video_mod_SOURCES): Removed.
33767 (video_mod_CFLAGS): Likewise.
33768 (video_mod_LDFLAGS): Likewise.
33769 (gfxterm_mod_SOURCES): Likewise.
33770 (gfxterm_mod_CFLAGS): Likewise.
33771 (gfxterm_mod_LDFLAGS): Likewise.
33772 (videotest_mod_SOURCES): Likewise.
33773 (videotest_mod_CFLAGS): Likewise.
33774 (videotest_mod_LDFLAGS): Likewise.
33775 (bitmap_mod_SOURCES): Likewise.
33776 (bitmap_mod_CFLAGS): Likewise.
33777 (bitmap_mod_LDFLAGS): Likewise.
33778 (tga_mod_SOURCES): Likewise.
33779 (tga_mod_CFLAGS): Likewise.
33780 (tga_mod_LDFLAGS): Likewise.
33781 (jpeg_mod_SOURCES): Likewise.
33782 (jpeg_mod_CFLAGS): Likewise.
33783 (jpeg_mod_LDFLAGS): Likewise.
33784 (png_mod_SOURCES): Likewise.
33785 (png_mod_CFLAGS): Likewise.
33786 (png_mod_LDFLAGS): Likewise.
33787
33788 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
33789 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
33790 (video_mod_SOURCES): Added.
33791 (video_mod_CFLAGS): Likewise.
33792 (video_mod_LDFLAGS): Likewise.
33793 (videotest_mod_SOURCES): Likewise.
33794 (videotest_mod_CFLAGS): Likewise.
33795 (videotest_mod_LDFLAGS): Likewise.
33796 (bitmap_mod_SOURCES): Likewise.
33797 (bitmap_mod_CFLAGS): Likewise.
33798 (bitmap_mod_LDFLAGS): Likewise.
33799 (tga_mod_SOURCES): Likewise.
33800 (tga_mod_CFLAGS): Likewise.
33801 (tga_mod_LDFLAGS): Likewise.
33802 (jpeg_mod_SOURCES): Likewise.
33803 (jpeg_mod_CFLAGS): Likewise.
33804 (jpeg_mod_LDFLAGS): Likewise.
33805 (png_mod_SOURCES): Likewise.
33806 (png_mod_CFLAGS): Likewise.
33807 (png_mod_LDFLAGS): Likewise.
33808 (gfxterm_mod_SOURCES): Likewise.
33809 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 33810 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 33811
33812 * term/gfxterm.c: Removed include to grub/machine/memory.h,
33813 grub/machine/console.h.
33814
644fff97 338152009-01-04 Jerone Young <jerone@gmail.com>
33816
33817 Make on screen instructions clearer
33818
33819 Based on patch created by Jidanni <jidanni@jidanni.org>
33820
33821 * normal/menu.c: print clearer instructions on the screen
33822
1e901a75 338232009-01-02 Colin D Bennett <colin@gibibit.com>
33824
33825 New font engine.
34c44600 33826
1e901a75 33827 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
33828 build system and fixed gfxterm.c to work with different sized fonts.
33829
33830 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 33831
1e901a75 33832 * configure: Re-generated.
34c44600 33833
1e901a75 33834 * DISTLIST: Removed font/manager.c.
33835 Added font/font.c.
33836 Added font/font_cmd.c.
34c44600 33837
1e901a75 33838 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
33839 compilation.
34c44600 33840
1e901a75 33841 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 33842
33843 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 33844
33845 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 33846
1e901a75 33847 * normal/menu.c: Likewise.
34c44600 33848
1e901a75 33849 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
33850 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 33851
1e901a75 33852 * include/grub/font.h: Replaced with new file.
34c44600 33853
1e901a75 33854 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
33855 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
33856 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
33857 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33858 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 33859 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 33860 fg_red, fg_green, fg_blue, fg_alpha.
33861 (grub_video_adapter): Removed blit_glyph.
34c44600 33862 (grub_video_blit_glyph): Removed.
33863
1e901a75 33864 * font/manager.c: Removed file.
34c44600 33865
33866 * font/font.c: New file.
33867
1e901a75 33868 * font/font_cmd.c: Likewise.
34c44600 33869
1e901a75 33870 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 33871
1e901a75 33872 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33873 (grub_video_vbe_map_rgba): Likewise.
33874 (grub_video_vbe_unmap_color_int): Likewise.
33875 (grub_video_vbe_blit_glyph): Removed.
33876 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 33877
1e901a75 33878 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33879 (get_pixel): Likewise.
34c44600 33880 (set_pixel): Likewise.
33881
1e901a75 33882 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 33883
1e901a75 33884 * term/gfxterm.c: Adapted to new font engine.
34c44600 33885
1e901a75 33886 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 33887
1e901a75 33888 * term/i386/pc/vga.c: Likewise.
34c44600 33889
1e901a75 33890 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 33891
1e901a75 33892 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 33893
1e901a75 33894 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33895
1e901a75 33896 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33897
1e901a75 33898 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 33899
1e901a75 33900 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 33901
1e901a75 33902 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 33903
1e901a75 33904 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 33905
1e901a75 33906 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33907
33908 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 33909
1e901a75 33910 * util/grub-mkconfig_lib.in: Changed font extension.
33911
278922e8 339122008-12-28 Felix Zielcke <fzielcke@z-51.de>
33913
33914 * util/getroot.c (grub_util_get_grub_dev): Add support for
33915 /dev/md/dNNpNN style partitionable mdraid devices.
33916
3ced05cf 339172008-12-12 Alex Smith <alex@alex-smith.me.uk>
33918
33919 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33920 at a time limit of the PXE TFTP API correctly.
33921 (grub_pxefs_close): Likewise.
33922
7fd0ee30 339232008-11-29 Robert Millan <rmh@aybabtu.com>
33924
34c44600 33925 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 33926 grub_ata_device_initialize() calls.
33927
34c44600 339282008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 33929
33930 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33931 iteration failed.
33932 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33933
89313780 339342008-11-28 Robert Millan <rmh@aybabtu.com>
33935
33936 Fix build on powerpc-ieee1275. Based on patch created by
33937 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33938 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33939 `kern/ieee1275/mmap.c'.
33940 * include/grub/powerpc/ieee1275/memory.h: New file.
33941
15257703 33942 Provide grub-install on coreboot.
33943 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33944 (grub_install_SOURCES): New variable.
33945 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33946 usable on coreboot.
33947
9fc5388a 339482008-11-25 Felix Zielcke <fzielcke@z-51.de>
33949
33950 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33951 to `grub_term_input_t'.
33952 (grub_term_get_current_output): Change return type to
33953 `grub_term_output_t'.
33954
bc3a2f31 339552008-11-22 Robert Millan <rmh@aybabtu.com>
33956
34c44600 33957 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 33958 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33959 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33960 grub_vga_text_cls().
33961
80fc88f2 33962 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 33963 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 33964
cbf36fd3 33965 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33966 to 0x200000 (avoids trouble with some OFW implementations, and matches
33967 with the one in Yaboot).
33968 Reported by Manoel Abranches
33969
73e8e268 339702008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 33971
33972 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33973 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33974
73e8e268 33975 * util/grub-mkconfig_lib.in (grub_warn): New function.
33976 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33977 warnings, to obtain consistent formatting.
33978 * util/grub.d/00_header.in: Likewise.
33979 * util/update-grub_lib.in: Likewise.
33980
e94045a1 33981 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 33982 Move comment text to `#error' stanza.
e94045a1 33983
79d29fd7 33984 Harmonize ieee1275's grub_available_iterate() with the generic
33985 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33986 build problem on i386-ieee1275):
33987 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33988 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33989 parameter `type'. Update all users of this function.
33990 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33991 `kern/ieee1275/mmap.c'.
33992 * kern/ieee1275/init.c
33993 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33994 with ...
33995 (grub_machine_mmap_iterate): ... this.
33996 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33997 return type to `grub_err_t'. Update all implementations of this
33998 function prototype.
33999 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
34000 Likewise.
34001
60d6b16e 34002 Add `lsmmap' command (lists firmware-provided memory map):
34003 * commands/lsmmap.c: New file.
34004 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
34005 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
34006 variables.
34007 * conf/powerpc-ieee1275.rmk: Likewise.
34008 * conf/i386-coreboot.rmk: Likewise.
34009 * conf/i386-ieee1275.rmk: Likewise.
34010
ebaaf49b 340112008-11-19 Robert Millan <rmh@aybabtu.com>
34012
34013 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 34014 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
34015 constraints to initrd allocation (based on code from
34016 loader/i386/pc/linux.c). Without them, initrd was allocated too high
34017 for Linux to find it.
ebaaf49b 34018
dfab719f 340192008-11-14 Robert Millan <rmh@aybabtu.com>
34020
34021 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
34022 order to cope with duplicate slashes.
34023
10fc3eb9 340242008-11-14 Robert Millan <rmh@aybabtu.com>
34025
34026 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
34027 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
34028 don't want to mess with lower memory, because it is used in the Linux
34029 loader.
34030
34031 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 34032 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 34033 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
34034 is in our heap (probably as a result of it being corrupted during
2f2a3442 34035 decompression). Add #error instance with comment to explain why this
34036 loader isn't currently usable on PC/BIOS.
10fc3eb9 34037
e2e07847 340382008-11-14 Robert Millan <rmh@aybabtu.com>
34039
34040 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 34041 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 34042
fe8e8d69 340432008-11-12 Robert Millan <rmh@aybabtu.com>
34044
34045 Make loader/i386/linux.c buildable on i386-pc (although disabled).
34046
34047 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
34048 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
34049 from here ...
34050 * include/grub/i386/pc/memory.h: ... to here.
34051
976b07d0 340522008-11-12 Robert Millan <rmh@aybabtu.com>
34053
34054 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
34055 split).
34056
34057 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
34058 (grub_console_cur_color, grub_console_real_putchar)
34059 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
34060 (grub_console_setcolorstate, grub_console_setcolor)
34061 (grub_console_getcolor): Move from here ...
34062 * include/grub/i386/vga_common.h: ... to here (new file).
34063
34064 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
34065 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
34066 `<grub/i386/io.h>'.
34067 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
34068 `<grub/i386/vga_common.h>'.
34069
76679cd3 340702008-11-12 Robert Millan <rmh@aybabtu.com>
34071
34072 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
34073 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
34074 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
34075 variables.
34076 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
34077 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
34078
34079 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
34080 grub_console_init() with call to grub_vga_text_init().
34081 (grub_machine_fini): Replace call to
34082 grub_console_fini() with call to grub_vga_text_fini() and
34083 grub_at_keyboard_fini().
34084
34085 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
34086 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
34087 (grub_console_setcolorstate, grub_console_setcolor)
34088 (grub_console_getcolor): New function prototypes.
34089
34090 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
34091 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
34092 (grub_vga_text_setcursor): Static-ize.
34093 (grub_vga_text_term): New structure.
34094 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
34095
34096 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
34097 (grub_console_cur_color, grub_console_standard_color)
34098 (grub_console_normal_color, grub_console_highlight_color)
34099 (map_char, grub_console_putchar, grub_console_getcharwidth)
34100 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
34101 (grub_console_getcolor): Move from here ...
34102 * term/i386/vga_common.c: ... to here (same function names).
34103
95b841d3 341042008-11-12 Robert Millan <rmh@aybabtu.com>
34105
34106 Use newly-added Multiboot support in coreboot.
34107
34108 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
34109 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
34110
34111 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
34112 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
34113 (codestart): Store the MBI in `startup_multiboot_info' when we're
34114 being loaded using Multiboot.
34115
34116 * kern/i386/coreboot/init.c (grub_machine_init): Move
34117 grub_at_keyboard_init() call to beginning of function (useful for
34118 debugging). Call grub_machine_mmap_init() before attempting to use
34119 grub_machine_mmap_iterate().
34120 (grub_lower_mem, grub_upper_mem): Move from here ...
34121 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
34122 here (new file).
34123
34124 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
34125 function prototype.
34126
761ca975 341272008-11-12 Robert Millan <rmh@aybabtu.com>
34128
34129 Fix a regression introduced by the at_keyboard.mod split. Because
34130 some terminals are default on some platforms and non-default on
34131 others, the first terminal being registered determines which is
34132 going to be default.
34133
34134 * kern/term.c (grub_term_register_input): If this is the first
34135 terminal being registered, set it as the current one.
34136 (grub_term_register_output): Likewise.
34137
34138 * term/efi/console.c (grub_console_init): Do not call
34139 grub_term_set_current_output() or grub_term_set_current_input().
34140 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
34141 * term/i386/pc/console.c (grub_console_init): Likewise.
34142 (grub_console_fini): Do not call grub_term_set_current_input()
34143 (but leave grub_term_set_current_output() to restore text mode).
34144
6c529df7 341452008-11-10 Robert Millan <rmh@aybabtu.com>
34146
34147 * util/grub.d/00_header.in: Add backward compatibility check for
34148 versions of terminal.mod that don't understand `terminal_input' or
34149 `terminal_output'.
34150
132e4113 341512008-11-09 Robert Millan <rmh@aybabtu.com>
34152
34153 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
34154 `terminal_input' / `terminal_output', not `terminal'.
34155
ac293d50 341562008-11-08 Robert Millan <rmh@aybabtu.com>
34157
34158 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 34159 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 34160
0025933a 341612008-11-08 Robert Millan <rmh@aybabtu.com>
34162
34163 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 34164 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 34165 members. Update all users.
34166 * util/console.c (grub_ncurses_term): Split in ...
34167 (grub_ncurses_term_input): ... this, and ...
34168 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 34169 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 34170
37c86336 341712008-11-08 Robert Millan <rmh@aybabtu.com>
34172
34173 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
34174 (PKGDATA): Add $(pkgdata_SRCDIR).
34175 (pkglib_BUILDDIR): New variable.
34176 (pkgdata_SRCDIR): New variable.
34177 (build_env.mk): New target.
34178 (include_DATA): New variable.
34179 (install-local): Install $(include_DATA) files in $(includedir).
34180
b6c15a2d 341812008-11-07 Pavel Roskin <proski@gnu.org>
34182
d99d46f1 34183 * gendistlist.sh: Use C locale for sorting to ensure consistent
34184 output on all systems.
34185
b6c15a2d 34186 * util/grub.d/00_header.in: Remove incorrect space before
34187 "serial".
34188
c32ee8c9 341892008-11-07 Robert Millan <rmh@aybabtu.com>
34190
34191 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
34192 per specification.
34193 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
34194 * loader/multiboot_loader.c (find_multi_boot2_header): New function
34195 (based on find_multi_boot1_header).
34196 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
34197 using find_multi_boot2_header(), and abort if neither Multiboot or
34198 Multiboot headers were found.
34199
651c29b7 342002008-11-07 Robert Millan <rmh@aybabtu.com>
34201
34202 Modularize at_keyboard.mod:
34203
34204 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
34205 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
34206 (at_keyboard_mod_LDFLAGS): New variables.
34207
34208 Actual terminal split:
34209
34210 * include/grub/term.h (struct grub_term): Split in ...
34211 (struct grub_term_input): ... this, and ...
34212 (struct grub_term_output): ... this. Update all users.
34213 (grub_term_set_current): Split in ...
34214 (grub_term_set_current_input): ... this, and ...
34215 (grub_term_set_current_output): ... this.
34216 (grub_term_get_current): Split in ...
34217 (grub_term_get_current_input): ... this, and ...
34218 (grub_term_get_current_output): ... this.
34219 (grub_term_register): Split in ...
34220 (grub_term_register_input): ... this, and ...
34221 (grub_term_register_output): ... this.
34222 (grub_term_unregister): Split in ...
34223 (grub_term_unregister_input): ... this, and ...
34224 (grub_term_unregister_output): ... this.
34225 (grub_term_iterate): Split in ...
34226 (grub_term_iterate_input): ... this, and ...
34227 (grub_term_iterate_output): ... this.
34228
34229 * kern/term.c (grub_term_list): Split in ...
34230 (grub_term_list_input): ... this, and ...
34231 (grub_term_list_output): ... this. Update all users.
34232 (grub_cur_term): Split in ...
34233 (grub_cur_term_input): ... this, and ...
34234 (grub_cur_term_output): ... this. Update all users.
34235 (grub_term_set_current): Split in ...
34236 (grub_term_set_current_input): ... this, and ...
34237 (grub_term_set_current_output): ... this.
34238 (grub_term_get_current): Split in ...
34239 (grub_term_get_current_input): ... this, and ...
34240 (grub_term_get_current_output): ... this.
34241 (grub_term_register): Split in ...
34242 (grub_term_register_input): ... this, and ...
34243 (grub_term_register_output): ... this.
34244 (grub_term_unregister): Split in ...
34245 (grub_term_unregister_input): ... this, and ...
34246 (grub_term_unregister_output): ... this.
34247 (grub_term_iterate): Split in ...
34248 (grub_term_iterate_input): ... this, and ...
34249 (grub_term_iterate_output): ... this.
34250
34251 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
34252 a check for input and one for output (and only attempt to get keys
34253 from user when input works).
34254
34255 * util/grub-probe.c (grub_term_get_current): Split in ...
34256 (grub_term_get_current_input): ... this, and ...
34257 (grub_term_get_current_output): ... this.
34258 * util/grub-fstest.c: Likewise.
34259 * util/i386/pc/grub-setup.c: Likewise.
34260 * util/grub-editenv.c: Likewise.
34261
34262 Portability adjustments:
34263
34264 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
34265 `term/i386/pc/at_keyboard.c'.
34266 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
34267 grub_keyboard_controller_init() (now handled by terminal .init).
34268 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
34269 grub_at_keyboard_init().
34270 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
34271 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
34272 at_keyboard.mod via input terminal interface).
34273 * include/grub/i386/coreboot/console.h: Convert into a stub for
34274 `<grub/i386/pc/console.h>'.
34275
34276 Migrate full terminals to new API:
34277
34278 * term/efi/console.c (grub_console_term): Split into ...
34279 (grub_console_term_input): ... this, and ...
34280 (grub_console_term_output): ... this. Update all users.
34281 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
34282 (grub_ofconsole_init): Split into ...
34283 (grub_ofconsole_init_input): ... this, and ...
34284 (grub_ofconsole_init_output): ... this.
34285 (grub_ofconsole_term): Split into ...
34286 (grub_ofconsole_term_input): ... this, and ...
34287 (grub_ofconsole_term_output): ... this. Update all users.
34288 * term/i386/pc/serial.c (grub_serial_term): Split into ...
34289 (grub_serial_term_input): ... this, and ...
34290 (grub_serial_term_output): ... this. Update all users.
34291 * term/i386/pc/console.c (grub_console_term): Split into ...
34292 (grub_console_term_input): ... this, and ...
34293 (grub_console_term_output): ... this. Update all users.
34294 (grub_console_term_input): Only enable it on PC/BIOS platform.
34295 (grub_console_init): Remove grub_keyboard_controller_init() call.
34296
34297 Migrate input terminals to new API:
34298
34299 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
34300 `i386' and `i386/pc' to enable build on x86_64 (this driver is
34301 i386-specific anyway).
34302 (grub_console_checkkey): Rename to ...
34303 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
34304 users.
34305 (grub_keyboard_controller_orig): New variable.
34306 (grub_console_getkey): Rename to ...
34307 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
34308 users.
34309 (grub_keyboard_controller_init): Static-ize. Save original
34310 controller value so that it can be restored ...
34311 (grub_keyboard_controller_fini): ... here (new function).
34312 (grub_at_keyboard_term): New structure.
34313 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
34314 functions.
34315
34316 Migrate output terminals to new API:
34317
34318 * term/i386/pc/vga.c (grub_vga_term): Change type to
34319 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34320 members. Update all users.
34321 * term/gfxterm.c (grub_video_term): Change type to
34322 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34323 members. Update all users.
34324 * include/grub/i386/pc/console.h (grub_console_checkkey)
34325 (grub_console_getkey): Do not export (no longer needed by gfxterm,
34326 etc).
34327
34328 Migrate `terminal' command and userland tools to new API:
34329
34330 * commands/terminal.c (grub_cmd_terminal): Split into ...
34331 (grub_cmd_terminal_input): ... this, and ...
34332 (grub_cmd_terminal_output): ... this.
34333 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
34334 `terminal_input' and `terminal_output'.
34335 * util/grub.d/00_header.in: Adjust `terminal' calls to new
34336 `terminal_input' / `terminal_output' API.
34337 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
34338 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
34339 provided ${GRUB_TERMINAL}, convert it).
34340
96e5d876 343412008-11-04 Robert Millan <rmh@aybabtu.com>
34342
34343 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
34344 for FreeBSD.
34345 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
34346
556f3775 343472008-11-03 Bean <bean123ch@gmail.com>
34348
34349 * kern/elf.c (grub_elf32_load): Revert to previous code.
34350 (grub_elf64_load): Likewise.
34351
34352 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
34353
926b9823 343542008-11-01 Robert Millan <rmh@aybabtu.com>
34355
34356 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
34357 (TARGET_CPPFLAGS): Likewise.
34358 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
34359
1432e958 343602008-11-01 Carles Pina i Estany <carles@pina.cat>
34361
34362 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
34363
dba3f844 343642008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 34365
34366 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
34367 addition of objects until the code is not going to be able to fail.
34368
dba3f844 343692008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 34370
34371 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
34372 (add a missing NULL check, and correct them by moving the pointer
34373 operations after the actual check).
34374
7ab28c21 343752008-10-29 Robert Millan <rmh@aybabtu.com>
34376
34377 * util/i386/pc/grub-install.in: Handle empty string as output from
34378 make_system_path_relative_to_its_root().
34379
1b7748eb 343802008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
34381
34382 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
34383 circular metadata worst case scenario. If the metadata is circular
34384 then copy the wrap in place.
34385 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
34386 project lib/format_text/layout.h
34387 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
34388
c9618ab2 343892008-10-03 Felix Zielcke <fzielcke@z-51.de>
34390
7a36edca 34391 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 34392
bf981c62 343932008-10-03 Felix Zielcke <fzielcke@z-51.de>
34394
34395 * util/update-grub_lib.in: Mention filename in warning message.
34396
6d994591 343972008-09-29 Felix Zielcke <fzielcke@z-51.de>
34398
34399 * NEWS: Update for rename of update-grub to grub-mkconfig.
34400
18ade780 344012008-09-29 Felix Zielcke <fzielcke@z-51.de>
34402
34403 * util/update-grub_lib.in: Copy to ...
34404 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 34405 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 34406 * util/update-grub.in: Rename to ...
34407 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
34408 option. Add `--output' option to allow users to specify the generated
34409 configuration file. Default to stdout.
34410 (update_grub_dir): Rename to ...
34411 (grub_mkconfig_dir): ... this.
34412 (grub_cfg): Default to an empty string.
34413 * conf/common.rmk (update-grub): Rename to ...
34414 (grub-mkconfig): ... this.
34415 (update-grub_lib): Copy to ...
34416 (grub-mkconfig_lib): ... this.
34417 (update-grub_SCRIPTS): Copy to ...
34418 (grub-mkconfig_SCRIPTS): ... this. Update all users.
34419 (update-grub_DATA): Rename to ...
34420 (grub-mkconfig_DATA): ... this.
34421
556ce6ac 344222008-09-28 Robert Millan <rmh@aybabtu.com>
34423
34424 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
34425 to `modified'. Add the real `created' field.
34426 (grub_iso9660_uuid): Use `modified' rather than `created' for
34427 constructing the UUID.
34428
344292008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 34430
34431 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
34432 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
34433
92274e85 344342008-09-28 Bean <bean123ch@gmail.com>
34435
34436 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
34437 Thanks to Christian Franke for finding this bug.
34438
add6f17a 344392008-09-25 Robert Millan <rmh@aybabtu.com>
34440
34441 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
34442 instances of grub_util_get_disk_name() (see previous commit).
34443
d2a367b8 344442008-09-25 Robert Millan <rmh@aybabtu.com>
34445
34446 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
34447 `util/i386/get_disk_name.c'.
34448 * conf/i386-efi.rmk: Likewise.
34449 * conf/x86_64-efi.rmk: Likewise.
34450 * conf/i386-coreboot.rmk: Likewise.
34451 * conf/i386-ieee1275.rmk: Likewise.
34452 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
34453 `util/ieee1275/get_disk_name.c'.
34454 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
34455 * util/ieee1275/get_disk_name.c: Remove file.
34456 * util/i386/get_disk_name.c: Remove file.
34457 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
34458 "hd%d" for device.map entries, rather than using
34459 grub_util_get_disk_name().
34460
81a06771 344612008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 34462
34463 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
34464 warning.
34465 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
34466
5a004279 344672008-09-24 Carles Pina i Estany <carles@pina.cat>
34468
34469 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
34470 Changed to 0x5100.
34471 (GRUB_TERM_PPAGE): Changed to 0x4900.
34472
397093d3 344732008-09-24 Robert Millan <rmh@aybabtu.com>
34474
34475 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
34476 macros (they were i386-pc specific).
34477 * include/grub/sparc64/ieee1275/console.h: Likewise.
34478 * include/grub/efi/console.h: Likewise.
34479
a91b6c7c 344802008-09-22 Bean <bean123ch@gmail.com>
34481
34482 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
34483 resident and in attribute list.
34484
34485 * include/grub/ntfs.h (BMP_LEN): Removed.
34486
c40fd116 344872008-09-22 Bean <bean123ch@gmail.com>
34488
81a06771 34489 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 34490 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
34491
34492 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
34493 error occurs, as grub_disk_open will call grub_disk_close, which will
34494 call p->close (scsi).
34495
81a06771 344962008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 34497
34498 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
34499 (AC_PREREQ): Bumped to 2.59.
34500 (AC_TRY_COMPILE): Replace obsolete macro with ...
34501 (AC_COMPILE_IFELSE): ... this.
34502 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
34503 (AC_LINK_IFELSE): ... this.
34504
5dc43410 345052008-09-21 Felix Zielcke <fzielcke@z-51.de>
34506
34507 * autogen.sh: Add a call to `gendistlist.sh'.
34508
9035dce4 345092008-09-19 Christian Franke <franke@computer.org>
34510
34511 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
34512 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
34513 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
34514 Export __enable_execute_stack() to modules.
34515 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
34516 New function.
34517
7fd75377 345182008-09-09 Felix Zielcke <fzielcke@z-51.de>
34519
040030b3 34520 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
34521 Sort the list.
34522
345232008-09-09 Felix Zielcke <fzielcke@z-51.de>
34524
34525 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 34526 #include <grub/util/hostdisk.h>.
34527
89d5ffcf 345282008-09-08 Robert Millan <rmh@aybabtu.com>
34529
34530 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
34531 segments when their filesz is zero (grub_file_read() interprets
81a06771 34532 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 34533 Use `lowest_segment' rather than 0 for calculating the current
34534 segment load address.
34535
40da438f 345362008-09-08 Robert Millan <rmh@aybabtu.com>
34537
34538 * util/hostdisk.c (open_device): Replace a grub_util_info() call
34539 with grub_dprintf("hostdisk", ...), as it was so verbose that it
34540 clobbered useful information.
34541
ddbf5556 345422008-09-08 Robert Millan <rmh@aybabtu.com>
34543
34544 * include/grub/util/biosdisk.h: Move to ...
34545 * include/grub/util/hostdisk.h: ... here. Update all users.
34546 * util/biosdisk.c: Move to ...
34547 * util/hostdisk.c: ... here. Update all users.
34548
783d0f48 345492008-09-07 Robert Millan <rmh@aybabtu.com>
34550
34551 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
34552 variables.
34553 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
34554 and length can be stored directly in the `mbi->mmap_addr' and
34555 `mbi->mmap_length' struct fields.
34556
548e2ea5 345572008-09-07 Robert Millan <rmh@aybabtu.com>
34558
34559 * conf/i386.rmk: New file. Provides declaration for building
34560 `cpuid.mod'.
34561 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
34562 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
34563 variables.
34564 Include `conf/i386.mk'.
34565 * conf/i386-efi.rmk: Likewise.
34566 * conf/x86_64-efi.rmk: Likewise.
34567 * conf/i386-coreboot.rmk: Likewise.
34568 * conf/i386-ieee1275.rmk: Likewise.
34569
0ea85a37 345702008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
34571
34572 Based on patch created by Colin D Bennett <colin@gibibit.com>.
34573 Adds optimization support for BGR based modes.
34574
34575 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
34576 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34577 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34578 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34579 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34580 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34581 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34582 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34583 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34584 (grub_video_i386_vbeblit_index_index): Likewise.
34585 (grub_video_i386_vbeblit_replace_directN): Added.
34586 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34587 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34588 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34589 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34590 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34591 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 34592 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 34593 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34594 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34595 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34596 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34597 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34598 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
34599
34600 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
34601 (grub_video_i386_vbefill_R8G8B8): Likewise.
34602 (grub_video_i386_vbefill_index): Likewise.
34603 (grub_video_i386_vbefill_direct32): Added.
34604 (grub_video_i386_vbefill_direct24): Likewise.
34605 (grub_video_i386_vbefill_direct16): Likewise.
34606 (grub_video_i386_vbefill_direct8): Likewise.
34607
81a06771 34608 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 34609 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
34610 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
34611 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
34612 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
34613 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 34614
0ea85a37 34615 * video/video.c (grub_video_get_blit_format): Updated to use new
34616 blit formats. Added handling for 16 bit color modes.
81a06771 34617
34618 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 34619 fillers.
34620 (common_blitter): Updated to use new blitters.
34621
34622 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
34623 Removed.
34624 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34625 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34626 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34627 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34628 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34629 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34630 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34631 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34632 (grub_video_i386_vbeblit_index_index): Likewise.
34633 (grub_video_i386_vbeblit_replace_directN): Added.
34634 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34635 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34636 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34637 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34638 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34639 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
34640 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
34641 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34642 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34643 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34644 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34645 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34646 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 34647
0ea85a37 34648 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
34649 (grub_video_i386_vbefill_R8G8B8): Likewise.
34650 (grub_video_i386_vbefill_index): Likewise.
34651 (grub_video_i386_vbefill_direct32): Added.
34652 (grub_video_i386_vbefill_direct24): Likewise.
34653 (grub_video_i386_vbefill_direct16): Likewise.
34654 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 34655
0ea85a37 34656 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
34657 types.
81a06771 34658
0ea85a37 34659 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
34660 types.
81a06771 34661
0ea85a37 34662 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
34663 blitter types.
81a06771 34664
0ea85a37 34665 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
34666 types.
34667
e8a83df6 346682008-09-06 Felix Zielcke <fzielcke@z-51.de>
34669
34670 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
34671 RAID level 1.
34672
6bcd8ee5 346732008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 34674
6bcd8ee5 34675 * fs/iso9660.c (grub_iso9660_date): New structure.
34676 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
34677 (grub_iso9660_uuid): New function.
c375ae58 34678
59261157 346792008-09-05 Bean <bean123ch@gmail.com>
34680
34681 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
34682
34683 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
34684 insensitive bit for names in Win32 and Win32 & DOS namespace.
34685
34686 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
34687
34688 * include/grub/types.h (LONG_MAX): Likewise.
34689
58b6645a 346902008-09-04 Felix Zielcke <fzielcke@z-51.de>
34691
4ee55921 34692 * util/getroot.c: Include <config.h>.
34693 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
34694 add support for /dev/md/N devices and handle LVM double dash escaping.
34695
346962008-09-04 Felix Zielcke <fzielcke@z-51.de>
34697
34698 * config.guess: Update to latest version from config git.
34699 * config.sub: Likewise.
58b6645a 34700
9124f65d 347012008-09-03 Robert Millan <rmh@aybabtu.com>
34702
34703 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
34704 `disk->total_sectors'.
34705
81a06771 347062008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 34707
34708 * include/grub/normal.h: Fixed incorrect comment for
34709 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
34710
81a06771 347112008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 34712
34713 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
34714 values with defines.
34715
34716 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
34717 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
34718 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
34719 (GRUB_VBE_MODEATTR_COLOR): Likewise.
34720 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
34721 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
34722 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
34723 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
34724 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
34725 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
34726 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
34727 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
34728 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
34729 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
34730 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
34731 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
34732 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
34733 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
34734 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
34735
93d5cbf8 347362008-08-31 Robert Millan <rmh@aybabtu.com>
34737
34738 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
34739 declaration.
34740 (grub_multiboot): Fix a few warnings.
34741
21751d50 347422008-08-31 Robert Millan <rmh@aybabtu.com>
34743
34744 * loader/i386/pc/multiboot.c: Update comment not to say that
34745 boot_device support is unimplemented.
34746
e27a75c5 347472008-08-31 Robert Millan <rmh@aybabtu.com>
34748
34749 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
34750 or memory map support are unimplemented.
34751
81a06771 347522008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 34753
34754 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
34755
81a06771 347562008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 34757
34758 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
34759 total video memory in 'vbeinfo' output; show color format details for
34760 each video mode.
34761
7c5d8d95 347622008-08-30 Pavel Roskin <proski@gnu.org>
34763
34764 * util/genmoddep.c: Remove for real this time.
34765 * DISTLIST: Remove util/genmoddep.c.
34766
4cebd25a 347672008-08-30 Robert Millan <rmh@aybabtu.com>
34768
34769 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
34770 as required by Multiboot spec (it was already 4-byte aligned, but
34771 only by chance).
34772
b497a269 347732008-08-29 Pavel Roskin <proski@gnu.org>
34774
e3925185 34775 * kern/powerpc/ieee1275/crt0.S: Rename to ...
34776 * kern/powerpc/ieee1275/startup.S: ... this.
34777 * conf/powerpc-ieee1275.rmk: Adjust for the above.
34778 * DISTLIST: Likewise.
34779
b497a269 34780 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
34781 grub/cpu/kernel.h. Add start label for consistency with other
34782 platforms. Add grub_prefix immediately after start. Add jump
34783 to the code after grub_prefix.
34784 * include/grub/powerpc/kernel.h: Provide valid values for
34785 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
34786
6e5a42fe 347872008-08-29 Bean <bean123ch@gmail.com>
34788
34789 * configure.ac: Change host_os to cygwin for mingw.
34790 (asprintf): New check for function.
34791
34792 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
34793 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
34794
34795 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 34796 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 34797 sync, sleep and grub_util_get_disk_size for mingw.
34798
34799 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
34800 to get size in mingw.
34801 (open_device): Use flag O_BINARY if it's defined.
34802 (find_root_device): Add dummy code for mingw.
34803
34804 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
34805 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
34806 (get_scsi_disk_name): Return 0 for mingw.
34807
34808 * util/hostfs.c: #include <grub/util/misc.h>.
34809 (grub_hostfs_open): Use "rb" flag to open file, use
34810 grub_util_get_disk_size to get disk size for mingw.
34811
34812 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
34813 (asprintf): New function if HAVE_ASPRINTF is not set.
34814 (sync): New function for mingw.
34815 (sleep): Likewise.
34816 (grub_util_get_disk_size): Likewise.
34817
ab3f2673 348182008-08-28 Pavel Roskin <proski@gnu.org>
34819
34820 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34821 kern/time.c.
34822
1c282483 348232008-08-28 Robert Millan <rmh@aybabtu.com>
34824
34825 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
34826
678e849c 348272008-08-28 Robert Millan <rmh@aybabtu.com>
34828
34829 Change find_grub_drive() syntax so it doesn't prevent it from
34830 detecting NULL names as errors.
34831
34832 * util/biosdisk.c (find_grub_drive): Move free slot search code
34833 from here ...
34834 (find_free_slot): ... to here.
34835 (read_device_map): Use find_free_slot() to search for free slots.
34836
965c75ca 348372008-08-27 Marco Gerards <marco@gnu.org>
34838
34839 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
34840 (scsi_mod_SOURCES): New variable.
34841 (scsi_mod_CFLAGS): Likewise
34842 (scsi_mod_LDFLAGS): Likewise.
34843
34844 * disk/scsi.c: New file.
34845
34846 * include/grub/scsi.h: Likewise.
34847
34848 * include/grub/scsicmd.h: Likewise.
34849
34850 * disk/ata.c: Include <grub/scsi.h>.
34851 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
34852 instead.
34853 (grub_ata_iterate): Skip ATAPI devices.
34854 (grub_ata_open): Only handle ATAPI devices.
34855 (struct grub_atapi_read): Removed.
34856 (grub_atapi_readsector): Likewise.
34857 (grub_ata_read): No longer handle ATAPI devices.
34858 (grub_ata_write): Likewise.
34859 (grub_atapi_iterate): New function.
34860 (grub_atapi_read): Likewise.
34861 (grub_atapi_write): Likewise.
34862 (grub_atapi_open): Likewise.
34863 (grub_atapi_close): Likewise.
34864 (grub_atapi_dev): New variable.
34865 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34866 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34867
34868 * include/grub/disk.h (enum grub_disk_dev_id): Add
34869 `GRUB_DISK_DEVICE_SCSI_ID'.
34870
c07ae501 348712008-08-26 Robert Millan <rmh@aybabtu.com>
34872
34873 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34874 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34875 descriptive.
34876
5ed20adc 348772008-08-23 Bean <bean123ch@gmail.com>
34878
34879 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34880 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34881 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34882 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34883 dm_nv.mod.
34884 (raid5rec_mod_SOURCES): New macro.
34885 (raid5rec_mod_CFLAGS): Likewise.
34886 (raid5rec_mod_LDFLAGS): Likewise.
34887 (raid6rec_mod_SOURCES): Likewise.
34888 (raid6rec_mod_CFLAGS): Likewise.
34889 (raid6rec_mod_LDFLAGS): Likewise.
34890 (mdraid_mod_SOURCES): Likewise.
34891 (mdraid_mod_CFLAGS): Likewise.
34892 (mdraid_mod_LDFLAGS): Likewise.
34893 (dm_nv_mod_SOURCES): Likewise.
34894 (dm_nv_mod_CFLAGS): Likewise.
34895 (dm_nv_mod_LDFLAGS): Likewise.
34896
34897 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34898 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34899 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34900
34901 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34902 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34903
34904 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34905
34906 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34907
34908 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34909
34910 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34911
34912 * disk/raid5_recover.c: New file.
34913
34914 * disk/raid6_recover.c: Likewise.
34915
34916 * disk/mdraid_linux.c: Likewise.
34917
34918 * disk/dmraid_nvidia.c: Likewise.
34919
34920 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34921 ULONG_MAX.
34922
34923 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34924 calculate the size of raid device.
34925 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34926 different layout of raid5.
34927 (grub_raid_scan_device): Remove code specific to mdraid.
34928 (grub_raid_list): New variable.
34929 (free_array): New function.
34930 (grub_raid_register): Likewise.
34931 (grub_raid_unregister): Likewise.
34932 (grub_raid_rescan): Likewise.
34933 (GRUB_MOD_INIT): Don't iterate device here.
34934 (GRUB_MOD_FINI): Use free_array to release resource.
34935
34936 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34937 (grub_raid5_recover_func_t): New function variable type.
34938 (grub_raid6_recover_func_t): Likewise.
34939 (grub_raid5_recover_func): New variable.
34940 (grub_raid6_recover_func): Likewise.
34941 (grub_raid_register): New function.
34942 (grub_raid_unregister): Likewise.
34943 (grub_raid_rescan): Likewise.
34944 (grub_raid_block_xor): Likewise.
34945
34946 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34947 (CMD_CRC): New macro.
34948 (part): Removed.
34949 (read_file): Handle device as well as file.
34950 (cmd_crc): New function.
34951 (fstest): Handle multiple disks.
34952 (options): Remove part, raw and long, add root and diskcount.
34953 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 34954 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 34955 add handling for the new options, support multiple disks.
34956
34957 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34958
29c18915 349592008-08-23 Bean <bean123ch@gmail.com>
34960
34961 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34962
34963 * genfslist.sh: Ignore kernel.mod.
34964
34965 * genpartmaplist.sh: Likewise.
34966
8415f261 349672008-08-23 Robert Millan <rmh@aybabtu.com>
34968
34969 * util/getroot.c (find_root_device): Skip anything that starts with
34970 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34971
d5a7dc5b 349722008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 34973
d5a7dc5b 34974 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34975 * util/grub.d/00_header.in: Allow the administrator to change default
34976 gfxmode via ${GRUB_GFXMODE}.
34977
380cfbb4 349782008-08-21 Felix Zielcke <fzielcke@z-51.de>
34979
34980 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34981
c9baafe7 349822008-08-21 Robert Millan <rmh@aybabtu.com>
34983
34984 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34985 loader.
34986 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34987 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34988
e290bef2 349892008-08-20 Carles Pina i Estany <carles@pina.cat>
34990
34991 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34992 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34993
f9dbfc96 349942008-08-19 Robert Millan <rmh@aybabtu.com>
34995
34996 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34997 (struct grub_virtual_screen): Remove `cursor_color'.
34998 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34999 initialization.
35000 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
35001
dd6bd6ab 350022008-08-18 Robert Millan <rmh@aybabtu.com>
35003
35004 Unify (identical) linux_normal.c files.
35005 * loader/i386/efi/linux_normal.c: Move from here ...
35006 * loader/linux_normal.c: ... to here. Update all users.
35007 * loader/i386/pc/linux_normal.c: Delete. Update all users.
35008 * loader/i386/ieee1275/linux_normal.c: Likewise.
35009
7f42f83e 350102008-08-18 Robert Millan <rmh@aybabtu.com>
35011
35012 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
35013 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
35014 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
35015 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
35016 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
35017 New macros.
35018 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
35019 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
35020 (GRUB_LINUX_CL_END_OFFSET): ... to here.
35021 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
35022 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
35023 (GRUB_EFI_CL_END_OFFSET): Rename to ...
35024 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
35025 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
35026 Initialize `params->video_cursor_x' and `params->video_cursor_y'
35027 portably using grub_getxy().
35028 Replace `-EFI' with `-bzImage' in boot message.
35029
38487ddb 350302008-08-17 Robert Millan <rmh@aybabtu.com>
35031
35032 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
35033
deceb3ec 350342008-08-17 Robert Millan <rmh@aybabtu.com>
35035
35036 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
35037
35038 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
35039 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
35040 (grub_machine_mmap_iterate): New function declaration.
35041 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
35042 structure.
35043 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
35044 macros.
35045
35046 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
35047 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
35048 Move e820 parsing from here ...
35049 * kern/i386/pc/mmap.c: New file.
35050 (grub_machine_mmap_iterate): ... to here.
35051
35052 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
35053 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
35054 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
35055 (grub_available_iterate): Redeclare to return `void', and redeclare
35056 its hook to use grub_uint64_t as addr and size parameters, and rename
35057 to ...
35058 (grub_machine_mmap_iterate): ... this. Update all users.
35059
35060 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
35061 to make it more readable. Rename to ...
35062 (grub_machine_mmap_iterate): ... this.
35063
35064 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
35065 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
35066 (grub_multiboot): Allocate an extra region after the payload, and fill
35067 it with a Multiboot memory map. Adjust a.out loader to calculate size
35068 with the extra space.
35069 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
35070 with the extra space.
35071
f8aa0f43 350722008-08-17 Carles Pina i Estany <carles@pina.cat>
35073
9807deb9 35074 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 35075
605f5bb6 350762008-08-17 Felix Zielcke <fzielcke@z-51.de>
35077
35078 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
35079 mdate-sh to the list `find' searches for.
35080 * DISTLIST: Regenerated.
35081
210db6c6 350822008-08-16 Felix Zielcke <fzielcke@z-51.de>
35083
35084 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
35085 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 35086 genmoddep.awk, gensymlist.sh.in.
35087 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 35088 * DISTLIST: Regenerated.
48cdbfd4 35089 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 35090
1082b929 350912008-08-16 Robert Millan <rmh@aybabtu.com>
35092
35093 * disk/raid.c (grub_raid_init): Handle/report errors set by
35094 grub_device_iterate().
35095 * disk/lvm.c (grub_lvm_init): Likewise.
35096
42ce5170 350972008-08-15 Bean <bean123ch@gmail.com>
35098
35099 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35100 and datehook.mod.
35101 (datetime_mod_SOURCES): New macro.
35102 (datetime_mod_CFLAGS): Likewise.
35103 (datetime_mod_LDFLAGS): Likewise.
35104 (date_mod_SOURCES): Likewise.
35105 (date_mod_CFLAGS): Likewise.
35106 (date_mod_LDFLAGS): Likewise.
35107 (datehook_mod_SOURCES): Likewise.
35108 (datehook_mod_CFLAGS): Likewise.
35109 (datehook_mod_LDFLAGS): Likewise.
35110
35111 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35112 and datehook.mod.
35113 (datetime_mod_SOURCES): New macro.
35114 (datetime_mod_CFLAGS): Likewise.
35115 (datetime_mod_LDFLAGS): Likewise.
35116 (date_mod_SOURCES): Likewise.
35117 (date_mod_CFLAGS): Likewise.
35118 (date_mod_LDFLAGS): Likewise.
35119 (datehook_mod_SOURCES): Likewise.
35120 (datehook_mod_CFLAGS): Likewise.
35121 (datehook_mod_LDFLAGS): Likewise.
35122
35123 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35124 and datehook.mod.
35125 (datetime_mod_SOURCES): New macro.
35126 (datetime_mod_CFLAGS): Likewise.
35127 (datetime_mod_LDFLAGS): Likewise.
35128 (date_mod_SOURCES): Likewise.
35129 (date_mod_CFLAGS): Likewise.
35130 (date_mod_LDFLAGS): Likewise.
35131 (datehook_mod_SOURCES): Likewise.
35132 (datehook_mod_CFLAGS): Likewise.
35133 (datehook_mod_LDFLAGS): Likewise.
35134
35135 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35136 and datehook.mod.
35137 (datetime_mod_SOURCES): New macro.
35138 (datetime_mod_CFLAGS): Likewise.
35139 (datetime_mod_LDFLAGS): Likewise.
35140 (date_mod_SOURCES): Likewise.
35141 (date_mod_CFLAGS): Likewise.
35142 (date_mod_LDFLAGS): Likewise.
35143 (datehook_mod_SOURCES): Likewise.
35144 (datehook_mod_CFLAGS): Likewise.
35145 (datehook_mod_LDFLAGS): Likewise.
35146
35147 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35148 and datehook.mod.
35149 (datetime_mod_SOURCES): New macro.
35150 (datetime_mod_CFLAGS): Likewise.
35151 (datetime_mod_LDFLAGS): Likewise.
35152 (date_mod_SOURCES): Likewise.
35153 (date_mod_CFLAGS): Likewise.
35154 (date_mod_LDFLAGS): Likewise.
35155 (datehook_mod_SOURCES): Likewise.
35156 (datehook_mod_CFLAGS): Likewise.
35157 (datehook_mod_LDFLAGS): Likewise.
35158
35159 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
35160
35161 * commands/date.c: New file.
35162
35163 * hook/datehook.c: Likewise.
35164
35165 * include/grub/lib/datetime.h: Likewise.
35166
35167 * include/grub/i386/cmos.h: Likewise.
35168
35169 * lib/datetime.c: Likewise.
35170
35171 * lib/i386/datetime.c: Likewise.
35172
35173 * lib/efi/datetime.c: Likewise.
35174
0e9242da 351752008-08-14 Robert Millan <rmh@aybabtu.com>
35176
35177 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
35178 (grub_mkelfimage_SOURCES): New variable.
35179 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
35180
35181 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
35182 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
35183 * conf/powerpc-ieee1275.rmk: Likewise.
35184 * conf/i386-ieee1275.rmk: Likewise.
35185
35186 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
35187 * kern/i386/coreboot/init.c: Likewise.
35188
35189 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
35190 with `<grub/cpu/kernel.h>'.
35191 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
35192 to ...
35193 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
35194 * kern/i386/coreboot/startup.S: Likewise.
35195
35196 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
35197 (GRUB_MOD_GAP): Remove.
35198 * include/grub/powerpc/kernel.h: New file.
35199 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
35200 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35201 * include/grub/i386/kernel.h: New file.
35202 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
35203 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
35204 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35205
35206 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
35207 `grub-mkelfimage'.
35208 Use --directory when invoking grub_mkimage.
35209
35210 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
35211 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
35212 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
35213 and GRUB_KERNEL_CPU_PREFIX.
35214
b86408f8 352152008-08-14 Felix Zielcke <fzielcke@z-51.de>
35216
d5e619ca 35217 * include/grub/err.h (grub_err_printf): New function prototype.
35218 * util/misc.c (grub_err_printf): New function.
35219 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
35220 grub_printf.
35221 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 35222
7161f0e0 352232008-08-13 Robert Millan <rmh@aybabtu.com>
35224
35225 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
35226
a1967522 352272008-08-13 Robert Millan <rmh@aybabtu.com>
35228
35229 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
35230 boot entry.
35231
371458b5 352322008-08-12 Robert Millan <rmh@aybabtu.com>
35233
35234 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
35235 of the relocation code from here ...
35236 (grub_multiboot): ... to here.
35237 (forward_relocator, backward_relocator): Move from here ...
35238 * kern/i386/loader.S (grub_multiboot_forward_relocator)
35239 (grub_multiboot_backward_relocator): ... to here.
35240 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
35241 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
35242 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
35243 (grub_multiboot_forward_relocator_end)
35244 (grub_multiboot_backward_relocator)
35245 (grub_multiboot_backward_relocator_end): New variables.
35246
05f9452b 352472008-08-12 Bean <bean123ch@gmail.com>
35248
35249 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
35250
20024ab0 352512008-08-11 Robert Millan <rmh@aybabtu.com>
35252
35253 * kern/i386/linuxbios/startup.S: Move from here ...
35254 * kern/i386/coreboot/startup.S: ... to here.
35255
35256 * kern/i386/linuxbios/init.c: Move from here ...
35257 * kern/i386/coreboot/init.c: ... to here.
35258
35259 * kern/i386/linuxbios/table.c: Move from here ...
35260 * kern/i386/coreboot/mmap.c: ... to here.
35261
35262 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
35263
e352e9cd 352642008-08-11 Robert Millan <rmh@aybabtu.com>
35265
35266 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
35267 errors. Leave it to the upper layer to handle them.
35268
2d05bc6a 352692008-08-09 Christian Franke <franke@computer.org>
35270
35271 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
35272 * conf/common.rmk: Install `grub-pe2elf' only if requested.
35273 Install `grub.d/10_windows' only on Cygwin.
35274 * configure.ac: Add subst of `target_os'.
35275 Check `target_os' also before setting TARGET_OBJ2ELF.
35276 Add `--enable-grub-pe2elf'.
35277
042bd419 352782008-08-08 Robert Millan <rmh@aybabtu.com>
35279
35280 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35281 (grub_last_time): Change type to grub_uint64_t.
35282 (grub_disk_open): Migrate code from to using grub_get_time_ms().
35283 (grub_disk_close): Likewise.
35284
35285 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35286 (run_menu): Migrate code from to using grub_get_time_ms().
35287
35288 * util/misc.c (grub_get_time_ms): New function.
35289
7f280db5 352902008-08-08 Marco Gerards <marco@gnu.org>
35291
35292 * disk/ata.c (grub_ata_regget): Change return type to
35293 `grub_uint8_t'.
35294 (grub_ata_regget2): Likewise.
35295 (grub_ata_wait_status): New function.
35296 (grub_ata_wait_busy): Removed function, updated all users to use
35297 `grub_ata_wait_status'.
35298 (grub_ata_wait_drq): Likewise.
35299 (grub_ata_cmd): New function.
35300 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
35301 error handling.
35302 (grub_ata_pio_write): Add error handling.
35303 (grub_atapi_identify): Likewise.
35304 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
35305 handling.
35306 (grub_ata_identify): Use `grub_ata_cmd' and improve error
35307 handling. Actually use the detected registers. Reorder the
35308 detection logic such that it is easier to read.
35309 (grub_ata_pciinit): Do not assign the same ID to each controller.
35310 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
35311 handling.
35312 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
35313
35314 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
35315
1fbc5e66 353162008-08-08 Marco Gerards <marco@gnu.org>
35317
35318 * NEWS: Update.
35319
819ce6c0 353202008-08-07 Bean <bean123ch@gmail.com>
35321
35322 * include/grub/x86_64/pci.h: New file.
35323
5c41d44d 353242008-08-07 Christian Franke <franke@computer.org>
35325
35326 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
35327 (TIMER2_GATE): Likewise.
35328 (grub_pit_wait): Add enable/disable of the timer2 gate
35329 bit of port 0x61. This fixes a possible infinite loop.
35330
5ebc275d 353312008-08-07 Bean <bean123ch@gmail.com>
35332
35333 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
35334 kern/i386/tsc.c and kern/i386/pit.c.
35335
35336 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
35337 x86_64 platform.
35338
35339 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
35340 <grub/i386/tsc.h>.
35341
35342 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
35343
e383b3d0 353442008-08-07 Bean <bean123ch@gmail.com>
35345
35346 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
35347
35348 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
35349
35350 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
35351 multiple inclusion. Add #include <grub/types.h>.
35352
1cbb58ac 353532008-08-06 Christian Franke <franke@computer.org>
35354
35355 * conf/common.rmk: Build and install `10_windows'.
35356 * util/grub.d/10_windows.in: New script.
35357
337f5a1e 353582008-08-06 Pavel Roskin <proski@gnu.org>
35359
35360 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
35361
057bc4ac 353622008-08-06 Robert Millan <rmh@aybabtu.com>
35363
35364 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
35365 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
35366
2b99f123 353672008-08-06 Bean <bean123ch@gmail.com>
35368
35369 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
35370 (grub_pxefs_fs_int): Remove dummy definition.
35371 (grub_pxefs_open): Use data->block_size to store the current block
35372 size setting.
35373 (grub_pxefs_read): Use block size stored in data->block_size. As the
35374 value of grub_pxe_blksize can be changed after the file is opened.
35375
9f0234cb 353762008-08-06 Bean <bean123ch@gmail.com>
35377
35378 * fs/i386/pc/pxe.c (curr_file): new variable.
35379 (grub_pxefs_open): Simply the handling of pxe file system. Don't
35380 require the dummy internal file system anymore.
35381 (grub_pxefs_read): Removed.
35382 (grub_pxefs_close): Likewise.
35383 (grub_pxefs_fs_int): Likewise.
35384 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
35385 connection when we switch file.
35386 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
35387
a55d42e0 353882008-08-06 Robert Millan <rmh@aybabtu.com>
35389
35390 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
35391 `halt.mod'.
35392 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
35393 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
35394
35395 * kern/i386/halt.c: New file.
35396 * kern/i386/reboot.c: Likewise.
35397 * include/grub/i386/reboot.h: Likewise.
35398 * include/grub/i386/halt.h: Likewise.
35399
35400 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
35401 Include `<grub/cpu/halt.h>'.
35402 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
35403 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
35404
35405 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
35406 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
35407 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
35408 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
35409 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
35410 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
35411 from here ...
35412 * include/grub/i386/at_keyboard.h: ... to here.
35413
24371d26 354142008-08-05 Robert Millan <rmh@aybabtu.com>
35415
35416 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
35417 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
35418 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
35419 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35420 `kern/generic/millisleep.c'.
35421
35422 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
35423 instead of grub_get_rtc().
35424 (grub_tsc_init): Initialize `tsc_boot_time'.
35425
35426 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
35427 (grub_machine_init): Use grub_tsc_init() rather than
35428 installing an RTC-based handler via grub_install_get_time_ms().
35429
35430 * kern/i386/pit.c: New file.
35431 * include/grub/i386/pit.h: Likewise.
35432
9e7007b3 354332008-08-05 Bean <bean123ch@gmail.com>
35434
35435 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
35436
35437 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
35438 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
35439 (pxe_mod_SOURCES): New macro.
35440 (pxe_mod_CFLAGS): Likewise.
35441 (pxe_mod_LDFLAGS): Likewise.
35442 (pxecmd_mod_SOURCES): Likewise.
35443 (pxecmd_mod_CFLAGS): Likewise.
35444 (pxecmd_mod_LDFLAGS): Likewise.
35445
35446 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
35447 (grub_pxe_call): Likewise.
35448
35449 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
35450
35451 * commands/i386/pc/pxecmd.c: New file.
35452
9f0234cb 35453 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 35454
35455 * include/grub/i386/pc/pxe.h: Likewise.
35456
6977d49f 354572008-08-05 Bean <bean123ch@gmail.com>
35458
35459 * util/console.c (grub_console_cur_color): New variable.
35460 (grub_console_standard_color): Likewise.
35461 (grub_console_normal_color): Likewise.
35462 (grub_console_highlight_color): Likewise.
35463 (color_map): Likewise.
35464 (use_color): Likewise.
35465 (NUM_COLORS): New macro.
35466 (grub_ncurses_setcolorstate): Handle color properly.
35467 (grub_ncurses_setcolor): Don't change color here, just remember the
35468 settings, color will be set in grub_ncurses_setcolorstate.
35469 (grub_ncurses_getcolor): New function.
35470 (grub_ncurses_init): Initialize color pairs.
35471 (grub_ncurses_term): New member grub_ncurses_getcolor.
35472
9c2ff3ee 354732008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 35474
9c2ff3ee 35475 High resolution timer support. Implemented for x86 CPUs using TSC.
35476 Extracted generic grub_millisleep() so it's linked in only as needed.
35477 This requires a Pentium compatible CPU; if the RDTSC instruction is
35478 not supported, then it falls back on the generic grub_get_time_ms()
35479 implementation that uses the machine's RTC.
35480
35481 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
35482 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35483 `kern/generic/millisleep.c'.
35484
35485 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
35486 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
35487
35488 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
35489 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
35490
35491 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35492
35493 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35494 `kern/generic/millisleep.c'.
35495
35496 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35497
35498 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
35499
35500 * kern/generic/rtc_get_time_ms.c: New file.
35501
35502 * kern/generic/millisleep.c: New file.
337f5a1e 35503
9c2ff3ee 35504 * kern/misc.c: Don't include
35505 <kern/time.h> anymore.
35506 (grub_millisleep_generic): Removed.
35507
35508 * commands/sleep.c (grub_interruptible_millisleep): Uses
35509 grub_get_time_ms() instead of grub_get_rtc().
35510
35511 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
35512 function.
35513 (grub_cpu_is_cpuid_supported): New inline function.
35514 (grub_cpu_is_tsc_supported): New inline function.
35515 (grub_tsc_init): New function prototype.
35516 (grub_tsc_get_time_ms): New function prototype.
35517
35518 * kern/i386/tsc.c (grub_get_time_ms): New file.
35519
35520 * include/grub/time.h: Include <grub/types.h.
35521 (grub_millisleep_generic): Removed.
35522 (grub_get_time_ms): New prototype.
35523 (grub_install_get_time_ms): New prototype.
35524 (grub_rtc_get_time_ms): New prototype.
35525
35526 * kern/time.c (grub_get_time_ms): New function.
35527 (grub_install_get_time_ms): New function.
35528
35529 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
35530 <grub/time.h> anymore.
35531 (grub_millisleep): Removed.
35532 (grub_machine_init): Call grub_tsc_init.
35533
35534 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
35535 get_time_ms() implementation.
35536
35537 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
35538 (ieee1275_get_time_ms): New function.
35539 (grub_machine_init): Install get_time_ms() implementation.
35540
35541 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
35542 (grub_machine_init): Call grub_tsc_init().
35543 (grub_millisleep): Removed.
bf06a93f 35544
9c2ff3ee 35545 * kern/ieee1275/init.c (grub_millisleep): Removed.
35546 (grub_machine_init): Install ieee1275_get_time_ms()
35547 implementation.
35548 (ieee1275_get_time_ms): New function.
35549 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
35550 real work.
35551
9ec92aaf 355522008-08-05 Marco Gerards <marco@gnu.org>
35553
35554 * disk/ata.c: Include <grub/pci.h>.
35555 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
35556 (grub_ata_initialize): Rewritten.
35557 (grub_ata_device_initialize): New function.
35558
8d23f507 355592008-08-04 Pavel Roskin <proski@gnu.org>
35560
35561 * kern/main.c: Include grub/mm.h.
35562
5e15ee3d 355632008-08-04 Robert Millan <rmh@aybabtu.com>
35564
35565 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
35566 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
35567 corruption problem).
35568
a9053f8f 355692008-08-04 Robert Millan <rmh@aybabtu.com>
35570
35571 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
35572 warnings introduced in my last commit.
35573
dd19c7d7 355742008-08-03 Robert Millan <rmh@aybabtu.com>
35575
35576 Make PCI available on all i386 architectures.
35577
35578 * include/grub/i386/pc/pci.h: Move from here ...
35579 * include/grub/i386/pci.h: ... to here.
35580
35581 * include/grub/i386/pc/pci.h: Remove.
35582 * include/grub/i386/efi/pci.h: Remove.
35583 * include/grub/x86_64/efi/pci.h: Remove.
35584
35585 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
35586 `<grub/cpu/pci.h>'.
35587
35588 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
35589 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
35590 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
35591
35592 * conf/i386-ieee1275.rmk: Likewise.
35593
e14a6184 355942008-08-03 Robert Millan <rmh@aybabtu.com>
35595
35596 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
35597 (grub_console_setcursor): Make it possible to set cursor off.
35598
52768e37 355992008-08-03 Robert Millan <rmh@aybabtu.com>
35600
35601 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
35602 of modules instead of assuming which platform provides what.
35603 * util/update-grub.in: Likewise.
35604
2d52f57f 356052008-08-03 Robert Millan <rmh@aybabtu.com>
35606
35607 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
35608 instead of `grub_install_dos_part' to determine whether a drive needs
35609 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 35610 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 35611
2a5cd121 356122008-08-02 Robert Millan <rmh@aybabtu.com>
35613
35614 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
35615
93808428 356162008-08-02 Robert Millan <rmh@aybabtu.com>
35617
35618 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
35619 of informational grub_dprintf() calls.
35620
3bd0a12a 356212008-08-02 Robert Millan <rmh@aybabtu.com>
35622
35623 * disk/memdisk.c (memdisk_size): Don't initialize.
35624 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
35625
35626 * include/grub/i386/pc/kernel.h
35627 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
35628 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
35629 (grub_memdisk_image_size, grub_arch_memdisk_addr)
35630 (grub_arch_memdisk_size): Remove.
35631
35632 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
35633 field (was only used to transfer a constant). Add `type' field to
35634 support multiple module types.
35635 (grub_module_iterate): New function.
35636
35637 * kern/device.c (grub_device_open): Do not hide error messages
35638 when grub_disk_open() fails. Use grub_print_error() instead.
35639
35640 * kern/i386/pc/init.c (grub_arch_modules_addr)
35641 (grub_arch_memdisk_size): Remove functions.
35642 (grub_arch_modules_addr): Return the module address in high memory
35643 (now that it isn't copied anymore).
35644
35645 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
35646 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
35647 decompression routine (grub_total_module_size already includes that
35648 now). Don't copy modules back to low memory.
35649
35650 * kern/main.c: Include `<grub/mm.h>'.
35651 (grub_load_modules): Split out (and use) ...
35652 (grub_module_iterate): ... this function, which iterates through
35653 module objects and runs a hook.
35654 Comment out grub_mm_init_region() call, as it would cause non-ELF
35655 modules to be overwritten.
35656
35657 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
35658 the memdisk image in its own region, make it part of the module list.
35659 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
35660 (main): Parse --memdisk|-m option, and pass user-provided path as
35661 parameter to generate_image().
35662 (add_segments): Pass `memdisk_path' down to load_modules().
35663 (load_modules): Embed memdisk image in module section when requested.
35664 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
35665 `header.type' instead of `header.offset'.
35666
35667 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
35668 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
35669 (memdisk_mod_LDFLAGS): New variables.
35670 * conf/i386-coreboot.rmk: Likewise.
35671 * conf/i386-ieee1275.rmk: Likewise.
35672
a927cc73 356732008-08-02 Robert Millan <rmh@aybabtu.com>
35674
35675 * loader/i386/pc/multiboot.c (playground, forward_relocator)
35676 (backward_relocator): New variables. Used to allocate and relocate
35677 the payload, respectively.
35678 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 35679 address, install the appropriate relocator code in each bound of
a927cc73 35680 the payload, and set the entry point such that
35681 grub_multiboot_real_boot() will jump to one of them.
35682
35683 * kern/i386/loader.S (grub_multiboot_payload_size)
35684 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35685 (grub_multiboot_payload_entry_offset): New variables.
35686 (grub_multiboot_real_boot): Set cpu context to what the relocator
35687 expects, and jump to the relocator instead of the payload.
35688
35689 * include/grub/i386/loader.h (grub_multiboot_payload_size)
35690 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35691 (grub_multiboot_payload_entry_offset): Export.
35692
b15d8a0c 356932008-08-01 Bean <bean123ch@gmail.com>
35694
35695 * normal/menu_entry.c (editor_getline): Don't return the original
35696 string as result, as it will be released by lexer once it has done
35697 using it.
35698
cdfb3d22 356992008-08-01 Robert Millan <rmh@aybabtu.com>
35700
35701 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
35702 within menuentries, not before them.
35703 util/grub.d/10_hurd.in: Likewise.
35704
9175e93d 357052008-08-01 Bean <bean123ch@gmail.com>
35706
35707 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
35708 (bufio_mod_SOURCES): New macro.
35709 (bufio_mod_CFLAGS): Likewise.
35710 (bufio_mod_LDFLAGS): Likewise.
35711
35712 * include/grub/bufio.h: New file.
35713
35714 * io/bufio.c: Likewise.
35715
35716 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
35717 (grub_video_reader_png): Use grub_buffile_open to open file.
35718
35719 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
35720 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
35721
35722 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
35723 (grub_video_reader_tga): Use grub_buffile_open to open file.
35724
35725 * font/manager.c: Include <grub/bufio.h>.
35726 (add_font): Use grub_buffile_open to open file.
35727
3d8383e7 357282008-07-31 Robert Millan <rmh@aybabtu.com>
35729
35730 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
35731 ELF segments, use a macro for arbitrarily accessing any of them instead
35732 of preparing a pointer that allows access to one at a time.
35733 (grub_multiboot_load_elf64): Likewise.
35734
16e641b6 357352008-07-31 Bean <bean123ch@gmail.com>
35736
35737 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
35738 GRUB_KERNEL_MACHINE_DATA_END.
35739
59198b72 357402008-07-30 Robert Millan <rmh@aybabtu.com>
35741
35742 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
35743 Increase from 0x50 to 0x60.
35744 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
35745 use UUIDs to identify the root drive for them. If that's not
35746 possible, abort.
35747 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
35748 check, for cross-disk installs.
35749
ae88bca3 357502008-07-30 Robert Millan <rmh@aybabtu.com>
35751
35752 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
35753 is non-empty, use it to set the `prefix' environment variable instead
35754 of the usual approach.
35755 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
35756 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
35757 environment variable instead of dummy make_install_device().
35758
35759 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
35760 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 35761 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 35762
35763 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
35764 New variable reference.
35765 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
35766 New macro. Defines offset of `grub_prefix' within startup.S (relative
35767 to `start').
35768 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
35769 section within startup.S (relative to `start').
35770 * include/grub/i386/coreboot/kernel.h: Likewise.
35771
35772 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
35773 Overwrite grub_prefix with its contents, at the beginning of the
35774 first segment.
35775 (main): Understand -p|--prefix.
35776
14f41dd1 357772008-07-30 Robert Millan <rmh@aybabtu.com>
35778
35779 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
35780
4ca049a3 357812008-07-30 Robert Millan <rmh@aybabtu.com>
35782
35783 * term/i386/pc/vga_text.c (grub_console_cls): Use
35784 grub_console_gotoxy() to go back to beginning of the screen.
35785 Found by Patrick Georgi <patrick.georgi@coresystems.de>
35786
2921d337 357872008-07-29 Christian Franke <franke@computer.org>
35788
35789 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35790 Add conversion of emulated mount points on Cygwin.
35791
b609876d 357922008-07-29 Christian Franke <franke@computer.org>
35793
35794 * util/update-grub.in: Add a check for admin
35795 group on Cygwin.
35796 Remove old `grub.cfg.new' before creation.
35797 Add `-f' to `mv' to handle the different filesystem
35798 semantics of Windows.
35799
e93e4679 358002008-07-29 Bean <bean123ch@gmail.com>
35801
35802 * normal/main.c (get_line): Fix buffer overflow bug.
35803
41694fd0 358042008-07-28 Robert Millan <rmh@aybabtu.com>
35805
35806 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
35807 (struct grub_apple_header): New struct. Describes the layout of
35808 the partmap header.
35809 (apple_partition_map_iterate): Check the header magic as well as the
35810 partition magic (which was already being checked).
35811
cfd0b4e6 358122008-07-28 Pavel Roskin <proski@gnu.org>
35813
35814 * genmk.rb: Add a warning to the beginning of the output that
35815 it's a generated file and should not be edited.
35816
93cce016 358172008-07-28 Robert Millan <rmh@aybabtu.com>
35818
35819 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35820 with the same number are found, just use issue a warning with
35821 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 35822
cd1df915 358232008-07-27 Robert Millan <rmh@aybabtu.com>
35824
35825 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
35826 information.
35827
b70a8427 358282008-07-27 Bean <bean123ch@gmail.com>
35829
35830 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
35831 (grub_fat_find_dir): Ignore case when comparing filename.
35832
8f5e379f 358332008-07-27 Bean <bean123ch@gmail.com>
35834
35835 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
35836 smallino, as it's more descriptive, and i8count can be confused with
35837 the other field count.
35838 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
35839 inode type.
35840
a85cd5a0 358412008-07-27 Bean <bean123ch@gmail.com>
35842
35843 * commands/crc.c: New file.
35844
35845 * lib/crc.c: Likewise.
35846
35847 * include/grub/lib/crc.h: Likewise.
35848
35849 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
35850
35851 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
35852 (hexdump): Move this function to ...
35853
35854 * lib/hexdump.c: ... here.
35855
35856 * include/grub/hexdump.h: Renamed to ...
35857
35858 * include/grub/lib/hexdump.h: ... this.
35859
35860 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35861
35862 * util/grub-editenv.c: Likewise.
35863
35864 * include/envblk.h: Renamed to ...
35865
35866 * include/lib/envblk.h: ... this.
35867
35868 * util/envblk.c: Renamed to ...
35869
35870 * lib/envblk.c: ... this.
35871
35872 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35873 lib/hexdump.c.
35874 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35875 (pkglib_MODULES): Add crc.mod.
35876 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35877 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35878 (crc_mod_SOURCES): New macro.
35879 (crc_mod_CFLAGS): Likewise.
35880 (crc_mod_LDFLAGS): Likewise.
35881
35882 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35883
35884 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35885
35886 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35887
35888 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35889
35890 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35891
c298def0 358922008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 35893
35894 * commands/help.c: Include <grub/term.h>.
35895 (TERM_WIDTH): Removed. Updated all users.
35896
cc349fb3 358972008-07-27 Pavel Roskin <proski@gnu.org>
35898
35899 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35900 spurious warnings about a comment within a comment.
35901
9051607e 359022008-07-25 Robert Millan <rmh@aybabtu.com>
35903
35904 * util/getroot.c (find_root_device): Skip devices that match
35905 /dev/dm-[0-9]. This lets the real device be found for any type of
35906 abstraction (LVM, EVMS, RAID..).
35907 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35908 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35909 device is found first, find_root_device() will now skip it.
35910
01453bfc 359112008-07-24 Pavel Roskin <proski@gnu.org>
35912
35913 * include/grub/types.h: Use __builtin_bswap32() and
35914 __builtin_bswap64() with gcc 4.3 and newer.
35915
6af9849f 359162008-07-24 Christian Franke <franke@computer.org>
35917
3a0fa256 35918 * util/i386/pc/grub-install.in: If `--debug' is specified,
35919 pass `--verbose' to grub-setup.
35920 Abort script if make_system_path_relative_to_its_root() fails.
35921
7810e747 359222008-07-24 Bean <bean123ch@gmail.com>
35923
35924 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35925 variable `target_platform' should be `platform'.
35926
42290e17 359272008-07-24 Bean <bean123ch@gmail.com>
35928
51cc5193 35929 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 35930 (grub_png_init_fixed_block): New function.
35931 (grub_png_decode_image_data): Handle fixed huffman code compression.
35932
2a8a80e4 359332008-07-24 Bean <bean123ch@gmail.com>
35934
35935 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35936 (grub_pe2elf_SOURCES): New macro.
35937 (CLEANFILES): Add grub-pe2elf.
35938
35939 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35940 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35941 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35942 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35943 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35944 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35945 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35946 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35947 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35948 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35949 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35950 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35951 (GRUB_PE32_DT_FUNCTION): Likewise.
35952 (GRUB_PE32_REL_I386_DIR32): Likewise.
35953 (GRUB_PE32_REL_I386_REL32): Likewise.
35954 (grub_pe32_symbol): New structure.
35955 (grub_pe32_reloc): Likewise.
35956
35957 * util/grub-pe2elf.c: New file.
35958
35959 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35960 start symbol in non pc platform.
35961
35962 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35963
35964 The following patches are from Christian Franke.
35965
35966 * include/grub/dl.h: Remove .previous, gas supports this only
35967 for ELF format.
35968
35969 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35970 Remove .type, gas supports this only for ELF format.
35971
35972 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35973 nullbytes in symbol table. This fixes an infinite loop if table is
35974 zero filled.
35975
35976 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35977 TARGET_IMG_LDFLAGS and EXEEXT.
35978
35979 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35980 TARGET_IMG_LDFLAGS_AC.
35981 (grub_CHECK_STACK_ARG_PROBE): New function.
35982
35983 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35984
35985 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35986
35987 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35988 to set TARGET_IMG_LD* accordingly.
35989 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35990 Add call to grub_CHECK_STACK_ARG_PROBE.
35991 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35992
35993 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35994
35995 * genmk.rb: Add EXEEXT to CLEANFILES.
35996
12ccdb75 359972008-07-23 Robert Millan <rmh@aybabtu.com>
35998
35999 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
36000 define the codes for arrows and lines used for the menu).
36001 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
36002 as well.
36003
36004 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
36005 fonts, because the latter are too slow.
36006
18eeaf04 360072008-07-21 Bean <bean123ch@gmail.com>
36008
36009 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
36010 a20. Run keyboard test last, as it will cause macbook to halt.
36011
b095e2ad 360122008-07-18 Pavel Roskin <proski@gnu.org>
36013
36014 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
36015 load foreign architecture modules correctly anyway. Keep
36016 support for loading host architecture modules, whether we
36017 compile them or not.
36018
737feb35 360192008-07-17 Pavel Roskin <proski@gnu.org>
36020
3f4ce737 36021 * configure.ac: Use -m32 or -m64 regardless of whether we had to
36022 change target_cpu. The compiler default can mismatch target_cpu
36023 in any case.
36024
4ad2d049 36025 * disk/efi/efidisk.c: Fix format warnings on x86_64.
36026 * kern/efi/efi.c: Likewise.
36027
f6130a12 36028 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
36029 target compiler is functional.
36030 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
36031 are set up.
36032
58393a2d 36033 * configure.ac: Default to efi platform for x86_64-apple. Allow
36034 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
36035 adjustments from the rest, only do them if target is not
36036 explicitly given. Merge other adjustments with the final sanity
36037 check. Remove an extraneous check for supported CPU. Be
36038 specific which CPU and which platform is not supported.
36039
737feb35 36040 * configure.ac: Default to pc platform for x86_64.
36041
546f966a 360422008-07-17 Robert Millan <rmh@aybabtu.com>
36043
36044 Partial LinuxBIOS -> Coreboot rename.
36045
36046 * conf/i386-linuxbios.rmk: Renamed to ...
36047 * conf/i386-coreboot.rmk: ... this.
36048 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
36049 * configure.ac: Accept "coreboot" as input platform (but maintain
36050 compatibility with "linuxbios").
36051 * include/grub/i386/linuxbios: Renamed to ...
36052 * include/grub/i386/coreboot: ... this.
36053
20011694 360542008-07-17 Bean <bean123ch@gmail.com>
36055
36056 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 36057 (appleldr_mod_SOURCE): New variable.
20011694 36058 (appleldr_mod_CFLAGS): Likewise.
36059 (appleldr_mod_LDFLAGS): Likewise.
36060 (pci_mod_SOURCES): Likewise.
36061 (pci_mod_CFLAGS): Likewise.
36062 (pci_mod_LDFLAGS): Likewise.
36063 (lspci_mod_SOURCES): Likewise.
36064 (lspci_mod_CFLAGS): Likewise.
36065 (lspci_mod_LDFLAGS): Likewise.
36066
36067 * conf/x86_64-efi.rmk: New file.
36068
36069 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
36070 macro.
36071 (grub_efidisk_write): Likewise.
36072
36073 * include/efi/api.h (efi_call_0): New macro.
36074 (efi_call_1): Likewise.
36075 (efi_call_2): Likewise.
36076 (efi_call_3): Likewise.
36077 (efi_call_4): Likewise.
36078 (efi_call_5): Likewise.
36079 (efi_call_6): Likewise.
36080
36081 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
36082 grub_rescue_cmd_chainloader.
36083
36084 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
36085 (grub_pe32_optional_header): Change some fields based on i386 or
36086 x86_64 platform.
36087 (GRUB_PE32_PE32_MAGIC): Likewise.
36088
36089 * include/grub/efi/uga_draw.h: New file.
36090
36091 * include/grub/elf.h (STN_ABS): New constant.
36092 (R_X86_64_NONE): Relocation constant for x86_64.
36093 (R_X86_64_64): Likewise.
36094 (R_X86_64_PC32): Likewise.
36095 (R_X86_64_GOT32): Likewise.
36096 (R_X86_64_PLT32): Likewise.
36097 (R_X86_64_COPY): Likewise.
36098 (R_X86_64_GLOB_DAT): Likewise.
36099 (R_X86_64_JUMP_SLOT): Likewise.
36100 (R_X86_64_RELATIVE): Likewise.
36101 (R_X86_64_GOTPCREL): Likewise.
36102 (R_X86_64_32): Likewise.
36103 (R_X86_64_32S): Likewise.
36104 (R_X86_64_16): Likewise.
36105 (R_X86_64_PC16): Likewise.
36106 (R_X86_64_8): Likewise.
36107 (R_X86_64_PC8): Likewise.
36108
36109 * include/grub/i386/efi/pci.h: New file.
36110
36111 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
36112 Change it value based on platform.
36113 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
36114 (GRUB_E820_RAM): Likewise.
36115 (GRUB_E820_RESERVED): Likewise.
36116 (GRUB_E820_ACPI): Likewise.
36117 (GRUB_E820_NVS): Likewise.
36118 (GRUB_E820_EXEC_CODE): Likewise.
36119 (GRUB_E820_MAX_ENTRY): Likewise.
36120 (grub_e820_mmap): New structure.
36121 (linux_kernel_header): Change the efi field according to different
36122 kernel version, also field from linux_kernel_header.
36123
36124 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
36125
36126 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
36127 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
36128 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
36129 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
36130 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
36131 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
36132 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
36133 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
36134 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
36135 (GRUB_PCI_ADDR_IO_MASK): Likewise.
36136
36137 * include/grub/x86_64/efi/kernel.h: New file.
36138
36139 * include/grub/x86_64/efi/loader.h: Likewise.
36140
36141 * include/grub/x86_64/efi/machine.h: Likewise.
36142
36143 * include/grub/x86_64/efi/pci.h: Likewise.
36144
36145 * include/grub/x86_64/efi/time.h: Likewise.
36146
36147 * include/grub/x86_64/linux.h: Likewise.
36148
36149 * include/grub/x86_64/setjmp.h: Likewise.
36150
36151 * include/grub/x86_64/time.h: Likewise.
36152
36153 * include/grub/x86_64/types.h: Likewise.
36154
36155 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
36156 GRUB_TARGET_SIZEOF_VOID_P.
36157
36158 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
36159 (grub_efi_locate_handle): Likewise.
36160 (grub_efi_open_protocol): Likewise.
36161 (grub_efi_set_text_mode): Likewise.
36162 (grub_efi_stall): Likewise.
36163 (grub_exit): Likewise.
36164 (grub_reboot): Likewise.
36165 (grub_halt): Likewise.
36166 (grub_efi_exit_boot_services): Likewise.
36167 (grub_get_rtc): Likewise.
36168
36169 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
36170 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
36171 (grub_efi_allocate_pages): Wrap efi calls.
36172 (grub_efi_free_pages): Wrap efi calls.
36173 (grub_efi_get_memory_map): Wrap efi calls.
36174
36175 * kern/x86_64/dl.c: New file.
36176
36177 * kern/x86_64/efi/callwrap.S: Likewise.
36178
36179 * kern/x86_64/efi/startup.S: Likewise.
36180
36181 * loader/efi/appleloader.c: Likewise.
36182
36183 * loader/efi/chainloader.c (cmdline): New variable.
36184 (grub_chainloader_unload): Wrap efi calls.
36185 (grub_chainloader_boot): Likewise.
36186 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
36187 command line.
36188
36189 * loader/efi/chainloader_normal.c (chainloader_command):
36190 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
36191 command line.
36192
36193 * loader/i386/efi/linux.c (allocate_pages): Change allocation
36194 method.
36195 (grub_e820_add_region): New function.
36196 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
36197 booting.
36198 (grub_find_video_card): New function.
36199 (grub_linux_setup_video): New function.
36200 (grub_rescue_cmd_linux): Probe for video information.
36201
36202 * normal/x86_64/setjmp.S: New file.
36203
36204 * term/efi/console.c (map_char): New function.
36205 (grub_console_putchar): Map unicode char.
36206 (grub_console_checkkey): Wrap efi calls.
36207 (grub_console_getkey): Likewise.
36208 (grub_console_getwh): Likewise.
36209 (grub_console_gotoxy): Likewise.
36210 (grub_console_cls): Likewise.
36211 (grub_console_setcolorstate): Likewise.
36212 (grub_console_setcursor): Likewise.
36213
36214 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
36215
59652a20 362162008-07-16 Pavel Roskin <proski@gnu.org>
36217
ef294055 36218 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
36219 format strings.
36220
59652a20 36221 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
36222 pointer, not an integer. This fixes a warning and prevents
36223 precision loss on 64-bit systems.
36224 (relocate_addresses): Remove unneeded cast.
36225
afc3b5d7 362262008-07-15 Pavel Roskin <proski@gnu.org>
36227
506b2b3e 36228 * kern/i386/ieee1275/init.c: Include grub/cache.h.
36229
62ead89c 36230 * term/ieee1275/ofconsole.c: Disable code unused on i386.
36231
c4cd51d7 36232 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
36233 Fix comparison between signed and unsigned.
36234
0d3d8f28 36235 * include/grub/i386/ieee1275/console.h: Declare
36236 grub_console_init() and grub_console_fini().
36237
8804b286 36238 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
36239 It's empty and unused.
36240
ee01cf35 36241 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
36242 beginning to avoid warnings with some compilers.
36243
afc3b5d7 36244 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
36245 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
36246
e4e8eaa5 362472008-07-14 Pavel Roskin <proski@gnu.org>
36248
407aceb4 36249 * kern/env.c (grub_register_variable_hook): Don't copy empty
36250 string, it leaks memory. Pass "" to grub_env_set(), it should
36251 handle constant strings.
36252
e4e8eaa5 36253 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
36254 * commands/cmp.c (grub_cmd_cmp): Likewise.
36255 * kern/dl.c (grub_dl_flush_cache): Likewise.
36256 (grub_dl_load_core): Likewise.
36257 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
36258 (grub_elf64_load_phdrs): Likewise.
36259
d4e2dad3 362602008-07-13 Pavel Roskin <proski@gnu.org>
36261
36262 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
36263 between signed and unsigned.
36264 (LzmaEnc_Finish): Fix warning about an unused parameter.
36265
aa24b516 362662008-07-13 Bean <bean123ch@gmail.com>
36267
36268 * Makefile.in (enable_lzo): New rule.
36269
36270 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
36271
36272 * configure.ac (ENABLE_LZO): New option --enable-lzo.
36273
36274 * boot/i386/pc/lnxboot.S: #include <config.h>.
36275
36276 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 36277 its value according to the compression algorithm used, lzo or lzma.
aa24b516 36278
36279 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
36280 compression algorithm according to configure macro.
36281
36282 * kern/i386/pc/startup.S (codestart): Likewise.
36283
36284 * kern/i386/pc/lzma_decode.S: New file.
36285
36286 * include/grub/lib/LzFind.h: Likewise.
36287
36288 * include/grub/lib/LzHash.h: Likewise.
36289
36290 * include/grub/lib/LzmaDec.h: Likewise.
36291
36292 * include/grub/lib/LzmaEnc.h: Likewise.
36293
36294 * include/grub/lib/LzmaTypes.h: Likewise.
36295
36296 * lib/LzFind.c: Likewise.
36297
36298 * lib/LzmaDec.c: Likewise.
36299
36300 * lib/LzmaEnc.c: Likewise.
36301
4ae821ac 363022008-07-13 Bean <bean123ch@gmail.com>
36303
36304 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
36305 (grub_ext4_extent_header): New structure.
36306 (grub_ext4_extent): Likewise.
36307 (grub_ext4_extent_idx): Likewise.
36308 (grub_ext4_find_leaf): New function.
36309 (grub_ext2_read_block): Handle extents.
36310
9a745147 363112008-07-12 Robert Millan <rmh@aybabtu.com>
36312
36313 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
36314
d49a4cf6 363152008-07-11 Robert Millan <rmh@aybabtu.com>
36316
36317 * util/grub.d/40_custom.in: New file. Example on how to add custom
36318 entries to /etc/grub.d.
36319 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
36320 40_custom (implicitly, by merging all the grub.d rules).
36321
947414b4 363222008-07-11 Pavel Roskin <proski@gnu.org>
36323
0059cf6f 36324 * commands/read.c (grub_getline): Fix invalid memory access.
36325 Don't add newline to the variable value.
36326
947414b4 36327 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
36328 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
36329 (serial_hw_get_port): Check validity of the port number.
36330 (grub_cmd_serial): Check return value of serial_hw_get_port().
36331
62a02d00 363322008-07-07 Pavel Roskin <proski@gnu.org>
36333
36334 * boot/i386/pc/diskboot.S (notification_string): Replace
36335 "Loading kernel" with just "loading". This is shorter, less
36336 confusing and saves a few bytes for possible future changes.
36337
3e5581b0 363382008-07-05 Pavel Roskin <proski@gnu.org>
36339
ea387a48 36340 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
36341 size for ATAPI devices, they are undefined. Output sector
36342 number in decimal form.
36343
3e5581b0 36344 * disk/ata.c: Use named constants for status bits.
36345
fdecb8fd 363462008-07-04 Pavel Roskin <proski@gnu.org>
36347
bcd35b90 36348 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
36349 grub_addr_t before casting it to the void pointer to fix a
36350 warning. Non-addressable regions are discarded earlier.
36351 (grub_arch_modules_addr): Cast _end to grub_addr_t.
36352 * kern/i386/linuxbios/table.c: Include grub/misc.h.
36353 (check_signature): Don't shadow table_header.
36354 (grub_linuxbios_table_iterate): Cast numeric constants to
36355 grub_linuxbios_table_header_t.
36356 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
36357 grub_stop().
36358
af58ab3d 36359 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
36360 prevent warnings.
36361
1759aa57 36362 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
36363 pointer, which can cause warnings. Support 64-bit addresses.
36364
fdecb8fd 36365 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
36366 of sizeof(long). This fixes PowerPC image generation on x86_64.
36367
8516d2a8 363682008-07-04 Robert Millan <rmh@aybabtu.com>
36369
36370 This fixes a performance issue when pc & gpt partmap iterators
36371 didn't abort iteration even after our hook found what it was
fe987087 36372 looking for (often causing expensive probes of non-existent drives).
8516d2a8 36373
36374 Some callers relied on previous buggy behaviour, since they would
34c44600 36375 raise an error when their own hooks caused early abortion of its
8516d2a8 36376 iteration.
36377
36378 * kern/device.c (grub_device_open): Improve error message.
36379 * disk/lvm.c (grub_lvm_open): Likewise.
36380 * disk/raid.c (grub_raid_open): Likewise.
36381
36382 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
36383 when hook requests it, independently of grub_errno.
36384 (pc_partition_map_probe): Do not fail when find_func() caused
36385 early abortion of pc_partition_map_iterate().
36386
36387 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
36388 when hook requests it, independently of grub_errno.
36389 (gpt_partition_map_probe): Do not fail when find_func() caused
36390 early abortion of gpt_partition_map_iterate().
36391
36392 * kern/partition.c (grub_partition_iterate): Abort parent iteration
36393 when hook requests it, independently of grub_errno. Do not fail when
36394 part_map_iterate_hook() caused early abortion of p->iterate().
36395
36396 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
36397 when grub_partition_iterate() returned with non-zero.
36398
277d0de9 363992008-07-03 Pavel Roskin <proski@gnu.org>
36400
36401 * disk/ata.c (grub_ata_pio_write): Check status before writing,
36402 like we do in grub_ata_pio_read().
36403 (grub_ata_readwrite): Always write individual sectors. Fix the
36404 sector count for the remainder.
36405 (grub_ata_write): Enable writing to ATA devices. Correctly
36406 report error for ATAPI devices.
36407
d4c9b428 364082008-07-02 Pavel Roskin <proski@gnu.org>
36409
e43fc690 36410 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
36411 warning.
36412
f707af42 36413 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
36414 for every read sector, we already increment it for the whole
36415 batch. This fixes reading more than 256 sectors at once.
36416
11e16b15 36417 * util/grub-editenv.c (cmd_info): Cast argument to long
36418 explicitly. ptrdiff_t reduces to int on i386.
36419
cbabfdd4 36420 * util/grub-editenv.c (main): Be specific which parameter is
36421 missing.
36422
b8fbce0a 36423 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
36424 (memdisk): Make memdisk_orig_addr a pointer.
36425
c9c8e606 36426 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
36427 for file offsets, use grub_off_t instead. Fix printf format
36428 warnings.
36429
ca62e598 36430 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
36431 there. Real unexpected warnings should not drown in the noise
36432 about known problems.
36433
ce8d1766 36434 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
36435 grub_disk_addr_t for memory addresses.
36436
00c7a56a 36437 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
36438 explicitly to fix a warning.
36439
08d3ef09 36440 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
36441
cb71ba20 36442 * Makefile.in (MODULE_LDFLAGS): New variable.
36443 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
36444 the linker accepts --build-id=none.
36445 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
36446 MODULE_LDFLAGS.
36447 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
36448
d4c9b428 36449 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
36450 those in Linux XFS code. Provide a way to access 64-bit parent
36451 inode.
36452 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
36453 the end of struct grub_xfs_dir_header.
36454
d4156eee 364552008-07-02 Bean <bean123ch@gmail.com>
36456
36457 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
36458 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36459 and GRUB_IEEE1275_FLAG_NO_ANSI.
36460
36461 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
36462 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36463 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
36464
36465 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
36466 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
36467
36468 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
36469 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
36470
36471 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
36472 esc sequence on non ANSI terminal.
36473 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
36474
36475 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
36476 beginning of file.
36477
2270f77b 364782008-07-02 Bean <bean123ch@gmail.com>
36479
36480 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
36481 (grub_editenv_SOURCES): New variable.
36482 (pkglib_MODULES): Add loadenv.mod.
36483 (loadenv_mod_SOURCES): New variable.
36484 (loadenv_mod_CFLAGS): Likewise.
36485 (loadenv_mod_LDFLAGS): Likewise.
36486
36487 * include/grub/envblk.h: New file.
36488
36489 * util/envblk.c: New file.
36490
36491 * util/grub-editenv.c: New file.
36492
36493 * commands/loadenv.c: New file.
36494
0e9e51ec 364952008-07-01 Pavel Roskin <proski@gnu.org>
36496
d89b7634 36497 * include/multiboot2.h (struct multiboot_tag_module): Use char,
36498 not unsigned char. This fixes warnings and is consistent with
36499 other tags.
36500
bf1835b1 36501 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
36502
8222a04b 36503 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
36504
6a42d99d 36505 * term/tparm.c (analyze): Always set *popcount.
36506
10b159d1 36507 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
36508 cast to fix a warning.
36509
b8789f6c 36510 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
36511 cast to suppress a warning.
36512
29d7e38a 36513 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
36514 grub_fshelp_read_file() expects.
36515
f341f669 36516 * fs/fat.c: Fix UUID calculation on big-endian systems. We
36517 write uuid as a 32-bit value in CPU byte order, so declare and
36518 use it as such.
36519
0e9e51ec 36520 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
36521 long if the format specifier expects it.
36522 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
36523 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36524 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
36525 long to fix a warning.
36526 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
36527 grub_dprintf() arguments to fix warnings.
36528
3aefa857 365292008-06-30 Pavel Roskin <proski@gnu.org>
36530
56c7668b 36531 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
36532 install_bsd_part immediately before core.img is embedded or
36533 modified on disk. This fixes core.img verification if core.img
36534 cannot be embedded.
36535
3aefa857 36536 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
36537 core_path to calculate the blocklist.
36538 Patch from Javier Martín <lordhabbit@gmail.com>
36539
5444088d 365402008-06-29 Robert Millan <rmh@aybabtu.com>
36541
36542 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
36543 block to disk block.
36544 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
36545 Patch from Niels Böhm <bitbucket@arcor.de>
36546
674835c8 365472008-06-29 Robert Millan <rmh@aybabtu.com>
36548
36549 * util/update-grub_lib.in (font_path): Search for fonts in
36550 /boot/grub first, which is more likely to be readable (we aren't
36551 deciding where fonts live, just looking for them).
36552
f527dbc8 365532008-06-26 Pavel Roskin <proski@gnu.org>
36554
6c2d8df6 36555 * util/biosdisk.c (read_device_map): Don't leave dead map
36556 entries for devices failing stat() check.
36557
f527dbc8 36558 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
36559 core_path_dev for the core.img path on the target device.
36560
aebe3d13 365612008-06-26 Robert Millan <rmh@aybabtu.com>
36562
36563 * disk/fs_uuid.c: New file.
36564 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
36565 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
36566 (fs_uuid_mod_LDFLAGS): New variables.
36567 * include/grub/disk.h (grub_disk_dev_id): Add
36568 `GRUB_DISK_DEVICE_UUID_ID'.
36569 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
36570 implement iterate().
36571
37aaf354 365722008-06-26 Robert Millan <rmh@aybabtu.com>
36573
36574 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
36575 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
36576 Linux image includes no initrd.
36577
25ff262a 365782008-06-21 Javier Martín <lordhabbit@gmail.com>
36579
36580 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
36581 call to resolve the core image location that effectively appended the
36582 name twice.
36583
76a2bd44 365842008-06-21 Robert Millan <rmh@aybabtu.com>
36585
36586 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
36587 call from here ...
36588
36589 * util/grub.d/10_hurd.in: ... to here ...
36590 * util/grub.d/10_linux.in: ... and here.
36591
650e1c79 365922008-06-19 Robert Millan <rmh@aybabtu.com>
36593
fe987087 36594 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 36595 after it has been set by grub_machine_set_prefix().
36596
6ce63911 365972008-06-19 Robert Millan <rmh@aybabtu.com>
36598
36599 * commands/search.c (search_label, search_fs_uuid, search_file): Print
36600 search result when not saving to variable, not the other way around.
36601 When saving to variable, abort iteration as soon as a match is found.
36602
73940cec 366032008-06-19 Robert Millan <rmh@aybabtu.com>
36604
36605 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
36606 check for partition that provides /boot/grub. Its logic is flawed,
36607 as it prevents prepare_grub_to_access_device() from being called
36608 multiple times.
36609
3c62a39d 366102008-06-19 Robert Millan <rmh@aybabtu.com>
36611
36612 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
36613 "insmod" command directly when abstraction modules are needed,
fe987087 36614 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 36615 since it had already been processed).
36616
47395a42 366172008-06-19 Pavel Roskin <proski@gnu.org>
36618
36619 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
36620 changed. This is needed in case GRUB_LIBDIR changes.
36621 * conf/i386-ieee1275.rmk: Likewise.
36622 * conf/i386-linuxbios.rmk: Likewise.
36623 * conf/i386-pc.rmk: Likewise.
36624 * conf/powerpc-ieee1275.rmk: Likewise.
36625
a145ac2d 366262008-06-18 Pavel Roskin <proski@gnu.org>
36627
36628 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
36629 kernel_elf_symlist.c to symlist.c for consistency with other
36630 architectures. Update all users.
36631 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36632
7847c51e 366332008-06-18 Robert Millan <rmh@aybabtu.com>
36634
36635 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
36636 it in prefix.
36637
36638 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
36639 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
36640 a RAID device, run setup() for all members independently on whether
36641 LVM abstraction is being used.
36642 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
36643 If grub-mkimage has set `*install_dos_part == -2', don't override this
36644 value.
36645 Perform *install_dos_part adjustments independently on whether
36646 we're embedding or not.
36647 Clarify error message when image is too big for embedding.
36648 Remove duplicate *install_dos_part stanza.
36649
b23e5644 366502008-06-17 Robert Millan <rmh@aybabtu.com>
36651
36652 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
36653 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
36654 variables.
36655 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
36656 values in grub_ofconsole_normal_color and
36657 grub_ofconsole_highlight_color (they're not directly related to
36658 background and foreground).
36659 (grub_ofconsole_setcolorstate): Extract background and foreground
36660 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
36661
0aac2f79 366622008-06-17 Robert Millan <rmh@aybabtu.com>
36663
36664 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
36665 /boot/grub for the check in last commit, not /boot (they could be
36666 different partitions).
36667
3cca7ef3 366682008-06-16 Robert Millan <rmh@aybabtu.com>
36669
36670 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
36671 asked to setup access for the same partition that provides /boot,
36672 don't bother using UUIDs since our root already has the value we
36673 want.
36674
347396d8 366752008-06-16 Robert Millan <rmh@aybabtu.com>
36676
36677 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
36678 I2O devices.
36679 Patch from Sven Mueller <sven@debian.org>.
36680
991477f8 366812008-06-16 Robert Millan <rmh@aybabtu.com>
36682
36683 * util/update-grub.in: Check for $EUID instead of $UID.
36684 Reported by Vincent Zweije.
36685
d31a32a1 366862008-06-16 Bean <bean123ch@gmail.com>
36687
fe987087 36688 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 36689 (grub_ext2_read_block): Likewise.
36690 (grub_ext2_read_inode): Likewise.
36691 (grub_ext2_mount): Likewise.
36692 (grub_ext2_close): Likewise.
36693 (grub_ext3_get_journal): Removed.
36694
fe987087 36695 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 36696 (grub_reiserfs_read_symlink): Likewise.
36697 (grub_reiserfs_mount): Likewise.
36698 (grub_reiserfs_open): Likewise.
36699 (grub_reiserfs_read): Likewise.
36700 (grub_reiserfs_close): Likewise.
36701 (grub_reiserfs_get_journal): Removed.
36702
36703 * fs/fshelp.c (grub_fshelp_read): Removed.
36704 (grub_fshelp_map_block): Likewise.
36705
36706 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
36707 (grub_fshelp_journal): Likewise.
36708 (grub_fshelp_read): Likewise.
36709 (grub_fshelp_map_block): Likewise.
36710
3540a760 367112008-06-16 Pavel Roskin <proski@gnu.org>
36712
36713 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
36714 floating point anymore.
36715 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
36716
95614c84 367172008-06-15 Pavel Roskin <proski@gnu.org>
36718
36719 * commands/ls.c (grub_ls_list_files): Use integer calculations
36720 for human readable format, avoid floating point use.
36721 * kern/misc.c (grub_ftoa): Remove.
36722 (grub_vsprintf): Remove floating point support.
36723
50465dd6 367242008-06-15 Robert Millan <rmh@aybabtu.com>
36725
fe6b695a 36726 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 36727 devices.
36728 Reported by Max Vozeler.
36729
a9207284 367302008-06-15 Robert Millan <rmh@aybabtu.com>
36731
36732 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
36733 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
36734 skipped later.
36735 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
36736 the beginning of the prefix.
36737
36738 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
36739 It is assumed that if we have a memdisk, grub-mkimage has set
36740 grub_prefix to include the "(memdisk)" drive in it.
36741
a7cbd45a 367422008-06-15 Robert Millan <rmh@aybabtu.com>
36743
36744 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
36745 Initialize keyboard controller after registering the terminal, so that
36746 grub_printf() can be called from grub_keyboard_controller_init().
36747
21cf716a 367482008-06-15 Robert Millan <rmh@aybabtu.com>
36749
36750 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
36751 extent-btree which is written as big endian on disk.
36752 Reported by Alain Greppin <al@chilibi.org>.
36753
23a64d8e 367542008-06-14 Robert Millan <rmh@aybabtu.com>
36755
36756 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
36757 * util/i386/pc/grub-install.in (modules): Likewise.
36758
d687651c 367592008-06-13 Pavel Roskin <proski@gnu.org>
36760
36761 * commands/ls.c (grub_ls_list_files): Fix format warnings.
36762
dfe9ddd4 367632008-06-13 Bean <bean123ch@gmail.com>
36764
36765 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
36766
36767 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
36768
36769 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
36770 to indicate sparse block.
36771
16ae7781 367722008-06-12 Pavel Roskin <proski@gnu.org>
36773
e6d1a308 36774 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
36775 number, grub_fshelp_read() does it for us.
36776
16ae7781 36777 * fs/fshelp.c (grub_fshelp_read): New function. Implement
36778 linear disk read with journal translation.
36779 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
36780 * include/grub/fshelp.h: Declare grub_fshelp_read().
36781
40fd3a2b 367822008-06-09 Pavel Roskin <proski@gnu.org>
36783
36784 * fs/minix.c (grub_minix_mount): Handle error reading
36785 superblock.
36786
f5679726 367872008-06-08 Robert Millan <rmh@aybabtu.com>
36788
36789 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
36790 don't append the RAID prefix afterwards.
36791 Reported by Clint Adams.
36792
ce525529 367932008-06-08 Robert Millan <rmh@aybabtu.com>
36794
36795 Based on description from Pavel:
36796 * kern/disk.c (grub_disk_check_range): Rename to ...
36797 (grub_disk_adjust_range): ... this. Add a comment explaining the
36798 tasks performed by this function.
36799
ad4936a0 368002008-06-08 Robert Millan <rmh@aybabtu.com>
36801
36802 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
36803 `num_serial' (for consistency with other variables).
36804 (struct grub_ntfs_data): Add `uuid' member.
36805 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
36806 (grub_ntfs_uuid): New function.
36807 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
36808
dc20b0f9 368092008-06-07 Pavel Roskin <proski@gnu.org>
36810
36811 * util/biosdisk.c (open_device): Revert last change to the
36812 function, it broke installation. The sector needs to be
36813 different dependent on which device is opened.
36814
c5e3cfba 368152008-06-06 Robert Millan <rmh@aybabtu.com>
36816
36817 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
36818 rest of GRUB, and breakage doesn't happen if its value were modified.
36819
36820 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36821 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
36822 a constant (same value).
36823 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
36824 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
36825
26a1f8c4 368262008-06-06 Robert Millan <rmh@aybabtu.com>
36827
36828 * util/biosdisk.c (open_device): Do not modify sector offset when
36829 accessing a partition. kern/disk.c already handles this for us.
36830
25d6b327 368312008-06-06 Robert Millan <rmh@aybabtu.com>
36832
36833 * util/grub-emu.c (grub_machine_init): Move code in this function from
36834 here ...
36835 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
36836 segfault in case grub_printf() is called).
36837
36838 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
36839 grub_probe. Update all users not to explicitly add it again.
36840 (grub_device): New variable; contains corresponding device for grubdir.
36841 (fs_module, partmap_module, devabstraction_module): Pass
36842 `--device ${grub_device}' to grub_probe to avoid traversing /dev
36843 every time.
36844
9ece62fb 368452008-06-05 Robert Millan <rmh@aybabtu.com>
36846
36847 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
36848 is found, print it (same layout as with labels).
36849
1ad36d37 368502008-06-04 Robert Millan <rmh@aybabtu.com>
36851
36852 * util/biosdisk.c (get_drive): Rename to ...
36853 (find_grub_drive): ... this. Update all users.
36854
36855 (get_os_disk): Rename to ...
36856 (convert_system_partition_to_system_disk): ... this. Update all users.
36857
36858 (find_drive): Rename to ...
36859 (find_system_device): ... this. Update all users.
36860
e6a30859 368612008-06-04 Robert Millan <rmh@aybabtu.com>
36862
36863 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36864 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36865 (make_device_map): Likewise.
36866
00c108a4 368672008-06-01 Robert Millan <rmh@aybabtu.com>
36868
36869 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36870 before dereferencing it.
36871
36872 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36873 union with fat12/fat16-specific ones. Add some new fields, including
36874 `num_serial' for both versions.
36875 (struct grub_fat_data): Add `uuid' member.
36876 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36877 names. Initialize `data->uuid' using `num_serial'.
36878 (grub_fat_uuid): New function.
36879 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36880
36881 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36882 (grub_reiserfs_uuid): New function.
36883 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36884 member.
36885
36886 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36887 (grub_xfs_uuid): New function.
36888 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36889
1385c5bb 368902008-06-01 Robert Millan <rmh@aybabtu.com>
36891
36892 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36893 code that is backward compatible with pre-uuid search command.
36894
c682dfd7 368952008-05-31 Robert Millan <rmh@aybabtu.com>
36896
36897 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36898 floppies after everything else, to ensure floppy drive isn't accessed
36899 unnecessarily (patch from Bean).
36900
b7db5d47 369012008-05-31 Robert Millan <rmh@aybabtu.com>
36902
36903 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36904 not print device names when we were asked to set a variable.
36905
6e037aa9 369062008-05-31 Robert Millan <rmh@aybabtu.com>
36907
36908 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36909 using "cursor-on" and "cursor-off" commands (understood at least by
36910 the Open Firmware flavour on OLPC).
36911
41305bc8 369122008-05-31 Michael Gorven <michael@gorven.za.net>
36913
36914 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36915 on and off sequences.
36916
69ba137e 369172008-05-31 Robert Millan <rmh@aybabtu.com>
36918
36919 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36920 * util/update-grub.in: Likewise.
36921
520ae21b 369222008-05-30 Pavel Roskin <proski@gnu.org>
36923
36924 * util/biosdisk.c (linux_find_partition): Simplify logic and
36925 make the code more universal. Keep special processing for
36926 devfs, but use a simple rule for all other devices. If the
36927 device ends with a number, append 'p' and the partition number.
36928 Otherwise, append only the partition number.
36929
5786569b 369302008-05-30 Robert Millan <rmh@aybabtu.com>
36931
36932 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36933 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36934 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36935 the `root' parameter to Linux.
36936
51500452 369372008-05-30 Robert Millan <rmh@aybabtu.com>
36938
36939 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36940 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36941 --fs_uuid with --fs-uuid.
36942 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36943 all filesystems support them).
36944
811d3878 369452008-05-30 Robert Millan <rmh@aybabtu.com>
36946
36947 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 36948 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 36949
cab63c95 369502008-05-30 Robert Millan <rmh@aybabtu.com>
36951
36952 * util/grub.d/00_header.in: Remove obsolete comment referencing
36953 convert_system_path_to_grub_path().
36954 * util/update-grub.in: Likewise.
36955 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36956 (convert_system_path_to_grub_path): Add a warning message explaining
36957 that this function is deprecated. Rely on is_path_readable_by_grub()
36958 for the readability checks.
36959 (font_path): Use is_path_readable_by_grub() for the readability
36960 check rather than convert_system_path_to_grub_path().
36961
972e2f7a 369622008-05-30 Robert Millan <rmh@aybabtu.com>
36963
36964 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36965 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36966 converting it first.
36967 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36968 grub.cfg for access to font file, and afterwards call it again to set
36969 the root device.
36970
62191274 369712008-05-30 Robert Millan <rmh@aybabtu.com>
36972
36973 * commands/search.c (options): Add --fs_uuid option.
36974 (search_fs_uuid): New function.
36975 (grub_cmd_search): Fix --set argument passing.
36976 Use search_fs_uuid() when requested via --fs_uuid.
36977 (grub_search_init): Update help message.
36978 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36979 and redeclare it as an array of 16-bit words.
36980 (grub_ext2_uuid): New function.
36981 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36982 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36983 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36984 (GRUB_DEVICE_BOOT_UUID): New variables.
36985 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36986 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36987 whenever possible.
36988 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36989 just assume `root' variable has the right value.
36990 * util/grub.d/10_linux.in: Likewise.
36991 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36992 via PRINT_FS_UUID.
36993 (main): Recognise `-t fs_uuid' argument.
36994
01b73ec8 369952008-05-30 Robert Millan <rmh@aybabtu.com>
36996
36997 * util/biosdisk.c (map): Redefine structure to hold information
36998 about GRUB drive name.
fe6b695a 36999 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 37000 drive names.
37001 (call_hook): Remove.
37002 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
37003 member. Assume drive has partitions.
37004 (grub_util_biosdisk_open): Access device names via `.device' struct
37005 member.
37006 (open_device): Likewise.
37007 (find_drive): Likewise.
37008 (read_device_map): Adjust map[] usage to match the new struct
37009 definition. Don't check for duplicates (still possible, but not cheap
37010 anymore).
37011 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
37012 (make_device_name): Remove assumption of BIOS-like drive names.
37013
22f16596 370142008-05-30 Pavel Roskin <proski@gnu.org>
37015
37016 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
37017 compiling execute.c doesn't need grub_script.tab.h anymore.
37018 (normal/command.c_DEPENDENCIES): Likewise.
37019 (normal/function.c_DEPENDENCIES): Likewise.
37020 * conf/i386-ieee1275.rmk: Likewise.
37021 * conf/i386-linuxbios.rmk: Likewise.
37022 * conf/i386-pc.rmk: Likewise.
37023 * conf/powerpc-ieee1275.rmk: Likewise.
37024 * conf/sparc64-ieee1275.rmk: Likewise.
37025
528ad8f2 370262008-05-29 Pavel Roskin <proski@gnu.org>
37027
d1dff95d 37028 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
37029 when scanning metadata for volume group name.
37030
528ad8f2 37031 * include/grub/script.h: Don't include grub_script.tab.h. It's
37032 a generated file, which may only be included from the files with
37033 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
37034 use union YYSTYPE, as the later allows forward declaration.
37035 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
37036
47248e08 370372008-05-29 Robert Millan <rmh@aybabtu.com>
37038
37039 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
37040 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
37041 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
37042 (grub_console_checkkey): Add grub_dprintf() call to report unknown
37043 scan codes.
37044
ee632529 370452008-05-29 Robert Millan <rmh@aybabtu.com>
37046
37047 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
37048 control key combinations.
37049
eee96e08 370502008-05-29 Robert Millan <rmh@aybabtu.com>
37051
37052 * util/powerpc/ieee1275/grub-install.in: Move from here ...
37053 * util/ieee1275/grub-install.in: ... to here.
37054 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
37055 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
37056 (grub_install_SOURCES): Likewise.
37057
da9a6a94 370582008-05-29 Robert Millan <rmh@aybabtu.com>
37059
37060 * fs/affs.c: Update copyright year.
37061 * fs/ext2.c: Likewise.
37062 * fs/fshelp.c: Likewise.
37063 * fs/hfsplus.c: Likewise.
37064 * fs/ntfs.c: Likewise.
37065 * fs/xfs.c: Likewise.
37066 * include/grub/fshelp.h: Likewise.
37067 * util/grub-mkdevicemap.c: Likewise.
37068
12e65f3a 370692008-05-28 Robert Millan <rmh@aybabtu.com>
37070
37071 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
37072 might need to be fatfs to support some firmware implementations
37073 (e.g. OFW or EFI).
37074
23023641 370752008-05-28 Robert Millan <rmh@aybabtu.com>
37076
37077 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
37078 devices.
37079 * util/grub-mkdevicemap.c (get_mmc_disk_name)
37080 (make_device_map): Likewise.
37081
887d2619 370822008-05-20 Bean <bean123ch@gmail.com>
37083
37084 * fs/fshelp.c (grub_fshelp_map_block): New function.
37085 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
37086 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
37087
37088 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
37089 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
37090 (grub_fshelp_journal): New structure.
37091 (grub_fshelp_map_block): New function prototype.
37092 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
37093 (grub_fshelp_map_block): Likewise.
37094
37095 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
37096 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
37097 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
37098 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
37099 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
37100 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
37101 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
37102 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
37103 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
37104 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
37105 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
37106 (grub_ext2_sblock): New members for journal support.
37107 (grub_ext3_journal_header): New structure.
37108 (grub_ext3_journal_revoke_header): Likewise.
37109 (grub_ext3_journal_block_tag): Likewise.
37110 (grub_ext3_journal_sblock): Likewise.
37111 (grub_fshelp_node): New members logfile and journal.
37112 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
37113 grub_fshelp_map_block to get real block number.
37114 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
37115 number.
37116 (grub_ext2_read_inode): Likewise.
37117 (grub_ext3_get_journal): New function.
37118 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
37119 (grub_ext2_close): Release memory used by journal.
37120
37121 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
37122 (REISERFS_MAGIC_DESC_BLOCK): New macro.
37123 (grub_reiserfs_transaction_header): Renamed to
37124 grub_reiserfs_description_block, replace field data with real_blocks.
37125 (grub_reiserfs_commit_block): New structure.
37126 (grub_reiserfs_data): New member journal.
37127 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
37128 number.
37129 (grub_reiserfs_read_symlink): Likewise.
37130 (grub_reiserfs_iterate_dir): Likewise.
37131 (grub_reiserfs_open): Likewise.
37132 (grub_reiserfs_read): Likewise.
37133 (grub_reiserfs_get_journal): New function.
37134 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
37135 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
37136 using grub_reiserfs_get_journal.
37137 (grub_reiserfs_close): Release memory used by journal.
37138
37139 * fs/affs.c (grub_affs_read_block): Change block type to
37140 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
37141
37142 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
37143
37144 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
37145
37146 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
37147
37148 * fs/udf.c (grub_udf_read_block): Change block type to
37149 grub_disk_addr_t. Use type cast to avoid warning.
37150
37151 * fs/xfs.c (grub_xfs_read_block): Likewise.
37152
b7c6bed5 371532008-05-16 Christian Franke <franke@computer.org>
37154
37155 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
37156 to ensure that break with ESC will always work.
37157 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
37158 Remove ESC from keyboard queue.
37159
eedf167f 371602008-05-16 Christian Franke <franke@computer.org>
37161
37162 * util/biosdisk.c: [__CYGWIN__] Add includes.
37163 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
37164 (get_os_disk): Move variable declarations to OS specific
37165 parts to avoid warning.
37166 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
37167 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
37168 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
37169 Cygwin.
37170 * util/getroot.c: [__CYGWIN__] Add includes.
37171 (strip_extra_slashes): Fix "/" case.
37172 [__CYGWIN__] (get_win32_path): New function.
37173 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
37174 [__CYGWIN__] (find_root_device): Disable.
37175 [__CYGWIN__] (get_bootsec_serial): New function.
37176 [__CYGWIN__] (find_cygwin_root_device): Likewise.
37177 [__linux__] (grub_guess_root_device): Add early returns to simplify
37178 structure.
37179 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
37180 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
37181 check for Linux only.
37182
a079699e 371832008-05-15 Bean <bean123ch@gmail.com>
37184
37185 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
37186 keyboard hang problem in apple's intel mac.
37187
1cf4059a 371882008-05-09 Robert Millan <rmh@aybabtu.com>
37189
37190 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
37191 devices.
37192 * util/grub-mkdevicemap.c (get_virtio_disk_name)
37193 (make_device_map): Likewise.
37194 Reported by Aurelien Jarno <aurel32@debian.org>
37195
ed759390 371962008-05-07 Ian Campbell <ijc@hellion.org.uk>
37197
37198 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
37199 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
37200 (make_device_map): Output entries for xvd type disks.
37201
b56c4eaa 372022008-05-07 Robert Millan <rmh@aybabtu.com>
37203
37204 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
37205 devices.
37206 * util/grub-mkdevicemap.c (get_cciss_disk_name)
37207 (make_device_map): Likewise.
37208 Reported by Roland Dreier <rdreier@cisco.com>
37209
7f8866ed 372102008-05-07 Robert Millan <rmh@aybabtu.com>
37211
37212 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
37213 grub_strstr() call. Correct a few mistakes in failure path handling.
37214
b0346e0f 372152008-05-06 Robert Millan <rmh@aybabtu.com>
37216
37217 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
37218 Do not print a trailing slash (therefore, the root directory is an
37219 empty string).
37220 (convert_system_path_to_grub_path): Do not remove trailing slash
37221 from make_system_path_relative_to_its_root() output.
37222
37223 * util/i386/pc/grub-install.in: Add trailing slash to output from
37224 make_system_path_relative_to_its_root().
37225
6cf12cbd 372262008-05-06 Robert Millan <rmh@aybabtu.com>
37227
37228 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
37229 ensures that output lines aren't intermangled with those sent to
37230 stderr (via grub_util_info()).
37231 * util/grub-probe.c (grub_refresh): Likewise.
37232 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
37233
0fbb3117 372342008-05-05 Christian Franke <franke@computer.org>
37235
37236 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
37237 Add Cygwin device names.
37238 (get_ide_disk_name) [__CYGWIN__]: Likewise.
37239 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
37240 (check_device): Return error instead of success on empty name.
37241 (make_device_map): Move label inside linux specific code to
37242 prevent compiler warning.
37243
8124cdb7 372442008-04-30 Robert Millan <rmh@aybabtu.com>
37245
37246 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
37247 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
37248 first boot option.
37249 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
37250
094c01d0 372512008-04-29 Robert Millan <rmh@aybabtu.com>
37252
37253 * docs/grub.cfg: New file (example GRUB configuration).
37254
f4b1fc02 372552008-04-26 Robert Millan <rmh@aybabtu.com>
37256
329ce2a5 37257 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
37258 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
37259 and `disk/ieee1275/nand.c'.
f4b1fc02 37260
25f16ec1 372612008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 37262
25f16ec1 37263 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
37264 i386-linuxbios.
37265
37266 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
37267 change the buffer size to 4096 for cdrom device.
37268
37269 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
37270 and nand.mod.
37271 (_linux_mod_SOURCES): New variable.
37272 (_linux_mod_CFLAGS): Likewise.
37273 (_linux_mod_LDFLAGS): Likewise.
37274 (linux_mod_SOURCES): Likewise.
37275 (linux_mod_CFLAGS): Likewise.
37276 (linux_mod_LDFLAGS): Likewise.
37277 (nand_mod_SOURCES): Likewise.
37278 (nand_mod_CFLAGS): Likewise.
37279 (nand_mod_LDFLAGS): Likewise.
37280
37281 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
37282 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
37283 type property. (nand device in olpc don't have this property)
37284
37285 * include/grub/disk.h (grub_disk_dev_id): New macro
37286 GRUB_DISK_DEVICE_NAND_ID.
37287
37288 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
37289 function prototype.
37290 (grub_rescue_cmd_initrd): Likewise.
37291
37292 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
37293 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
37294 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 37295
25f16ec1 37296 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
37297 GRUB_MACHINE_IEEE1275 is defined.
37298
37299 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
37300 Use NESTED_FUNC_ATTR attribute on the hook parameter.
37301
37302 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
37303 on nested function heap_init.
37304 (grub_upper_mem): New variable for i386-ieee1275.
37305 (grub_get_extended_memory): New function for i386-ieee1275.
37306 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
37307
37308 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
37309 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
37310 property.
f19dbdb7 37311
25f16ec1 37312 * loader/i386/ieee1275/linux.c: New file.
37313
37314 * loader/i386/ieee1275/linux_normal.c: New file.
37315
37316 * disk/ieee1275/nand.c: New file.
37317
e89d61e9 373182008-04-18 Thomas Schwinge <tschwinge@gnu.org>
37319
37320 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
37321 value.
37322 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
37323
602566f6 373242008-04-18 Robert Millan <rmh@aybabtu.com>
37325
37326 Restructures early code path on ieee1275 to unify grub_main() as
37327 the first C function that is executed in every platform.
37328
37329 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
37330 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
37331 cmain().
37332 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
37333 * kern/ieee1275/cmain.c (cmain): Rename to ...
37334 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
37335 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
37336 at the beginning.
37337
57490c2b 373382008-04-18 Robert Millan <rmh@aybabtu.com>
37339
37340 * util/update-grub.in: Fix syntax error when setting
37341 `GRUB_PRELOAD_MODULES'.
37342 Reported by Stephane Chazelas <stephane@artesyncp.com>
37343
1977517d 373442008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
37345
37346 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
37347 section into account, newer toolchains generate unique build ids
37348 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 37349 we want build ids to be preserved
1977517d 37350 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
37351 far from other sections don't cause the raw binary images grow
37352 size
37353
bfb1f1a2 373542008-04-15 Robert Millan <rmh@aybabtu.com>
37355
37356 * disk/lvm.c: Update copyright year.
37357 * kern/misc.c: Likewise.
37358
01979850 373592008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37360
37361 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 37362 there is no memory left for physical volume name.
01979850 37363
0a1150e2 373642008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37365
37366 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
37367 volume name mapping to support bigger than 9 character names properly.
37368
82ead3fe 373692008-04-13 Robert Millan <rmh@aybabtu.com>
37370
37371 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
37372 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
37373
e54a72f5 373742008-04-13 Christian Franke <franke@computer.org>
37375
37376 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
37377 to create a floppy emulation boot CD when non emulation mode
37378 does not work.
37379 Enable Joliet CD filesystem extension.
37380
9fe86034 373812008-04-13 Robert Millan <rmh@aybabtu.com>
37382
37383 * kern/misc.c (grub_strncat): Fix off-by-one error.
37384 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
37385
37386 * kern/env.c (grub_env_context_close): Clear current context, not
37387 previous one.
37388 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
37389
37390 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
37391
7ceeee39 373922008-04-13 Robert Millan <rmh@aybabtu.com>
37393
37394 Improve robustness when handling LVM.
37395
37396 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 37397 (and leave `*p' unmodified).
7ceeee39 37398 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
37399 through it.
37400 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
37401 iterating through it.
37402 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
37403 through it.
fe6b695a 37404 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 37405 when due) on each grub_lvm_getvalue() or grub_strstr() call.
37406 Don't assume `vg->pvs != NULL' when iterating through it.
37407
58cd3d85 374082008-04-13 Robert Millan <rmh@aybabtu.com>
37409
37410 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
37411 * genmk.rb (partmap): New variable.
37412 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
37413 (#{partmap}): New target rule.
37414 * genpartmaplist.sh: New file.
37415 * Makefile.in (pkglib_DATA): Add partmap.lst.
37416 (partmap.lst): New target rule.
37417 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
37418 modules (including all partition maps), instead of preloading them.
37419
78b51059 374202007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
37421
37422 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
37423 `linux-boot-prober' (if installed) to detect other operating
37424 systems which are installed on the computer and add them to
37425 the boot menu.
37426 * conf/common.rmk: Build and install 30_os-prober.
37427
a91627b4 374282008-04-12 Robert Millan <rmh@aybabtu.com>
37429
37430 * kern/powerpc/ieee1275/init.c: Move from here ...
37431 * kern/ieee1275/init.c: ... to here. Update all users.
37432
37433 * kern/powerpc/ieee1275/cmain.c: Move from here ...
37434 * kern/ieee1275/cmain.c: ... to here. Update all users.
37435
37436 * kern/powerpc/ieee1275/openfw.c: Move from here ...
37437 * kern/ieee1275/openfw.c: ... to here. Update all users.
37438
37439 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
37440 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
37441
322562ea 374422008-04-10 Pavel Roskin <proski@gnu.org>
37443
37444 * configure.ac: Always use "_cv_" in cache variables for
37445 compatibility with Autoconf 2.62.
37446
a02a73c5 374472008-04-07 Robert Millan <rmh@aybabtu.com>
37448
37449 Revert grub/machine/init.h addition by Pavel (since it breaks on
37450 i386-ieee1275 and others):
37451 * util/i386/pc/misc.c: Remove grub/machine/init.h.
37452 * util/powerpc/ieee1275/misc.c: Likewise.
37453
25c024b1 374542008-04-07 Robert Millan <rmh@aybabtu.com>
37455
37456 * util/grub-probe.c (probe): Improve error message.
37457
3cbd2f98 374582008-04-07 Robert Millan <rmh@aybabtu.com>
37459
37460 * util/biosdisk.c (read_device_map): Skip devices that don't exist
37461 (this prevents the presence of a bogus entry from ruining the whole
37462 thing).
37463
87a297bf 374642008-04-06 Pavel Roskin <proski@gnu.org>
37465
36747a62 37466 * util/biosdisk.c: Include grub/util/biosdisk.h.
37467 * util/grub-fstest.c (execute_command): Make static.
37468 * util/grub-mkdevicemap.c (check_device): Likewise.
37469 * util/i386/pc/misc.c: Include grub/machine/init.h.
37470 * util/powerpc/ieee1275/misc.c: Likewise.
37471 * util/lvm.c: Include grub/util/lvm.h.
37472 * util/misc.c: Include grub/kernel.h, grub/misc.h and
37473 grub/cache.h.
37474 * util/raid.c: Include grub/util/raid.h.
37475 (grub_util_getdiskname): Make static.
37476
87a297bf 37477 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
37478 grub_hostfs_fini(), as they are called from grub_init_all() and
37479 grub_fini_all() respectively. This fixes an infinite loop in
37480 grub-fstest due to double registration of hostfs.
37481 Reported by Christian Franke <Christian.Franke@t-online.de>
37482
f6ce7629 374832008-04-05 Pavel Roskin <proski@gnu.org>
37484
37485 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
37486 all 8 functions. Otherwise, probe function 0 only.
37487
070e49e4 374882008-04-04 Pavel Roskin <proski@gnu.org>
37489
8b088a4c 37490 * commands/lspci.c (grub_lspci_iter): Print the bus number
37491 correctly.
37492
4f657021 37493 * commands/lspci.c (grub_pci_classes): Fix typos.
37494 (grub_lspci_iter): Don't print func twice. Print vendor ID
37495 before device ID, as it's normally done.
37496
070e49e4 37497 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37498 Fix signedness warnings.
37499 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
37500 Likewise.
37501 * util/ieee1275/get_disk_name.c: Include config.h so that
37502 _GNU_SOURCE is defined and getline() is declared. Mark an
37503 unused argument as such. Fix a signedness warning.
37504
ba7328dc 375052008-04-02 Pavel Roskin <proski@gnu.org>
37506
26887f22 37507 * genkernsyms.sh.in: Use more robust assignments for CC and
37508 srcdir. Quote srcdir.
37509 * gensymlist.sh.in: Likewise. Assert at the compile time that
37510 the symbol table is not empty.
37511
ba7328dc 37512 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
37513 * fs/cpio.c (grub_cpio_read): Likewise.
37514
0f582c6b 375152008-04-01 Pavel Roskin <proski@gnu.org>
37516
4b6e1995 37517 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
37518 * disk/host.c (grub_host_open): Likewise.
37519 * disk/loopback.c (grub_loopback_open): Likewise.
37520 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
37521 disk->id as in disk/host.c, not a multi-character constant.
37522
828a2768 37523 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
37524 later is obsolete, potentially dangerous and sets a bad example.
37525 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
37526 * util/misc.c (grub_util_get_image_size): Likewise.
37527
2bb4fb47 37528 * disk/loopback.c (options): Improve help for "--partitions".
37529
0f582c6b 37530 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
37531 options to align them with the short options, e.g. "echo -e".
37532
a33224e0 375332008-03-31 Bean <bean123ch@gmail.com>
37534
37535 * video/reader/png.c (grub_png_data): New member is_16bit and
37536 image_data.
37537 (grub_png_decode_image_header): Detect 16 bit png image.
37538 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
37539 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
37540 (grub_video_reader_png): Release memory occupied by image_data.
37541
37542 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
37543 4096 bytes.
37544 (grub_nfs_mount): Skip the test for sector per cluster.
37545
37546 * include/grub/ntfs.h (MAX_SPC): Removed.
37547
86cb4f54 375482008-03-31 Bean <bean123ch@gmail.com>
37549
37550 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
37551 (grub_probe_SOURCES): Add fs/afs.c.
37552 (grub_fstest_SOURCES): Likewise.
37553 (afs_mod_SOURCES): New variable.
37554 (afs_mod_CFLAGS): Likewise.
37555 (afs_mod_LDFLAGS): Likewise.
37556
37557 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
37558 (grub_emu_SOURCES): Likewise.
37559
37560 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37561
37562 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37563
37564 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37565
37566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37567
37568 * fs/afs.c: New file.
37569
17c74c21 375702008-03-30 Pavel Roskin <proski@gnu.org>
37571
4cb68e89 37572 * disk/host.c: Include grub/misc.h to fix a warning.
37573 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
37574 warnings about implicit declarations.
37575
8790bb04 37576 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
37577 variable.
37578 * include/grub/i386/loader.h: Change declaration of
37579 grub_linux_boot() to match what grub_loader_set() expects.
37580 * util/getroot.c (grub_guess_root_device): Return const char* to
37581 fix a warning.
37582 * util/grub-probe.c (probe): Fix a warning about uninitialized
37583 abstraction_name variable.
37584 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
37585 second argument as unused to fix a warning.
37586
9a3f3296 37587 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
37588 missing grub_error() call.
37589
0ecef90d 37590 * util/update-grub_lib.in: Define datarootdir, since Autoconf
37591 2.60 and newer uses it to define datadir.
37592
0bf6d401 37593 * commands/sleep.c: Fix warning about implicit declaration.
37594 * disk/memdisk.c: Likewise.
37595 * loader/aout.c: Likewise.
37596 * loader/i386/bsd_normal.c: Likewise.
37597 * util/grub-probe.c: Likewise.
37598
7cdacf97 37599 * commands/i386/cpuid.c (has_longmode): Make static.
37600 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
37601 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
37602
17c74c21 37603 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
37604 GDT. This is more robust, as %ds can change.
37605 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
37606 calling real_to_prot().
37607 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
37608
80a3e68b 376092008-03-28 Pavel Roskin <proski@gnu.org>
37610
37611 * kern/i386/pc/startup.S: Assert that uncompressed functions
37612 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
37613 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
37614 code, as they push parts of the code (error handlers) beyond
37615 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
37616 code as correctness and size.
37617
77bcd272 376182008-03-28 Pavel Roskin <proski@gnu.org>
37619
37620 * kern/i386/pc/startup.S
37621 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
37622 data block address to the real mode, keep offset minimal. This
37623 works around a bug in AWARD BIOS on old Athlon systems, which
37624 makes CD detection hang.
37625
c5dfd43b 376262008-03-26 Pavel Roskin <proski@gnu.org>
37627
37628 * normal/color.c (grub_parse_color_name_pair): Make `name' a
37629 const.
37630 * include/grub/normal.h: Add grub_parse_color_name_pair()
37631 declaration.
37632
bf962df2 376332008-03-24 Bean <bean123ch@gmail.com>
37634
37635 * disk/i386/pc/biosdisk.c (cd_start): Removed.
37636 (cd_count): Removed.
37637 (cd_drive): New variable.
37638 (grub_biosdisk_get_drive): Don't check for (cdN) device.
37639 (grub_biosdisk_call_hook): Likewise.
37640 (grub_biosdisk_iterate): Change cdrom detection method.
37641 (grub_biosdisk_open): Replace cd_start with cd_drive.
37642 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
37643 detect cdrom device.
37644
37645 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
37646 Removed.
37647 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
37648 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
37649 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
37650 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
37651 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
37652 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
37653 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
37654 (grub_biosdisk_cdrp): New structure.
37655 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
37656
37657 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
37658
37659 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
37660 device.
37661
37662 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
37663 New function.
37664
68e7fc7a 376652008-03-20 Robert Millan <rmh@aybabtu.com>
37666
37667 Remove 2 TiB limit in ata.mod.
37668 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
37669 (grub_ata_dumpinfo): Print sector count with 0x%llx.
37670 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
37671 grub_uint64_t instead of grub_uint32_t.
37672
38ad2cf5 376732008-03-05 Bean <bean123ch@gmail.com>
37674
37675 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
37676 (grub_multiboot): Set boot device.
37677
37678 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
37679
2b89344e 376802008-03-02 Bean <bean123ch@gmail.com>
37681
37682 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
37683 symlink_buffer.
37684
87a95d1f 376852008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
37686
37687 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
37688 texinfo.tex.
37689
37690 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
37691 modified.
37692
37693 * docs/fdl.texi: New file.
f19dbdb7 37694
87a95d1f 37695 * docs/mdate-sh: New file. Copied from gnulib.
37696 * docs/texinfo.tex: Likewise.
37697
37698 * config.guess: Updated from gnulib.
37699 * install-sh: Likewise.
37700
7dc15d8e 377012008-02-28 Robert Millan <rmh@aybabtu.com>
37702
37703 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
37704 (aout_mod_SOURCES): New variable.
37705 (aout_mod_CFLAGS): Likewise.
37706 (aout_mod_LDFLAGS): Likewise.
37707
37708 * conf/i386-ieee1275.rmk: Likewise.
37709
b00ab696 377102008-02-28 Robert Millan <rmh@aybabtu.com>
37711
37712 * util/update-grub.in: Reorganise terminal validity check. Accept
37713 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
37714 Based on suggestion by Franklin PIAT.
37715
79ca2d78 377162008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
37717
37718 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
37719 function.
37720 * util/getroot.c (grub_util_check_block_device): New function that
37721 returns the given argument if it is a block device and returns NULL else.
37722 * util/grub-probe.c (argument_is_device): New variable.
37723 (probe): Promote device_name from a variable to an argument. Receive
37724 device_name from grub_util_check_block_device() if path is NULL and from
37725 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 37726 (options): Introduce new parameter '-d, --device'.
79ca2d78 37727 (main): Add description of the new parameter to the help screen.
37728 Rename path variable to argument. Set argument_is_device if the '-d'
37729 option is given. Pass argument to probe() depending on
37730 argument_is_device.
37731
0d16e571 377322008-02-24 Bean <bean123ch@gmail.com>
37733
37734 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
37735 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
37736 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
37737 (GRUB_ISO9660_VOLDESC_PART): Likewise.
37738 (GRUB_ISO9660_VOLDESC_END): Likewise.
37739 (grub_iso9660_primary_voldesc): New member escape.
37740 (grub_iso9660_data): New member joliet.
37741 (grub_iso9660_convert_string): New function.
37742 (grub_iso9660_mount): Detect joliet extension.
37743 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
37744 (grub_iso9660_iso9660_label): Likewise.
37745
37746 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
37747 (grub_setup_SOURCES): Add fs/udf.c.
37748 (grub_fstest_SOURCES): Likewise.
37749 (udf_mod_SOURCES): New variable.
37750 (udf_mod_CFLAGS): Likewise.
37751 (udf_mod_LDFLAGS): Likewise.
37752
37753 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
37754 (grub_emu_SOURCES): Likewise.
37755
37756 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37757
37758 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37759
37760 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37761
37762 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37763
37764 * fs/udf.c: New file.
37765
8a594a17 377662008-02-24 Robert Millan <rmh@aybabtu.com>
37767
37768 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
37769 (normal/lexer.c_DEPENDENCIES): New variables.
37770 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37771 (normal/lexer.c_DEPENDENCIES): Likewise.
37772 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
37773 (normal/lexer.c_DEPENDENCIES): Likewise.
37774 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
37775 (normal/lexer.c_DEPENDENCIES): Likewise.
37776 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37777 (normal/lexer.c_DEPENDENCIES): Likewise.
37778 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37779 (normal/lexer.c_DEPENDENCIES): Likewise.
37780
2dc33c03 377812008-02-23 Robert Millan <rmh@aybabtu.com>
37782
37783 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
37784 since they were intended to be in hex. This didn't break previously
37785 because of a bug in gpt_partition_map_iterate() (see below).
37786
37787 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
37788 when checking the validity of GPT header.
37789 Remove `partno', since it always provides the same information as `i'.
37790
f6f4cfb0 377912008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
37792
37793 * include/grub/efi/time.h: Fix a wrong comment.
37794
79ff665f 377952008-02-19 Pavel Roskin <proski@gnu.org>
37796
37797 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
37798 message.
37799
d38e24c2 378002008-02-19 Bean <bean123ch@gmail.com>
37801
37802 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
37803 (aout_mod_SOURCES): New variable.
37804 (aout_mod_CFLAGS): Likewise.
37805 (aout_mod_LDFLAGS): Likewise.
37806 (_bsd_mod_SOURCES): New variable.
37807 (_bsd_mod_CFLAGS): Likewise.
37808 (_bsd_mod_LDFLAGS): Likewise.
37809 (bsd_mod_SOURCES): New variable.
37810 (bsd_mod_CFLAGS): Likewise.
37811 (bsd_mod_LDFLAGS): Likewise.
37812
37813 * include/grub/aout.h: New file.
37814
37815 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
37816
37817 * include/grub/i386/bsd.h: New file.
37818
37819 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
37820 to make it public.
37821
37822 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
37823 function is called, so that it's possible to change it inside the hook.
37824 (grub_elf64_load): Likewise.
37825 (grub_elf_file): Don't close the file if elf header is not found.
37826 (grub_elf_close): Close the file if grub_elf_file fails (The new
37827 grub_elf_file won't close it).
37828 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
37829 (grub_elf64_size): Likewise.
37830
37831 * kern/i386/loader.S (grub_unix_real_boot): New function.
37832
37833 * loader/aout.c: New file.
37834
37835 * loader/i386/bsd.c: New file.
37836
37837 * loader/i386/bsd_normal.c: New file.
37838
37839 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
37840
37841 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 37842 can test other formats.
d38e24c2 37843
b93bdb0f 378442008-02-19 Robert Millan <rmh@aybabtu.com>
37845
37846 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
37847 (grub_gpt_partition_type_empty): Redefine with macro from
37848 `<grub/gpt_partition.h>'.
37849 (gpt_partition_map_iterate): Adjust partition type comparison.
37850
37851 Export `entry' as partmap-specific `part.data' struct.
37852 (grub_gpt_header, grub_gpt_partentry): Move from here ...
37853
37854 * include/grub/gpt_partition.h (grub_gpt_header)
37855 (grub_gpt_partentry): ... to here (new file).
37856
37857 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37858
37859 (grub_gpt_partition_type_bios_boot): New const variable, defined
37860 with macro from `<grub/gpt_partition.h>'.
37861
37862 (setup): Replace `first_start' with `embed_region', which keeps
37863 track of the embed region (and is partmap-agnostic).
37864
37865 Replace find_first_partition_start() with find_usable_region(),
37866 which finds a usable region for embedding using partmap-specific
37867 knowledge (supports PC/MSDOS and GPT).
37868
37869 Fix all assumptions that the embed region start at sector 1, using
37870 `embed_region.start' from now on. Similarly, use `embed_region.end'
37871 rather than `first_start' to calculate available size.
37872
37873 In grub_util_info() message, replace "into after the MBR" with an
37874 indication of the specific sector our embed region starts at.
37875
66cb40f6 378762008-02-19 Robert Millan <rmh@aybabtu.com>
37877
37878 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37879 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37880 `commands/reboot.c'.
37881 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37882 (halt_mod_SOURCES): Likewise.
37883 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37884 (halt_mod_SOURCES): Likewise.
37885
b7202015 378862008-02-17 Christian Franke <franke@computer.org>
37887
37888 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37889
32b0fc49 378902008-02-17 Robert Millan <rmh@aybabtu.com>
37891
37892 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37893 set `first_start' to 0 for non-PC/MSDOS partition maps.
37894
aca63502 378952008-02-16 Robert Millan <rmh@aybabtu.com>
37896
37897 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37898 do not assume partition map is PC/MSDOS before performing checks that
37899 are specific to that layout.
37900
0de8be86 379012008-02-13 Robert Millan <rmh@aybabtu.com>
37902
37903 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37904 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37905 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37906
c3db8364 379072008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37908
37909 * configure.ac: Only a cosmetic change on the handling of
37910 -fno-stack-protector.
37911
f714229e 379122008-02-12 Alexandre Boeglin <alex@boeglin.org>
37913
c3db8364 37914 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37915 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37916 reboot.c.
f714229e 37917 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37918 (halt_mod_SOURCES): New variable.
37919 (halt_mod_CFLAGS): Likewise.
37920 (halt_mod_LDFLAGS): Likewise.
37921 (reboot_mod_SOURCES): Likewise.
37922 (reboot_mod_CFLAGS): Likewise.
37923 (reboot_mod_LDFLAGS): Likewise.
37924
c3db8364 37925 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37926 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37927 reboot.c.
f714229e 37928 (halt_mod_SOURCES): Likewise.
37929 (reboot_mod_SOURCES): Likewise.
37930
c3db8364 37931 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37932 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 37933 (reboot_mod_SOURCES): Likewise.
37934
37935 * commands/i386/pc/reboot.c: merge this file ...
37936
37937 * commands/ieee1275/reboot.c: ... and this file ...
37938
37939 * commands/reboot.c: ... to this file.
c3db8364 37940 Add some precompiler directive to include the correct header for
37941 each machine.
f714229e 37942
37943 * commands/ieee1275/halt.c: move this file ...
37944
37945 * commands/halt.c: ... to here.
c3db8364 37946 Add some precompiler directive to include the correct header for
37947 each machine.
f714229e 37948
37949 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37950 (grub_halt): Likewise.
37951
37952 * kern/efi/efi.c (grub_reboot): New function.
37953 (grub_halt): Likewise.
37954
c74493e0 379552008-02-12 Robert Millan <rmh@aybabtu.com>
37956
37957 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37958 /dev (like it is done for /dev/mapper). This doesn't provide support
37959 for EVMS, but at least it is now easy to identify the problem when it
37960 arises.
37961
d0db4b04 379622008-02-11 Robert Millan <rmh@aybabtu.com>
37963
37964 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37965 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37966 comparing it with -1, not 0.
37967
bf748642 379682008-02-10 Robert Millan <rmh@aybabtu.com>
37969
37970 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37971 `disk/lvm.c'.
37972 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37973 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37974
37975 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37976 `disk/lvm.c' to the end of the list.
37977 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37978 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37979
b5db202a 379802008-02-10 Robert Millan <rmh@aybabtu.com>
37981
37982 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37983 grub_print_error() instead. This will let user know why we're entering
37984 rescue mode.
37985 Based on suggestions from Sam Morris.
37986
83abee31 379872008-02-10 Alexandre Boeglin <alex@boeglin.org>
37988
37989 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37990 on remaining N args, instead of "--" arg N times.
37991
78d5a08b 379922008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37993
37994 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37995 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37996 pattern for unknown glyphs.
37997
68807e5f 379982008-02-09 Robert Millan <rmh@aybabtu.com>
37999
38000 * configure.ac: Probe for `help2man'.
38001 * Makefile.in (builddir): New variable.
38002 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
38003 or otherwise add a few flags/options to it.
38004 (install-local): For every executable utility or script that is
38005 installed, invoke $(HELP2MAN) to install a manpage based on --help
38006 output.
38007
38008 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
38009 that it doesn't prevent --help from working in build tree.
38010
38011 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
38012 with `bug-grub@gnu.org'.
38013 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
38014 * util/update-grub.in (usage): New function.
38015 Implement proper argument check, with support for --help and --version
38016 (as well as existing -y).
38017
380182008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 38019
38020 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
38021 avoid overwriting previous output.
38022 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
38023
c1962162 380242008-02-09 Robert Millan <rmh@aybabtu.com>
38025
38026 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
38027 drawing the menu.
38028
3dac2e3f 380292008-02-09 Robert Millan <rmh@aybabtu.com>
38030
38031 * commands/sleep.c: New file.
38032 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
38033 (sleep_mod_SOURCES): New variable.
38034 (sleep_mod_CFLAGS): Likewise.
38035 (sleep_mod_LDFLAGS): Likewise.
38036
7a634e08 380372008-02-09 Robert Millan <rmh@aybabtu.com>
38038
38039 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
38040 situations in which we can deduce the RAID size and the superblock
38041 doesn't match it.
38042
b92f0c18 380432008-02-09 Robert Millan <rmh@aybabtu.com>
38044
38045 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
38046 and return a grub_diskmemberlist_t composed of LVM physical volumes.
38047 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
38048
38049 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
38050 and return a grub_diskmemberlist_t composed of physical array members.
38051 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
38052
38053 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
38054 prototype.
38055 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
38056 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
38057 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
38058
38059 * util/grub-probe.c (probe): Move partmap probing code from here ...
38060 (probe_partmap): ... to here.
38061 (probe): Use probe_partmap() once for the disk we're probing, and
38062 additionally, when such disk contains a memberlist() struct member,
38063 once for each disk that is contained in the structure returned by
38064 memberlist().
38065
91a4bf68 380662008-02-09 Robert Millan <rmh@aybabtu.com>
38067
38068 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
38069 environment variable to 'all' in order to obtain debug output from
38070 non-util/ code.
38071 * util/i386/pc/grub-setup.c (main): Likewise.
38072
a96f9caa 380732008-02-08 Robert Millan <rmh@aybabtu.com>
38074
38075 * disk/raid.c (grub_raid_scan_device): Check for
38076 `array->device[sb.this_disk.number]' rather than for
38077 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 38078 guaranteed to be accessible.
a96f9caa 38079
b37a9222 380802008-02-08 Robert Millan <rmh@aybabtu.com>
38081
38082 * disk/raid.c: Update copyright.
38083 * fs/cpio.c: Likewise.
38084 * include/grub/raid.h: Likewise.
38085 * loader/i386/pc/multiboot.c: Likewise.
38086 * util/hostfs.c: Likewise.
38087
5626aee1 380882008-02-08 Robert Millan <rmh@aybabtu.com>
38089
38090 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
38091 to a grub_disk_t array.
38092 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
38093 `device[x]'.
38094 (grub_raid_scan_device): Replace `device[x].name' accesses with
38095 `device[x]->name'. Simplify initialization of `array->device[x]'.
38096
554f0187 380972008-02-08 Robert Millan <rmh@aybabtu.com>
38098
38099 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
38100 grub_dprintf() calls.
38101 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
38102 error message.
38103
1ec8425d 381042008-02-07 Christian Franke <franke@computer.org>
38105
38106 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
38107 instead of fseek and ftell to support large files.
38108 (grub_hostfs_read): Likewise.
38109
f2156fda 381102008-02-07 Robert Millan <rmh@aybabtu.com>
38111
38112 Patch from Jeroen Dekkers.
38113 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 38114 failure, since successfully reading all array members might not be
f2156fda 38115 required.
38116
9216e0e7 381172008-02-06 Robert Millan <rmh@aybabtu.com>
38118
38119 * util/grub-probe.c (probe): Simplify partmap probing (with the
38120 assumption that the first word up to the underscore equals to
38121 the module name).
38122
b0dfd29a 381232008-02-06 Christian Franke <franke@computer.org>
38124
38125 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
38126 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
38127 last block of a cpio or tar stream.
38128 Check for "TRAILER!!!" instead of any empty data
38129 block to detect last block of a cpio stream.
38130 (grub_cpio_dir): Fix constness of variable np.
38131 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
38132 cpio or tar trailer is detected. This fixes a crash
38133 on open of a non existing file.
38134
c32865bf 381352008-02-05 Bean <bean123ch@gmail.com>
38136
38137 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
38138 address of entry.
38139 (grub_multiboot_load_elf64): Likewise.
38140 (grub_multiboot): Initialize mbi structure.
38141
38142 * util/grub-fstest.c: Don't include unused header file script.h.
38143
fe6b695a 38144 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 38145 of file.
38146 (grub_fstest_SOURCES): Likewise.
38147
409480b7 381482008-02-05 Robert Millan <rmh@aybabtu.com>
38149
38150 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
38151 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
38152 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
38153 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
38154
38155 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
38156 (translation_table): Replace hardcoded values with macros
38157 provided by `<grub/term.h>'.
38158
38159 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
38160 (keyboard_map): Correct/add a few values, with macros provided
38161 by `<grub/term.h>'.
38162 (keyboard_map_shift): Zero values that don't differ from their
38163 `keyboard_map' equivalents.
38164 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
38165 Discard the second scan code that is always sent by Caps lock.
38166 Only use `keyboard_map_shift' when it provides a non-zero value,
38167 otherwise fallback to `keyboard_map'.
38168
99fadbaa 381692008-02-04 Bean <bean123ch@gmail.com>
38170
38171 * Makefile.in (enable_grub_fstest): New variable.
38172
38173 * conf/common.rmk (grub_fstest_init.lst): New rule.
38174 (grub_fstest_init.h): Likewise.
38175 (grub_fstest_init.c): Likewise.
38176 (util/grub-fstest.c_DEPENDENCIES): New variable.
38177 (grub_fstest_SOURCES): Likewise.
38178
38179 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
38180
38181 * util/grub-fstest.c: New file.
38182
bf567c50 381832008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38184
38185 Make grub-setup handle a separate root device.
f19dbdb7 38186
bf567c50 38187 * util/i386/pc/grub-setup.c (setup): Always open the root device,
38188 so that the root device can be compared with the destination
38189 device.
38190 When embedding the core image, if the root and destination devices
38191 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
38192 0xFF.
38193 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 38194
9be6b98b 381952008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38196
38197 Add support for having a grub directory in a different drive. This
38198 is still only the data handling part.
f19dbdb7 38199
9be6b98b 38200 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
38201 (codestart): Save %dh in GRUB_ROOT_DRIVE.
38202 (grub_root_drive): New variable.
38203
38204 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
38205 instead of GRUB_BOOT_DRIVE to construct a device name. Set
38206 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
38207 as it was.
38208
38209 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
38210
38211 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
38212 macro.
38213 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
38214
38215 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
38216 is bogus, because PXE booting does not specify any drive
38217 correctly.
38218
38219 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
38220 am not sure if this is really correct.
38221
38222 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
38223 is always identical to the boot drive when booting from a CD.
38224
38225 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
38226 longer.
38227 (root_drive): New variable.
38228 (real_start): Unconditionally set %dh to ROOT_DRIVE.
38229 (setup_sectors): Push %dx right after popping it, because %dh will
38230 be modified later.
38231 (copy_buffer): Restore %dx.
38232
e0ca0677 382332008-02-03 Robert Millan <rmh@aybabtu.com>
38234
38235 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
38236 use `cdboot.img' for cdrom images.
38237
3b3f6629 382382008-02-03 Robert Millan <rmh@aybabtu.com>
38239
38240 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
38241 only setup gfxterm when `font' command has succeeded.
38242
d42b3672 382432008-02-03 Robert Millan <rmh@aybabtu.com>
38244
38245 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
38246 (grub_rescue_cmd_multiboot_loader)
38247 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
38248
fa370ea6 382492008-02-03 Pavel Roskin <proski@gnu.org>
38250
e0c5dacb 38251 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 38252 %edx and %esi from stack only after grub_gate_a20() is called.
38253 grub_gate_a20() clobbers %edx.
38254
f2a76e1d 382552008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38256
38257 * configure.ac (AC_INIT): Bumped to 1.96.
38258
38259 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
38260 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
38261 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
38262 video/readers/png.c.
38263
90fd32d1 382642008-02-03 Bean <bean123ch@gmail.com>
9be665dd 38265
38266 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
38267 (cdboot_img_SOURCES): New variable.
38268 (cdboot_img_ASFLAGS): New variable.
38269 (cdboot_img_LDFLAGS): New variable.
38270
38271 * boot/i386/pc/cdboot.S: New file.
38272
38273 * disk/i386/pc/biosdisk.c (cd_start): New variable.
38274 (cd_count): Likewise.
38275 (grub_biosdisk_get_drive): Add support for cd device.
38276 (grub_biosdisk_call_hook): Likewise.
38277 (grub_biosdisk_iterate): Likewise.
38278 (grub_biosdisk_open): Likewise.
38279 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
38280 (grub_biosdisk_rw): Support reading from cd device.
38281 (GRUB_MOD_INIT): Iterate cd devices.
38282
38283 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
38284 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
38285 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
38286
38287 * kern/i386/pc/init.c (make_install_device): Check for cd device.
38288
4020aa53 382892008-02-02 Robert Millan <rmh@aybabtu.com>
38290
38291 * commands/read.c: New file.
38292 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
38293 (read_mod_SOURCES): New variable.
38294 (read_mod_CFLAGS): Likewise.
38295 (read_mod_LDFLAGS): Likewise.
38296
e03a1132 382972008-02-02 Robert Millan <rmh@aybabtu.com>
38298
38299 * normal/main.c (grub_normal_execute): Check for `menu->size' when
38300 determining whether menu has to be displayed.
38301
58c69220 383022008-02-02 Marco Gerards <marco@gnu.org>
38303
38304 * bus/pci.c: New file.
38305
38306 * include/grub/pci.h: Likewise.
38307
38308 * include/grub/i386/pc/pci.h: Likewise.
38309
38310 * commands/lspci.c: Likewise.
38311
38312 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
38313 `lspci.mod'.
38314 (pci_mod_SOURCES): New variable.
38315 (pci_mod_CFLAGS): Likewise.
38316 (pci_mod_LDFLAGS): Likewise.
38317 (lspci_mod_SOURCES): Likewise.
38318 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 38319 (lspci_mod_LDFLAGS): Likewise.
58c69220 38320
c004e1b4 383212008-02-02 Bean <bean123ch@gmail.com>
38322
38323 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
38324 (grub_ufs_get_file_block): Fix indirect block calculation problem.
38325
38326 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
38327 (grub_xfs_btree_node): New structure.
38328 (grub_xfs_btree_root): New structure.
38329 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
38330 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
38331 (GRUB_XFS_EXTENT_BLOCK): Likewise.
38332 (GRUB_XFS_EXTENT_SIZE): Likewise.
38333 (grub_xfs_read_block): Support btree format type.
38334 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
38335 Use directory block as basic unit.
38336
38337 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
38338
38339 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
38340 __attribute__ ((__regparm__ (1))).
38341
f95562bf 383422008-02-01 Robert Millan <rmh@aybabtu.com>
38343
38344 Correct a mistake in previous commit.
38345
38346 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
38347 top.
38348 (normal/command.c_DEPENDENCIES): New variable.
38349
7d31f41f 383502008-02-01 Robert Millan <rmh@aybabtu.com>
38351
38352 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
38353 top.
38354 (normal/command.c_DEPENDENCIES): New variable.
38355 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
38356 * conf/i386-ieee1275.rmk: Likewise.
38357 * conf/i386-linuxbios.rmk: Likewise.
38358 * conf/i386-pc.rmk: Likewise.
38359 * conf/sparc64-ieee1275.rmk: Likewise.
38360 * conf/powerpc-ieee1275.rmk: Likewise.
38361 (grub_emu_SOURCES): Add `fs/fshelp.c'.
38362
38363 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
38364
60b6be74 383652008-02-01 Robert Millan <rmh@aybabtu.com>
38366
38367 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
38368 call at beginning of function.
38369
078522ab 383702008-01-31 Pavel Roskin <proski@gnu.org>
38371
38372 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 38373 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
38374 (grub_mkrescue_SOURCES): Likewise.
078522ab 38375 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
38376
ccaa8a5f 383772008-01-30 Robert Millan <rmh@aybabtu.com>
38378
38379 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
38380 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
38381 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
38382 (grub_probe_SOURCES): ... to here.
38383
38384 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
38385 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
38386 * conf/i386-ieee1275.rmk: Likewise.
38387 * conf/i386-linuxbios.rmk: Likewise.
38388 * conf/powerpc-ieee1275.rmk: Likewise.
38389
ae5a9cd7 383902008-01-30 Tristan Gingold <gingold@free.fr>
38391
38392 * kern/rescue.c: Silently accept empty lines.
38393
70bc2ef2 383942008-01-29 Bean <bean123ch@gmail.com>
38395
38396 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
38397 (real_code_2): Code cleanup and change comment style.
38398 (move_memory): Avoid using 32-bit address mode.
38399
6a4d50ea 384002008-01-29 Bean <bean123ch@gmail.com>
38401
38402 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
38403 (png_mod_SOURCES): New variable.
38404 (png_mod_CFLAGS): Likewise.
38405 (png_mod_LDFLAGS): Likewise.
38406
38407 * video/readers/png.c: New file.
38408
11cc30ac 384092008-01-28 Robert Millan <rmh@aybabtu.com>
38410
38411 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
38412 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
38413 `ifndef GRUB_MOD_GAP' hack.
38414 * util/elf/grub-mkimage.c (add_segments): Likewise.
38415
3abc589f 384162008-01-27 Robert Millan <rmh@aybabtu.com>
38417
38418 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
38419 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 38420 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 38421
e1907778 384222008-01-27 Robert Millan <rmh@aybabtu.com>
38423
38424 Get grub-emu to build again (including parallel builds).
38425
38426 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
38427 Split into ...
38428 (util/grub-emu.c_DEPENDENCIES): ... this, ...
38429 (normal/execute.c_DEPENDENCIES): ... this, ...
38430 (grub-emu_DEPENDENCIES): ... and this.
38431
38432 * conf/i386-efi.rmk: Likewise.
38433 * conf/i386-linuxbios.rmk: Likewise.
38434 * conf/i386-ieee1275.rmk: Likewise.
38435 * conf/powerpc-ieee1275.rmk: Likewise.
38436 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
38437
2216b101 384382008-01-27 Robert Millan <rmh@aybabtu.com>
38439
38440 * NEWS: Add a few items.
38441
f75172d9 384422008-01-27 Robert Millan <rmh@aybabtu.com>
38443
38444 Fix parallel builds with grub-emu. Based on earlier commit for
38445 grub-probe and grub-setup.
38446
38447 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38448 (util/grub-emu.c_DEPENDENCIES): ... this.
38449 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38450 (util/grub-emu.c_DEPENDENCIES): ... this.
38451 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38452 (util/grub-emu.c_DEPENDENCIES): ... this.
38453 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38454 (util/grub-emu.c_DEPENDENCIES): ... this.
38455 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38456 (util/grub-emu.c_DEPENDENCIES): ... this.
38457
3f51de77 384582008-01-27 Pavel Roskin <proski@gnu.org>
38459
38460 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
38461 to create a gap between _end and the modules added to the image
38462 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
38463 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
38464 * util/elf/grub-mkimage.c (add_segments): Likewise.
38465
2033f53e 384662008-01-26 Pavel Roskin <proski@gnu.org>
38467
38468 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
38469 just return an error.
38470
22da1f6f 384712008-01-26 Bean <bean123ch@gmail.com>
38472
38473 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
38474 (grub_reiserfs_get_item): Save offset of the next item.
38475 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
38476
2a9525e6 384772008-01-25 Robert Millan <rmh@aybabtu.com>
38478
38479 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
38480 make all filesystem sources appear together (possibly fixing omissions
38481 while at it).
38482 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38483 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38484 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38485 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38486
38487 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
38488 add `kern/file.c'.
38489 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
38490 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38491 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
38492 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38493
38494 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
38495 (probe): Add a sanity check to make sure of our ability to read
38496 requested files when probing for filesystem type.
38497
38498 * genmk.rb: Update copyright year (2007).
38499
38500 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
38501 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
38502 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
38503 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
38504 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
38505 : Remove function prototypes.
38506
b95f71b5 385072008-01-25 Robert Millan <rmh@aybabtu.com>
38508
38509 Revert my previous commits (based on wrong assumption of how grub_errno
38510 works).
38511
fe6b695a 38512 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 38513 * kern/file.c (grub_file_open): Likewise.
38514
d08bbb49 385152008-01-24 Pavel Roskin <proski@gnu.org>
38516
38517 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
38518 that hang if GRUB tries to setup colors.
38519 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
38520 colors for firmwares that don't support it.
38521 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
38522 Recognize Open Hack'Ware, set flags to work around its
38523 limitations.
38524
605e36ed 385252008-01-24 Robert Millan <rmh@aybabtu.com>
38526
38527 * kern/file.c (grub_file_open): Do not account previous failures of
38528 unrelated functions when grub_errno is checked for.
38529 Reported by Oleg Strikov.
38530
bac332a1 385312008-01-24 Bean <bean123ch@gmail.com>
38532
38533 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
38534 (grub_ufs_sblock): New member volume name.
38535 (grub_ufs_find_file): Fix string copy bug.
38536 (grub_ufs_label): Implement this function properly.
38537
38538 * fs/hfs.c (grub_hfs_cnid_type): New enum.
38539 (grub_hfs_iterate_records): Use the correct file number for extents
38540 and catalog file. Fix problem in next index calculation.
38541 (grub_hfs_find_node): Replace recursive function call with loop.
38542 (grub_hfs_iterate_dir): Replace recursive function call with loop.
38543
15c80c09 385442008-01-23 Robert Millan <rmh@aybabtu.com>
38545
38546 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
38547 `<grub/symbol.h>' and `<grub/multiboot.h>'.
38548 (grub_multiboot2_real_boot): New function prototype.
38549
38550 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
38551 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
38552
38553 * kern/i386/ieee1275/init.c (grub_os_area_addr)
38554 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
38555
305338fd 385562008-01-23 Robert Millan <rmh@aybabtu.com>
38557
38558 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
38559 #ifdef'ed out grub_printf().
38560
3ea52685 385612008-01-23 Robert Millan <rmh@aybabtu.com>
38562
38563 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
38564 grub_dprintf calls, since they make "debug=all" mode unusable.
38565 (grub_console_checkkey): Likewise.
38566
5882ae4b 385672008-01-23 Robert Millan <rmh@aybabtu.com>
38568
38569 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38570 `term/i386/pc/at_keyboard.c'.
38571 (pkglib_MODULES): Add `serial.mod'.
38572 (serial_mod_SOURCES): New variable.
38573 (serial_mod_CFLAGS): Likewise.
38574 (serial_mod_LDFLAGS): Likewise.
38575
38576 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
38577 `<grub/powerpc/ieee1275/console.h>'.
38578 (grub_keyboard_controller_init): New function prototype.
38579 (grub_console_checkkey): Likewise.
38580 (grub_console_getkey): Likewise.
38581
38582 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
38583 keyboard on i386.
38584
38585 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
38586 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
38587
06ab5303 385882008-01-23 Robert Millan <rmh@aybabtu.com>
38589
38590 * kern/i386/pc/init.c (make_install_device): When memdisk image is
38591 present, "(memdisk)/boot/grub" becomes the default prefix.
38592
38593 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
38594 a memdisk tarball with all the modules. Add --overlay=DIR option that
38595 allows users to overlay additional files into the image.
38596
dbb475a4 385972008-01-23 Robert Millan <rmh@aybabtu.com>
38598
38599 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
38600 and `machine/memory.h'.
38601 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
38602 (_multiboot_mod_SOURCES): New variable.
38603 (_multiboot_mod_CFLAGS): Likewise.
38604 (_multiboot_mod_LDFLAGS): Likewise.
38605 (multiboot_mod_SOURCES): Likewise.
38606 (multiboot_mod_CFLAGS): Likewise.
38607 (multiboot_mod_LDFLAGS): Likewise.
38608
38609 * include/grub/i386/ieee1275/loader.h: New file.
38610
38611 * include/grub/i386/ieee1275/machine.h: Likewise.
38612
38613 * include/grub/i386/ieee1275/memory.h: Likewise.
38614
38615 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
38616 variable declaration.
38617 (grub_os_area_size): Likewise.
38618
38619 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
38620 (grub_lower_mem, grub_upper_mem): New variables.
38621 (grub_stop_floppy): New function (just to make
38622 grub_multiboot2_real_boot() happy).
38623
38624 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
38625 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
38626 (grub_stop): New function.
38627 Include `"../realmode.S"' and `"../loader.S"'.
38628
38629 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
38630 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
38631
38632 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
38633 rely on grub_multiboot2_real_boot() for final boot.
38634
25638629 386352008-01-22 Robert Millan <rmh@aybabtu.com>
38636
38637 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
38638 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
38639 device that doesn't look like an SD card.
38640 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38641 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
38642 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
38643 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
38644 found.
38645
9dad816d 386462008-01-22 Robert Millan <rmh@aybabtu.com>
38647
38648 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
38649 avoid claiming over our own code.
38650
34842f2d 386512008-01-22 Bean <bean123ch@gmail.com>
38652
38653 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
38654 (jpeg_mod_SOURCES): New variable.
38655 (jpeg_mod_CFLAGS): Likewise.
38656 (jpeg_mod_LDFLAGS): Likewise.
38657
38658 * video/readers/jpeg.c : New file.
38659
44023a28 386602008-01-22 Bean <bean123ch@gmail.com>
38661
38662 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
38663 there are no more items.
38664
bc2d8ac6 386652008-01-21 Robert Millan <rmh@aybabtu.com>
38666
38667 * kern/mm.c (grub_mm_init_region): Improve debug message.
38668
261bd4bc 386692008-01-21 Robert Millan <rmh@aybabtu.com>
38670
38671 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
38672 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
38673 address.
38674 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
38675 a C macro.
38676 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
38677 Indicates start of upper memory.
38678 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
38679 (generate_image): Abort when image size is big enough to corrupt
38680 upper memory.
38681
38682 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
38683 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
38684 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38685 instead of hardcoding 0xA0000.
38686 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
38687 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38688 instead of hardcoding 0xA0000.
38689
f970b55e 386902008-01-21 Robert Millan <rmh@aybabtu.com>
38691
38692 * disk/memdisk.c (memdisk_size): New variable.
38693 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
38694 `memdisk_size'.
38695 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
38696 image to dynamic memory.
38697 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
38698 `memdisk_size'. Free memdisk block.
38699
1a8b0526 387002008-01-21 Robert Millan <rmh@aybabtu.com>
38701
38702 Fix detection of very small filesystems (like tar).
38703
38704 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
38705 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
38706 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
38707 a problem with this disk).
38708
6e9b4aab 387092008-01-21 Robert Millan <rmh@aybabtu.com>
38710
38711 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
38712 on grub_biosdisk_rw_standard() error.
38713
0d8837b2 387142008-01-21 Robert Millan <rmh@aybabtu.com>
38715
38716 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
38717 recent changes.
38718 * kern/elf.c: Likewise.
38719 * kern/ieee1275/ieee1275.c: Likewise.
38720 * kern/powerpc/ieee1275/openfw.c: Likewise.
38721 * term/ieee1275/ofconsole.c: Likewise.
38722
ffd36e34 387232008-01-21 Robert Millan <rmh@aybabtu.com>
38724
38725 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
38726
3f0093d0 38727 * include/grub/kernel.h (grub_arch_memdisk_addr)
38728 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 38729
3f0093d0 38730 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
38731 (grub_arch_memdisk_size): ... to here.
ffd36e34 38732
6c391b21 387332008-01-21 Robert Millan <rmh@aybabtu.com>
38734
38735 Mostly based on bugfix from Bean.
38736
38737 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
38738 attribute with hook() parameter.
38739 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
38740 declaration.
38741 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
38742 attribute with hook() parameter.
38743 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
38744 declaration.
38745
55a581dc 387462008-01-21 Robert Millan <rmh@aybabtu.com>
38747
38748 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
38749 (pkglib_MODULES): Add `memdisk.mod'.
38750 (memdisk_mod_SOURCES): New variable.
38751 (memdisk_mod_CFLAGS): Likewise.
38752 (memdisk_mod_LDFLAGS): Likewise.
38753
38754 * disk/memdisk.c: New file.
38755
38756 * include/grub/disk.h (grub_disk_dev_id): Add
38757 `GRUB_DISK_DEVICE_MEMDISK_ID'.
38758
38759 * include/grub/i386/pc/kernel.h
38760 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
38761 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
38762 (grub_kernel_image_size): New variable declaration.
38763 (grub_total_module_size): Likewise.
38764 (grub_memdisk_image_size): Likewise.
38765
38766 * include/grub/i386/pc/memory.h
38767 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
38768
38769 * include/grub/kernel.h: Include `<grub/symbol.h>'.
38770 (grub_arch_memdisk_addr): New variable declaration.
38771 (grub_arch_memdisk_size): Likewise.
38772
38773 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
38774 (grub_arch_memdisk_size): Likewise.
38775
38776 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
38777 (codestart): Replace hardcoded `0x100000' with
38778 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
38779
38780 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
38781 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
38782 not NULL, append the contents of the file it refers to, at the end of
38783 the compressed kernel image. Initialize `grub_memdisk_image_size'
38784 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
38785 (options): Add "memdisk"|'m' option.
38786 (main): Parse --memdisk|-m option, and pass user-provided path as
38787 parameter to generate_image().
38788
3d7f54c9 387892008-01-20 Robert Millan <rmh@aybabtu.com>
38790
38791 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
38792 grub_dprintf() calls from here ...
38793 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
38794
0bf74728 387952008-01-20 Robert Millan <rmh@aybabtu.com>
38796
38797 Fix detection of "real mode" when /options/real-mode? doesn't exist.
38798
38799 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
38800 declaration.
38801 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
38802 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
38803 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 38804 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 38805 property).
38806 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
38807 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
38808
33bf70a7 388092008-01-19 Robert Millan <rmh@aybabtu.com>
38810
fe6b695a 38811 Get rid of confusing function (superseded by
33bf70a7 38812 `grub_ieee1275_get_integer_property')
38813 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
38814 prototype.
38815 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
38816 function.
38817 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
38818 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 38819 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 38820
e2da7d26 388212008-01-19 Robert Millan <rmh@aybabtu.com>
38822
38823 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
38824 command after "shut-down", since implementations differ on which
38825 the command for halt is.
38826
59f1fd8d 388272008-01-19 Robert Millan <rmh@aybabtu.com>
38828
38829 * include/grub/i386/linuxbios/console.h: Add header protection.
38830 (grub_keyboard_controller_init): New function prototype.
38831 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
38832 (KEYBOARD_COMMAND_READ): Likewise.
38833 (KEYBOARD_COMMAND_WRITE): Likewise.
38834 (KEYBOARD_SCANCODE_SET1): Likewise.
38835 (grub_keyboard_controller_write): New function.
38836 (grub_keyboard_controller_read): Likewise.
38837 (grub_keyboard_controller_init): Likewise.
38838
38839 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
38840 (grub_console_init): On coreboot/LinuxBIOS, call
38841 grub_keyboard_controller_init().
38842
5f5a7c15 388432008-01-19 Robert Millan <rmh@aybabtu.com>
38844
38845 PowerPC changes provided by Pavel Roskin.
38846
38847 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
38848 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
38849 don't rely on cmain() doing it.
38850 * kern/i386/ieee1275/startup.S (_start): Store %eax in
38851 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
38852
1210e168 388532008-01-16 Robert Millan <rmh@aybabtu.com>
38854
38855 * include/grub/i386/linuxbios/memory.h
38856 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
38857 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38858 receive `table_header' as argument. Instead, probe for it in the
38859 known memory ranges where it can be present.
38860 (grub_available_iterate): Do not pass a fixed `table_header' address
38861 to grub_linuxbios_table_iterate().
38862
3d04eab8 388632008-01-15 Robert Millan <rmh@aybabtu.com>
38864
38865 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38866 * conf/i386-ieee1275.rmk: New file.
38867 * include/grub/i386/ieee1275/console.h: Likewise.
38868 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38869 * include/grub/i386/ieee1275/kernel.h: Likewise.
38870 * include/grub/i386/ieee1275/time.h: Likewise.
38871 * kern/i386/ieee1275/init.c: Likewise.
38872 * kern/i386/ieee1275/startup.S: Likewise.
38873
d1bc1b73 388742008-01-15 Robert Millan <rmh@aybabtu.com>
38875
38876 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38877 when pointers are 32-bit (but still do set it to one when they are
38878 64-bit).
38879
66a65807 388802008-01-15 Robert Millan <rmh@aybabtu.com>
38881
38882 * include/grub/ieee1275/ieee1275.h
38883 (grub_ieee1275_get_integer_property): New function prototype.
38884
38885 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38886 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 38887 grub_ieee1275_get_property() to handle endianness.
66a65807 38888
38889 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38890 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 38891 where appropriate.
66a65807 38892 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38893 (grub_map): Likewise.
38894 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38895
a83ccafd 388962008-01-15 Bean <bean123ch@gmail.com>
38897
38898 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38899 (grub_script_execute_cmdline): Reset grub_errno.
38900
38901 * normal/main.c (read_config_file): Reset grub_errno.
38902
38903 * normal/parse.y (script_init): New.
38904 (script): Move function and menuentry here.
38905 (delimiter): New.
38906 (command): Add delimiter at the end of command.
38907 (commands): Adjust to match the new command.
38908 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 38909 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 38910 (if): Use the new commands.
38911
38912 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38913
df6ecfc6 389142008-01-15 Robert Millan <rmh@aybabtu.com>
38915
38916 * normal/menu.c (run_menu): Move timeout message from here ...
38917 (print_timeout): ... to here.
38918 (run_menu): Use print_timeout() once during initial draw to print
38919 the whole message, and again in every clock tick to update only
38920 the number of seconds.
38921
87ae25eb 389222008-01-15 Robert Millan <rmh@aybabtu.com>
38923
38924 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38925 actual size of `available' from grub_ieee1275_get_property(), and
38926 restrict parsing to that bound.
38927
47bf09a4 389282008-01-15 Christian Franke <franke@computer.org>
38929
38930 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38931 (argp_program_version): Remove variable.
38932 (argp_program_bug_address): Likewise.
38933 (options): Convert from struct argp_option to struct option.
38934 (struct arguments): Remove.
38935 (parse_opt): Remove.
38936 (usage): New function.
38937 (main): Replace struct args members by simple variables.
38938 Replace argp_parse() by getopt_long().
38939 Add switch to evaluate options.
38940 Add missing "(...)" around root_dev in prefix string.
38941
c86f1469 389422008-01-14 Robert Millan <rmh@aybabtu.com>
38943
38944 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38945 for grub_ieee1275_exit(), in order to improve portability.
38946
e622c559 389472008-01-14 Robert Millan <rmh@aybabtu.com>
38948
38949 * util/grub.d/10_linux.in (prefix): Define.
38950 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38951
44cb1ec8 389522008-01-13 Pavel Roskin <proski@gnu.org>
38953
38954 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38955 grub_errno if no errors have been detected.
38956
1eb8c802 389572008-01-12 Robert Millan <rmh@aybabtu.com>
38958
38959 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38960 (grub_util_get_dev_abstraction): New function prototype.
38961
38962 * util/getroot.c: Include `<grub/util/getroot.h>'
38963 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38964 (grub_util_get_dev_abstraction): ... here (new function).
38965
38966 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38967 `PRINT_ABSTRACTION'.
38968 (probe): Probe for abstraction type when requested.
38969 (main): Understand `--target=abstraction'.
38970
38971 * util/i386/efi/grub-install.in: Add abstraction module to core
38972 image when it is found to be necessary.
38973 * util/i386/pc/grub-install.in: Likewise.
38974 * util/powerpc/ieee1275/grub-install.in: Likewise.
38975
38976 * util/update-grub_lib.in (font_path): Return system path without
38977 converting to GRUB path.
38978 * util/update-grub.in: Convert system path returned by font_path()
38979 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38980 abstraction module is needed for loading fonts (if any). Export
38981 that as `GRUB_PRELOAD_MODULES'.
38982 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38983 insmod commands).
38984
52bd3de9 389852008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38986
38987 Remove some unused code from reiserfs.
f19dbdb7 38988
52bd3de9 38989 * fs/reiserfs.c (struct grub_reiserfs_key)
38990 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38991 (struct grub_reiserfs_node_body): Removed.
38992 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38993 Likewise.
38994 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38995 Likewise.
38996 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38997 Likewise.
38998 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38999 Likewise.
39000 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
39001 Likewise.
39002 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
39003 Likewise.
39004 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
39005 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
39006 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
39007
2f80039d 390082008-01-10 Robert Millan <rmh@aybabtu.com>
39009
39010 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
39011 Determines if a file is garbage left by packaging systems, etc.
39012 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
39013 for processing /etc/grub.d scripts.
39014 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
39015 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
39016 as a condition for processing Linux images.
39017
87888032 390182008-01-10 Pavel Roskin <proski@gnu.org>
39019
39020 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
39021 to compile reiserfs.c on PowerPC.
39022
7e54fced 390232008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 39024
39025 * kern/device.c (grub_device_iterate): Do not abort device iteration
39026 when one of the devices cannot be opened.
39027 * kern/disk.c (grub_disk_open): Do not account previous failures of
39028 unrelated functions when grub_errno is checked for.
39029
5aa541e6 390302008-01-08 Robert Millan <rmh@aybabtu.com>
39031
39032 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
39033 `! grub_linux_is_bzimage', change order of address comparison to make
39034 it more intuitive, and improve "too big zImage" error message.
39035
7076340d 390362008-01-08 Robert Millan <rmh@aybabtu.com>
39037
39038 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
39039 `$(update-grub_DATA)'.
39040 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
39041 targets.
39042
9ca70333 390432008-01-07 Robert Millan <rmh@aybabtu.com>
39044
39045 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
39046 which instruction is modified by grub-setup during installation
39047 (since it wasn't obvious by only looking at this file).
39048
38ccf575 390492008-01-07 Robert Millan <rmh@aybabtu.com>
39050
39051 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
39052 listing actual TODO items.
39053
f5db4291 390542008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
39055
868967cf 39056 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
39057 correctly.
39058 (grub_reiserfs_get_key_offset): Likewise.
39059 (grub_reiserfs_set_key_offset): Likewise.
39060 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 39061 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 39062
39063 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
39064 better to remove the bitfield version completely.
f19dbdb7 39065
868967cf 390662008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39067
f5db4291 39068 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
39069 allocated from the heap, due to the fshelp implementation.
39070 (grub_reiserfs_dir): Free NODE, due to the same reason.
39071
492e6d9d 390722008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
39073
39074 Mostly from Vincent Pelletier:
f19dbdb7 39075
492e6d9d 39076 * fs/reiserfs.c: New file.
f19dbdb7 39077
492e6d9d 39078 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
39079 (reiserfs_mod_SOURCES): New variable.
39080 (reiserfs_mod_CFLAGS): Likewise.
39081 (reiserfs_mod_LDFLAGS): Likewise.
39082
39083 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
39084 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
39085 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
39086 normal/color.c.
39087
9ce3e7c1 390882008-01-06 Robert Millan <rmh@aybabtu.com>
39089
39090 * normal/color.c: Remove `<grub/env.h>'.
39091
f3b58148 390922008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
39093
39094 * include/grub/normal.h: Include <grub/env.h>.
39095
7ac3bcfa 390962008-01-05 Robert Millan <rmh@aybabtu.com>
39097
39098 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
39099 usage example with `(hd0,1)'.
fb358190 39100 Reported by Samuel Thibault.
7ac3bcfa 39101
c8ee99d7 391022008-01-05 Robert Millan <rmh@aybabtu.com>
39103
39104 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
39105 (grub_linux_boot_zimage): Rename to ...
39106 (grub_linux_boot): ... this.
39107 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
39108 (grub_linux_boot_zimage): Conditionalize zImage copy.
39109
39110 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
39111 (grub_linux_boot_bzimage): Remove prototype.
39112 (grub_linux_boot_zimage): Rename to ...
39113 (grub_linux_boot): ... this.
39114
39115 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
39116 (grub_linux_boot): Remove function.
39117
0ece25b1 391182008-01-05 Robert Millan <rmh@aybabtu.com>
39119
39120 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
39121 (grub_env_write_color_highlight): Likewise.
39122 (grub_wait_after_message): Likewise.
39123
39124 * normal/color.c: New file.
39125
39126 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39127 (normal_mod_DEPENDENCIES): Likewise.
39128
39129 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39130 (normal_mod_DEPENDENCIES): Likewise.
39131
39132 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39133 (normal_mod_DEPENDENCIES): Likewise.
39134
39135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39136 (normal_mod_DEPENDENCIES): Likewise.
39137
39138 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
39139 for waiting after a message is printed.
39140 * normal/main.c (read_config_file): Likewise.
39141 (grub_normal_init): Register grub_env_write_color_normal() and
39142 grub_env_write_color_highlight() hooks. Mark `color_normal' and
39143 `color_highlight' variables as global.
39144
39145 * normal/menu.c (grub_wait_after_message): New function.
39146 (grub_color_menu_normal): New variable. Replaces ...
39147 (GRUB_COLOR_MENU_NORMAL): ... this macro.
39148 (grub_color_menu_highlight): New variable. Replaces ...
39149 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
39150 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
39151 `GRUB_TERM_COLOR_STANDARD'.
39152 (print_message): Use `grub_setcolorstate' to reload colors. Rename
39153 `normal_code' and `highlight_code' to `old_color_normal' and
39154 `old_color_highlight', respectively.
39155 (grub_menu_init_page): Update colors when drawing the menu, based on
39156 `menu_color_normal' and `menu_color_highlight' variables.
39157 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
39158 a message is printed.
39159
182dd4e5 391602008-01-05 Robert Millan <rmh@aybabtu.com>
39161
39162 * kern/env.c (grub_env_context_open): Propagate hooks for global
39163 variables to new context.
39164
39165 * kern/main.c (grub_set_root_dev): Export `root' variable.
39166
ddf8f6ad 391672008-01-05 Robert Millan <rmh@aybabtu.com>
39168
39169 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 39170 discs unconditionally, since udev and others have options to provide
ddf8f6ad 39171 them.
39172
d8b43d9b 391732008-01-05 Robert Millan <rmh@aybabtu.com>
39174
39175 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
39176
2bff2de3 391772008-01-04 Christian Franke <franke@computer.org>
39178
39179 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
39180 of eisa_mmap.
39181
97eab917 391822008-01-03 Pavel Roskin <proski@gnu.org>
39183
39184 * kern/i386/linuxbios/init.c: Put "void" to all function
39185 declarations with no arguments.
39186 * kern/powerpc/ieee1275/init.c: Likewise.
39187 * term/i386/pc/at_keyboard.c: Likewise.
39188 * term/i386/pc/vga_text.c: Likewise.
39189 * util/grub-mkdevicemap.c: Likewise.
39190
b9416d00 391912008-01-02 Robert Millan <rmh@aybabtu.com>
39192
39193 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
39194 message when loaded image is out of bounds.
39195 (grub_multiboot_load_elf64): Likewise.
39196
92695df9 391972008-01-02 Pavel Roskin <proski@gnu.org>
39198
39199 * util/grub.d/10_linux.in: Try version without ".old" when
39200 looking for initrd. It's better to use initrd from the newer
39201 kernel of the same version than no initrd at all.
39202
d98d9cad 392032008-01-01 Robert Millan <rmh@aybabtu.com>
39204
39205 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
39206
dbfdce36 392072008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
39208
f19dbdb7 39209 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 39210 grub_video_get_active_render_target.
39211 (grub_video_adapter): Added unmap_color and get_active_render_target.
39212
f19dbdb7 39213 * video/video.c: Added grub_video_unmap_color and
dbfdce36 39214 grub_video_get_active_render_target.
39215 (grub_video_get_info): Changed method to accept NULL pointer as an
39216 argument to allow detection of active video adapter.
39217
39218 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
39219 grub_video_vbe_unmap_color_int.
39220 Added grub_video_vbe_unmap_color and
39221 grub_video_vbe_get_active_render_target.
39222 (grub_video_vbe_adapter): Added unmap_color and
39223 get_active_render_target.
39224
f19dbdb7 39225 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 39226 with grub_video_vbe_unmap_color_int.
39227
39228 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
39229 (DEFAULT_NORMAL_COLOR): Likewise.
39230 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
39231 (DEFAULT_FG_COLOR): Removed.
39232 (DEFAULT_BG_COLOR): Likewise.
39233 (DEFAULT_CURSOR_COLOR): Changed value.
39234 (grub_virtual_screen): Added standard_color_setting,
39235 normal_color_setting, highlight_color_setting and term_color.
39236 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
39237 (bitmap_width): Added.
39238 (bitmap_height): Likewise.
39239 (bitmap): Likewise.
39240 (set_term_color): Likewise.
39241 (grub_virtual_screen_setup): Changed to use new terminal coloring
39242 settings.
39243 (grub_gfxterm_init): Added init for bitmap.
39244 (grub_gfxterm_fini): Added destroy for bitmap.
39245 (redraw_screen_rect): Updated to use background bitmap and new
39246 terminal coloring.
39247 (scroll_up): Added optimization for case when there is no bitmap.
39248 (grub_gfxterm_cls): Fixed to use correct background color.
39249 (grub_virtual_screen_setcolorstate): Changed to use new terminal
39250 coloring.
39251 (grub_virtual_screen_setcolor): Likewise.
39252 (grub_virtual_screen_getcolor): Added.
39253 (grub_gfxterm_background_image_cmd): Likewise.
39254 (grub_video_term): Added setcolor and getcolor.
39255 (MOD_INIT): Added registration of background_image command.
39256 (MOD_TERM): Added unregistration for background_image command.
39257
c3c20931 392582007-12-30 Pavel Roskin <proski@gnu.org>
39259
39260 * loader/multiboot_loader.c: Fix multiboot command
39261 unregistration. Fix all typos in the word "multiboot".
39262
df266716 392632007-12-29 Pavel Roskin <proski@gnu.org>
94239199 39264
39265 * util/grub.d/10_linux.in: Refactor search for initrd. Add
39266 support for initrd names used in Fedora.
39267
fc6e896c 392682007-12-26 Bean <bean123ch@gmail.com>
39269
39270 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
39271 (cpio_mod_SOURCES): New variable.
39272 (cpio_mod_CFLAGS): Likewise.
39273 (cpio_mod_LDFLAGS): Likewise.
39274
39275 * fs/cpio.c: New file.
39276
39277 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
39278
39279 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39280
39281 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39282
39283 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39284
533110ad 392852007-12-25 Robert Millan <rmh@aybabtu.com>
39286
39287 * include/grub/term.h (struct grub_term): Add `getcolor' function.
39288 (grub_getcolor): New function.
39289
39290 * kern/term.c (grub_getcolor): New function.
39291 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
39292 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
39293 (print_entry): Set normal and highlight colors to
39294 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
39295 respectively, before printing and restore them to old
39296 values afterwards.
39297 (grub_menu_init_page): Likewise. Fill an additional colored space
39298 that would otherwise be left blank.
39299
39300 * term/efi/console.c (grub_console_getcolor): New function.
39301 (struct grub_console_term.getcolor): New variable.
39302 * term/i386/pc/console.c (grub_console_getcolor): New function.
39303 (struct grub_console_term.getcolor): New variable.
39304 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
39305 (struct grub_console_term.getcolor): New variable.
39306
39307 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
39308 (struct grub_console_term.setcolor): Remove variable.
39309 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
39310 (struct grub_console_term.setcolor): Remove variable.
39311 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
39312 (struct grub_console_term.setcolor): Remove variable.
39313 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
39314 (struct grub_console_term.setcolor): Remove variable.
39315
4931827f 393162007-12-25 Robert Millan <rmh@aybabtu.com>
39317
39318 * configure.ac: Search for possible unifont.hex locations, and
39319 define UNIFONT_HEX if found.
39320
39321 * Makefile.in (UNIFONT_HEX): Define variable.
39322 (DATA): Rename to ...
39323 (PKGLIB): ... this. Update all users.
39324 (PKGDATA): New variable.
39325 (pkgdata_IMAGES): Rename to ...
39326 (pkglib_IMAGES): ... this. Update all users.
39327 (pkgdata_MODULES): Rename to ...
39328 (pkglib_MODULES): ... this. Update all users.
39329 (pkgdata_PROGRAMS): Rename to ...
39330 (pkglib_PROGRAMS): ... this. Update all users.
39331 (pkgdata_DATA): Rename to ...
39332 (pkglib_DATA): ... this. Update all users.
39333 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
39334 (unicode.pff, ascii.pff): New rules.
39335 (all-local): Add `$(PKGDATA)' dependency.
39336 (install-local): Process `$(PKGDATA)'.
39337
39338 * util/update-grub_lib.in (font_path): Search for *.pff files in
39339 a few more locations, including `${pkgdata}'.
39340
57e57e31 393412007-12-23 Robert Millan <rmh@aybabtu.com>
39342
39343 Patch from Bean <bean123ch@gmail.com>:
39344 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
39345 `size'.
39346
4bc72aa9 393472007-12-21 Bean <bean123ch@gmail.com>
39348
39349 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
39350 (ntfscomp_mod_SOURCES): New variable.
39351 (ntfscomp_mod_CFLAGS): Likewise.
39352 (ntfscomp_mod_LDFLAGS): Likewise.
39353
39354 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
39355 (grub_probe_SOURCES): Likewise.
39356 (grub_emu_SOURCES): Likewise.
39357
39358 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39359 (grub_emu_SOURCES): Likewise.
39360
39361 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39362 (grub_emu_SOURCES): Likewise.
39363
39364 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39365 (grub_emu_SOURCES): Likewise.
39366
39367 * fs/ntfs.c (grub_ntfscomp_func): New variable.
39368 (read_run_list): Renamed to grub_ntfs_read_run_list.
39369 (decomp_nextvcn): Moved to ntfscomp.c.
39370 (decomp_getch): Likewise.
39371 (decomp_get16): Likewise.
39372 (decomp_block): Likewise.
39373 (read_block): Likewise.
39374 (read_data): Partially moved to ntfscomp.c.
39375 (fixup): Change unsigned to grub_uint16_t.
39376 (read_mft): Change unsigned long to grub_uint32_t.
39377 (read_attr): Likewise.
39378 (read_data): Likewise.
39379 (read_run_data): Likewise.
39380 (read_run_list): Likewise.
39381 (read_mft): Likewise.
39382
39383 * fs/ntfscomp.c: New file.
39384
39385 * include/grub/ntfs.h: New file.
39386
af680a87 393872007-12-16 Robert Millan <rmh@aybabtu.com>
39388
39389 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
39390 IDE disk check, since Linux is known to support 20 IDE disks.
39391 Reported by Colin Watson.
39392
84be7599 393932007-12-15 Bean <bean123ch@gmail.com>
39394
39395 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
39396 (lnxboot_img_SOURCES): New variable.
39397 (lnxboot_img_ASFLAGS): Likewise.
39398 (lnxboot_img_LDFLAGS): Likewise.
39399
39400 * boot/i386/pc/lnxboot.S: New file.
39401
6af9db01 394022007-11-24 Pavel Roskin <proski@gnu.org>
39403
39404 * configure.ac: Test if '--build-id=none' is supported by the
39405 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
39406 objcopy to generate incorrect binary files (binutils
39407 2.17.50.0.18-1 as shipped by Fedora 8).
39408 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
39409 linking, so that build ID doesn't break the test.
39410
7361cfe6 394112007-11-24 Pavel Roskin <proski@gnu.org>
39412
39413 * include/grub/i386/time.h: use "void" in the argument list
39414 of grub_cpu_idle().
39415 * include/grub/powerpc/time.h: Likewise.
39416 * include/grub/sparc64/time.h: Likewise.
39417
1593e10c 394182007-11-18 Christian Franke <franke@computer.org>
39419
39420 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
39421 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
39422 This fixes the problem that function keys did not work in grub-emu.
39423
3b8db1a8 394242007-11-18 Christian Franke <franke@computer.org>
39425
39426 * disk/host.c (grub_host_open): Remove attribute unused from
39427 name parameter. Add check for "host". This fixes the problem
39428 that grub-emu does not find partitions.
39429
2e29408d 394302007-11-18 Christian Franke <franke@computer.org>
39431
39432 * util/hostfs.c (is_dir): New function.
39433 (grub_hostfs_dir): Handle missing dirent.d_type case.
39434 (grub_hostfs_read): Add missing fseek().
39435 (grub_hostfs_label): Clear label pointer. This fixes a crash
39436 of grub-emu on "ls (host)".
39437
398cd047 394382007-11-18 Christian Franke <franke@computer.org>
39439
39440 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
39441 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
39442 to 64 bit boundary by default.
39443
c405c391 394442007-11-18 Bean <bean123ch@gmail.com>
39445
39446 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
39447 (hexdump_mod_SOURCES): New variable.
39448 (hexdump_mod_CFLAGS): Likewise.
39449 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 39450
c405c391 39451 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39452
39453 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39454
39455 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39456
39457 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39458
39459 * include/grub/hexdump.h: New file.
39460
39461 * commands/hexdump.c: New file.
39462
5cced7fd 394632007-11-10 Robert Millan <rmh@aybabtu.com>
39464
39465 * commands/i386/pc/play.c (beep_off): Switch order of arguments
39466 in grub_outb() calls.
39467 (beep_on): Likewise.
39468
8b714eb0 394692007-11-10 Christian Franke <franke@computer.org>
39470
39471 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
39472 (grub_menu_run): Likewise.
39473
ce0f1839 394742007-11-10 Robert Millan <rmh@aybabtu.com>
39475
39476 * include/grub/i386/efi/machine.h: New file.
39477 * include/grub/i386/linuxbios/machine.h: Likewise.
39478 * include/grub/i386/pc/machine.h: Likewise.
39479 * include/grub/powerpc/ieee1275/machine.h: Likewise.
39480 * include/grub/sparc64/ieee1275/machine.h: Likewise.
39481
39482 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
39483 (serial_hw_io_addr): New variable.
39484 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
39485 instead of `(unsigned short *) 0x400'.
39486
270c237d 394872007-11-10 Bean <bean123ch@gmail.com>
39488
39489 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
39490
a87783bf 394912007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39492
39493 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
39494 (vga_mod_SOURCES): Added.
39495 (vga_mod_CFLAGS): Likewise.
39496 (vga_mod_LDFLAGS): Likewise.
39497
39498 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
39499 grub_outb() calls.
39500 (set_map_mask): Likewise.
39501 (set_read_map): Likewise.
39502 (set_read_address): Likewise.
39503 (vga_font): Removed variable.
39504 (get_vga_glyph): Removed function.
39505 (invalidate_char): Likewise.
39506 (write_char): Changed to use grub_font_get_glyph() for font
39507 information.
39508 (grub_vga_putchar): Likewise.
39509 (grub_vga_getcharwidth): Likewise.
39510
6433b448 395112007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39512
39513 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
39514 flags.
39515 (pxeboot_img_LDFLAGS): Likewise.
39516 (diskboot_img_LDFLAGS): Likewise.
39517 (kernel_img_LDFLAGS): Likewise.
39518
49178511 395192007-11-06 Robert Millan <rmh@aybabtu.com>
39520
39521 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
39522 in grub_outb() calls.
39523 (serial_hw_init): Likewise.
39524
53b052de 395252007-11-05 Robert Millan <rmh@aybabtu.com>
39526
39527 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
39528 spaces. Skip non-regular files.
39529
5ab33bba 395302007-11-05 Robert Millan <rmh@aybabtu.com>
39531
39532 * kern/disk.c (grub_disk_firmware_fini)
39533 (grub_disk_firmware_is_tainted): New variables.
39534
39535 * include/grub/disk.h (grub_disk_firmware_fini)
39536 (grub_disk_firmware_is_tainted): Likewise.
39537
39538 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
39539 (grub_disk_biosdisk_fini): ... to here.
39540 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
39541 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
39542 is set. Register grub_disk_biosdisk_fini() in
39543 `grub_disk_firmware_fini'.
39544
39545 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
39546 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
39547 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
39548 to finish existing firmware disk interface.
39549
39550 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
39551 (ata_mod_SOURCES): New variable.
39552 (ata_mod_CFLAGS): Likewise.
39553 (ata_mod_LDFLAGS): Likewise.
39554
0149ab7c 395552007-11-05 Robert Millan <rmh@aybabtu.com>
39556
39557 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
39558 (grub_ata_wait): Reimplement using grub_millisleep().
39559
39560 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
39561 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
39562
be7ac41e 395632007-11-03 Marco Gerards <marco@gnu.org>
39564
39565 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
39566 (CRTC_ADDR_PORT): New macro.
39567 (CRTC_DATA_PORT): Likewise.
39568 (CRTC_CURSOR): Likewise.
39569 (CRTC_CURSOR_ADDR_HIGH): Likewise.
39570 (CRTC_CURSOR_ADDR_LOW): Likewise.
39571 (update_cursor): New function.
39572 (grub_console_real_putchar): Call `update_cursor'.
39573 (grub_console_gotoxy): Likewise.
39574 (grub_console_cls): Set the default color when clearing the
39575 screen.
39576 (grub_console_setcursor): Implemented.
39577
bb06ab2e 395782007-11-03 Marco Gerards <marco@gnu.org>
39579
39580 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
39581 become activate.
39582 (grub_ata_pio_write): Likewise.
39583
39584 (grub_atapi_identify): Wait after issuing an ATA command.
39585 (grub_atapi_packet): Likewise.
39586 (grub_ata_identify): Likewise.
39587 (grub_ata_readwrite): Likewise.
39588
cf8f780b 395892007-11-03 Marco Gerards <marco@gnu.org>
39590
39591 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
39592 (grub_ata_pio_write): Likewise.
39593 (grub_ata_readwrite): Use `grub_error', instead of
39594 returning `grub_errno'.
39595
ed649e54 395962007-11-03 Marco Gerards <marco@gnu.org>
39597
39598 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
39599 grub_ata_pio_write once for every single sector, instead of for
39600 multiple sectors.
39601
ca25d8f0 396022007-10-31 Robert Millan <rmh@aybabtu.com>
39603
39604 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
39605
39606 * conf/i386-linuxbios.rmk: New file.
39607
39608 * kern/i386/pc/hardware.c: Likewise.
39609 * term/i386/pc/at_keyboard.c: Likewise.
39610 * term/i386/pc/vga_text.c: Likewise.
39611
39612 * include/grub/i386/linuxbios/boot.h: Likewise.
39613 * include/grub/i386/linuxbios/console.h: Likewise.
39614 * include/grub/i386/linuxbios/init.h: Likewise.
39615 * include/grub/i386/linuxbios/kernel.h: Likewise.
39616 * include/grub/i386/linuxbios/loader.h: Likewise.
39617 * include/grub/i386/linuxbios/memory.h: Likewise.
39618 * include/grub/i386/linuxbios/serial.h: Likewise.
39619 * include/grub/i386/linuxbios/time.h: Likewise.
39620
39621 * kern/i386/linuxbios/init.c: Likewise.
39622 * kern/i386/linuxbios/startup.S: Likewise.
39623 * kern/i386/linuxbios/table.c: Likewise.
39624
e911ecc1 396252007-10-31 Marco Gerards <marco@gnu.org>
39626
39627 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
39628 (ata_mod_SOURCES): New variable.
39629 (ata_mod_CFLAGS): Likewise.
39630 (ata_mod_LDFLAGS): Likewise.
39631
39632 * disk/ata.c: New file.
39633
39634 * include/grub/disk.h (grub_disk_dev_id): Add
39635 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 39636
7f66d0e0 396372007-10-31 Robert Millan <rmh@aybabtu.com>
39638
39639 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
39640 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
39641
39642 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
39643 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
39644
39645 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
39646 `<grub/types.h>'.
39647
39648 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
39649
5cd7dd46 396502007-10-27 Robert Millan <rmh@aybabtu.com>
39651
3236ca65 39652 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 39653
2ebfc90f 396542007-10-22 Robert Millan <rmh@aybabtu.com>
39655
39656 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
39657 `"../realmode.S"'.
39658 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
39659
73fcb0f3 396602007-10-22 Robert Millan <rmh@aybabtu.com>
39661
39662 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
39663 (pkgdata_MODULES): Add `biosdisk.mod'.
39664 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
39665 variables.
39666
39667 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
39668 (grub_biosdisk_init): Replace with ...
39669 (GRUB_MOD_INIT(biosdisk)): ... this.
39670 (grub_biosdisk_fini): Replace with ...
39671 (GRUB_MOD_FINI(biosdisk)): ... this.
39672
39673 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
39674 (grub_machine_init): Remove call to grub_biosdisk_init().
39675 (grub_machine_fini): Remove call to grub_machine_fini().
39676
39677 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
39678
3381d274 396792007-10-22 Robert Millan <rmh@aybabtu.com>
39680
39681 * include/grub/time.h: New file.
39682 * include/grub/i386/time.h: Likewise.
39683 * include/grub/powerpc/time.h: Likewise.
39684 * include/grub/sparc64/time.h: Likewise.
39685
39686 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
39687 instances to ...
39688 (KERNEL_MACHINE_TIME_HEADER): ... this.
39689 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39690 instances to ...
39691 (KERNEL_MACHINE_TIME_HEADER): ... this.
39692 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39693 instances to ...
39694 (KERNEL_MACHINE_TIME_HEADER): ... this.
39695
39696 * kern/i386/efi/init.c: Include `<grub/time.h>'.
39697 (grub_millisleep): New function.
39698 * kern/i386/pc/init.c: Include `<grub/time.h>'.
39699 (grub_millisleep): New function.
39700 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
39701 Remove `grub/machine/time.h' include.
39702 (grub_millisleep): New function.
39703 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
39704 Remove `grub/machine/time.h' include.
39705 (grub_millisleep): New function.
39706
39707 * include/grub/misc.h (grub_div_roundup): New function.
39708
39709 * kern/misc.c: Include `<grub/time.h>'.
39710 (grub_millisleep_generic): New function.
39711
39712 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
39713 Add `time.h'.
39714 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
39715 Add `time.h'.
39716 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
39717 `machine/time.h'. Add `time.h'.
39718 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39719
a39a0312 397202007-10-21 Robert Millan <rmh@aybabtu.com>
39721
39722 * include/grub/misc.h (grub_max): New function.
39723
2aad70e2 397242007-10-21 Robert Millan <rmh@aybabtu.com>
39725
39726 * util/misc.c (grub_util_info): Call fflush() before returning.
39727
54b71c4b 397282007-10-20 Robert Millan <rmh@aybabtu.com>
39729
39730 * genmk.rb (Image): Copy `extra_flags' from here ...
39731 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
39732
39733 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
39734 to `argc' and `args' arguments.
39735
a979f513 397362007-10-17 Robert Millan <rmh@aybabtu.com>
39737
39738 * kern/i386/loader.S: New file.
39739
39740 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
39741 * kern/i386/loader.S (grub_linux_prot_size)... to here.
39742 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
39743 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
39744 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
39745 * kern/i386/loader.S (grub_linux_real_addr)... to here.
39746 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
39747 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
39748 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
39749 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
39750 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
39751 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
39752 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
39753 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
39754
39755 * kern/i386/realmode.S: New file.
39756
39757 * kern/i386/pc/startup.S (protstack): Moved from here ...
39758 * kern/i386/realmode.S (protstack)... to here.
39759 * kern/i386/pc/startup.S (gdt): Moved from here ...
39760 * kern/i386/realmode.S (gdt)... to here.
39761 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
39762 * kern/i386/realmode.S (prot_to_real)... to here.
39763
39764 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
39765 `kern/i386/realmode.S'.
39766
825fc8fd 397672007-10-17 Robert Millan <rmh@aybabtu.com>
39768
39769 * include/grub/i386/loader.h: New file.
39770
39771 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
39772 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39773 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39774 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39775 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
39776 * include/grub/i386/loader.h (grub_linux_prot_size)
39777 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39778 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39779 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39780 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
39781
39782 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
39783
e179b2f4 397842007-10-15 Robert Millan <rmh@aybabtu.com>
39785
39786 * normal/misc.c (grub_normal_print_device_info): Do not probe for
39787 filesystem when dev->disk is unset.
39788 Do probe for filesystem even when dev->disk->has_partitions is set.
39789 In case a filesystem is found, always report it.
39790 In case it isn't, if dev->disk->has_partitions is set, report that
39791 a partition table was found instead of reporting that no filesystem
39792 could be identified.
39793
5db82af6 397942007-10-12 Robert Millan <rmh@aybabtu.com>
39795
39796 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
39797 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
39798
68f6ac74 39799 * include/grub/types.h (grub_host_to_target16): New macro.
39800 (grub_host_to_target32): Likewise.
39801 (grub_host_to_target64): Likewise.
39802 (grub_target_to_host16): Likewise.
39803 (grub_target_to_host32): Likewise.
39804 (grub_target_to_host64): Likewise.
5db82af6 39805
39806 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39807 Renamed from to ...
39808 (GRUB_MOD_ALIGN): ...this. Update all users.
39809
68f6ac74 39810 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
39811 grub_host_to_target32.
39812 Replace grub_be_to_cpu32 with grub_target_to_host32.
39813 (load_modules): Likewise.
39814 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
39815 Replace grub_be_to_cpu32 with grub_target_to_host32.
39816 Replace grub_cpu_to_be16 with grub_host_to_target16.
39817 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 39818
3cf497cc 398192007-10-12 Robert Millan <rmh@aybabtu.com>
39820
39821 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
39822 * util/elf/grub-mkimage.c: ... here.
39823
39824 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
39825 `util/powerpc/ieee1275/grub-mkimage.c'.
39826
c8cc3692 398272007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 39828
c8cc3692 39829 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
39830 and make it easier to figure out.
39831 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
39832 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
39833 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
39834 leave us with less than HEAP_MIN_SIZE total heap.
39835 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 39836
5c58b791 398372007-10-03 Robert Millan <rmh@aybabtu.com>
39838
39839 * include/grub/i386/io.h: New file.
39840 * commands/i386/pc/play.c (inb): Removed.
39841 (outb): Removed.
39842 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39843 with grub_outb().
afcd2ef8 39844 * term/i386/pc/serial.c (inb): Removed.
39845 (outb): Removed.
39846 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39847 with grub_outb().
39848 * term/i386/pc/vga.c (inb): Removed.
39849 (outb): Removed.
39850 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39851 with grub_outb().
5c58b791 39852
1a477ed6 398532007-10-02 Robert Millan <rmh@aybabtu.com>
39854
39855 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
39856 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39857 Reported by Marcin Kurek.
39858
6b5d80fa 398592007-09-07 Robert Millan <rmh@aybabtu.com>
39860
39861 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39862 SmartFirmware version updates (as released by Sven Luther), and avoid
39863 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39864 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39865 known broken.
39866
5618afbf 398672007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39868
39869 From Hitoshi Ozeki:
39870 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39871 when merging two regions.
39872
6139dcd9 398732007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39874
508e39ee 39875 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39876 * normal/completion.c (grub_normal_do_completion): Likewise.
39877 Reported by Hitoshi Ozeki.
39878
398792007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39880
6139dcd9 39881 Do not use devices at boot in chainloading.
f19dbdb7 39882
6139dcd9 39883 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39884 (boot_part_addr): Likewise.
39885 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39886 with BOOT_DRIVE and BOOT_PART_ADDR.
39887 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39888 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39889
38da6516 398902007-08-29 Robert Millan <rmh@aybabtu.com>
39891
39892 Patch from Simon Peter <dn.tlp@gmx.net>:
39893 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39894 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39895 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39896 util/i386/pc/grub-setup.c_DEPENDENCIES.
39897 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39898 util/grub-probe.c_DEPENDENCIES.
39899 * conf/powerpc-ieee1275.rmk: Likewise.
39900
29d0928c 399012007-08-28 Robert Millan <rmh@aybabtu.com>
39902
39903 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39904 to tell grub-mkdevicemap how to name devices.
39905 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39906 feature).
39907
39908 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39909 util/i386/get_disk_name.c.
39910 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39911 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39912 util/ieee1275/get_disk_name.c.
39913
39914 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39915
39916 * DISTLIST: Add util/i386/get_disk_name.c and
39917 util/ieee1275/get_disk_name.c.
39918
39919 * util/grub-mkdevicemap.c: Replace device naming logic with
39920 grub_util_get_disk_name() calls.
39921
5a0d3cca 399222007-08-20 Robert Millan <rmh@aybabtu.com>
39923
39924 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39925 (so that it works for both plural and singular quantities).
39926
8b72db2f 399272007-08-05 Robert Millan <rmh@aybabtu.com>
39928
39929 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39930 so that [xz] isn't taken into account when determining order.
39931
352466bf 399322007-08-02 Marco Gerards <marco@gnu.org>
39933
39934 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39935 `include/multiboot2.h', `include/grub/elfload.h',
39936 `include/multiboot.h', `include/grub/multiboot.h',
39937 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39938 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39939 `kern/elf.c', `loader/multiboot_loader.c',
39940 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39941 `loader/i386/pc/multiboot2.c',
39942 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39943 `util/i386/pc/grub-mkrescue.in'. Remove
39944 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39945 `include/grub/i386/pc/util/biosdisk.h' and
39946 `include/grub/powerpc/ieee1275/multiboot.h'.
39947
8f096014 399482007-08-02 Bean <bean123ch@gmail.com>
39949
39950 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39951 (ntfs_mod_SOURCES): New variable.
39952 (ntfs_mod_CFLAGS): Likewise.
39953 (ntfs_mod_LDFLAGS): Likewise.
39954
39955 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39956 (grub_probe_SOURCES): Likewise.
39957 (grub_emu_SOURCES): Likewise.
39958
39959 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39960 (grub_emu_SOURCES): Likewise.
39961
39962 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39963 (grub_emu_SOURCES): Likewise.
f19dbdb7 39964
8f096014 39965 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39966
39967 * fs/ntfs.c: New file.
39968
9959f7db 399692007-08-02 Bean <bean123ch@gmail.com>
39970
39971 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39972
39973 * file.h (grub_file): Likewise.
39974
39975 * fshelp.h (grub_fshelp_read_file): Likewise.
39976
39977 * util/i386/pc/grub-setup.c (setup): Likewise.
39978 (save_first_sector): Likewise.
39979 (save_blocklists): Likewise.
f19dbdb7 39980
9959f7db 39981 * fs/affs.c (grub_affs_read_file): Likewise.
39982
39983 * fs/ext2.c (grub_ext2_read_file): Likewise.
39984
39985 * fs/fat.c (grub_fat_read_data): Likewise.
39986
39987 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39988
39989 * fs/hfs.c (grub_hfs_read_file): Likewise.
39990
39991 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39992
39993 * fs/jfs.c (grub_jfs_read_file): Likewise.
39994
39995 * fs/minix.c (grub_minix_read_file): Likewise.
39996
39997 * fs/sfs.c (grub_sfs_read_file): Likewise.
39998
39999 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 40000
9959f7db 40001 * fs/xfs.c (grub_xfs_read_file): Likewise.
40002
40003 * command/blocklist.c (read_blocklist): Likewise.
40004 (print_blocklist): Likewise.
40005
0a203f83 400062007-08-02 Marco Gerards <marco@gnu.org>
40007
40008 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
40009 `util/hostfs.c'.
40010
40011 * disk/host.c: New file.
40012
40013 * util/hostfs.c: Likewise.
40014
40015 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
40016 return `GRUB_ERR_BAD_FS'.
40017 * fs/sfs.c (grub_sfs_mount): Likewise.
40018 * fs/xfs.c (grub_xfs_mount): Likewise.
40019
40020 * include/grub/disk.h (enum grub_disk_dev_id): Add
40021 `GRUB_DISK_DEVICE_HOST_ID'.
40022
40023 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
40024
e5dfe777 400252007-07-24 Jerone Young <jerone@gmail.com>
40026
f19dbdb7 40027 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 40028 modules for compilation.
40029 * conf/powerpc-ieee1275.rmk: Likewise.
40030
40031 * include/multiboot.h: Move multiboot definitions to one file. Rename
40032 many definitions to not get grub specific.
40033 * include/multiboot2.h: Create header with multiboot 2 definitions.
40034 * include/grub/multiboot.h: Header for grub specific function
40035 prototypes and definitions.
40036 * include/grub/multiboot2.h: Likewise.
40037 * include/grub/multiboot_loader.h: Likewise.
40038 * include/grub/i386/pc/multiboot.h: Removed.
40039 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
40040
40041 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
40042 and 2 to allow for one multiboot and module commands.
40043 * loader/multiboot2.c: Add multiboot2 functionality.
40044 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
40045 and definition names.
40046 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
40047 2 functions.
40048 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
40049 ieee1275 specific multiboot2 code.
40050
40051 * kern/i386/pc/startup.S: Change headers and definition names for
40052 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
40053
daf0f0ba 400542007-07-22 Robert Millan <rmh@aybabtu.com>
40055
40056 * geninitheader.sh: Process file specified in first parameter rather
40057 than hardcoding grub_modules_init.lst.
fe6b695a 40058 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 40059 than hardcoding grub_modules_init.h.
40060
40061 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
40062 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
40063 grub_probe_init.[ch] and grub_setup_init.[ch].
40064
40065 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
40066 grub_modules_init.h with grub_emu_init.h.
40067 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
40068 grub_probe_init.[ch] files.
40069 * conf/i386-efi.rmk: Likewise.
40070 * conf/i386-pc.rmk: Likewise.
40071 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
40072 grub_setup_init.[ch] files.
40073
40074 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
40075 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
40076 to initialize modules rather than a list of hardcoded functions.
40077 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
40078 grub_init_all() to initialize modules rather than a list of hardcoded
40079 functions.
40080
54cdc1cc 400812007-07-22 Robert Millan <rmh@aybabtu.com>
40082
40083 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
40084 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
40085
ad0686cc 400862007-07-22 Robert Millan <rmh@aybabtu.com>
40087
40088 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
40089 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
40090 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
40091 flag when running on SmartFirmware.
40092 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
40093 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
40094 was set.
40095
40096 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40097 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
40098 rather than decreasing it.
40099
40100 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
40101 there's not enough space to do it, fail in the same way as when it
40102 can't be done because there are no partitions.
40103
40104 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
40105 when nvsetenv failed.
40106
969c02ec 401072007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
40108
40109 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
40110 because this rule is automatically generated.
40111 (grub-mkrescue): Removed for the same reason as above.
40112
5a79f472 401132007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
40114
40115 Migrate to GNU General Public License Version 3.
f19dbdb7 40116
5a79f472 40117 * COPYING: Replaced with the plain text version of GPLv3.
40118
40119 * config.guess: Updated from gnulib.
40120 * config.sub: Likewise.
40121
40122 * geninit.sh: Output a GPLv3 copyright notice.
40123 * geninitheader.sh: Likewise.
40124 * genmodsrc.sh: Likewise.
40125 * gensymlist.sh.in: Likewise.
40126
40127 * boot/i386/pc/boot.S: Upgraded to GPLv3.
40128 * boot/i386/pc/diskboot.S: Likewise.
40129 * boot/i386/pc/pxeboot.S: Likewise.
40130 * commands/blocklist.c: Likewise.
40131 * commands/boot.c: Likewise.
40132 * commands/cat.c: Likewise.
40133 * commands/cmp.c: Likewise.
40134 * commands/configfile.c: Likewise.
40135 * commands/echo.c: Likewise.
40136 * commands/help.c: Likewise.
40137 * commands/ls.c: Likewise.
40138 * commands/search.c: Likewise.
40139 * commands/terminal.c: Likewise.
40140 * commands/test.c: Likewise.
40141 * commands/videotest.c: Likewise.
40142 * commands/i386/cpuid.c: Likewise.
40143 * commands/i386/pc/halt.c: Likewise.
40144 * commands/i386/pc/play.c: Likewise.
40145 * commands/i386/pc/reboot.c: Likewise.
40146 * commands/i386/pc/vbeinfo.c: Likewise.
40147 * commands/i386/pc/vbetest.c: Likewise.
40148 * commands/ieee1275/halt.c: Likewise.
40149 * commands/ieee1275/reboot.c: Likewise.
40150 * commands/ieee1275/suspend.c: Likewise.
40151 * disk/loopback.c: Likewise.
40152 * disk/lvm.c: Likewise.
40153 * disk/raid.c: Likewise.
40154 * disk/efi/efidisk.c: Likewise.
40155 * disk/i386/pc/biosdisk.c: Likewise.
40156 * disk/ieee1275/ofdisk.c: Likewise.
40157 * font/manager.c: Likewise.
40158 * fs/affs.c: Likewise.
40159 * fs/ext2.c: Likewise.
40160 * fs/fat.c: Likewise.
40161 * fs/fshelp.c: Likewise.
40162 * fs/hfs.c: Likewise.
40163 * fs/hfsplus.c: Likewise.
40164 * fs/iso9660.c: Likewise.
40165 * fs/jfs.c: Likewise.
40166 * fs/minix.c: Likewise.
40167 * fs/sfs.c: Likewise.
40168 * fs/ufs.c: Likewise.
40169 * fs/xfs.c: Likewise.
40170 * hello/hello.c: Likewise.
40171 * include/grub/acorn_filecore.h: Likewise.
40172 * include/grub/arg.h: Likewise.
40173 * include/grub/bitmap.h: Likewise.
40174 * include/grub/boot.h: Likewise.
40175 * include/grub/cache.h: Likewise.
40176 * include/grub/device.h: Likewise.
40177 * include/grub/disk.h: Likewise.
40178 * include/grub/dl.h: Likewise.
40179 * include/grub/elfload.h: Likewise.
40180 * include/grub/env.h: Likewise.
40181 * include/grub/err.h: Likewise.
40182 * include/grub/file.h: Likewise.
40183 * include/grub/font.h: Likewise.
40184 * include/grub/fs.h: Likewise.
40185 * include/grub/fshelp.h: Likewise.
40186 * include/grub/gzio.h: Likewise.
40187 * include/grub/hfs.h: Likewise.
40188 * include/grub/kernel.h: Likewise.
40189 * include/grub/loader.h: Likewise.
40190 * include/grub/lvm.h: Likewise.
40191 * include/grub/misc.h: Likewise.
40192 * include/grub/mm.h: Likewise.
40193 * include/grub/net.h: Likewise.
40194 * include/grub/normal.h: Likewise.
40195 * include/grub/parser.h: Likewise.
40196 * include/grub/partition.h: Likewise.
40197 * include/grub/pc_partition.h: Likewise.
40198 * include/grub/raid.h: Likewise.
40199 * include/grub/rescue.h: Likewise.
40200 * include/grub/script.h: Likewise.
40201 * include/grub/setjmp.h: Likewise.
40202 * include/grub/symbol.h: Likewise.
40203 * include/grub/term.h: Likewise.
40204 * include/grub/terminfo.h: Likewise.
40205 * include/grub/tparm.h: Likewise.
40206 * include/grub/types.h: Likewise.
40207 * include/grub/video.h: Likewise.
40208 * include/grub/efi/api.h: Likewise.
40209 * include/grub/efi/chainloader.h: Likewise.
40210 * include/grub/efi/console.h: Likewise.
40211 * include/grub/efi/console_control.h: Likewise.
40212 * include/grub/efi/disk.h: Likewise.
40213 * include/grub/efi/efi.h: Likewise.
40214 * include/grub/efi/pe32.h: Likewise.
40215 * include/grub/efi/time.h: Likewise.
40216 * include/grub/i386/linux.h: Likewise.
40217 * include/grub/i386/setjmp.h: Likewise.
40218 * include/grub/i386/types.h: Likewise.
40219 * include/grub/i386/efi/kernel.h: Likewise.
40220 * include/grub/i386/efi/loader.h: Likewise.
40221 * include/grub/i386/efi/time.h: Likewise.
40222 * include/grub/i386/pc/biosdisk.h: Likewise.
40223 * include/grub/i386/pc/boot.h: Likewise.
40224 * include/grub/i386/pc/chainloader.h: Likewise.
40225 * include/grub/i386/pc/console.h: Likewise.
40226 * include/grub/i386/pc/init.h: Likewise.
40227 * include/grub/i386/pc/kernel.h: Likewise.
40228 * include/grub/i386/pc/loader.h: Likewise.
40229 * include/grub/i386/pc/memory.h: Likewise.
40230 * include/grub/i386/pc/multiboot.h: Likewise.
40231 * include/grub/i386/pc/serial.h: Likewise.
40232 * include/grub/i386/pc/time.h: Likewise.
40233 * include/grub/i386/pc/vbe.h: Likewise.
40234 * include/grub/i386/pc/vbeblit.h: Likewise.
40235 * include/grub/i386/pc/vbefill.h: Likewise.
40236 * include/grub/i386/pc/vbeutil.h: Likewise.
40237 * include/grub/i386/pc/vga.h: Likewise.
40238 * include/grub/ieee1275/ieee1275.h: Likewise.
40239 * include/grub/ieee1275/ofdisk.h: Likewise.
40240 * include/grub/powerpc/libgcc.h: Likewise.
40241 * include/grub/powerpc/setjmp.h: Likewise.
40242 * include/grub/powerpc/types.h: Likewise.
40243 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
40244 * include/grub/powerpc/ieee1275/console.h: Likewise.
40245 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
40246 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
40247 * include/grub/powerpc/ieee1275/loader.h: Likewise.
40248 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
40249 * include/grub/powerpc/ieee1275/time.h: Likewise.
40250 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
40251 * include/grub/sparc64/libgcc.h: Likewise.
40252 * include/grub/sparc64/setjmp.h: Likewise.
40253 * include/grub/sparc64/types.h: Likewise.
40254 * include/grub/sparc64/ieee1275/console.h: Likewise.
40255 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40256 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40257 * include/grub/sparc64/ieee1275/time.h: Likewise.
40258 * include/grub/util/biosdisk.h: Likewise.
40259 * include/grub/util/getroot.h: Likewise.
40260 * include/grub/util/lvm.h: Likewise.
40261 * include/grub/util/misc.h: Likewise.
40262 * include/grub/util/raid.h: Likewise.
40263 * include/grub/util/resolve.h: Likewise.
40264 * io/gzio.c: Likewise.
40265 * kern/device.c: Likewise.
40266 * kern/disk.c: Likewise.
40267 * kern/dl.c: Likewise.
40268 * kern/elf.c: Likewise.
40269 * kern/env.c: Likewise.
40270 * kern/err.c: Likewise.
40271 * kern/file.c: Likewise.
40272 * kern/fs.c: Likewise.
40273 * kern/loader.c: Likewise.
40274 * kern/main.c: Likewise.
40275 * kern/misc.c: Likewise.
40276 * kern/mm.c: Likewise.
40277 * kern/parser.c: Likewise.
40278 * kern/partition.c: Likewise.
40279 * kern/rescue.c: Likewise.
40280 * kern/term.c: Likewise.
40281 * kern/efi/efi.c: Likewise.
40282 * kern/efi/init.c: Likewise.
40283 * kern/efi/mm.c: Likewise.
40284 * kern/i386/dl.c: Likewise.
40285 * kern/i386/efi/init.c: Likewise.
40286 * kern/i386/efi/startup.S: Likewise.
40287 * kern/i386/pc/init.c: Likewise.
40288 * kern/i386/pc/lzo1x.S: Likewise.
40289 * kern/i386/pc/startup.S: Likewise.
40290 * kern/ieee1275/ieee1275.c: Likewise.
40291 * kern/powerpc/cache.S: Likewise.
40292 * kern/powerpc/dl.c: Likewise.
40293 * kern/powerpc/ieee1275/cmain.c: Likewise.
40294 * kern/powerpc/ieee1275/crt0.S: Likewise.
40295 * kern/powerpc/ieee1275/init.c: Likewise.
40296 * kern/powerpc/ieee1275/openfw.c: Likewise.
40297 * kern/sparc64/cache.S: Likewise.
40298 * kern/sparc64/dl.c: Likewise.
40299 * kern/sparc64/ieee1275/init.c: Likewise.
40300 * kern/sparc64/ieee1275/openfw.c: Likewise.
40301 * loader/efi/chainloader.c: Likewise.
40302 * loader/efi/chainloader_normal.c: Likewise.
40303 * loader/i386/efi/linux.c: Likewise.
40304 * loader/i386/efi/linux_normal.c: Likewise.
40305 * loader/i386/pc/chainloader.c: Likewise.
40306 * loader/i386/pc/chainloader_normal.c: Likewise.
40307 * loader/i386/pc/linux.c: Likewise.
40308 * loader/i386/pc/linux_normal.c: Likewise.
40309 * loader/i386/pc/multiboot.c: Likewise.
40310 * loader/i386/pc/multiboot_normal.c: Likewise.
40311 * loader/powerpc/ieee1275/linux.c: Likewise.
40312 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40313 * normal/arg.c: Likewise.
40314 * normal/cmdline.c: Likewise.
40315 * normal/command.c: Likewise.
40316 * normal/completion.c: Likewise.
40317 * normal/execute.c: Likewise.
40318 * normal/function.c: Likewise.
40319 * normal/lexer.c: Likewise.
40320 * normal/main.c: Likewise.
40321 * normal/menu.c: Likewise.
40322 * normal/menu_entry.c: Likewise.
40323 * normal/misc.c: Likewise.
40324 * normal/parser.y: Likewise.
40325 * normal/script.c: Likewise.
40326 * normal/i386/setjmp.S: Likewise.
40327 * normal/powerpc/setjmp.S: Likewise.
40328 * normal/sparc64/setjmp.S: Likewise.
40329 * partmap/acorn.c: Likewise.
40330 * partmap/amiga.c: Likewise.
40331 * partmap/apple.c: Likewise.
40332 * partmap/gpt.c: Likewise.
40333 * partmap/pc.c: Likewise.
40334 * partmap/sun.c: Likewise.
40335 * term/gfxterm.c: Likewise.
40336 * term/terminfo.c: Likewise.
40337 * term/efi/console.c: Likewise.
40338 * term/i386/pc/console.c: Likewise.
40339 * term/i386/pc/serial.c: Likewise.
40340 * term/i386/pc/vesafb.c: Likewise.
40341 * term/i386/pc/vga.c: Likewise.
40342 * term/ieee1275/ofconsole.c: Likewise.
40343 * util/biosdisk.c: Likewise.
40344 * util/console.c: Likewise.
40345 * util/genmoddep.c: Likewise.
40346 * util/getroot.c: Likewise.
40347 * util/grub-emu.c: Likewise.
40348 * util/grub-mkdevicemap.c: Likewise.
40349 * util/grub-probe.c: Likewise.
40350 * util/lvm.c: Likewise.
40351 * util/misc.c: Likewise.
40352 * util/raid.c: Likewise.
40353 * util/resolve.c: Likewise.
40354 * util/update-grub.in: Likewise.
40355 * util/update-grub_lib.in: Likewise.
40356 * util/grub.d/00_header.in: Likewise.
40357 * util/grub.d/10_hurd.in: Likewise.
40358 * util/grub.d/10_linux.in: Likewise.
40359 * util/i386/efi/grub-install.in: Likewise.
40360 * util/i386/efi/grub-mkimage.c: Likewise.
40361 * util/i386/pc/grub-install.in: Likewise.
40362 * util/i386/pc/grub-mkimage.c: Likewise.
40363 * util/i386/pc/grub-mkrescue.in: Likewise.
40364 * util/i386/pc/grub-setup.c: Likewise.
40365 * util/i386/pc/misc.c: Likewise.
40366 * util/powerpc/ieee1275/grub-install.in: Likewise.
40367 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
40368 * util/powerpc/ieee1275/misc.c: Likewise.
40369 * video/bitmap.c: Likewise.
40370 * video/video.c: Likewise.
40371 * video/i386/pc/vbe.c: Likewise.
40372 * video/i386/pc/vbeblit.c: Likewise.
40373 * video/i386/pc/vbefill.c: Likewise.
40374 * video/i386/pc/vbeutil.c: Likewise.
40375 * video/readers/tga.c: Likewise.
40376
3572d015 403772007-07-02 Robert Millan <rmh@aybabtu.com>
40378
40379 * conf/i386-efi.rmk: Replace obsolete reference to
40380 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
40381 with util/getroot.c.
40382 * conf/powerpc-ieee1275.rmk: Likewise.
40383 * conf/sparc64-ieee1275.rmk: Likewise.
40384
40385 * util/grub-emu.c (main): Fix unchecked pointer handling.
40386
2c2a681b 403872007-07-02 Robert Millan <rmh@aybabtu.com>
40388
40389 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
40390 invocation to fail, in order to support partition-less media.
40391
40392 * util/i386/pc/grub-install.in: Likewise.
40393
40394 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
40395 which fs or partmap modules are needed (akin to its sister scripts).
40396
40397 Also use grub-probe to get rid of unportable /proc/mounts check.
40398
40399 Print the same informational message that the other scripts do, before
fe6b695a 40400 exiting.
2c2a681b 40401
6193defe 404022007-06-23 Robert Millan <rmh@aybabtu.com>
40403
fe6b695a 40404 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 40405 a font file can be found and, if so, echo the GRUB path to it.
40406
40407 * util/update-grub.in: Handle multiple terminals depending on user
40408 input, platform availability and font file presence. Propagate
40409 variables of our findings to /etc/grub.d/ children.
40410
40411 * util/grub.d/00_header.in: Handle multiple terminals, based on
40412 environment setup by update-grub.
40413
eface1dc 404142007-06-23 Robert Millan <rmh@aybabtu.com>
40415
ba50d28f 40416 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 40417
bf697e28 404182007-06-21 Robert Millan <rmh@aybabtu.com>
40419
40420 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
40421 indicate end of data section in kernel image.
40422 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
40423 GRUB_KERNEL_MACHINE_DATA_END.
40424
40425 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
40426 space for it.
40427 * kern/i386/efi/startup.S: Likewise.
40428
40429 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
40430 during image generation. Implement --prefix option to override this
40431 patch.
40432 * util/i386/efi/grub-mkimage.c: Likewise.
40433
40434 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
40435 code to make path relative to its root into a separate function.
40436
40437 * util/i386/pc/grub-install.in: Use newly provided
40438 make_system_path_relative_to_its_root() to convert ${grubdir}, then
40439 pass the result to grub-install --prefix.
40440
baa574b4 404412007-06-13 Robert Millan <rmh@aybabtu.com>
40442
40443 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
40444 DEFAULT_DEVICE_MAP.
40445 * util/grub-emu.c: Use above definitions from misc.h instead of
40446 defining them.
40447 * util/grub-mkdevicemap.c: Likewise.
40448 * util/i386/pc/grub-setup.c: Likewise.
40449 * util/grub-probe.c: Likewise.
40450 (probe): Abort with grub_util_error() when either
40451 grub_guess_root_device or grub_util_get_grub_dev fails.
40452
0215dcbf 404532007-06-12 Robert Millan <rmh@aybabtu.com>
40454
40455 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
40456 "pager" assignment.
40457 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
40458 "pcdata".
40459 * util/grub-probe.c (probe): Likewise for "drive_name".
40460
8af2ab7b 404612007-06-11 Robert Millan <rmh@aybabtu.com>
40462
40463 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
40464 not just the cdrom one.
40465
59d31694 404662007-06-11 Robert Millan <rmh@aybabtu.com>
40467
40468 * util/i386/pc/grub-mkrescue.in: Add "set -e".
40469 Add --pkglibdir=DIR option to override pkglibdir.
40470 Mention --image-type=TYPE in help output.
40471 Fix --grub-mkimage (it was a no-op).
fe6b695a 40472 Abort gracefully when no parameter is given.
59d31694 40473
7ee367e4 404742007-06-11 Robert Millan <rmh@aybabtu.com>
40475
40476 * util/i386/pc/grub-mkrescue.in: New file.
40477 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
40478 * Makefile.in: Handle bin_SCRIPTS.
40479
29b0ed46 404802007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
40481
40482 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
40483 list of video modes.
40484
c0f90770 404852007-06-06 Robert Millan <rmh@aybabtu.com>
40486
40487 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
40488 file doesn't exist, or if it is in a filesystem grub can't read.
40489
40490 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
40491 not abort if GRUB_DRIVE could not be defined. Rearrange generated
40492 header comment to fit in 80 columns when the variables are resolved.
40493
40494 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
40495 could be identified by update-grub. Remove redundant check for
fe6b695a 40496 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 40497 handles that).
40498
fb36dc26 404992007-06-04 Robert Millan <rmh@aybabtu.com>
40500
40501 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
40502
40503 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
40504
40505 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
40506
0c68c93e 405072007-06-04 Robert Millan <rmh@aybabtu.com>
40508
40509 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
40510
40511 * include/grub/partition.h: Declare grub_apple_partition_map_init and
40512 grub_apple_partition_map_fini.
40513
40514 * util/biosdisk.c
40515 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
40516 to access >2 TiB disks).
40517
40518 Print disk->total_sectors with %llu instead of %lu, since this
40519 variable is always 64-bit (prevents wrong disk size from being displayed
40520 on either >2 TiB disk or big-endian CPU).
40521
40522 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
40523 into a generic case that supports all (sane) partition maps.
40524
40525 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
40526 breaks big-endian.
40527
40528 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
40529 and grub_apple_partition_map_fini() after that.
40530
0f23eb74 405312007-06-01 Robert Millan <rmh@aybabtu.com>
40532
40533 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
40534
40535 * util/grub.d/00_header.in: Only enable gfxterm when
40536 convert_system_path_to_grub_path() succeeds.
40537
42c71976 405382007-05-20 Robert Millan <rmh@aybabtu.com>
40539
40540 * util/update-grub_lib.in: New file.
40541 * DISTLIST: Add update-grub_lib.in.
40542 * conf/common.rmk: Generate update-grub_lib and install it in
40543 $(lib_DATA).
40544 * Makefile.in: Add install routine for $(lib_DATA).
40545
40546 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
40547 function provided by update-grub_lib to support arbitrary paths of
40548 unifont.pff.
40549 * util/update-grub.in: Use convert_system_path_to_grub_path() to
40550 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
40551
5beb2291 405522007-05-19 Robert Millan <rmh@aybabtu.com>
40553
40554 * commands/i386/cpuid.c: New module.
40555 * DISTLIST: Add it.
40556 * conf/i386-efi.rmk: Enable cpuid.mod.
40557 * conf/i386-pc.rmk: Likewise.
40558
7262eca1 405592007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40560
40561 * kern/disk.c (grub_disk_read): Check return value of
40562 grub_realloc().
40563
260ba823 405642007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40565
40566 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
40567 arrays.
40568 * disk/raid.c (grub_raid_open): Likewise.
40569
1ecb6cf2 405702007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40571
40572 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
40573 stack instead of on the heap.
40574
40575 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
40576 before doing a read on it.
40577
40578 * configure.ac: Only use -fno-stack-protector for the target
40579 environment.
f19dbdb7 40580
21c8cbb1 405812007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40582
40583 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
40584 __attribute_ ((unused)) to mode_type argument.
40585
40586 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 40587
21c8cbb1 40588 * kern/misc.c (memcmp): Fix prototype.
40589
40590 * include/grub/partition.h [GRUB_UTIL]
40591 (grub_gpt_partition_map_init): Add prototype.
40592 (grub_gpt_partition_map_fini): Likewise.
40593
40594 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
40595 at the right place.
40596
40597 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
40598 (grub_fat_read_data): Likewise.
40599 (grub_fat_find_dir): Likewise.
40600
40601 * font/manager.c (find_glyph): Make table a const.
40602 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 40603
849d55d3 406042007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
40605
40606 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
40607 code, first search for device in /dev/mapper, then in /dev.
40608 (grub_util_get_grub_dev): New function.
40609 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
40610 prototype.
40611 * util/grub-probe.c (probe): Remove check for RAID, call
40612 grub_util_get_grub_dev() instead of
40613 grub_util_biosdisk_get_grub_dev().
40614 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
40615 grub_util_biosdisk_get_grub_dev().
40616 * util/i386/pc/grub-setup.c (main): Likewise.
40617
8fff7c2f 406182007-05-16 Robert Millan <rmh@aybabtu.com>
40619
40620 * DISTLIST: Update for the latest changes.
40621 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
40622 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
40623 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
40624 grub/util/biosdisk.h.
40625 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
40626 grub/util/biosdisk.h.
40627
48e12b52 406282007-05-16 Robert Millan <rmh@aybabtu.com>
40629
40630 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
40631
46b9d128 406322007-05-16 Robert Millan <rmh@aybabtu.com>
40633
40634 * util/i386/efi/grub-install.in: New.
40635 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
40636 newly added grub-install.
40637 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
40638 include.
40639 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
40640 grub/util/biosdisk.h.
40641 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
40642 grub/util/biosdisk.h.
40643
2d1a40a9 406442007-05-16 Robert Millan <rmh@aybabtu.com>
40645
40646 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
40647 * include/grub/util/biosdisk.h: ... here.
40648 * util/i386/pc/biosdisk.c: Moved to ...
40649 * util/biosdisk.c: ... here.
40650 * util/i386/pc/getroot.c: Moved to ...
40651 * util/getroot.c: ... here.
40652 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
40653 * util/grub-mkdevicemap.c: ... here.
40654 * util/i386/pc/grub-probe.c: Moved to ...
40655 * util/grub-probe.c: ... here.
40656
9e26e3bc 406572007-05-15 Robert Millan <rmh@aybabtu.com>
40658
40659 * util/update-grub.in: Remove duplicated line in grub.cfg header
40660 message.
40661
57f96397 406622007-05-13 Robert Millan <rmh@aybabtu.com>
40663
40664 * util/update-grub.in: Fix a few assumptions about the devices holding
40665 /, /boot and /boot/grub being the same.
40666 * util/grub.d/00_header.in: Likewise.
40667 * util/grub.d/10_hurd.in: Likewise.
40668 * util/grub.d/10_linux.in: Likewise.
40669
40670 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
40671 patterns. Use that to define the `.old' suffix as older than `'.
40672
40673 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
40674
40675 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
40676 the grub.cfg header message.
40677
2e610d62 406782007-05-11 Robert Millan <rmh@aybabtu.com>
40679
40680 * util/update-grub.in: Create device.map if it doesn't already exist,
40681 before attempting to run grub-probe.
40682 Check for grub-probe and grub-mkdevicemap with the same code
40683 grub-install is using.
40684 Remove test mode.
40685
3f6a10ef 406862007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
40687
40688 * Makefile.in: Add the datarootdir autoconf variable.
40689
02e7b75e 406902007-05-09 Robert Millan <rmh@aybabtu.com>
40691
40692 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 40693 fail gracefully if dev->disk->partition == NULL.
02e7b75e 40694
75f396cc 406952007-05-07 Robert Millan <rmh@aybabtu.com>
40696
40697 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
40698 determine partition map module.
40699 * util/i386/pc/grub-install.in: Use this feature to decide which
40700 partition module to load, instead of hardcoding pc and gpt.
40701
da65cb36 407022007-05-07 Robert Millan <rmh@aybabtu.com>
40703
40704 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
40705 source directory differs from build directory.
40706
b57d6a91 407072007-05-05 Robert Millan <rmh@aybabtu.com>
40708
40709 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
40710 initialisation.
40711
509d00f1 407122007-05-05 Robert Millan <rmh@aybabtu.com>
40713
40714 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
40715
c48f23ef 407162007-05-05 Robert Millan <rmh@aybabtu.com>
40717
40718 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
40719 command-line arguments via ${GRUB_CMDLINE_LINUX}.
40720
20b97658 407212007-05-05 Robert Millan <rmh@aybabtu.com>
40722
40723 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
40724 (grub_probe_SOURCES): Likewise.
40725 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
40726 GPT and initialize dos_part and bsd_part accordingly.
40727 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
40728 install_bsd_part.
40729 (main): Activate gpt module for use during partition identification,
40730 and deactivate it afterwards.
40731 * util/i386/pc/grub-install.in: Add gpt module to core.img.
40732 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
40733 partition identification, and deactivate it afterwards.
40734
99123174 407352007-05-05 Robert Millan <rmh@aybabtu.com>
40736
40737 * term/i386/pc/console.c (grub_console_fini): Call
40738 grub_term_set_current() before grub_term_unregister().
40739
ebd97f6e 407402007-05-04 Robert Millan <rmh@aybabtu.com>
40741
40742 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
40743 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
40744 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
40745 and update-grub_DATA.
40746 * conf/common.rmk: Build and install update-grub components.
40747 * conf/common.mk: Regenerate.
40748 * util/update-grub.in: New. Core of update-grub.
40749 * util/grub.d/00_header.in: New. Generates grub.cfg header.
40750 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
40751 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
40752 * util/grub.d/README: New. Document grub.d directory layout.
40753
b06a264d 407542007-05-01 Robert Millan <rmh@aybabtu.com>
40755
40756 * util/grub-emu.c: Move initialization functions
40757 grub_util_biosdisk_init() and grub_init_all() before
40758 grub_util_biosdisk_get_grub_dev(), which relies on them.
40759
41f0050e 407602007-04-19 Robert Millan <rmh@aybabtu.com>
40761
40762 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
40763 it is used later.
40764
04582bb3 407652007-04-18 Jerone Young <jerone@gmail.com>
40766
f19dbdb7 40767 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 40768 stanza.
40769
08db4632 407702007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 40771
08db4632 40772 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
40773 continue on and look for device node with real device name.
40774
801b76be 407752007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 40776
fe6b695a 40777 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 40778 ability.
40779 * Makefile.in: Add autoconf package transformation code.
40780 * util/i386/pc/grub-install.in: Likewise.
40781 * util/powerpc/ieee1275/grub-install.in: Likewise.
40782
6795c4e1 407832007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40784
40785 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
40786 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
40787 (EXT2_REVISION): Likewise.
40788 (EXT2_INODE_SIZE): Likewise.
40789 (struct grub_ext2_block_group): Added a missing member
40790 "used_dirs".
40791 (grub_ext2_read_inode): Divide by the inode size in a superblock
40792 instead of 128 to obtain INODES_PER_BLOCK.
40793 Use the macro EXT2_INODE_SIZE instead of directly using
40794 SBLOCK->INODE_SIZE.
40795
d70af616 407962007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40797
40798 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
40799 superblock instead of the structure size to compute an
40800 offset. This fixes the problem that GRUB could not read a
40801 filesystem when inode size is different from 128-byte.
40802
3b801603 408032007-03-05 Marco Gerards <marco@gnu.org>
40804
40805 * normal/main.c (read_config_file): When "menu" is not set, create
40806 an initial context.
40807
4785bfe4 408082007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40809
40810 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
40811 (HEAP_LIMIT): New macro.
40812 (grub_claim_heap): Claim memory up to `heaplimit'.
40813
a0cbb023 408142007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40815
40816 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
40817 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
40818 (_start): Likewise.
40819 (grub_arch_modules_addr): Return address after `_end'.
40820 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
40821 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
40822 (add_segments): Calculate `_end' from phdr size and location.
40823 (ALIGN_UP): Moved to ...
40824 * include/grub/misc.h: here.
40825 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40826 New macro.
40827 (GRUB_IEEE1275_MODULE_BASE): Removed.
40828
fd7d8eba 408292007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40830
40831 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
40832 loop boundary.
40833
9b09e6fc 408342007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40835
40836 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
40837 All users updated.
40838 (grub_elf64_load_hook_t): Likewise.
40839 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
40840 debug output.
40841
3ce27299 408422007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40843
40844 * kern/mm.c: Update copyright.
40845 (grub_mm_debug): Correct syntax error.
40846 (grub_mm_dump_free): New function.
40847 (grub_debug_free): Call `grub_free'.
40848 * include/grub/mm.h: Update copyright.
40849 (grub_mm_dump_free): Add declaration.
40850
077d5fee 408512007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40852
40853 * include/grub/ieee1275/ieee1275.h: Update copyright.
40854 * kern/powerpc/ieee1275/init.c: Likewise.
40855 * kern/powerpc/ieee1275/openfw.c: Likewise.
40856
40857 * loader/powerpc/ieee1275/linux.c: Likewise.
40858 * include/grub/elfload.h: Likewise.
40859 * kern/elf.c: Likewise.
40860 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40861 callers.
40862 (grub_elf64_load): Likewise.
40863 (grub_elf32_load_segment): Move to a nested function.
40864 (grub_elf64_load_segment): Likewise.
40865
dc946850 408662007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40867
40868 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40869 prototype.
40870 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40871 (grub_heap_len): Likewise.
40872 (HEAP_SIZE): New macro.
40873 (grub_claim_heap): New function.
40874 (grub_machine_init): Don't claim heap directly. Call
40875 `grub_claim_heap'.
40876 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40877 (grub_available_iterate): New function.
40878
baa2a121 408792007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40880
40881 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40882 * configure.ac: Use it for testing the HOST and TARGET compilers.
40883
4fe9862e 408842006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40885
40886 * Makefile.in (enable_grub_emu): New variable.
40887 * configure.ac (--enable-grub-emu): New option.
40888 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40889 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40890 * conf/i386-pc.rmk: Likewise.
40891 * conf/powerpc-ieee1275.rmk: Likewise.
40892 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40893
a8aa5762 408942006-12-12 Marco Gerards <marco@gnu.org>
40895
40896 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40897
40898 * kern/env.c (grub_env_unset): Don't free the member `value' when
40899 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40900 pointer.
40901
40902 * normal/main.c (current_menu): Removed.
40903 (free_menu): Unset the `menu' environment variable.
40904 (grub_normal_menu_addentry): Make use of the environment variable
40905 `menu', instead of using the global `current_menu'. Allocate
40906 memory for the sourcecode of this entry.
40907 (read_config_file): New argument `nested', changed all callers.
40908 Only in the case of a new context, initialize a new menu. Set the
40909 `menu' environment variable.
40910 (grub_normal_execute): Don't set and unset the environment
40911 variable `menu' here anymore. Only free the menu when leaving the
40912 context.
40913
40914 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40915 leak.
40916
957b3a3e 409172006-12-11 Marco Gerards <marco@gnu.org>
40918
40919 * normal/menu_entry.c (run): Fix off by one bug so the last line
40920 is executed. Move the loader check to outside the loop.
40921
ef875714 409222006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40923
40924 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40925
4e739985 409262006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40927
40928 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40929 the number of sectors. Reported by Andrey Shuvikov
40930 <mr_hyro@yahoo.com>.
f19dbdb7 40931
790707f2 409322006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40933
40934 * kern/disk.c (grub_disk_read): When there is a read error, always
40935 try to read only the necessary data.
f19dbdb7 40936
790707f2 40937 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40938 disk/raid.c.
40939 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40940 prototype.
40941 [GRUB_UTIL] (grub_raid_fini): Likewise.
40942 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 40943 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 40944 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40945 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40946 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40947 and grub_raid_fini().
f19dbdb7 40948
03e58196 409492006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40950
40951 * include/grub/types.h (__unused): Rename to UNUSED.
40952 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40953 (grub_elf64_size): Likewise.
f19dbdb7 40954
ae4f23bf 409552006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40956
40957 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40958 grub_error_push and grub_error_pop in the error-handling path.
40959 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40960 length.
40961
2166cc83 409622006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40963
40964 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40965 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40966 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40967 (kernel_elf_SOURCES): Likewise.
40968 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40969 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40970 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40971 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40972 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40973 (elf_mod_SOURCES): New variable.
40974 (elf_mod_CFLAGS): Likewise.
40975 (elf_mod_LDFLAGS): Likewise.
40976 * include/grub/types.h (__unused): New macro.
40977 * include/grub/elfload.h: New file.
40978 * kern/elf.c: Likewise.
40979 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40980 (ELF32_LOADMASK): New macro.
40981 (ELF64_LOADMASK): Likewise.
40982 (vmlinux): Removed.
40983 (grub_linux_load32): New function.
40984 (grub_linux_load64): Likewise.
40985 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40986 Use grub_elf_t instead of grub_file_t.
40987
a09d5aa5 409882006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40989
40990 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40991 `catch_result' to struct set_color_args.
40992
d976fc51 409932006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40994
40995 * normal/menu.c: Include grub/script.h.
40996 * normal/menu_entry.c: Likewise.
40997 * include/grub/normal.h: Do not include grub/script.h.
40998
67507549 409992006-10-27 Hollis Blanchard <hollis@penguinppc.org>
41000
41001 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
41002
69203a99 410032006-10-27 Hollis Blanchard <hollis@penguinppc.org>
41004
41005 * kern/disk.c (grub_disk_open): Print debug messages when opening a
41006 disk.
41007 (grub_disk_close): Print debug messages when closing a disk.
41008 (grub_disk_read): Print debug messages when disk read fails.
41009 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
41010 filesystem type.
41011 * kern/partition.c: Include misc.h.
41012 (grub_partition_iterate): Print debug messages when detecting
41013 partition type.
41014
e2b8278c 410152006-10-27 Hollis Blanchard <hollis@penguinppc.org>
41016
41017 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
41018 is negative.
41019 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
41020
97b2f2ff 410212006-10-26 Hollis Blanchard <hollis@penguinppc.org>
41022
41023 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
41024 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
41025
6555d655 410262006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
41027
41028 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
41029 instead of sizeof(lv). Patch by Michael Guntsche.
41030
4d42b77f 410312006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
41032
41033 * disk/lvm.c: Rename VGS to VG_LIST.
41034 (grub_lvm_iterate): Change VGS->LV to VG-LV.
41035 (grub_lvm_open): Likewise.
41036 Thanks to Michael Guntsche for finding this bug.
41037
5d74d927 410382006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41039
41040 * configure.ac (AC_INIT): Bumped to 1.95.
41041
a1bb27e4 410422006-10-14 Robert Millan <rmh@aybabtu.com>
41043
41044 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
41045 with "/dev/.static/dev/md".
41046
e0994b8b 410472006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
41048
41049 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
41050 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
41051 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
41052 DRIVE_NAME are always freed.
41053
41054 * util/i386/pc/biosdisk.c (make_device_name): Add one into
41055 DOS_PART, as a DOS partition is counted from one instead of zero
41056 now. Reported by Robert Millan.
41057
ddd5cee9 410582006-10-14 Robert Millan <rmh@aybabtu.com>
41059
41060 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
41061 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
41062 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
41063 string returned by grub_guess_root_device.
41064 * util/i386/pc/grub-setup.c: Likewise.
41065 * util/i386/pc/grub-probefs.c: Likewise.
41066
41067 * util/i386/pc/grub-probefs.c: Rename to ...
41068 * util/i386/pc/grub-probe.c: ... this.
41069 * DISTLIST: Remove grub-probefs, add grub-probe.
41070 * conf/i386-efi.rmk: Likewise.
41071 * conf/i386-pc.rmk: Likewise.
41072 * util/i386/pc/grub-install.in: Likewise.
41073
41074 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
41075 choose which information we want to print.
41076
2b002173 410772006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
41078
41079 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
41080 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
41081 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
41082 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
41083 video/readers/tga.c and video/i386/pc/vbeutil.c.
41084
410852006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
41086
41087 Added support for RAID and LVM.
f19dbdb7 41088
2b002173 41089 * disk/lvm.c: New file.
41090 * disk/raid.c: Likewise.
41091 * include/grub/lvm.h: Likewise.
f19dbdb7 41092 * include/grub/raid.h: Likewise.
2b002173 41093 * include/grub/util/lvm.h: Likewise.
41094 * include/grub/util/raid.h: Likewise.
41095 * util/lvm.c: Likewise.
41096 * util/raid.c: Likewise.
41097
41098 * include/grub/disk.h (grub_disk_dev_id): Add
41099 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
41100 (grub_disk_get_size): New prototype.
41101 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
41102 returns a partition.
41103 (grub_disk_get_size): New function.
f19dbdb7 41104
2b002173 41105 * kern/i386/pc/init.c (make_install_device): Copy the prefix
41106 verbatim if grub_install_dos_part is -2.
41107
41108 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
41109 and LVM devices.
41110
41111 * util/i386/pc/grub-setup.c (setup): New argument
41112 MUST_EMBED. Force embedding of GRUB when the argument is
41113 true. Close FILE before returning.
41114 (main): Add support for RAID and LVM.
f19dbdb7 41115
2b002173 41116 * conf/common.rmk: Add RAID and LVM modules.
41117 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
41118 util/lvm.c.
41119 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
41120
41121 * kern/misc.c (grub_strstr): New function.
41122 * include/grub/misc.h (grub_strstr): New prototype.
41123
050548d0 411242006-10-10 Tristan Gingold <tristan.gingold@bull.net>
41125
41126 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
41127
da849d2d 411282006-10-05 Tristan Gingold <tristan.gingold@bull.net>
41129
41130 * kern/misc.c (grub_strtoull): Guess the base only if not
41131 specified.
41132
97b2f2ff 411332006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 41134
41135 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
41136 PowerMac support.
41137
97b2f2ff 411382006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 41139
41140 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
41141
41142 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
41143 Remove `flags' argument. All callers changed.
41144 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
41145 (IEEE1275_IHANDLE_INVALID): New variable.
41146 (IEEE1275_CELL_INVALID): New variable.
41147 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
41148 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
41149 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
41150 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
41151 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
41152 codes from Open Firmware. All callers updated.
41153 (grub_ieee1275_next_property): Directly return Open Firmware return
41154 code.
41155 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41156 Standardize error checking from `grub_ieee1275_get_property'.
41157 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
41158 `devalias' to `aliases'. Correct comments. Consolidate error paths.
41159
97b2f2ff 411602006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 41161
41162 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
41163 `instance_to_package_args' to `instance_to_path_args'.
41164
41165 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
41166 `grub_ieee1275_chosen'.
41167
41168 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
41169 `grub_ieee1275_interpret'.
41170
97b2f2ff 411712006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 41172
41173 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
41174
97b2f2ff 411752006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 41176
41177 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
41178 (__cmpdi): Likewise.
41179
41180 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
41181 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
41182 `grub_ssize_t'.
41183
02bb8acc 41184 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 41185
41186 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
41187 to type `grub_ssize_t'.
41188 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
41189
7f9a8531 411902006-09-22 Marco Gerards <marco@gnu.org>
41191
41192 * normal/script.c (grub_script_create_cmdmenu): Skip leading
41193 newlines.
41194
b5ef1102 411952006-09-22 Marco Gerards <marco@gnu.org>
41196
41197 * commands/echo.c: New file.
41198
41199 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
41200
41201 * conf/common.rmk (echo_mod_SOURCES): New variable.
41202 (echo_mod_CFLAGS): Likewise.
41203 (echo_mod_LDFLAGS): Likewise.
41204
2cff3677 412052006-09-22 Marco Gerards <marco@gnu.org>
41206
41207 * normal/main.c (get_line): Malloc memory instead of using
41208 preallocated memory. Removed the arguments `cmdline' and
41209 `max_len'. Updated all callers.
41210
6ba4688b 412112006-09-22 Marco Gerards <marco@gnu.org>
41212
41213 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
41214 (normal_mod_DEPENDENCIES): Likewise.
41215
41216 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
41217 (normal_mod_DEPENDENCIES): Likewise.
41218
41219 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
41220
e02ac02c 412212006-09-22 Johan Rydberg <jrydberg@gnu.org>
41222
41223 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
41224 programs.
41225 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
41226 (normal_mod_DEPENDENCIES): Likewise.
41227 * conf/i386-pc.mk: Regenerate.
41228 * conf/i386-efi.mk: Likewise
41229 * conf/common.mk: Likewise.
41230 * conf/powerpc-ieee1275.mk: Likewise.
41231 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 41232
8d252e44 412332006-09-22 Robert Millan <rmh@aybabtu.com>
41234
41235 Sync with i386 version.
41236 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
41237 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
41238
209bf7ac 412392006-09-21 Robert Millan <rmh@aybabtu.com>
41240
41241 Import from GRUB Legacy (lib/device.c):
41242 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
41243 (init_device_map) [__linux__]: Add support for I2O devices.
41244
6b146090 412452006-09-14 Marco Gerards <marco@gnu.org>
41246
41247 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
41248 `-melf_i386'.
41249
e38600a8 412502006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 41251
41252 * util/i386/pc/grub-install.in: Skip menu.lst when removing
41253 /boot/grub/*.lst.
78fa1790 41254
2952da5d 41255 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 41256
2952da5d 41257 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
41258 before adding it to device.map.
41259
01b82a64 412602006-08-15 Johan Rydberg <jrydberg@gnu.org>
41261
fe6b695a 41262 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 41263 compiles a file; using the -MD option.
41264 * conf/common.mk: Regenerate.
41265 * conf/i386-pc.mk: Likewise.
41266 * conf/i386-efi.mk: Likewise.
41267 * conf/powerpc-ieee1275.mk: Likewise.
41268 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 41269
1064790d 412702006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
41271
41272 Move the prototypes of grub_setjmp and grub_longjmp to
41273 cpu/setjmp.h, so that each architecture may specify different
41274 attributes.
f19dbdb7 41275
1064790d 41276 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
41277 (grub_longjmp): Likewise.
41278 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
41279 (grub_longjmp): Likewise.
41280 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
41281 (grub_longjmp): Likewise.
41282
41283 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
41284 [!GRUB_UTIL] (grub_longjmp): Removed.
41285
29dda3ed 412862006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
41287
41288 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
41289 "color!" method does not return any value.
41290
ad2a06ed 412912006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41292
41293 * include/grub/bitmap.h: New file.
41294
41295 * include/grub/i386/pc/vbeutil.h: Likewise.
41296
41297 * video/bitmap.c: Likewise.
41298
41299 * video/readers/tga.c: Likewise.
41300
41301 * video/i386/pc/vbeutil.c: Likewise.
41302
41303 * commands/videotest.c: Code cleanup and updated to reflect to new
41304 video API.
41305
41306 * term/gfxterm.c: Likewise.
41307
41308 * video/video.c: Likewise.
41309
41310 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
41311 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
41312 (bitmap_mod_SOURCES): New entry.
41313 (bitmap_mod_CFLAGS): Likewise.
41314 (bitmap_mod_LDFLAGS): Likewise.
41315 (tga_mod_SOURCES): Likewise.
41316 (tga_mod_CFLAGS): Likewise.
41317 (tga_mod_LDFLAGS): Likewise.
41318
41319 * include/grub/video.h (grub_video_blit_operators): New enum type.
41320 (grub_video_render_target): Changed as forward declaration and moved
41321 actual definition to be video driver specific.
41322 (grub_video_adapter.blit_bitmap): Added blitting operator.
41323 (grub_video_adapter.blit_render_target): Likewise.
41324 (grub_video_blit_bitmap): Likewise.
41325 (grub_video_blit_render_target): Likewise.
41326
41327 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
41328 driver specific render target definition.
41329 (grub_video_vbe_map_rgba): Added driver internal helper.
41330 (grub_video_vbe_unmap_color): Updated to use
41331 grub_video_i386_vbeblit_info.
41332 (grub_video_vbe_get_video_ptr): Likewise.
41333
41334 * include/grub/i386/pc/vbeblit.h
41335 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
41336 grub_video_i386_vbeblit_info.
41337 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41338 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41339 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41340 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41341 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41342 (grub_video_i386_vbeblit_index_index): Likewise.
41343 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
41344 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41345 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41346 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
41347 operator.
41348 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
41349 operator.
41350
41351 * video/i386/pc/vbeblit.c: Updated to reflect changes on
41352 include/grub/i386/pc/vbeblit.h.
41353
41354 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
41355 Updated to use grub_video_i386_vbeblit_info.
41356 (grub_video_i386_vbefill_R8G8B8): Likewise.
41357 (grub_video_i386_vbefill_index): Likewise.
41358 (grub_video_i386_vbefill): Added generic filler.
41359
41360 * video/i386/pc/vbefill.c: Updated to reflect changes on
41361 include/grub/i386/pc/vbefill.h.
41362
41363 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
41364 grub_video_i386_vbeblit_info.
41365 (grub_video_vbe_unmap_color): Likewise.
41366 (grub_video_vbe_blit_glyph): Likewise.
41367 (grub_video_vbe_scroll): Likewise.
41368 (grub_video_vbe_draw_pixel): Removed function.
41369 (grub_video_vbe_get_pixel): Likewise.
41370 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
41371 updated code to use it.
41372 (common_blitter): Added common blitter for render target and bitmap.
41373 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
41374 (grub_video_vbe_blit_render_target): Likewise.
41375
bc8c036d 413762006-07-30 Johan Rydberg <jrydberg@gnu.org>
41377
41378 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
41379 is in text mode if there is no console control protocol instance
41380 available.
41381
684a8eff 413822006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41383
41384 * include/grub/video.h: Code cleanup.
41385
41386 * include/grub/i386/pc/vbe.h: Likewise.
41387
41388 * video/i386/pc/vbe.c: Likewise.
41389
41390 * video/i386/pc/vbeblit.c: Likewise.
41391
41392 * video/i386/pc/vbefill.c: Likewise.
41393
41394 * video/video.c: Likewise. Also added more comments.
41395
5915059b 413962006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41397
41398 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
41399 (struct grub_biosdisk_dap): Likewise.
41400
41401 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
41402 linkage settings for all functions.
41403
90ce5d56 414042006-07-12 Marco Gerards <marco@gnu.org>
41405
41406 * configure.ac (--enable-mm-debug): Fix typo.
41407
41408 * genkernsyms.sh.in: Use proper quoting for `CC'.
41409
43e7f879 414102006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
41411
41412 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
41413 (normal_mod_ASFLAGS): Remove "-m32".
41414
4889bdec 414152006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
41416
41417 * util/misc.c: Include config.h.
41418 [!HAVE_MEMALIGN]: Do not include malloc.h.
41419 (grub_memalign): Use posix_memalign, if present. Then, use
41420 memalign, if present. Otherwise, emit an error.
41421
41422 * util/grub-emu.c: Do not include malloc.h.
41423
41424 * include/grub/util/misc.h: Include unistd.h. This is required for
41425 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
41426 D. Eades III <hde@foobar-qux.org>.
41427
41428 * configure.ac (AC_GNU_SOURCE): Added.
41429 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
41430 type.
41431
fd39d4da 414322006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
41433
41434 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
41435 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
41436
b786f3b5 414372006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
41438
41439 * include/grub/types.h (grub_host_addr_t): Rename to
41440 grub_target_addr_t.
41441 (grub_host_off_t): Rename to grub_target_off_t.
41442 (grub_host_size_t): Rename to grub_target_size_t.
41443 (grub_host_ssize_t): Rename to grub_target_ssize_t.
41444 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
41445
41446 * include/grub/kernel.h (struct grub_module_header): Change type
41447 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
41448 (grub_module_info): Likewise.
f19dbdb7 41449
051988bb 414502006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41451
41452 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
41453 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
41454 Velazquez <jesus.velazquez@gmail.com>.
41455
deae281b 414562006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41457
41458 Count partitions from 1 instead of 0 in the string representation
41459 of partitions. Still use 0-based internally.
f19dbdb7 41460
deae281b 41461 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
41462 (sun_partition_map_iterate): Use grub_partition_t instead of
41463 struct grub_partition *. Cast DESC->START_CYLINDER to
41464 grub_uint64_t after converting the endian.
41465 (sun_partition_map_probe): Subtract 1 for PARTNUM.
41466 (sun_partition_map_get_name): Add 1 to P->INDEX.
41467
41468 * partmap/pc.c (grub_partition_parse): Subtract 1 for
41469 PCDATA->DOS_PART.
41470 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
41471
41472 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
41473 zero instead of one.
41474 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
41475 (gpt_partition_map_get_name): Add 1 into P->INDEX.
41476
41477 * partmap/apple.c (apple_partition_map_iterate): Change the type
41478 of POS to unsigned.
41479 (apple_partition_map_probe): Subtract 1 for PARTNUM.
41480 (apple_partition_map_get_name): Add 1 into P->INDEX.
41481
41482 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
41483 of POS to unsigned.
41484 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
41485 calculate the offset of a partition.
41486 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
41487 (amiga_partition_map_get_name): Add 1 into P->INDEX.
41488
41489 * partmap/acorn.c (acorn_partition_map_find): Change the type of
41490 SECTOR to grub_disk_addr_t.
41491 (acorn_partition_map_iterate): Likewise.
41492 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
41493 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
41494 top.
41495 (acorn_partition_map_get_name): Add 1 into P->INDEX.
41496
41497 * kern/i386/pc/init.c (make_install_device): Add 1 into
41498 GRUB_INSTALL_DOS_PART.
41499
41500 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
41501 conditional.
41502
524a1e6a 415032006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41504
41505 Clean up the code to support 64-bit addressing in disks and
41506 files. This change is not enough for filesystems yet.
f19dbdb7 41507
524a1e6a 41508 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
41509 type of "start" to grub_uint64_t.
41510 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
41511 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
41512 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
41513 convert addresses.
41514
41515 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
41516 to grub_disk_addr_t.
41517
41518 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
41519 string.
41520
41521 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41522
41523 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
41524 to char *.
41525
41526 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
41527
41528 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
41529
41530 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
41531
41532 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
41533 to grub_off_t, to detect an error from grub_file_seek.
41534 (grub_multiboot_load_elf32): Likewise.
41535
41536 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
41537 maximum unsigned long value when an overflow is detected.
41538 (grub_strtoull): New function.
41539 (grub_divmod64): Likewise.
41540 (grub_lltoa): use grub_divmod64.
41541
41542 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
41543 grub_disk_addr_t.
41544 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
41545 the pointer to next character. Use grub_strtoull instead of
41546 grub_strtoul.
41547 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
41548 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
41549 respectively.
41550
fe6b695a 41551 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 41552 return value is signed.
41553 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
41554 test if OFFSET is less than zero, as OFFSET is unsigned now.
41555
41556 * kern/disk.c (struct grub_disk_cache): Change the type of
41557 "sector" to grub_disk_addr_t.
41558 (grub_disk_cache_get_index): Change the type of SECTOR to
41559 grub_disk_addr_t. Calculate the hash with SECTOR casted to
41560 unsigned after shifting.
41561 (grub_disk_cache_invalidate): Change the type of SECTOR to
41562 grub_disk_addr_t.
41563 (grub_disk_cache_unlock): Likewise.
41564 (grub_disk_cache_store): Likewise.
41565 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
41566 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
41567 grub_disk_addr_t and grub_uint64_t, respectively.
41568 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
41569 body, as the value of OFFSET is tweaked by
41570 grub_disk_check_range. Change the types of START_SECTOR, LEN and
41571 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
41572 respectively.
41573 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
41574 body, as the value of OFFSET is tweaked by
41575 grub_disk_check_range. Change the types of LEN and N to
41576 grub_size_t.
41577
41578 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
41579 and "saved_offset" to grub_off_t.
41580 (test_header): Cast BUF to char *.
41581 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
41582 to char *.
41583 (grub_gzio_read): Change the types of OFFSET and SIZE to
41584 grub_off_t and grub_size_t, respectively.
41585
41586 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
41587 Removed.
41588 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
41589 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
41590 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
41591 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
41592 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
41593
41594 * include/grub/types.h (grub_off_t): Unconditionally set to
41595 grub_uint64_t.
41596 (grub_disk_addr_t): Changed to grub_uint64_t.
41597
41598 * include/grub/partition.h (struct grub_partition): Change the
41599 types of "start", "len" and "offset" to grub_disk_addr_t,
41600 grub_uint64_t and grub_disk_addr_t, respectively.
41601 (grub_partition_get_start): Return grub_disk_addr_t.
41602 (grub_partition_get_len): Return grub_uint64_t.
41603
41604 * include/grub/misc.h (grub_strtoull): New prototype.
41605 (grub_divmod64): Likewise.
41606
41607 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
41608 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
41609 grub_off_t, respectively.
41610 All callers and references changed.
41611
41612 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
41613 grub_size_t in "read".
41614 All callers and references changed.
41615
41616 * include/grub/file.h (struct grub_file): Change the types of
41617 "offset" and "size" to grub_off_t and grub_off_t,
41618 respectively. Change the type of SECTOR to grub_disk_addr_t in
41619 "read_hook".
41620 (grub_file_read): Change the type of LEN to grub_size_t.
41621 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
41622 grub_off_t.
41623 (grub_file_size): Return grub_off_t.
41624 (grub_file_tell): Likewise.
41625 All callers and references changed.
41626
41627 * include/grub/disk.h (struct grub_disk_dev): Change the types of
41628 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
41629 "write".
41630 (struct grub_disk): Change the type of "total_sectors" to
41631 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 41632 "read_hook".
524a1e6a 41633 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
41634 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
41635 (grub_disk_write): Likewise.
41636 All callers and references changed.
41637
41638 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
41639 char * for grub_strncmp to silence gcc.
41640 (grub_iso9660_mount): Likewise.
41641 (grub_iso9660_mount): Likewise.
41642 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
41643 return statement.
41644 (grub_iso9660_iterate_dir): Likewise.
41645 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
41646
41647 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
41648 LEN to grub_disk_addr_t and grub_size_t, respectively.
41649
41650 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41651
41652 * fs/jfs.c (grub_jfs_read_file): Likewise.
41653
41654 * fs/minix.c (grub_jfs_read_file): Likewise.
41655
41656 * fs/sfs.c (grub_jfs_read_file): Likewise.
41657
41658 * fs/ufs.c (grub_jfs_read_file): Likewise.
41659
41660 * fs/xfs.c (grub_jfs_read_file): Likewise.
41661
41662 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
41663 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
41664 respectively.
41665
41666 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
41667 BLKNR to -1 instead of returning GRUB_ERRNO.
41668 (grub_ext2_read_file): Change the types of SECTOR and
41669 LEN to grub_disk_addr_t and grub_size_t, respectively.
41670
41671 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
41672 LEN to grub_disk_addr_t and grub_size_t, respectively.
41673
41674 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
41675 grub_file_read.
41676
41677 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
41678 string. Do not cast SECTOR explicitly.
41679
41680 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
41681 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
41682 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
41683 grub_disk_addr_t and grub_size_t, respectively. If the sector is
41684 over 2TB and LBA mode is not supported, raise an error.
41685 (get_safe_sectors): New function.
41686 (grub_biosdisk_read): Use get_safe_sectors.
41687 (grub_biosdisk_write): Likewise.
41688
41689 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
41690 (grub_efidisk_write): Likewise.
41691
41692 * disk/loopback.c (delete_loopback): Cosmetic changes.
41693 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
41694 correctly.
41695 (grub_loopback_open): Likewise.
41696 (grub_loopback_read): Likewise. Also, change the type of POS to
41697 grub_off_t, and fix the usage of grub_memset.
41698
41699 * commands/i386/pc/play.c: Include grub/machine/time.h.
41700
41701 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
41702 print FILE->SIZE.
41703
41704 * commands/configfile.c: Include grub/env.h.
41705
41706 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
41707 GRUB_ERRNO directly instead. Change the type of POS to
41708 grub_off_t. Follow the coding standard.
41709
41710 * commands/blocklist.c: Include grub/partition.h.
41711 (grub_cmd_blocklist): Return an error if the underlying device is
41712 not a disk. Take the starting sector of a partition into account,
41713 if a partition is used.
41714
41715 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
41716 a length field.
41717 (lba_mode): Support 64-bit addresses.
41718 (chs_mode): Likewise.
41719 (copy_buffer): Adapted to the new offsets of a length field and a
41720 segment field.
41721 (blocklist_default_start): Allocate 64-bit space.
41722
41723 * boot/i386/pc/boot.S (force_lba): Removed.
41724 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 41725 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 41726 space.
41727 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
41728 is useless.
41729 (lba_mode): Refactored to support a 64-bit address. More size
41730 optimization.
41731 (setup_sectors): Likewise.
41732
53af98ad 417332006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41734
41735 * DISTLIST: Added include/grub/i386/linux.h. Removed
41736 include/grub/i386/pc/linux.h
41737
41738 * configure.ac (AC_INIT): Bumped to 1.94.
41739
41740 * config.guess: Updated from gnulib.
41741 * config.sub: Likewise.
41742 * install-sh: Likewise.
41743 * mkinstalldirs: Likewise.
41744
b4c1940a 417452006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41746
41747 * conf/common.rmk (grub_modules_init.lst): Depended on
41748 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
41749 MODSRCFILES.
41750
41751 * genmk.rb (PModule::rule): Reverted the previous change.
41752
cfca1cfd 417532006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41754
41755 * conf/common.rmk (grub_modules_init.lst): Depends on
41756 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
41757 that the target does not exist before producing.
41758 (grub_modules_init.h): Remove the target before generating.
41759 (grub_emu_init.c): Likewise.
41760
41761 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
41762
aa6d7826 417632006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
41764
41765 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
41766 for the target-specific tests. Make sure that we also have the
41767 up-to-date target variables for those tests.
41768
26c607b9 417692006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41770
41771 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
41772 (PModule::rule): Likewise.
41773
0162321a 417742006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41775
41776 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
41777 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
41778 target-specific flags should be prefixed.
41779 (PModule::rule): Likewise.
41780
6c826348 417812006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
41782
41783 * configure.ac (CMP): Check if cmp is available explicitly.
41784
b977bf01 417852006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
41786
41787 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
41788 (target_cpu): New variable.
41789 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 41790
b977bf01 41791 * util/i386/pc/grub-install.in (host_cpu): Removed.
41792 (target_cpu): New variable.
41793 (pkglibdir): Use target_cpu instead of host_cpu.
41794
41795 * util/genmoddep.c: Removed.
f19dbdb7 41796
b977bf01 41797 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
41798 instead of GRUB_HOST_SIZEOF_VOID_P.
41799 * kern/dl.c: Likewise.
41800
41801 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
41802 ...
41803 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41804 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41805 (GRUB_TARGET_SIZEOF_LONG): ... this.
41806 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41807 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41808 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41809 to ...
41810 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41811 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41812 (GRUB_TARGET_SIZEOF_LONG): ... this.
41813 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41814 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41815 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41816 to ...
41817 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41818 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41819 (GRUB_TARGET_SIZEOF_LONG): ... this.
41820 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41821 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41822
41823 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
41824 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
41825 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
41826 instead of GRUB_HOST_SIZEOF_LONG.
41827 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
41828 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
41829 GRUB_CPU_WORDS_BIGENDIAN.
41830 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
41831 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
41832 grub_host_ssize_t.
41833
41834 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
41835 (genmoddep_SOURCES): Likewise.
41836 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
41837 (genmoddep_SOURCES): Likewise.
41838 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
41839 (genmoddep_SOURCES): Likewise.
41840 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
41841 Likewise.
41842 (genmoddep_SOURCES): Likewise.
41843
41844 * genmoddep.awk: New file.
41845
41846 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
41847 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
41848 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
41849 (PModule::rule): Likewise.
41850 (Program::rule): Likewise.
41851 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
41852 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
41853 respectively.
41854
41855 * configure.ac: Rewritten intensively to use host and target
41856 instead of build and host, respectively.
41857
41858 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41859 (host_cpu): Removed.
41860 (target_cpu): New variable.
41861 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41862 (BUILD_CC): Removed.
41863 (BUILD_CFLAGS): Likewise.
41864 (BUILD_CPPFLAGS): Likewise.
41865 (TARGET_CC): New variable.
41866 (TARGET_CFLAGS): Likewise.
41867 (TARGET_CPPFLAGS): Likewise.
41868 (TARGET_LDFLAGS): Likewise.
41869 (AWK): Likewise.
41870 (include): Use target_cpu instead of host_cpu.
41871 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 41872
b977bf01 41873 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41874
f09771a1 418752006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41876
41877 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41878 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41879 field 'false' to 'exec_on_false'.
41880 (grub_script_create_cmdif): Renamed argument names to reflect above
41881 changes.
41882
41883 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41884
41885 * normal/script.c (grub_script_create_cmdif): Likewise.
41886
118f4fb3 418872006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41888
41889 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41890 top.
41891 (grub_hfsplus_btree_recptr): Likewise.
41892 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41893 FILEBLOCK both to pass a block number and store next block
41894 number.
41895 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41896 overflow file correctly. Specify errors appropriately, because
41897 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41898 grub_hfsplus_btree_recptr to get the pointer to a found key.
41899 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41900 is found.
41901
41902 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41903 linux.mod.
41904 (_linux_mod_SOURCES): New variable.
41905 (_linux_mod_CFLAGS): Likewise.
41906 (_linux_mod_LDFLAGS): Likewise.
41907 (linux_mod_SOURCES): Likewise.
41908 (linux_mod_CFLAGS): Likewise.
41909 (linux_mod_LDFLAGS): Likewise.
41910
41911 * DISTLIST: Added loader/i386/efi/linux.c,
41912 loader/i386/efi/linux_normal.c and
41913 include/grub/i386/efi/loader.h.
41914
41915 * loader/i386/efi/linux.c: New file.
41916 * loader/i386/efi/linux_normal.c: Likewise.
41917 * include/grub/i386/efi/loader.h: Likewise.
41918
89a7d726 419192006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41920
41921 * commands/blocklist.c: New file.
41922
41923 * DISTLIST: Added commands/blocklist.c.
41924
41925 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 41926 color for the background, and a darker color for the foreground.
89a7d726 41927 (grub_console_checkkey): Return READ_KEY.
41928 (grub_console_cls): Set the background to
41929 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41930
41931 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41932
41933 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41934 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41935
41936 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41937 prototype.
41938
41939 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41940 BG. The spec is wrong again.
41941
41942 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41943 prototype.
41944 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41945
41946 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41947 commands/blocklist.c.
41948 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 41949
89a7d726 41950 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41951 (blocklist_mod_SOURCES): New variable.
41952 (blocklist_mod_CFLAGS): Likewise.
41953 (blocklist_mod_LDFLAGS): Likewise.
41954
75c8f258 419552006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41956
41957 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41958 duplication.
41959 (lba_mode): Use %eax more intensively to reduce the code size.
41960
da2eb181 419612006-05-20 Marco Gerards <marco@gnu.org>
41962
41963 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41964
41965 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41966 for `menuentry'.
41967 (script): Accept leading newlines.
41968 (newlines): New rule to describe 0 or more newlines.
41969 (commands): Accept `command' with trailing newline. Fixed the
41970 order in which arguments were passed to `grub_script_add_cmd'.
41971 Accept commands separated by newlines.
41972 (function): Changed to accept newlines.
41973 (menuentry) Rewritten.
41974
41975 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41976 front of the list, instead of to the end.
41977
577b4050 419782006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41979
41980 * util/i386/pc/grub-install.in (bindir): New variable.
41981 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41982 Shaver <lbgwjl@gmail.com>.
41983
0d6e1189 419842006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41985
41986 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41987 grub/machine/linux.h
41988 * loader/i386/pc/linux.c: Likewise.
41989
41990 * include/grub/i386/pc/linux.h: Moved to ...
41991 * include/grub/i386/linux.h: ... here.
41992
41993 * include/grub/i386/linux.h (struct linux_kernel_params): New
41994 struct.
f19dbdb7 41995
31b86e9f 419962006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41997
41998 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41999 checking.
42000 (grub_video_vbe_blit_glyph): Likewise.
42001 (grub_video_vbe_blit_bitmap): Likewise.
42002 (grub_video_vbe_blit_render_target): Likewise.
42003
83b984de 420042006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
42005
42006 * configure.ac (--with-platform): Properly quote the square
42007 brackets.
42008
5f0413bd 420092006-05-08 Marco Gerards <marco@gnu.org>
42010
42011 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
42012 this...
42013 (kernel_elf_HEADERS): ...to this. Updated all users.
42014 (grubof_symlist.c): Renamed from this...
42015 (kernel_elf_symlist.c): ...to this. Updated all users.
42016 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
42017 (grubof_SOURCES): Renamed from this...
42018 (kernel_elf_SOURCES): ...to this.
42019 (grubof_HEADERS): Renamed from this...
42020 (kernel_elf_HEADERS): ...to this.
42021 (grubof_CFLAGS): Renamed from this...
42022 (kernel_elf_CFLAGS): ...to this.
42023 (grubof_ASFLAGS): Renamed from this...
42024 (kernel_elf_ASFLAGS): ...to this.
42025 (grubof_LDFLAGS): Renamed from this...
42026 (kernel_elf_LDFLAGS): ...to this.
42027
42028 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
42029 this...
42030 (kernel_elf_HEADERS): ...to this. Updated all users.
42031 (grubof_symlist.c): Renamed from this...
42032 (kernel_elf_symlist.c): ...to this. Updated all users.
42033 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
42034 (grubof_SOURCES): Renamed from this...
42035 (kernel_elf_SOURCES): ...to this.
42036 (grubof_HEADERS): Renamed from this...
42037 (kernel_elf_HEADERS): ...to this.
42038 (grubof_CFLAGS): Renamed from this...
42039 (kernel_elf_CFLAGS): ...to this.
42040 (grubof_ASFLAGS): Renamed from this...
42041 (kernel_elf_ASFLAGS): ...to this.
42042 (grubof_LDFLAGS): Renamed from this...
42043 (kernel_elf_LDFLAGS): ...to this.
42044
42045 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
42046 `kernel.elf' instead of `grubof'.
42047
05568c2e 420482006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
42049
42050 Add --with-platform to configure. Use pkglibdir instead of
42051 pkgdatadir. This is reported by Roger Leigh.
42052
42053 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
42054 (host_vendor): Likewise.
42055 (host_os): Likewise.
42056 (pkgdatadir): Likewise.
42057 (platform): New variable.
42058 (pkglibdir): Likewise.
42059 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 42060
05568c2e 42061 * util/i386/pc/grub-install.in (datadir): Removed.
42062 (host_vendor): Likewise.
42063 (host_os): Likewise.
42064 (pkgdatadir): Likewise.
42065 (platform): New variable.
42066 (pkglibdir): Likewise.
42067 Use PKGLIBDIR instead of PKGDATADIR.
42068
42069 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
42070 instead of GRUB_DATADIR.
42071 (main): Likewise.
42072 * util/i386/pc/grub-mkimage.c (usage): Likewise.
42073 (main): Likewise.
42074 * util/i386/efi/grub-mkimage.c (usage): Likewise.
42075 (main): Likewise.
42076
42077 * configure.ac (--with-platform): New option.
42078 Use PLATFORM instead of HOST_VENDOR to specify a platform.
42079
42080 * Makefile.in: Include a makefile based on PLATFORM instead of
42081 HOST_VENDOR.
42082 (pkgdatadir): Not appended by the machine type.
42083 (pkglibdir): Appended by the machine type.
42084 (host_vendor): Removed.
42085 (platform): New variable.
42086 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
42087 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
42088 (uninstall): Likewise.
42089
4e93851c 420902006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
42091
42092 Use the environment context in the menu. Remove the commands
42093 "default" and "timeout", and use variables instead.
f19dbdb7 42094
4e93851c 42095 * normal/menu.c: Include grub/env.h.
42096 (print_entry): Cast TITLE to silence gcc.
42097 (get_timeout): New function.
42098 (set_timeout): Likewise.
42099 (get_entry_number): Likewise.
42100 (run_menu): Use a default entry, a fallback entry and a timeout
42101 in the environment variables "default", "fallback" and
42102 "timeout". Also, tweak the default entry if it is not within the
42103 current menu entries.
42104 (grub_menu_run): Use a fallback entry in the environment variable
42105 "fallback".
42106
42107 * normal/main.c (read_config_file): Do not initialize
42108 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
42109 NEWMENU->TIMEOUT.
42110 (grub_normal_execute): Use a data slot to store the menu.
42111
42112 * include/grub/normal.h (struct grub_menu): Removed default_entry,
42113 fallback_entry and timeout.
42114 (struct grub_menu_list): Removed.
42115 (grub_menu_list_t): Likewise.
42116 (struct grub_context): Likewise.
42117 (grub_context_t): Likewise.
42118 (grub_context_get): Likewise.
42119 (grub_context_get_current_menu): Likewise.
42120 (grub_context_push_menu): Likewise.
42121 (grub_context_pop_menu): Likewise.
42122 (grub_default_init): Likewise.
42123 (grub_default_fini): Likewise.
42124 (grub_timeout_init): Likewise.
42125 (grub_timeout_fini): Likewise.
42126
42127 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
42128 and timeout.mod.
42129 (normal_mod_SOURCES): Removed normal/context.c.
42130
42131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
42132 commands/default.c, commands/timeout.c and normal/context.c.
42133 (normal_mod_SOURCES): Removed normal/context.c.
42134
42135 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
42136 commands/timeout.c and normal/context.c.
42137 (normal_mod_SOURCES): Removed normal/context.c.
42138
42139 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
42140 commands/default.c, commands/timeout.c and normal/context.c.
42141 (normal_mod_SOURCES): Removed normal/context.c.
42142
42143 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
42144 timeout.mod.
42145 (default_mod_SOURCES): Removed.
42146 (default_mod_CFLAGS): Likewise.
42147 (default_mod_LDFLAGS): Likewise.
42148 (timeout_mod_SOURCES): Removed.
42149 (timeout_mod_CFLAGS): Likewise.
42150 (timeout_mod_LDFLAGS): Likewise.
42151
42152 * DISTLIST: Removed commands/default.c, commands/timeout.c and
42153 normal/context.c.
42154
42155 * commands/default.c: Removed.
42156 * commands/timeout.c: Likewise.
42157 * normal/context.c: Likewise.
42158
1eb9cc1d 421592006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
42160
42161 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
42162
385bd9c1 421632006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
42164
42165 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
42166 "next" to "prev" for readability.
42167 (struct grub_env_sorted_var): New struct.
42168 (grub_env_context): Renamed to ...
42169 (initial_context): ... this.
42170 (grub_env_var_context): Renamed to ...
42171 (current_context): ... this.
42172 (grub_env_find): Look only at CURRENT_CONTEXT.
42173 (grub_env_context_open): Rewritten to copy exported variables from
42174 previous context.
42175 (grub_env_context_close): Rewritten according to the new
42176 scheme. Also, add an assertion to prevent the initial context from
42177 removed.
42178 (grub_env_insert): Removed the code for the sorted list.
42179 (grub_env_remove): Likewise.
42180 (grub_env_export): Simply mark the variable with
42181 GRUB_ENV_VAR_GLOBAL.
42182 (grub_env_set): A cosmetic change for naming consistency.
42183 (grub_env_get): Likewise.
42184 (grub_env_unset): Likewise.
42185 (grub_env_iterate): Rewritten to sort variables within this
42186 function.
42187 (grub_register_variable_hook): Fixed for naming consistency. Call
42188 grub_env_find again, only if NAME is not found at the first time.
42189 (mangle_data_slot_name): New function.
42190 (grub_env_set_data_slot): Likewise.
42191 (grub_env_get_data_slot): Likewise.
42192 (grub_env_unset_data_slot): Likewise.
42193
42194 * include/grub/env.h (grub_env_var_type): New enum.
42195 (GRUB_ENV_VAR_LOCAL): New constant.
42196 (GRUB_ENV_VAR_GLOBAL): Likewise.
42197 (GRUB_ENV_VAR_DATA): Likewise.
42198 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
42199 "type".
42200 (grub_env_set): Replace VAR with NAME for consistency.
42201 (grub_register_variable_hook): Likewise.
42202 (grub_env_export): Specify the name of the argument.
42203 (grub_env_set_data_slot): New prototype.
42204 (grub_env_get_data_slot): Likewise.
42205 (grub_env_unset_data_slot): Likewise.
42206
7f362539 422072006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42208
42209 Extend the loader so that GRUB can accept a loader which comes
42210 back to GRUB when a loaded image exits. Also, this change adds
42211 support for a chainloader on EFI.
f19dbdb7 42212
7f362539 42213 * term/efi/console.c: Include grub/misc.h.
42214 (grub_console_checkkey): Display a scan code on the top for
42215 debugging. This will be removed once the EFI port gets stable.
42216 Correct the scan code mapping.
42217
42218 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
42219 allocate memory from larger regions, in order to reduce the number
42220 of allocated regions. Otherwise, the MacOSX loader panics.
42221 (filter_memory_map): Avoid less than 1MB for compatibility with
42222 other loaders.
42223 (add_memory_regions): Allocate from the tail of a region, if
42224 possible, to avoid allocating a region near to 1MB, for the MacOSX
42225 loader.
42226
42227 * kern/efi/init.c (grub_efi_set_prefix): Specify
42228 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
42229
42230 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
42231 argument IMAGE_HANDLE and specify it to get a loaded image.
42232 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
42233 grub_efi_get_loaded_image.
fe6b695a 42234 (grub_efi_get_filename): Divide the length by the size of
7f362539 42235 grub_efi_char16_t.
42236 (grub_efi_get_device_path): New function.
42237 (grub_efi_print_device_path): Print End Device Path nodes. Divide
42238 the length by the size of grub_efi_char16_t for a file path device
42239 path node.
42240
42241 * kern/loader.c (grub_loader_noreturn): New variable.
42242 (grub_loader_set): Accept a new argument NORETURN. Set
42243 GRUB_LOADER_NORETURN to NORETURN.
42244 All callers changed.
42245 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
42246 grub_machine_fini.
42247
42248 * include/grub/efi/efi.h (grub_efi_get_device_path): New
42249 prototype.
42250 (grub_efi_get_loaded_image): Take an argument to specify an image
42251 handle.
42252
42253 * include/grub/loader.h (grub_loader_set): Added one more argument
42254 NORETURN.
42255
42256 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
42257 instead of grub_efi_open_protocol.
42258 (grub_efidisk_get_device_name): Likewise.
42259 (grub_efidisk_close): Print a newline.
42260 (grub_efidisk_get_device_handle): Fixed to use
42261 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
42262 GRUB_EFI_DEVICE_PATH_TYPE.
42263
42264 * disk/efi/efidisk.c (device_path_guid): Moved to ...
42265 * kern/efi/efi.c (device_path_guid): ... here.
42266
42267 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
42268 chain.mod.
42269 (kernel_mod_HEADERS): Added efi/disk.h.
42270 (_chain_mod_SOURCES): New variable.
42271 (_chain_mod_CFLAGS): Likewise.
42272 (_chain_mod_LDFLAGS): Likewise.
42273 (chain_mod_SOURCES): Likewise.
42274 (chain_mod_CFLAGS): Likewise.
42275 (chain_mod_LDFLAGS): Likewise.
42276
42277 * DISTLIST: Added include/grub/efi/chainloader.h,
42278 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
42279
42280 * include/grub/efi/chainloader.h: New file.
42281 * loader/efi/chainloader.c: Likewise.
42282 * loader/efi/chainloader_normal.c: Likewise.
42283
c0111d6e 422842006-04-30 Marco Gerards <marco@gnu.org>
42285
42286 * commands/configfile.c (grub_cmd_source): New function.
42287 (GRUB_MOD_INIT): Register the commands `source' and `.'.
42288 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
42289
df5341da 422902006-04-30 Marco Gerards <marco@gnu.org>
42291
42292 * normal/execute.c (grub_script_execute_cmd): Change the return
42293 type to `grub_err_t'. Correctly return the error.
42294 (grub_script_execute_cmdline): In case a command line is not a
42295 command or a function, try to interpret it as an assignment.
42296
f85934bd 422972006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42298
42299 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
42300 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
42301 skip a node whose name is obviously invalid as UTF-16,
42302 i.e. contains a NUL character. Stop the iteration when the last
42303 directory entry is found. Instead of using the return value of
42304 grub_hfsplus_btree_iterate_node, store the value in RET and use
42305 it, because the iterator can be stopped by the last directory
42306 entry.
42307
8f8a2cf8 423082006-04-30 Marco Gerards <marco@gnu.org>
42309
42310 * include/grub/env.h (grub_env_export): New prototype. Reported
42311 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
42312
a27e84ce 423132006-04-30 Marco Gerards <marco@gnu.org>
42314
42315 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
42316 size of the extents in a catalog file record.
42317
eaef0553 423182006-04-29 Marco Gerards <marco@gnu.org>
42319
42320 * commands/configfile.c (grub_cmd_configfile): Execute the
42321 configfile within its own context.
42322
42323 * include/grub/env.h (grub_env_context_open): New prototype.
42324 (grub_env_context_close): Likewise.
42325
42326 * kern/env.c (grub_env): Removed.
42327 (grub_env_sorted): Likewise.
42328 (grub_env_context): New variable.
42329 (grub_env_var_context): Likewise.
42330 (grub_env_find): Search both the active context and the global
42331 context.
42332 (grub_env_context_open): New function.
42333 (grub_env_context_close): Likewise.
42334 (grub_env_insert): Likewise.
42335 (grub_env_remove): Likewise.
42336 (grub_env_export): Likewise.
42337 (grub_env_set): Changed to use helper functions to avoid code
42338 duplication.
42339 (grub_env_iterate): Rewritten so both the current context and the
42340 global context are being used.
42341
42342 * normal/command.c (export_command): New function.
42343 (grub_command_init): Register the `export' function.
42344
7b455f4d 423452006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
42346
42347 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
42348 explicitly to suppress gcc's warnings.
42349 * fs/fat.c (grub_fat_find_dir): Likewise.
42350 (grub_fat_label): Likewise.
42351 * fs/xfs.c (grub_xfs_read_inode): Likewise.
42352 (grub_xfs_mount): Likewise.
42353 (grub_xfs_label): Likewise.
42354 * fs/affs.c (grub_affs_mount): Likewise.
42355 (grub_affs_label): Likewise.
42356 (grub_affs_iterate_dir): Likewise.
42357 * fs/sfs.c (grub_sfs_mount): Likewise.
42358 (grub_sfs_iterate_dir): Likewise.
42359 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
42360 * fs/hfs.c (grub_hfs_mount): Likewise.
42361 (grub_hfs_cmp_catkeys): Likewise.
42362 (grub_hfs_find_dir): Likewise.
42363 (grub_hfs_dir): Likewise.
42364 (grub_hfs_label): Likewise.
42365 * fs/jfs.c (grub_jfs_mount): Likewise.
42366 (grub_jfs_opendir): Likewise.
42367 (grub_jfs_getent): Likewise.
42368 (grub_jfs_lookup_symlink): Likewise.
42369 (grub_jfs_label): Likewise.
42370 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
42371 (grub_hfsplus_iterate_dir): Likewise.
42372 (grub_hfsplus_btree_iterate_node): Made static.
42373
42374 * util/grub-emu.c (prefix): New variable.
42375 (grub_machine_set_prefix): New function.
42376 (main): Do not set the environment variable "prefix" here. Only
42377 set PREFIX, which is used later by grub_machine_set_prefix.
42378
42379 * include/grub/video.h: Do not include grub/symbol.h.
42380 (grub_video_register): Not exported. This symbol is not defined in
42381 the kernel.
42382 (grub_video_unregister): Likewise.
42383 (grub_video_iterate): Likewise.
42384 (grub_video_setup): Likewise.
42385 (grub_video_restore): Likewise.
42386 (grub_video_get_info): Likewise.
42387 (grub_video_get_blit_format): Likewise.
42388 (grub_video_set_palette): Likewise.
42389 (grub_video_get_palette): Likewise.
42390 (grub_video_set_viewport): Likewise.
42391 (grub_video_get_viewport): Likewise.
42392 (grub_video_map_color): Likewise.
42393 (grub_video_map_rgb): Likewise.
42394 (grub_video_map_rgba): Likewise.
42395 (grub_video_fill_rect): Likewise.
42396 (grub_video_blit_glyph): Likewise.
42397 (grub_video_blit_bitmap): Likewise.
42398 (grub_video_blit_render_target): Likewise.
42399 (grub_video_scroll): Likewise.
42400 (grub_video_swap_buffers): Likewise.
42401 (grub_video_create_render_target): Likewise.
42402 (grub_video_delete_render_target): Likewise.
42403 (grub_video_set_active_render_target): Likewise.
42404
42405 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
42406 Undefined.
42407 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
42408
42409 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
42410 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42411 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42412 instead of $(srcdir)/genkernsyms.sh.
42413
42414 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
42415 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42416 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42417 instead of $(srcdir)/genkernsyms.sh.
42418
42419 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
42420 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42421 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42422 instead of $(srcdir)/genkernsyms.sh.
42423
42424 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
42425 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42426 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42427 instead of $(srcdir)/genkernsyms.sh.
42428
42429 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
42430 genkernsyms.sh.
42431
42432 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
42433 genkernsyms.sh.
42434 (gensymlist.sh): New target.
42435 (genkernsyms.sh): Likewise.
42436
42437 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
42438 genkernsyms.sh.in and gensymlist.sh.in.
42439
42440 * genkernsyms.sh: Removed.
42441 * gensymlist.sh: Likewise.
f19dbdb7 42442
7b455f4d 42443 * genkernsyms.sh.in: New file.
42444 * gensymlist.sh.in: Likewise.
42445
1885bb27 424462006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42447
42448 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
42449 clobber "prefix", since we may have already set it manually.
42450
71538dff 424512006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42452
42453 * kern/misc.c (abort): New alias for grub_abort.
42454
2965c7cc 424552006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
42456
42457 A new machine-specific function "grub_machine_set_prefix" is
42458 defined. This is called after loading modules, so that a prefix
42459 initialization can use modules. Also, this change adds an
42460 intensive debugging feature for the memory manager via the
42461 configure option "--enable-mm-debug".
f19dbdb7 42462
2965c7cc 42463 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
42464 PART.LEN.
42465
42466 * kern/sparc64/ieee1275/init.c (abort): Removed.
42467 (grub_stop): Likewise.
42468 (grub_exit): New function.
42469 (grub_set_prefix): Renamed to ...
42470 (grub_machine_set_prefix): ... this.
42471 (grub_machine_init): Do not call grub_set_prefix.
42472
42473 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
42474 (grub_machine_set_prefix): ... this.
42475 (grub_machine_init): Do not call grub_set_prefix.
42476
42477 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
42478 (grub_machine_init): Do not set the prefix here.
42479
42480 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
42481
42482 * kern/efi/init.c: Include grub/mm.h.
42483 (grub_efi_set_prefix): New function.
42484
42485 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
42486 (grub_efi_get_filename): New function.
42487 (grub_print_device_path): Renamed to ...
42488 (grub_efi_print_device_path): ... this.
42489
42490 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
42491 [MM_DEBUG] (grub_realloc): Likewise.
42492 [MM_DEBUG] (grub_free): Likewise.
42493 [MM_DEBUG] (grub_memalign): Likewise.
42494 [MM_DEBUG] (grub_mm_debug): New variable.
42495 [MM_DEBUG] (grub_debug_malloc): New function.
42496 [MM_DEBUG] (grub_debug_free): New function.
42497 [MM_DEBUG] (grub_debug_realloc): New function.
42498 [MM_DEBUG] (grub_debug_memalign): New function.
42499
42500 * kern/misc.c (grub_abort): Print a newline to distinguish
42501 the message.
42502
42503 * kern/main.c (grub_main): Call grub_machine_set_prefix and
42504 grub_set_root_dev after loading modules. This is necessary when
42505 setting a prefix depends on modules.
42506
42507 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
42508 (grub_efi_print_device_path): ... this.
42509 (grub_efi_get_filename): New prototype.
42510 (grub_efi_set_prefix): Likewise.
42511
42512 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
42513 and grub/disk.h.
42514 (grub_efidisk_get_device_handle): New prototype.
42515 (grub_efidisk_get_device_name): Likewise.
42516
42517 * include/grub/mm.h: Include config.h.
42518 (MM_DEBUG): Removed.
42519 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
42520 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
42521 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
42522 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
42523 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
42524 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
42525 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
42526 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
42527 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
42528
42529 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
42530
42531 * disk/efi/efidisk.c: Include grub/partition.h.
42532 (iterate_child_devices): New function.
42533 (add_device): First, compare only last device path nodes, so that
42534 devices are sorted by the types.
42535 (grub_efidisk_get_device_handle): New function.
42536 (grub_efidisk_get_device_name): Likewise.
42537
42538 * configure.ac (--enable-mm-debug): New option to enable the
42539 memory manager debugging feature. This makes the binary much
42540 bigger, so is disabled by default.
42541
9cacaa17 425422006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
42543
42544 Use grub_abort instead of grub_stop, and grub_exit must be
42545 define in each architecture now. Also, this change adds support
42546 for EFI disks.
f19dbdb7 42547
9cacaa17 42548 * util/i386/pc/grub-probefs.c: Include grub/term.h.
42549 (grub_getkey): New function.
42550 (grub_term_get_current): Likewise.
42551
42552 * util/i386/pc/grub-setup.c: Include grub/term.h.
42553 (grub_getkey): New function.
42554 (grub_term_get_current): Likewise.
42555
42556 * util/misc.c (grub_stop): Renamed to ...
42557 (grub_exit): ... this.
42558
42559 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
42560 (grub_exit): ... this.
42561 (grub_machine_init): Use grub_abort instead of abort.
42562 (grub_stop): Removed.
42563
42564 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
42565 abort.
42566
42567 * kern/i386/pc/startup.S (grub_exit): New function.
42568 (cold_reboot): New label.
42569
42570 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
42571 (grub_efi_init): Call grub_efidisk_init.
42572 (grub_efi_fini): Call grub_efidisk_fini.
42573
42574 * kern/efi/efi.c: Include grub/mm.h.
42575 (grub_efi_console_control_guid): Renamed to ...
42576 (console_control_guid): ... this.
42577 (grub_efi_loaded_image_guid): Renamed to ...
42578 (loaded_image_guid): ... this.
42579 (grub_efi_locate_handle): New function.
42580 (grub_efi_open_protocol): Likewise.
42581 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
42582 GRUB_EFI_CONSOLE_CONTROL_GUID.
42583 (grub_efi_exit): Removed.
42584 (grub_stop): Likewise.
42585 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
42586 (grub_exit): New function.
42587 (grub_print_device_path): Likewise.
42588
42589 * kern/rescue.c (grub_rescue_cmd_exit): New function.
42590 (grub_enter_rescue_mode): Register "exit".
42591
42592 * kern/misc.c (grub_real_dprintf): A cosmetic change.
42593 (grub_abort): New function.
42594
42595 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
42596
42597 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
42598
42599 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
42600
42601 * include/grub/efi/efi.h (grub_efi_exit): Removed.
42602 (grub_print_device_path): New prototype.
42603 (grub_efi_locate_handle): Likewise.
42604 (grub_efi_open_protocol): Likewise.
42605
42606 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
42607 * disk/efi/efidisk.c: Likewise.
42608
42609 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
42610
42611 * include/grub/efi/console_control.h
42612 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
42613
42614 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
42615 last 8 bytes as an array.
42616 (GRUB_EFI_DISK_IO_GUID): New macro.
42617 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
42618 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
42619 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
42620 grub_uint8_t.
42621 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
42622 (struct grub_efi_device_path): Rename the member "sub_type" to
42623 "subtype".
42624 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
42625 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
42626 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
42627 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
42628 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
42629 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
42630 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
42631 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
42632 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
42633 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
42634 (struct grub_efi_pci_device_path): New structure.
42635 (grub_efi_pci_device_path_t): New type.
42636 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
42637 (struct grub_efi_pccard_device_path): New structure.
42638 (grub_efi_pccard_device_path_t): New type.
42639 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
42640 (struct grub_efi_memory_mapped_device_path): New structure.
42641 (grub_efi_memory_mapped_device_path_t): New type.
42642 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
42643 (struct grub_efi_vendor_device_path): New structure.
42644 (grub_efi_vendor_device_path_t): New type.
42645 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
42646 (struct grub_efi_controller_device_path): New structure.
42647 (grub_efi_controller_device_path_t): New type.
42648 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
42649 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
42650 (struct grub_efi_acpi_device_path): New structure.
42651 (grub_efi_acpi_device_path_t): New type.
42652 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
42653 (struct grub_efi_expanded_acpi_device_path): New structure.
42654 (grub_efi_expanded_acpi_device_path_t): New type.
42655 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
42656 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
42657 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
42658 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
42659 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
42660 (struct grub_efi_atapi_device_path): New structure.
42661 (grub_efi_atapi_device_path_t): New type.
42662 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
42663 (struct grub_efi_fibre_channel_device_path): New structure.
42664 (grub_efi_fibre_channel_device_path_t): New type.
42665 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
42666 (struct grub_efi_1394_device_path): New structure.
42667 (grub_efi_1394_device_path_t): New type.
42668 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
42669 (struct grub_efi_usb_device_path): New structure.
42670 (grub_efi_usb_device_path_t): New type.
42671 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
42672 (struct grub_efi_usb_class_device_path): New structure.
42673 (grub_efi_usb_class_device_path_t): New type.
42674 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
42675 (struct grub_efi_i2o_device_path): New structure.
42676 (grub_efi_i2o_device_path_t): New type.
42677 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
42678 (struct grub_efi_mac_address_device_path): New structure.
42679 (grub_efi_mac_address_device_path_t): New type.
42680 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
42681 (struct grub_efi_ipv4_device_path): New structure.
42682 (grub_efi_ipv4_device_path_t): New type.
42683 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
42684 (struct grub_efi_ipv6_device_path): New structure.
42685 (grub_efi_ipv6_device_path_t): New type.
42686 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
42687 (struct grub_efi_infiniband_device_path): New structure.
42688 (grub_efi_infiniband_device_path_t): New type.
42689 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
42690 (struct grub_efi_uart_device_path): New structure.
42691 (grub_efi_uart_device_path_t): New type.
42692 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
42693 (struct grub_efi_vendor_messaging_device_path): New structure.
42694 (grub_efi_vendor_messaging_device_path_t): New type.
42695 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
42696 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
42697 (struct grub_efi_hard_drive_device_path): New structure.
42698 (grub_efi_hard_drive_device_path_t): New type.
42699 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
42700 (struct grub_efi_cdrom_device_path): New structure.
42701 (grub_efi_cdrom_device_path_t): New type.
42702 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
42703 (struct grub_efi_vendor_media_device_path): New structure.
42704 (grub_efi_vendor_media_device_path_t): New type.
42705 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
42706 (struct grub_efi_file_path_device_path): New structure.
42707 (grub_efi_file_path_device_path_t): New type.
42708 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
42709 (struct grub_efi_protocol_device_path): New structure.
42710 (grub_efi_protocol_device_path_t): New type.
42711 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
42712 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
42713 (struct grub_efi_bios_device_path): New structure.
42714 (grub_efi_bios_device_path_t): New type.
42715 (struct grub_efi_disk_io): New structure.
42716 (grub_efi_disk_io_t): New type.
42717 (struct grub_efi_block_io_media): New structure.
42718 (grub_efi_block_io_media_t): New type.
42719 (struct grub_efi_block_io): New structure.
42720 (grub_efi_block_io_t): New type.
42721
42722 * include/grub/misc.h (grub_stop): Removed.
42723 (grub_exit): New prototype.
42724 (grub_abort): Likewise.
42725
42726 * include/grub/disk.h (enum grub_disk_dev_id): Added
42727 GRUB_DISK_DEVICE_EFIDISK_ID.
42728
42729 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
42730 disk/efi/efidisk.c.
42731 (kernel_syms.lst): Remove the target if an error occurs.
42732
49986a9f 427332006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
42734
42735 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
42736 as it was simply too buggy.
42737
970d3b8a 427382006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
42739
42740 * kern/misc.c (grub_lltoa): New function.
42741 (grub_vsprintf): Added support for the long long suffix,
42742 i.e. "ll".
42743
ff04ec24 427442006-04-20 Hollis Blanchard <hollis@penguinppc.org>
42745
42746 * Makefile.in (LDFLAGS): Add variable.
42747 (LD): Remove variable.
42748 * configure.ac: Add -m32 to LDFLAGS.
42749 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
42750 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
42751 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
42752 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
42753 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
42754 variables.
42755 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
42756 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
42757 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
42758
37e5e1a4 427592006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
42760
42761 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
42762 length for unknown glyph.
42763
c352d8dd 427642006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42765
2eab1c0d 42766 Add support for pre-loaded modules into the EFI port.
f19dbdb7 42767
2eab1c0d 42768 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
42769 completely. Accept one more argument DIR. The caller has changed.
42770
42771 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
42772
42773 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
42774 (grub_efi_loaded_image_guid): New variable.
42775 (grub_efi_get_loaded_image): New function.
42776 (grub_arch_modules_addr): Likewise.
42777
42778 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
42779 prototype.
42780
42781 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
42782 (struct grub_efi_loaded_image): New structure.
42783 (grub_efi_loaded_image_t): New type.
42784
427852006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42786
c352d8dd 42787 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
42788 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
42789 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
42790
6d01d6b4 427912006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
42792
42793 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
42794
976a4ea0 427952006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
42796
42797 * DISTLIST: Added include/grub/efi/console.h,
42798 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
42799 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42800
42801 * include/grub/efi/console.h: New file.
42802 * include/grub/efi/time.h: Likewise.
42803 * include/grub/i386/efi/kernel.h: Likewise.
42804 * kern/efi/init.c: Likewise.
42805 * kern/efi/mm.c: Likewise.
42806 * term/efi/console.c: Likewise.
f19dbdb7 42807
976a4ea0 42808 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
42809 (grub_stop): Removed.
42810 (grub_get_rtc): Likewise.
42811 (grub_machine_init): Simply call grub_efi_init.
42812 (grub_machine_fini): Call grub_efi_fini.
42813
42814 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
42815 (grub_efi_output_string): Removed.
42816 (grub_efi_stall): New function.
42817 (grub_stop): Likewise.
42818 (grub_get_rtc): Likewise.
42819
42820 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
42821 (grub_efi_stall): New prototype.
42822 (grub_efi_allocate_pages): Likewise.
42823 (grub_efi_free_pages): Likewise.
42824 (grub_efi_get_memory_map): Likewise.
42825 (grub_efi_mm_init): Likewise.
42826 (grub_efi_mm_fini): Likewise.
42827 (grub_efi_init): Likewise.
42828 (grub_efi_fini): Likewise.
42829
42830 * include/grub/i386/efi/time.h: Do not include
42831 grub/symbol.h. Include grub/efi/time.h.
42832 (GRUB_TICKS_PER_SECOND): Removed.
42833 (grub_get_rtc): Likewise.
42834
42835 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
42836 Added padding. The EFI spec is buggy.
42837 (GRUB_EFI_BLACK): New macro.
42838 (GRUB_EFI_BLUE): Likewise.
42839 (GRUB_EFI_GREEN): Likewise.
42840 (GRUB_EFI_CYAN): Likewise.
42841 (GRUB_EFI_RED): Likewise.
42842 (GRUB_EFI_MAGENTA): Likewise.
42843 (GRUB_EFI_BROWN): Likewise.
42844 (GRUB_EFI_LIGHTGRAY): Likewise.
42845 (GRUB_EFI_BRIGHT): Likewise.
42846 (GRUB_EFI_DARKGRAY): Likewise.
42847 (GRUB_EFI_LIGHTBLUE): Likewise.
42848 (GRUB_EFI_LIGHTGREEN): Likewise.
42849 (GRUB_EFI_LIGHTCYAN): Likewise.
42850 (GRUB_EFI_LIGHTRED): Likewise.
42851 (GRUB_EFI_LIGHTMAGENTA): Likewise.
42852 (GRUB_EFI_YELLOW): Likewise.
42853 (GRUB_EFI_WHITE): Likewise.
42854 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
42855 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
42856 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
42857 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42858 (GRUB_EFI_BACKGROUND_RED): Likewise.
42859 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42860 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42861 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42862 (GRUB_EFI_TEXT_ATTR): Likewise.
42863
42864 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42865 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42866 (kernel_mod_HEADERS): Added efi/time.h.
42867
83709125 428682006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42869
42870 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42871 include/grub/efi/api.h, include/grub/efi/console_control.h,
42872 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42873 include/grub/i386/efi/time.h, kern/efi/efi.c,
42874 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42875 and util/i386/efi/grub-mkimage.c.
42876
42877 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42878
42879 * genmk.rb (PModule#rule): Do not export symbols if
42880 #{prefix}_EXPORTS is set to "no".
42881
42882 * conf/i386-efi.mk: New file.
42883 * conf/i386-efi.rmk: Likewise.
42884 * include/grub/efi/api.h: Likewise.
42885 * include/grub/efi/console_control.h: Likewise.
42886 * include/grub/efi/efi.h: Likewise.
42887 * include/grub/efi/pe32.h: Likewise.
42888 * include/grub/i386/efi/time.h: Likewise.
42889 * kern/efi/efi.c: Likewise.
42890 * kern/i386/efi/init.c: Likewise.
42891 * kern/i386/efi/startup.S: Likewise.
42892 * util/i386/efi/grub-mkimage.c: Likewise.
42893
428942006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 42895
42896 * include/grub/script.h: Include <grub/parser.h> and
42897 "grub_script.tab.h".
42898 (struct grub_lexer_param): New struct.
42899 (struct grub_parser_param): Likewise.
42900 (grub_script_create_arglist): Pass the state in an argument.
42901 (grub_script_add_arglist): Likewise.
42902 (grub_script_create_cmdline): Likewise.
42903 (grub_script_create_cmdblock): Likewise.
42904 (grub_script_create_cmdif): Likewise.
42905 (grub_script_create_cmdmenu): Likewise.
42906 (grub_script_add_cmd): Likewise.
42907 (grub_script_arg_add): Likewise.
42908 (grub_script_lexer_ref): Likewise.
42909 (grub_script_lexer_deref): Likewise.
42910 (grub_script_lexer_record_start): Likewise.
42911 (grub_script_lexer_record_stop): Likewise.
42912 (grub_script_mem_record): Likewise.
42913 (grub_script_mem_record_stop): Likewise.
42914 (grub_script_malloc): Likewise.
42915 (grub_script_yylex): Likewise.
42916 (grub_script_yyparse): Likewise.
42917 (grub_script_yyerror): Likewise.
42918 (grub_script_yylex): Likewise.
42919 (grub_script_lexer_init): Return the state.
42920
42921 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42922 (grub_script_lexer_done): Likewise.
42923 (grub_script_lexer_getline): Likewise.
42924 (grub_script_lexer_refs): Likewise.
42925 (script): Likewise.
42926 (newscript): Likewise.
42927 (record): Likewise.
42928 (recording): Likewise.
42929 (recordpos): Likewise.
42930 (recordlen): Likewise.
42931 (grub_script_lexer_init): Return the state instead of setting
42932 global variables.
42933 (grub_script_lexer_ref): Use the newly added argument for state
42934 instead of globals.
42935 (grub_script_lexer_deref): Likewise.
42936 (grub_script_lexer_record_start): Likewise.
42937 (grub_script_lexer_record_stop): Likewise.
42938 (recordchar): Likewise.
42939 (nextchar): Likewise.
42940 (grub_script_yylex2): Likewise.
42941 (grub_script_yylex): Likewise.
42942 (grub_script_yyerror): Likewise.
42943
42944 * normal/parser.y (func_mem): Removed variable.
42945 (menu_entry): Likewise.
42946 (err): Likewise.
42947 (%lex-param): New parser option.
42948 (%parse-param): Likewise.
42949 (script): Always return the AST.
42950 (argument): Pass the state around.
42951 (arguments): Likewise.
42952 (grubcmd): Likewise.
42953 (commands): Likewise.
42954 (function): Likewise.
42955 (menuentry): Likewise.
42956 (if_statement): Likewise.
42957 (if): Likewise.
42958
42959 * normal/script.c (grub_script_memused): Removed variable.
42960 (grub_script_parsed): Likewise.
42961 (grub_script_malloc): Added a state argument. Use that instead of
42962 global variables.
42963 (grub_script_mem_record): Likewise.
42964 (grub_script_mem_record_stop): Likewise.
42965 (grub_script_arg_add): Likewise.
42966 (grub_script_add_arglist): Likewise.
42967 (grub_script_create_cmdline): Likewise.
42968 (grub_script_create_cmdif): Likewise.
42969 (grub_script_create_cmdmenu): Likewise.
42970 (grub_script_add_cmd): Likewise.
42971 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 42972
e2a8c904 429732006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 42974
42975 * normal/command.c (grub_command_init): Remove the title command.
42976
42977 * normal/lexer.c (grub_script_yylex): Renamed from this...
42978 (grub_script_yylex2): ... to this.
42979 (grub_script_yylex): New function. Temporary
42980 introduced to filter some tokens.
42981 (grub_script_yyerror): Print a newline.
42982
42983 * normal/main.c (read_config_file): Output information about the
42984 lines that contain errors. Wait for a key after all lines have
42985 been processed. Don't return an empty menu.
42986
42987 * normal/parser.y (func_mem): Don't initialize.
42988 (menu_entry): Likewise.
42989 (err): New variable.
42990 (script): Don't return anything when an error was encountered.
42991 (ws, returns): Removed rules.
42992 (argument): Disabled concatenated variable support.
42993 (arguments): Remove explicit separators.
42994 (grubcmd): Likewise.
42995 (function): Likewise.
42996 (menuentry): Likewise.
42997 (if): Likewise.
42998 (commands): Likewise. Add error handling.
42999
43000 * normal/script.c (grub_script_create_cmdline): If
43001 `grub_script_parsed' is 0, assume the parser encountered an error.
43002
c9a86192 430032006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
43004
43005 * configure.ac: Add support for EFI. Fix the typo
43006 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
43007
70f3b243 430082006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
43009
43010 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
43011 foreign multibyte characters should be shown correctly.
43012
65f201ad 430132006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
43014
43015 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
43016 calculation.
43017 (read_config_file): Made it to close file before returning.
43018
b4b93674 430192006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
43020
43021 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
43022 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
43023 video/i386/pc/vbefill.c.
43024
43025 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
43026 video/i386/pc/vbefill.c.
43027
43028 * include/grub/video.h (grub_video_blit_format): New enum.
43029 (grub_video_mode_info): Added new member blit_format.
43030 (grub_video_get_blit_format): New function prototype.
43031
43032 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
43033 function prototype.
43034 (grub_video_vbe_map_rgb): Likewise.
43035 (grub_video_vbe_unmap_color): Likewise.
43036
43037 * include/grub/i386/pc/vbeblit.h: New file.
43038
43039 * include/grub/i386/pc/vbefill.h: New file.
43040
43041 * video/video.c (grub_video_get_blit_format): New function.
43042 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
43043 (grub_video_vbe_map_rgb): Likewise.
43044 (grub_video_vbe_unmap_color): Likewise.
43045
43046 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
43047 optimized fills.
43048 (grub_video_vbe_blit_render_target): Changed to use more optimized
43049 blits.
43050 (grub_video_vbe_setup): Added detection for optimized settings.
43051 (grub_video_vbe_create_render_target): Likewise.
43052
43053 * video/i386/pc/vbeblit.c: New file.
43054
43055 * video/i386/pc/vbefill.c: New file.
43056
c2379b9c 430572006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
43058
43059 * font/manager.c (grub_font_get_glyph): Removed font fixup from
43060 here...
43061
43062 * util/unifont2pff.rb: ... and moved it to here. Improved argument
43063 parsing to support both hex and dec ranges. If filename was missing
43064 show usage information.
43065
bd0d7896 430662006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
43067
43068 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
43069 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
43070
43071 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
43072 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
43073 (video_mod_SOURCES): Added.
43074 (video_mod_CFLAGS): Likewise.
43075 (video_mod_LDFLAGS): Likewise.
43076 (gfxterm_mod_SOURCES): Likewise.
43077 (gfxterm_mod_CFLAGS): Likewise.
43078 (gfxterm_mod_LDFLAGS): Likewise.
43079 (videotest_mod_SOURCES): Likewise.
43080 (videotest_mod_CFLAGS): Likewise.
43081 (videotest_mod_LDFLAGS): Likewise.
43082 (vesafb_mod_SOURCES): Removed.
43083 (vesafb_mod_CFLAGS): Likewise.
43084 (vesafb_mod_LDFLAGS): Likewise.
43085 (vga_mod_SOURCES): Likewise.
43086 (vga_mod_CFLAGS): Likewise.
43087 (vga_mod_LDFLAGS): Likewise.
43088
43089 * commands/videotest.c: New file.
43090
43091 * font/manager.c (fill_with_default_glyph): Modified to use
43092 grub_font_glyph.
43093 (grub_font_get_glyph): Likewise.
43094 (fontmanager): Renamed from this...
43095 (font_manager): ... to this.
43096
43097 * include/grub/font.h (grub_font_glyph): Added new structure.
43098 (grub_font_get_glyph): Modified to use grub_font_glyph.
43099
43100 * include/grub/misc.h (grub_abs): Added as inline function.
43101
43102 * include/grub/video.h: New file.
43103
43104 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
43105 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
43106 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
43107 (grub_vbe_get_controller_info): Renamed from this...
43108 (grub_vbe_bios_get_controller_info): ... to this.
43109 (grub_vbe_get_mode_info): Renamed from this...
43110 (grub_vbe_bios_get_mode_info): ... to this.
43111 (grub_vbe_set_mode): Renamed from this...
43112 (grub_vbe_bios_set_mode): ... to this.
43113 (grub_vbe_get_mode): Renamed from this...
43114 (grub_vbe_bios_get_mode): ... to this.
43115 (grub_vbe_set_memory_window): Renamed from this...
43116 (grub_vbe_bios_set_memory_window): ... to this.
43117 (grub_vbe_get_memory_window): Renamed from this...
43118 (grub_vbe_bios_get_memory_window): ... to this.
43119 (grub_vbe_set_scanline_length): Renamed from this...
43120 (grub_vbe_set_scanline_length): ... to this.
43121 (grub_vbe_get_scanline_length): Renamed from this...
43122 (grub_vbe_bios_get_scanline_length): ... to this.
43123 (grub_vbe_set_display_start): Renamed from this...
43124 (grub_vbe_bios_set_display_start): ... to this.
43125 (grub_vbe_get_display_start): Renamed from this...
43126 (grub_vbe_bios_get_display_start): ... to this.
43127 (grub_vbe_set_palette_data): Renamed from this...
43128 (grub_vbe_bios_set_palette_data): ... to this.
43129 (grub_vbe_set_pixel_rgb): Removed.
43130 (grub_vbe_set_pixel_index): Likewise.
43131
43132 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
43133 from this...
43134 (grub_vbe_bios_get_controller_info): ... to this.
43135 (grub_vbe_get_mode_info): Renamed from this...
43136 (grub_vbe_bios_get_mode_info): ... to this.
43137 (grub_vbe_set_mode): Renamed from this...
43138 (grub_vbe_bios_set_mode): ... to this.
43139 (grub_vbe_get_mode): Renamed from this...
43140 (grub_vbe_bios_get_mode): ... to this.
43141 (grub_vbe_set_memory_window): Renamed from this...
43142 (grub_vbe_bios_set_memory_window): ... to this.
43143 (grub_vbe_get_memory_window): Renamed from this...
43144 (grub_vbe_bios_get_memory_window): ... to this.
43145 (grub_vbe_set_scanline_length): Renamed from this...
43146 (grub_vbe_set_scanline_length): ... to this.
43147 (grub_vbe_get_scanline_length): Renamed from this...
43148 (grub_vbe_bios_get_scanline_length): ... to this.
43149 (grub_vbe_set_display_start): Renamed from this...
43150 (grub_vbe_bios_set_display_start): ... to this.
43151 (grub_vbe_get_display_start): Renamed from this...
43152 (grub_vbe_bios_get_display_start): ... to this.
43153 (grub_vbe_set_palette_data): Renamed from this...
43154 (grub_vbe_bios_set_palette_data): ... to this.
43155 (grub_vbe_bios_get_controller_info): Fixed problem with registers
43156 getting corrupted after calling it. Added more pushes and pops.
43157 (grub_vbe_bios_set_mode): Likewise.
43158 (grub_vbe_bios_get_mode): Likewise.
43159 (grub_vbe_bios_get_memory_window): Likewise.
43160 (grub_vbe_bios_set_scanline_length): Likewise.
43161 (grub_vbe_bios_get_scanline_length): Likewise.
43162 (grub_vbe_bios_get_display_start): Likewise.
43163 (grub_vbe_bios_set_palette_data): Likewise.
43164
43165 * normal/cmdline.c (cl_set_pos): Refresh the screen.
43166 (cl_insert): Likewise.
43167 (cl_delete): Likewise.
43168
43169 * term/gfxterm.c: New file.
43170
43171 * term/i386/pc/vesafb.c: Removed file.
43172
43173 * video/video.c: New file.
43174
43175 * video/i386/pc/vbe.c (real2pm): Added new function.
43176 (grub_video_vbe_draw_pixel): Likewise.
43177 (grub_video_vbe_get_video_ptr): Likewise.
43178 (grub_video_vbe_get_pixel): Likewise
43179 (grub_video_vbe_init): Likewise.
43180 (grub_video_vbe_fini): Likewise.
43181 (grub_video_vbe_setup): Likewise.
43182 (grub_video_vbe_get_info): Likewise.
43183 (grub_video_vbe_set_palette): Likewise.
43184 (grub_video_vbe_get_palette): Likewise.
43185 (grub_video_vbe_set_viewport): Likewise.
43186 (grub_video_vbe_get_viewport): Likewise.
43187 (grub_video_vbe_map_color): Likewise.
43188 (grub_video_vbe_map_rgb): Likewise.
43189 (grub_video_vbe_map_rgba): Likewise.
43190 (grub_video_vbe_unmap_color): Likewise.
43191 (grub_video_vbe_fill_rect): Likewise.
43192 (grub_video_vbe_blit_glyph): Likewise.
43193 (grub_video_vbe_blit_bitmap): Likewise.
43194 (grub_video_vbe_blit_render_target): Likewise.
43195 (grub_video_vbe_scroll): Likewise.
43196 (grub_video_vbe_swap_buffers): Likewise.
43197 (grub_video_vbe_create_render_target): Likewise.
43198 (grub_video_vbe_delete_render_target): Likewise.
43199 (grub_video_vbe_set_active_render_target): Likewise.
43200 (grub_vbe_set_pixel_rgb): Remove function.
43201 (grub_vbe_set_pixel_index): Likewise.
43202 (index_color_mode): Remove static variable.
43203 (active_mode): Likewise.
43204 (framebuffer): Likewise.
43205 (bytes_per_scan_line): Likewise.
43206 (grub_video_vbe_adapter): Added new static variable.
43207 (framebuffer): Likewise.
43208 (render_target): Likewise.
43209 (initial_mode): Likewise.
43210 (mode_in_use): Likewise.
43211 (mode_list): Likewise.
43212
5f97350b 432132006-03-10 Marco Gerards <marco@gnu.org>
43214
43215 * configure.ac (AC_INIT): Bumped to 1.93.
43216
43217 * DISTLIST: Added `include/grub/hfs.h'.
43218
a3c5c6f8 432192006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
43220
43221 * boot/i386/pc/boot.S (general_error): Before looping, try INT
43222 18H, which might help the BIOS falling back to next boot media.
43223
6de53d26 432242006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
43225
43226 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
43227 Poe Chen <poe.poechen@gmail.com>.
43228
77c4a393 432292006-01-17 Marco Gerards <marco@gnu.org>
43230
43231 * include/grub/normal.h: Include <grub/script.h>.
43232 (grub_command_list): Removed struct.
43233 (grub_command_list_t): Removed type.
43234 (grub_menu_entry): Remove members `num' and `command_list'. Add
43235 members `commands' and `sourcecode'.
43236 * include/grub/script.h: Add inclusion guards.
43237 (grub_script_cmd_menuentry): New struct.
43238 (grub_script_execute_menuentry): New prototype.
43239 (grub_script_lexer_record_start): Likewise.
43240 (grub_script_lexer_record_stop): Likewise.
43241 * normal/execute.c (grub_script_execute_menuentry): New function.
43242 * normal/lexer.c (record, recording, recordpos, recordlen): New
43243 variables.
43244 (grub_script_lexer_record_start): New function.
43245 (grub_script_lexer_record_stop): Likewise.
43246 (recordchar): Likewise.
43247 (nextchar): Likewise.
43248 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
43249 2048 as the buffer size. Add the tokens `menuentry' and `@'.
43250 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
43251 (current_menu): New variable.
43252 (free_menu): Mainly rewritten.
43253 (grub_normal_menu_addentry): New function.
43254 (read_config_file): Rewritten.
43255 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 43256 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 43257 the menu entry.
43258 (run): Mainly rewritten.
43259 * normal/parser.y (menu_entry): New variable.
43260 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
43261 (menuentry): New rule.
43262 (command): Add `menuentry'.
43263 (if_statement): Allow additional returns before `fi'.
43264 * normal/script.c (grub_script_create_cmdmenu): New function.
43265
144f1f98 432662006-01-03 Marco Gerards <marco@gnu.org>
43267
43268 * INSTALL: GNU Bison is required.
43269 * configure.ac: Rewritten the test to detect Bison.
43270 * Makefile.in (YACC): New variable. Reported by Xun Sun
43271 <xun.sun.cn@gmail.com>.
43272
af4b2d89 432732006-01-03 Marco Gerards <marco@gnu.org>
43274
43275 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
43276 the HFS+ filesystem to filesystem blocks.
43277 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
43278 GCC warning is silenced.
43279
15643b71 432802006-01-03 Marco Gerards <marco@gnu.org>
43281
43282 * partmap/apple.c (apple_partition_map_iterate): Convert the data
43283 read from disk from big endian to host byte order.
43284
00905879 432852006-01-03 Hollis Blanchard <hollis@penguinppc.org>
43286
43287 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
43288 documentation.
43289 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
43290 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
43291 embedded HFS+ filesystem.
43292 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
43293 (grub_hfs_sblock): Move from here...
43294 * include/grub/hfs.h: To here... New file.
43295 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
43296 documentation.
43297 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
43298 New macros.
43299 (grub_hfsplus_volheader): Change type of member `magic' to
43300 `grub_uint16_t'.
43301 (grub_hfsplus_data): Add new member `embedded_offset'.
43302 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
43303 returned block.
43304 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
43305 Calculate the offset.
43306
8899bc3e 433072005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43308
43309 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
43310 Removed.
43311 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
43312
ae8c0277 433132005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43314
43315 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
43316 ENV->NAME is NULL after allocating ENV->VALUE.
43317
07084456 433182005-12-25 Marco Gerards <marco@gnu.org>
43319
43320 * kern/env.c (grub_env_set): Rewritten the error handling code.
43321
4750f5f1 433222005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43323
43324 * geninit.sh: Made more robust, and more portable.
43325
50214199 433262005-12-25 Marco Gerards <marco@gnu.org>
43327
43328 Add support for Apple HFS+ filesystems.
f19dbdb7 43329
50214199 43330 * fs/hfsplus.c: New file.
43331
43332 * DISTLIST: Added `fs/hfsplus.c'.
43333
43334 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
43335 (hfsplus_mod_SOURCES): New variable.
43336 (hfsplus_mod_CFLAGS): Likewise.
43337 (hfsplus_mod_LDFLAGS): Likewise.
43338 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
43339 (grub_setup_SOURCES): Likewise.
43340 (grub_mkdevicemap_SOURCES): Likewise.
43341 (grub_emu_SOURCES): Likewise.
43342 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43343
43344 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
43345
43346 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
43347
befaed6c 433482005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43349
43350 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
43351 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
43352 include/grub/parser.h, include/grub/script.h, kern/parser.c,
43353 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
43354 normal/lexer.c, normal/parser.y, normal/script.c, and
43355 partmap/gpt.c.
43356 Removed kern/sparc64/cache.c.
43357
43358 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
43359 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
43360 grub_emu_init.c.
43361
43362 * configure.ac (AC_INIT): Bumped to 1.92.
43363
6a124103 433642005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
43365
43366 * kern/err.c (grub_error_push): Added new function to support error
43367 stacks.
43368 (grub_error_pop): Likewise.
43369 (grub_error_stack_items): New local variable to support error stacks.
43370 (grub_error_stack_pos): Likewise.
43371 (grub_error_stack_assert): Likewise.
43372 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
43373 stack depth.
43374 (grub_print_error): Added support to print errors from error stack.
43375
43376 * include/grub/err.h (grub_error_push): Added function prototype.
43377 (grub_error_pop): Likewise.
43378
be973c1b 433792005-12-09 Hollis Blanchard <hollis@penguinppc.org>
43380
43381 * configure.ac: Accept `powerpc64' as host_cpu.
43382 (amd64): Rename to `biarch32'.
43383
43384 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
43385 non-cacheline-aligned addresses.
43386
43387 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
43388 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
43389 if `size' is non-zero.
43390
b04216ab 433912005-12-03 Marco Gerards <mgerards@xs4all.nl>
43392
43393 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
43394 and `cd' to make sure the filename is not prefixed with a
43395 directory name.
43396 (pkgdata_MODULES): Add `gpt.mod'.
43397 (gpt_mod_SOURCES): New variable.
43398 (gpt_mod_CFLAGS): Likewise.
43399 (gpt_mod_LDFLAGS): Likewise.
43400
43401 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
43402
43403 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
43404 New macro.
43405
43406 * partmap/gpt.c: New file.
43407
43408 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
43409 GPT partition map is detected.
43410
41730ed9 434112005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
43412
43413 * commands/i386/pc/play.c: New file.
43414 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
43415 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
43416 macros.
f19dbdb7 43417
95dc3643 434182005-11-27 Marco Gerards <mgerards@xs4all.nl>
43419
43420 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
43421 ((unused))' to silence gcc warning.
43422
1569ec51 434232005-11-26 Hollis Blanchard <hollis@penguinppc.org>
43424
43425 * configure.ac: Correct `AC_PROG_YACC' test.
43426
9abde152 434272005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43428
43429 * util/powerpc/ieee1275/grub-install.in: Run the mount point
43430 check before installing files.
43431
44b83271 434322005-11-22 Mike Small <smallm@panix.com>
43433
43434 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
43435 number regex so multidigit numbers are recognized correctly.
43436
434372005-11-22 Mike Small <smallm@panix.com>
43438
43439 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
43440 debugging message before attempting to claim memory.
43441 (grub_rescue_cmd_initrd): Add a claim debugging message and try
43442 multiple addresses in case of failure.
43443
9c12956b 434442005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43445
43446 * term/tparm.c (get_space): Remove empty `if' statement.
43447
43448 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
43449
43450 * kern/parser.c (check_varstate): Rename `state' to 's'.
43451
aeaf81d9 434522005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43453
43454 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
43455 variable definitions to the beginning of each function. Sort stack
43456 variables by size.
43457 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
43458 `buf' argument to `char *'.
43459
79bbb63f 434602005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43461
43462 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
43463 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 43464 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 43465 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43466 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43467 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43468 configfile.mod, search.mod, gzio.mod and test.mod.
43469 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43470 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43471 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43472 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43473 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43474 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43475 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43476 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43477 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43478 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43479 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43480 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43481 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43482 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43483 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43484 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43485 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43486 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43487 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43488 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43489 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43490 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43491 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
43492
43493 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
43494 `grep --include'.
43495 (pkgdata_MODULES): Add test.mod.
43496
233b1628 434972005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43498
43499 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
43500 appending to variables with "+=".
43501 (PModule): Use full pathname to generate *.lst filenames.
43502
43503 * Makefile.in: Fixed list rules moved from genmk.rb.
43504 (.DELETE_ON_ERROR): New special target.
43505 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
43506
43507 * conf/i386-pc.rmk: Include conf/common.mk.
43508 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 43509 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 43510 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43511 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43512 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43513 configfile.mod, search.mod, gzio.mod and test.mod.
43514 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43515 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43516 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43517 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43518 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43519 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43520 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43521 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43522 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43523 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43524 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43525 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43526 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43527 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43528 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43529 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43530 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43531 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43532 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43533 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43534 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43535 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43536 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
43537 here...
43538 * conf/common.rmk: ... to here. New file.
43539
43540 * conf/common.mk: New file.
43541
16f820c8 435422005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
43543
43544 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
43545 (grub_script.tab.c): ... here.
43546
43547 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
43548 (grub_script.tab.c): ... here.
43549
43550 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
43551 (grub_script.tab.c): ... here.
43552
43553 * normal/command.c (grub_command_find): Fixed a memory leak of
43554 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
43555
63ba1554 435562005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43557
43558 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
43559 "@" which marks the start of a comment on ARM.
43560 (VARIABLE): Likewise.
43561
7f67dc13 435622005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43563
79bbb63f 43564 Add support for Linux/ADFS partition tables.
7f67dc13 43565
43566 * partmap/acorn.c: New file.
43567
43568 * include/grub/acorn_filecore.h: Likewise.
43569
43570 * DISTLIST: Added `partmap/acorn.c' and
43571 `include/grub/acorn_filecore.h'.
f19dbdb7 43572
7f67dc13 43573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43574 `partmap/acorn.c'.
43575 (pkgdata_MODULES): Add `acorn.mod'.
43576 (acorn_mod_SOURCES): New variable.
43577 (acorn_mod_CFLAGS): Likewise.
43578
43579 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43580 `partmap/acorn.c'.
43581 (pkgdata_MODULES): Add `acorn.mod'.
43582 (acorn_mod_SOURCES): New variable.
43583 (acorn_mod_CFLAGS): Likewise.
43584
43585 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
43586 (pkgdata_MODULES): Add `acorn.mod'.
43587 (acorn_mod_SOURCES): New variable.
43588 (acorn_mod_CFLAGS): Likewise.
43589 (acorn_mod_LDFLAGS): Likewise.
43590
43591 * include/types.h (grub_disk_addr_t): New typedef.
43592
6d099807 435932005-11-13 Marco Gerards <mgerards@xs4all.nl>
43594
43595 * geninit.sh: New file.
43596
43597 * geninitheader.sh: Likewise.
43598
43599 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
43600 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
43601 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
43602 * commands/configfile.c (grub_configfile_init)
43603 (grub_configfile_fini): Likewise.
43604 * commands/default.c (grub_default_init, grub_default_fini):
43605 Likewise.
43606 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
43607 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
43608 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
43609 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
43610 Likewise.
43611 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
43612 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
43613 Likewise.
43614 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 43615 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 43616 Likewise.
43617 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
43618 Likewise.
fe6b695a 43619 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 43620 Likewise.
43621 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
43622 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
43623 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
43624 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
43625 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
43626 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
43627 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
43628 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
43629 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
43630 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
43631 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
43632 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
43633 * partmap/amiga.c (grub_amiga_partition_map_init)
43634 (grub_amiga_partition_map_fini): Likewise.
43635 * partmap/apple.c (grub_apple_partition_map_init)
43636 (grub_apple_partition_map_fini): Likewise.
43637 * partmap/pc.c (grub_pc_partition_map_init)
43638 (grub_pc_partition_map_fini): Likewise.
43639 * partmap/sun.c (grub_sun_partition_map_init,
43640 grub_sun_partition_map_fini): Likewise.
43641 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
43642 Likewise.
43643
43644 * util/grub-emu.c: Include <grub_modules_init.h>.
43645 (main): Don't initialize and de-initialize any modules directly,
43646 use `grub_init_all' and `grub_fini_all' instead.
43647
43648 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
43649 `grub_vesafb_mod_init'.
43650 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
43651 all users.
43652 * term/i386/pc/vga.c (grub_vga_init): Renamed to
43653 `grub_vga_mod_init'. Updated all users.
43654 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 43655
6d099807 43656 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
43657 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
43658 rules.
43659
43660 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
43661 Generate a function to initialize the module in utilities.
43662 Updated all callers.
43663 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
43664 initialize the module in utilities. Updated all callers.
43665
9046bcf0 436662005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43667
43668 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
43669 escape sequence and a literal ^L to clear the screen.
43670
43671 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
43672 when returning from Open Firmware.
43673
d13ea639 436742005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43675
43676 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
43677 (grub_ofconsole_height): Likewise.
43678 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
43679 manually insert a '\n'.
43680 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
43681 `grub_ofconsole_height'. Return early if these are already set.
43682
a8fcf206 436832005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
43684
43685 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43686 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
43687 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
43688 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
43689 and `normal/script.c'.
43690 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43691 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43692 (test_mod_SOURCES): New variable.
43693 (test_mod_CFLAGS): Likewise.
43694 (test_mod_LDFLAGS): Likewise.
43695 (pkgdata_MODULES): Add `test.mod'.
43696 (grub_script.tab.c): New rule.
43697 (grub_script.tab.h): Likewise.
43698
b6b32745 436992005-11-07 Marco Gerards <mgerards@xs4all.nl>
43700
43701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43702 `commands/test.c', `normal/execute.c', `normal/lexer.c',
43703 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43704 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43705 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43706 (test_mod_SOURCES): New variable.
43707 (test_mod_CFLAGS): Likewise.
43708 (pkgdata_MODULES): Add `test.mod'.
43709 (grub_script.tab.c): New rule.
43710 (grub_script.tab.h): Likewise.
43711
daac212a 437122005-11-06 Marco Gerards <mgerards@xs4all.nl>
43713
43714 Add initial scripting support.
43715
43716 * commands/test.c: New file.
43717 * include/grub/script.h: Likewise.
43718 * normal/execute.c: Likewise.
43719 * normal/function.c: Likewise.
43720 * normal/lexer.c: Likewise.
43721 * normal/parser.y: Likewise.
43722 * normal/script.c: Likewise.
43723
43724 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 43725
daac212a 43726 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
43727 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
43728 `normal/function.c' and `normal/script.c'.
43729 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43730 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 43731 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
43732 variables.
daac212a 43733 (pkgdata_MODULES): Add `test.mod'.
43734 (grub_script.tab.c): New rule.
43735 (grub_script.tab.h): Likewise.
43736
43737 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
43738
43739 * include/grub/normal.h (grub_test_init): New prototype.
43740 (grub_test_fini): Likewise.
f19dbdb7 43741
daac212a 43742 * normal/command.c: Include <grub/script.h>.
43743 (grub_command_execute): Rewritten.
f19dbdb7 43744
daac212a 43745 * util/grub-emu.c (main): Call `grub_test_init' and
43746 `grub_test_fini'.
43747
77500b2b 437482005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43749
43750 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
43751 to 0.
43752 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
43753 there are no pending characters.
43754
e45deb9e 437552005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43756
43757 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
43758 `grub_strndup' to drop device arguments. Replace unnecessary
43759 `grub_strndup' with `grub_strdup'.
43760
4ce32619 437612005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43762
43763 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
43764 `debug' environment variable has been set.
43765
437662005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43767
4ce32619 43768 * Makefile.in (install-local): Use $(DATA).
43769 (uninstall): Likewise.
43770 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
43771 (sbin_UTILITIES): ... to here.
43772 (sbin_SCRIPTS): New variable.
43773 (grub_install_SOURCES): New variable.
43774 * util/powerpc/ieee1275/grub-install.in: New file.
43775 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
43776 variable.
43777 (add_segments): Call `grub_util_get_path'.
43778
25fe6f03 437792005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43780
43781 From Timothy Baldwin:
43782 * commands/ls.c (grub_ls_list_files): Close FILE with
43783 grub_file_close.
43784 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
43785
04ccf3ec 437862005-10-24 Marco Gerards <mgerards@xs4all.nl>
43787
43788 * include/grub/parser.h: New file.
43789
43790 * kern/parser.c: Likewise.
43791
43792 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
43793 (grub_setup_SOURCES): Likewise.
43794 (grub_probefs_SOURCES): Likewise.
43795 (grub_emu_SOURCES): Likewise.
43796 (kernel_img_HEADERS): Add `parser.h'.
43797
43798 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43799 (grub_emu_SOURCES): Add `kern/parser.c'.
43800 (grubof_SOURCES): Likewise.
43801
43802 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43803 (grubof_SOURCES): Add `kern/parser.c'.
43804
43805 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
43806
43807 * kern/misc.c (grub_split_cmdline): Removed function.
43808
43809 * kern/rescue.c: Include <grub/parser.h>.
43810 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
43811 of `grub_split_cmdline'.
43812
43813 * normal/command.c: Include <grub/parser.h>.
43814 (grub_command_execute): Use `grub_parser_split_cmdline' instead
43815 of `grub_split_cmdline'.
43816
43817 * normal/completion.c: Include <grub/parser.h>.
43818 (cmdline_state): New variable.
43819 (iterate_dir): End the filename with a quote depending on the
43820 command line state.
43821 (get_state): new function.
43822 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
43823 split the arguments and determine the current argument. When the
43824 argument string is not quoted, escape all spaces.
43825
6d8f4b0e 438262005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43827
43828 * normal/sparc64/setjmp.S: New file.
43829
15cf03ed 438302005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43831
43832 * include/grub/sparc64/libgcc.h: New file.
43833 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
43834 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
43835 normal/sparc64/setjmp.c.
43836
03e8661a 438372005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43838
43839 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
43840 * kern/sparc64/cache.S: New file.
43841 * kern/sparc64/cache.c: Removed.
43842 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
43843 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
43844 -mtune=ultrasparc.
43845 (COMMON_LDFLAGS): Add -melf64_sparc.
43846 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
43847 (grubof_SOURCES): Use cache.S instead of cache.c.
43848 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
43849 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
43850 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
43851 commented though.
43852 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
43853 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
43854 (linux_mod_CFLAGS): Commented out.
43855 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
43856 out because module isn't built.
43857 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43858 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43859 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43860 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43861 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43862 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43863 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43864 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43865 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43866 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43867 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43868 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43869 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43870 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43871
34eeec8a 438722005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43873
43874 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43875 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43876 longer, because HFS should not be used on PC.
43877
708367a3 438782005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43879
43880 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43881 consistently within the loop.
43882
6fa1251a 438832005-10-15 Marco Gerards <mgerards@xs4all.nl>
43884
43885 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43886 directory can not be read.
43887
4801580b 438882005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43889
43890 * configure.ac (AC_INIT): Increase the version number to 1.91.
43891
43892 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43893 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43894 term/i386/pc/serial.c.
43895
219ad426 438962005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43897
43898 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43899 file size must be permitted.
43900
43901 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43902 between %ah and %al.
43903
688e5699 439042005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43905
43906 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43907 grub_uint64_t.
43908 Call the hook with a NUL-terminated filename.
43909 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43910 grub_cpu_to_be32.
43911
43912 * kern/term.c (cursor_state): New variable.
43913 (grub_term_set_current): Reset the cursor state on a new
43914 terminal.
43915 (grub_setcursor): Rewritten to use CURSOR_STATE.
43916 (grub_getcursor): New function.
43917
43918 * include/grub/term.h (grub_getcursor): New prototype.
43919
43920 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43921 integers on ARM. Reported by Timothy Baldwin
43922 <T.E.Baldwin99@members.leeds.ac.uk>.
43923
bb34586c 439242005-10-11 Marco Gerards <mgerards@xs4all.nl>
43925
43926 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43927 allocated.
43928 (grub_sfs_dir): Likewise.
43929
9a909877 439302005-10-09 Marco Gerards <mgerards@xs4all.nl>
43931
43932 Add support for the SFS filesystem.
43933
43934 * fs/sfs.c: New file.
43935
43936 * DISTLIST: Added `fs/sfs.c'.
43937
43938 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43939 (grub_probefs_SOURCES): Likewise.
43940 (grub_emu_SOURCES): Likewise.
43941 (pkgdata_MODULES): Add `sfs.mod'.
43942 (sfs_mod_SOURCES): New variable.
43943 (sfs_mod_CFLAGS): Likewise.
43944 (sfs_mod_LDFLAGS): Likewise.
43945
43946 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43947 (pkgdata_MODULES): Add `sfs.mod'.
43948 (sfs_mod_SOURCES): New variable.
43949 (sfs_mod_CFLAGS): Likewise.
43950
43951 * util/grub-emu.c (main): Call `grub_sfs_init' and
43952 `grub_sfs_fini'.
43953
43954 * include/grub/fs.h (grub_sfs_init): New prototype.
43955 (grub_sfs_fini): Likewise.
43956
57bdbde3 439572005-10-07 Marco Gerards <mgerards@xs4all.nl>
43958
43959 Add support for the AFFS filesystem.
43960
43961 * fs/affs.c: New file.
43962
43963 * DISTLIST: Added `fs/affs.c'.
43964
43965 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43966 (grub_probefs_SOURCES): Likewise.
43967 (grub_emu_SOURCES): Likewise.
43968 (pkgdata_MODULES): Add `affs.mod'.
43969 (affs_mod_SOURCES): New variable.
43970 (affs_mod_CFLAGS): Likewise.
43971 (affs_mod_LDFLAGS): Likewise.
43972
43973 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43974 (pkgdata_MODULES): Add `affs.mod'.
43975 (affs_mod_SOURCES): New variable.
43976 (affs_mod_CFLAGS): Likewise.
43977
43978 * util/grub-emu.c (main): Call `grub_affs_init' and
43979 `grub_affs_fini'.
43980
43981 * include/grub/fs.h (grub_affs_init): New prototype.
43982 (grub_affs_fini): Likewise.
43983
047b67e0 439842005-10-01 Marco Gerards <mgerards@xs4all.nl>
43985
43986 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43987
59b8208a 439882005-10-01 Marco Gerards <mgerards@xs4all.nl>
43989
43990 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43991 `-m32' to CFLAGS.
43992
43993 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43994 linking.
f19dbdb7 43995
59b8208a 43996 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43997 (COMMON_LDFLAGS): New variable.
43998 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43999 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
44000 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
44001 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
44002 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
44003 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
44004 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
44005 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
44006 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
44007 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
44008 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
44009 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
44010 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
44011 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
44012 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
44013 variables.
44014 (normal_mod_ASFLAGS): Add `-m32'.
44015
44016 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
44017 (grub_host_size_t, grub_host_ssize_t): New types.
44018 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 44019 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 44020 `GRUB_HOST_SIZEOF_VOID_P'.
44021
44022 * include/grub/kernel.h (struct grub_module_header): Type of
44023 member offset changed to `grub_host_off_t'. Type of member size
44024 changed to `grub_host_size_t'.
44025 (struct grub_module_info): Type of member offset changed to
44026 `grub_host_off_t'. Type of member size changed to
44027 `grub_host_size_t'.
44028
b4093103 440292005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
44030
44031 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 44032
b4093103 44033 * kern/i386/pc/startup.S (multiboot_header): New label.
44034 (multiboot_entry): Likewise.
44035 (multiboot_trampoline): Likewise.
44036
44037 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44038 Increased to 0x4A0.
44039
44040 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
44041 put parentheses after a question mark.
44042 [!GRUB_UTIL] (my_mod): New variable.
44043
44044 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
44045
b2499b29 440462005-09-28 Marco Gerards <mgerards@xs4all.nl>
44047
44048 Adds support for the XFS filesystem. Btrees are not supported
44049 yet.
44050
44051 * fs/xfs.c: New file.
44052
44053 * DISTLIST: Added `fs/xfs.c'.
44054
44055 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
44056 (grub_probefs_SOURCES): Likewise.
44057 (grub_emu_SOURCES): Likewise.
44058 (pkgdata_MODULES): Add `xfs.mod'.
44059 (xfs_mod_SOURCES): New variable.
44060 (xfs_mod_CFLAGS): Likewise.
44061
44062 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
44063 (pkgdata_MODULES): Add `xfs.mod'.
44064 (xfs_mod_SOURCES): New variable.
44065 (xfs_mod_CFLAGS): Likewise.
44066
44067 * util/grub-emu.c (main): Call `grub_xfs_init' and
44068 `grub_xfs_fini'.
44069
44070 * include/grub/fs.h (grub_xfs_init): New prototype.
44071 (grub_xfs_fini): Likewise.
44072
f19dbdb7 44073
83d37a62 440742005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
44075
44076 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
44077 color modes, allow greater than 16 colors to be configured as
44078 a default palette.
44079
47d2d65e 440802005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44081
44082 * normal/completion.c (complete_arguments): Add the qualifier
44083 const into OPTIONS.
44084
44085 From Omniflux <omniflux+lists@omniflux.com>:
44086 * include/grub/terminfo.h: New file.
44087 * include/grub/tparm.h: Likewise.
44088 * include/grub/i386/pc/serial.h: Likewise.
44089 * term/terminfo.c: Likewise.
44090 * term/tparm.c: Likewise.
44091 * term/i386/pc/serial.c: Likewise.
44092 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
44093 serial.mod.
44094 (terminfo_mod_SOURCES): New variable.
44095 (terminfo_mod_CFLAGS): Likewise.
44096 (serial_mod_SOURCES): Likewise.
44097 (serial_mod_CFLAGS): Likewise.
44098
48b671ff 440992005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
44100
44101 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
44102 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
44103 and kern/powerpc/ieee1275/cmain.c, respectively.
44104
44105 * boot/powerpc/ieee1275/crt0.S: Moved to ...
44106 * kern/powerpc/ieee1275/crt0.S: ... here.
44107
44108 * boot/powerpc/ieee1275/cmain.c: Moved to ...
44109 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 44110
48b671ff 44111 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
44112 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
44113 instead of boot/powerpc/ieee1275/crt0.S and
44114 boot/powerpc/ieee1275/cmain.c, respectively.
44115
44116 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
44117 sectors. It was not used anyway.
44118
09fc77a7 441192005-08-30 Hollis Blanchard <hollis@penguinppc.org>
44120
44121 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
44122 `unused parameter' warning.
44123
003789c7 441242005-08-30 Hollis Blanchard <hollis@penguinppc.org>
44125
44126 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
44127 function.
44128 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
44129 getcharwidth.
44130
67f44c86 441312005-08-28 Marco Gerards <metgerards@student.han.nl>
44132
44133 * include/grub/normal.h (enum grub_completion_type): Added
44134 `GRUB_COMPLETION_TYPE_ARGUMENT'.
44135
44136 * normal/cmdline.c (print_completion): Handle
44137 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
44138 * normal/menu_entry.c (store_completion): Likewise.
44139
44140 * normal/completion.c (complete_arguments): New function.
44141 (grub_normal_do_completion): Call `complete_arguments' when the
44142 current words start with a dash.
44143
0b5abe02 441442005-08-27 Marco Gerards <metgerards@student.han.nl>
44145
44146 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
44147 `gzio.mod' instead of `io.mod').
44148
d9864ee1 441492005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
44150
44151 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
44152 (DISTDIRS): Added io and video.
44153 Rewrite the search routine to make an output consistently.
44154
44155 * DISTLIST: Added conf/sparc64-ieee1275.mk,
44156 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
44157 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
44158 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
44159 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
44160 util/powerpc/ieee1275/misc.c.
f19dbdb7 44161
d9864ee1 44162 * include/grub/gzio.h: New file.
44163 * io/gzio.c: Likewise.
f19dbdb7 44164
d9864ee1 44165 * kern/file.c (grub_file_close): Call grub_device_close only if
44166 FILE->DEVICE is not NULL.
44167
44168 * include/grub/mm.h [!NULL] (NULL): New macro.
44169
44170 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
44171
44172 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
44173 (pkgdata_MODULES): Added gzio.mod.
44174 (gzio_mod_SOURCES): New variable.
44175 (gzio_mod_CFLAGS): Likewise.
44176
44177 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
44178 (pkgdata_MODULES): Added gzio.mod.
44179 (gzio_mod_SOURCES): New variable.
44180 (gzio_mod_CFLAGS): Likewise.
44181
44182 * commands/cat.c: Include grub/gzio.h.
44183 (grub_cmd_cat): Use grub_gzfile_open instead of
44184 grub_file_open.
f19dbdb7 44185
d9864ee1 44186 * commands/cmp.c: Include grub/gzio.h.
44187 (grub_cmd_cmp): Use grub_gzfile_open instead of
44188 grub_file_open.
44189
44190 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
44191 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
44192 grub_file_open.
44193 (grub_rescue_cmd_module): Likewise.
44194
fa46f4b5 441952005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44196
44197 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
44198 kern/sparc64/ieee1275/init.c because it contains _start.
44199 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
44200
e9211b5d 442012005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44202
44203 * configure.ac: Add support for sparc64 host with ieee1275
44204 firmware.
44205 * configure: Generated from configure.ac.
44206 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
44207 instead of int.
44208 (grub_ofdisk_read): Likewise.
44209 (grub_ofdisk_open): Use %p to print pointer values, and cast the
44210 pointers as (void *) to remove a warning.
44211 (grub_ofdisk_close): Likewise.
44212 (grub_ofdisk_read): Likewise.
44213 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
44214 returns, so make it return void to remove a warning.
44215 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
44216 Corresponding prototype change.
44217 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
44218 values, and cast the pointers as (void *) to remove a warning.
44219 (grub_mm_dump): Likewise.
44220 * conf/sparc64-ieee1275.mk: New file.
44221 * conf/sparc64-ieee1275.rmk: Likewise.
44222 * include/grub/sparc64/setjmp.h: Likewise.
44223 * include/grub/sparc64/types.h: Likewise.
44224 * include/grub/sparc64/ieee1275/console.h: Likewise.
44225 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44226 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44227 * include/grub/sparc64/ieee1275/time.h: Likewise.
44228 * kern/sparc64/cache.c: Likewise.
44229 * kern/sparc64/dl.c: Likewise.
44230 * kern/sparc64/ieee1275/init.c: Likewise.
44231 * kern/sparc64/ieee1275/openfw.c: Likewise.
44232
385c6a92 442332005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
44234
44235 * util/console.c (grub_ncurses_putchar): If C is greater than
44236 0x7f, set C to a question mark.
44237 (grub_ncurses_getcharwidth): New function.
44238 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
44239 getcharwidth.
44240
44241 * normal/menu.c (print_entry): Made aware of Unicode. First,
44242 convert TITLE to UCS-4, and predict the cursor position by
44243 grub_getcharwidth.
44244
44245 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
44246 const to SRC.
44247 * kern/misc.c (grub_utf16_to_utf8): Likewise.
44248
16ccb8b1 442492005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44250
44251 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
44252 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44253 grub_strcat.
44254
44255 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
44256 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44257 grub_strcpy and grub_strlen. Take it into account that a space
44258 character is inserted as a delimiter.
44259
6a85ce79 442602005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44261
44262 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 44263 invalid magic in the error.
6a85ce79 44264
44265 * commands/search.c: New file.
f19dbdb7 44266
6a85ce79 44267 * util/grub-emu.c (main): Call grub_search_init and
44268 grub_search_fini.
44269
44270 * kern/rescue.c (grub_rescue_print_disks): Removed.
44271 (grub_rescue_print_devices): New function.
44272 (grub_rescue_cmd_ls): Use grub_device_iterate with
44273 grub_rescue_print_devices instead of grub_disk_dev_iterate with
44274 grub_rescue_print_disks.
44275
44276 * kern/partition.c (grub_partition_iterate): Return the result of
44277 PARTMAP->ITERATE instead of GRUB_ERRNO.
44278
44279 * kern/device.c: Include grub/partition.h.
44280 (grub_device_iterate): New function.
44281
44282 * include/grub/partition.h (grub_partition_iterate): Return int
44283 instead of grub_err_t.
44284
44285 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
44286 prototype.
44287 [GRUB_UTIL] (grub_search_fini): Likewise.
44288
44289 * include/grub/device.h (grub_device_iterate): New prototype.
44290
44291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44292 commands/search.c.
44293 (pkgdata_MODULES): Added search.mod.
44294 (search_mod_SOURCES): New variable.
44295 (search_mod_CFLAGS): Likewise.
44296
44297 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
44298 (pkgdata_MODULES): Added search.mod.
44299 (search_mod_SOURCES): New variable.
44300 (search_mod_CFLAGS): Likewise.
44301
44302 * commands/ls.c (grub_ls_list_disks): Renamed to ...
44303 (grub_ls_list_devices): ... this, and use grub_device_iterate.
44304 All callers changed.
44305
44306 * DISTLIST: Added commands/search.c.
44307
ef095434 443082005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44309
44310 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
44311 conversion.
44312 (grub_getcharwidth): New function.
44313
44314 * kern/misc.c (grub_utf8_to_ucs4): New function.
44315
44316 * include/grub/term.h (struct grub_term): Added a new member
44317 "getcharwidth".
44318 (grub_getcharwidth): New prototype.
44319
44320 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
44321
44322 * term/i386/pc/console.c (map_char): New function. Segregated from
44323 grub_console_putchar.
44324 (grub_console_putchar): Use map_char.
44325 (grub_console_getcharwidth): New function.
44326 (grub_console_term): Specified grub_console_getcharwidth as
44327 getcharwidth.
44328
44329 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
44330 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
44331
44332 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
44333 GRUB_ERRNO.
44334 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
44335 on grub_strtoul completely.
44336 (write_char): Declare local variables in the beginning of the
44337 function.
44338 (grub_vesafb_getcharwidth): New function.
44339 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
44340 getcharwidth.
44341
1f0a95e4 443422005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
44343
44344 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
44345 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
44346 commands/i386/pc/vbetest.c.
44347
44348 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
44349 call grub_vbe_get_controller_info again, because the returned
44350 information is volatile.
44351 (grub_vbe_set_video_mode): Mostly rewritten.
44352 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
44353 grub_vbe_status_t correctly.
44354 (grub_vbe_get_video_mode_info): Likewise.
44355 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
44356 several if statements.
44357
44358 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
44359 * commands/i386/pc/vbeinfo.c: ... this.
44360
44361 * commands/i386/pc/vbe_test.c: Renamed to ...
44362 * commands/i386/pc/vbetest.c: ... this.
44363
44364 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
44365 ...
44366 (grub_cmd_vbeinfo): ... this. Save video modes before
44367 iterating. Skip a video mode, if it is not available, not enough
44368 information is given or it is monochrome. Show the memory
44369 model. Leave the interpretation of MODEVAR to grub_strtoul
44370 completely.
44371 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
44372 (GRUB_MOD_FINI): Likewise.
44373
44374 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
44375 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
44376 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
44377 duplicated grub_env_get. Leave the interpretation of MODEVAR to
44378 grub_strtoul completely.
44379 (real2pm): Removed.
44380 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
44381 (GRUB_MOD_FINI): Likewise.
44382
44383 * normal/misc.c: Include grub/mm.h.
44384
44385 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
44386 vbe_list_modes with vbetest.mod and vbeinfo.mod.
44387 (vbe_list_modes_mod_SOURCES): Removed.
44388 (vbe_list_modes_mod_CFLAGS): Likewise.
44389 (vbe_test_mod_SOURCES): Likewise.
44390 (vbe_test_mod_CFLAGS): Likewise.
44391 (vbeinfo_mod_SOURCES): New variable.
44392 (vbeinfo_mod_CFLAGS): Likewise.
44393 (vbetest_mod_SOURCES): Likewise.
44394 (vbetest_mod_CFLAGS): Likewise.
44395
992ffbbe 443962005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
44397
44398 * normal/misc.c: New file.
44399
44400 * DISTLIST: Added normal/misc.c.
f19dbdb7 44401
992ffbbe 44402 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
44403 DISK to HOOK. Call HOOK with DISK.
44404 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44405 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44406 * partmap/sun.c (sun_partition_map_iterate): Likewise.
44407
44408 * normal/menu_entry.c (struct screen): Added a new member
44409 "completion_shown".
44410 (completion_buffer): New global variable.
44411 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
44412 (store_completion): New function.
44413 (complete): Likewise.
44414 (clear_completions): Likewise.
44415 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
44416 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
44417 a tab, call complete.
44418
44419 * normal/completion.c (disk_dev): Removed.
44420 (print_simple_completion): Likewise.
44421 (print_partition_completion): Likewise.
44422 (print_func): New global variable.
44423 (add_completion): Do not take the arguments WHAT or PRINT any
44424 longer. Added a new argument TYPE. Instead of printing directly,
44425 call PRINT_FUNC if not NULL.
44426 All callers changed.
44427 (complete_device): Use a local variable DEV instead of
44428 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
44429 (grub_normal_do_completion): Take a new argument HOOK. Do not
44430 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
44431 empty string, return NULL instead.
44432 All callers changed.
44433
44434 * normal/cmdline.c (print_completion): New function.
44435
44436 * kern/partition.c (grub_partition_iterate): Add an argument DISK
44437 to HOOK.
44438 All callers changed.
44439
44440 * kern/disk.c (grub_print_partinfo): Removed.
44441
44442 * include/grub/partition.h (struct grub_partition_map): Add a new
44443 argument DISK into HOOK of ITERATE.
44444 (grub_partition_iterate): Add a new argument DISK to HOOK.
44445
44446 * include/grub/normal.h (enum grub_completion_type): New enum.
44447 (grub_completion_type_t): New type.
44448 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
44449 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
44450 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
44451 (GRUB_COMPLETION_TYPE_FILE): Likewise.
44452 (grub_normal_do_completion): Added a new argument HOOK.
44453 (grub_normal_print_device_info): New prototype.
44454
44455 * include/grub/disk.h (grub_print_partinfo): Removed.
44456
44457 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
44458 (normal_mod_SOURCES): Likewise.
44459 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44460 (normal_mod_SOURCES): Likewise.
44461
44462 * commands/ls.c (grub_ls_list_disks): Use
44463 grub_normal_print_device_info instead of grub_print_partinfo. Free
44464 PNAME.
44465 (grub_ls_list_files): Use grub_normal_print_device_info instead of
44466 duplicating the code.
44467
0bd41162 444682005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44469
44470 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 44471 follow GCS more precisely.
44472 * commands/i386/pc/vbe_test.c: Likewise.
44473 * include/grub/i386/pc/vbe.h: Likewise.
44474 * term/i386/pc/vesafb.c: Likewise.
44475 * video/i386/pc/vbe.c: Likewise.
0bd41162 44476
6323696a 444772005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44478
44479 * DISTLIST: Added term/i386/pc/vesafb.c
44480 DISTLIST: Added video/i386/pc/vbe.c
44481 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
44482 DISTLIST: Added commands/i386/pc/vbe_test.c.
44483 * commands/i386/pc/vbe_list_modes.c: New file.
44484 * commands/i386/pc/vbe_test.c: Likewise.
44485 * term/i386/pc/vesafb.c: Likewise.
44486 * video/i386/pc/vbe.c: Likewise.
44487 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
44488 (grub_vbe_probe) Added prototype.
44489 (grub_vbe_set_video_mode) Likewise.
44490 (grub_vbe_get_video_mode) Likewise.
44491 (grub_vbe_get_video_mode_info) Likewise.
44492 (grub_vbe_set_pixel_rgb) Likewise.
44493 (grub_vbe_set_pixel_index) Likewise.
44494 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
44495 (pkgdata_MODULES): Added vesafb.mod.
44496 (pkgdata_MODULES): Added vbe_list_modes.mod.
44497 (pkgdata_MODULES): Added vbe_test.mod.
44498 (vbe_mod_SOURCES): Added.
44499 (vbe_mod_CFLAGS): Likewise.
44500 (vesafb_mod_SOURCES): Likewise.
44501 (vesafb_mod_CFLAGS): Likewise.
44502 (vbe_list_modes_mod_SOURCES): Likewise.
44503 (vbe_list_modes_mod_CFLAGS): Likewise.
44504 (vbe_test_mod_SOURCES): Likewise.
44505 (vbe_test_mod_CFLAGS): Likewise.
44506
0a74e62f 445072005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
44508
0a74e62f 44509 * normal/command.c (grub_command_execute): If INTERACTIVE is
44510 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
44511 CMDLINE. Disable the pager if INTERACTIVE is true.
44512 All callers are changed.
44513
44514 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
44515 before reading a config file.
44516 * normal/main.c (read_config_file): Even if a command is not
44517 found, register it if it is within an entry.
44518
44519 * util/grub-emu.c: Include sys/types.h and unistd.h.
44520 (options): Added --hold.
44521 (struct arguments): Added a new member "hold".
44522 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
44523 missing.
44524 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
44525 cleared by a debugger, if it is not zero.
44526
44527 * include/grub/normal.h (grub_command_execute): Add an argument
44528 INTERACTIVE.
44529
e51f85ae 445302005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
44531
44532 * DISTLIST: Added include/grub/i386/pc/vbe.h.
44533
e9c6f39b 445342005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
44535
44536 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
44537 program with another one, because the old one didn't detect a bug
44538 in gcc-3.4. Always use regparm 2, because the new test is still
44539 not enough for gcc-4.0. Someone must investigate a simple test
44540 case which detects a bug in gcc-4.0.
44541
8de3495c 445422005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
44543
44544 * DISTLIST: Added normal/completion.c.
44545
44546 * normal/completion.c: New file.
f19dbdb7 44547
8de3495c 44548 * term/i386/pc/console.c (grub_console_getwh): New function.
44549 (grub_console_term): Assign grub_console_getwh to getwh.
44550
44551 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
44552 function is defined in normal/completion.c as
44553 grub_normal_do_completion.
44554 (grub_cmdline_get): Use grub_normal_do_completion instead of
44555 grub_tab_complete.
44556
44557 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
44558 returns non-zero, otherwise return 0.
44559 (grub_partition_iterate): First, probe the partition map. Then,
44560 call ITERATE only for this partition map.
44561
44562 * kern/misc.c (grub_strncmp): Rewritten.
44563
44564 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
44565 returns non-zero. Otherwise return 0.
44566
44567 * include/grub/partition.h (grub_partition_map_iterate): Return
44568 int instead of void.
44569
44570 * include/grub/normal.h (grub_normal_do_completion): New prototype.
44571
44572 * include/grub/misc.h (grub_strncmp): Change the type of N to
44573 grub_size_t.
44574
44575 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
44576 of void.
44577
44578 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 44579 unsigned explicitly before comparing it with I.
8de3495c 44580
44581 * kern/main.c (grub_env_write_root): Add the attribute unused into
44582 VAR.
44583
44584 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44585 normal/completion.c.
44586 (normal_mod_SOURCES): Likewise.
44587 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44588 (normal_mod_SOURCES): Likewise.
44589
44590 * normal/command.c (grub_iterate_commands): If ITERATE returns
44591 non-zero, return one immediately.
44592
e85e144b 445932005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
44594
44595 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
44596 * kern/i386/pc/startup.S: Updated Global Descriptor table's
44597 descriptions.
44598 (grub_vbe_get_controller_info): New function.
44599 (grub_vbe_get_mode_info): Likewise.
44600 (grub_vbe_set_mode): Likewise.
44601 (grub_vbe_get_mode): Likewise.
44602 (grub_vbe_set_memory_window): Likewise.
44603 (grub_vbe_get_memory_window): Likewise.
44604 (grub_vbe_set_scanline_length): Likewise.
44605 (grub_vbe_get_scanline_length): Likewise.
44606 (grub_vbe_set_display_start): Likewise.
44607 (grub_vbe_get_display_start): Likewise.
44608 (grub_vbe_set_palette_data): Likewise.
44609 * include/grub/i386/pc/vbe.h: New file.
44610
c46153d2 446112005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44612
44613 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44614 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
44615 * DISTLIST: Likewise.
44616 * kern/ieee1275/of.c: Moved to ...
44617 * kern/ieee1275/ieee1275.c: ... here.
44618
0cb90c45 446192005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44620
44621 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
44622 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
44623 Pass 0 as `end' parameter to grub_strtoul().
44624
a19fb360 446252005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44626
44627 * include/grub/powerpc/ieee1275/console.h: Do not include
44628 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
44629 ifdef.
44630 (grub_console_cur_color): Remove i386-specific prototype.
44631 (grub_console_real_putchar): Likewise.
44632 (grub_console_checkkey): Likewise.
44633 (grub_console_getkey): Likewise.
44634 (grub_console_getxy): Likewise.
44635 (grub_console_gotoxy): Likewise.
44636 (grub_console_cls): Likewise.
44637 (grub_console_setcursor): Likewise.
44638 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
44639 Include <grub/machine/console.h>.
44640 * term/ieee1275/ofconsole.c: Likewise.
44641
4ac9bd04 446422005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
44643
44644 * Makefile.in (LIBLZO): New variable.
44645
44646 * configure.ac: Check for LZO version 2.
44647
44648 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
44649 lzo/lzo1x.h instead of lzo1x.h.
44650
44651 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
44652 of -llzo.
44653
44654 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
44655 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
44656
44657 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
44658 copying the data from PARTITION to P.
44659
f4917dfd 446602005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44661
44662 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
44663 negative, unload the module.
44664
44665 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
44666 map is "pc_partition_map" but not "pc".
44667 (usage): Fix the description. The options are --boot-image and
44668 --core-image but not --boot-file or --core-file.
44669 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
44670 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
44671 DEFAULT_DIRECTORY.
44672
44673 * util/i386/pc/grub-install.in: Do not specify --boot-file or
44674 --core-file. Specify INSTALL_DEVICE as an argument.
44675
44676 * util/console.c: Include config.h.
44677 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
44678 [HAVE_NCURSES_H]: Include ncurses.h.
44679 [HAVE_CURSES_H]: Include curses.h.
44680 [!A_NORMAL] (A_NORMAL): Defined as zero.
44681 [!A_STANDOUT] (A_STANDOUT): Likewise.
44682
44683 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
44684 -lncurses.
44685 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
44686
44687 * configure.ac: Check for curses libraries and headers.
44688
44689 * Makefile.in (LIBCURSES): New variable.
44690
44691 * genmk.rb (Script::rule): Set the executable bits.
44692
44693 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
44694 name of the PC partition map is "pc_partition_map" but not "pc".
44695
0e143073 446962005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44697
44698 * util/i386/pc/grub-install.in (grub_probefs): New variable.
44699 (modules): Likewise.
44700 (usage): Added descriptions for --modules and --grub-probefs.
44701 Handle --modules and --grub-probefs. Save the arguments in MODULES
44702 and GRUB_PROBEFS, respectively.
44703 Auto-detect a filesystem module against GRUBDIR. If the result is
44704 empty and modules are not specified explicitly, abort the
44705 installation. Add the result to MODULES.
44706
44707 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
44708 disk/powerpc/ieee1275/ofdisk.c,
44709 include/grub/powerpc/ieee1275/init.h and
44710 term/powerpc/ieee1275/ofconsole.c.
44711 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
44712 term/ieee1275/ofconsole.c.
44713
44714 * include/grub/powerpc/ieee1275/console.h: Resurrected.
44715
44716 * COPYING: Upgraded to the latest version. Only the address of the
44717 FSF office has changed.
f19dbdb7 44718
efd6e6d5 447192005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44720
44721 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44722 kern/ieee1275.c with kern/ieee1275/of.c.
44723
44724 * kern/ieee1275.c: Moved to ...
44725 * kern/ieee1275/of.c: ... here.
44726
8ceafda2 447272005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
44728
44729 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 44730 readability.
8ceafda2 44731
44732 * config.guess: Updated to the latest version from gnulib.
44733 * config.sub: Likewise.
44734 * install.sh: Likewise.
44735 * mkinstalldirs: Likewise.
44736
44737 * include/grub/console.h: Removed. This file is arch-specific. Do
44738 not put this in include/grub.
44739
44740 * include/grub/i386/pc/console.h: Resurrected.
44741
44742 * util/console.c: Include grub/machine/console.h instead of
44743 grub/console.h.
44744 * util/grub-emu.c: Likewise.
44745
267f6cd9 447462005-08-04 Marco Gerards <metgerards@student.han.nl>
44747
44748 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
44749 hardcoded value.
f19dbdb7 44750
267f6cd9 44751 From Vincent Pelletier <subdino2004@yahoo.fr>
44752 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
44753 Redefined to use grub_getwh.
44754 (grub_term): New member named getwh.
44755 (grub_getwh): New prototype.
44756 * kern/term.c (grub_getwh): New function.
44757 * term/i386/pc/console.c (grub_console_getwh): New function.
44758 (grub_console_term): New member `getwh'.
44759 * term/i386/pc/vga.c (grub_vga_getwh): New function.
44760 (grub_vga_term): New member `getwh'.
0b5abe02 44761 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 44762 grub_ssize_t.
44763 (grub_ofconsole_getw): New function.
44764 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
44765 (grub_ofconsole_term): New field named getwh and new initial
44766 value.
44767
3be7266d 447682005-08-03 Hollis Blanchard <hollis@penguinppc.org>
44769
44770 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
44771 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
44772 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
44773 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
44774 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
44775 of <grub/machine/ieee1275.h>.
44776 * commands/ieee1275/reboot.c: Likewise.
44777 * boot/powerpc/ieee1275/ieee1275.c: Move ...
44778 * kern/ieee1275.c: ... to here. All users updated. Change all
44779 parameter structs to use new type `grub_ieee1275_cell_t'.
44780 * term/powerpc/ieee1275/ofconsole.c: Move ...
44781 * term/ieee1275/ofconsole.c: ... to here. All users updated.
44782 * disk/powerpc/ieee1275/ofdisk.c: Move ...
44783 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
44784 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
44785 to return int.
44786 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
44787 Remove unused prototypes. All users updated.
44788 * include/grub/powerpc/ieee1275/console.h: Removed.
44789 * include/grub/powerpc/ieee1275/ieee1275.h: Define
44790 `grub_ieee1275_cell_t'.
44791 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
44792 Cast comparisons with -1 to the correct type.
44793 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
44794 type to match `grub_ieee1275_entry_fn'.
44795
8b5f3938 447962005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
44797
44798 * DISTLIST: Added util/i386/pc/grub-probefs.c.
44799
44800 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
44801 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
44802 partmap/sun.c.
44803 (grub_probefs_SOURCES): New variable.
44804
44805 * util/i386/pc/grub-probefs.c: New file.
44806
44807 * util/i386/pc/grub-setup.c (main): Call
44808 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
44809 grub_hfs_init and grub_jfs_init to initialize the system. Call
44810 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
44811 grub_pc_partition_map_fini to finish the system.
44812
ea409713 448132005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
44814
44815 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
44816 function.
44817 (grub_multiboot_load_elf32): Likewise.
44818 (grub_multiboot_is_elf64): Likewise.
44819 (grub_multiboot_load_elf64): Likewise.
44820 (grub_multiboot_load_elf): Likewise.
44821 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
44822 an ELF32 or ELF64 file.
44823 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
44824
44825 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
44826 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
44827 NULL before calling FS->LABEL.
44828 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
44829 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
44830 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
44831 before calling FS->LABEL.
44832
141a288b 448332005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
44834
44835 * util/i386/pc/grub-install.in (datadir): New variable.
44836 (libdir): Removed.
44837 (pkgdatadir): New variable.
44838 (pkglibdir): Removed.
44839
0d5f8a54 448402005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
44841
44842 * DISTLIST: Added util/i386/pc/grub-install.in.
44843
44844 * util/i386/pc/grub-install.in: New file.
44845
44846 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
44847 (grub_install_SOURCES): Likewise.
44848
44849 * genmk.rb: Added support for scripts.
44850 (Script): New class.
44851 (scripts): New variable.
44852
44853 * Makefile.in (install-local): Install sbin_SCRIPTS by
44854 INSTALL_SCRIPT.
44855 (uninstall): Remove sbin_SCRIPTS.
44856
44857 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44858 device, try to get a GRUB device by
44859 grub_util_biosdisk_get_grub_dev.
44860 Free DEST_DEV.
44861
44862 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44863 description for --device-map.
44864
5f968e1e 448652005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44866
44867 Change the semantics of variable hooks. They now return strings
44868 instead of error values.
f19dbdb7 44869
5f968e1e 44870 * util/i386/pc/grub-setup.c: Include grub/env.h.
44871 (setup): Use grub_device_set_root instead of grub_env_set.
44872
44873 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44874 grub_env_get instead of grub_device_set_root and
44875 grub_device_get_root, respectively.
44876
44877 * kern/main.c (grub_env_write_root): New function.
44878 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44879 grub_env_set instead of grub_device_set_root.
44880
44881 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44882 many variables.
44883 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44884 rather than calling ENV->WRITE_HOOK afterwards.
44885 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44886 passing a pointer of a pointer.
44887 (grub_register_variable_hook): Change the types of "read_hook" and
44888 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44889 respectively.
44890 Allocate the default empty string on the heap, because this string
44891 may be freed later.
44892
44893 * kern/device.c: Include grub/env.h.
44894 (grub_device_set_root): Removed.
44895 (grub_device_get_root): Likewise.
44896 (grub_device_open): Use grub_env_get instead of
44897 grub_device_get_root.
44898
44899 * include/grub/env.h (grub_env_read_hook_t): New type.
44900 (grub_env_write_hook_t): Likewise.
44901 (grub_env_var): Change the types of "read_hook" and "write_hook"
44902 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44903 (grub_register_variable_hook): Likewise.
44904
44905 * include/grub/device.h (grub_device_set_root): Removed.
44906 (grub_device_set_root): Likewise.
44907
44908 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44909 make sure that DIRNAME terminates with '/', so that
44910 grub_fat_find_dir will fail if PATH is not a directory.
44911
44912 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44913 from DIRNAME.
44914 Use the qualifier auto for print_files and print_files_long.
44915 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44916 as a regular file.
44917 Put a newline only if there is no error.
44918 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44919 used.
44920
896f0afd 449212005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44922
44923 * kern/partition.c (grub_partition_probe): Initialize PART to
44924 NULL. Otherwise, when no partition map is registered, this returns
44925 a garbage.
44926
b28b81b2 449272005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44928
44929 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44930 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44931 valid.
44932
5f3607e0 449332005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44934
44935 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44936 information on each device, if it does not have partitions. Print
44937 "Device" instead of "Disk", because this function is not specific
44938 to disk devices.
44939
44940 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44941 static to ensure that it is put on the memory rather than a
44942 register.
44943
502c87e8 449442005-07-17 Yoshinori Okuji <okuji@enbug.org>
44945
44946 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44947 (grub_cat_init): Likewise.
44948 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44949 (options): Likewise.
44950 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44951 (grub_configfile_init): Likewise.
44952 * font/manager.c (GRUB_MOD_INIT): Likewise.
44953 * commands/help.c (GRUB_MOD_INIT): Likewise.
44954 (grub_help_init): Likewise.
44955 * normal/command.c (grub_command_init): Likewise.
44956 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44957 * disk/loopback.c (grub_loop_init): Likewise.
44958 (GRUB_MOD_INIT): Likewise.
44959 * commands/ls.c (grub_ls_init): Likewise.
44960 (GRUB_MOD_INIT): Likewise.
44961 (options): Likewise.
44962 * commands/boot.c (grub_boot_init): Likewise.
44963 (GRUB_MOD_INIT): Likewise.
44964 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44965 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44966 (GRUB_MOD_INIT): Likewise.
44967 * commands/cmp.c (grub_cmp_init): Likewise.
44968 (GRUB_MOD_INIT): Likewise.
44969
44970 * normal/arg.c: Use <> instead of "" to include header files.
44971 (SHORT_ARG_HELP): New macro.
44972 (SHORT_ARG_USAGE): Likewise.
44973 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44974 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44975 descriptions.
44976 (find_short): Check if C is 'h' or 'u' explicitly.
44977 (grub_arg_show_help): Use space characters instead of tabs. Treat
44978 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44979 are shown with --help and --usage only if they are not used for
44980 the command itself.
44981 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44982 'h' and 'u'.
44983
44984 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44985 const into "longarg". Change the type of "shortarg" to int.
44986
f806d18e 449872005-07-17 Yoshinori Okuji <okuji@enbug.org>
44988
44989 * boot/i386/pc/boot.S (boot_drive_check): New label.
44990
44991 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44992 macro.
44993
44994 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44995 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44996
e293232b 449972005-07-17 Yoshinori Okuji <okuji@enbug.org>
44998
44999 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
45000 When turning off Gate A20, skip the check and return immediately,
45001 because this is not fatal usually.
45002
ebedfd00 450032005-07-17 Yoshinori Okuji <okuji@enbug.org>
45004
45005 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
45006 be 0x7C00 instead of 0x8000.
45007
45008 * boot/i386/pc/pxeboot.S: Rewritten.
45009
45010 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
45011 EXT_C.
45012 (gate_a20_check_state): Read a byte from 0x108000. Invert the
45013 result.
45014
654fc59f 450152005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
45016
45017 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
45018 robustness. This routine now supports a BIOS call and System
45019 Control Port A to modify the gate A20.
45020
45021 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
45022 Increased to 0x440.
45023
09f9923f 450242005-07-12 Hollis Blanchard <hollis@penguinppc.org>
45025
45026 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
45027 device path and resulting ihandle.
45028 (grub_ofdisk_close): dprintf the ihandle being closed.
45029 (grub_ofdisk_read): dprintf function parameters.
45030 * kern/mm.c (grub_mm_init_region): Likewise.
45031 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
45032 (grub_linux_boot): dprintf the Linux entry point, initrd address and
45033 size, and boot arguments.
45034 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
45035 before loading into memory.
45036 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
45037 before loading into memory.
45038
7ef504d8 450392005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
45040
45041 * kern/mm.c: Added much documentation.
45042 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
45043 8, set to 5 instead of 8.
45044
e0f050c2 450452005-07-10 Yoshinori Okuji <okuji@enbug.org>
45046
45047 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
45048
45049 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
45050 (grub_mkdevicemap_SOURCES): New variable.
45051
45052 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
45053 lib/device.c of GRUB Legacy.
45054
7224189a 450552005-07-10 Yoshinori Okuji <okuji@enbug.org>
45056
45057 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
45058 instead of PATH is NULL.
45059
68c864eb 450602005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
45061
45062 * commands/cmp.c (BUFFER_SIZE): New macro.
45063 (grub_cmd_cmp): Close the right file at the right time. Compare
45064 only data just read. Don't report files of different size as
45065 identical. Dynamically allocate buffers. Move variable
45066 declarations at the beginning of function.
45067
e6f3e614 450682005-07-09 Yoshinori Okuji <okuji@enbug.org>
45069
45070 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
45071 reverse.
45072
f8f1559a 450732004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
45074
45075 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
45076 when backspace is pressed at beginning of line.
45077
39c9d41d 450782005-07-03 Yoshinori Okuji <okuji@enbug.org>
45079
45080 * DISTLIST: Added genfslist.sh.
45081
45082 * normal/main.c (fs_module_list): New variable.
45083 (autoload_fs_module): New function.
45084 (read_fs_list): Likewise.
45085 (grub_normal_execute): Call read_fs_list.
45086
45087 * kern/fs.c (grub_fs_autoload_hook): New variable.
45088 (grub_fs_probe): Added support for auto-loading.
45089
45090 * include/grub/normal.h (struct grub_fs_module_list): New struct.
45091 (grub_fs_module_list_t): New type.
45092
45093 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
45094 (grub_fs_autoload_hook): New prototype.
45095
45096 * genfslist.sh: New file.
f19dbdb7 45097
39c9d41d 45098 * genmk.rb: Added a rule to generate a filesystem list.
45099
121c1d83 451002005-06-30 Marco Gerards <metgerards@student.han.nl>
45101
45102 * configure.ac: Fix the test for cross-compiling.
45103
45104 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
45105 define GRUB_UTIL anymore.
45106
45107 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
45108 so this function works on other systems than just big endian.
45109 (load_modules): Likewise.
45110 (add_segments): Likewise.
45111
e75d76e1 451122005-06-23 Hollis Blanchard <hollis@penguinppc.org>
45113
45114 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
45115 contains `l' modifier, get a long from va_arg().
45116
50b5a0a7 451172005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
45118
45119 * kern/mm.c (grub_free): If the next free block which is being
45120 merged is the first free block, set the first block to the block
45121 being freed.
45122 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
45123
89371b20 451242005-05-08 Hollis Blanchard <hollis@penguinppc.org>
45125
45126 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
45127 `grub_ieee1275_chosen'.
45128
168d6e58 451292005-05-08 Hollis Blanchard <hollis@penguinppc.org>
45130
45131 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
45132 (grub_ieee1275_chosen): New variable.
45133 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
45134 `chosen'.
45135 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
45136 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45137 Rename first argument to `phandle' for consistency.
45138 (grub_ieee1275_get_property_length): Likewise.
45139 (grub_ieee1275_next_property): Likewise. Change type of first argument
45140 to grub_ieee1275_phandle_t.
45141 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
45142 Move export next to declaration.
45143 (grub_ieee1275_chosen): New variable.
45144 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
45145 Correct cosmetic typo.
45146 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
45147 `grub_ieee1275_chosen'.
45148 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
45149 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
45150 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
45151 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
45152 `grub_ieee1275_chosen'.
45153
ca5baa3f 451542005-05-10 Hollis Blanchard <hollis@penguinppc.org>
45155
45156 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
45157 /chosen/bootargs.
45158 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
45159 /chosen/bootargs as "variable=value" pairs.
45160
708b345f 451612005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
45162
45163 * include/grub/misc.h (grub_dprintf): New macro.
45164 (grub_real_dprintf): New prototype.
45165 (grub_strword): Likewise.
45166 (grub_iswordseparator): Likewise.
45167 * kern/misc.c (grub_real_dprintf): New function.
45168 (grub_strword): Likewise.
45169 (grub_iswordseparator): Likewise.
45170
f4c5e67c 451712005-04-30 Hollis Blanchard <hollis@penguinppc.org>
45172
45173 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
45174 (roundup): Remove macro.
45175 (grub_ieee1275_flags): Make static.
45176 (grub_ieee1275_realmode): Remove.
45177 (grub_ieee1275_test_flag): New function.
45178 (grub_ieee1275_set_flag): Likewise.
45179 (find_options): Rename to `grub_ieee1275_find_options'; update
45180 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
45181 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
45182 (cmain): New prototype.
45183 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
45184 `grub_ieee1275_flags' directly.
45185 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
45186 machine/biosdisk.h.
45187 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
45188 Don't include grub/machine/init.h.
45189 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
45190 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45191 Remove prototype.
45192 (grub_ieee1275_realmode): Likewise.
45193 (grub_ieee1275_flag): New enum.
45194 (grub_ieee1275_test_flag): New prototype.
45195 (grub_ieee1275_set_flag): New prototype.
45196 * include/grub/powerpc/ieee1275/init.h: Remove file.
45197 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
45198 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
45199 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
45200 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
45201 comment.
45202 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
45203 `grub_ieee1275_test_flag'.
45204 (grub_ieee1275_encode_devname): Likewise.
45205
ed16607e 452062005-04-21 Hollis Blanchard <hollis@penguinppc.org>
45207
45208 * include/grub/powerpc/ieee1275/ieee1275.h
45209 (grub_ieee1275_encode_devname): New prototype.
45210 (grub_ieee1275_get_filename): Likewise.
45211 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
45212 function.
45213 (grub_set_prefix): Likewise.
45214 (grub_machine_init): Call grub_set_prefix.
45215 * kern/powerpc/ieee1275/openfw.c: Fix typos.
45216 (grub_parse_type): New enum.
45217 (grub_ieee1275_get_devargs): New function.
45218 (grub_ieee1275_get_devname): Likewise.
45219 (grub_ieee1275_parse_args): Likewise.
45220 (grub_ieee1275_get_filename): Likewise.
45221 (grub_ieee1275_encode_devname): Likewise.
45222
be369920 452232005-03-30 Marco Gerards <metgerards@student.han.nl>
45224
45225 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
45226 `grub_loader_unset'.
45227
a5ce3a4a 452282005-03-26 Hollis Blanchard <hollis@penguinppc.org>
45229
45230 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
45231 instead of grub_ieee1275_interpret.
45232 (grub_halt_init): New function.
45233 (grub_halt_fini): Likewise.
45234 (GRUB_MOD_INIT): Correct message grammar.
45235 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
45236 instead of grub_ieee1275_interpret.
45237 (grub_reboot_init): New function.
45238 (grub_reboot_fini): Likewise.
45239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
45240 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
45241 util/i386/pc/misc.c with commands/ieee1275/halt.c,
45242 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
45243 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
45244 function.
45245 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
45246 Add prototype.
45247 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
45248 prototype.
45249 (grub_halt): Likewise.
45250 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
45251 (cmain): Remove __attribute__((unused)).
45252 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
45253 (grub_heap_len): Likewise.
45254 (grub_machine_fini): New function.
45255 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
45256 (grub_halt): Likewise.
45257 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
45258 function.
45259 * util/powerpc/ieee1275/misc.c: New file.
45260
0058f771 452612005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
45262
45263 * DISTLIST: New file.
45264 * gendistlist.sh: Likewise.
f19dbdb7 45265
0058f771 45266 * Makefile.in (COMMON_DISTFILES): Removed.
45267 (BOOT_DISTFILES): Likewise.
45268 (CONF_DISTFILES): Likewise.
45269 (DISK_DISTFILES): Likewise.
45270 (FS_DISTFILES): Likewise.
45271 (INCLUDE_DISTFILES): Likewise.
45272 (KERN_DISTFILES): Likewise.
45273 (LOADER_DISTFILES): Likewise.
45274 (TERM_DISTFILES): Likewise.
45275 (UTIL_DISTFILES): Likewise.
45276 (DISTFILES): Likewise.
45277 (uninstall): Uninstall files in $(pkgdata_DATA).
45278 (DISTLIST): New target.
45279 (distdir): Use the contents of the file DISTLIST to get a list of
45280 distributed files.
45281
46b3b8a5 452822005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
45283
45284 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
45285 descriptor. This is ported from GRUB Legacy.
45286
45287 * gencmdlist.sh: Added an extra semicolon to make it work with
45288 old sed versions. Reported by Robert Bihlmeyer
45289 <robbe@orcus.priv.at>.
45290
5822ff87 452912005-03-08 Yoshinori Okuji <okuji@enbug.org>
45292
45293 Automatic loading of commands is supported.
f19dbdb7 45294
5822ff87 45295 * normal/main.c (read_command_list): New function.
45296 (grub_normal_execute): Call read_command_list.
45297
45298 * normal/command.c (grub_register_command): Return zero or CMD.
45299 Allocate CMD->NAME from the heap.
45300 Initialize CMD->MODULE_NAME to zero.
45301 Find the same name as well. If the same command is found and it is
45302 a dummy command, overwrite members. If it is not a dummy command,
45303 return zero.
45304 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
45305 (grub_command_find): If a dummy command is found, load a module
45306 and retry to find a command only once.
45307
45308 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
45309 make sure that each command is loaded.
45310
45311 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
45312 macro.
45313 (struct grub_command): Remove const from the member `name'.
45314 Add a new member `module_name'.
45315 (grub_register_command): Return grub_command_t.
45316
45317 * commands/help.c (grub_cmd_help): Call grub_command_find to make
45318 sure that each command is loaded.
45319
45320 * genmk.rb (PModule::rule): Specify a module name without the
45321 suffix ".mod" to gencmdlist.sh.
45322
7b1f4b57 453232005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45324
45325 * gencmdlist.sh: New file.
f19dbdb7 45326
7b1f4b57 45327 * genmk.rb (PModule::rule): Generate a rule for a command list.
45328 Clean command.lst.
45329 Generate command.lst from $(COMMANDFILES).
45330
45331 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
45332 (DATA): Added $(pkgdata_DATA).
45333 (install-local): Install files in $(pkgdata_DATA).
45334
062aaf39 453352005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45336
45337 * term/i386/pc/vga.c (debug_command): Removed.
45338 (GRUB_MOD_INIT): Do not register the command "debug".
45339
45340 From Hollis Blanchard:
45341 * commands/configfile.c: New file.
45342 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45343 commands/configfile.c.
45344 (pkgdata_MODULES): Added configfile.mod.
45345 (configfile_mod_SOURCES): New variable.
45346 (configfile_mod_CFLAGS): Likewise.
45347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45348 commands/configfile.c.
45349 (pkgdata_MODULES): Added configfile.mod.
45350 (configfile_mod_SOURCES): New variable.
45351 (configfile_mod_CFLAGS): Likewise.
45352 * util/grub-emu.c (main): Call grub_configfile_init and
45353 grub_configfile_fini.
45354 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
45355 prototype.
45356 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 45357
cee01aa6 453582005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45359
45360 * normal/arg.c (grub_arg_show_help): Do not show the bug report
45361 address.
45362
45363 * commands/help.c (grub_cmd_help): Do not print newlines after
45364 the last command in print_command_help.
45365
93f3a1d8 453662005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45367
45368 * commands/default.h: New file.
45369 * commands/timeout.h: Likewise.
45370 * normal/context.c: Likewise.
f19dbdb7 45371
93f3a1d8 45372 * util/misc.c: Do not include sys/times.h.
45373 Include sys/time.h and grub/machine/time.h.
45374 (grub_get_rtc): Rewritten with gettimeofday.
45375
45376 * util/grub-emu.c (main): Call grub_default_init and
45377 grub_timeout_init before grub_normal_init, and call
45378 grub_timeout_fini and grub_default_fini after grub_main.
45379
45380 * util/console.c (grub_ncurses_checkkey): Return the read
45381 character or -1.
45382
45383 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
45384 timeouts.
45385
45386 * normal/main.c (read_config_file): Push MENU. If this fails,
45387 print an error and wait for a user input.
45388 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
45389 If a menu is empty or an error occurs, pop MENU.
45390 (grub_normal_execute): Pop and free MENU after grub_menu_run
45391 returns.
45392
45393 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
45394
45395 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
45396 include time.h.
45397 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45398 without GRUB_UTIL.
45399 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
45400 time.h.
45401 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45402 without GRUB_UTIL.
45403
45404 * include/grub/normal.h (struct grub_menu_list): New struct.
45405 (grub_menu_list_t): New type.
45406 (struct grub_context): New struct.
45407 (grub_context_t): New type.
45408 (grub_register_command): Got rid of EXPORT_FUNC.
45409 (grub_unregister_command): Likewise.
45410 (grub_context_get): New prototype.
45411 (grub_context_get_current_menu): Likewise.
45412 (grub_context_push_menu): Likewise.
45413 (grub_context_pop_menu): Likewise.
45414 [GRUB_UTIL] (grub_default_init): Likewise.
45415 [GRUB_UTIL] (grub_default_fini): Likewise.
45416 [GRUB_UTIL] (grub_timeout_init): Likewise.
45417 [GRUB_UTIL] (grub_timeout_fini): Likewise.
45418
45419 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
45420 commands/timeout.c and normal/context.c.
45421 (pkgdata_MODULES): Added default.mod and timeout.mod.
45422 (normal_mod_SOURCES): Added normal/context.c.
45423 (default_mod_SOURCES): New variable.
45424 (default_mod_CFLAGS): Likewise.
45425 (timeout_mod_SOURCES): Likewise.
45426 (timeout_mod_CFLAGS): Likewise.
45427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
45428 conf/i386-pc.rmk.
45429 (pkgdata_MODULES): Added default.mod and timeout.mod.
45430 (normal_mod_SOURCES): Added normal/context.c.
45431 (default_mod_SOURCES): New variable.
45432 (default_mod_CFLAGS): Likewise.
45433 (timeout_mod_SOURCES): Likewise.
45434 (timeout_mod_CFLAGS): Likewise.
45435
45436 * Makefile.in (all-local): Added $(MKFILES).
45437
4ed2e1dd 454382005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
45439
45440 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
45441 (grub_emu_SOURCES): Likewise.
45442 (pkgdata_MODULES): Add `sun.mod'.
45443 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45444 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45445 `partmap/sun.c'.
45446 (pkgdata_MODULES): Add `sun.mod'.
45447 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45448 * include/grub/partition.h (grub_sun_partition_map_init): New
45449 prototype.
45450 (grub_sun_partition_map_fini): Likewise.
45451 * partmap/sun.c: New file.
45452 * util/grub-emu.c (main): Initialize and de-initialize the sun
45453 partitionmap support.
45454
4d4e372e 454552005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
45456
45457 This implements an Emacs-like menu entry editor.
f19dbdb7 45458
4d4e372e 45459 * normal/menu_entry.c: New file.
f19dbdb7 45460
4d4e372e 45461 * util/console.c (grub_ncurses_putchar): Translate some Unicode
45462 characters to ASCII.
45463 (saved_char): New variable.
45464 (grub_ncurses_checkkey): Rewritten completely.
45465 (grub_ncurses_getkey): Likewise.
45466 (grub_ncurses_init): Call raw instead of cbreak.
45467
45468 * normal/menu.c (print_entry): Do not put a space.
45469 (init_page): Renamed to ...
45470 (grub_menu_init_page): ... this. All callers changed.
45471 (edit_menu_entry): Removed.
45472 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
45473
45474 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
45475
45476 * kern/misc.c (grub_vprintf): Call grub_refresh.
45477
45478 * normal/menu.c (DISP_LEFT): Renamed to ...
45479 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
45480 * normal/menu.c (DISP_UP): Renamed to ...
45481 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
45482 * normal/menu.c (DISP_RIGHT): Renamed to ...
45483 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
45484 * normal/menu.c (DISP_DOWN): Renamed to ...
45485 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
45486 * normal/menu.c (DISP_HLINE): Renamed to ...
45487 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
45488 * normal/menu.c (DISP_VLINE): Renamed to ...
45489 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
45490 * normal/menu.c (DISP_UL): Renamed to ...
45491 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
45492 * normal/menu.c (DISP_UR): Renamed to ...
45493 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
45494 * normal/menu.c (DISP_LL): Renamed to ...
45495 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
45496 * normal/menu.c (DISP_LR): Renamed to ...
45497 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
45498 * normal/menu.c (TERM_WIDTH): Renamed to ...
45499 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
45500 * normal/menu.c (TERM_HEIGHT): Renamed to ...
45501 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
45502 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
45503 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
45504 * normal/menu.c (TERM_MARGIN): Renamed to ...
45505 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
45506 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
45507 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
45508 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
45509 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
45510 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
45511 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
45512 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
45513 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
45514 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
45515 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
45516 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
45517 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
45518 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
45519 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
45520 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
45521 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
45522 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
45523 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
45524 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
45525 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
45526 All callers changed.
45527
45528 * include/grub/normal.h: New prototype.
45529
45530 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45531 normal/menu_entry.c.
45532 (normal_mod_SOURCES): Likewise.
45533 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45534 (normal_mod_SOURCES): Likewise.
45535
e6b92c8a 455362005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
45537
45538 * include/grub/normal.h (grub_halt_init): New prototype.
45539 (grub_halt_fini): Likewise.
45540 (grub_reboot_init): Likewise.
45541 (grub_reboot_fini): Likewise.
45542
45543 * util/grub-emu.c: Include signal.h.
45544 (main_env): New global variable.
45545 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
45546 catch C-c.
45547 (grub_machine_fini): New function.
45548 (main): Call grub_halt_init and grub_reboot_init before
45549 grub_main, and grub_reboot_fini and grub_halt_fini after it.
45550 Call setjmp with MAIN_ENV to go back afterwards.
45551 Call grub_machine_fini right before return.
45552
45553 * include/grub/util/misc.h: Include setjmp.h.
45554 (main_env): New prototype.
45555
45556 * include/grub/kernel.h (grub_machine_fini): New prototype.
45557 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
45558 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
45559
45560 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
45561 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
45562 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 45563
e6b92c8a 45564 * util/i386/pc/misc.c: New file.
f19dbdb7 45565
e6b92c8a 45566 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45567 util/i386/pc/misc.c, commands/i386/pc/halt.c and
45568 commands/i386/pc/reboot.c.
45569
c642636f 455702005-02-14 Guillem Jover <guillem@hadrons.org>
45571
45572 * include/grub/dl.h (grub_dl_check_header): New prototype.
45573 (grub_arch_dl_check_header): Change return type to grub_err_t,
45574 remove size parameter and export function. Update all callers.
45575 * kern/dl.c (grub_dl_check_header): New function.
45576 (grub_dl_load_core): Use `grub_dl_check_header' instead of
45577 `grub_arch_dl_check_header'. Check ELF type. Check if sections
45578 are inside the core.
45579 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
45580 independent ELF header checks.
45581 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45582 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
45583 `grub_dl_check_header' instead of explicit checks. Check for the
45584 ELF type.
45585 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
45586 `grub_dl_check_header' instead of explicit checks. Remove arch
45587 specific ELF header checks.
45588
e6b92c8a 45589 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
45590 argument SIZE.
45591
5eabe94b 455922005-02-13 Hollis Blanchard <hollis@penguinppc.org>
45593
45594 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
45595 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
45596
1b14a681 455972005-02-12 Hollis Blanchard <hollis@penguinppc.org>
45598
45599 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 45600 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 45601 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 45602 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 45603 * partmap/amiga.c (amiga_partition_map_iterate): Return
45604 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
45605 * partmap/apple.c (apple_partition_map_iterate): Likewise.
45606
aca108aa 456072005-02-01 Guillem Jover <guillem@hadrons.org>
45608
45609 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
45610 help info.
45611
c9f9c556 456122005-01-31 Marco Gerards <metgerards@student.han.nl>
45613
45614 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
45615 Removed prototype.
45616 (grub_rescue_cmd_linux): New prototype.
45617 (grub_rescue_cmd_initrd): Likewise.
45618 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
45619 `bi_rec'.
45620 (grub_linux_release_mem): Release the memory for the initrd.
45621 (grub_load_linux): Renamed from this...
45622 (grub_rescue_cmd_linux): ...To this. Changed all callers.
45623 Changed `entry' not to be static. Loop over memory regions to
45624 find another one when the default fails.
45625 (grub_rescue_cmd_initrd): New function.
45626 (grub_linux_init): Remove function.
45627 (grub_linux_fini): Likewise.
45628 (GRUB_MOD_INIT): Register `initrd'.
45629 (GRUB_MOD_FINI): Unregister `initrd'.
45630 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
45631 Function removed.
45632 (grub_linux_normal_fini): Likewise.
45633 (GRUB_MOD_INIT): Register `initrd'.
45634 (GRUB_MOD_FINI): Unregister `initrd'.
45635
990cf3aa 456362005-01-31 Marco Gerards <metgerards@student.han.nl>
45637
45638 * commands/help.c: New file.
45639 * normal/arg.c (show_help): Renamed to...
45640 (grub_arg_show_help): ... this.
45641 * commands/i386/pc/halt.c: New file.
45642 * commands/i386/pc/reboot.c: Likewise.
45643 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
45644 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
45645 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
45646 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
45647 variables.
45648 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45649 `commands/help.c'.
45650 (pkgdata_MODULES): Add `help.mod'.
45651 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
45652 * grub/i386/pc/init.h (grub_reboot): New prototype.
45653 (grub_halt): Likewise.
45654 * include/grub/normal.h (grub_arg_show_help): New prototype.
45655 (grub_help_init): Likewise.
45656 (grub_help_fini): Likewise.
45657 * util/grub-emu.c (main): Initialize and deinitialize the help
45658 command.
45659
45660 * normal/cmdline.c (grub_cmdline_get): Doc fix.
45661
45662 * normal/command.c (grub_command_init): Fixed the description of
45663 the `set' and `unset' commands.
45664
456652005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 45666
45667 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
45668 function.
45669 * commands/ieee1275/halt.c: New file.
45670 * commands/ieee1275/reboot.c: Likewise.
45671 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
45672 `__attribute__ ((unused))'. Some GCS related fixed.
45673 (grub_suspend_init) [GRUB_UTIL]: Function removed.
45674 (grub_suspend_fini): Likewise.
45675 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
45676 and `halt.mod'.
45677 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
45678 (halt_mod_CFLAGS): New variables.
45679 * include/grub/powerpc/ieee1275/ieee1275.h
45680 (grub_ieee1275_interpret): New prototype.
45681
1ab09cc7 456822005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
45683
45684 * include/grub/misc.h (memmove): New prototype.
45685 (memcpy): Likewise.
45686
8b8cbdb2 456872005-01-22 Hollis Blanchard <hollis@penguinppc.org>
45688
45689 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
45690 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
45691
e3741a27 456922005-01-22 Marco Gerards <metgerards@student.han.nl>
45693
45694 * kern/misc.c (grub_strndup): Function rewritten.
45695
776bd780 456962005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
45697
45698 * normal/menu.c (TERM_WIDTH): Macro redefined.
45699 (TERM_TOP_BORDER_Y): Likewise.
45700 (draw_border): Replaced while-loop by a for-loop. Make the number
45701 of lines consistent with the number of lines displayed in
45702 print_entries. Added a margin below the rectangle.
45703 (print_entry): Make the entry fit in the rectangle.
45704 (print_entries): Display the scroll arrows next to the right
45705 border.
45706
78026bce 457072005-01-21 Marco Gerards <metgerards@student.han.nl>
45708
45709 * fs/minix.c (grub_minix_find_file): Reserve more space for
45710 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
45711 `grub_strncpy' to copy `path' into it.
45712
67bbaf0f 457132005-01-21 Marco Gerards <metgerards@student.han.nl>
45714
45715 Add the loopback device, a device via which files can be accessed
45716 as devices.
f19dbdb7 45717
67bbaf0f 45718 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
45719 (pkgdata_MODULES): Add loopback.mod.
45720 (loopback_mod_SOURCES): New variable.
45721 (loopback_mod_CFLAGS): Likewise.
45722 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45723 `disk/loopback.c'.
45724 (pkgdata_MODULES): Add loopback.mod.
45725 (loopback_mod_SOURCES): New variable.
45726 (loopback_mod_CFLAGS): Likewise.
45727 * disk/loopback.c: new file.
45728 * include/grub/normal.h (grub_loop_init): New prototype.
45729 (grub_loop_fini): New prototype.
45730 * util/grub-emu.c (main): Initialize and de-initialize loopback
45731 support.
45732 * include/grub/disk.h (grub_disk_dev_id): Add
45733 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
45734
6f1c18bd 457352005-01-20 Hollis Blanchard <hollis@penguinppc.org>
45736
45737 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
45738 function.
45739 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
45740 (suspend_mod_SOURCES): New variable.
45741 (suspend_mod_CFLAGS): Likewise.
45742 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
45743 New prototype.
45744 * commands/ieee1275/suspend.c: New file.
45745
b38551da 457462005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45747
45748 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 45749 ((unused))' to `__attribute__ ((used))'.
b38551da 45750 (GRUB_MOD_FINI): Likewise.
45751 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
45752 * genmk.rb (PModule): Assign space to common symbols when linking
45753 modules.
45754
777aff39 457552005-01-20 Marco Gerards <metgerards@student.han.nl>
45756
45757 * include/grub/mm.h (grub_mm_init_region): Change the type of the
45758 `unsigned' arguments to `grub_size_t'.
45759 (grub_malloc): Likewise.
45760 (grub_realloc): Likewise.
45761 (grub_memalign): Likewise.
45762 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
45763 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45764 * util/misc.c (grub_malloc): Likewise.
45765 (grub_realloc): Likewise.
45766 * kern/mm.c (get_header_from_pointer): Change the casts to
45767 `unsigned' into a cast to `grub_size_t'.
45768
45769 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
45770 point to `currnode' when `currnode' is changed.
45771
45772 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
45773 Schottelius <nico-linux@schottelius.org>.
45774
d0ff18e1 457752005-01-09 Hollis Blanchard <hollis@penguinppc.org>
45776
45777 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
45778 (note_path): Remove variable.
45779 (GRUB_IEEE1275_NOTE_NAME): New macro.
45780 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
45781 (grub_ieee1275_note_hdr): New structure.
45782 (grub_ieee1275_note_desc): Likewise.
45783 (grub_ieee1275_note): Likewise.
45784 (load_note): Remove `dir' argument. All callers updated. Remove
45785 `note_img' and `path'. Do not load a file from `note_path'.
45786 Initialize a struct grub_ieee1275_note and write that to `out'.
45787 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
45788
4ca7004c 457892005-01-05 Marco Gerards <metgerards@student.han.nl>
45790
45791 * util/misc.c (grub_util_read_image): Revert last change. It
45792 called `grub_util_read_at', which seeks from the beginning of the
45793 file.
45794
0b412211 457952005-01-04 Hollis Blanchard <hollis@penguinppc.org>
45796
45797 * TODO: Add note about endianness in grub-mkimage.
45798 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
45799 section.
45800 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
45801 (grub_mkimage_SOURCES): New target.
45802 * include/grub/kernel.h (grub_start_addr): Remove variable.
45803 (grub_end_addr): Likewise.
45804 (grub_total_module_size): Likewise.
45805 (grub_kernel_image_size): Likewise.
45806 (GRUB_MODULE_MAGIC): New constant.
45807 (grub_module_info): New structure.
45808 (grub_arch_modules_addr): New prototype.
45809 (grub_get_end_addr): Remove prototype.
45810 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
45811 * include/grub/powerpc/ieee1275/kernel.h: New file.
45812 * include/grub/util/misc.h (grub_util_get_fp_size): New
45813 prototype.
45814 (grub_util_read_at): Likewise.
45815 (grub_util_write_image_at): Likewise.
45816 * kern/main.c (grub_get_end_addr): Remove function.
45817 (grub_load_modules): Call grub_arch_modules_addr instead of using
45818 grub_end_addr. Look for a grub_module_info struct in memory. Use
45819 the grub_module_info fields instead of calling grub_get_end_addr
45820 as loop conditions. Move grub_add_unused_region code here.
45821 (grub_add_unused_region): Remove function.
45822 * kern/i386/pc/init.c: Include grub/cache.h.
45823 (grub_machine_init): Remove call to grub_get_end_addr. Remove
45824 one call to add_mem_region.
45825 (grub_arch_modules_addr): New function.
45826 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
45827 (grub_total_module_size): Likewise.
45828 Include grub/machine/kernel.h.
45829 (grub_arch_modules_addr): New function.
45830 * util/grub-emu.c (grub_end_addr): Remove variable.
45831 (grub_total_module_size): Likewise.
45832 (grub_arch_modules_addr): New function.
45833 * util/misc.c: Include unistd.h.
45834 (grub_util_get_fp_size): New function.
45835 (grub_util_read_at): Likewise.
45836 (grub_util_write_image_at): Likewise.
45837 (grub_util_read_image): Call grub_util_read_at.
45838 (grub_util_write_image): Call grub_util_write_image_at.
45839 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
45840 additional memory in kernel_img for a struct grub_module_info.
45841 Fill in that grub_module_info.
45842 * util/powerpc/ieee1275/grub-mkimage.c: New file.
45843
458786f8 458442005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45845
45846 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
45847 New function.
45848 * include/grub/powerpc/ieee1275/ieee1275.h
45849 (grub_ieee1275_milliseconds): New prototype.
45850 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
45851 Change to 1000.
45852 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
45853 grub_ieee1275_milliseconds.
45854
ac507d1b 458552005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45856
45857 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45858 variable.
45859 (find_options): New function.
45860 (cmain): Call find_options.
45861 * include/grub/powerpc/ieee1275/ieee1275.h
45862 (grub_ieee1275_realmode): New extern variable.
45863 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45864 grub_map if grub_ieee1275_realmode is false.
45865
6b8fd1c4 458662004-12-29 Marco Gerards <metgerards@student.han.nl>
45867
45868 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45869 lines are inserted and make it work like readline. Reported by
45870 Vincent Pelletier <subdino2004@yahoo.fr>.
45871
8514a1e0 458722004-12-28 Marco Gerards <metgerards@student.han.nl>
45873
45874 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45875
45876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45877 `kern/powerpc/cache.S'.
45878
924b6140 458792004-12-27 Marco Gerards <metgerards@student.han.nl>
45880
45881 * genmk.rb: Handle the `Program' class in the main loop. Written
45882 by Johan Rydberg <jrydberg@gnu.org>.
45883 (Program): New class.
45884 (programs): New variable.
45885 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45886 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45887 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45888 (help_arch): Function removed.
45889 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45890 `powerpc/libgcc.h' and `loader.h'.
45891 (pkgdata_PROGRAMS): New variable.
45892 (sbin_UTILITIES): Variable removed.
45893 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45894 (grubof_SOURCES): Variable re-defined so it only includes the
45895 core functionality.
45896 (grubof_CFLAGS): Remove `-DGRUBOF'.
45897 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45898 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45899 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45900 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45901 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45902 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45903 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45904 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45905 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45906 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45907 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45908 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45909 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45910 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45911 (pc_mod_CFLAGS): New variables.
45912 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45913 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45914 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45915 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45916 Moved from here...
45917 * include/grub/i386/pc/init.h (grub_os_area_addr)
45918 (rub_os_area_size): ... to here.
45919 * include/grub/powerpc/ieee1275/ieee1275.h
45920 (grub_ieee1275_entry_fn): Export symbol.
45921 * include/grub/powerpc/ieee1275/init.h: New file.
45922 * include/grub/powerpc/libgcc.h: Likewise.
45923 * include/grub/cache.h: Likewise.
45924 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45925 <hollis@penguinppc.org>.
45926 * kern/dl.c: Include <grub/cache.h>.
45927 (grub_dl_flush_cache): New function.
45928 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45929 for this module.
45930 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45931 (grub_console_init): Removed prototypes.
45932 (grub_machine_init): Don't initialize the modules anymore.
45933 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45934 static.
45935 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45936 Macro undef removed.
45937 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45938 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45939 relocation `R_PPC_REL32'. Return an error when the relocation is
45940 unknown.
45941 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45942 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45943 * util/misc.c (grub_arch_sync_caches): Likewise.
45944
e4b47e0c 459452004-12-19 Marco Gerards <metgerards@student.han.nl>
45946
45947 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45948 `symlist.c', add `grubof_symlist.c'.
45949 (symlist.c): Variable removed.
45950 (grubof_HEADERS): Variable added.
45951 (grubof_symlist.c): New target.
45952 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45953 `kernel_img_HEADERS'.
45954 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45955 * kern/powerpc/dl.c: New file.
45956 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45957 Function removed.
45958 (grub_arch_dl_relocate_symbols): Likewise.
45959 (grub_register_exported_symbols): Likewise.
45960
4ceb3636 459612004-12-13 Marco Gerards <metgerards@student.han.nl>
45962
45963 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45964 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45965 to fail instead. Reported by Vincent Pelletier
45966 <subdino2004@yahoo.fr>.
45967
45968 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45969 it is not allocated. Reported by Vincent Pelletier
45970 <subdino2004@yahoo.fr>.
45971
45972 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45973 output so the output looks better.
f19dbdb7 45974
3f1578fe 459752004-12-04 Marco Gerards <metgerards@student.han.nl>
45976
45977 Modulize the partition map support and add support for the amiga
45978 partition map.
f19dbdb7 45979
3f1578fe 45980 * commands/ls.c: Include <grub/partition.h> instead of
45981 <grub/machine/partition.h>.
45982 * kern/disk.c: Likewise.
45983 * kern/rescue.c: Likewise.
45984 * loader/i386/pc/chainloader.c: Likewise.
45985 * normal/cmdline.c: Likewise.
45986 * kern/powerpc/ieee1275/init.c: Likewise.
45987 (grub_machine_init): Call `grub_pc_partition_map_init',
45988 `grub_amiga_partition_map_init' and
45989 `grub_apple_partition_map_init'.
45990 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45991 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45992 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45993 `partition.h' and `pc_partition.h'.
45994 (grub_setup_SOURCES): Remove
45995 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45996 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45997 (grub_emu_SOURCES): Likewise.
45998 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45999 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
46000 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
46001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
46002 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
46003 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
46004 (grubof_SOURCES): Likewise.
46005 * disk/i386/pc/partition.c: File removed.
46006 * disk/powerpc/ieee1275/partition.c: Likewise.
46007 * include/grub/powerpc/ieee1275/partition.h: Likewise.
46008 * include/grub/i386/pc/partition.h: Likewise.
46009 * kern/partition.c: New file.
46010 * partmap/amiga.c: Likewise.
46011 * partmap/apple.c: Likewise.
46012 * partmap/pc.c: Likewise.
46013 * include/grub/partition.h: Likewise..
46014 * include/grub/pc_partition.h: Likewise.
46015 * util/grub-emu.c: Include <grub/partition.h> instead of
46016 <grub/machine/partition.h>.
46017 (main): Call `grub_pc_partition_map_init',
46018 `grub_amiga_partition_map_init' and
46019 `grub_apple_partition_map_init' and deinitialize afterwards.
46020 * util/i386/pc/biosdisk.c: Include `#include
46021 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
46022 `<grub/machine/partition.h>'.
46023 * util/i386/pc/grub-setup.c: Likewise.
46024 * util/i386/pc/biosdisk.c: Likewise.
46025 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
46026 partition information in case of a PC partition.
46027 * util/i386/pc/grub-setup.c: Include `#include
46028 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
46029 `<grub/machine/partition.h>'.
46030 (setup): Only access the PC specific partition information in case
46031 of a PC partition.
46032
0ef4ced9 460332004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 46034
0ef4ced9 46035 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
46036 (grub_longjmp): Likewise.
46037 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
46038 20.
46039 * normal/powerpc/setjmp.S: New file.
46040 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
46041 `normal/powerpc/setjmp.S'.
46042 (grubof_CFLAGS): Add `-DGRUBOF'.
46043 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
46044 [GRUB_UTIL && !GRUBOF].
f19dbdb7 46045
19950e29 460462004-11-16 Marco Gerards <metgerards@student.han.nl>
46047
46048 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
46049 property named `name'. Correctly handle the error returned by
46050 `grub_ieee1275_finddevice' if a device can not be opened.
46051
a2fea427 460522004-11-02 Hollis Blanchard <hollis@penguinppc.org>
46053
46054 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
46055 `actual' for negativity.
46056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
46057 kern/fshelp.c.
46058
41ea0ea3 460592004-11-01 Marco Gerards <metgerards@student.han.nl>
46060
46061 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
46062 (PAGE_OFFSET): New macro.
46063 (CRTC_ADDR_PORT): Likewise.
46064 (CRTC_DATA_PORT): Likewise.
46065 (START_ADDR_HIGH_REGISTER): Likewise.
46066 (START_ADDR_LOW_REGISTER): Likewise.
46067 (GRAPHICS_ADDR_PORT): Likewise.
46068 (GRAPHICS_DATA_PORT): Likewise.
46069 (READ_MAP_REGISTER): Likewise.
46070 (INPUT_STATUS1_REGISTER): Likewise.
46071 (INPUT_STATUS1_VERTR_BIT): Likewise.
46072 (page): New variable.
46073 (wait_vretrace): New function.
46074 (set_read_map): Likewise.
46075 (set_start_address): Likewise.
46076 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
46077 the right page.
46078 (check_vga_mem): Take the page into account.
46079 (write_char): Likewise.
46080 (write_cursor): Likewise.
46081 (scroll_up): Likewise. Copy the page to the page that is not
46082 shown and switch between both pages.
46083 (grub_vga_putchar): Fix off by one error.
46084 (grub_vga_cls): Wait for the vertical retrace. Take the page into
46085 account.
46086
ad0bd20b 460872004-11-01 Marco Gerards <metgerards@student.han.nl>
46088
46089 Add support for iso9660 (including rockridge).
f19dbdb7 46090
ad0bd20b 46091 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
46092 (iso9660_mod_SOURCES): New variable.
46093 (iso9660_mod_CFLAGS): Likewise.
46094 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
46095 * include/grub/fs.h (grub_iso9660_init): New prototype.
46096 * util/grub-emu.c (main): Call `grub_iso9660_init'.
46097 * fs/iso9660.c: New file.
46098
46099 * include/grub/misc.h (grub_strncat): New prototype.
46100 * kern/misc.c (grub_strncat): New function.
f19dbdb7 46101
ad0bd20b 46102 * fs/hfs.c (grub_hfs_mount): Translate the error
46103 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
46104 * fs/jfs.c (grub_jfs_mount): Likewise.
46105 * fs/ufs.c (grub_ufs_mount): Likewise.
46106
a5477a59 461072004-10-28 Hollis Blanchard <hollis@penguinppc.org>
46108
46109 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
46110 which initialized BAT registers.
46111 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
46112 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
46113 Move from here...
46114 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
46115 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
46116 ... to here.
46117 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
46118 (grub_mapclaim): Likewise.
46119 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
46120 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
46121 hand.
46122
9304c1f8 461232004-10-19 Hollis Blanchard <hollis@penguinppc.org>
46124
46125 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
46126 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
46127 -ffreestanding and -msoft-float.
46128
86f4ae25 461292004-10-15 Hollis Blanchard <hollis@penguinppc.org>
46130
46131 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
46132 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
46133 set in grub_ieee1275_flags.
46134
38912228 461352004-10-14 Hollis Blanchard <hollis@penguinppc.org>
46136
46137 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
46138 prototype.
46139 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
46140 grub_console_init first.
46141 Change the memory range used for grub_ieee1275_claim and
46142 grub_mm_init_region.
46143 Print an error message if the claim fails.
46144 Include <grub/misc.h>.
46145
d1923dc8 461462004-10-13 Hollis Blanchard <hollis@penguinppc.org>
46147
46148 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
46149 Call grub_children_iterate for device nodes of type `scsi',
46150 `ide', or `ata'.
46151 (grub_ofdisk_open): Remove manual device alias resolution.
46152 Fix memory leak when device cannot be opened.
f19dbdb7 46153 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 46154 (grub_children_iterate): New prototype.
46155 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
46156 New function.
46157 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46158 Return -1 if args.size was -1.
46159
4512e4f3 461602004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46161
46162 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
46163 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
46164 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
46165 Open Firmware's memory for it; claim memory from _start to _end.
46166 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
46167 (_end): New extern.
46168 (_start): Zero BSS from __bss_start to _end.
46169 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
46170 New extern.
46171 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
46172
4d61feb0 461732004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46174
ad0bd20b 46175 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
46176 -1 if args.base was -1.
4d61feb0 46177
026fa2f9 461782004-10-08 Hollis Blanchard <hollis@penguinppc.org>
46179
46180 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
46181 escape sequence instead of a literal ^L. Also call
46182 grub_ofconsole_gotoxy.
46183
9f2220ef 461842004-10-03 Hollis Blanchard <hollis@penguinppc.org>
46185
46186 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
46187 void * arguments to grub_addr_t. All callers updated. Also make
46188 the `result' argument optional.
46189 (grub_ieee1275_release): change void * arguments to grub_addr_t.
46190 All callers updated.
46191
8a572cd7 461922004-09-22 Hollis Blanchard <hollis@penguinppc.org>
46193
46194 * commands/ls.c (grub_ls_list_files): Use the string following the
46195 initial ')', if present, as the filesystem path.
46196 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
46197
46198 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
46199
18aa81f2 462002004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
46201
46202 Make the source code of the menu interface more readable.
f19dbdb7 46203
18aa81f2 46204 * normal/menu.c: Include grub/mm.h.
46205 (TERM_WIDTH): New macro.
46206 (TERM_HEIGHT): Likewise.
46207 (TERM_INFO_HEIGHT): Likewise.
46208 (TERM_MARGIN): Likewise.
46209 (TERM_SCROLL_WIDTH): Likewise.
46210 (TERM_TOP_BORDER_Y): Likewise.
46211 (TERM_LEFT_BORDER_X): Likewise.
46212 (TERM_BORDER_WIDTH): Likewise.
46213 (TERM_MESSAGE_HEIGHT): Likewise.
46214 (TERM_BORDER_HEIGHT): Likewise.
46215 (TERM_NUM_ENTRIES): Likewise.
46216 (TERM_FIRST_ENTRY_Y): Likewise.
46217 (TERM_ENTRY_WIDTH): Likewise.
46218 (TERM_CURSOR_X): Likewise.
46219 (draw_border): Use macros instead of magic numbers.
46220 (print_entry): Likewise.
46221 (print_entries): Likewise.
46222 (run_menu): Likewise. Also, handle the key 'e'.
46223 (run_menu_entry): Ignore empty command lines.
46224 (print_message): Added a new argument EDIT. If EDIT is true,
46225 print a different message.
46226 (init_page): Likewise.
46227 (edit_menu_entry): New function. Not implemented yet.
46228
b47efe30 462292004-09-17 Marco Gerards <metgerards@student.han.nl>
46230
46231 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
46232 can be loaded from normal mode.
f19dbdb7 46233
b47efe30 46234 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
46235 `multiboot.mod'.
46236 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
46237 (multiboot_mod_CFLAGS): New variables.
46238 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 46239 * loader/i386/pc/multiboot_normal.c: Likewise.
46240
b47efe30 46241 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
46242 attribute `unused'.
f19dbdb7 46243
b47efe30 46244 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
46245 `fdiro' to read the mode information from instead of `diro'.
46246
46247 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
46248 looking up a symlink.
46249
46250 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
46251 macro.
46252 * normal/command.c (grub_command_execute): Don't parse the
46253 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
46254 flags of the command.
46255
46256 * normal/menu.c (grub_menu_run): Fix typo.
46257
da75ac71 462582004-09-14 Hollis Blanchard <hollis@penguinppc.org>
46259
46260 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
46261
46262 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
46263 `y + 1' instead of `y - 1'.
46264
46265 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 46266
062b24c2 462672004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
46268
46269 From Hollis Blanchard <hollis@penguinppc.org>:
46270 * kern/misc.c (memmove): New alias for grub_memmove.
46271 (memcmp): New alias for grub_memcmp.
46272 (memset): New alias for grub_memset.
f19dbdb7 46273 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 46274 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 46275 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 46276 (grub_ieee1275_get_property): Likewise.
f19dbdb7 46277
8ddad845 462782004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
46279
46280 Added normal mode command `chainloader' as module chain.mod, which
46281 depends on normal.mod and _chain.mod.
f19dbdb7 46282
8ddad845 46283 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
46284 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
46285 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
46286 Deleted prototype.
46287 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
46288 but arguments parsing moved to ...
46289 (grub_chainloader_cmd): ... here. New function.
46290 * include/grub/i386/pc/chainloader.h: New file.
46291 * loader/i386/pc/chainloader_normal.c: Likewise.
46292
2c1f4ce3 462932004-09-11 Marco Gerards <metgerards@student.han.nl>
46294
46295 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
46296 (grub_mkimage_LDFLAGS): Likewise.
46297 (grub_emu_SOURCES): Likewise.
46298 (kernel_img_HEADERS): Added fshelp.h.
46299 * fs/ext2.c: Include <grub/fshelp.h>.
46300 (FILETYPE_REG): New macro.
46301 (FILETYPE_INO_REG): Likewise.
46302 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
46303 Changed all users.
46304 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
46305 all users.
46306 (grub_fshelp_node): New struct.
46307 (grub_ext2_data): Added member `diropen'. Changed member `inode'
46308 to a pointer.
46309 (grub_ext2_get_file_block): Removed function.
46310 (grub_ext2_read_block): New function.
46311 (grub_ext2_read_file): Replaced parameter `data' by `node'.
46312 This function was written.
46313 (grub_ext2_mount): Read the root inode. Create a diropen struct.
46314 (grub_ext2_find_file): Removed function.
46315 (grub_ext2_read_symlink): New function.
46316 (grub_ext2_iterate_dir): Likewise.
46317 (grub_ext2_open): Rewritten.
46318 (grub_ext2_dir): Rewritten.
46319 * include/grub/fshelp.h: New file.
46320 * fs/fshelp.c: Likewise.
46321
3c52136a 463222004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
46323
46324 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
46325 (print_message): Add a missing newline.
46326 (run_menu): Added timeout support.
46327 (run_menu_entry): New local function.
46328 (grub_menu_run): Added support for booting.
46329
46330 * kern/loader.c (grub_loader_is_loaded): New function.
46331
46332 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
46333 (grub_get_rtc): Exported.
46334
46335 * include/grub/i386/pc/time.h: Include grub/symbol.h.
46336 (grub_get_rtc): Exported.
46337
46338 * include/grub/normal.h (struct grub_command_list): Remove
46339 constant from the member `command'.
46340
46341 * include/grub/loader.h (grub_loader_is_loaded): Declared.
46342
46343 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
46344
46345 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
46346
aa033560 463472004-08-28 Marco Gerards <metgerards@student.han.nl>
46348
46349 Add support for the JFS filesystem.
46350
46351 * fs/jfs.c: New file.
46352 * include/grub/fs.h (grub_jfs_init): New prototype.
46353 (grub_jfs_fini): New prototype.
46354 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
46355 (grub_emu_SOURCES): Likewise.
46356 (pkgdata_MODULES): Add jfs.mod.
46357 (jfs_mod_SOURCES): New variable.
46358 (jfs_mod_CFLAGS): Likewise.
46359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
46360 (grubof_SOURCES): Likewise.
46361 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
46362
46363 * fs/fat.c (grub_fat_find_dir): Convert the filename little
46364 endian to the host endian.
46365 (grub_fat_utf16_to_utf8): Move function from there...
46366 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 46367 the endianness of the source string anymore.
aa033560 46368 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
46369
94bc45af 463702004-08-24 Marco Gerards <metgerards@student.han.nl>
46371
46372 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
46373 (grub_boot_fini) [GRUB_UTIL]: Likewise.
46374 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
46375 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 46376
94bc45af 46377 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
46378 (grub_hfs_iterate_dir): Make the function static. Add prototypes
46379 for `node_found' and `it_dir'.
46380 (grub_hfs_dir): Add prototype for `dir_hook'.
46381
46382 * fs/minix.c (grub_minix_get_file_block): Add prototype for
46383 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
46384 and `indir32' to silence a gcc warning.
46385
46386 * include/grub/fs.h (grub_hfs_init): New prototype.
46387 (grub_hfs_fini): Likewise.
f19dbdb7 46388
46389
97543f08 463902004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46391
46392 Each disk device has its own id now. This is useful to make use
46393 of multiple disk devices.
f19dbdb7 46394
97543f08 46395 * include/grub/disk.h (grub_disk_dev_id): New enum.
46396 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
46397 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
46398
46399 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
46400 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46401
46402 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
46403 GRUB_DISK_DEVICE_OFDISK_ID as an id.
46404
46405 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
46406 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46407
46408 * include/grub/disk.h (struct grub_disk_dev): Added a new member
46409 "id" which is used by the cache manager.
46410
46411 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
46412 of just "GRUB".
46413
64372eb4 464142004-08-18 Marco Gerards <metgerards@student.han.nl>
46415
46416 * fs/hfs.c: New file.
46417 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
46418 (grub_emu_SOURCES): Likewise.
46419 (pkgdata_MODULES): Add hfs.mod.
46420 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
46421 (grubof_SOURCES): Likewise.
46422 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
46423
46424 * include/grub/misc.h (grub_strncasecmp): Add prototype.
46425 * kern/misc.c (grub_strncasecmp): Add function.
46426
cc61b58f 464272004-08-14 Marco Gerards <metgerards@student.han.nl>
46428
46429 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
46430 with parentheses.
46431
46432 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
46433 (grub_ext2_dir): In case the directory entry type is unknown, read
46434 it from the inode.
46435
0ef123f6 464362004-08-02 Peter Bruin <pjbruin@dds.nl>
46437
46438 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
46439 grub_load_linux instead of grub_rescue_cmd_linux as second
46440 argument of grub_rescue_register_command.
46441
46442 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
46443
a447c5df 464442004-07-27 Marco Gerards <metgerards@student.han.nl>
46445
46446 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
46447 function.
46448 * commands/boot.c: Remove the check for `GRUB_UTIL'.
46449 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
46450 `loader/powerpc/ieee1275/linux.c',
46451 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
46452 * include/grub/powerpc/ieee1275/ieee1275.h
46453 (grub_ieee1275_release): New prototype.
46454 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
46455 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
46456 normal, boot, linux and linux_normal.
46457 * loader/powerpc/ieee1275/linux.c: New file.
46458 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46459
5a9e3546 464602004-07-12 Marco Gerards <metgerards@student.han.nl>
46461
46462 * normal/arg.c (grub_arg_parse): Correct error handling after
46463 reallocating the argumentlist (check if `argl' is not null instead
46464 of checking if `args' is not null).
46465 * kern/mm.c (grub_realloc): Return the same pointer when using the
46466 same region, instead of returning the header address.
46467
e15199cb 464682004-07-11 Marco Gerards <metgerards@student.han.nl>
46469
46470 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
46471 one block instead of two when looking for the initial partition.
46472 (grub_partition_probe): Initialize the local variable `p' with 0.
46473 Use base 10 for the grub_strtoul call.
46474 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
46475 need for one local variable.
46476 (grub_strtoul): Don't add the new value to `num', instead of that
46477 just assign it.
46478
020616c2 464792004-07-11 Marco Gerards <metgerards@student.han.nl>
46480
46481 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
46482 (pxeboot_img_SOURCES): New variable.
46483 (pxeboot_img_ASFLAGS): Likewise.
46484 (pxeboot_img_LDFLAGS): Likewise.
46485 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
46486 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
46487 <lode_leroy@hotmail.com>.
46488
6c51eb64 464892004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46490
46491 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
46492 there was no input.
46493
cfb12aff 464942004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46495
46496 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
46497 the history buffer logic.
46498
6eabba74 464992004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46500
46501 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
46502 (FILETYPE_INO_SYMLINK): New macros.
46503 (grub_ext2_find_file): Check if the node is a directory using the
46504 inode stat information instead of using the filetype in the
46505 dirent. Exclude the first character of an absolute symlink.
46506 (grub_ext2_dir): Mask out the filetype part of the mode member of
46507 the inode.
46508
66e19ef8 465092004-05-24 Marco Gerards <metgerards@student.han.nl>
46510
46511 Add support for UFS version 1 and 2. Add support for the minix
46512 filesystem version 1 and 2, both the variants with 14 and 30 long
46513 filenames.
f19dbdb7 46514
66e19ef8 46515 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
46516 fs/minix.c.
46517 (grub_emu_SOURCES): Likewise.
46518 (pkgdata_MODULES): Add ufs.mod and minix.mod.
46519 (ufs_mod_SOURCES): New variable.
46520 (ufs_mod_CFLAGS): Likewise.
46521 (minix_mod_SOURCES): Likewise.
46522 (minix_mod_CFLAGS): Likewise.
46523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
46524 fs/minix.c.
46525 (grubof_SOURCES): Likewise.
46526 * fs/ufs.c: New file.
46527 * fs/minix.c: New file.
46528 * include/grub/fs.h (grub_ufs_init): New prototype.
46529 (grub_ufs_fini): Likewise.
46530 (grub_minix_init): Likewise.
46531 (grub_minix_fini): Likewise.
46532 * util/grub-emu.c (main): Initialize and deinitialize UFS and
46533 minix fs.
46534
cc2e748a 465352004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
46536
46537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
46538 commands/ls.c, commands/terminal.c, commands/boot.c,
46539 commands/cmp.c and commands/cat.c.
46540 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
46541
46542 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
46543 "env.h"
46544
4b13b216 465452004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46546
46547 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
46548 and grub_, respectively. Because the conversion is trivial and
46549 mechanical, I omit the details here. Please refer to the CVS
46550 if you need more information.
46551
6a142551 465522004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46553
46554 * include/pupa: Renamed to ...
46555 * include/grub: ... this.
46556 * util/i386/pc/pupa-mkimage.c: Renamed to ...
46557 * util/i386/pc/grub-mkimage.c: ... this.
46558 * util/i386/pc/pupa-setup.c: Renamed to ...
46559 * util/i386/pc/grub-setup.c: ... this.
46560 * util/pupa-emu.c: Renamed to ...
46561 * util/grub-emu.c: ... this.
46562
e56cdf21 465632004-03-29 Marco Gerards <metgerards@student.han.nl>
46564
46565 Add support for the newworld apple macintosh (PPC). This has been
46566 tested on the powerbook 2000 only. It only adds support for
46567 generic ieee1275 functions, console and disk support. This should
46568 be easy to port to other architectures with support for Open
46569 Firmware.
f19dbdb7 46570
e56cdf21 46571 * configure.ac: Accept the powerpc as host_cpu. In the case of
46572 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
46573 specific tests are only executed while building for the i386.
46574 Inverse test for crosscompile.
46575 * genmk.rb (Utility): Allow assembler files.
46576 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
46577 * conf/powerpc-ieee1275.rmk: New file.
46578 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
46579 * disk/powerpc/ieee1275/partition.c: Likewise.
46580 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
46581 * include/pupa/powerpc/ieee1275/console.h: Likewise.
46582 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
46583 * include/pupa/powerpc/ieee1275/time.h: Likewise.
46584 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
46585 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
46586 * include/pupa/powerpc/ieee1275/loader.h
46587 * include/pupa/powerpc/setjmp.h: Likewise.
46588 * include/pupa/powerpc/types.h: Likewise.
46589 * kern/powerpc/ieee1275/init.c: Likewise.
46590 * kern/powerpc/ieee1275/openfw.c: Likewise.
46591 * term/powerpc/ieee1275/ofconsole.c: Likewise.
46592
46593 These files were written by Johan Rydberg
46594 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 46595
e56cdf21 46596 * boot/powerpc/ieee1275/cmain.c: New file.
46597 * boot/powerpc/ieee1275/crt0.S: Likewise.
46598 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
46599 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
46600
8c8cc205 466012004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
46602
46603 * Makefile.in: Update copyright.
46604 * genmodsrc.sh: Likewise.
46605 * gensymlist.sh: Likewise.
46606 * term/i386/pc/vga.c: Indent correctly.
46607
46608 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
46609 bugreporting address.
46610 * util/i386/pc/pupa-setup.c (usage): Likewise,
46611 (main): Call pupa_ext2_init and pupa_ext2_fini.
46612
f19dbdb7 46613 * fs/fat.c (log2): Renamed to ...
8c8cc205 46614 (fat_log2): ... this.
46615 All callers changed.
46616 * kern/misc.c (memcpy): Alias to pupa_memmove.
46617 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
46618 lvalue cast.
46619 * util/console.c (pupa_ncurses_fini): Return 0.
46620
46621 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
46622 Move fail label here.
46623 [__GNU__]: Don't warn when using stat.
46624 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
46625 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
46626 long int. Use strtol instead of strtoul.
f19dbdb7 46627
db1771cf 466282004-03-14 Marco Gerards <metgerards@student.han.nl>
46629
46630 * commands/boot.c: New file.
46631 * commands/cat.c: Likewise.
46632 * commands/cmp.c: Likewise.
46633 * commands/ls.c: Likewise.
46634 * commands/terminal.c: Likewise.
46635 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
46636 (pupa_register_command): Changed interface to match the new
46637 argument parser.
46638 (pupa_command_execute): Changed (almost rewritten) so it uses
46639 pupa_split_command. Added support for setting variables using the
46640 syntax `foo=bar'.
46641 (rescue_command): Changed to work with the new argument parser.
46642 (terminal_command): Moved from here to commands/terminal.c.
46643 (set_command): New function.
46644 (unset_command): New function.
46645 (insmod_command): New function.
46646 (rmmod_command): New function.
46647 (lsmod_command): New function.
46648 (pupa_command_init): Don't initialize the command terminal
46649 anymore. Initialize the commands set, unset, insmod, rmmod and
46650 lsmod.
46651 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
46652 (kernel_img_HEADERS): Add arg.h and env.h.
46653 (pupa_mkimage_LDFLAGS): Add kern/env.c.
46654 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
46655 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
46656 normal/arg.c.
46657 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
46658 terminal.mod.
46659 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
46660 (boot_mod_SOURCES): New variable.
46661 (terminal_mod_SOURCES): Likewise.
46662 (ls_mod_SOURCES): Likewise.
46663 (cmp_mod_SOURCES): Likewise.
46664 (cat_mod_SOURCES): Likewise.
46665
46666 * normal/arg.c: New file.
46667 * kern/env.c: Likewise.
46668 * include/pupa/arg.h: Likewise.
46669 * include/pupa/env.h: Likewise.
46670 * font/manager.c (font_command): Changed to match argument parsing
46671 interface changes.
46672 (PUPA_MOD_INIT): Likewise.
46673 * hello/hello.c (pupa_cmd_hello): Likewise.
46674 (PUPA_MOD_INIT): Likewise.
46675 * include/pupa/disk.h: Include <pupa/device.h>.
46676 (pupa_print_partinfo): New prototype.
46677 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
46678 (pupa_dl_get_prefix): Likewise.
46679 * include/pupa/misc.h: Include <pupa/err.h>.
46680 (pupa_isgraph): New prototype.
46681 (pupa_isdigit): Likewise.
46682 (pupa_split_cmdline): Likewise.
46683 * include/pupa/normal.h: Include <pupa/arg.h>.
46684 (pupa_command): Changed the prototype of the member `func' to
46685 match the argument parsing interface. Added member `options'.
46686 (pupa_register_command): Updated to match function.
46687 (pupa_arg_parse): New prototype.
46688 (pupa_hello_init) [PUPA_UTIL]: New prototype.
46689 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
46690 (pupa_ls_init) [PUPA_UTIL]: Likewise.
46691 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
46692 (pupa_cat_init) [PUPA_UTIL]: Likewise.
46693 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
46694 (pupa_boot_init) [PUPA_UTIL]: Likewise.
46695 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
46696 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
46697 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
46698 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
46699 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
46700 * kern/disk.c: Include <pupa/file.h>.
46701 (pupa_print_partinfo): New function.
46702 * kern/dl.c: Include <pupa/env.h>.
46703 (pupa_dl_dir): Variable removed.
46704 (pupa_dl_load): Use the environment variable `prefix' instead of
46705 the variable pupa_dl_dir.
46706 (pupa_dl_set_prefix): Function removed.
46707 (pupa_dl_get_prefix): Likewise.
46708 * kern/i386/pc/init.c: Include <pupa/env.h>.
46709 (pupa_machine_init): Use the environment variable `prefix' instead of
46710 using pupa_dl_set_prefix to set the prefix.
46711 * kern/main.c: Include <pupa/env.h>.
46712 (pupa_set_root_dev): Use the environment variable `prefix' instead of
46713 using pupa_dl_get_prefix to get the prefix.
46714 * kern/misc.c: Include <pupa/env.h>.
46715 (pupa_isdigit): New function.
46716 (pupa_isgraph): Likewise.
46717 (pupa_ftoa): Likewise.
46718 (pupa_vsprintf): Added support for printing values of the type
46719 `double'. Make it possible to format variable output when using
46720 formatting like `%1.2%f'.
46721 (pupa_split_cmdline): New function.
46722 * kern/rescue.c: Include <pupa/env.h>.
46723 (next_word): Removed function.
46724 (pupa_rescue_cmd_prefix): Likewise.
46725 (pupa_rescue_cmd_set): New function.
46726 (pupa_rescue_cmd_unset): New function.
46727 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
46728 split the command line instead of splitting it here. Added
46729 support for setting variables using the syntax `foo=bar'. Don't
46730 initialize the prefix command anymore. Initialized the set and
46731 unset commands.
46732 * normal/cmdline.c: Include <pupa/env.h>.
46733 (pupa_tab_complete): Added prototypes for print_simple_completion,
46734 print_partition_completion, add_completion, iterate_commands,
46735 iterate_dev, iterate_part and iterate_dir. Moved code to print
46736 partition information from here to kern/disk.c.
fe6b695a 46737 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 46738 * normal/main.c: Include <pupa/env.h>.
46739 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
46740 instead of using pupa_dl_get_prefix to get the prefix.
46741 * term/i386/pc/vga.c: Include <pupa/arg.h>.
46742 (check_vga_mem): Cast pointers to `void *' to silence a gcc
46743 warning.
46744 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
46745 (pupa_vga_setcolor): Declare unused variables with `__attribute__
46746 ((unused))' to silence a gcc warning.
46747 (pupa_vga_setcolor): Likewise.
46748 (debug_command): Changed to match argument parsing
46749 interface changes.
46750 * util/pupa-emu.c: Include <pupa/env.h>.
46751 (options): Added 0's for unused fields to silence a gcc warning.
46752 (argp): Likewise.
46753 (main): Use the environment variable `prefix' instead of using
46754 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
46755 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
46756 and terminal.
46757
46758 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
46759 * util/misc.c: Include <malloc.h>.
46760 (pupa_malloc): Rewritten so errors are correctly reported.
46761 (pupa_realloc): Likewise.
46762 (pupa_memalign): Likewise.
46763 (pupa_mm_init_region): Declare unused variables with
46764 `__attribute__ ((unused))' to silence a gcc warning.
46765 * normal/i386/setjmp.S: Remove tab at the end of the file to
46766 silence a gcc warning.
46767 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
46768 variables with `__attribute__ ((unused))' to silence a gcc
46769 warning.
46770 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
46771 local variable i unsigned to silence a gcc warning.
46772
46773 * kern/term.c: Include <pupa/misc.h>.
46774 (pupa_more_lines): New variable.
46775 (pupa_more): Likewise.
46776 (pupa_putcode): When the pager is active pause at the end of every
46777 screen.
46778 (pupa_set_more): New function.
46779 * include/pupa/term.h (pupa_set_more): New prototype.
46780
46781
3b1139cb 467822004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
46783
46784 Now this project is GRUB 2 rather than PUPA. The location of
46785 the CVS repository was moved to GRUB's.
f19dbdb7 46786
3b1139cb 46787 * configure.ac: Use bug-grub as the reporting address.
46788 Use GRUB instead of PUPA.
46789 Change the version number to 1.90.
46790
8367695c 467912004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
46792
46793 * genkernsyms.sh: Updated copyright information.
46794 * genmk.rb: Likewise.
46795 * genmodsrc.sh: Likewise.
46796 * gensymlist.sh: Likewise.
46797 * boot/i386/pc/boot.S: Likewise.
46798 * boot/i386/pc/diskboot.S: Likewise.
46799 * disk/i386/pc/biosdisk.c: Likewise.
46800 * disk/i386/pc/partition.c: Likewise.
46801 * font/manager.c: Likewise.
46802 * fs/ext2.c: Likewise.
46803 * fs/fat.c: Likewise.
46804 * include/pupa/boot.h: Likewise.
46805 * include/pupa/device.h: Likewise.
46806 * include/pupa/disk.h: Likewise.
46807 * include/pupa/dl.h: Likewise.
46808 * include/pupa/elf.h: Likewise.
46809 * include/pupa/err.h: Likewise.
46810 * include/pupa/file.h: Likewise.
46811 * include/pupa/font.h: Likewise.
46812 * include/pupa/fs.h: Likewise.
46813 * include/pupa/kernel.h: Likewise.
46814 * include/pupa/loader.h: Likewise.
46815 * include/pupa/misc.h: Likewise.
46816 * include/pupa/mm.h: Likewise.
46817 * include/pupa/net.h: Likewise.
46818 * include/pupa/normal.h: Likewise.
46819 * include/pupa/rescue.h: Likewise.
46820 * include/pupa/setjmp.h: Likewise.
46821 * include/pupa/symbol.h: Likewise.
46822 * include/pupa/term.h: Likewise.
46823 * include/pupa/types.h: Likewise.
46824 * include/pupa/i386/setjmp.h: Likewise.
46825 * include/pupa/i386/types.h: Likewise.
46826 * include/pupa/i386/pc/biosdisk.h: Likewise.
46827 * include/pupa/i386/pc/boot.h: Likewise.
46828 * include/pupa/i386/pc/console.h: Likewise.
46829 * include/pupa/i386/pc/init.h: Likewise.
46830 * include/pupa/i386/pc/kernel.h: Likewise.
46831 * include/pupa/i386/pc/linux.h: Likewise.
46832 * include/pupa/i386/pc/loader.h: Likewise.
46833 * include/pupa/i386/pc/memory.h: Likewise.
46834 * include/pupa/i386/pc/multiboot.h: Likewise.
46835 * include/pupa/i386/pc/partition.h: Likewise.
46836 * include/pupa/i386/pc/time.h: Likewise.
46837 * include/pupa/i386/pc/vga.h: Likewise.
46838 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
46839 * include/pupa/util/getroot.h: Likewise.
46840 * include/pupa/util/misc.h: Likewise.
46841 * include/pupa/util/resolve.h: Likewise.
46842 * kern/device.c: Likewise.
46843 * kern/disk.c: Likewise.
46844 * kern/dl.c: Likewise.
46845 * kern/err.c: Likewise.
46846 * kern/file.c: Likewise.
46847 * kern/fs.c: Likewise.
46848 * kern/loader.c: Likewise.
46849 * kern/main.c: Likewise.
46850 * kern/misc.c: Likewise.
46851 * kern/mm.c: Likewise.
46852 * kern/rescue.c: Likewise.
46853 * kern/term.c: Likewise.
46854 * kern/i386/dl.c: Likewise.
46855 * kern/i386/pc/init.c: Likewise.
46856 * kern/i386/pc/lzo1x.S: Likewise.
46857 * kern/i386/pc/startup.S: Likewise.
46858 * loader/i386/pc/chainloader.c: Likewise.
46859 * loader/i386/pc/linux.c: Likewise.
46860 * loader/i386/pc/multiboot.c: Likewise.
46861 * normal/cmdline.c: Likewise.
46862 * normal/command.c: Likewise.
46863 * normal/main.c: Likewise.
46864 * normal/menu.c: Likewise.
46865 * normal/i386/setjmp.S: Likewise.
46866 * term/i386/pc/console.c: Likewise.
46867 * term/i386/pc/vga.c: Likewise.
46868 * util/console.c: Likewise.
46869 * util/genmoddep.c: Likewise.
46870 * util/misc.c: Likewise.
46871 * util/pupa-emu.c: Likewise.
46872 * util/resolve.c: Likewise.
46873 * util/unifont2pff.rb: Likewise.
46874 * util/i386/pc/biosdisk.c: Likewise.
46875 * util/i386/pc/getroot.c: Likewise.
46876 * util/i386/pc/pupa-mkimage.c: Likewise.
46877 * util/i386/pc/pupa-setup.c: Likewise.
46878
e6eced71 468792004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46880
46881 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46882 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46883 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46884 reading and reset it after reading.
46885 (pupa_ext2_close): Return PUPA_ERR_NONE.
46886
46887 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46888 Correct value.
46889 (struct linux_kernel_header): Add kernel_version and
46890 initrd_addr_max.
46891 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46892 pupa_file_read succeeds.
46893 (pupa_rescue_cmd_initrd): Implement.
46894
5aded270 468952003-12-03 Marco Gerards <metgerards@student.han.nl>
46896
46897 * fs/ext2.c (pupa_ext2_label): New function.
46898 (pupa_ext2_fs): Added label.
46899 * fs/fat.c (pupa_fat_label): New function.
46900 (pupa_fat_fs): Added label.
46901 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46902
46903 * kern/misc.c (pupa_strndup): New function.
46904 * include/pupa/misc.h (pupa_strndup): New prototype.
46905
46906 * include/pupa/normal.h: Include <pupa/err.h>.
46907 (pupa_set_history): New prototype.
46908 (pupa_iterate_commands): New prototype.
46909 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46910 <pupa/disk.h>, <pupa/file.h>.
46911 (hist_size): New variable.
46912 (hist_lines): Likewise.
46913 (hist_end): Likewise.
46914 (hist_used): Likewise.
46915 (pupa_set_history): New function.
46916 (pupa_history_get): Likewise.
46917 (pupa_history_add): Likewise.
46918 (pupa_history_replace): Likewise.
46919 (pupa_tab_complete): Likewise.
46920 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46921 completion shows partitionnames while completing partitions, this
46922 feature was suggested by Jeff Bailey.
46923 * normal/command.c (pupa_iterate_commands): New function.
46924 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46925 (pupa_normal_init): Initialize history buffer.
46926 (PUPA_MOD_INIT): Likewise.
46927 (pupa_normal_fini): Free the history buffer.
46928 (PUPA_MOD_FINI): Likewise.
46929
46930 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46931 key.
46932
46933 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46934 * configure.ac [i386]: Check for regparam bug.
46935 (NESTED_FUNC_ATTR) [! i386]: Defined.
46936
1f7315a3 469372003-11-17 Marco Gerards <metgerards@student.han.nl>
46938
46939 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46940 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46941 (pupa_emu_SOURCES): New variable.
46942 (pupa_emu_LDFLAGS): Likewise.
46943 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46944 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46945 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46946 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46947 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46948 (pupa_jmp_buf): New typedef.
46949 (pupa_setjmp) [PUPA_UTIL]: New macro.
46950 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46951 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46952 (pupa_refresh): New prototype.
46953 * include/pupa/util/getroot.h: New file.
46954 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46955 it.
46956 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46957 (pupa_rescue_cmd_cat): Likewise.
46958 (pupa_rescue_cmd_ls): Likewise.
46959 (pupa_rescue_cmd_testload): Likewise.
46960 (pupa_rescue_cmd_lsmod): Likewise.
46961 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46962 * normal/menu.c (run_menu): Likewise.
46963 * kern/term.c (pupa_cls): Likewise.
46964 (pupa_refresh): New function.
46965 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46966 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46967 * util/console.c: New file.
f19dbdb7 46968
1f7315a3 46969 * util/i386/pc/getroot.c: New file.
46970 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46971 (pupa_putchar): New function.
46972 (pupa_refresh): Likewise.
46973 (xgetcwd): Function moved to ...
46974 (strip_extra_slashes): Likewise.
46975 (get_prefix): Likewise.
f19dbdb7 46976 * util/i386/pc/getroot.c: ... here.
1f7315a3 46977 (find_root_device): Function moved and renamed to...
46978 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46979 Changed all callers.
46980 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46981 and renamed to...
46982 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46983 Changed all callers.
46984 * util/misc.c (pupa_memalign): New function.
46985 (pupa_mm_init_region): Likewise.
46986 (pupa_register_exported_symbols): Likewise.
46987 (pupa_putchar): Function removed.
46988 * util/pupa-emu.c: New file.
46989
9a5c1ade 469902003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46991
46992 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46993 (_multiboot_mod_SOURCES): New variable.
46994 (_multiboot_mod_CFLAGS): Likewise.
46995 * loader/i386/pc/multiboot.c: New file.
46996 * include/pupa/i386/pc/multiboot.h: Likewise.
46997 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46998 (pupa_multiboot_real_boot): New function.
46999 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
47000 (pupa_multiboot_real_boot): New prototype.
47001 (pupa_rescue_cmd_multiboot): Likewise
47002 (pupa_rescue_cmd_module): Likewise.
47003
47004 * kern/loader.c (pupa_loader_set): Continue when
47005 pupa_loader_unload_func() fails.
47006 (pupa_loader_unset): New function.
47007 * include/pupa/loader.h (pupa_loader_unset): New prototype.
47008
47009 * kern/misc.c (pupa_stpcpy): New function.
47010 * include/pupa/misc.h (pupa_stpcpy): New prototype.
47011
8e72a9c0 470122003-11-12 Marco Gerards <metgerards@student.han.nl>
47013
47014 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
47015 for available extensions.
47016
47017 * include/pupa/i386/pc/time.h: New file.
47018 * kern/disk.c: Include <pupa/machine/time.h>.
47019 (PUPA_CACHE_TIMEOUT): New macro.
47020 (pupa_last_time): New variable.
47021 (pupa_disk_open): Flush the cache when there was a timeout.
47022 (pupa_disk_close): Reset the timer.
47023 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
47024 pupa_currticks.
47025 * util/misc.c: Include <sys/times.h>
47026 (pupa_get_rtc): New function.
47027
c4adbd32 470282003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47029
47030 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
47031 as blocks.
47032 (pupa_ext2_get_file_block): Use blocks member.
47033
47034 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
47035 first block. Return -1 instead of pupa_errno on error.
47036
bfd30f06 470372003-10-27 Marco Gerards <metgerards@student.han.nl>
47038
47039 * README: In the pupa-mkimage example use _chain instead of chain
47040 and ext2 instead of fat.
47041 * TODO: Replace ext2fs with jfs as an example. Add an item for
47042 adding journal playback for ext2fs.
47043 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
47044 (pkgdata_MODULES): Added ext2.mod.
47045 (ext2_mod_SOURCES): New variable.
47046 (ext2_mod_CFLAGS): Likewise.
47047 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
47048 * include/pupa/misc.h (pupa_strncpy): New prototype.
47049 (pupa_strcat): Likewise.
47050 (pupa_strncmp): Likewise.
47051 * kern/misc.c (pupa_strcat): Enable function.
47052 (pupa_strncpy): New function.
47053 (pupa_strncmp): Likewise.
47054 * fs/ext2.c: New file.
f19dbdb7 47055
bfd30f06 47056 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
47057 when the read failed before retrying.
47058 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
47059 (_FILE_OFFSET_BITS): Likewise.
47060 * configure.ac: Added AC_SYS_LARGEFILE.
47061
98d15063 470622003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
47063
47064 * genmk.rb (PModule#rule): Make sure to get only symbol names
47065 from the output of nm.
59cad637 47066 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 47067
18d9c7cd 470682003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
47069
47070 I forgot to check in these changes for a long time. This adds
47071 incomplete support for VGA console, and this is still very
47072 buggy. Also, a lot of consideration is required for I18N,
47073 UNICODE, and VGA font issues. Therefore, assume that this is
47074 such that "better than nothing".
f19dbdb7 47075
18d9c7cd 47076 * font/manager.c: New file.
47077 * include/pupa/font.h: Likewise.
47078 * include/pupa/i386/pc/vga.h: Likewise.
47079 * term/i386/pc/vga.c: Likewise.
47080 * util/unifont2pff.rb: Likewise.
47081
47082 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
47083 (pkgdata_MODULES): Added vga.mod and font.mod.
47084 (vga_mod_SOURCES): New variables.
47085 (vga_mod_CFLAGS): Likewise.
47086 (font_mod_SOURCES): Likewise.
47087 (font_mod_CFLAGS): Likewise.
47088
47089 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
47090
47091 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 47092 (struct pupa_term): Added init and fini.
18d9c7cd 47093 Changed the argument of putchar to pupa_uint32_t.
47094
47095 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
47096 (pupa_console_real_putchar): New prototype.
47097 (pupa_console_putchar): Removed.
47098 (pupa_console_checkkey): Exported.
47099 (pupa_console_getkey): Likewise.
47100
47101 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
47102 characters.
47103
47104 * kern/term.c (pupa_term_set_current): Rewritten.
47105 (pupa_putchar): Likewise.
47106 (pupa_putcode): New function.
47107
47108 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
47109 (pupa_console_real_putchar): ... this.
47110 (pupa_vga_set_mode): New function.
47111 (pupa_vga_get_font): Likewise.
47112
47113 * normal/command.c: Include pupa/term.h.
47114 (terminal_command): New function.
47115 (pupa_command_init): Register the command "terminal".
47116
47117 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
47118 (DISP_UP): Likewise.
47119 (DISP_RIGHT): Likewise.
47120 (DISP_DOWN): Likewise.
47121 (DISP_HLINE): Likewise.
47122 (DISP_VLINE): Likewise.
47123 (DISP_UL): Likewise.
47124 (DISP_UR): Likewise.
47125 (DISP_LL): Likewise.
47126 (DISP_LR): Likewise.
47127
47128 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 47129
977329f5 471302003-02-08 NIIBE Yutaka <gniibe@m17n.org>
47131
47132 * util/resolve.c (pupa_util_resolve_dependencies): BUG
47133 FIX. Reverse the path_list.
47134
47135 * include/pupa/normal.h: Export pupa_register_command and
47136 pupa_unregister_command.
47137
47138 * hello/hello.c (pupa_cmd_hello): New module.
47139 * conf/i386-pc.rmk: Added hello.mod.
47140
1f5ab428 471412003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
47142
47143 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 47144
1f5ab428 47145 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
47146 (compress_kernel): New variable.
47147 (generate_image): Heavily modified to support compressing a
47148 large part of the core image.
47149
47150 * util/misc.c (pupa_util_read_image): Fix a file descriptor
47151 leak.
47152 (pupa_util_load_image): New function.
47153
47154 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
47155 (pupa_compressed_size): New variable.
47156 (codestart): Enable Gate A20 here.
47157 Decompress the compressed part of the core image.
47158 Rearrange the code to put functions and variables which are
47159 required for initialization in the non-compressed part.
47160 Include lzo1x.S.
47161
47162 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
47163 here.
47164
47165 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
47166
f19dbdb7 47167 * include/pupa/i386/pc/kernel.h
1f5ab428 47168 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
47169 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
47170 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47171 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47172 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
47173
47174 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
47175
47176 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
47177 (Utility#rule): Likewise.
47178
47179 * configure.ac: Check if LZO is available.
47180
ce5bf700 471812003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
47182
47183 * include/pupa/normal.h: New file.
47184 * include/pupa/setjmp.h: Likewise.
47185 * include/pupa/i386/setjmp.h: Likewise.
47186 * normal/cmdline.c: Likewise.
47187 * normal/command.c: Likewise.
47188 * normal/main.c: Likewise.
47189 * normal/menu.c: Likewise.
47190 * normal/i386/setjmp.S: Likewise.
f19dbdb7 47191
ce5bf700 47192 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
47193 (pupa_rescue_cmd_initrd): Likewise.
47194
47195 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
47196 Likewise.
47197
47198 * kern/i386/pc/startup.S (translation_table): New variable.
47199 (translate_keycode): New function.
47200 (pupa_console_getkey): Call translate_keycode.
47201
47202 * kern/rescue.c (attempt_normal_mode): New function.
47203 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
47204 it failed, print a message.
47205
47206 * kern/mm.c (pupa_real_malloc): Print more information when a
47207 free magic is broken.
47208 (pupa_free): If the first free header is not free actually, set
47209 it to P.
47210
47211 * kern/main.c (pupa_load_normal_mode): Just load the module
47212 "normal".
47213 (pupa_main): Don't print the message
47214 "Entering into rescue mode..." here.
47215
47216 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
47217 Declared.
47218 (pupa_rescue_cmd_initrd): Likewise.
47219 (pupa_rescue_cmd_initrd): Likewise.
47220
47221 * include/pupa/symbol.h (FUNCTION): Specify the type.
47222 (VARIABLE): Likewise.
47223
47224 * include/pupa/err.h (pupa_err_t): Added
47225 PUPA_ERR_UNKNOWN_COMMAND.
47226
47227 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
47228 (pupa_dl_get_prefix): Likewise.
47229
47230 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
47231 Added _chain.mod and _linux.mod instead of chain.mod and
47232 linux.mod.
47233 (chain_mod_SOURCES): Renamed to ...
47234 (_chain_mod_SOURCES): ... this.
47235 (chain_mod_CFLAGS): Renamed to ...
47236 (_chain_mod_CFLAGS): ... this.
47237 (linux_mod_SOURCES): Renamed to ...
47238 (_linux_mod_SOURCES): ... this.
47239 (linux_mod_CFLAGS): Renamed to ...
47240 (_linux_mod_CFLAGS): ... this.
47241 (normal_mod_SOURCES): New variable.
47242 (normal_mod_CFLAGS): Likewise.
47243 (normal_mod_ASFLAGS): Likewise.
47244
472452003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
47246
47247 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
47248 possible.
47249
fe6b695a 47250 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 47251 recursively.
47252 (pupa_dl_unref): Unrefer depending modules recursively.
47253 Don't call pupa_dl_unload implicitly, because PUPA can crash if
47254 a module is unloaded before one depending on that module is
47255 unloaded.
47256 (pupa_dl_unload): Unload depending modules explicitly,
47257 if possible.
47258
c04da074 472592003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
47260
47261 * include/pupa/i386/pc/linux.h: New file.
47262 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 47263
c04da074 47264 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
47265 Removed.
47266 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
47267 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
47268 of PUPA_CHAINLOADER_BOOT_SECTOR.
47269
47270 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
47271 (pupa_linux_prot_size): New variable.
47272 (pupa_linux_tmp_addr): Likewise.
47273 (pupa_linux_real_addr): Likewise.
47274 (pupa_linux_boot_zimage): New function.
47275 (pupa_linux_boot_bzimage): Likewise.
47276
47277 * kern/i386/pc/init.c (struct mem_region): New structure.
47278 (MAX_REGIONS): New macro.
47279 (mem_regions): New variable.
47280 (num_regions): Likewise.
47281 (pupa_os_area_addr): Likewise.
47282 (pupa_os_area_size): Likewise.
47283 (pupa_lower_mem): Likewise.
47284 (pupa_upper_mem): Likewise.
47285 (add_mem_region): New function.
47286 (compact_mem_regions): Likewise.
47287 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
47288 the size of the conventional memory and that of so-called upper
47289 memory (before the first memory hole).
47290 Instead of adding each found region to free memory, use
47291 add_mem_region and add them after removing overlaps.
47292 Also, add only 1/4 of the upper memory to free memory. The rest
47293 is used for loading OS images. Maybe this is ad hoc, but this
47294 makes it much easier to relocate OS images when booting.
47295
47296 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
47297 (pupa_enter_rescue_mode): Don't register initrd and module.
47298
47299 * kern/mm.c: Include pupa/dl.h.
47300
47301 * kern/main.c: Include pupa/file.h and pupa/device.h.
47302
47303 * kern/loader.c (pupa_loader_load_module_func): Removed.
47304 (pupa_loader_load_module): Likewise.
47305
47306 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
47307 ``.o''.
47308
47309 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
47310 (pupa_linux_tmp_addr): Likewise.
47311 (pupa_linux_real_addr): Likewise.
47312 (pupa_linux_boot_zimage): Likewise.
47313 (pupa_linux_boot_bzimage): Likewise.
47314
47315 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
47316 (pupa_upper_mem): Likewise.
47317 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
47318 module is too dangerous.
47319
47320 * include/pupa/loader.h (pupa_os_area_addr): Declared.
47321 (pupa_os_area_size): Likewise.
47322 (pupa_loader_set): Remove the first argument. Loader doesn't
47323 manage modules or initrd any longer.
47324 (pupa_loader_load_module): Removed.
47325
47326 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
47327 (linux_mod_SOURCES): New variable.
47328 (linux_mod_CFLAGS): Likewise.
47329
a13f9237 473302003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
47331
47332 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
47333 the length of a blocklist correctly.
47334
47335 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
47336 Use ioctl only if the OS file is a block device.
47337 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
47338 not very useful for normal files.
47339
47340 * kern/main.c (pupa_set_root_dev): New function.
47341 (pupa_load_normal_mode): Likewise.
47342 (pupa_main): Call those above.
47343
47344 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
47345 pupa_uint16_t.
47346
47347 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
47348
a5ffe966 473492003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
47350
47351 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
47352 (setup): Configure the installed partition information and the
47353 dl prefix.
47354
47355 * loader/i386/pc/chainloader.c (my_mod): New variable.
47356 (pupa_chainloader_unload): New function.
47357 (pupa_rescue_cmd_chainloader): Refer itself.
47358 (PUPA_MOD_INIT): Save its own module in MY_MOD.
47359
47360 * kern/i386/pc/startup.S (install_partition): Removed.
47361 (version_string): Likewise.
47362 (config_file): Likewise.
47363 (pupa_install_dos_part): New variable.
47364 (pupa_install_bsd_part): Likewise.
47365 (pupa_prefix): Likewise.
47366 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
47367
47368 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
47369 and pupa/misc.h.
47370 (make_install_device): New function.
47371 (pupa_machine_init): Set the dl prefix.
47372
47373 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
47374 (buf): Renamed to ...
47375 (linebuf): ... this.
47376 (pupa_rescue_cmd_prefix): New function.
47377 (pupa_rescue_cmd_insmod): Likewise.
47378 (pupa_rescue_cmd_rmmod): Likewise.
47379 (pupa_rescue_cmd_lsmod): Likewise.
47380 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
47381 rmmod and lsmod.
47382
47383 * kern/mm.c (pupa_memalign): If failed even after invalidating
47384 disk caches, unload unneeded modules and retry.
47385
47386 * kern/misc.c (pupa_memmove): New function.
47387 (pupa_memcpy): Removed.
47388 (pupa_strcpy): New function.
47389 (pupa_itoa): Made static.
47390
47391 * kern/dl.c (pupa_dl_iterate): New function.
47392 (pupa_dl_ref): Likewise.
47393 (pupa_dl_unref): Likewise.
47394 (pupa_dl_unload): Return if succeeded or not.
47395 (pupa_dl_unload_unneeded): New function.
47396 (pupa_dl_unload_all): Likewise.
47397 (pupa_dl_init): Renamed to ...
47398 (pupa_dl_set_prefix): ... this.
47399 (pupa_dl_get_prefix): New function.
47400
47401 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
47402 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
47403 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47404 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47405 (pupa_install_dos_part): Declared.
47406 (pupa_install_bsd_part): Likewise.
47407 (pupa_prefix): Likewise.
47408 (pupa_boot_drive): Likewise.
47409
47410 * include/pupa/types.h: Fix a typo.
47411
47412 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
47413 pupa_memmove.
47414 (pupa_memmove): Declared.
47415 (pupa_strcpy): Likewise.
47416
47417 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
47418 pupa_mod_init takes one argument, its own module.
47419 (pupa_dl_unload_unneeded): Declared.
47420 (pupa_dl_unload_all): Likewise.
47421 (pupa_dl_ref): Likewise.
47422 (pupa_dl_unref): Likewise.
47423 (pupa_dl_iterate): Likewise.
47424 (pupa_dl_init): Renamed to ...
47425 (pupa_dl_set_prefix): ... this.
47426 (pupa_dl_get_prefix): Declared.
47427
47428 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 47429 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 47430 unloaded.
47431 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
47432 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
47433
47434 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
47435 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
47436
012d7999 474372003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47438
47439 * util/i386/pc/pupa-setup.c (setup): Define the internal
47440 function find_first_partition_start at the top level, because GCC
47441 3.0.x cannot compile internal functions in deeper scopes
47442 correctly.
47443 (find_root_device): Use lstat instead of stat.
47444 Don't follow symbolic links.
47445 Fix the path-constructing code.
47446
47447 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
47448 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
47449 by a BLKGETSIZE ioctl first, because block devices don't fill
47450 the member st_mode of the structure stat on Linux.
47451 [__linux__] (linux_find_partition): Use a temporary buffer
47452 REAL_DEV for the working space. Copy it to DEV before returning.
47453 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
47454 buffer cache consistent.
47455 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
47456 strncmp. The previous value was merely wrong.
47457 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
47458
47459 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
47460 FAT size is 12. The previous value was merely wrong.
47461
47462 * kern/main.c (pupa_main): Don't split the starting message from
47463 newlines.
47464
47465 * kern/term.c (pupa_putchar): Put CR after LF instead of before
47466 LF, because BIOS goes crazy about character attributes in this
47467 case.
47468
1cc73a62 474692003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47470
47471 * include/i386/pc/util/biosdisk.h: New file.
47472 * util/i386/pc/biosdisk.c: Likewise.
47473 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 47474
1cc73a62 47475 * Makefile.in (INCLUDE_DISTFILES): Added
47476 include/pupa/i386/pc/util/biosdisk.h.
47477 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
47478 directory util/i386/pc.
47479 (install-local): Added a rule for sbin_UTILITIES.
47480 (uninstall): Likewise.
47481
47482 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
47483
47484 * util/misc.c (xrealloc): New function.
47485 (pupa_malloc): Likewise.
47486 (pupa_free): Likewise.
47487 (pupa_realloc): Likewise.
47488 (pupa_stop): Likewise.
47489 (pupa_putchar): Likewise.
47490
47491 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
47492
47493 * include/pupa/util/misc.h (xrealloc): Declared.
47494
47495 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
47496 macro.
47497 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
47498 (PUPA_BOOT_MACHINE_BPB_END): ... this.
47499
47500 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
47501 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47502
47503 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
47504 way should be implemented.
47505 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47506
47507 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
47508 the size of NAME for safety.
47509 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
47510 0x88.
47511
47512 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
47513 (pupa_setup_SOURCES): Likewise.
47514
47515 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
47516
08b70fe8 475172002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47518
47519 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
47520 bunch of pushl's from pusha, because this destroys the return
47521 value.
47522
62ddcc8f 475232002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47524
47525 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
47526 This means that any missing prototypes could be fatal. Also, you
47527 must take care when writing assembly code. See the comments at
47528 the beginning of startup.S, for more details.
f19dbdb7 47529
62ddcc8f 47530 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
47531 compilation mechanism.
47532 (pupa_chainloader_real_boot): Likewise.
47533 (pupa_biosdisk_rw_int13_extensions): Likewise.
47534 (pupa_biosdisk_rw_standard): Likewise.
47535 (pupa_biosdisk_check_int13_extensions): Likewise.
47536 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
47537 (pupa_biosdisk_get_diskinfo_standard): Likewise.
47538 (pupa_get_memsize): Likewise.
47539 (pupa_get_mmap_entry): Likewise.
47540 (pupa_console_putchar): Likewise.
47541 (pupa_console_setcursor): Likewise.
47542 (pupa_getrtsecs): Use pushl instead of push.
47543
47544 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
47545 memory instead of the stack for a mmap entry, because some
47546 BIOSes may ignore the maximum size and overflow.
47547
47548 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
47549
47550 * genmk.rb (PModule#rule): Compile automatically generated
47551 sources with module-specific CFLAGS as well as other sources.
47552
9962ed99 475532002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47554
47555 * configure.ac: Check ld.
47556 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
47557 respectively, before checking endianness and sizes.
47558
47559 * Makefile.in (LD): New variable.
f19dbdb7 47560
abdfc3c5 475612002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47562
47563 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
47564
6a161fa9 475652002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47566
47567 * Changelog: New file.
47568