]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/getroot.c (grub_find_root_devices_from_btrfs): Add
[grub2.git] / ChangeLog
CommitLineData
7931dddf
VS
12012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
4 missing initialisation.
5
f1b16fa3
VS
62012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
9
83ddae23
VS
102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11
12 Support v2 xnu boot arguments.
13
14 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
15 New argument fsbfreq_out.
16 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
17 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
18 be used.
19 * grub-core/loader/machoXX.c (grub_macho_load): New argument
20 darwin_version.
21 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
22 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
23 (grub_xnu_boot_params): Rename to ...
24 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
25 (grub_xnu_boot_params_v2): New struct.
26
dc693fe6
VS
272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
30 zeroing of CRC field before computing CRC.
31
5a6e39c2
VS
322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
35 Change order of allocations to decrease fragmentation.
36
6c21f5d7
VS
372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
40
cfe456dc
CW
412012-02-27 Colin Watson <cjwatson@ubuntu.com>
42
43 Use write-combining MTRR to speed up video with buggy BIOSes.
44
45 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
46 (cpuid): New define.
47 (rdmsr): Likewise.
48 (wrmsr): Likewise.
49 (mtrr_base): Likewise.
50 (mtrr_mask): Likewise.
51 (grub_vbe_enable_mtrr_entry): New function.
52 (grub_vbe_enable_mtrr): Likewise.
53 (grub_vbe_disable_mtrr): Likewise.
54 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
55 control off to BIOS.
56 (grub_video_vbe_init): Fill mtrr.
57 (grub_video_vbe_fini): Disable mtrr.
58 (grub_video_vbe_get_info_and_fini): Likewise.
59 (grub_video_vbe_setup): Enable mtrr.
60
e3c78337
CW
612012-02-27 Colin Watson <cjwatson@ubuntu.com>
62
63 * include/grub/partition.h (grub_partition_map): Change prototype of
64 embed to take a maximum value for nsectors.
65 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
66 * include/grub/fs.h (grub_fs): Likewise.
67 * grub-core/partmap/msdos.c (embed_signatures): New array.
68 (pc_partition_map_embed): Check for and avoid sectors matching any
69 of the signatures in embed_signatures, up to max_nsectors.
70 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
71 returned sector map to max_nsectors.
72 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
73 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
74 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
75 * util/grub-setup.c (setup): Allow for the embedding area being
76 split into multiple blocklists. Tell dest_partmap->embed the
77 maximum number of sectors we care about.
78
792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
82 Specify blocklist_install and reserver_first_sector for all fs.
83 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
84 blocklists.
85
984b973f
VS
862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
87
88 * util/grub-install.in: Clarify strings.
89 Fix source dir check.
90
f122e0d6
RL
912012-02-27 Richard Laager <rlaager@wiktel.com>
92
93 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
94 "zfs" and "fuse.zfs" as synonyms.
95
071114bb
VS
962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * configure.ac: Put platform and target_cpu substitutions back since
99 they are used for directories.
100
817e6abc
RL
1012012-02-27 Richard Laager <rlaager@wiktel.com>
1022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * util/grub.d/10_linux.in: Add ZFS-related arguments.
105 * util/grub.d/20_linux_xen.in: Likewise.
106
897b7419
RL
1072012-02-27 Richard Laager <rlaager@wiktel.com>
108
109 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
110 with full paths.
111
a414bd15
RL
1122012-02-27 Richard Laager <rlaager@wiktel.com>
113
114 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
115 unescape.
116
30ac48c4
VS
1172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
118
119 Don't use insecure popen in getroot.
120
121 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
122 (exec_pipe): ... here.
123 (find_root_devices_from_poolname): Use exec_pipe.
124
53f13848
VS
1252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
126
127 Remove platform and target_cpu replacement.
128
129 * configure.ac: Remove platform and target_cpu substitutions.
130 * tests/util/grub-shell.in: Use modinfo.
131 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
132 explicitly.
133
90cb2803
VS
1342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
135
136 Autodetect platform in grub-install but allow override.
137
138 * util/grub-install.in: Autodetect platform. Support --target and
139 --directory. Read platform from modinfo.sh.
140
b9136427
VS
1412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
142
143 Support btrfs multi-volume probe.
144
145 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
146 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
147 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
148 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
149 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
150 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
151 grub_find_root_devices_from_btrfs if on btrfs.
152
c36e5cd1
VS
1532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
154
155 Remove any awareness of *.c util files about target.
156
157 * Makefile.util.def (grub-setup): Split to ...
158 (grub-bios-setup): ... and this.
159 (grub-sparc64-setup): ... and this.
160 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
161 * docs/man/grub-setup.h2m: Split into ...
162 * docs/man/grub-sparc64-setup.h2m: ... this.
163 * docs/man/grub-bios-setup.h2m: ... and this.
164 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
165 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
166 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
167 (grub_target_addr_t): Remove.
168 (grub_target_size_t): Remove.
169 (grub_target_ssize_t): Remove.
170 * util/grub-install.in: Use new grub-*-setup.
171 * util/grub-mkimagexx.c (Elf_Word): New define.
172 (Elf_Half): Likewise.
173 (Elf_Section): Likewise.
174 (ELF_ST_TYPE): Likewise.
175 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
176 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
177
584b2f8a
VS
1782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
179
180 Replace grub_target_addr with more appropriate types.
181
182 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
183 grub_target_addr with grub_addr.
184 * grub-core/commands/iorw.c (grub_cmd_read): Replace
185 grub_target_addr with grub_port.
186 (grub_cmd_write): Likewise.
187 * grub-core/commands/memrw.c (grub_cmd_read): Replace
188 grub_target_addr with grub_addr.
189 (grub_cmd_write): Likewise.
190 * grub-core/video/efi_uga.c (find_line_len): Likewise.
191
5a0dc6fb
VS
1922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
193
194 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
195 const qualifier for vendor_guid.
196
786aff6e
VS
1972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
200 const qualifier.
201 (efiemu_memequal): Likewise.
202 (find_variable): Likewise.
203
49017b17
VS
2042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
205
206 Fix missing console prototype on qemu-mips.
207
208 * include/grub/mips/qemu_mips/console.h: New file.
209
c5988629
MG
2102012-02-27 Matthew Garrett <mjg@redhat.com>
2112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
212
213 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
214 * include/grub/efi/efi.h: Likewise.
215 * include/grub/efi/api.h: Add guid for EFI-specified variables.
216 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
217 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
218 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
219 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
220 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
221
e33f8d69
MG
2222012-02-27 Matthew Garrett <mjg@redhat.com>
223
224 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
225
fb312cd9
VS
2262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
227
228 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
229 error.
230
7134247c
VS
2312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * configure.ac: Remove inappropriate use of program_transform_name
234 on grubdir and bootdir but allow explicit specification of those
235 variables.
236
6a313124
VS
2372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * util/grub-mknetdir.in (grub_prefix): Removed.
240 (subdir): Use @bootdirname@ and @grubdirname@.
241
2311c5ca
VS
2422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
243
244 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
245
7d5d60f7
VS
2462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * po/POTFILES.in: Regenerated.
249
8151bc82
VS
2502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
251
252 Remove improper use of program_transform_name on pkglibrootdir.
253
254 * configure.ac (pkglibrootdir): Removed.
255 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
256 * util/grub-mkimage.c: Likewise.
257
b4a6a533
VS
2582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
259
260 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
261 warning.
262
668f304f
VS
2632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
264
265 * util/grub-install.in: Use file identifier if no UUID is available
266 or user explicitly prompted for it.
267
665f2341
NP
2682012-02-27 Navdeep Parhar <nparhar@gmail.com>
269
270 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
271 (freebsd_get_zfs): New function.
272 (grub_freebsd_boot): Pass zfs UUID.
273 (grub_cmd_freebsd): Set zfs UUID.
274
8151bc82 2752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
276
277 * conf/Makefile.common (platformdir): Base on pkglibdir and not
278 pkglibrootdir.
279
e4c498a1
MG
2802012-02-27 Mike Gilbert <floppym@gentoo.org>
281
282 Add configure flag to control libzfs integration.
283
284 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
285
1e9a9a3f
VS
2862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
289 device.
290 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
291 small devices.
292
036985b8
VS
2932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
294
295 Remove grub_{modname}_init and grub_{modname}_fini. They should never
296 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
297 be used on non-modules.
298
299 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
300 Rename to grub_boot_init.
301 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
302 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
303 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
304 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
305 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
306 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
307 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
308 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
309 includes.
310 (grub_machine_init): Remove empty inits.
311 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
312 includes.
313 (grub_machine_init): Remove empty inits.
314 * grub-core/term/arc/console.c: Remove explicit proto.
315 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
316 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
317 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
318 grub_at_keyboard_fini.
319 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
320 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
321 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
322 grub_gfxterm_fini.
323 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
324 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
325 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
326 grub_vgatext_fini.
327 * grub-core/term/ieee1275/console.c: Remove explicit proto.
328 * grub-core/term/serial.c (GRUB_MOD_INIT)
329 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
330 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
331 grub_serial_fini.
332 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
333 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
334 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
335 grub_terminfo_fini.
336 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
337 (GRUB_MOD_FINI): Likewise.
338 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
339 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
340 (GRUB_MOD_FINI) [LOONGSON]: Rename to
341 grub_video_radeon_fuloong2e_fini.
342 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
343 [LOONGSON]: Rename to grub_video_sis315pro_init.
344 (GRUB_MOD_FINI) [LOONGSON]: Rename to
345 grub_video_sis315pro_fini.
346 * grub-core/video/sm712.c (GRUB_MOD_INIT)
347 [LOONGSON]: Rename to grub_video_sm712_init.
348 (GRUB_MOD_FINI) [LOONGSON]: Rename to
349 grub_video_sm712_fini.
350 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
351 (grub_at_keyboard_fini): Likewise.
352 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
353 Don't declare grub_{modname}_init.
354 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
355 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
356 New proto.
357 (grub_keylayouts_fini) [!EMU]: Likewise.
358 * include/grub/serial.h (grub_serial_init) [!EMU]:
359 New proto.
360 (grub_serial_fini) [!EMU]: Likewise.
361 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
362 New proto.
363 (grub_terminfo_fini) [!EMU]: Likewise.
364 * include/grub/video.h (grub_font_init) [!EMU]:
365 New proto.
366 (grub_font_fini) [!EMU]: Likewise.
367 (grub_gfxterm_init) [!EMU]: Likewise.
368 (grub_gfxterm_fini) [!EMU]: Likewise.
369 (grub_video_sm712_init) [!EMU]: Likewise.
370 (grub_video_sm712_fini) [!EMU]: Likewise.
371 (grub_video_sis315pro_init) [!EMU]: Likewise.
372 (grub_video_sis315pro_fini) [!EMU]: Likewise.
373 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
374 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
375
d5534665
VS
3762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
377
378 Make nand a prefix for nand devices.
379
380 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
381
10133b5f
VS
3822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
385 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
386
8e307a62
VS
3872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * include/grub/env.h (grub_env_find): Remove prototype.
390 * grub-core/kern/env.c (grub_env_find): Make static.
391 (grub_env_set): Remove useless set.
392
a4c65f34
VS
3932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * grub-core/kern/i386/realmode.S: Remove useless align.
396
d87893d5
VS
3972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * include/grub/dl.h (grub_dl_load_file): Don't export.
400
50159add
VS
4012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
404 grub_dprintf.
405
b2582b84
VS
4062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
407
408 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
409 grub_errors.
410 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
411 not reloading whole superblock but only the part which is really needed.
412 Remove useless grub_errors.
413 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
414 grub_errors.
415
e2a83395
VS
4162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
417
418 Don't export grub_get_rtc.
419
420 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
421 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
422
e7d2a906
VS
4232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
426
6cf1363b
VS
4272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 430 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 431
eece3349
VS
4322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
433
434 Remove prio_list.
435
436 * include/grub/list.h (grub_prio_list): Removed.
437 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
438 GRUB_COMMAND_PRIO_MASK.
439 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
440 GRUB_COMMAND_FLAG_ACTIVE.
441 (grub_prio_list_insert): Removed.
442 (grub_prio_list_remove): Likewise.
443 (GRUB_AS_PRIO_LIST): Likewise.
444 (GRUB_AS_PRIO_LIST_P): Likewise.
445 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
446 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
447 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
448 * grub-core/kern/command.c (grub_register_command_prio): Inline
449 the prio_list code.
450 (grub_unregister_command): Likewise.
451
94f064b4
VS
4522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
453
454 Fix interrupt mixup from previous commit.
455
456 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
457 (grub_realidt): New var.
458 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
459 Load idt.
460 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
461 New declaration.
462 (grub_relocator16_boot): Set grub_relocator16_idt.
463 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
464 (LOCAL(realidt)): ... this.
465 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
466 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
467 (grub_realidt): New variable.
468
27317084
VS
4692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
472 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
473 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
474 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
475 Gettextize.
476 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
477 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
478 * po/POTFILES.in: Regenerate.
479
47b40053
VS
4802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
483 errors.
484
2b343101
VS
4852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
488 \0.
489 (add_length): Likewise.
490
ff27c3dd
LK
4912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4922012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
493
494 GDB serial and backtrace support.
495
496 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
497 (prot_to_real): Likewise.
498 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
499 * grub-core/Makefile.core.def (backtrace): New module.
500 (gdb): Likewise.
501 * grub-core/gdb/cstub.c: New file.
502 * grub-core/gdb/gdb.c: Likewise.
503 * grub-core/gdb/i386/idt.c: Likewise.
504 * grub-core/gdb/i386/machdep.S: Likewise.
505 * grub-core/gdb/i386/signal.c: Likewise.
506 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 507 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
508 * include/grub/backtrace.h: Likewise.
509 * include/grub/gdb.h: Likewise.
510 * include/grub/i386/gdb.h: Likewise.
511
5122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
513
514 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
515 New function.
516 (add_length): Likewise.
517 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
518 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
519 proto.
520 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
521 __argp_get_display_len.
522
ff27c3dd 5232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
524
525 $"..." support in scripts.
526
527 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
528 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
529 * grub-core/script/yylex.l: Likewise.
530 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
531 value.
532
ff27c3dd 5332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
534
535 * gentpl.py: Remove obsolete pkglib_DATA handling.
536
ff27c3dd 5372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
538
539 Don't transform PACKAGE_TARNAME following a discussion on autoconf
540 mailing list.
541
542 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
543 * util/grub-kbdcomp.in: Likewise.
544 * util/grub-mkconfig.in: Likewise.
545 * util/grub-mkconfig_lib.in: Likewise.
546 * util/grub-mknetdir.in: Likewise.
547 * util/grub-mkrescue.in: Likewise.
548 * util/grub-mkstandalone.in: Likewise.
549 * util/grub-reboot.in: Likewise.
550 * util/grub-set-default.in: Likewise.
551 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
552
ff27c3dd 5532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
554
555 Remove GRUB_PREFIX.
556
557 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
558 * util/grub.d/00_header.in: Compute prefix in the only place it's still
559 used for backward compatibility.
560
ff27c3dd 5612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
562
563 Add new all_video module.
564
565 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
566 * grub-core/Makefile.core.def (all_video): New module.
567 * grub-core/genmoddep.awk: Generate dependency of all_video from
568 video.lst.
569 * grub-core/lib/fake_module.c: New file.
570 * grub-core/normal/main.c (features): Add feature_all_video_module.
571 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
572 don't do explicit search again.
47454da5 573 insmod all_video in load_video if available.
22c7ce85 574
ff27c3dd 5752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
576
577 Another round of string clarification and adding TRANSLATORS comments.
578
ff27c3dd 5792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
580
581 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
582
ff27c3dd 5832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
584
585 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
586 to grub_ssize_t.
587 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
588 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
589
ff27c3dd 5902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
591
592 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
593 trailing newline implicitly. All users updated.
594
ff27c3dd 5952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
596
597 Implement serial on IEEE1275 and EFI.
598
599 * docs/grub.texi (Platform-specific limitations): Fix the columen video
600 on emu. Mention arc and emu as the only platforms without serial
601 support.
602 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
603 ieee1275 platforms.
604 * grub-core/term/efi/serial.c: New file.
605 * grub-core/term/ieee1275/serial.c: Likewise.
606 * grub-core/term/serial.c (grub_serial_find): Disable direct port
607 specification if no ns8250 driver is available.
608 (grub_cmd_serial): Likewise.
609 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
610 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
611 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
612 (grub_efi_parity_type_t): New type.
613 (grub_efi_stop_bits_t): Likewise.
614 (grub_efi_serial_io_interface): New struct.
615 * include/grub/serial.h (grub_serial_port): Make 'broken' field
616 available for all interfaces.
617 Add EFI and IEEE1275 fields.
618 (grub_ofserial_init): New proto.
619 (grub_efiserial_init): Likeiwse.
620 * util/grub.d/00_header.in: Don't check for the presence of serial
621 module.
622
ff27c3dd 6232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
624
625 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
626 name as if it was an alias.
627
114076ef
VS
6282012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
629
630 * grub-core/commands/lsacpi.c (options): Fix typo.
631
6a656b0e
VS
6322012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
633
634 Convert grub-emu to argp.
635
636 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
637 emu.
638 * util/argp_common.c: Rename to ...
639 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
640 Add missing includes.
641 * grub-core/kern/emu/main.c: Convert to argp.
642 * po/POTFILES.in: Regenerate.
643 * util/grub-install.in (usage): Make first letter lowcase in messages
644 for uniformity.
645 * util/grub-setup.c (options): Likewise.
646
1e3f8ae8
VS
6472012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
648
649 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
650 Put back accidently commented-out code.
651
ed167a80
VS
6522012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
655 loop check using Brent algorithm.
656 (grub_hfsplus_btree_search): Likewise.
657
6753c0ec
VS
6582012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * util/grub-install.in: Fix usage of wrong device for PreP install.
661
4e27343f
VS
6622012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * conf/Makefile.common (CFLAGS_GNULIB): Add
665 -Wno-unsafe-loop-optimizations.
666 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
667 on tools.
668 * grub-core/commands/legacycfg.c: Add pragma to skip
669 -Wunsafe-loop-optimizations.
670 (check_password_md5_real): Fix loop counter type.
671 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
672 reading.
673 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
674 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
675 loop condition.
676 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
677 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
678 * grub-core/net/net.c (grub_net_route_address): Add safety loop
679 condition.
680 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
681 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
682 avoid possible infinite loops.
683 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
684 and -Wunsafe-loop-optimizations.
685 * grub-core/script/yylex.l: Likewise.
686 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
687 (print_glyphs): Avoid infinite loops.
688 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
689
697f18b0
GS
6902012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
691
692 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
693 to avoid infinite loop.
694 (disp_acpi_rsdt_table): Likewise.
695
274416e8
VS
6962012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
697
698 * grub-core/font/font.c (grub_font_load): Add support for default
699 path for fonts ($prefix/fonts).
700 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
701 for checking if string is a path.
702 * grub-core/normal/main.c (features): Add feature_default_font_path.
703 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
704 * util/grub.d/00_header.in: Use default directory if possible.
705 * util/grub-install.in: Install unicode.pf2.
706
b3e08622
VS
7072012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
710 * po/Rules-swiss: New file.
711 * po/swiss.sed: Likewise.
712
fe42ce09
VS
7132012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * grub-core/fs/btrfs.c (find_device): Fix typos.
716 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
717 * util/grub-mkrelpath.c (argp_parser): Likewise.
718 Reported by: Yuri Chornoivan.
719
72f1d065
DO
7202012-02-23 Dalet Omega <daletomega@gmail.com>
721
722 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
723 for usual informative messages.
724
c5884973
DO
7252012-02-23 Dalet Omega <daletomega@gmail.com>
726
727 Starfield theme.
728
729 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
730 * conf/Makefile.common: Define starfielddir.
731 * configure.ac: Configure starfield.
732 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
733 * themes/starfield/README: Likewise.
734 * themes/starfield/blob_w.png: Likewise.
735 * themes/starfield/boot_menu_c.png: Likewise.
736 * themes/starfield/boot_menu_e.png: Likewise.
737 * themes/starfield/boot_menu_n.png: Likewise.
738 * themes/starfield/boot_menu_ne.png: Likewise.
739 * themes/starfield/boot_menu_nw.png: Likewise.
740 * themes/starfield/boot_menu_s.png: Likewise.
741 * themes/starfield/boot_menu_se.png: Likewise.
742 * themes/starfield/boot_menu_sw.png: Likewise.
743 * themes/starfield/boot_menu_w.png: Likewise.
744 * themes/starfield/slider_c.png: Likewise.
745 * themes/starfield/slider_n.png: Likewise.
746 * themes/starfield/slider_s.png: Likewise.
747 * themes/starfield/src/blob_nw.xcf: Likewise.
748 * themes/starfield/src/bootmenu/: Likewise.
749 * themes/starfield/src/bootmenu/center.xcf: Likewise.
750 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
751 * themes/starfield/src/bootmenu/side.xcf: Likewise.
752 * themes/starfield/src/slider_c.xcf: Likewise.
753 * themes/starfield/src/slider_n.xcf: Likewise.
754 * themes/starfield/src/slider_s.xcf: Likewise.
755 * themes/starfield/src/terminalbox/: Likewise.
756 * themes/starfield/src/terminalbox/center.xcf: Likewise.
757 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
758 * themes/starfield/src/terminalbox/side.xcf: Likewise.
759 * themes/starfield/starfield.png: Likewise.
760 * themes/starfield/terminal_box_c.png: Likewise.
761 * themes/starfield/terminal_box_e.png: Likewise.
762 * themes/starfield/terminal_box_n.png: Likewise.
763 * themes/starfield/terminal_box_ne.png: Likewise.
764 * themes/starfield/terminal_box_nw.png: Likewise.
765 * themes/starfield/terminal_box_s.png: Likewise.
766 * themes/starfield/terminal_box_se.png: Likewise.
767 * themes/starfield/terminal_box_sw.png: Likewise.
768 * themes/starfield/terminal_box_w.png: Likewise.
769 * themes/starfield/theme.txt: Likewise.
770
17d73325
VS
7712012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * util/grub.d/00_header.in: Add missing export theme.
774
dbebaf92
VS
7752012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
778 already included.
779 Reported by: Eren D.
780
3d68bffb
VS
7812012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * conf/Makefile.common (grubdatadir): Removed.
784 (Makefile.am): Move eveything grubdata to pkgdata.
785
4b59234d
VS
7862012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * grub-core/commands/acpihalt.c (get_sleep_type):
789 Remove unused variable.
790
463dcadc
VS
7912012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
794 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
795 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
796 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
797 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
798 i18n with gettext no-op.
799 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
800 GRUB_ACPI_OPCODE_STRING_CONST.
801 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
802 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
803
e5b90c82
VS
8042012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * po/POTFILES.in: Regenerate.
807
2a704ca9
VS
8082012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
811 -Wno-error=missing-noreturn.
812
84f9d341
VS
8132012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
814
815 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
816 condition to avoid possibly infinite loops.
817 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
818 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
819
d46683f9
VS
8202012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
823 condition to avoid possibly infinite loops.
824
c44866b2
VS
8252012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
828 on show_error.
829
96790539
VS
8302012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
833
1ba7e295
VS
8342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
837
21ffe8f1
VS
8382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * util/bin2h.c (usage): Add missing attribute noreturn.
841
0ccb6b3c
VS
8422012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
845 if the size isn't divisible by 512.
846
b00d7fb6
VS
8472012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
848
849 Make list_push and list_remove functions rather than inline functions
850 to decrease size and avoid aliasing violations.
851
852 * include/grub/list.h (grub_list_push): Move to ...
853 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
854 * include/grub/list.h (grub_list_remove): Move to ...
855 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
856
9d369087
VS
8572012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
860 and -Wunused-result.
861
af0250d9
VS
8622012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
865 Reported by: Seth Goldberg
866
aad32b14
VS
8672012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
870
ac96441c
ST
8712012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
872
873 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
874 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
875 command line.
876 * docs/grub.texi (Simple configuration): Document
877 GRUB_CMDLINE_GNUMACH.
878
8792012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
880
881 * conf/Makefile.common (platform_SCRIPTS): New variable.
882 (platform_PROGRAMS): Likewise.
883 * gentpl.py: Mark *,module and *.image for install.
884 * grub-core/gdb_grub.in: Add a notice of expected environment.
885 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
886 (gmodule.pl): Likewise.
887
ac96441c 8882012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
889
890 Replace grub_checkkey with grub_getkey_noblock.
891
892 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
893 (grub_getkey_noblock): ... this. All users updated.
894
ac96441c 8952012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
896
897 * grub-core/kern/emu/console.c: Move to ...
898 * grub-core/term/emu/console.c: ...here.
899 (grub_ncurses_getkey): Fix return value if no key is detected.
900
e51b5666
VS
9012012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
904 (grub_unit_test_fini): Likewise.
905 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
906
9072012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * include/grub/test.h (GRUB_UNIT_TEST)
910
d9a62292
VS
9112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/script/execute.c (grub_script_break): Clarify logic.
914 Better error handling.
915 (grub_script_return): Likewise.
916 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
917
77c9182f
VS
9182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
919
920 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
921 rimplicit redifinition.
922
edb13cf9
VS
9232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
924
925 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
926 GRUB.
927
a9e9dc7c
VS
9282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
931 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
932 prompt here.
933
b4ba8e02
VS
9342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
935
936 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
937 as GRUB_ERR_BUG. Don't malloc if no device is available.
938
dded5540
VS
9392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
942 Mark calling with invalid term as GRUB_ERR_BUG.
943
0cf69874
VS
9442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
947 packets rather than raising an error.
948
59bfe502
VS
9492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
952 in if.
953
db5fc596
VS
9542012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
957 diagnostic to dprintf.
958 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
959
e4b7f404
VS
9602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
963 device name.
964
e7b02f9e
VS
9652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
968 (grub_ntfs_iterate_dir): Likewise.
969
0331e102
VS
9702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
971
972 Efiemu stylistic fixes and gettext.
973
974 * grub-core/efiemu/i386/loadcore32.c
975 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
976 * grub-core/efiemu/i386/loadcore64.c
977 (grub_arch_efiemu_relocate_symbols64): Likewise.
978 * grub-core/efiemu/i386/pc/cfgtables.c
979 (grub_machine_efiemu_init_tables): Likewise.
980 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
981 (grub_efiemu_loadcore_initXX): Add a filename argument.
982 All users updated.
983 Improved error message.
984 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
985 Add a filename argument.
986 All users updated.
987 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
988 Reclassify double relocation as GRUB_ERR_BUG.
989
306fc074
VS
9902012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
993 handling.
994
794d8ef2
VS
9952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
996
997 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
998 on partition.
999
10002012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
1001
1002 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
1003
794d8ef2 10042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
1005
1006 Improve string. Gettextize.
1007
78dde88e
VS
10082012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
1011 utils.
1012 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
1013
4786a90f
VS
10142012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
1017 [GRUB_UTIL]: New function.
1018 (insert_array) [GRUB_UTIL]: Store partmaps.
1019 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
1020 partmaps.
1021 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
1022 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
1023 (probe_abstraction): Print diskfilter and not raid.
1024 Reported by: Lennart Sorensen
1025
0b6225bd
VS
10262012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
1029 * util/grub-mkimagexx.c (MASK3): New define.
1030 (add_value_to_slot_20b): Use MASK3.
1031 (add_value_to_slot_21): Likewise.
1032 (relocate_addresses): Fix format specification.
1033 (load_image): Explicitly init symtab_section.
1034
b055f8f6
VS
10352012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
1038 (grub_util_biosdisk_get_grub_dev): Fix format specification.
1039
b77c2fb7
VS
10402012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
1043 on powerpc.
1044 Reported by: Lennart Sorensen
1045
e3ec28ab
VS
10462012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * gentpl.py: Add missing license header.
1049 * docs/grub.texi: Update copyright year.
1050
c8d9ead6
GS
10512012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
1052
1053 Source grub-mkconfig_lib from the build directory at build time.
1054 Suggested by: Vladimir Serbinenko.
1055
1056 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
1057 * util/grub-install.in: Define pkgdatadir if not already set, and source
1058 grub-mkconfig_lib from there.
1059 * util/grub-kbdcomp.in: Likewise.
1060 * util/grub-mkconfig.in: Likewise.
1061 * util/grub-mknetdir.in: Likewise.
1062 * util/grub-mkrescue.in: Likewise.
1063 * util/grub-mkstandalone.in: Likewise.
1064 * util/grub-reboot.in: Likewise.
1065 * util/grub-set-default.in: Likewise.
1066 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1067
ebcecdf1
VS
10682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 Increase warning level.
1071
1072 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
1073 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
1074 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
1075 (TARGET_CFLAGS): Likewise.
1076 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
1077 * grub-core/Makefile.core.def (decompressor_xz): Add
1078 -Wno-unreachable-code.
1079 (normal): Add -Wno-redundant-decls.
1080 (xzio): Add -Wno-unreachable-code.
1081 (lzopio): Add -Wno-redundant-decls -Wno-error.
1082 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
1083 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
1084 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
1085 * grub-core/kern/dl.c: Add exception to -Wcast-align.
1086 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
1087 * grub-core/kern/i386/coreboot/init.c: Add exception to
1088 -Wsuggest-attribute=noreturn.
1089 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
1090 * grub-core/kern/ia64/dl_helper.c: Likewise.
1091 * grub-core/kern/mips/dl.c: Likewise.
1092 * grub-core/kern/sparc64/dl.c: Likewise.
1093 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
1094 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
1095 (memcmp): Likewise.
1096 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
1097 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
1098 * grub-core/loader/mips/linux.c: Likewise.
1099 * grub-core/loader/multiboot_elfxx.c: Likewise.
1100 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
1101 * grub-core/video/sm712.c: Add exception to -Wcast-align.
1102 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
1103 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
1104 fixme.
1105 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
1106 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
1107 Fix prototype.
1108
37bb97fe
VS
11092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
1112 address.
1113
29a3550b
VS
11142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
1117 Avoid improper use of strings.
1118 (grub_cmd_legacy_initrdnounzip): Likewise.
1119
dfdffd0d
VS
11202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * include/grub/emu/misc.h (grub_util_warn): Add missing format
1123 attribute.
1124 (grub_util_info): Likewise.
1125 (grub_util_error): Likewise.
1126
102fae4a
VS
11272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
1130 * util/grub-fstest.c (fstest): Likewise.
1131
7e94d044
VS
11322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
1135 (grub_md_sha512_real): Likewise.
1136 (grub_util_get_geli_uuid): Likewise.
1137 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
1138 (grub_util_biosdisk_open): Fix format specification.
1139 Respect format security.
1140 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
1141 (xrealloc): Likewise.
1142 (xasprintf): Likewise.
1143
5ebd9769
VS
11442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * util/import_gcry.py: Include grub/crypto.h in init.c.
1147
495fc8c1
VS
11482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
1151 (generate_image): Make prefix a const char *.
1152 Fix format specifications. Respect format security.
1153 Avoid void * arithmetics.
1154 Avoid shadowing.
1155 (argp_parser): Remove unused variable. Respect format security.
1156 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
1157 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
1158 (count_funcs): Remove unused variable.
1159 (relocate_addresses): Fix format specification.
1160 Disable x86-64 with elf32. Remove unused variables.
1161 (add_fixup_entry): Avoid shadowing.
1162 (make_reloc_section): Fix format specification.
1163 Use assert.
1164 (locate_sections): Fix format specifications.
1165 (load_image): Avoid shadowing.
1166
043c2ea3
VS
11672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
1170 Fix format specifications. Respect format security.
1171 Don't translate already translated grub_errmsg.
1172 (argp_parser): Remove unused variable
1173
3ec65a81
VS
11742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
1177
a4d9fe4a
VS
11782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
1181 (main): Likewise. Use xmalloc. Respect format security.
1182
15b81d49
VS
11832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
1186 a const char *.
1187 (argp_parser): Remove unused variable.
1188
31731fc0
VS
11892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
1192 (add_pixel): Make static.
1193 (add_font): Likewise.
1194 (write_string_section): Make name and str a const char *.
1195 (write_be16_section): Make name a const char *.
1196 (print_glyphs): Make static.
1197 (write_font_ascii_bitmap): Likewise.
1198 (write_font_width_spec): Likewise.
1199 (write_font_pf2): Likewise.
1200 (argp_parser): Remove unused variable.
1201 Respect format security.
1202 (main): Avoid shadowing. Respect format security.
1203
0809527b
VS
12042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * util/grub-editenv.c (argp_parser): Make static.
1207 (create_envblk_file): Use xmalloc.
1208 (open_envblk_file): Likewise.
1209 Resepect format security.
1210 (set_variables): Respect format security.
1211
45b0c8b7
VS
12122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * util/getroot.c (grub_find_device): Respect format security.
1215 (get_mdadm_uuid): Remove unused variable.
1216 (grub_util_pull_device): Dont call gettext on already translated
1217 grub_errmsg.
1218 (find_system_device): Remove unused variable.
1219 (grub_util_get_grub_dev): Likewise.
1220 (grub_make_system_path_relative_to_its_root): Respect format security.
1221
1b024b4e
VS
12222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * util/grub-fstest.c (execute_command): Make first argument
1225 a const char *.
1226 (read_file): Avoid shadowing.
1227 Reuse underlying error message if device open fails.
1228 (cmd_cmp): Respect format security.
1229 (root): Make const char *.
1230 (fstest): Remove args argument and use global copy.
1231 Respect format security.
1232 (argp_parser): Make static.
1233 (main): Make default_root const char *.
1234
5d1d4e28
VS
12352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * util/grub-mount.c (root): Make const char *.
1238 (execute_command): Make first argument a const char *.
1239 (fuse_init): Respect format security.
1240 (argp_parser): Make static. Remove unused variable.
1241 (main): Make default_root a const char *.
1242 Respect format security.
1243
36eb7379
VS
12442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * util/grub-probe.c (probe): Don't call gettext on already translated
1247 grub_errmsg.
1248 Remove unused variables.
1249 (argp_parser): Remove unused variable.
1250
76fb2ea9
VS
12512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 * util/grub-script-check.c (argp_parser): Remove unused variable.
1254 (main): Rename read to curread to avoid shadowing.
1255
56c98584
VS
12562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 * util/misc.c (grub_util_write_image_at): Fix format specification.
1259 (grub_util_write_image): Likewise.
1260 (grub_script_execute_argument_to_string): Removed (unused).
1261 (grub_script_execute_menuentry): Likewise.
1262 (grub_putchar): Likewise.
1263
164ebb48
VS
12642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
1267 (FUNCTION) [GRUB_UTIL]: Likewise.
1268 (VARIABLE) [GRUB_UTIL]: Likewise.
1269
44318d61
VS
12702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
1273 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
1274
31a26002
VS
12752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
1278 buffer.
1279
12802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
1283 (LzmaEnc_SaveState): Removed (unused).
1284 (LzmaEnc_RestoreState): Likewise.
1285 (LzmaEnc_InitPriceTables): Made static.
1286 (LzmaEnc_Construct): Likewise.
1287 (LzmaEnc_FreeLits): Likewise.
1288 (LzmaEnc_Destruct): Likewise.
1289 (LzmaEnc_Init): Likewise.
1290 (LzmaEnc_InitPrices): Likewise.
1291 (LzmaEnc_Finish): Likewise.
1292 (LzmaEnc_PrepareForLzma2): Removed (unused).
1293 (LzmaEnc_MemPrepare): Likewise.
1294 (LzmaEnc_GetNumAvailableBytes): Likewise.
1295 (LzmaEnc_GetCurBuf): Likewise.
1296 (LzmaEnc_CodeOneMemBlock): Likewise.
1297
6fa67967
VS
12982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
1301 (grub_util_ldm_embed): Likewise.
1302
9a7428e6
VS
13032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * util/grub-editenv.c (print_var): Rename name to varname to
1306 avoid shadowing.
1307 (main): Rename index to curindex to avoid shadowing.
31a26002 1308 Make filename a const char *.
9a7428e6 1309
4f96abd1
VS
13102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
1313 to arg_getline to avoid shadowing.
1314
44d10dad
VS
13152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
1318 disk_ to avoid shadowing.
1319
340ba63e
VS
13202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
1323 curindex to avoid shadowing.
1324 Make static.
1325 (MatchFinder_GetNumAvailableBytes): Make static.
1326
22965bce
VS
13272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
1330 avoid shadowing.
1331
7b5784d4
VS
13322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
1335 argument from encrypt to do_encrypt to avoid shadowing.
1336
6f48ca01
VS
13372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
1340 incorrect nesting of #if's.
1341
a4ea2dff
VS
13422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
1345 checks which are always false on some platforms.
1346 (grub_cmd_lsacpi): Likewise.
1347 * grub-core/kern/misc.c (grub_strtoul): Likewise.
1348 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
1349 Likewise.
1350
def9fc1b
VS
13512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
1354 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
1355
a67b2a04
VS
13562012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
1359 re_dfa_t to avoid breaking alignment invariants.
1360 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
1361 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
1362
44c6828d
VS
13632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
1366 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
1367
bebe0dd0
VS
13682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
1371 Fix declaration.
1372
a9cdb3cf
VS
13732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
1376 conserve alignment invariants.
1377 (grub_ehci_ehcc_read16): Likewise.
1378 (grub_ehci_oper_read32): Likewise.
1379 (grub_ehci_oper_write32): Likewise.
1380 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
1381 Conserve alignment invariants.
1382
ccc3b1b8
VS
13832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
1386 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
1387 declarations.
1388
987fbd95
VS
13892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
1392 Remove unused variable.
1393
0df363f3
VS
13942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
1397 Remove set in if.
1398
b2c0c4a6
VS
13992012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * include/grub/net.h: Remove double declarations.
1402
690c531f
VS
14032012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 Remove "payload" command in ia64 Linux loader since I couldn't
1406 find any evidence of it being used for anything.
1407 Replace "relocate" command with an environment variable
1408
1409 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
1410 fields.
1411 (ia64_boot_payload): Removed.
1412 (last_payload): Likewise.
1413 (RELOCATE_OFF): Likewise.
1414 (RELOCATE_ON): Likewise.
1415 (RELOCATE_FORCE): Likewise.
1416 (relocate): Likewise.
1417 (free_pages): Don't free payloads.
1418 (grub_load_elf64): Use common error messages.
1419 Use "linux_relocate" variable.
1420 Increase the space after boot_params.
1421 (grub_cmd_payload): Removed.
1422 (grub_cmd_relocate): Likewise.
1423 (grub_cmd_fpswa): Improve messages.
1424 (cmd_payload): Removed.
1425 (cmd_relocate): Likewise.
1426 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
1427 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
1428
01783768
VS
14292012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 Convert UHCI to DMA framework.
1432
1433 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
1434 (grub_uhci_pci_iter): Fill new members
1435 (grub_alloc_td): Use P2V and V2P functions.
1436 (grub_free_queue): Likewise.
1437 (grub_alloc_qh): Likewise.
1438 (grub_uhci_setup_transfer): Likewise.
1439 (grub_uhci_check_transfer): Likewise.
1440
43206939
VS
14412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
1444 Remove assignment in if while on it.
1445
571e140e
VS
14462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 * util/grub-mkstandalone.in: Fix modules directory.
1449
a9d96eeb
VS
14502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
1453 on i386-pc target.
1454 (argp_parser): Accept "auto" as compression specification.
1455
e4e37e8d
VS
14562012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 Fix `help' with unloaded modules.
1459
1460 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
1461 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
1462 (grub_dyncmd_dispatcher): Small stylistic fix.
1463 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
1464 explicit help is requested.
1465
e1ea3ade
VS
14662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
1469 Explicitly init restart while on it.
1470
27556881
VS
14712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
1474 uninited variable.
1475
d65f6b36
VS
14762012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * util/grub-mknetdir.in: Use . rather than source for POSIX
1479 compatibility.
1480
0a1e473c
VS
14812012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
1484
ce6647c8
VS
14852012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
1488 variable.
1489
66747894
VS
14902012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
1493 without quotes.
1494
71645f6e
VS
14952012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
1498
0e1c1f61
VS
14992012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
1502 iteration of partitions.
1503
9c4b5c13
VS
15042012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 Improve gettext support. Stylistic fixes and error handling fixes while
1507 on it.
1508
215c90cb
VS
15092012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
1512 part. Instead setup the correct stack in RM.
1513 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
1514 for stack.
1515 * include/grub/i386/relocator_private.h: New file.
1516
b5c1f9bf
VS
15172012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
1520 argument.
1521 * util/grub-fstest.c (options): Add missing DEVICE part.
1522
b525fd83
VS
15232012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 Clarify and unify messages.
1526
1527 * grub-core/commands/hashsum.c (options): Unify messages.
1528 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
1529 literal-only message as translatable.
1530 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
1531 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
1532 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
1533 commands.
1534 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
1535 key, not the key used to unlock. Clarify what it's used for.
1536 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
1537 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
1538 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
1539 * util/grub-editenv.c (options): Unify "verbose" message.
1540 * util/grub-fstest.c (read_file): Unify error message.
1541 (fstest): Add quotes around commands.
1542 (options): Unify "verbose" message.
1543 * util/grub-install.in: Add quotes around variable name.
1544 * util/grub-kbdcomp.in: Unify error message.
1545 * util/grub-mkfont.c (main): Likewise.
1546 * util/grub-mkrescue.in: Likewise.
1547 * util/grub-mklayout.c (options): Unify "verbose" message.
1548 * util/grub-mkstandalone.in: Unify help and verbose messages.
1549 * util/grub-mount.c (options): Unify "verbose" message.
1550 * util/grub-probe.c (options): Likewise.
1551 * util/grub-script-check.c (options): Likewise.
1552 * util/grub-setup.c (setup): Unify no-terminator message.
1553 (options): Use DEVICE and not DEV.
1554 Unify "verbose" message.
1555 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
1556
0ae70393
VS
15572012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 Improve and unify messages.
1560
1561 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
1562 name. All users updated.
1563 Print filename in error.
1564 (read_device_map): Print filename in error.
1565 * util/getroot.c (grub_guess_root_devices): Print filename in error.
1566 (grub_util_get_os_disk): Likewise.
1567 (grub_util_biosdisk_get_grub_dev): Likewise.
1568 (grub_util_check_block_device): Likewise.
1569 (grub_util_check_char_device): Likewise.
1570 (grub_make_system_path_relative_to_its_root): Likewise.
1571 * util/grub-editenv.c (create_envblk_file): Likewise.
1572 (open_envblk_file): Likewise.
1573 (write_envblk): Likewise.
1574 * util/grub-fstest.c (cmd_cp): Likewise.
1575 (cmd_cat): Likewise.
1576 (cmd_cmp): Likewise.
1577 * util/grub-menulst2cfg.c (main): Likewise.
1578 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
1579 (write_font_width_spec): Likewise.
1580 (write_font_pf2): Likewise.
1581 * util/grub-mkimage.c (generate_image): New argument outname.
1582 All users updated.
1583 Remove unreacheable message.
1584 (options): Unify messages.
1585 (help_filter): Likewise.
1586 * util/grub-mklayout.c (usage): Removed (unused).
1587 (main): Print filename in error.
1588 * util/grub-mkrescue.in: Fix wrong quoting.
1589 * util/grub-setup.c (setup): Print filename in error.
1590 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
1591 (check_sas): Likewise.
1592 * util/misc.c (grub_util_get_fp_size): Removed.
1593 (grub_util_get_image_size): Print filename in error.
1594 (grub_util_read_at): Removed.
1595 (grub_util_read_image): Print filename in error.
1596 (grub_util_load_image): Likewise.
1597 (grub_util_write_image_at): New argument filename. All users updated.
1598 Print filename in error.
1599 (grub_util_write_image): New argument filename. All users updated.
1600 Print filename in error.
1601 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
1602 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
1603
0a96117d
VS
16042012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1605
1606 * grub-core/Makefile.core.def (pxechain): New module.
1607 * grub-core/loader/i386/pc/pxechainloader.c: New file.
1608 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
1609 function.
1610 (grub_pc_net_config_real): Use grub_pxe_get_cached.
1611 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
1612
aca002f7
VS
16132012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
1616 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
1617 * include/grub/err.h (grub_error_saved): New struct.
1618 (grub_errmsg): Make array size explicit.
1619 * include/grub/misc.h (grub_error_save): New function.
1620 (grub_error_load): Likewise.
1621 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
1622 (grub_error_push): Update `errno' member name.
1623 (grub_error_pop): Likewise
1624 * grub-core/net/tftp.c (tftp_data): New member save_err.
1625 (tftp_receive): Save error.
1626 (tftp_open): Restore error.
1627
a51dab13
VS
16282012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
1631 to real mode down to execute A20-related code in protected mode as
1632 intended.
1633
eb6e6649
GS
16342012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
1635
1636 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
1637 NULL when the argument `level' has an unexpected value.
1638
92cd0f6e
VS
16392012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 Move platform-dependent files from $prefix to $prefix/$platform.
1642
1643 * config.h.in (GRUB_TARGET_CPU): New definition.
1644 (GRUB_PLATFORM): Likewise.
1645 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
1646 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
1647 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1648 * grub-core/kern/dl.c (grub_dl_load): Likewise.
1649 * grub-core/normal/autofs.c (read_fs_list): Likewise.
1650 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
1651 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
1652 * grub-core/normal/term.c (read_terminal_list): Likewise.
1653 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
1654 $prefix/locale.
1655 (grub_gettext_init_ext): Likewise.
1656 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
1657 grub_platform.
1658 * util/grub-install.in: Update directories.
1659 * util/grub-mknetdir.in: Likewise.
1660 * util/grub-mkrescue.in: Likewise.
1661
db606889
VS
16622012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
1665 grub_error framework. All users updated.
1666
c39992a4
VS
16672012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
1670 lists (by always binsearching), improve caching (cache strings
1671 used for binsearch, not only results), improve
1672 maintainability (by using more structured binary search) and correct
1673 error handling.
1674
1e5ec32f
VS
16752012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * grub-core/script/execute.c (grub_script_return): Fix warning.
1678
ac576cde
VS
16792012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/script/execute.c (grub_script_return): Fix potential
1682 NULL-dereference.
1683 Reported by: Jim Meyering.
1684
498453f6
VS
16852012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 * po/POTFILES.in: Regenerate.
1688 * util/grub-install.in: Gettextize the strings missed in first pass.
1689
8be63f2e
VS
16902012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * Makefile.util.def (grub-mkdevicemap): Removed.
1693 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
1694 * include/grub/util/deviceiter.h: Removed.
1695 * util/deviceiter.c: Likewise.
1696 * util/getroot.c (grub_util_get_os_disk): New function.
1697 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
1698 replacement for EFI.
1699 * util/grub-mkdevicemap.c: Removed.
1700 * util/grub-probe.c (probe): Handle PRINT_DISK.
1701 (argp_parser): Handle -t disk.
1702
8e1e4e39
VS
17032012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * util/grub-mkfont.c: Migrate to argp.
1706 * util/grub-mklayout.c: Likewise.
1707 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1708 * util/grub-mkrelpath.c: Likewise.
1709 * util/grub-probe.c: Likewise.
1710 * util/grub-script-check.c: Likewise.
1711
4459819a
VS
17122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * util/grub-reboot.in: Add missing datarootdir.
1715 Add missing newline.
1716 * util/grub-set-default.in: Add missing datarootdir.
1717 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
1718 * util/grub-mkrescue.in: Likewise.
1719
f65741c7
VS
17202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
1723
c1a33466
VS
17242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 * util/grub-kbdcomp.in: Add decent help and gettextize.
1727 * docs/man/grub-kbdcomp.h2m: New file.
1728
c76899a0
VS
17292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 Migrate grub-mkimage.c to argp.
1732
1733 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
1734 (grub-setup): Likewise.
1735 * util/grub-setup.c (print_version): Move to ...
1736 * util/argp_common.c (print_version): ... here.
1737 * util/grub-setup.c (argp_program_version_hook): Move to ...
1738 * util/argp_common.c (argp_program_version_hook): ... here.
1739 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
1740 safety.
1741 * util/grub-mkimage.c (main): Migrate to argp.
1742
57db0757
VS
17432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * util/grub-mkrescue.in: Use same message as
1746 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
1747 for better translations.
1748
18534ad9
VS
17492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
1752 options with generic grub-mkrescue.in with the goal of future
1753 merge.
1754
c84ba308
VS
17552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * grub-core/kern/mm.c: Add missing include of i18n.h
1758 * grub-core/lib/relocator.c: Likewise.
1759
347998c2
VS
17602012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
1763 error.
1764 (allocate_pages): Check return value.
1765 Replace fatal with error.
1766 (grub_linux_boot): Replace printf with dprintf.
1767 Check find_mmap_size return value.
1768 Replace fatal with error.
1769 Don't call grub_machine_fini.
1770 (grub_load_elf64): Replace printf with dprintf.
1771 (grub_cmd_linux): Likewise.
1772 (grub_cmd_initrd): Likewise.
1773 (grub_cmd_payload): Likewise.
1774
c779226e
VS
17752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
1778 message.
1779 * grub-core/video/radeon_fuloong2e.c
1780 (grub_video_radeon_fuloong2e_setup): Likewise.
1781 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
1782 * grub-core/video/video.c (grub_video_set_mode): Don't override
1783 standard out of memory message.
1784
dc87d45a
GS
17852012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1786
1787 NetBSD disk wedge support.
1788
1789 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
1790 [__NetBSD__]: Handle NetBSD disk wedges.
1791 * util/getroot.c (convert_system_partition_to_system_disk)
1792 [__NetBSD__]: Likewise.
1793
055f856f
MW
17942012-02-03 Mark Wooding <mdw@distorted.org.uk>
1795
1796 * util/grub-mkconfig.in: Use umask rather than chmod to create
1797 grub.cfg.new to avoid insecure grub.cfg.
1798
4a9f8346
VS
17992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 * grub-core/commands/ls.c: Gettextize.
1802 * grub-core/commands/setpci.c: Likewise.
1803 * grub-core/commands/videotest.c: Likewise.
1804 * grub-core/disk/geli.c: Likewise.
1805 * grub-core/kern/mm.c: Likewise.
1806 * grub-core/lib/relocator.c: Likewise.
1807 * grub-core/loader/efi/appleloader.c: Likewise.
1808 * grub-core/loader/i386/xnu.c: Likewise.
1809 * grub-core/loader/ia64/efi/linux.c: Likewise.
1810 * grub-core/loader/xnu.c: Likewise.
1811 * grub-core/net/dns.c: Likewise.
1812 * grub-core/net/net.c: Likewise.
1813 * grub-core/script/lexer.c: Likewise.
1814 * grub-core/script/parser.y: Likewise.
1815 * grub-core/script/yylex.l: Likewise.
1816 * util/getroot.c: Likewise.
1817 * util/grub-setup.c: Likewise.
1818
a646a366
VS
18192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
1822 number.
1823
54e2be26
VS
18242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
1827
f7c71e68
VS
18282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1829
1830 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
1831 macro.
1832 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
1833 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
1834
a32d5c71
VS
18352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
1838 * util/grub-install.in: Gettextize.
1839 * util/grub-mkconfig.in: Likewise.
1840 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
1841 if not available.
1842 (grub_warn): Gettextize.
1843 * util/grub-mknetdir.in: Gettextize.
1844 * util/grub-mkrescue.in: Likewise.
1845 * util/grub-mkstandalone.in: Likewise.
1846 * util/grub-reboot.in: Likewise.
1847 * util/grub-set-default.in: Likewise.
1848 * util/grub.d/00_header.in: Likewise.
1849 * util/grub.d/10_hurd.in: Likewise.
1850 * util/grub.d/10_kfreebsd.in: Likewise.
1851 * util/grub.d/10_linux.in: Likewise.
1852 * util/grub.d/10_netbsd.in: Likewise.
1853 * util/grub.d/10_windows.in: Likewise.
1854 * util/grub.d/20_linux_xen.in: Likewise.
1855 * util/grub.d/30_os-prober.in: Likewise.
1856 * po/POTFILES-shell.in: Regenerate.
1857
69edd81a
RL
18582012-02-03 Richard Laager <rlaager@wiktel.com>
1859
1860 * util/grub-mkimage.c (main): Fix format-security warning.
1861 * util/grub-mkrelpath.c (main): Likewise.
1862 * util/grub-probe.c (main): Likewise.
1863
65f08dbf
RL
18642012-02-03 Richard Laager <rlaager@wiktel.com>
1865
1866 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
1867 failure.
1868 Put back lost PRINT_DRIVE.
1869
e9084abe
RL
18702012-02-03 Richard Laager <rlaager@wiktel.com>
1871
1872 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
1873 (grub_guess_root_devices): Replace strlen with sizeof.
1874 Avoid crash.
1875 (find_root_devices_from_poolname): Remove unused variable.
1876 Handle raidzN.
1877
cf5f7ee7
VS
18782012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 Support install on multi-device filesystems.
1881
1882 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
1883 (grub_guess_root_devices): ...this. Return char **. All users updated.
1884 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
1885 Removed.
1886 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
1887 (find_root_devices_from_poolname): ... here.
1888 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
1889 Support zfs-fuse.
1890 (grub_guess_root_device): Rename to ...
1891 (grub_guess_root_devices): ... this. Return char **. All users updated.
1892 * util/grub-install.in: Handle multi-device filesystems.
1893 * util/grub-probe.c (probe). Make device_names a char **. Add delim
1894 argument. All users updated.
1895 Handle multi-device filesystems.
1896 Use 'delim' as separator.
1897 Remove device check to allow filesystems on file.
1898 (main): Support -0 argument. Handle multi-device.
1899 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
1900 Fix a cross-device check while on it.
1901 (arguments): Remove root_dev.
1902 (argp_parser): Remove -r.
1903 (main): Remove root_dev.
1904
2f53a9ed
VS
19052012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
1908
17e1d934
VS
19092012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
1912 symbol.
1913 Reported by: NODA, Kai <nodakai>.
1914
d3e3fab5
VS
19152012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 Fix ehci on amd64.
1918
1919 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
1920 pointers.
1921 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
1922 (grub_ehci_setup_qh): Likewise.
1923 (grub_ehci_find_qh): Likewise.
1924 (grub_ehci_transaction): Likewise.
1925 (grub_ehci_setup_transfer): Likewise.
1926 (grub_ehci_check_transfer): Likewise.
1927 (grub_ehci_portstatus): Likewise.
1928 (grub_ehci_detect_dev): Likewise.
1929 (grub_ehci_transfer_controller_data): New field td_last_phys.
1930 (grub_ehci_setup_transfer): Fill td_last_phys.
1931 (grub_ehci_check_transfer): Use td_last_phys.
1932
3008675b
SG
19332012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
1934
1935 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
1936 if no submenu is present.
1937
fc9b5652
AN
19382012-02-01 Aleš Nesrsta <starous@volny.cz>
1939
1940 CBI support.
1941
1942 * include/grub/usb.h (grub_usbms_protocol_t): New values
1943 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
1944 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
1945 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
1946 (grub_usbms_dev): Add subclass, protocol and intrpt.
1947 Remove in_maxsz and out_maxsz.
1948 (grub_usbms_reset): Rename to ...
1949 (grub_usbms_bo_reset): .. this.
1950 (grub_usbms_cbi_cmd): New function.
1951 (grub_usbms_cbi_reset): Likewise.
1952 (grub_usbms_reset): Likewise.
1953 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
1954 (grub_usbms_transfer): Rename to ...
1955 (grub_usbms_transfer_bo): ... this.
1956 (grub_usbms_transfer_cbi): Likewise.
1957 (grub_usbms_transfer): Likewise.
1958
a2b81d53
AN
19592012-02-01 Aleš Nesrsta <starous@volny.cz>
19602012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
1963 the support for the CS5536 modification thereos and few bugfixes.
1964
1965 * grub-core/Makefile.core.def (ehci): New module.
1966 * grub-core/bus/usb/ehci.c: New file.
1967 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
1968 port and hubaddr. All users updated.
1969 Save port and hubaddr into dev structure.
1970 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
1971 define.
1972 * include/grub/pci.h (grub_dma_phys2virt): New function.
1973 (grub_dma_virt2phys): Likewise.
1974 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
1975
b1d51f02
VS
19762012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
1979 check as some mkfs implementations omit it.
1980
fc694106
VS
19812012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * docs/grub.texi (Unicode): Mention identifier and space limitations.
1984
6c0920e3
VS
19852012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
1988 Add new member volname2.
1989 (grub_jfs_label): Use volname2 if available.
1990
d1a46f9a
VS
19912012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
1994 over last_mounted as seen in image generated by mkfs.nilfs2.
1995 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
1996
dec8ed14
VS
19972012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
2000 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
2001 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
2002
7397c69b
VS
20032012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
2006 over the sector.
2007
b3fe42ad
VS
20082012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
2011 subvolume name (by removing a bogus and useless check).
2012
10476bb0
VS
20132012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
2016 sizeof while on it.
2017
9c08ad87
VS
20182012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
2021 (grub_scsi_read_capacity10): ... this.
2022 (grub_scsi_read_capacity16): New function.
2023 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
2024 0xffffffff.
2025 Fix off-by-one error.
2026 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
2027 64-bit unsigned.
2028 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
2029 (grub_scsi_read_capacity10): ... this.
2030 (grub_scsi_read_capacity_data): Rename to ...
2031 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
2032 (grub_scsi_read_capacity16): New struct.
2033 (grub_scsi_read_capacity16_data): Likewise.
2034 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
2035 grub_scsi_cmd_read_capacity10.
2036 New command grub_scsi_cmd_read_capacity16.
2037
bc8d0f45
VS
20382012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 SCSI >2TiB support.
2041
2042 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
2043 (grub_scsi_write16): Likewise.
2044 (grub_scsi_read): Use read16 when necessary.
2045 (grub_scsi_write): Likewise.
2046 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
2047 (grub_scsi_write16): Likewise.
2048 (grub_scsi_cmd_t): Add READ16 and WRITE16.
2049
cc774926
VS
20502012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 SCSI write support (for usbms mainly).
2053
2054 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
2055 a const pointer.
2056 (grub_scsi_write): Implement.
2057 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
2058
67639fd7
VS
20592012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
2062 variable.
2063
9079d3ed
VS
20642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * grub-core/lib/posix_wrap/string.h (memchr): New function.
2067
c6a6f204
VS
20682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * po/POTFILES.in: Regenerate.
2071
ecbf8cd1
VS
20722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
2075 with grub_printf to avoid unnecessary fatal failure.
2076
0b3b3b38
VS
20772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
2080 (INT_MAX): Likewise.
2081 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
2082 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
2083 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
2084 (strcpy): Likewise.
2085 (strstr): Likewise.
2086 (strchr): Likewise.
2087 (strncpy): Likewise.
2088 (strcat): Likewise.
2089 (strncat): Likewise.
2090 (strcoll): Likewise.
2091 * include/grub/types.h (GRUB_SHRT_MAX): New define.
2092 (GRUB_INT_MAX): Likewise.
2093
db7337a3
VS
20942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
2097 unexpected error.
2098 (optimize_utf8): Likewise.
2099 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
2100
f37c87e1
VS
21012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * grub-core/boot/i386/pc/lnxboot.S: Use
2104 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
2105 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
2106 location.
2107 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
2108 definition.
2109 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
2110
63fe43f3
VS
21112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
2114 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
2115 now to avoid double free.
2116 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
2117 hostdisk.
2118 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
2119 * util/grub-probe.c (escape_of_path): Always return a new copy.
2120 (print_full_name): Escape path.
2121 (probe): Don't call grub_util_devname_to_ofpath on NULL.
2122 Fix hints on abstractions.
2123
ebe2c961
VS
21242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
2127 Don't add "root" line if no compatibility hont is available.
2128 Suggested by: Seth Goldberg.
2129
2b5336a2
VS
21302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
2133 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
2134 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
2135 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
2136
74310bd8
VS
21372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
2140
c30582ba
VS
21412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * util/grub-pe2elf.c (ehdr): Make static.
2144 (shdr): Likewise.
2145 (num_sections): Likewise.
2146 (offset): Likewise.
2147
5f47782c
VS
21482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 Eliminate ofpath limits and possible overflows.
2151
2152 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
2153 (OF_PATH_MAX): Removed.
2154 (MAX_DISK_CAT): New const.
2155 (find_obppath): Use allocated rather than preallocated buffer.
2156 Return result. Argument of_path removed. All users updated.
2157 Add missing fdstat.
2158 (xrealpath): New function.
2159 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
2160 Allocate rather than use preallocated buffer. All users updated.
2161 (__of_path_common): Use allocated rather than preallocatecd buffer.
2162 Return result. Argument of_path removed. All users updated.
2163 (vendor_is_ATA): Read only needed part form the file.
2164 (check_sas): Allocate depending on contents rather than fixed.
2165 (main) [STANDALONE]: Handle NULL result.
2166
f990cbf9
VS
21672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * grub-core/normal/completion.c (iterate_dev): Close the disk.
2170
9c6e84b8
VS
21712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 Cryptodisk write support.
2174
2175 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
2176 (grub_cryptodisk_decrypt): Moved logic to ...
2177 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
2178 (grub_cryptodisk_write): Implement.
2179 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
2180 (grub_util_fd_write): ... this. Make global.
2181 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
2182
87cf9744
VS
21832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * include/grub/list.h (grub_list_remove): Don't crash if element is
2186 removed twice.
2187
ca8c0baf
VS
21882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 Rename ofconsole to console.
2191
2192 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
2193 as sysnonym to console.
2194 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
2195 * grub-core/term/ieee1275/console.c: ... this. All users updated.
2196 Rename grub_ofconsole_ to grub_console_. All users updated
2197 (grub_console_term_output): Rename "ofconsole" to "console".
2198 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
2199 as "console".
2200
64c8b8f6
VS
22012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
2204 handling.
2205 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
2206 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
2207 GRUB_DISK_DEVICE_FILE_ID.
2208
f6c434d5
VS
22092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
2212 and improve performance.
2213
5858b42d
VS
22142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
2217 missing ieee1275/ prefix on whole disk.
2218
4ed3c26b
VS
22192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
2222 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
2223
df71143e
VS
22242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
2227
076e7c0f
VS
22282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 Merge common RAID and LVM logic to an abstract diskfilter.
2231 Add LDM support using the same framework.
2232
2233 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
2234 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
2235 (libgrubmods): Remove grub-core/disk/raid.c and
2236 grub-core/partmap/gpt.c.
2237 * grub-core/Makefile.core.def (ldm): New module.
2238 (raid): Renamed to diskfilter. All users updated.
2239 * grub-core/disk/raid.c: Moved to ...
2240 * grub-core/disk/diskfilter.c: ... here.
2241 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
2242 (lv_num): New var.
2243 (find_array): Renamed to ...
2244 (find_lv): ... this. Support multi-LV. Skip nameless LVs
2245 (grub_is_array_readable): Renamed to ...
2246 (grub_is_lv_readable): ... this. Support multinode hierarchy.
2247 (insert_array): New argument id.
2248 (is_node_readable): New function.
2249 (scan_device): Rename to ...
2250 (scan_disk): .. this. Restrict to one disk.
2251 (scan_devices): New function.
2252 (grub_diskfilter_iterate): Support multi-LV.
2253 Skip invisible and nameless LVs.
2254 (grub_diskfilter_memberlist): Support multi-LV.
2255 (grub_diskfilter_read_node): New function.
2256 (grub_raid_read): Most of logic moved to ...
2257 (read_segment): ... here
2258 (read_lv): New function.
2259 (grub_diskfilter_get_vg_by_uuid): New function.
2260 (grub_diskfilter_make_raid): Likewise.
2261 * grub-core/disk/ldm.c: New file.
2262 * grub-core/disk/lvm.c (vg_list): Removed.
2263 (lv_count): Likewise.
2264 (scan_depth): Likewise.
2265 (is_lv_readable): Likewise.
2266 (grub_lvm_getvalue): Advance pointer past the number.
2267 (find_lv): Removed.
2268 (do_lvm_scan): Refactored into ...
2269 (grub_lvm_detect): ... this. Support raid.
2270 (grub_lvm_iterate): Removed.
2271 (grub_lvm_memberlist): Likewise.
2272 (grub_lvm_open): Likewise.
2273 (grub_lvm_close): Likewise.
2274 (read_lv): Likewise.
2275 (read_node): Likewise.
2276 (is_node_readable): Likewise.
2277 (is_lv_readable): Likewise.
2278 (grub_lvm_read): Likewise.
2279 (grub_lvm_write): Likewise.
2280 (grub_lvm_dev): Use diskfilter
2281 (GRUB_MOD_INIT): Likewise.
2282 (GRUB_MOD_FINI): Likewise.
2283 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
2284 new interface.
2285 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
2286 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2287 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
2288 grub_diskfilter_read_node.
2289 Fix a bug with xor.
2290 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
2291 grub_diskfilter_read_node.
2292 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
2293 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
2294 (grub_disk_dev_iterate): Move from here...
2295 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
2296 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
2297 Make global.
2298 (grub_hostdisk_find_partition_start): Likewise.
2299 (grub_hostdisk_os_dev_to_grub_drive): New function.
2300 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
2301 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
2302 * util/getroot.c (make_device_name): ... here.
2303 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2304 Move to ...
2305 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
2306 * grub-core/kern/emu/hostdisk.c
2307 (convert_system_partition_to_system_disk): Move to ...
2308 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
2309 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
2310 * util/getroot.c (device_is_wholedisk): ... here.
2311 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
2312 * util/getroot.c (find_system_device): ... here.
2313 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
2314 Move to ...
2315 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
2316 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
2317 Move to ...
2318 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
2319 Handle LDM.
2320 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
2321 Move to ...
2322 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
2323 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
2324 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
2325 DISKFILTER.
2326 * include/grub/raid.h: Renamed to ...
2327 * include/grub/diskfilter.h: ... this.
2328 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
2329 (GRUB_RAID_LAYOUT_*): Make into array.
2330 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
2331 (grub_diskfilter_vg): New struct.
2332 (grub_diskfilter_pv_id): Likewise.
2333 (grub_raid_member): Removed.
2334 (grub_raid_array): Likewise.
2335 (grub_diskfilter_pv): New struct.
2336 (grub_diskfilter_lv): Likewise.
2337 (grub_diskfilter_segment): Likewise.
2338 (grub_diskfilter_node): Likewise.
2339 (grub_diskfilter_get_vg_by_uuid): New proto.
2340 (grub_raid_register): Inline.
2341 (grub_diskfilter_unregister): Likewise.
2342 (grub_diskfilter_make_raid): New proto.
2343 (grub_diskfilter_vg_register): Likewise.
2344 (grub_diskfilter_read_node): Likewise.
2345 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
2346 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
2347 (grub_util_is_ldm): Likewise.
2348 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
2349 (grub_hostdisk_find_partition_start): Likewise.
2350 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
2351 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
2352 New definition.
2353 (grub_gpt_partition_map_iterate): New proto.
2354 * include/grub/lvm.h (grub_lvm_vg): Removed.
2355 (grub_lvm_pv): Likewise.
2356 (grub_lvm_lv): Likewise.
2357 (grub_lvm_segment): Likewise.
2358 (grub_lvm_node): Likewise.
2359 * util/getroot.c [...]
2360 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
2361 (probe_abstraction): Likewise.
2362 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
2363 (main): Remove dead logic.
2364
8a7f9b9c
VS
23652012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 Simplify root device discover and don't fail when trying to open
2368 incorrect devices.
2369
2370 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
2371 function.
2372 (get_diskname_from_path): Likewise.
2373 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
2374 of iterating.
2375
30545b85
VS
23762012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
2379
28ea58cf
VS
23802012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
2383 pastthe end.
2384
692dabca
VS
23852012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * util/grub-install.in: Add missing \.
2388 Reported by: gentoofan
2389
f6e4ea70
VS
23902012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
2393 (direct_read): Use correct compressed size.
2394 (grub_squash_read_data): Likewise.
2395
23962012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
2397
2398 * docs/grub.texi (Platform limitations): New section.
2399 (Platform-specific operations): Likewise.
2400 * docs/grub-dev.texi (Porting): Likewise.
2401
76261110
VS
24022012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 IEEE1275 disk write support.
2405
2406 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
2407 const void *.
2408 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
2409 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
2410 and seek loginc to ...
2411 (grub_ofdisk_prepare): ... here.
2412 (grub_ofdisk_write): Implement.
2413
fc36d603
VS
24142012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 ARC disk write support.
2417
2418 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
2419 (reopen): New argument writable. All users updated.
2420 Handle required access mode.
2421 (grub_arcdisk_write): Implement.
2422 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
2423 (grub_arc_firmware_vector): Make buffer to write a const buffer.
2424
e06c2e7a
VS
24252012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
2428 (read_sblock): Don't attempt to read superblocks outside the disk size.
2429
ff447958
VS
24302012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
2433 first superblock to find the second one when possible.
2434
9e88df39
VS
24352012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * util/grub-install.in: Fix an ARC bug.
2438 Print a warning if no platform-specific setup is available.
2439
bb26e4ff
VS
24402012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 Use static allocation rather than scratch pointer in reed_solomon.
2443 It decreases its size significantly and avoids a variable in .text.
2444
2445 * grub-core/lib/reed_solomon.c (scratch): Removed.
2446 (chosenstat): New const or static array.
2447 (sigma): Likewise.
2448 (errpot): Likewise.
2449 (errpos): Likewise.
2450 (sy): Likewise.
2451 (mstat): Likewise.
2452 (errvals): Likewise.
2453 (eqstat): Likewise.
2454 (pol_evaluate): Replace x with log_x argument. All users updated.
2455 (syndroms): Removed.
2456 (gauss_solve): Use statically allocated arrays.
2457 (rs_recover): Likewise.
2458 Calculate syndroms directly.
2459 (decode_block): Use statically allocated arrays.
2460 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
2461 (main) [TEST]: Allow -DTEST -DSTANDALONE.
2462
2e13ede5
VS
24632012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 Eliminate fixed limit on reed solomon decoder length.
2466
2467 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
2468 rather than hardcoding the address.
2469 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
2470 no_reed_solomon_length.
2471 Move gate_a20 to no-reed-solomon part.
2472 Don't force a particular size of no reed-solomon part.
2473 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
2474 Removed.
2475 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
2476 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
2477
f8a9ab12
VS
24782012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * grub-core/commands/wildcard.c (match_files): Handle filenames
2481 without explicit device.
2482 (wildcard_expand): Don't add explicit device if not already present.
2483 * tests/grub_script_echo1.in: Add a new expansion test.
2484
87edb894
VS
24852012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 Replace single-linked with double-linked lists. It results in more
2488 compact and more efficient code.
2489
2490 * grub-core/kern/list.c (grub_list_push): Moved from here ...
2491 * include/grub/list.h (grub_list_push): ... to here. Set prev.
2492 (grub_list_remove): Moved from here ...
2493 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
2494 (grub_prio_list_insert): Set prev.
2495 * include/grub/list.h (grub_list): Add prev. All users updated.
2496
48b391e9
VS
24972012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 Handle newer autotools. Add some missing quotes while on it.
2500
2501 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
2502 (pkglib_DATA): Move grub-mkconfig_lib from here ...
2503 (pkgdata_DATA): ... here.
2504 * Makefile.util.def (update-grub_lib): Removed.
2505 * conf/Makefile.common (pkglib_DATA): Removed.
2506 (pkglib_SCRIPTS): Likewise.
2507 (pkgdata_DATA): New variable.
2508 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
2509 needed.
2510 Add missing quotes.
2511 Remove unused variable while on it.
2512 * tests/util/grub-shell.in: Likewise.
2513 * util/grub-install.in: Likewise.
2514 * util/grub-mkconfig.in: Likewise.
2515 * util/grub-mknetdir.in: Likewise.
2516 * util/grub-mkrescue.in: Likewise.
2517 * util/grub-mkstandalone.in: Likewise.
2518 * util/grub.d/00_header.in: Likewise.
2519 * util/grub.d/10_hurd.in: Likewise.
2520 * util/grub.d/10_illumos.in: Likewise.
2521 * util/grub.d/10_kfreebsd.in: Likewise.
2522 * util/grub.d/10_linux.in: Likewise.
2523 * util/grub.d/10_netbsd.in: Likewise.
2524 * util/grub.d/10_windows.in: Likewise.
2525 * util/grub.d/20_linux_xen.in: Likewise.
2526 * util/grub.d/30_os-prober.in: Likewise.
2527 * util/update-grub_lib.in: Removed.
2528
25292012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
2530
2531 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
2532 a workaround for intel problem.
2533
66832792
PRP
25342012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
25352012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
25362012-01-23 pfsmorigo
2537
2538 * util/grub-install.in: Support dd'in into PreP partition.
2539 * util/grub-probe.c (probe): Support discovering partition type.
2540 (main): Support -t msdos_parttype.
2541
7816a17e
VS
25422012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
2545 infinite recursion using counter.
2546 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
2547 init to skip it if the magic check fails.
2548 (dec_stream_header): Init s->crc32.
2549
8f9d3a8c
ZB
25502012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25512012-01-22 Zachary Bedell <pendorbound@gmail.com>
25522012-01-22 Richard Laager <rlaager@wiktel.com>
2553
2554 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
2555 All users updated.
2556 (find_bestub): Determine correct size.
2557 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
2558 (scan_disk): Align the size down.
2559 Call check pool before find_bestub to have ashift.
2560
b055dd32
VS
25612012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
2564 dprintf in no-malloc zone.
2565
d779e9bd
ML
25662012-01-22 Mario Limonciello <mario_limonciello@dell.com>
2567
2568 * configure.ac: Add back in test for limits.h.
2569
b508af69
VS
25702012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 Support 4K-sector NTFS.
2573
2574 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
2575 (grub_ntfs_data): Remove blocksize.
2576 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
2577 Remove data argument. All users updated.
2578
dad9c8b5
VS
25792012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
2582 being in .text to avoid dprel references.
2583 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
2584 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
2585 (grub_arch_highmemsize): Likewise.
2586 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
2587 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
2588 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
2589
d43a777e
VS
25902012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
2593
2594 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
2595 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
2596
34e4208f
VS
25972012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
2600 GRUB_UTIL.
2601 (grub_set_datetime_cmos): Likewise.
2602
3ec0fc1c
VS
26032012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 Make XZ compression parameters dependent on target and not host CPU.
2606
2607 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
2608 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
2609
22489834
VS
26102012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
2613 set but not used variable.
2614
8502fbca
VS
26152012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
2618 created when no uuid support is compiled into mkfs.reiser.
2619
76df2068
VS
26202012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
2623 (utf8_to_macroman): Do the opposite.
2624 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
2625
64e3f8f6
VS
26262012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * configure.ac: Refise build qemu_mips w/o unifont.
2629
9c271078
VS
26302012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 Eliminate grub_min/grub_max prone to overflow usage.
2633
2634 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
2635 (poll_nonroot_hub): Likewise.
2636 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
2637 (grub_affs_label): Likewise.
2638 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
2639 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
2640 (grub_hfs_label): Likewise.
2641 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
2642 * grub-core/fs/zfs/zfs.c (MIN): Remove.
2643 (zap_leaf_array_equal): Use grub_size. Remove MIN.
2644 (zap_leaf_array_get): Likewise.
2645 (dnode_get_path): Likewise.
2646 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
2647 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
2648 * grub-core/script/execute.c (grub_script_break): Likewise.
2649 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
2650 grub_max.
2651 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
2652 * include/grub/misc.h (grub_min): Removed.
2653 (grub_max): Likewise.
2654
80662dbc
VS
26552012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2656
2657 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
2658 direct.inode = 0.
2659
e6da1467
VS
26602012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
2663
b1ac4cb1
VS
26642012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
2667
b4bf7c3b
VS
26682012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
2671 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
2672
8ee1101a
VS
26732012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
2676 rather than a hack for grub_strncasemap.
2677
26782012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 Support multiple initrds
2681 Note: part of this was accidently committed in r3739.
2682
2683 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
2684 initrd.
2685 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2686 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2687 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2688 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2689 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2690
4d1e2bc9
VS
26912012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
2694 disks with unknown size.
2695 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
2696
75b49ebe
VS
26972012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 Remove defines pertaining to arbitrary limits not affecting GRUB
2700 anymore.
2701
2702 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
2703 (EXT2_MAX_SYMLINKCNT): Likewise.
2704 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
2705 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
2706 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
2707 (GRUB_PXE_MAX_BLKSIZE): Likewise.
2708 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
2709 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
2710 (DN_MAX_OBJECT_SHIFT): Likewise.
2711 (DN_MAX_OFFSET_SHIFT): Likewise.
2712 (DN_MAX_OBJECT): Likewise.
2713 (DNODES_PER_LEVEL_SHIFT): Likewise.
2714 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
2715 (SPA_MAXBLOCKSIZE): Likewise.
2716 (SPA_BLOCKSIZES): Likewise.
2717 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
2718 (MZAP_MAX_BLKSZ): Likewise.
2719
74a1dce7
VS
27202012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
2723 handle NULL appropriately.
2724 Remove MIN.
2725
30c7d3ce
VS
27262012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 Fix efiemu.
2729
2730 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
2731 cpu/types.h.
2732 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
2733 * configure.ac: Fix efiemu check.
2734
3c76ea0c
VS
27352012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
2738 grub_probe.
2739 Reported by: adamwill
2740
7e532280
SG
27412012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
2742
2743 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
2744
30492374
VS
27452012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 Fix handling of wide characters in gfxterm.
2748
2749 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
2750 (clear_char): Likewise.
2751 (paint_char): Skip code == NULL chars.
2752 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
2753
e70cb72f
VS
27542012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * grub-core/normal/charset.c: Move comment to right place.
2757
5c827cf9
VS
27582012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
2761 (GRUB_AFFS_FLAG_FFS): Put back where it was.
2762 (grub_affs_mount): Revert the correct version checking.
2763
53603892
VS
27642012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * docs/grub.texi (Unicode): Mention several other unsupported features.
2767
ff094b9b
VS
27682011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
2771 case statements as compile-time one.
2772 (direct_read): Prevent spurious warnings.
2773 (grub_squash_read_data): Likewise.
2774
c029da8a
VS
27752011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 Various squash4 fixes and LZO and XZ support.
2778
2779 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
2780 Add xzembed source files.
2781 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
2782 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
2783 (grub_squash_inode): New subtype long_dir.
2784 (SQUASH_TYPE_LONG_DIR): New inode type.
2785 (COMPRESSION): New enum.
2786 (XZBUFSIZ): New const.
2787 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
2788 (read_chunk): Use data->decompress.
2789 (zlib_decompress): New function.
2790 (lzo_decompress): Likewise.
2791 (xz_decompress): Likewise.
2792 (squash_mount): Set new data fields.
2793 (grub_squash_iterate_dir): Handle long dir.
2794 (squash_unmount): Free xzdec and xzbuf.
2795 (grub_squash_open): Check ino type.
2796 (direct_read): Stylistic fixes. Use data->decompress.
2797 (grub_squash_read_data): Likewise.
2798 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
2799 (get_byte): Likewise.
2800 (grub_zlib_disk_read): Removed.
2801 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
2802 (GRUB_POSIX_BOOL_DEFINED): New define.
2803 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
2804 * grub-core/lib/xzembed/xz.h: Addmissing includes.
2805 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
2806 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
2807
7a45a539
VS
28082011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 Don't override more informative errors.
2811
2812 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
2813 * grub-core/font/font.c (open_section): Likewise.
2814 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
2815 filename. Don't override errors.
2816 (grub_cmd_openbsd_ramdisk): Don't override errors.
2817 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
2818 (grub_cmd_initrd): Likewise.
2819 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2820 (grub_cmd_initrd): Likewise.
2821 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
2822 (grub_cmd_linux): Likewise.
2823 (grub_cmd_initrd): Likewise.
2824 (grub_cmd_payload): Likewise.
2825 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2826 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
2827 (grub_cmd_module): Likewise.
2828 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2829 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2830 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
2831 (grub_cmd_xnu_mkext): Likewise.
2832 (grub_cmd_xnu_ramdisk): Likewise.
2833 (grub_xnu_check_os_bundle_required): Likewise.
2834 (grub_xnu_load_kext_from_dir): Likewise.
2835 (grub_cmd_xnu_kextdir): Likewise.
2836 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
2837
b2d004db
VS
28382011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
2841 as 1024 in block size field. Found on one of my test images.
2842 Small optimisation while on it.
2843
ec000eac
VS
28442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
2847 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
2848 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
2849 performance fixes while on it.
2850 (grub_sfs_close): Fix memory leak while on it.
2851 (grub_sfs_label): Convert Latin1 to UTF-8.
2852
f50e1165
VS
28532011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
2856 space to avoid overflows.
2857 (grub_hfs_label): Convert from macroman to UTF-8.
2858
2ae254de
VS
28592011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
2862
0108f491
VS
28632011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
2866
f45f5f89
VS
28672011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 * unicode: Import Unicode 6.0 data.
2870
4d8c4765
VS
28712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2872
63fa8ef9
VS
2873 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
2874 outside of range.
2875
28762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
2879
2880 * include/grub/charset.h (grub_getend): New function.
2881 * grub-core/script/function.c (grub_script_function_find): Use
2882 grub_getend.
2883 * grub-core/normal/completion.c (add_completion): Likewise.
2884
f3cb4a4e
VS
28852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
2888 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
2889 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
2890 (GRUB_UNICODE_TAG_END): Likewise.
2891 (GRUB_UNICODE_LAST_VALID): Likewise.
2892
5da8dbc5
VS
28932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
2896 len and make it smaller. All users updated.
2897 * util/import_unicode.py: Put length and not end character.
2898 Check length.
2899
8569f13d
VS
29002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 Make better Unicode-compliant and unify some UTF-8 code pathes.
2903
2904 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
2905 valid character.
2906 (grub_is_valid_utf8): Use grub_utf8_process.
2907 Check resulting code range.
2908 (grub_utf8_to_ucs4): Use grub_utf8_process.
2909 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
2910 valid character.
2911
cc4fddf5
VS
29122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
2915
bbc47747
VS
29162011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * docs/grub.texi (Filesystems): Mention AFS.
2919
f63d6bf4
VS
29202011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * docs/grub.texi (Filesystems): Clarify restrictions.
2923 (Regexp): Mention non-Unicode regexp behaviour.
2924 (Other): Mention non-Unicode matching behaviour.
2925
74bbf0db
VS
29262011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2927
f63d6bf4 2928 Make HFS implementation use MacRoman.
74bbf0db
VS
2929
2930 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
2931 (macroman): New const array.
2932 (macroman_to_utf8): New function.
2933 (utf8_to_macroman): Likewise.
2934 (grub_hfs_find_dir): Use utf8_to_macroman.
2935 (grub_hfs_dir): Use macroman_to_utf8.
2936 Set case_insensitive.
2937
4ea0316e
VS
29382011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2939
2940 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
2941
d3c13cbd
VS
29422011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 Integrate hints into autogeneration scripts.
2945
2946 * docs/grub.texi (Filesystems): Add a hostdisk example.
2947 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
2948 (grub-probe): Add ofpath.
2949 * gentpl.py: Remove group nosparc64.
2950 * grub-core/commands/search.c (cache_entry): New struct.
2951 (cache): New var.
2952 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
2953 * grub-core/commands/search_wrap.c (options): Add platform-specific
2954 hint options.
2955 (grub_cmd_search): Handle platform-specific hints.
2956 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
2957 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
2958 (grub_util_biosdisk_data): Likewise.
2959 (grub_util_biosdisk_open): Set device_map.
2960 (read_device_map): Handle "" as indication of no map.
2961 Set device_map.
2962 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
2963 (grub_util_biosdisk_get_compatibility_hint): New function.
2964 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
2965 * include/grub/emu/hostdisk.h
2966 (grub_util_biosdisk_get_compatibility_hint): New proto.
2967 * util/grub-install.in: Don't call grub-mkdevicemap.
2968 Add platform-specific hint to load.cfg.
2969 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
2970 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
2971 hints. Set root preliminary to compatibility hint, not to OS name.
2972 * util/grub-probe.c (PRINT_*): Add hints.
2973 (print): Make static.
2974 (escape_of_path): New function.
2975 (guess_bios_drive): Likewise.
2976 (guess_efi_drive): Likewise.
2977 (guess_baremetal_drive): Likewise.
2978 (print_full_name): Likewise.
2979 (probe): Handle hints.
2980 (main): Likewise.
2981 * util/ieee1275/devicemap.c: Removed.
2982 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
2983 updated.
2984 (grub_util_devname_to_ofpath): Return NULL on failure.
2985
2986 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
2987 resource leak.
2988 * util/getroot.c (grub_util_pull_device): Fix memory leak.
2989
2990 * po/POTFILES.in: Regenerated.
2991
2992 Allow purely long options
2993
2994 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
2995 (SHORT_ARG_USAGE): Likewise.
2996 (grub_arg_show_help): Compare opt with help_options.
2997 (parse_option): Receive opt as argument. If makes big simplificatons.
2998 All users updated
2999
00ce2df3
VS
30002011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
3003 Restructure to avoid warning.
3004
e77e325f
VS
30052011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * util/grub-install.in: Account for possible escaped comma in device
3008 name.
3009
165099ea
VS
30102011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
3013 channel.
3014
ce4a999d
VS
30152011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3016
3017 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
3018 allocation and zero-setting.
3019 (grub_ieee1275_get_devname): Check that alias is complete.
3020
379586ad
VS
30212011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
3024 unaligned segments.
3025
9197b0ad
VS
30262011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
3029 prefix.
3030 (grub_ofdisk_open): Check and discard ieee1275 prefix.
3031 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3032 Add ieee1275 prefix.
3033
edddb7f9
VS
30342011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * docs/grub.texi (Filesystems): Update.
3037
a1a8b1b9
VS
30382011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 Support odc, newc and bigendian cpio formats.
3041
3042 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
3043 * grub-core/Makefile.core.def (newc): New module.
3044 (odc): Likewise.
3045 (cpio_be): Likewise.
3046 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
3047 (MAGIC): Likewise.
3048 (MAGIC2): Likewise.
3049 (head) [MODE_ODC]: Adapt for the format.
3050 (head) [MODE_NEWC]: Likewise.
3051 (head) [!MODE_*]: Write fields of interest as arrays.
3052 (MAGIC_USTAR): Removed.
3053 (read_number) [MODE_NEWC]: Change to hex.
3054 (read_number) [!MODE_*]: Parse binary arrays.
3055 (grub_cpio_find_file): Factor out the code for better structure and
3056 always use read_number.
3057 (grub_cpio_mount): Use MAGIC and MAGIC2.
3058 (grub_cpio_dir): Exit on first hook non-0 return.
3059 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
3060 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
3061 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
3062 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
3063 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
3064 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
3065 * grub-core/fs/newc.c: New file.
3066 * grub-core/fs/odc.c: Likewise.
3067 * grub-core/fs/cpio_be.c: Likewise.
3068
58eba9ee
VS
30692011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 Fix handling of tar numbers occupying the whole field.
3072
3073 * grub-core/fs/cpio.c (read_number): New function.
3074 (grub_cpio_find_file): Use read_number instead of strtoull.
3075
a54a0e12
VS
30762011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
3079 occupying the whole field size.
3080
a6120aca
LA
30812011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
3082
3083 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
3084
a93964ce
VS
30852011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
3088
3ea1ca46
SG
30892011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
3090
3091 * grub-core/Makefile.core.def (lzma_decompress): Add missing
3092 TARGET_IMG_LDFLAGS.
3093
b87f7ef2
VS
30942011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 * util/getroot.c (ESCAPED_PATH_MAX): New define.
3097 (mountinfo_entry): Increase the field size to take escaping into
3098 account.
3099 (find_root_device_from_libzfs): Add one byte to size of strings for
3100 security.
3101
62092395
VS
31022011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
3105 an assert.
3106 * util/grub-setup.c (setup): Likewise.
3107
1f0b1a77
VS
31082011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
3111 _LzmaDecodeA.
3112
8eba9997
VS
31132011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * docs/grub.texi (Internationalisation): New section.
3116
dd0c91e9
VS
31172011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * docs/grub.texi (Loopback booting): New section.
3120
31212011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
3122
3123 * util/grub-mkstandalone.in: Fix minor typo errors.
3124
198e150a
VS
31252011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
3128
3129 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
3130 net/icmp.c and net/icmp6.c.
3131 (http): New module.
3132 (priority_queue): Likewise.
3133 * grub-core/io/bufio.c: Rewritten.
3134 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
3135 TYPE_WITH_CONFIGFILE_OPTION.
3136 (legacy_commands): Add bootp and dhcp.
3137 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
3138 (grub_legacy_parse): Likewise.
3139 * grub-core/lib/priority_queue.c: New file.
3140 * grub-core/net/arp.c: Add missing license header.
3141 (arp_find_entry): Removed.
3142 (arp_find_entry): Likewise.
3143 (grub_net_arp_resolve): Rename to ...
3144 (grub_net_arp_send_request): ...this.
3145 (grub_net_arp_receive): New card argument.
3146 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
3147 Set router and DNS server.
3148 (grub_net_configure_by_dhcp_ack): Handle routing information.
3149 (grub_cmd_bootp): Set checksum.
3150 (grub_bootp_init): Remove net_dhcp.
3151 * grub-core/net/dns.c: New file.
3152 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
3153 completion.
3154 (get_card_packet): Handle allocation.
3155 (grub_efinet_findcards): Set mtu.
3156 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
3157 (get_card_packet): Handle allocation.
3158 (emucard): Set mtu.
3159 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
3160 (GRUB_MOD_INIT): Set mtu.
3161 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
3162 mtu.
3163 (get_card_packet): Handle allocation.
3164 (grub_ofnet_findcards): Set mtu.
3165 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
3166 assert.
3167 (grub_net_recv_ethernet_packet): Handle IPv6.
3168 * grub-core/net/http.c: New file.
3169 * grub-core/net/icmp.c: Likewise.
3170 * grub-core/net/icmp6.c: Likewise.
3171 * grub-core/net/ip.c (ip6addr): New type.
3172 (ip6hdr): Likewise.
3173 (reassemble): Likewise.
3174 (cmp): New function.
3175 (reassembles): New variable.
3176 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
3177 (id): New variable.
3178 (send_fragmented): New function.
3179 (grub_net_send_ip_packet): Rename to ...
3180 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
3181 Handle non-UDP.
3182 (grub_net_recv_ip_packets): Rename to ...
3183 (handle_dgram): ... this. Check checksum. Handle non-UDP.
3184 (free_rsm): New function.
3185 (free_old_fragments): Likewise.
3186 (grub_net_recv_ip4_packets): New function.
3187 (grub_net_send_ip6_packet): Likewise.
3188 (grub_net_send_ip_packet): Likewise.
3189 (grub_net_recv_ip6_packets): Likewise.
3190 (grub_net_recv_ip_packets): Likewise.
3191 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
3192 (LINK_LAYER_CACHE_SIZE): New const.
3193 (link_layer_find_entry): New function.
3194 (grub_net_link_layer_add_address): Likewise.
3195 (grub_net_link_layer_resolve_check): Likewise.
3196 (grub_net_link_layer_resolve): Likewise.
3197 (grub_net_ipv6_get_slaac): Likewise.
3198 (grub_net_ipv6_get_link_local): Likewise.
3199 (grub_cmd_ipv6_autoconf): Likewise.
3200 (parse_ip): Handle one number representation.
3201 (parse_ip6): New functoion.
3202 (match_net): Handle IPv6.
3203 (grub_net_resolve_address): Handle IPv6 and DNS.
3204 (grub_net_resolve_net_address): Handle IPv6.
3205 (route_cmp): New function.
3206 (grub_net_route_address): Find best route.
3207 (grub_net_addr_to_str): Handle IPv6.
3208 (grub_net_addr_cmp): New function.
3209 (grub_net_add_addr): Register local route.
3210 (print_net_address): Handle net address.
3211 (grub_net_poll_cards): Retransmit TCP.
3212 (grub_net_poll_cards_idle_real): Likewise.
3213 (have_ahead): New function.
3214 (grub_net_seek_real): Use underlying seek.
3215 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
3216 * grub-core/net/tcp.c: New file.
3217 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
3218 (cmp): New function.
3219 (ack): Likewise.
3220 (tftp_receive): Handle unordered input.
3221 (destroy_pq): New function.
3222 (tftp_close): Close pq.
3223 * grub-core/net/udp.c: Put missing license header.
3224 (grub_net_udp_socket): New function.
3225 (udp_socket_register): Likewise.
3226 (grub_net_udp_close): Likewise.
3227 (grub_net_recv_udp_packet): Check checksum.
3228 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
3229 * include/grub/misc.h (grub_memchr): New function.
3230 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
3231 (grub_net_card_driver): Return buf in recv.
3232 (grub_net_slaac_mac_list): New struct.
3233 (grub_network_level_protocol_id): Add ipv6.
3234 (grub_net_network_level_addr): Likewise.
3235 (grub_net_network_level_net_addr): Likewise.
3236 (grub_net_app_protocol): Add seek.
3237 (grub_net_socket): Removed.
3238 (grub_net_sockets): Likewise.
3239 (grub_net_socket_register): Likewise.
3240 (grub_net_socket_unregister): Likewise.
3241 (FOR_NET_SOCKETS): Likewise.
3242 (grub_net_add_addr): Add const.
3243 (GRUB_NET_BOOTP_*): New enum.
3244 (grub_net_addr_cmp): New proto.
3245 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
3246 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
3247 (grub_net_hwaddr_to_str): NEw proto.
3248 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
3249 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
3250 (grub_dns_init): New proto.
3251 (grub_dns_fini): Likewise.
3252 (grub_net_tcp_retransmit): Likewise.
3253 (grub_net_link_layer_add_address): Likewise.
3254 (grub_net_link_layer_resolve_check): Likewise.
3255 (grub_net_link_layer_resolve): Likewise.
3256 (grub_net_dns_lookup): Likewise.
3257 (grub_net_add_dns_server): Likewise.
3258 (grub_net_remove_dns_server): Likewise.
3259 (GRUB_NET_TRIES): New const.
3260 (GRUB_NET_INTERVAL): Likewise.
3261 * include/grub/net/arp.h: Mostly rewritten.
3262 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
3263 * include/grub/net/ip.h: Mostly rewritten.
3264 * include/grub/net/netbuff.h: Indent.
3265 * include/grub/net/tcp.h: New file.
3266 * include/grub/net/udp.h: Mostly rewritten.
3267 * include/grub/priority_queue.h: New file.
3268 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
3269 (grub_swap_bytes64_compile_time): Likewise.
3270 (grub_cpu_to_be16_compile_time): Likewise.
3271 (grub_cpu_to_be32_compile_time): Likewise.
3272 (grub_cpu_to_be64_compile_time): Likewise.
3273 (grub_be_to_cpu64_compile_time): Likewise.
3274
215c1800
VS
32752011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
3278 UINT_TO_PTR with cast.
3279
c17e546c
VS
32802011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
3283 don't use them.
3284
ff6b18b6
VS
32852011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
3288 already there.
3289
70ffcc93
VS
32902011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
3293 confusing ipxe.
3294
e5f4d260
VS
32952011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
3298 Add missing const attribute.
3299 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
3300 Likewise.
3301 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
3302 Likewise.
3303
8e54b4b7
VS
33042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
3307 misaligned access.
3308 (serpent_setkey): Likewise.
3309 (serpent_encrypt_internal): Likewise.
3310 (serpent_decrypt_internal): Likewise.
3311 (serpent_encrypt): Don't put an alignment-increasing cast.
3312 (serpent_decrypt): Likewise.
3313 (serpent_test): Likewise.
3314
813c0a2b
VS
33152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
3318
f2b60fbd
VS
33192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
3322
3323 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
3324 grub_addr_t casts.
3325 (PTR_TO_UINT64): Likewise.
3326 (PTR_TO_UINT32): Likewise.
3327
5ef5c511
VS
33282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 * util/grub-mkimage.c (generate_image): Decrease the higher limit
3331 because of stack.
3332 * util/grub-setup.c (setup): Don't add redundancy past the higher load
3333 limit.
3334
c476e6df
VS
33352011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
3338 text_width > available width a bit more gracefully.
3339
384ad7cc
VS
33402011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
3343 current address calculation.
3344
96f8caf8
VS
33452011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
3348 stack.
3349 (encode_block): Likewise.
3350
276b7a8b
VS
33512011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
3354 certainety.
3355
e3fd394a
VS
33562011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
3359 non-RS part to avoid RS messing with GDT.
3360 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3361 Increase to suit in realmode routines.
3362
33632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * grub-core/kern/i386/realmode.S: Increase alignment.
3366 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
3367
ee9c2e7a
VS
33682011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
3371 be deterministic.
3372 (syndroms): Compute 0 syndrom.
3373 (rs_recover): Use 0 syndrom.
3374
7a7f7cc9
VS
33752011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
3378
a14b16d1
VS
33792011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
3382 brackets.
3383
9f59e9fc
VS
33842011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3385
ca1b552c
VS
3386 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
3387 account.
3388 (get_top_pad): Likewise.
3389 (get_right_pad): Likewise.
3390 (get_bottom_pad): Likewise.
3391
33922011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 3395
e739d698
VS
33962011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
3399 attribute as the structure isn't guaranteed to be properly aligned.
3400 (grub_efi_pci_device_path): Likewise.
3401 (grub_efi_pccard_device_path): Likewise.
3402 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
3403 specify the size of `memory_type'.
3404 (grub_efi_vendor_device_path): Likewise.
3405 (grub_efi_controller_device_path): Likewise.
3406 (grub_efi_acpi_device_path): Likewise.
3407 (grub_efi_expanded_acpi_device_path): Likewise.
3408 (grub_efi_atapi_device_path): Likewise.
3409 (grub_efi_scsi_device_path): Likewise.
3410 (grub_efi_fibre_channel_device_path): Likewise.
3411 (grub_efi_1394_device_path): Likewise.
3412 (grub_efi_usb_device_path): Likewise.
3413 (grub_efi_usb_class_device_path): Likewise.
3414 (grub_efi_i2o_device_path): Likewise.
3415 (grub_efi_mac_address_device_path): Likewise.
3416 (grub_efi_ipv4_device_path): Likewise.
3417 (grub_efi_ipv6_device_path): Likewise.
3418 (grub_efi_infiniband_device_path): Likewise.
3419 (grub_efi_uart_device_path): Likewise.
3420 (grub_efi_vendor_messaging_device_path): Likewise.
3421 (grub_efi_hard_drive_device_path): Likewise.
3422 (grub_efi_cdrom_device_path): Likewise.
3423 (grub_efi_vendor_media_device_path): Likewise.
3424 (grub_efi_file_path_device_path): Likewise.
3425 (grub_efi_protocol_device_path): Likewise.
3426 (grub_efi_piwg_device_path): Likewise.
3427 (grub_efi_bios_device_path): Likewise.
3428
cb8f88ea
VS
34292011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
3432 (grub_ucs4_to_utf8_alloc): Likewise.
3433 (grub_ucs4_to_utf8): Likewise.
3434 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
3435 (grub_ucs4_to_utf8_alloc): Likewise.
3436
309e5352
VS
34372011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 AFFS never uses unicode.
3440
3441 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
3442 (grub_latin1_to_utf8): New inline function.
3443 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
3444
e7987e1b
VS
34452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
3448 overflow.
3449
efc2616e
VS
34502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
3453 (grub_squash_dirent_header): Likewise.
3454 (read_chunk): Don't double swap.
3455 (grub_squash_iterate_dir): Fix swap sizes.
3456
3c349f5a
VS
34572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
3460
b453412d
VS
34612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
3464 (grub_hfs_iterate_dir): Likewise.
3465
12e9d4d1
VS
34662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 Fix video on platforms where unaligned access is forbidden.
3469 Make several optimisations while on it.
3470
3471 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
3472 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3473 (grub_video_fbblit_replace_32bit_1bit): Likewise.
3474 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
3475 Disable.
3476 (grub_video_fbblit_replace_16bit_1bit):
3477 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3478 (grub_video_fbblit_replace_8bit_1bit): Likewise.
3479 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
3480 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
3481 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
3482 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
3483 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
3484 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
3485 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
3486 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
3487 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
3488 (grub_video_fbblit_replace_index_RGB888): Likewise.
3489 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
3490 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
3491 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
3492 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
3493 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
3494 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3495 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
3496 Disable.
3497 (grub_video_fbblit_blend_XXX565_1bit):
3498 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
3499 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
3500 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
3501 void *.
3502 * grub-core/video/fb/video_fb.c (common_blitter)
3503 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
3504 (grub_video_fb_create_render_target_from_pointer)
3505 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
3506 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
3507 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
3508 definition.
3509 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
3510
ace96609
VS
35112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3512
3513 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
3514 HH22 and HM10 relocations.
3515
fd261d73
VS
35162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
3519
e59b7857
VS
35202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
3523 allocation succeeded.
3524
9b4baaa4
VS
35252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
3528 argument a u8 pointer. All users updated.
3529 Handle unaligned buffers.
3530
dc713193
VS
35312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
3534 add_part to workaround compiler bug.
3535
30dd48c2
VS
35362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
3539
0c6087a8
VS
35402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
3543 Reserve alignment invariants.
3544 (grub_multiboot_load): Likewise.
3545 (retrieve_video_parameters): Likewise.
3546 (grub_multiboot_make_mbi): Likewise.
3547
c2e77777
VS
35482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
3551 incorrect pointer.
3552
b70b6d11
VS
35532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
3556 (grub_pata_pio_write): Likewise.
3557
02a2bf83
VS
35582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 Add noreturn attributes and remove unreachable code.
3561
3562 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
3563 code.
3564 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
3565 code. Mark as noreturn.
3566 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
3567 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
3568 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
3569 unreachable code.
3570 * grub-core/kern/main.c (grub_main): Mark as noreturn.
3571 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
3572 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
3573 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
3574 * include/grub/kernel.h (grub_main): Mark as noreturn.
3575 * include/grub/reader.h (grub_rescue_run): Likewise.
3576
2019d09e
VS
35772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
3580 redundant declaration.
3581
d1c501ee
VS
35822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * include/grub/net.h (grub_net_network_level_interfaces): Remove
3585 redundant declaration.
3586 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
3587
61664420
VS
35882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
3591 to ensure alignment.
3592 (grub_hdparm_print_identify): Make argument uint16 * to ensure
3593 alignment. Ensure tmp alignment.
3594 (grub_cmd_hdparm): Ensure buf alignment.
3595 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
3596 to ensure alignment.
3597 (grub_ata_dumpinfo): Ensure text alignment.
3598 (grub_atapi_identify): Preserve alignment invariant.
3599 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
3600
0d51ee20
VS
36012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
3604 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
3605 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
3606 * include/grub/misc.h (grub_reboot)
3607 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
3608 (grub_halt) [__mips__]: Likewise.
3609
753ef8c1
VS
36102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
3613 Remove redundant declaration.
3614 (grub_mmap_get_post64): Likewise.
3615 (grub_mmap_get_upper): Likewise.
3616 (grub_mmap_get_lower): Likewise.
3617
85c85365
VS
36182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
3621 uint32_t * to ensure alignment.
3622 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
3623
a23f2cc4
VS
36242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3625
93018f64
VS
3626 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
3627 uint16_t * to ensure alignment.
3628 (sun_pc_partition_map_iterate): Make `block' a union to ensure
3629 alignment.
3630
36312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
3634 to ensure alignment.
3635 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
3636
58acccd6
VS
36372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * grub-core/fs/ntfs.c (u16at): Make into inline function.
3640 Handle unaligned pointers.
3641 (u32at): Likewise.
3642 (u64at): Likewise.
3643 (fixup): Use byte access instead of v16at.
3644 (find_attr): Fix imporper usage of v32at.
3645 (read_data): Likewise.
3646 (list_file): Handle byte-swapping and unaligned strings.
3647 (grub_ntfs_label): Likewise.
3648
9b05cad7
VS
36492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
3652 as it's not necessarily aligned.
3653
b3950b84
VS
36542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
3657 redundant declaration.
3658 (grub_serial_init): Likewise.
3659 (grub_terminfo_init): Likewise.
3660
fcd232b7
VS
36612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
3664 function.
3665 (ZAP_HASH_IDX): Likewise.
3666 (ZAP_LEAF_HASH_SHIFT): Likewise.
3667 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
3668 (LEAF_HASH): Likewise.
3669 (ZAP_LEAF_NUMCHUNKS): Likewise.
3670 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
3671 alignment invariants. Return pointer. All users updated.
3672 (ZAP_LEAF_ENTRY): Make into inline function.
3673 (NBBY): Removed.
3674 (xor): LIkewise.
3675 (xor_out): Use grub_crypto_xor.
3676 (dnode_get_path): Use grub_get_unaligned.
3677 (nvlist_find_value): Likewise.
3678 (grub_zfs_nvlist_lookup_uint64): Likewise.
3679 (grub_zfs_nvlist_lookup_string): Likewise.
3680 (get_nvlist_size): Likewise.
3681 (grub_zfs_open): Likewise.
3682 (fill_fs_info): Likewise.
3683 (grub_zfs_dir): Likewise.
3684 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
3685 alignment invariants.
3686 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
3687 necessarily aligned.
3688
f138623a
VS
36892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3690
3691 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
3692
564840dc
VS
36932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3694
3695 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
3696 arithmetic to conserve alignment invariants.
3697
9b40df20
VS
36982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3699
3700 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
3701 redundant declaration.
3702 (grub_efiemu_mm_obtain_request): Likewise.
3703 (grub_efiemu_prepare): Likewise.
3704
d1c930f9
VS
37052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
3708 to match types.
3709
4c5f3056
VS
37102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
3713 case of aunaligned recptr.
3714 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
3715 alignment.
3716 (grub_hfsplus_btree_search): Handle unaligned index.
3717
728cba91
VS
37182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
3721 to get freetag and skip.
3722
eb561f31
VS
37232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
3726 array.
3727 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
3728 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
3729
20993fbb
VS
37302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3731
3732 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
3733 name for checksum and fix allocation algorithm.
3734
1f313b94
VS
37352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * include/grub/types.h (grub_properly_aligned_t): New type.
3738 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
3739 (grub_get_unaligned16): Add explicit casts.
3740 (grub_get_unaligned32): Likewise.
3741 (grub_get_unaligned64): Likewise.
3742 (grub_set_unaligned16): New function.
3743 (grub_set_unaligned32): Likewise.
3744
47ae27ec
VS
37452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3746
3747 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3748
78c2cd1c
VS
37492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3750
3751 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
3752 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
3753 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
3754
53072f9b
VS
37552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
3758 conditionals.
3759
055dc239
VS
37602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
3763 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
3764
496bd074
VS
37652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 Unify and improve RAID and crypto xor.
3768
3769 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
3770 changed to grub_crypto_xor
3771 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
3772 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
3773 Use bigger types when possible.
3774
ef6e4335
VS
37752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * grub-core/disk/raid.c (scan_devices): Fix condition.
3778
5d048bf2
VS
37792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
3782 Make name a const ptr.
3783
ee533335
VS
37842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
3787 first argument a const pointer.
3788 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
3789 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
3790 proto.
3791 (grub_children_iterate): Likewise.
3792 (grub_machine_mmap_iterate): Remove redundant declaration.
3793
cc8f3668
VS
37942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
3797 (grub_cmd_acpi) [!x86]: Disable EBDA.
3798
c5fc563a
VS
37992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3800
3801 Enable UTF8 in gnulib regexp.
3802
3803 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
3804 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
3805 (isupper): Use grub_isupper.
3806 (isascii): New inline function.
3807 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
3808 * grub-core/lib/posix_wrap/wctype.h: Likewise.
3809 * grub-core/normal/charset.c (grub_utf8_process): New function.
3810 (grub_utf8_to_utf16): Use grub_utf8_process.
3811 (grub_encode_utf8_character): New function.
3812 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
3813 * include/grub/charset.h (grub_utf8_process): New declaration.
3814 (grub_encode_utf8_character): Likewise.
3815 * include/grub/misc.h (grub_islower): New inline function.
3816 (grub_isupper): Likewise.
3817 (grub_strchrsub): Moved down to fix the definitions.
3818
0af2346f
VS
38192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
3822 specification.
3823
74dbd244
VS
38242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3825
3826 * include/grub/loader.h (grub_loader_register_preboot_hook):
3827 Use struct preboot * and not void * for handle. All users updated.
3828 (grub_loader_unregister_preboot_hook): Likewise.
3829
1bc8f60d
VS
38302011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
3833 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
3834 UTF-16-BE. All users updated.
3835 (grub_hfsplus_cmp_catkey): Fix unicode handling.
3836 (grub_hfsplus_iterate_dir): Likewise.
3837 (grub_hfsplus_label): Likewise.
3838
48d6e456
VS
38392011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
3842
bf3a3857
VS
38432011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 Add missing const qualifiers.
3846
3847 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
3848 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
3849 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
3850 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
3851 (grub_lvm_check_flag): Likewise.
3852 * grub-core/efiemu/i386/coredetect.c
3853 (grub_efiemu_get_default_core_name): Likewise
3854 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3855 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
3856 * grub-core/fs/ntfs.c (fixup): Likewise.
3857 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
3858 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
3859 (fzap_lookup): Likewise.
3860 (zap_lookup): Likewise.
3861 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
3862 * grub-core/lib/legacy_parse.c (check_option): Likewise.
3863 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
3864 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
3865 (grub_freebsd_add_meta_module): Likewise.
3866 (grub_cmd_freebsd_module): Likewise.
3867 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
3868 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
3869 (grub_xnu_writetree_get_size): Likewise.
3870 (grub_xnu_writetree_toheap_real): Likewise.
3871 (grub_xnu_find_key): Likewise.
3872 (grub_xnu_create_key): Likewise.
3873 (grub_xnu_create_value): Likewise.
3874 (grub_xnu_register_memory): Likewise.
3875 (grub_xnu_check_os_bundle_required): Likewise.
3876 (grub_xnu_scan_dir_for_kexts): Likewise.
3877 (grub_xnu_load_kext_from_dir): Likewise.
3878 * grub-core/normal/color.c (color_list): Likewise.
3879 * grub-core/normal/completion.c (current_word): Likewise.
3880 * grub-core/normal/menu_entry.c (insert_string): Likewise.
3881 * grub-core/term/serial.c (grub_serial_find): Likewise.
3882 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
3883 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
3884 Likewise.
3885 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
3886 (grub_freebsd_add_meta_module): Likewise.
3887 * include/grub/lib/arg.h (grub_arg_option): Likewise.
3888 * include/grub/net.h (grub_net_card_driver): Likewise.
3889 (grub_net_card): Likewise.
3890 (grub_net_app_protocol): Likewise.
3891 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
3892 * include/grub/serial.h (grub_serial_find): Likewise.
3893 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
3894 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
3895 (grub_xnu_create_value): Likewise.
3896 (grub_xnu_find_key): Likewise.
3897 (grub_xnu_scan_dir_for_kexts): Likewise.
3898 (grub_xnu_load_kext_from_dir): Likewise.
3899
3900 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
3901 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
3902 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
3903 Moved from here ...
3904 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
3905
112b4837
CW
39062011-11-28 Colin Watson <cjwatson@ubuntu.com>
3907
3908 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
3909
49e891ac
VS
39102011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
3913 (read_device): Fix size calculation.
3914
fd258e5c
RM
39152011-11-25 Robert Millan <rmh@gnu.org>
3916
3917 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
3918 (find_root_device_from_libzfs): Add zpool output parser to be used
3919 as fallback when libzfs isn't available.
3920
78845dc2
SG
39212011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
3922
3923 * po/Makefile.in.in: Add missing escape-continuation.
3924
adac5211
VS
39252011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
3928
10b64f1c
VS
39292011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3930
3931 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
3932
bb416954
VS
39332011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
3936
bdfe9eeb
VS
39372011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
3940
581ffa8a
VS
39412011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * grub-core/lib/adler32.c: Add missing license specification.
3944 * grub-core/lib/crc64.c: Likewise.
3945 * grub-core/loader/i386/pc/plan9.c: Likewise.
3946 * grub-core/partmap/plan.c: Likewise.
3947
2536cf64
LK
39482011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
3949
3950 Add facility to debug GRUB with gdb under qemu.
3951
3952 * grub-core/gdb_grub.in: New file.
3953 * grub-core/gmodule.pl.in: Likewise.
3954 * grub-core/Makefile.core.def (gmodule.pl): New script.
3955 (gdb_grub): Likewise.
3956
bc108a4a
VS
39572011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * util/grub-mount.c (argp_parser): Accept relative pathes.
3960 * util/grub-fstest.c (argp_parser): Likewise.
3961
111c1778
VS
39622011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 Plan9 support.
3965
3966 * Makefile.util.def (libgrubmods): Add
3967 grub-core/partmap/plan.c.
3968 * docs/grub.texi: Notice Plan9 support.
3969 * grub-core/Makefile.core.def (plan9): New module.
3970 (part_plan): Likewise.
3971 * grub-core/loader/i386/pc/plan9.c: New file.
3972 * grub-core/partmap/plan.c: Likewise.
3973 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
3974 define.
3975 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
3976 * include/grub/mm.h (grub_extend_alloc): New inline function.
3977
c30be3b6
VS
39782011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 Make Reed-Solomon faster by using power of generator representation of
3981 GF(256)*.
3982
3983 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
3984 (gf_double_t): Likewise.
3985 (gf_invert): Removed.
3986 (gf_powx): New array.
3987 (gf_powx_inv): Likewise.
3988 (scratch): Move higher.
3989 (gf_reduce): Removed.
3990 (gf_mul): Use powx.
3991 (gf_invert): Likewise.
3992 (init_inverts): Replaced with ...
3993 (init_powx): ...this. All users updated.
3994 (pol_evaluate): Replace multiplications with additions.
3995 (rs_encode): Likewise.
3996 (gauss_eliminate): Call gf_invert.
3997 (grub_reed_solomon_add_redundancy): Call init_powx.
3998 (grub_reed_solomon_recover): Call init_powx unconditionally.
3999
fa5aeffc
VS
40002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
4003
a346b81c
VS
40042011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
4007 disk->partiton for safety.
4008
d89ee414
VS
40092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4012 Fix a memory leak.
4013 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
4014
91ee7b6d
VS
40152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
4018
91e5a33d
VS
40192011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
4022
9edd7be2
VS
40232011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 Fix spaces handling in proc/self/mountinfo.
4026
4027 * util/getroot.c (unescape): New function.
4028 (grub_find_root_device_from_mountinfo): Use unescape.
4029
ba102053
VS
40302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 Support ZFS embedding.
4033
4034 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
4035 (grub_zfs_fs): Register grub_zfs_embed.
4036
aa94b870
VS
40372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4038
4039 Fix MIPS compilation.
4040
4041 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
4042 * include/grub/offsets.h: Rename decompressor fields from
4043 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
4044 * util/grub-mkimage.c (image_targets): Use new names.
4045
5fbdac14
VS
40462011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 Defer multiboot device parsing until we're in compressed part.
4049
4050 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
4051 bsd_part. setdevice has fallen into disuse.
4052 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
4053 (bsd_part): Likewise.
4054 (boot_dev): New variable.
4055 (multiboot_trampoline): Don't parse multiboot device.
4056 Pass multiboot device in %edx.
4057 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
4058 grub_boot_device.
4059 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
4060 Likewise.
4061 * grub-core/kern/i386/pc/startup.S: Save edx.
4062 (grub_boot_drive): Removed.
4063 (grub_install_dos_part): Likewise.
4064 (grub_install_bsd_part): Likewise.
4065 (grub_boot_device): New variable.
4066 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
4067 (grub_install_bsd_part): Likewise.
4068 (grub_boot_drive): Likewise.
4069 (grub_boot_device): New variable.
4070 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
4071 Removed.
4072 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
4073 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
4074 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
4075 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
4076 * util/grub-install.in: Remove redundant condition.
4077
691cbb58
VS
40782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 Fix bug introduced by previous commit.
4081
4082 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
4083
60240b8b
VS
40842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4085
4086 Use decompressors framework on i386-pc. It increases core size
4087 by 46 bytes but improves compatibility and maintainability.
4088
4089 * grub-core/Makefile.core.def (lzma_decompress): New image.
4090 (kernel): Add i386_pc_ldflags.
4091 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
4092 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
4093 to real_to_prot, prot_to_real and device info.
4094 * include/grub/offsets.h: Renamed decompressor offsets.
4095 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
4096 (image_target_desc): Remove raw_size and rename decompressor fields.
4097 (compress_kernel): Handle lzma.
4098 (generate_image): Handle decompressors on i386-pc.
4099
e9d3421c
VS
41002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * configure.ac: Add -fno-asynchronous-unwind-tables.
4103
2b23074a
VS
41042011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 Move assembly code to C by using intwrap. It increases core size
4107 by 88 bytes but improves compatibility and maintainability.
4108
4109 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
4110 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
4111 ... here. Translated to C.
4112 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
4113 * grub-core/term/i386/pc/console.c (grub_console_getkey):
4114 ... here. Translated to C.
4115 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
4116 * grub-core/term/i386/pc/console.c (grub_console_getxy):
4117 ... here. Translated to C.
4118 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
4119 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
4120 ... here. Translated to C.
4121 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
4122 * grub-core/term/i386/pc/console.c (grub_console_cls):
4123 ... here. Translated to C.
4124 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
4125 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
4126 ... here. Translated to C.
4127 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
4128 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
4129 Translated to C.
4130 * grub-core/term/i386/pc/console.c (int10_9): New function.
4131 (grub_console_putchar): Likewise.
4132 * include/grub/i386/pc/console.h: Removed the not anymore shared
4133 functions.
4134
678f4b67
VS
41352011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4136
4137 Move grub_chainloader_real_boot out of the kernel.
4138
4139 * grub-core/Makefile.am: Remove machine/loader.h.
4140 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
4141 Removed.
4142 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
4143 variable.
4144 (grub_relocator16_keep_a20_enabled): Likewise.
4145 (grub_relocator16_boot): Fill new variables.
4146 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
4147 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
4148 relocator.
4149 (grub_chainloader_unload): Likewise.
4150 (grub_chainloader_cmd): Likewise.
4151 * include/grub/i386/pc/loader.h: Removed.
4152 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
4153 and esi. All initialisers updated.
4154
4626edf6
VS
41552011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
41562011-11-12 Colin Watson <cjwatson@ubuntu.com>
4157
4158 * Makefile.util.def (grub-mount): New util.
4159 * .bzrignore: Add grub-mount.
4160 * configure.ac: Check for fuse and enable grub-mount if available.
4161 * docs/man/grub-mount.h2m: New file.
4162 * util/grub-mount.c: Likewise.
4163
10f0117b
VS
41642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * grub-core/commands/efi/fixvideo.c: Gettextize.
4167 * grub-core/commands/hashsum.c: Likewise.
4168 * grub-core/commands/i386/cmostest.c: Likewise.
4169 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4170 * grub-core/commands/i386/pc/lsapm.c: Likewise.
4171 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4172 * grub-core/commands/lsmmap.c: Likewise.
4173 * grub-core/commands/menuentry.c: Likewise.
4174 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
4175 * grub-core/commands/setpci.c: Likewise.
4176 * grub-core/loader/i386/bsd.c: Likewise.
4177 * grub-core/loader/i386/linux.c: Likewise.
4178 * util/getroot.c: Likewise.
4179 * util/grub-editenv.c: Likewise.
4180 * util/grub-fstest.c: Likewise.
4181 * util/grub-mkfont.c: Likewise.
4182 * util/grub-mkimage.c: Likewise.
4183 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4184 * util/grub-pe2elf.c: Likewise.
4185 * util/grub-probe.c: Likewise.
4186 * util/grub-setup.c: Likewise.
4187 * util/ieee1275/ofpath.c: Likewise.
4188 * util/misc.c: Likewise.
4189 * util/raid.c: Likewise.
4190
566f779b
RM
41912011-11-11 Robert Millan <rmh@gnu.org>
4192
4193 * util/getroot.c (grub_util_get_geom_abstraction): Remove
4194 __attribute__((unused)) from `os_dev', which *is* being used.
4195
b50787de
VS
41962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
4199 forgotten define.
4200 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
4201 GRUB_IA64_DL_GOT_ALIGN.
4202 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
4203 GRUB_IA64_DL_TRAMP_ALIGN.
4204
119d11c8
VS
42052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 Replace grub_fatal with normal errors in i386 linux loader.
4208
4209 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
4210 (allocate_pages): Check find_efi_mmap_size return value.
4211 (grub_e820_add_region): Return error.
4212 (grub_linux_boot): Check mmap return value.
4213
6e0632e2
VS
42142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * grub-core/commands/acpihalt.c: Gettextized.
4217 * grub-core/commands/cacheinfo.c: Likewise.
4218 * grub-core/commands/cmp.c: Likewise.
4219 * grub-core/commands/efi/loadbios.c: Likewise.
4220 * grub-core/commands/gptsync.c: Likewise.
4221 * grub-core/commands/ieee1275/suspend.c: Likewise.
4222 * grub-core/commands/legacycfg.c: Likewise.
4223 * grub-core/commands/memrw.c: Likewise.
4224 * grub-core/commands/minicmd.c: Likewise.
4225 * grub-core/commands/parttool.c: Likewise.
4226 * grub-core/commands/time.c: Likewise.
4227 * grub-core/commands/videoinfo.c: Likewise.
4228 * grub-core/disk/geli.c: Likewise.
4229 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
4230 * grub-core/disk/luks.c: Likewise.
4231 * grub-core/disk/lvm.c: Likewise.
4232 * grub-core/font/font_cmd.c: Likewise.
4233 * grub-core/fs/zfs/zfscrypt.c: Likewise.
4234 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4235 * grub-core/gfxmenu/view.c: Likewise.
4236 * grub-core/kern/emu/hostdisk.c: Likewise.
4237 * grub-core/kern/emu/main.c: Likewise.
4238 * grub-core/kern/emu/misc.c: Likewise.
4239 * grub-core/kern/emu/mm.c: Likewise.
4240 * grub-core/kern/mips/arc/init.c: Likewise.
4241 * grub-core/kern/mips/loongson/init.c: Likewise.
4242 * grub-core/kern/partition.c: Likewise.
4243 * grub-core/lib/i386/halt.c: Likewise.
4244 * grub-core/lib/mips/arc/reboot.c: Likewise.
4245 * grub-core/lib/mips/loongson/reboot.c: Likewise.
4246 * grub-core/loader/i386/pc/chainloader.c: Likewise.
4247 * grub-core/loader/i386/xnu.c: Likewise.
4248 * grub-core/loader/multiboot.c: Likewise.
4249 * grub-core/net/bootp.c: Likewise.
4250 * grub-core/net/net.c: Likewise.
4251 * grub-core/normal/term.c: Likewise.
4252 * grub-core/partmap/bsdlabel.c: Likewise.
4253 * grub-core/parttool/msdospart.c: Likewise.
4254 * grub-core/term/gfxterm.c: Likewise.
4255 * grub-core/term/terminfo.c: Likewise.
4256 * grub-core/video/i386/pc/vbe.c: Likewise.
4257 * util/grub-menulst2cfg.c: Likewise.
4258 * util/grub-mkdevicemap.c: Likewise.
4259 * util/grub-mklayout.c: Likewise.
4260 * util/grub-mkrelpath.c: Likewise.
4261 * util/grub-script-check.c: Likewise.
4262 * util/ieee1275/grub-ofpathname.c: Likewise.
4263 * util/resolve.c: Likewise.
4264
073aa7a9
VS
42652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 Support %1$d syntax.
4268
4269 * tests/printf_unit_test.c: New file.
4270 * Makefile.util.def (printf_test): New test.
4271 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
4272
c76b5417
VS
42732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
4276 fix.
4277
df067ad1
VS
42782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
4281 dprintf.
4282 * grub-core/font/font.c (grub_font_load): Likewise.
4283
5b289bc5
VS
42842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * util/grub-macho2img.c: Add comment concerning gettext.
4287 * grub-core/lib/legacy_parse.c: Likewise.
4288
c1860f87
VS
42892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
4292 (grub_xvasprintf): Likewise.
4293
d35d0d37
VS
42942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 Add const keyword to grub_env_get and gettextize week days.
4297
4298 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
4299 (grub_read_hook_datetime): Return const char *.
4300 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
4301 updated.
4302 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4303 Mark for gettext.
4304 (grub_get_weekday_name): Return const char *. Call gettext.
4305 * grub-core/script/argv.c (grub_script_argv_append): Receive const
4306 char * and len as the argument. All users updated.
4307 (grub_script_argv_split_append): Receive const char *.
4308 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
4309 * include/grub/env.h (grub_env_get): Likewise.
4310 (grub_env_read_hook_t): Return const char *.
4311 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
4312 (grub_script_argv_split_append): Likewise.
4313
9aed8a71
VS
43142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
4317
067fdf00
VS
43182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
4321 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
4322
a8bd9d39
VS
43232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
4326 Fix prototype.
4327
f7ce5baf
VS
43282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 Fix mips compilation.
4331
4332 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
4333 normal decoder.
4334 (hashes): Use in embed decoder as well (for sizes).
4335 (dec_stream_header): Fix embed decompressor logic.
4336 (dec_stream_footer): Likewise.
4337
9bb182f3
VS
43382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
4341 an error and not a fatal on unrecognised relocation types.
4342
63a9e6f6
VS
43432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
4346 Issue error rather than printf on unknown arguments.
4347
4c458569
VS
43482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4349
4350 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
4351 Make buf a const.
4352
e2d22baf
VS
43532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
4356 Fix module name.
4357
53dc8590
VS
43582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4359
4360 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
4361 leftover debug printf.
4362
6c189294
VS
43632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
4366
f7688369
VS
43672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
4370 A stylistic fix.
4371
11a775a3
VS
43722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
4375
33f784e8
SL
43762011-11-10 Shea Levy <slevy@tieronedesign.com>
4377
4378 Allow all modules to perform serial IO
4379
4380 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
4381 * include/grub/serial.h (grub_serial_port_configure): New inline
4382 function.
4383 (grub_serial_port_fetch): Likewise.
4384 (grub_serial_port_put): Likewise.
4385 (grub_serial_port_fini): Likewise.
4386 (grub_serial_find): New proto.
4387
f6276525
VS
43882011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 Put symlink at the end of the node and fix a potential
4391 memory corruption.
4392
4393 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
4394 Make symlink into an array.
4395 (set_rockridge): Set have_symlink and alloc_dirents.
4396 (grub_iso9660_read_symlink): Use new layout.
4397 (grub_iso9660_iterate_dir): Fix memory corruption.
4398 Use new layout.
4399 (grub_iso9660_dir): Set have_symlink.
4400 (grub_iso9660_open): Likewise.
4401
c3591189
VS
44022011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 Remove local keyword.
4405
4406 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
4407 (version_test_gt): Likewise.
4408 (version_find_latest): Likewise.
4409 (gettext_printf): Likewise.
4410 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
4411
cb544caa
VS
44122011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
4415
45bd824d
VS
44162011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 Fix ZFS memory and resource leaks.
4419
4420 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
4421 All users updated.
4422 Free type on exit.
4423 (fill_vdev_info): New parameter inserted. All users updated.
4424 (check_pool_label): Likewise.
4425 (scan_disk): Likewise.
4426 (scan_devices): Close non-inserted disks.
4427 (fzap_iterate): Free l.
4428 (unmount_device): Free children descripto memory.
4429
ad9a2f44
VS
44302011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
4433 argument (access out of bounds).
4434
6b68db81
VS
44352011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
4438 >= 6 drives.
4439
28840fda
VS
44402011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
4443 Fix declaration.
4444
8a5a3a5b
VS
44452011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 Fix several memory leaks.
4448
4449 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
4450 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
4451 (grub_cpio_dir): Likewise.
4452 * grub-core/fs/fat.c (grub_fat_label): Likewise.
4453 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
4454 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
4455 (grub_romfs_label): Likewise.
4456 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
4457 (squash_unmount): New function.
4458 (grub_squash_dir): Fix memory leak.
4459 (grub_squash_open): Likewise.
4460 (grub_squash_read): Likewise.
4461 (grub_squash_mtime): Likewise.
4462 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
4463 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
4464 * util/grub-fstest.c (fstest): Likewise.
4465
57b01250
VS
44662011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4467
4468 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
4469 avoid accessing beyond the array.
4470
19e81ba7
VS
44712011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4472
4473 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
4474
52b656c0
VS
44752011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 Several AFFS fixes.
4478
4479 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
4480 (GRUB_AFFS_FLAG_FFS): Removed.
4481 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
4482 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
4483 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
4484 (grub_fshelp_node): Make block 32-bit.
4485 Add block_cache and last_block_cache.
4486 (grub_affs_read_block): Fill and use block cache.
4487 (grub_affs_read_file): Removed.
4488 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
4489 boot block.
4490 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
4491 safety.
4492 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
4493 space.
4494 (grub_affs_close): Free block cache.
4495 (grub_affs_read): Use grub_fshelp_read_file directly.
4496
438a746a
VS
44972011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
4500 with no error set.
4501
49a45021
VS
45022011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
4505 used variable.
4506 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4507 Likewise.
4508
3ae17eb8
VS
45092011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4510
4511 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
4512
4513 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
4514 byteswap when needed.
4515
27610c38
VS
45162011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 Fix FreeBSD compilation.
4519
4520 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
4521 to avoid circular dependency.
4522 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
4523 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
4524 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
4525
4a19b601
VS
45262011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 Fix ZFS crypto error types.
4529
4530 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
4531 (grub_gcm_decrypt): Likewise.
4532 (grub_zfs_load_key_real): Fix error code type. Handle possible error
4533 from PBKDF2.
4534
958ee221
VS
45352011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 Illumos support.
4538
4539 * Makefile.util.def (10_illumos): New script.
4540 * configure.ac: Set COND_HOST_ILLUMOS.
4541 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
4542 Support Illumos calls.
4543 (find_partition_start) [__sun__]: Likewise.
4544 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
4545 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
4546 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
4547 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
4548 device.
4549 * util/grub-probe.c (probe) [__sun__]: Do character check.
4550 * util/grub.d/10_illumos.in: New file.
4551
cac14fb6
VS
45522011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 Support escaped commas in hostdisk.
4555
4556 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
4557 (find_grub_drive): Use unescape_cmp.
4558 (make_device_name): Escape commas.
4559
78e08dc3
VS
45602011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
4563
9f421dd1
VS
45642011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
4567 variable.
4568
ed64e9e2
VS
45692011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 Support trampoline jumps on powerpc.
4572
4573 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
4574 __ia64__ path.
4575 (grub_dl_load_segments): Set mod->sz.
4576 (grub_dl_flush_cache): Flush whole space occupied by module, not just
4577 segments.
4578 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
4579 (jump): Likewise.
4580 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
4581 function.
4582 (trampoline): New struct.
4583 (trampoline_template): New const.
4584 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
4585 * include/grub/dl.h (grub_dl): Add sz element.
4586 [__powerpc__]: Follow __ia64__.
4587 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
4588 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
4589 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
4590 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
4591
3084ede4
VS
45922011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 ZFS crypto support.
4595
4596 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
4597 * grub-core/Makefile.core.def (zfscrypt): New module.
4598 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
4599 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
4600 it. All users updated.
4601 (grub_zfs_decrypt): New var.
4602 (grub_zfs_load_key): Likewise.
4603 (zio_checksum_functions): Add SHA256+MAC.
4604 (zio_checksum_verify): Handle incomplete comparison due to MAC.
4605 (zio_read): Handle encrypted blocks.
4606 (zap_verify): Remove incorrect check.
4607 (fzap_iterate): Handle non-standard fzap.
4608 (zap_iterate): Likewise.
4609 (zap_iterate_u64): New function.
4610 (dnode_get_fullpath): Load keys.
4611 * grub-core/fs/zfs/zfscrypt.c: New file.
4612 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
4613 (grub_crypto_ecb_encrypt): Make input const.
4614 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
4615 (grub_crypto_ecb_encrypt): Make input const.
4616 (GRUB_CIPHER_AES): New macro.
4617 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
4618 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
4619 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
4620 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
4621 prefix. All users updated.
4622 (grub_zfs_add_key): New proto.
4623 (grub_zfs_decrypt): Likewise.
4624 (grub_zfs_load_key): Likewise.
4625 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
4626 * util/grub-fstest.c (options): Add -K option.
4627 (argp_parser): Likewise.
4628
b632b404
VS
46292011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 Support zle compression on ZFS.
4632
4633 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
4634 (decomp_table): Add zle.
4635 * include/grub/zfs/zio.h (zio_compress): Add zle.
4636
c7ba4f69
VS
46372011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 Support BtrFS embedding.
4640
4641 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
4642 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
4643 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
4644 * util/grub-setup.c (setup): Use fs embedding if available.
4645 Add additional sanity check.
4646
455377d9
VS
46472011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 * util/grub-install.in: Fix condition for config_opt.
4650
c2fd16ca
VS
46512011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 Support third redundancy strip on raidz3.
4654
4655 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
4656 Return error on singularity. All users updated.
4657 (read_device): Don't stop on 3rd failure on raidz3.
4658
8622923b
VS
46592011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 Support case-insensitive ZFS subvolumes.
4662
4663 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
4664 All users updated.
4665 (zap_hash): Likewise.
4666 (name_cmp): New function.
4667 (zap_leaf_array_equal): New parameter case_insensitive.
4668 All users updated.
4669 (zap_leaf_lookup): Likewise.
4670 (fzap_lookup): Likewise.
4671 (zap_lookup): Likewise.
4672 (dnode_get_path): New parameter case_insensitive. Retrieve case
4673 sensitiviness of a volume. All users updated.
4674 (dnode_get_fullpath): New parameter case_insensitive.
4675 All users updated.
4676 (grub_zfs_dir): Set info.case_insensitiveness.
4677
95f2e860
VS
46782011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 Support second redundancy strip on raidz(2,3).
4681
4682 * grub-core/fs/zfs/zfs.c (powx): New array.
4683 (powx_inv): Likewise.
4684 (poly): New const.
4685 (xor_out): New function.
4686 (gf_mul): Likewise.
4687 (recovery): Likewise.
4688 (read_device): Use second redundancy strip.
4689
11ee4389
VS
46902011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 Use a power of generator representation of GF(256) multiplication group
4693 to save space time and complexity.
4694
4695 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
4696 (raid6_table2): Likewise.
4697 (powx): New array.
4698 (powx_inv): Likewise.
4699 (poly): New const.
4700 (grub_raid_block_mul): Replace with ...
4701 (grub_raid_block_mulx): ...this.
4702 (grub_raid6_init_table): Rewritten.
4703 (grub_raid6_recover): Use power of generator representation.
4704
09e2763f
VS
47052011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
4708 for the right device.
4709
8bec9a28
VS
47102011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
4713 expected by grub-mkimage and it's more clear since there is no implicit
4714 padding.
4715
dbd3a32e
VS
47162011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
4719 disk.
4720 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4721
182c872a
PMH
47222011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
4723
4724 * util/grub-mkrescue.in: Fix handling xorriso option.
4725
1e51cabd
VS
47262011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
4729 NULL.
4730
9cc3581d 47312011-11-03 crocket <crockabiscuit@gmail.com>
4732
4733 * util/grub.d/10_linux.in: Add Slackware initrd naming.
4734
158dc1ea
VS
47352011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 XZ CRC64 and SHA256 support.
4738
4739 * Makefile.util.def (libgrubmods): Add crc64.c.
4740 * grub-core/Makefile.core.def (crc64): New module.
4741 * grub-core/lib/crc64.c: New file.
4742 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
4743 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
4744 Fix the type.
4745 (MAX_HASH_SIZE): New define.
4746 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
4747 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
4748 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4749 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4750 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
4751 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
4752 Handle non-crc32 hashes.
4753 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
4754 (dec_stream_header): Handle non-crc32 hashes.
4755 (dec_stream_footer): Likewise.
4756 (dec_block_header): Likewise.
4757 (dec_main): Likewise.
4758 (xz_dec_init): Likewise.
4759 (xz_dec_reset): Likewise.
4760 (xz_dec_end): Likewise.
4761 * util/import_gcry.py: Add CRC64 line.
4762
9d9b3d2f
VS
47632011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
4766 as well.
4767
7d0ac931
VS
47682011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 Make reiserfs label retrieval similar to other *_label functions.
4771
4772 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
4773 (REISERFS_MAX_LABEL_LENGTH): Removed.
4774 (REISERFS_LABEL_OFFSET): Likewise.
4775 (grub_reiserfs_label): Rewritten.
4776
47772011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
4780 field.
4781
cf5ba824
VS
47822011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
4785
17744004
VS
47862011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4787
4788 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
4789 drive failure on both raidz and raidz2.
4790
aca5aefc
VS
47912011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4792
4793 Fix RAIDZ(2) for >= 5 devices.
4794
4795 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
4796 asize argument. All users updated.
4797
ce8ca56e
VS
47982011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 Fix RAIDZ(2).
4801
4802 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
4803 (fill_vdev_info_real): Set ashift.
4804 (read_device): Rewrite RAIDZ part based on reverse engineering.
4805
7c01e783
VS
48062011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
4809 don't report potentially unavialiable fields in debug output.
4810 (find_path): Fix double-free and memory leak.
4811
ce109e84
VS
48122011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 Read label on UFS1.
4815
4816 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
4817 (grub_ufs_fs): Always set .label.
4818
87661123
VS
48192011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 Use shifts in UFS.
4822
4823 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
4824 (grub_ufs_data): New field log2_blksz.
4825 (grub_ufs_read_file): Use shifts.
4826 (grub_ufs_mount): Check block size and logarithm it.
4827
46bc1dc2
VS
48282011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
4831 long symlinks.
4832
19ee2987
VS
48332011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 Handle symlinks and long names on tar and cpio.
4836
4837 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
4838 (ATTR_FILE): Likewise.
4839 (ATTR_DIR): Likewise.
4840 (ATTR_LNK): Likewise.
4841 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
4842 (grub_cpio_find_file): Fill mode, handle linkname field as well as
4843 L and K entries.
4844 (grub_cpio_mount): Zero-fill data.
4845 (handle_symlink): New function.
46bc1dc2
VS
4846 (grub_cpio_dir): Handle symlinks.
4847 (grub_cpio_open): Likewise.
4848 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 4849
c83a08d8
VS
48502011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 Fix iso9660 filename limitations and fix memory leaks.
4853
4854 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
4855 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
4856
45cdd3ea
VS
48572011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 Fix JFS file name length limitations.
4860
4861 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
4862 (grub_jfs_diropen): Fix maximum filename length.
4863 (grub_jfs_getent): Fix filename length.
4864 (grub_jfs_lookup_symlink): Fix size checks.
4865
94ef05c2
VS
48662011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
4869 string.
4870
785ab8c7
VS
48712011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4872
eb0b6b45
VS
4873 Leverage BFS implementation to read AFS.
4874
4875 * Makefile.util.def (libgrubmods): Add afs.c.
4876 * grub-core/Makefile.core.def (afs): New module
4877 * grub-core/fs/afs.c: New file.
4878 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
4879
48802011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 4883
c4a1628f
VS
48842011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 * grub-core/fs/bfs.c: Run indent.
4887
5825b379
VS
48882011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 BFS implementation based on the specification.
4891
4892 * grub-core/fs/bfs.c: New file.
4893 * Makefile.util.def (libgrubmods): Add bfs.c.
4894 * grub-core/Makefile.core.def (bfs): New module.
4895
42b2a706
VS
48962011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4897
4898 * util/grub-fstest.c (cmd_cp): Clarify error message.
4899 (cmd_cmp): Likewise.
4900
61b99bfc
YB
49012011-10-30 Yves Blusseau <blusseau@zetam.org>
4902
4903 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
4904 and befs_be.
4905
faba3d16
VS
49062011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
4907
4908 Remove afs and befs because of copyright problem.
4909
4910 * grub-core/fs/afs.c: Removed.
4911 * grub-core/fs/afs_be.c: Removed.
4912 * grub-core/fs/befs.c: Removed.
4913 * grub-core/fs/befs_be.c: Removed.
4914 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
4915 * grub-core/Makefile.core.def (afs): Removed.
4916 (afs_be): Likewise.
4917 (befs): Likewise.
4918 (befs_be): Likewise.
4919
c39224b0
VS
49202011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 Prefer rockridge over Joliet.
4923
4924 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
4925 to ...
4926 (set_rockridge): ... here.
4927 (grub_iso9660_mount): Check rockridge on the primary label when
4928 discovering. Ignore Joliet if Rockridge is present.
4929
e551115a
VS
49302011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 Use shifts in nilfs2.
4933
4934 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
4935 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
4936 (grub_nilfs2_palloc_entries_per_group): Replace with ...
4937 (grub_nilfs2_log_palloc_entries_per_group): ... this.
4938 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
4939 (grub_nilfs2_entries_per_block): Replaced with ...
4940 (grub_nilfs2_log_entries_per_block_log): ... this.
4941 (grub_nilfs2_blocks_per_group): Replaced with ...
4942 (grub_nilfs2_blocks_per_group_log): ... this.
4943 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
4944 (grub_nilfs2_blocks_per_desc_block_log): ... this.
4945 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
4946 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
4947 (grub_nilfs2_palloc_entry_offset): Replaced ...
4948 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
4949 (grub_nilfs2_dat_translate): Use shifts.
4950 (grub_nilfs2_read_inode): Likewise.
4951 (GRUB_MOD_INIT): Ensure that logs are correct.
4952
564dd58c
VS
49532011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 Use shifts in minix filesystem.
4956
4957 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
4958 (GRUB_MINIX_ZONE2SECT): Likewise.
4959 (grub_minix_data): Replace block_size with log_block_size.
4960 (grub_minix_read_file): Use shifts.
4961 (grub_minix_mount): Check block size and take a logarithm.
4962
ed9ba06d
VS
49632011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 Use shifts in squash4.
4966
4967 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
4968 (squash_mount): Check block size and take logarithm.
4969 (direct_read): Use shifts.
4970
ad03fe76
VS
49712011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 Correct befs block counting logic.
4974
4975 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
4976 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
4977 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
4978 (grub_afs_read_inode): Use block_shift.
4979 (RANGE_SHIFT): New definition.
4980 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
4981 unexpected conditions, use shifts and appropriate types.
4982 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
4983
6563f63d
VS
49842011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 * grub-core/disk/raid.c (scan_devices): Check partition.
4987 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4988
5b1ae25f
VS
49892011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 Support BFS (befs) UUID.
4992
4993 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
4994 (grub_afs_small_data_element_header): New struct.
4995 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
4996 (grub_afs_read_attribute) [MODE_BFS]: New function.
4997 (grub_afs_iterate_dir): Allocate for complete inode.
4998 (grub_afs_mount): Likewise.
4999 (grub_afs_uuid) [MODE_BFS]: New function.
5000 (grub_afs_fs) [MODE_BFS]: Add .uuid.
5001
f8d82408
VS
50022011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
5005 (zfs_unmount): Fix memory leak.
5006
5773fb64
VS
50072011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5008
5009 Support NTFS reparse points.
5010
5011 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
5012 (symlink_descriptor): New struct.
5013 (grub_ntfs_read_symlink): New function.
5014 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
5015 (grub_ntfs_open): Likewise.
5016
91c3fdde
VS
50172011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
5020
3be82e10
VS
50212011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5022
5023 fstest xnu_uuid subcommand.
5024
5025 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
5026 grub-core/commands/xnu_uuid.c.
5027 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
5028 (fstest): Handle xnu_uuid.
5029 (options): Document xnu_uuid.
5030 (argp_parser): Parse xnu_uuid.
5031
8e32442e
VS
50322011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5033
5034 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
5035 -l argument. Add newline at the end if printing.
5036 (GRUB_MOD_INIT): Document -l.
5037
52a05075
VS
50382011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
5041
1869edb5
VS
50422011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 ZFS multi-device and version 33 support.
5045
5046 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
5047 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
5048 (grub_zfs_data): Add multidev-ice-related fields.
5049 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
5050 (dva_get_offset): Make dva const.
5051 (zfs_fetch_nvlist): New function.
5052 (fill_vdev_info_real): Likewise.
5053 (fill_vdev_info): Likewise.
5054 (check_pool_label): Likewise.
5055 (scan_disk): Likewise.
5056 (scan_devices): Likewise.
5057 (read_device): Likewise.
5058 (read_dva): Likewise.
5059 (zio_read_gang): Use read_dva.
5060 (zio_read_data): Likewise.
5061 (zap_leaf_lookup): Add missing endian conversion.
5062 (zap_verify): Add missing endian conversion. All users updated.
5063 (fzap_lookup): Likewise.
5064 (fzap_iterate): Likewise.
5065 (dnode_get_path): Handle SA bonus.
5066 (nvlist_find_value): Make input const. All users updated.
5067 (unmount_device): New function.
5068 (zfs_unmount): Use unmount_device.
5069 (zfs_mount): Use scan_disk.
5070 (zfs_mtime): New function.
5071 (grub_zfs_open): Handle system attributes.
5072 (fill_fs_info): Likewise.
5073 (grub_zfs_dir): Likewise.
5074 (grub_zfs_fs): Add mtime.
5075 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
5076 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
5077 (SA_MTIME_OFFSET): Likewise.
5078 (SA_SYMLINK_OFFSET): Likewise.
5079 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
5080 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
5081 (fstest): Support zfsinfo.
5082 (argp_parser): Likewise.
5083
186b4028
VS
50842011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5085
5086 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
5087 error.
5088
50892011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
5090
5091 ZFS fixes.
5092
5093 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
5094 sharing the same block. Iterate over correct number of indices.
5095 (dnode_get_path): Handle symlinks correctly.
5096
c0584900
VS
50972011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
5100
67e2bd71
VS
51012011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 Read label on HFS+.
5104
5105 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
5106 (grub_hfsplus_btree_search): Fix types.
5107 (grub_hfsplus_label): Implement.
5108
e9cc6b7b
VS
51092011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
5112
19832ddb
VS
51132011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
5116
66b40850
VS
51172011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 Fix symlink handling on iso9660.
5120
5121 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
5122 All users updated.
5123 (grub_iso9660_susp_iterate): Accept zero-size iterate.
5124 (grub_iso9660_read_symlink): Moved most of code ...
5125 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
5126
db821363
VS
51272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5130 Use union to avoid breaking strict-aliasing rules.
5131
e1211949
VS
51322011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5133
5134 Support multi-extent iso files.
5135
5136 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
5137 Add node.
5138 (grub_fshelp_node): Revamp. All users updated.
5139 (FLAG_*): New enum.
5140 (read_node): New function.
5141 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
5142 All users updated.
5143 (grub_iso9660_mount): Don't attempt to read sua when there is none.
5144 (get_node_size): New function.
5145 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
5146 entries.
5147 Fix memory leak on . and ..
5148 (grub_iso9660_read): Use read_node.
5149 (grub_iso9660_close): Free node.
5150
d4888031
VS
51512011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5152
5153 Fix tar 4G limit and handle paths containing dot.
5154
5155 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
5156 (canonicalize): New function.
5157 (grub_cpio_find_file): Use canonicalize. Store offs in
5158 grub_disk_addr_t.
5159 (grub_cpio_dir): Use grub_disk_addr_t.
5160 (grub_cpio_open): Likewise.
5161
9f12e664
VS
51622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5163
5164 Fix handling of uncompressed blocks on squashfs and break 4G limit.
5165
5166 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
5167 unused flags.
5168 (grub_squash_inode): Add long_file and block_size.
5169 (grub_squash_cache_inode): New struct.
5170 (grub_squash_dirent): Make types into enum.
5171 (SQUASH_TYPE_LONG_REGULAR): New type.
5172 (grub_squash_frag_desc): Add field size.
5173 (SQUASH_BLOCK_FLAGS): New enum.
5174 (grub_squash_data): Use grub_squash_cache_inode.
5175 (grub_fshelp_node): Make ino_chunk 64-bit.
5176 (read_chunk): Minor argument change. All users updated.
5177 (squash_mount): Use correct le_to_cpu.
5178 (grub_squash_open): Handle LONG_REGULAR.
5179 (direct_read): New function.
5180 (grub_squash_read_data): Handle blocks correctly.
5181
9f326fba
VS
51822011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
5185
f4d9b64b
VS
51862011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
5189
5bbd28b8
VS
51902011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 Fix 2G limit on ZFS.
5193
5194 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
5195 types.
5196 (uberblock_verify): Likewise.
5197 (dmu_read): Likewise.
5198 (grub_zfs_read): Likewise. Remove invalid cast.
5199
68c72069
VS
52002011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
5203 (grub_jfs_blkno): Fix incorrect shift.
5204 (grub_jfs_read_file): Use more appropriate types.
5205
6e536dc8
VS
52062011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 Support triple indirect on minix2 and minix3.
5209
5210 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
5211 Declare triple_indir_zone.
5212 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
5213 indirect.
5214
e0864e7a
VS
52152011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 Minix FS fixes.
5218
5219 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
5220 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
5221 Rename ctime to mtime. All users updated.
5222 (grub_minix_get_file_block): Fix types and double indirect computations.
5223
89481cab
VS
52242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
5227 if no label is found.
5228 (grub_fat_iterate_dir): Fix file size type.
5229 (grub_fat_iterate_dir): Likewise.
5230
f646e143
VS
52312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5232
5233 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
5234 save some space.
5235 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
5236 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5237
534d769e
VS
52382011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
5241
e084ba18
VS
52422011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 * util/import_gcry.py: Accept space between # and include.
5245
3471ecdf
VS
52462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
5249
124df5f6
VS
52502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 Fine grainely disable warnings on lexer. Remove Wno-error on it.
5253
5254 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
5255 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
5256 yylex_strncpy.
5257 * grub-core/script/yylex.l: Add fine-grained #pragma.
5258
4defb8d5
VS
52592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
5262 New inline function.
5263 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
5264 Likewise.
5265 (memset) [GRUB_UTIL]: Likewise.
5266 (memcmp) [GRUB_UTIL]: Likewise.
5267
4e94ae65
VS
52682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
5271 inline function rather than a define.
5272
18c575e5
VS
52732011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * util/grub-setup.c: Add missing include.
5276
f8bc22a8
VS
52772011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * util/ieee1275/grub-ofpathname.c: Add missing include.
5280
3ce69fc9
VS
52812011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
5284 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
5285 Likewise.
5286
d1e293bb
VS
52872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
5290 grub_memcmp usage.
5291
7a5c54a4
VS
52922011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5293
5294 * util/grub-install.in: Add datarootdir as per automake manual
5295 suggestion.
5296 * util/grub-mknetdir.in: Likewise.
5297
52982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
5299
5300 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
5301 suggestion.
5302 * util/grub.d/10_kfreebsd.in: Likewise.
5303 * util/grub.d/10_linux.in: Likewise.
5304 * util/grub.d/10_netbsd.in: Likewise.
5305 * util/grub.d/10_windows.in: Likewise.
5306 * util/grub.d/20_linux_xen.in: Likewise.
5307
766f7d08
VS
53082011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 Remove redundant grub_kernel_image_size.
5311
5312 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
5313 _edata and _start.
5314 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
5315 the small code. It moves it only by few bytes but simplifies the code.
5316 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
5317 _start.
5318 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
5319 (grub_kernel_image_size): Removed.
5320 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
5321 (grub_kernel_image_size): Removed.
5322 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
5323 compiled with Apple toolchain.
5324 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
5325 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
5326 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
5327 (grub_total_module_size): Likewise.
5328 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
5329 Removed.
5330 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
5331 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
5332 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5333 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
5334 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
5335 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
5336 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
5337 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
5338 Removed.
5339 (grub_total_module_size): Removed.
5340 * util/grub-mkimage.c (image_target_desc): Remove image_size.
5341 (image_targets): Likewise.
5342 Set .compressed_size to no field on sparc.
5343 (generate_image): Remove kernel_image_size handling.
5344
fcf1d672
SJ
53452011-10-19 Szymon Janc <szymon@janc.net.pl>
5346
5347 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
5348 NULL pointer dereference.
5349
de9c615e
VS
53502011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
5353 done with a dedicated section.
5354
5355 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
5356 Ensure the correct position of boot_path.
5357 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
5358 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
5359 other fields.
5360 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
5361 * include/grub/boot.h: Removed. All references removed.
5362 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
5363 Removed.
5364 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
5365
e55599dc
VS
53662011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
5369 name.
5370
36dd20ad
VS
53712011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
5374
f8f72eb8
VS
53752011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5378 Don't add the bogus brackets.
5379
a374751b
VS
53802011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 ExFAT support.
5383
5384 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
5385 * grub-core/Makefile.core.def (exfat): New module.
5386 * grub-core/fs/exfat.c: New file.
5387 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
5388 (GRUB_FAT_ATTR_*): Make into an enum.
5389 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
5390 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
5391 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
5392 (GRUB_FAT_MAXFILE): Removed.
5393 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
5394 (grub_current_fat_bpb_t): New type.
5395 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
5396 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
5397 (grub_fat_dir_node_t): New type.
5398 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
5399 (fat_log2) [MODE_EXFAT]: Removed.
5400 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
5401 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
5402 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
5403 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
5404 (grub_fat_label) [MODE_EXFAT]: New function.
5405 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
5406 reserved_first_sector to 0.
5407
544c2487
VS
54082011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 Move grub_reboot out of the kernel.
5411
5412 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
5413 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
5414 * grub-core/lib/efi/reboot.c: ... here.
5415 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
5416 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
5417 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
5418 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
5419 * grub-core/lib/i386/reboot_trampoline.S: ... here.
5420 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
5421 * grub-core/lib/ieee1275/reboot.c: ... here.
5422 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
5423 * grub-core/lib/mips/arc/reboot.c: ... here.
5424 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
5425 * grub-core/lib/mips/loongson/reboot.c: ...here.
5426 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
5427 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
5428 * include/grub/emu/misc.h (grub_reboot): New function declaration.
5429 * include/grub/i386/reboot.h: New file.
5430 * include/grub/mips/loongson/ec.h: Fix includes.
5431 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
5432 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
5433 * grub-core/lib/i386/reboot.c: New file.
5434
a97501d2
VS
54352011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 Make grub_prefix into module to fix the arbitrary limit and save
5438 some space.
5439
5440 * grub-core/kern/emu/main.c (grub_prefix): Removed.
5441 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
5442 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
5443 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
5444 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
5445 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
5446 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
5447 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
5448 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5449 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
5450 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
5451 * include/grub/ia64/efi/kernel.h: Removed.
5452 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
5453 (grub_prefix): Removed.
5454 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
5455 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
5456 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
5457 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
5458 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
5459 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
5460 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
5461 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
5462 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
5463 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
5464 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
5465 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
5466 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5467 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5468 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
5469 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
5470 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
5471 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5472 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
5473 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
5474 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
5475 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
5476 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
5477 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
5478 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
5479 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
5480 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
5481 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
5482 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
5483 from module.
5484 * util/grub-mkimage.c (image_target_desc): Removed prefix and
5485 prefix_end.
5486 (image_targets): Likewise.
5487 (generate_image): Put prefix as a module.
5488
39705fad
VS
54892011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 Replace grub_module_iterate with FOR_MODULES.
5492
5493 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
5494 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
5495 (grub_efi_modules_addr): ...this.
5496 * grub-core/kern/efi/init.c (grub_modbase): New variable.
5497 (grub_efi_init): Set grub_modbase.
5498 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
5499 (grub_modbase): New variable.
5500 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
5501 (grub_modbase): New variable.
5502 (grub_machine_init): Set grub_modbase.
5503 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
5504 (grub_modbase): New variable.
5505 (grub_machine_init): Set grub_modbase.
5506 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
5507 (grub_modbase): New variable.
5508 (grub_machine_init): Set grub_modbase.
5509 * grub-core/kern/main.c (grub_module_iterate): Remove.
5510 (grub_modules_get_end): Use grub_modbase.
5511 (grub_load_modules): Use FOR_MODULES.
5512 (grub_load_config): Likewise.
5513 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
5514 (grub_modbase): New variable.
5515 (grub_machine_init): Set grub_modbase.
5516 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
5517 (grub_modbase): New variable.
5518 (grub_machine_init): Set grub_modbase.
5519 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
5520 Removed.
5521 (grub_modbase): New variable.
5522 (grub_machine_init): Set grub_modbase.
5523 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
5524 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
5525 (grub_module_iterate): Likewise.
5526 (grub_modbase): New variable declaration.
5527 (FOR_MODULES): New macro.
5528
2afb7f6c
VS
55292011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * configure.ac: Check for __ctzdi2 and __ctzsi2.
5532 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
5533
366e34fa
VS
55342011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 Fix few obvious type discrepancies.
5537
5538 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
5539 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
5540 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
5541 variable.
5542 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
5543 and connected types.
5544 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
5545 offset.
5546 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
5547 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
5548 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
5549 and connected types.
5550
177b960e
VS
55512011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 Fix python 3.x incompatibilities.
5554
5555 * gentpl.py: Put brackets around print strings.
5556 * util/import_gcry.py: Open explicitly as utf-8.
5557 Use in instead of has_key.
5558
3b619ae1
VS
55592011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
5562 (GRUB_XFS_INO_AGBITS): Make into inline function.
5563 (GRUB_XFS_INO_INOINAG): Likewise.
5564 (GRUB_XFS_INO_AG): Likewise.
5565 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
5566 (GRUB_XFS_EXTENT_OFFSET): Likewise.
5567 (GRUB_XFS_EXTENT_BLOCK): Likewise.
5568 (GRUB_XFS_EXTENT_SIZE): Likewise.
5569 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
5570 (GRUB_XFS_NEXT_DIRENT): Likewise.
5571 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
5572 (grub_xfs_read_file): Fix offset type.
5573
8bcebcb8
RM
55742011-10-15 Robert Millan <rmh@gnu.org>
5575
5576 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
5577
0017e5ef
RM
55782011-10-15 Robert Millan <rmh@gnu.org>
5579
5580 Fix build problem on FreeBSD and GNU/kFreeBSD.
5581
5582 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
5583
d8919552
VS
55842011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
5587
5588 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
5589 types.
5590 (grub_hfsplus_btree_recoffset): Likewise.
5591 (grub_hfsplus_btree_recptr): Likewise.
5592 (grub_hfsplus_find_block): Likewise.
5593 (grub_hfsplus_btree_search): Likewise.
5594 (grub_hfsplus_read_block): Likewise.
5595 (grub_hfsplus_read_file): Likewise.
5596 (grub_hfsplus_mount): Likewise.
5597 (grub_hfsplus_btree_iterate_node): Likewise.
5598 (grub_hfsplus_btree_search): Likewise.
5599 (grub_hfsplus_iterate_dir): Likewise.
5600 (grub_hfsplus_read): A small code simplification.
5601
c81296b6
VS
56022011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5603
5604 * grub-core/kern/emu/hostdisk.c
5605 (convert_system_partition_to_system_disk): Don't assume that children
5606 of mapper nodes are mapper nodes.
5607
0eb8ffb1
VS
56082011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
5611 * include/grub/misc.h (grub_isxdigit): New function.
5612 * grub-core/video/colors.c (my_isxdigit): Removed. All users
5613 switched to grub_isxdigit.
5614 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
5615 number starting with a letter.
5616
a98f4a08
RM
56172011-10-09 Robert Millan <rmh@gnu.org>
5618
5619 LVM support for FreeBSD and GNU/kFreeBSD.
5620
5621 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
5622 GNU/kFreeBSD.
5623 (LVM_DEV_MAPPER_STRING): Move from here ...
5624 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
5625 * util/getroot.c: Include `<grub/util/lvm.h>'.
5626 (grub_util_get_dev_abstraction): Enable
5627 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
5628 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
5629 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
5630 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
5631 support it.
5632 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
5633 GNU/kFreeBSD.
5634 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
5635 when LVM abstraction is required for ${GRUB_DEVICE}.
5636
050e8e90
SJ
56372011-10-06 Szymon Janc <szymon@janc.net.pl>
5638
5639 Add support for LZO compression in GRUB:
5640 - import of minilzo library,
5641 - LZO decompression for btrfs,
5642 - lzop files decompression.
5643
5644 * grub-core/io/lzopio.c: New file.
5645 * grub-core/lib/adler32.c: Likewise.
5646 * grub-core/lib/minilzo/lzoconf.h: Likewise.
5647 * grub-core/lib/minilzo/lzodefs.h: Likewise.
5648 * grub-core/lib/minilzo/minilzo.c: Likewise.
5649 * grub-core/lib/minilzo/minilzo.h: Likewise.
5650 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
5651 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
5652 grub-core/lib/minilzo/minilzo.c to common.
5653 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
5654 cflags in cppflags.
5655 * grub-core/Makefile.core.def (btrfs): Likewise.
5656 * grub-core/Makefile.core.def (lzopio): New module.
5657 (adler32): Likewise.
5658 * grub-core/fs/btrfs.c: Include minilzo.h.
5659 (GRUB_BTRFS_COMPRESSION_LZO): New define.
5660 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
5661 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
5662 (grub_btrfs_lzo_decompress): New function.
5663 (grub_btrfs_extent_read): Add support for LZO compression type.
5664 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
5665 (GRUB_USHRT_MAX): Likewise.
5666 (GRUB_UINT_MAX): Likewise.
5667 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
5668 (UINT_MAX): Likewise.
5669 (CHAR_BIT): Likewise.
5670 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
5671 grub-core/lib/posix_wrap/limits.h
5672 (UCHAR_MAX): Likewise.
5673 * include/grub/file.h (grub_file_filter_id): New compression filter
5674 GRUB_FILE_FILTER_LZOPIO.
5675 * include/grub/file.h (grub_file_filter_id): Set
5676 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
5677 * include/grub/types.h (grub_get_unaligned16): New function.
5678 (grub_get_unaligned32): Likewise.
5679 (grub_get_unaligned64): Likewise.
5680 * util/import_gcry.py (cryptolist): Add adler32.
5681
0eb8ffb1
VS
56822011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
5685 in perspective decreases the complexity of build system and fixes
5686 compilation right now.
5687
ce79cc99 56882011-10-01 Ales Nesrsta <starous@volny.cz>
5689
5690 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
5691 (fixed problem related to using UHCI with coreboot).
5692
8667a314
BC
56932011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5694
5695 * gentpl.py: Use Autogen macros so that the output template file
5696 (Makefile.tpl) size is reduced.
5697
fc5efcc0
MK
56982011-09-29 Mads Kiilerich <mads@kiilerich.com>
5699
5700 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
5701 extra_dist.
5702
d1ab689d
ML
57032011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5704
5705 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
5706 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
5707
c05de032
ML
57082011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5709
5710 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
5711 _fullpath.
5712
cca7ccd8
ML
57132011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5714
5715 Remove extra declaration of sleep for mingw32.
5716
5717 * util/misc.c (sleep) [__MINGW32__]: Removed.
5718 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
5719
e0b0dc83
GS
57202011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
5721
5722 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
5723 type and packname.
5724 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
5725 Resurrected.
5726 (NETBSD_BTINFO_BOOTWEDGE): New definition.
5727 (grub_netbsd_btinfo_bootwedge): New struct.
5728 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5729 New function.
5730 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
5731
91a1a164
TH
57322011-09-28 Thomas Haller <thomas.haller@fen-net.de>
5733
5734 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
5735 loader.
5736
2ded951e
AB
57372011-09-28 Andreas Born <futur.andy@googlemail.com>
5738
5739 Fix incorrect identifiers in bash-completion.
5740
5741 * util/bash-completion.d/grub-completion.bash.in
5742 (_grub_mkpasswd-pbkdf2): Rename to ...
5743 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
5744 (_grub_script-check): Rename to ...
5745 (_grub_script_check): ... this. All users updated.
5746
69915030
VS
57472011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5750 Return 0 if disk isn't biosdisk.
5751
20fd15f9
GS
57522011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5753
5754 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
5755 on NetBSD.
5756 * Makefile.util.def (grub-fstest): Likewise.
5757
1a7d7db9
GS
57582011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5759
5760 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
5761 Get sector size from disk label.
5762
2221ab6c
CW
57632011-09-05 Colin Watson <cjwatson@ubuntu.com>
5764
5765 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
5766 */README* as well as README*.
5767 Reported by: Axel Beckert.
5768
ca51c4a0
VS
57692011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
5772 case of less than 256 MiB of RAM.
5773
ab80f326
VS
57742011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 * grub-core/commands/wildcard.c (make_regex): Handle @.
5777
4155e697
VS
57782011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 * util/grub-install.in: Move cryptodisk logic to appropriate place.
5781
ab178c08
SJ
57822011-08-21 Szymon Janc <szymon@janc.net.pl>
5783
5784 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
5785 AC_LANG_CONFTEST macros.
5786
7dc3c686
SJ
57872011-08-20 Szymon Janc <szymon@janc.net.pl>
5788
5789 Add grub-fstest option to uncompress data for commands.
5790
5791 * util/grub-fstest.c (uncompress): New var.
5792 (options): New option -u.
5793
fe8d4a7b
SJ
57942011-08-20 Szymon Janc <szymon@janc.net.pl>
5795
5796 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5797 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
5798
a5219af1
SJ
57992011-08-20 Szymon Janc <szymon@janc.net.pl>
5800
5801 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
5802 file type was not recognized correctly (not gzip or corrupted).
5803
f87abff5
VS
58042011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
5807 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
5808
d94497ea
VS
58092011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
5812 loongson.
5813 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5814 video_radeon_fuloong2e.
5815 * grub-core/video/radeon_fuloong2e.c: New file.
5816 * include/grub/video.h (grub_video_id_t): Add new ID
5817 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
5818
0d1fd011
VS
58192011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5820
5821 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
5822 define.
5823 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
5824 that PRID matches the detected subplatform and reset the subplatform
5825 if it doesn't.
5826
84beb0ee
VS
58272011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5828
5829 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
5830
1227c133
VS
58312011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5832
5833 Fix PCI iterating on functions >= 4.
5834
5835 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
5836 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
5837 Removed.
5838 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
5839 (grub_pci_read): Fix bitmask.
5840 (grub_pci_read_word): Likewise.
5841 (grub_pci_read_byte): Likewise.
5842 (grub_pci_write): Likewise.
5843 (grub_pci_write_word): Likewise.
5844 (grub_pci_write_byte): Likewise.
5845
9594c689
VS
58462011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5847
5848 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
5849 can still be specified in TARGET_CFLAGS)
5850
14a2562c
VS
58512011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
5854
5855 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
5856 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
5857 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
5858 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
5859 (FULOONG): Rename to ...
5860 (FULOONG2F): ... this. All users updated.
5861 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
5862 (machtype_fuloong2f_str): ... this.
5863 (machtype_fuloong2e_str): New string.
5864 Check for machtype_fuloong2e_str.
5865 * grub-core/loader/mips/linux.c (loongson_machtypes)
5866 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
5867 * grub-core/term/serial.c (loongson_defserial)
5868 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
5869 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
5870 loongson_defserial.
5871 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
5872 Rename to ...
5873 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
5874 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
5875 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
5876 to IMAGE_FULOONG2F_FLASH. All users updated.
5877 (image_targets): Rename images.
5878 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
5879
b526cbb6
SJ
58802011-08-19 Szymon Janc <szymon@janc.net.pl>
5881
5882 Make enable of disk cache statistics code configurable.
5883
5884 * configure.ac: --enable-cache-stats added.
5885 * config.h.in (DISK_CACHE_STATS): New define.
5886 * grub-core/Makefile.core.def (cacheinfo): New command.
5887 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
5888 * grub-core/commands/cacheinfo.c: New file.
5889 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
5890 moved to cacheinfo.c.
5891 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
5892 debug code.
5893 * include/grub/disk.h: Likewise.
5894
fb739ccd
SJ
58952011-08-19 Szymon Janc <szymon@janc.net.pl>
5896
5897 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
5898 * grub-core/Makefile.am: Likewise.
5899
2bba8cfd
VS
59002011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
5903 non-zero pull.
5904
43526629
VS
59052011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5906
5907 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
5908 All users updated.
5909 (grub_jfs_lookup_symlink): Use correct starting inode.
5910
5c144cc8
VS
59112011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5912
5913 * util/grub-setup.c (main): Add missing gcry initialisation.
5914
b1257f65
VS
59152011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 Don't accept text modes on EFI when booting Linux.
5918
5919 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
5920 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
5921
828bc390
ML
59222011-08-15 Mario Limonciello <mario_limonciello@dell.com>
59232011-08-15 Colin Watson <cjwatson@ubuntu.com>
5924
5925 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
5926 use of "/path/.." as in grub-install for EFI as well as handling
5927 symlinks correctly.
5928 Fixes Debian bug #637768.
5929
5f60ccac
CW
59302011-08-15 Colin Watson <cjwatson@ubuntu.com>
5931
5932 * util/grub-probe.c: Remove duplicate #include.
5933
6dc212f9
RM
59342011-08-10 Robert Millan <rmh@gnu.org>
5935
5936 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
5937
5938 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
5939 function.
5940 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
5941 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
5942
66816d85
RM
59432011-08-03 Robert Millan <rmh@gnu.org>
5944
5945 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
5946 la_array as packed.
5947 Reported by: Zachary Bedell
5948
20168fca
CW
59492011-07-26 Colin Watson <cjwatson@ubuntu.com>
5950
5951 * configure.ac: The Loongson port requires grub-mkfont due to its
5952 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
5953 be built.
5954
303b6246
CW
59552011-07-26 Colin Watson <cjwatson@ubuntu.com>
5956
5957 * util/grub-install.in: Don't source grub-mkconfig_lib until after
5958 processing arguments (otherwise help2man fails when GRUB has not yet
5959 been installed).
5960
6795300e
VS
59612011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5962
41aa28ea
VS
5963 New script grub-mkstandalone.
5964
5965 * Makefile.util.def (grub-mkstandalone): New script.
5966 * docs/man/grub-mkstandalone.h2m: New file.
5967 * util/grub-mkstandalone.in: Likewise.
5968
59692011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 Support ATA disks with 4K sectors.
6795300e
VS
5972
5973 * include/grub/ata.h (grub_ata): New member log_sector_size.
5974 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
5975 (grub_ata_identify): Read sector size.
5976 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
5977
92227597
VS
59782011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5979
5980 * util/grub-install.in: Don't use uhci outside of x86.
5981
c77069f5
VS
59822011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 * util/grub-mkrescue.in: Add missing quotes.
5985
59862011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
5987
5988 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
5989 dereference.
5990
583168a2
VS
59912011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
5994
6be1c01f
VS
59952011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 * include/grub/video.h: add missing EXPORT_FUND on
5998 grub_video_edid_checksum and grub_video_edid_preferred_mode.
5999
a1167439
VS
60002011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * include/grub/mips/kernel.h: Fix define conflict.
6003
bf66054f
VS
60042011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6005
6006 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
6007 all four ways.
6008
8fc4fa45
CW
60092011-07-21 Colin Watson <cjwatson@ubuntu.com>
6010
6011 Preferred resolution detection for VBE.
6012
6013 * grub-core/video/video.c (grub_video_edid_checksum): New function.
6014 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
6015 the Flat Panel extension, in line with the X.org VESA driver.
6016 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
6017 New function.
6018 (grub_vbe_bios_get_ddc_capabilities): Likewise.
6019 (grub_vbe_bios_read_edid): Likewise.
6020 (grub_vbe_get_preferred_mode): Likewise.
6021 (grub_video_vbe_setup): When the mode is "auto", try to get the
6022 preferred mode from VBE, and use the largest mode that is no larger
6023 than the preferred mode (some BIOSes expose a preferred mode that is
6024 not in their mode list!). If this fails, fall back to 640x480 as a
6025 safe conservative choice.
6026 (grub_video_vbe_get_edid): New function.
6027 (grub_video_vbe_adapter): Add get_edid.
6028 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
6029 (struct grub_video_adapter): Add get_edid.
6030 (grub_video_edid_checksum): Add prototype.
6031 (grub_video_edid_preferred_mode): Likewise.
6032 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
6033 structure.
6034
6035 * grub-core/commands/videoinfo.c (print_edid): New function.
6036 (grub_cmd_videoinfo): Print EDID if available.
6037
6038 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
6039 is more appropriate on a wider range of platforms than 640x480.
6040 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
6041 documentation.
6042
ca5572a9
VS
60432011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
6046
e4bcf625
VS
60472011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 * po/POTFILES.in: Regenerate.
6050
c4edd548
VS
60512011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
6054 incorrect memory usage.
6055
16a2bab0
VS
60562011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 * util/grub-install.in: Source grub-mkconfig_lib.
6059
2e418de6
VS
60602011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 Remove getroot.c from core on emu platform.
6063
6064 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
6065 kern/emu/raid.c.
6066 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
6067 useless.
6068 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
6069 * util/getroot.c (get_win32_path): ... here.
6070 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
6071 * util/getroot.c (fini_libzfs): ... here.
6072 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
6073 * util/getroot.c (grub_get_libzfs_handle): ... here.
6074 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
6075 Moved from here...
6076 * util/getroot.c (grub_find_zpool_from_dir): ... here.
6077 * grub-core/kern/emu/misc.c
6078 (grub_make_system_path_relative_to_its_root): Moved from here...
6079 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
6080 * grub-core/kern/emu/getroot.c: Moved from here ...
6081 * util/getroot.c: ... here. All users updated.
6082 * grub-core/kern/emu/raid.c: Moved from here ...
6083 * util/raid.c: ... here. All users updated.
6084
def9832a
VS
60852011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * po/POTFILES.in: Regenerate.
6088
cd8fe79a
VS
60892011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 Fix compilation on GNU/Linux.
6092
6093 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
6094 Disable geli.
6095 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
6096 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
6097 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
6098
a251b719
VS
60992011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
61002011-07-07 Michael Gorven <michael@gorven.za.net>
61012011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
6102
6103 LUKS and GELI support.
6104
6105 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
6106 grub-core/disk/luks.c, grub-core/disk/geli.c,
6107 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
6108 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
6109 grub-core/lib/arg.c.
6110 (libgrubmods.a): Remove gcrypts cflags and cppflags.
6111 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
6112 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
6113 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
6114 (grub-bin2h): Add libgcry.a.
6115 (grub-mkimage): Likewise.
6116 (grub-mkrelpath): Likewise.
6117 (grub-script-check): Likewise.
6118 (grub-editenv): Likewise.
6119 (grub-mkpasswd-pbkdf2): Likewise.
6120 (grub-pe2elf): Likewise.
6121 (grub-fstest): Likewise.
6122 (grub-mkfont): Likewise.
6123 (grub-mkdevicemap): Likewise.
6124 (grub-probe): Likewise.
6125 (grub-ofpath): Likewise.
6126 (grub-mklayout): Likewise.
6127 (example_unit_test): Likewise.
6128 (grub-menulst2cfg): Likewise.
6129 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
6130 * grub-core/Makefile.core.def (cryptodisk): New module.
6131 (luks): Likewise.
6132 (geli): Likewise.
6133 * grub-core/disk/AFSplitter.c: New file.
6134 * grub-core/disk/cryptodisk.c: Likewise.
6135 * grub-core/disk/geli.c: Likewise.
6136 * grub-core/disk/luks.c: Likewise.
6137 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
6138 grub_util_is_lvm.
6139 (grub_util_get_dm_abstraction): New function.
6140 (grub_util_follow_gpart_up): Likewise.
6141 (grub_util_get_geom_abstraction): Likewise.
6142 (grub_util_get_dev_abstraction): Use new functions.
6143 (grub_util_pull_device): Pull GELI and LUKS.
6144 (grub_util_get_grub_dev): Handle LUKS and GELI.
6145 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
6146 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
6147 (follow_geom_up): Removed.
6148 (grub_util_fd_seek): New function.
6149 (open_device): Use grub_util_fd_seek.
6150 (nread): Rename to ..
6151 (grub_util_fd_read): ... this. All users updated.
6152 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
6153 (grub_crypto_cbc_decrypt): Likewise.
6154 (grub_crypto_hmac_write): Likewise.
6155 (grub_crypto_hmac_buffer): Likewise.
6156 (grub_password_get): Extend to util.
6157 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
6158 New member modname.
6159 (gcry_md_spec) [GRUB_UTIL]: Likewise.
6160 * include/grub/cryptodisk.h: New file.
6161 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
6162 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
6163 LUKS and GELI.
6164 (grub_util_follow_gpart_up): New proto.
6165 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
6166 (grub_util_fd_read): Likewise.
6167 (grub_cryptodisk_cheat_mount): Likewise.
6168 (grub_util_cryptodisk_print_uuid): Likewise.
6169 (grub_util_get_fd_sectors): Likewise.
6170 * util/grub-fstest.c (mount_crypt): New var.
6171 (fstest): Mount crypto if requested.
6172 (options): New option -C.
6173 (argp_parser): Parse -C.
6174 (main): Init and fini gcry.
6175 * util/grub-install.in: Support cryptodisk install.
6176 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
6177 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
6178 cryptodisk.
6179 (prepare_grub_to_access_device): Likewise.
6180 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
6181 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
6182 (probe_cryptodisk_uuid): New function.
6183 (probe_abstraction): Likewise.
6184 (probe): Use new functions.
6185 * util/import_gcry.py: Create Makefile.utilgcry.def.
6186 Add modname member.
6187
9bfdcbbc
VS
61882011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 Lazy device scanning.
6191
6192 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
6193 (grub-setup): Remove util/raid.c.
6194 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
6195 * grub-core/disk/lvm.c (scan_depth): New variable.
6196 (grub_lvm_iterate): Rescan if necessary.
6197 (find_lv): New function based on grub_lvm_open.
6198 (grub_lvm_open): Use find_lv. Rescan on error.
6199 (is_node_readable): New function.
6200 (is_lv_readable): Likewise.
6201 (grub_lvm_scan_device): Skip already found disks.
6202 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
6203 Stop if searched device is found and readable.
6204 * grub-core/disk/raid.c (inscnt): New variable.
6205 (scan_depth): Likewise.
6206 (scan_devices): New function based on grub_raid_register. Abort if
6207 looked for device is found.
6208 (grub_raid_iterate): Rescan if needed.
6209 (find_array): NEw function based on -grub_raid_open.
6210 (grub_raid_open): Use find_array and rescan.
6211 (insert_array): Set became_readable_at.
6212 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
6213 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
6214 New function.
6215 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
6216 (grub_util_pull_device): New function.
6217 (grub_util_get_grub_dev): Call grub_util_pull_device.
6218 * util/raid.c: Moved to ..
6219 * grub-core/kern/emu/raid.c: ... here.
6220 (grub_util_raid_getmembers): New parameter "bootable".
6221 All users updated. Support 1.x.
6222 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
6223 All users updated.
6224 * include/grub/disk.h (grub_disk_pull_t): New enum.
6225 (grub_disk_dev): Change iterate prototype.
6226 All users updated.
6227 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
6228 New proto.
6229 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
6230 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
6231 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
6232 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
6233 All users updated.
6234 * include/grub/util/raid.h: Removed.
6235
1c358e59
VS
62362011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
6237
6238 * po/POTFILES.in: Regenerate.
6239
abee94ed
VS
62402011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
6241
6242 Unify sparc init with other ieee1275.
6243
6244 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
6245 instead of kern/sparc64/ieee1275/init.c.
6246 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
6247 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
6248 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
6249 grub/machine/kernel.h.
6250 (grub_ieee1275_original_stack) [__sparc__]: New variable.
6251 (grub_claim_heap) [__sparc__]: Use sparc version.
6252 (grub_machine_init): Moved args parsing to
6253 (grub_parse_cmdline): ...this.
6254 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
6255 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
6256 New definition.
6257 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
6258
6259 Move BOOTP to separate file.
6260
6261 * grub-core/Makefile.core.def (net): Add net/bootp.c.
6262 * grub-core/net/net.c: Move all BOOTP functions to
6263 * grub-core/net/bootp.c: ... here.
6264
6265 Use frame interface on PXE.
6266
6267 * grub-core/Makefile.core.def (pxecmd): Removed.
6268 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
6269 * grub-core/commands/i386/pc/pxecmd.c: Removed.
6270 * grub-core/i386/pc/pxe.c: Moved from here ...
6271 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
6272 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
6273 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
6274
6275 EFI network support.
6276
6277 * grub-core/Makefile.core.def (efinet): New module.
6278 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
6279 here...
6280 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
6281 All users updated.
6282 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
6283 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
6284 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
6285 * grub-core/net/drivers/efi/efinet.c: New file.
6286 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
6287 (grub_efi_net_config): New extern var.
6288
6289 Various cleanups and bugfixes.
6290
6291 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
6292 error.
6293 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
6294 disk declared as partition.
6295 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
6296 leak on failure.
6297 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
6298 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
6299 (grub_debug_zalloc): Likewise.
6300 (grub_debug_realloc): Likewise.
6301 (grub_debug_memalign): Likewise.
6302 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
6303 Check that target is IPv4.
6304 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
6305 local-mac-address as fallback.
6306 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
6307 memory leak.
6308 * grub-core/net/ip.c (ipchksum): Rename to ...
6309 (grub_net_ip_chksum): ... this. All users updated.
6310 (grub_net_recv_ip_packets): Special handling for DHCP.
6311 * util/grub-mkimage.c (generate_image): Zero-out aout header.
6312
6313 Unify prefix handling
6314
6315 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
6316 (grub_machine_get_bootlocation): ... this.
6317 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
6318 (grub_machine_get_bootlocation): ... this.
6319 (grub_prefix): New variable.
6320 (prefix): Removed.
6321 (root_dev): New variable.
6322 (dir): Likewise.
6323 (main): Use new variables.
6324 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
6325 Revamped into ...
6326 (grub_machine_get_bootlocation): ... this.
6327 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
6328 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
6329 (grub_machine_get_bootlocation): ... this.
6330 (grub_machine_set_prefix): Removed.
6331 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
6332 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
6333 Revamped into ...
6334 (grub_machine_get_bootlocation): ... this.
6335 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
6336 (grub_set_prefix_and_root): ... this. All users updated.
6337 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
6338 Revamped into ...
6339 (grub_machine_get_bootlocation): ... this.
6340 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
6341 (grub_machine_get_bootlocation): New proto.
6342 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
6343
6344 Less intrusive and more reliable seek on network implementation.
6345
6346 * grub-core/kern/file.c (grub_file_net_seek): Removed.
6347 (grub_file_seek): Don't call grub_file_net_seek.
6348 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
6349 (grub_net_fs_read_real): .. this.
6350 (grub_net_seek_real): Use net->offset.
6351 (grub_net_fs_read): Seek if necessary.
6352
6353 Unify IEEE1275 netwotk config with the other platforms.
6354
6355 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
6356 New variable.
6357 (grub_machine_get_bootlocation): Support network.
6358 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
6359 Support type and device parsing.
6360 (grub_ieee1275_get_device_type): New function.
6361 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
6362 into ...
6363 (grub_ieee1275_net_config_real): ... this.
6364 (grub_ofnet_probecards): Removed.
6365 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
6366 * include/grub/ieee1275/ofnet.h: Removed.
6367 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
6368 extern var.
6369 (grub_ieee1275_get_device_type): New function.
6370
6371 Unify network device closing across platforms and make more robust.
6372
6373 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
6374 grub_grubnet_fini.
6375 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
6376 already.
6377 * grub-core/net/net.c (grub_net_network_level_interface_register):
6378 Update num_ifaces.
6379 (grub_net_card_unregister): Close all interfaces.
6380 (receive_packets): Don't poll if no iterfaces are registered.
6381 Open if necessary.
6382 (grub_net_fini_hw): New function.
6383 (grub_net_restore_hw): Likewise.
6384 (fini_hnd): New variable.
6385 (GRUB_MOD_INIT): Register preboot hook.
6386 (GRUB_MOD_FINI): Run and unregister preboot hook.
6387
6388 Poll network cards when idle.
6389
6390 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
6391 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
6392 * grub-core/net/net.c (receive_packets): Save last poll time.
6393 (grub_net_poll_cards_idle_real): New function.
6394 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
6395 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
6396 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
6397
6398 Rename ofnet interfaces.
6399
6400 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
6401 (grub_ofnet_findcards): Use ofnet_%s names.
6402
6403 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
6404
6405 Cleanup socket opening.
6406
6407 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
6408 (grub_net_fs_close): Likewise.
6409 (grub_net_fs_read_real): Use eof member.
6410 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
6411 (+grub_net_udp_close): New inline function.
6412
6413 * include/grub/net/tftp.h: Moved to the top of ...
6414 * grub-core/net/tftp.c: ... here.
6415 * include/grub/net/ip.h: Moved mostly to the top of ...
6416 * grub-core/net/ip.c: ... here.
6417 * include/grub/net/ethernet.h: Moved mostly to the top of ...
6418 * grub-core/net/ethernet.c: ... here.
6419
6420 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
6421
6422 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
6423 FS name.
6424
6425 * include/grub/net/ip.h (ipv4_ini): Removed.
6426 (ipv4_fini): Likewise.
6427
6428 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
6429 (grub_net_send_ip_packets): Likewise.
6430
cf1337aa
VS
64312011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
6434 grub_read_cmos prototype.
6435
93c06ff9
VS
64362011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 VGA text support in qemu-mips
6439
6440 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
6441 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
6442 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
6443 text.
6444 * grub-core/kern/i386/qemu/init.c: Renamed to ...
6445 * grub-core/kern/vga_init.c: ... this.
6446 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
6447 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
6448 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
6449 Adjust.
6450 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
6451 GRUB_MACHINE_PCI_IO_BASE.
6452
748ccabe
VS
64532011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 MIPS qemu flash support.
6456
6457 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
6458 magic.
6459 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
6460 (grub_machine_init): Probe memory if its size isn't known.
6461 * util/grub-mkimage.c (image_targets): Add flash targets.
6462 (generate_image): Handle flash targets.
6463
d7345994
VS
64642011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 MIPS qemu at_keyboard support.
6467
6468 * gentpl.py (videoinkernel): Add qemu-mips.
6469 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
6470 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
6471 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
6472 modules.
6473 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
6474 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
6475 * grub-core/term/serial.c (grub_serial_register)
6476 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
6477
a07a81b3
VS
64782011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 CMOS support on sparc.
6481
6482 * gentpl.py (cmos): Add powerpc and sparc.
6483 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
6484 powerpc and sparc.
6485 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
6486 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
6487 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
6488 grub_set_datetime_cmos.
6489 * grub-core/lib/ieee1275/cmos.c: New file.
6490 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
6491 (find_rtc): Set no_ieee1275_rtc on error.
6492 (grub_get_datetime): Call grub_get_datetime_cmos on error.
6493 (grub_set_datetime): Call grub_set_datetime_cmos on error.
6494 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
6495 fail. Move value to argument. All users updated
6496 (grub_cmos_write): Likewise.
6497 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
6498 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
6499 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
6500 grub_get_datetime_cmos and grub_set_datetime_cmos.
6501
77546584
GS
65022011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
6503
6504 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
6505 sourcing grub-mkconfig_lib.
6506 * util/update-grub_lib.in: Likewise.
6507 * util/grub.d/00_header.in: Likewise.
6508 * util/grub.d/10_hurd.in: Likewise.
6509 * util/grub.d/10_kfreebsd.in: Likewise.
6510 * util/grub.d/10_linux.in: Likewise.
6511 * util/grub.d/10_netbsd.in: Likewise.
6512 * util/grub.d/10_windows.in: Likewise.
6513 * util/grub.d/20_linux_xen.in: Likewise.
6514 * util/grub.d/30_os-prober.in: Likewise.
6515
54894791
CW
65162011-06-28 Colin Watson <cjwatson@ubuntu.com>
6517
6518 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
6519 default_bg_color rather than black.
6520 (grub_gfxterm_fullscreen): Likewise.
6521 (grub_gfxterm_background_color_cmd): Save new background color in
6522 default_bg_color.
6523
8d5d8444
VS
65242011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
6527
5afeb5bd
VS
65282011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
6531 mismerge.
6532
ba7df45e
VS
65332011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 Chainloading on coreboot support.
6536
6537 * grub-core/Makefile.core.def (chain): Add coreboot.
6538 * grub-core/loader/i386/coreboot/chainloader.c: New file.
6539
d0b526b2
VS
65402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
6543 if it happens.
6544
5ff1d945
VS
65452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 Implement time command.
6548
6549 * grub-core/Makefile.core.def (time): New module.
6550 * grub-core/commands/time.c: New file.
6551 * grub-core/script/parser.y: Remove "time" keyword.
6552 * grub-core/script/yylex.l: Likewise.
6553
5ebaad7e
VS
65542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
6557
bdea3798
VS
65582011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
6561 when handling leftovers.
6562
b28c5655
VS
65632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6564
6565 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
6566 so that help2man doesn't fail.
6567
b6f945dc
VS
65682011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
6571 type in pointers on sparc64.
6572 (get_card_packet): Likewise.
6573
f9b75e8a
CW
65742011-06-27 Colin Watson <cjwatson@ubuntu.com>
6575
6576 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
6577 with `*'.
6578 (grub_cmd_videoinfo): Fetch current video mode.
6579
1e3d9b86
VS
65802011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
6583 because of underlying system restrictions.
6584
efff4b1c
VS
65852011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
6588 necessary.
6589
9fc9ce37
VS
65902011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 Coreboot video support.
6593
6594 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
6595 (vbe): Likewise.
6596 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
6597 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
6598 here ...
6599 * grub-core/kern/i386/int.S: ... here.
6600 * grub-core/video/i386/pc/vbe.c: Updated includes.
6601 * grub-core/video/i386/pc/vga.c: Likewise.
6602 * include/grub/i386/coreboot/memory.h
6603 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
6604 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
6605 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
6606 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
6607 Disable interrupts.
6608 * include/grub/i386/pc/vga.h: Removed. All users updated.
6609
41bec7fe
VS
66102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
6613 definitions for dprintf.
6614 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
6615
ca80309d
VS
66162011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
6619 prototype.
6620 (get_card_packet): Likewise.
6621
9e322ce8
YB
66222011-06-26 Yves Blusseau <blusseau@zetam.org>
6623
6624 Display the path of the file when file is not found
6625
6626 * grub-core/fs/fat.c: Display the filename when file is not found.
6627 * grub-core/fs/fshelp.c: Likewise.
6628 * grub-core/fs/hfs.c: Likewise.
6629 * grub-core/fs/jfs.c: Likewise.
6630 * grub-core/fs/minix.c: Likewise.
6631 * grub-core/fs/ufs.c: Likewise.
6632 * grub-core/fs/btrfs.c: Likewise.
6633 * grub-core/commands/i386/pc/play.c: Likewise.
6634
cbf597af
SJ
66352011-06-26 Szymon Janc <szymon@janc.net.pl>
6636
6637 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
6638 pointer checks before calling grub_free().
6639 * grub-core/commands/wildcard.c (match_devices): Likewise.
6640 * grub-core/commands/wildcard.c (match_files): Likewise.
6641 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
6642 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
6643 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
6644 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
6645 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
6646 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
6647 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
6648 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
6649 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
6650
6295b32f
P
66512011-06-25 Patrick <p55@mailinator.com>
6652
6653 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
6654
77c0840b
VS
66552011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6656
6657 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
6658 (grub_pxe_send): Likewise.
6659 (GRUB_MOD_INIT): Fix types.
6660
40ea05de
SJ
66612011-06-24 Szymon Janc <szymon@janc.net.pl>
6662
6663 * grub-core/io/xzio.c: Fix code style issues
6664
90162423
MRA
66652011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
66662011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
6667
6668 Network infrastructure.
6669 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
6670
6671 * include/grub/net/arp.h: New file.
90162423
MRA
6672 * include/grub/net/device.h: Likewise.
6673 * include/grub/net/ethernet.h: Likewise.
6674 * include/grub/net/ip.h: Likewise.
6675 * include/grub/net/netbuff.h: Likewise.
6676 * include/grub/net/tftp.h: Likewise.
6677 * include/grub/net/udp.h: Likewise.
6678 * include/grub/ieee1275/ofnet.h: Likewise.
6679 * include/grub/emu/export.h: Likewise.
6680 * include/grub/net.h: Likewise.
6681 * grub-core/net/arp.c: Likewise.
6682 * grub-core/net/ethernet.c: Likewise.
6683 * grub-core/net/ip.c: Likewise.
6684 * grub-core/net/udp.c: Likewise.
6685 * grub-core/net/tftp.c: Likewise.
6686 * grub-core/net/netbuff.c: Likewise.
6687 * grub-core/net/net.c: Likewise.
6688 * grub-core/net/drivers/emu/emunet.c: Likewise.
6689 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
6690 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
6691 export.h.
6692 * grub-core/Makefile.core.def (net): New module.
6693 (tftp): Likewise.
6694 (ofnet): Likewise.
6695 (emunet): Likewise.
6696 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
6697 network protocols.
6698 * grub-core/kern/device.c (grub_net_open) : New variable.
6699 (grub_device_open): Handle network device.
6700 (grub_device_close): Likewise.
6701 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
6702 (grub_grubnet_fini): Likewise.
6703 (grub_file_seek): Seek in network device.
6704 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
6705 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
6706 network root.
6707 (grub_machine_fini): Call grub_grubnet_fini.
6708 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
6709 network.
6710 (grub_ieee1275_get_aliasdevname): New function.
6711 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6712 Add unofficial Solaris network info.
6713 (grub_multiboot_make_mbi): Likewise.
6714 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
6715 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
6716 * include/grub/device.h (grub_fs): Removed.
6717 * include/grub/err.h (grub_err_t): Add network-related values.
6718 * include/grub/i386/pc/pxe.h: Removed bootp parts.
6719 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
6720 (grub_ieee1275_get_aliasdevname): New proto.
6721 * include/grub/net.h: Rewritten.
423a1849 6722
031f22a0
VS
67232011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
6726 names.
6727
4388ca72
VS
67282011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
6731 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
6732 it truncates the output.
6733 Reported by: Ximin Luo.
6734
98e2f506
VS
67352011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
6738
2a5e94d8
VS
67392011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6740
6741 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
6742 partmap before abstraction.
6743
535c1910
AK
67442011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
6745
6746 * util/grub-mkconfig_lib.in: Add missing quotes.
6747
bc09e1a2
VS
67482011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
6751 old method if mountinfo would return /dev/root and /dev/root doesn't
6752 exist.
6753
290766fb
VS
67542011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 ZFS zlib support
6757
6758 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
6759 (decomp_table): Add zlib entries.
6760 (zio_read): USe 8 bits for compression function rather than 3.
6761 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
6762
67632011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 * grub-core/disk/ahci.c: Add missing license statements.
6766 * grub-core/fs/romfs.c: Likewise.
6767 * grub-core/lib/ia64/setjmp.S: Likewise.
6768 * grub-core/loader/i386/pc/freedos.c: Likewise.
6769 * grub-core/loader/ia64/efi/linux.c: Likewise.
6770 * grub-core/video/colors.c: Likewise.
6771 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
6772
5ab3f48a
VS
67732011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 AHCI support.
6776
6777 * grub-core/Makefile.core.def (ata_pthru): Removed.
6778 (ahci): New module.
6779 (pata): Likewise.
6780 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
6781 on unload.
6782 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
6783 readwrite.
6784 (grub_hdparm_do_check_powermode_cmd): Likewise.
6785 (grub_hdparm_do_smart_cmd): Likewise.
6786 (grub_hdparm_set_val_cmd): Likewise.
6787 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
6788 * grub-core/disk/ahci.c: New file.
6789 * grub-core/disk/ata.c: Factor out the low-level part into ...
6790 * grub-core/disk/pata.c: ... here.
6791 * grub-core/disk/ata_pthru.c: Contents moved to ...
6792 * grub-core/disk/pata.c: ... here.
6793 * grub-core/disk/scsi.c (grub_scsi_names): New array.
6794 (grub_scsi_iterate): Use grub_scsi_names.
6795 (grub_scsi_open): Likewise.
6796 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
6797 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
6798 (grub_ata_regs_t): New struct.
6799 (grub_disk_ata_pass_through_parms): Likewise.
6800 (grub_ata_device): Renamed to ...
6801 (grub_ata): ... this.
6802 (grub_ata_dev): New struct.
6803 Removed all low-level inline functions.
6804 * include/grub/scsi.h: Add PATA and AHCI subsystems.
6805 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
6806 iterate hooks and open. All users updated.
6807 * util/grub-install.in: Handle AHCI disk module.
6808
c31dc5f5
SJ
68092011-06-23 Szymon Janc <szymon@janc.net.pl>
6810
6811 Add support for DRI and RSTn markers in JPEG files.
6812
6813 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
6814 (JPEG_MARKER_RST0): Likewise.
6815 (JPEG_MARKER_RST1): Likewise.
6816 (JPEG_MARKER_RST2): Likewise.
6817 (JPEG_MARKER_RST3): Likewise.
6818 (JPEG_MARKER_RST4): Likewise.
6819 (JPEG_MARKER_RST5): Likewise.
6820 (JPEG_MARKER_RST6): Likewise.
6821 (JPEG_MARKER_RST7): Likewise.
6822 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
6823 (grub_jpeg_decode_dri): New function.
6824 (grub_jpeg_decode_sos): Move image data related part into
6825 grub_jpeg_decode_data function.
6826 (grub_jpeg_decode_data): New function.
6827 (grub_jpeg_reset): New function.
6828 (grub_jpeg_decode_jpeg): Handle new markers.
6829
fe12fd5b
VS
68302011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6831
6832 * util/ieee1275/ofpath.c (check_sas): Close fd.
6833 (main): Free of_path.
6834 Reported by: David Volgyes <dvolgyes>.
6835
03147f46
VS
68362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
6839 Reported by: David Volgyes <dvolgyes>.
6840
cad3237f
VS
68412011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6842
6843 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
6844 file after stat.
6845 Reported by: David Volgyes <dvolgyes>.
6846
13548d26
VS
68472011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
6850
6851 Reported by: David Volgyes <dvolgyes>.
6852
e061a1b5
VS
68532011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
6856 Prevent memory leak.
6857
1abe47dc
VS
68582011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
6861 (main): Close file.
e061a1b5 6862 Reported by: David Volgyes <dvolgyes>.
1abe47dc 6863
fbc62666
VS
68642011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6865
6866 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
6867 to continue if allocation is failed.
6868
6869 Reported by: David Volgyes <dvolgyes>.
6870
e98c83e9
DV
68712011-06-23 David Volgyes <dvolgyes>
6872
6873 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
6874 dereference.
6875
a199a8cd
VS
68762011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6877
6878 Fix spurious warning.
6879
6880 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
6881 (acorn_partition_map_find): Use .bin member.
6882
e2d1dba0
VS
68832011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
6886 /dev/root as a valid device.
6887
8a5d6919
JM
68882011-06-23 Jim Meyering <meyering@redhat.com>
6889
e2d1dba0
VS
6890 Avoid NULL deref in grub_device_open.
6891
8a5d6919
JM
6892 * grub-core/kern/device.c (grub_device_open): Don't dereference
6893 a NULL pointer upon failed grub_env_get.
6894
f7db6f4a
VS
68952011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 Support non-512B sectors and agglomerate reads.
6898
6899 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
6900 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
6901 (disk_io_guid): Removed.
6902 (make_devices): Locate solely by BlockIO.
6903 (grub_efidisk_open): Fill log_sector_size and total_sectors.
6904 (grub_efidisk_read): Use read_blocks.
6905 (grub_efidisk_write): Use write_blocks.
6906 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
6907 log_sector_size.
6908 (get_safe_sectors): Handle non-512B sectors.
6909 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
6910 sectors.
6911 (grub_biosdisk_write): Handle non-512B sectors.
6912 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
6913 (grub_scsi_read): Remove special non-512B block handling (now handled
6914 one level up).
6915 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
6916 and do sanity checks.
6917 (grub_disk_adjust_range): Handle non-512B sectors.
6918 (transform_sector): New function.
6919 (grub_disk_read_small): Likewise.
6920 (grub_disk_read): Rewritten.
6921 (grub_disk_write): Handle non-512B sectors.
6922 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
6923 log_sector_size.
6924 (open_device): Use log_sector_size.
6925 (grub_util_biosdisk_read): Likewise.
6926 (grub_util_biosdisk_write): Likewise.
6927 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
6928 non-512B sectors.
6929 (pc_partition_map_embed): Likewise.
6930 * include/grub/disk.h (grub_disk): New field log_sector_size.
6931 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
6932 (GRUB_DISK_CACHE_BITS): Increased to 6.
6933 * util/grub-fstest.c (fstest): New command testload.
6934 (argp_parser): Likewise.
6935
881ac815
RM
69362011-06-16 Robert Millan <rmh@gnu.org>
6937
6938 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
6939 `ata' driver on kernel of FreeBSD 9.
6940
6941 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
6942 (get_ataraid_disk_name): New functions.
6943 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
6944 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
6945 get_ataraid_disk_name() and get_ada_disk_name().
6946
1e9aef7d
CW
69472011-06-13 Colin Watson <cjwatson@ubuntu.com>
6948
6949 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
6950 input format.
6951
351c7c8a
CW
69522011-05-29 Colin Watson <cjwatson@ubuntu.com>
6953
6954 * docs/grub.texi (Obtaining and Building GRUB): Substitute
6955 `ftp.gnu.org' for `alpha.gnu.org'.
6956
6b4e6430
CW
69572011-05-27 Colin Watson <cjwatson@ubuntu.com>
6958
6959 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
6960 partitions under /dev/disk/by-id/.
6961
c64db050
CW
69622011-05-27 Colin Watson <cjwatson@ubuntu.com>
6963
6964 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
6965 after ten consecutive open failures. Scanning all the way up to
6966 10000 is excessive and can cause serious performance problems in
6967 some configurations.
6968 Fixes Ubuntu bug #787461.
6969
245f4aba
VS
69702011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6971
6972 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
6973 opening new one.
6974
f767c929
VS
69752011-05-21 Colin Watson <cjwatson@ubuntu.com>
69762011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 Don't stat devices unless we have to.
6979
6980 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
6981 dir == /dev/mapper.
6982 (grub_guess_root_device): Use already known os_dev if possible.
6983 * grub-core/kern/emu/hostdisk.c
6984 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
6985 if device is known to be a dm one.
6986
f35fa3a6
CW
69872011-05-20 Colin Watson <cjwatson@ubuntu.com>
6988
6989 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
6990 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
6991 Reported by: Pawel Tecza.
6992
9a79fcf2
VS
69932011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
6994
6995 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
6996 (lsefisystab): Likewise.
6997 (lssal): Likewise.
6998 (lsefimmap): Likewise.
6999 (hdparm): Enable on qemu-mips.
7000 (setjmp): Add ia64 nodist.
7001 (serial): Simplify tags.
7002
63e3eea9
CW
70032011-05-18 Colin Watson <cjwatson@ubuntu.com>
7004
7005 * Makefile.util.def (grub-ofpathname): Install manual page.
7006
09728256
CW
70072011-05-18 Colin Watson <cjwatson@ubuntu.com>
7008
7009 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
7010
8b63a142
CW
70112011-05-18 Colin Watson <cjwatson@ubuntu.com>
7012
7013 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
7014
e775d8ed
VS
70152011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
7018 into dprintf.
7019
bf947d36
VS
70202011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 Use full 64-bit division.
7023
7024 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
7025 (grub_divmod64): ... this.
7026 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
7027 version.
7028
b84f26c5
CW
70292011-05-18 Colin Watson <cjwatson@ubuntu.com>
7030
7031 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
7032 `source'.
7033
5626056f
CW
70342011-05-18 Colin Watson <cjwatson@ubuntu.com>
7035
7036 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
7037 to avoid accidents when debugging with 'sh -x'.
7038 * grub-core/gensyminfo.sh.in: Likewise.
7039 * tests/example_scripted_test.in: Likewise.
7040 * tests/grub_cmd_regexp.in: Likewise.
7041 * tests/grub_script_blanklines.in: Likewise.
7042 * tests/grub_script_dollar.in: Likewise.
7043 * tests/grub_script_expansion.in: Likewise.
7044 * tests/grub_script_final_semicolon.in: Likewise.
7045 * tests/partmap_test.in: Likewise.
7046 * tests/util/grub-shell-tester.in: Likewise.
7047 * tests/util/grub-shell.in: Likewise.
7048
e2965f4a
CW
70492011-05-18 Colin Watson <cjwatson@ubuntu.com>
7050
7051 Move gfxmenu color handling to video, so that gfxterm can use it
7052 too.
7053
7054 * grub-core/gfxmenu/named_colors.c: Move to ...
7055 * grub-core/video/colors.c: ... here. Rename
7056 grub_gui_get_named_color to grub_video_get_named_color.
7057 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
7058 * grub-core/video/colors.c (my_isxdigit): ... here.
7059 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
7060 Move to ...
7061 * grub-core/video/colors.c (parse_hex_color_component): ... here.
7062 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
7063 to ...
7064 * grub-core/video/colors.c (grub_video_parse_color): ... here.
7065
7066 * include/grub/gui.h (grub_gui_color_t): Move to ...
7067 * include/grub/video.h (grub_video_rgba_color_t): ... here.
7068 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
7069 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
7070 * include/grub/gui.h (grub_gui_map_color): Move to ...
7071 * include/grub/video.h (grub_video_map_rgba_color): ... here.
7072 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
7073 to ...
7074 * include/grub/video.h (grub_video_get_named_color): ... here.
7075 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
7076 * include/grub/video.h (grub_video_parse_color): ... here.
7077
7078 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
7079 video/colors.c.
7080 (gfxmenu): Remove gfxmenu/named_colors.c.
7081 (video) [videomodules]: Add video/colors.c.
7082
7083 Add a background_color command.
7084
7085 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
7086 function.
7087 (GRUB_MOD_INIT): Register background_color command.
7088 (GRUB_MOD_FINI): Unregister background_color command.
7089 (redraw_screen_rect): Allow blend/replace of text layer to be
7090 controlled independently from whether there is a background bitmap.
7091 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
7092 changing bitmap.
7093
1e4b4390
VS
70942011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7095
26618ff0
VS
7096 Patch BPB in ntldr and chainloader --bpb.
7097
1e4b4390
VS
7098 * grub-core/fs/fat.c: Include grub/fat.h.
7099 (grub_fat_bpb): Moved to ...
7100 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
7101 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
7102 grub/ntfs.h.
7103 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
7104 Moved from here...
7105 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
7106 here.
7107 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
7108 New function.
7109 (grub_chainloader_cmd): Patch BPB if --bpb is given.
7110 (GRUB_MOD_INIT): Show --bpb.
7111 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
7112 * grub-core/normal/main.c (features): New variable.
7113 (GRUB_MOD_INIT): Set feature_* variables.
7114 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
7115 proto.
7116 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
7117
cf02731e
VS
71182011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
7121 for cleanness.
7122
e3a1073f
VS
71232011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 FreeDOS direct loading support.
7126
7127 * docs/grub.texi (Supported OS): Add FreeDOS.
7128 * grub-core/Makefile.core.def (freedos): New module.
7129 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
7130 variable.
7131 (grub_relocator16_boot): Handle %ebx.
7132 * grub-core/lib/i386/relocator16.S: Likewise.
7133 * grub-core/loader/i386/pc/freedos.c: New file.
7134
05caa461
VS
71352011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 Long Linux command line support.
7138
7139 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
7140 (maximal_cmdline_size): New variable.
7141 (allocate_pages): Use maximal_cmdline_size.
7142 (grub_cmd_linux): Set and use maximal_cmdline_size.
7143 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
7144 (allocate_pages): Use maximal_cmdline_size.
7145 (grub_cmd_linux): Set and use maximal_cmdline_size.
7146 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
7147 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
7148 and cmdline_size.
7149
a2491e23
VS
71502011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
71512011-05-18 Colin Watson <cjwatson@ubuntu.com>
7152
7153 Improve devmapper support
7154
7155 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
7156 (grub_util_is_lvm): New function.
7157 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
7158 than lvm if not dmraid.
7159 Handle mapped md nodes.
7160 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
7161 (grub_util_device_is_mapped): ... this. Make always available. All users
7162 updated.
7163 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
7164 (convert_system_partition_to_system_disk): Handle lvm, mpath and
7165 dmraid nodes.
7166 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
7167
6ad6223e
VS
71682011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7169
7170 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
7171
7172 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
7173 * grub-core/modinfo.sh.in: New file.
7174 * grub-core/Makefile.core.def (modinfo.sh): New script.
7175 * util/grub-mknetdir.in: Use modinfo.sh.
7176 * util/grub-mkrescue.in: Likewise.
7177
543a8f6e
VS
71782011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
7181 Fix potential usage of Elf32 instead of Elf64 when compiling on
7182 32-bit architecture. Add endianness macros while on it.
7183
4959e111
VS
71842011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 Use mipsel- rather than mips- in directories involving mipsel ports to
7187 allow both endiannesses coexist.
7188
7189 * configure.ac: proparate target_cpu=mipsel rather than resetting to
7190 mips. All conditions adjusted.
7191 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
7192 variable.
7193 * util/grub-install.in: Adjust conditions to take renaming into account.
7194 * util/grub-mkimage.c (image_targets): Likewise. New target
7195 mips-qemu_mips-elf for bigendian mips.
7196
35341bbc
VS
71972011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7198
7199 Avoid unnecessary copying on MIPS.
7200
7201 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
7202 early if src == dest.
7203 * util/grub-mkimage.c (generate_image): Arange for src == dest if
7204 compression is none.
7205
b772baed
VS
72062011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 Reduce memory footprint on SGI by putting modules before the kernel
7209 as opposed to after.
7210
7211 * grub-core/Makefile.core.def (kernel): Increase linking address.
7212 (none_decompress): Likewise.
7213 (xz_decompress): Likewise.
7214 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
7215 address.
7216 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
7217 layout change.
7218 (grub_arch_modules_addr): New function.
7219 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
7220 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
7221 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
7222 here.
7223 * grub-core/kern/mips/startup.S (total_size): Rename to ...
7224 (grub_total_modules_size): ... this. Make global.
7225 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
7226 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
7227 New definition.
7228 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
7229 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
7230 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
7231 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
7232 * util/grub-mkimage.c (image_target_desc): New flag
7233 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
7234 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
7235 (generate_image): Handle images with modules before kernel.
7236
566a1917
VS
72372011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 Prevent potential loss of memory map by overwrite on qemu-mips.
7240
7241 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
7242 Save ram size in $s4.
7243 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
7244 All users changed to grub_arch_memsize.
7245 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
7246 Loongson.
7247 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
7248 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
7249 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
7250 external variable.
7251
5d420cd9
CW
72522011-05-17 Colin Watson <cjwatson@ubuntu.com>
7253
7254 * .bzrignore: Remove grub-dumpbios.
7255
d064b830
CW
72562011-05-17 Colin Watson <cjwatson@ubuntu.com>
7257
7258 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
7259 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
7260 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
7261 existing options which append).
7262 * docs/grub.texi (Simple configuration): Document new options.
7263 Reported by: Ian Jackson. Fixes Debian bug #617538.
7264
3ca2b466
CW
72652011-05-17 Colin Watson <cjwatson@ubuntu.com>
7266
7267 * util/grub-fstest.c (cmd_cat): New function.
7268 (fstest): Handle CMD_CAT.
7269 (options): Add cat.
7270 (argp_parser): Handle cat.
7271
24c9143a
CW
72722011-05-17 Colin Watson <cjwatson@ubuntu.com>
7273
7274 * Makefile.util.def (grub-bin2h): Don't install.
7275 * docs/man/grub-bin2h.h2m: Remove.
7276
90f7ac19
VS
72772011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7278
7279 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
7280 place.
7281
8d4a5178
VS
72822011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 Reenable qemu-mips port.
7285
7286 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
7287 Fix small arc bug while on it.
7288 * gentpl.py: Handle qemu_mips.
7289 * grub-core/Makefile.am: Likewise.
7290 * grub-core/Makefile.core.def: Likewise.
7291 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
7292 inappropriate includes.
7293 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
7294 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
7295 * grub-core/kern/main.c (grub_modules_get_end)
7296 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
7297 * grub-core/kern/mips/qemu-mips: Moved to ..
7298 * grub-core/kern/mips/qemu_mips: ... this.
7299 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
7300 (grub_machine_init): Call terminfo_init and serial_init.
7301 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
7302 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
7303 New variable.
7304 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
7305 parameter passing.
7306 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
7307 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
7308 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7309 * include/grub/mips/qemu_mips/cmos.h: New file.
7310 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
7311 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
7312 Removed.
7313 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
7314 Use correct mips-style address.
7315 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
7316 (GRUB_TICKS_PER_SECOND): Removed.
7317 (grub_get_rtc): Likewise.
7318 (grub_cpu_idle): Likewise.
7319 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
7320 New definition.
7321 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
7322 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
7323 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
7324 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
7325 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
7326 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
7327 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
7328 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
7329
400b9371
VS
73302011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7331
7332 SGI ARCS port.
7333
7334 * Makefile.util.def (libgrubmods.a): Add dvh.c.
7335 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
7336 platforms.
7337 * configure.ac: New target mips-arc.
7338 * gentpl.py: Likewise.
7339 * grub-core/Makefile.am: Likewise.
7340 * grub-core/Makefile.core.def: Likewise.
7341 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
7342 (none_decompress): Likewise.
7343 (lsdev): New module.
7344 (datetime): Use lib/arc/datetime.c on ARC.
7345 (part_dvh): New module.
7346 * grub-core/commands/arc/lsdev.c: New file.
7347 * grub-core/disk/arc/arcdisk.c: Likewise.
7348 * grub-core/kern/mips/arc/init.c: Likewise.
7349 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
7350 aligned addresses.
7351 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
7352 support.
7353 (grub_arch_dl_relocate_symbols): Likewise.
7354 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
7355 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
7356 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
7357 platforms.
7358 * grub-core/lib/arc/datetime.c: New file.
7359 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
7360 pci.h on non-loongson.
7361 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
7362 (grub_linux_boot): Set unused registers to 0.
7363 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
7364 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
7365 * grub-core/mmap/mips/uppermem.c: ...here.
7366 * grub-core/partmap/dvh.c: New file.
7367 * grub-core/term/arc/console.c: Likewise.
7368 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
7369 (grub_terminfo_set_current): Add terminal "arc".
7370 (grub_terminfo_readkey): Support ARC sequences.
7371 * include/grub/arc/arc.h: New file.
7372 * include/grub/arc/console.h: Likewise.
7373 * include/grub/disk.h (grub_disk_dev_id): Add
7374 GRUB_DISK_DEVICE_ARCDISK_ID.
7375 * include/grub/mips/arc/kernel.h: New file.
7376 * include/grub/mips/arc/memory.h: Likewise.
7377 * include/grub/mips/arc/time.h: Likewise.
7378 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
7379 * include/grub/mips/kernel.h (grub_halt): ... here.
7380 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
7381 here...
7382 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
7383 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
7384 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
7385 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
7386 proto.
7387 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
7388 from here ...
7389 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
7390 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
7391 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
7392 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
7393 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
7394 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
7395 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
7396 (grub_phys_addr_t): Moved from here ...
7397 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
7398 (grub_vtop): Moved from here ...
7399 * include/grub/mips/memory.h (grub_vtop): ... here.
7400 (grub_map_memory): Moved from here ...
7401 * include/grub/mips/memory.h (grub_map_memory): ... here.
7402 (grub_unmap_memory): Moved from here ...
7403 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
7404 (grub_machine_mmap_iterate): Moved from here ...
7405 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
7406 (grub_mmap_get_lower): Moved from here ...
7407 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
7408 (grub_mmap_get_upper): Moved from here ...
7409 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
7410 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
7411 here ...
7412 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
7413 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
7414 here ...
7415 * include/grub/mips/time.h (grub_get_rtc): ... here.
7416 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
7417 here ...
7418 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
7419 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
7420 here ...
7421 * include/grub/mips/time.h (grub_cpu_idle): ... here.
7422 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
7423 definition.
7424 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
7425 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
7426 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
7427 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
7428 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
7429 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
7430 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
7431 (GRUB_MACHINE_LINK_ADDR): Likewise.
7432 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
7433 to 6.
7434 * util/grub-install.in: Run dvhtool on ARC.
7435 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 7436 (generate_image): Handle ECOFF output for mips-arc.
400b9371 7437
c8ecc840
VS
74382011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
7441 blocks.
7442
153a4b55
VS
74432011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
7446 after enabling port.
7447
ff44d107
VS
74482011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 Skip incorrect USB devices.
7451
7452 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
7453 configcnt == 0.
7454 * include/grub/usb.h (grub_usb_err_t): New enum value
7455 GRUB_USB_ERR_BADDEVICE.
7456
638dbe4f
VS
74572011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 Fuloong video init support.
7460
7461 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
7462 well.
7463 (grub_vga_read_arx): New function.
7464 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
7465 definition.
7466 (framebuffer): New members io, mmioptr and mmiobase.
7467 (read_sis_cmd): New function.
7468 (write_sis_cmd): Likewise.
7469 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
7470 rather than 640x400.
7471 * grub-core/video/sis315_init.c: New file.
7472
c3fc520c
VS
74732011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
7476 non-loongson.
7477 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
7478 to grub_dl_register_symbol.
7479
67b1e5c9
VS
74802011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 Fix compilation errors.
7483
7484 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
7485 potentially unused.
7486 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
7487 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
7488 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
7489 to loongson machines.
7490
b756f75f
VS
74912011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7492
7493 Several FS mtime support.
7494
7495 * grub-core/fs/affs.c (grub_affs_time): New struct.
7496 (grub_affs_file): New field mtime.
7497 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
7498 type. Removed 'size'. New field 'di'. All users updated.
7499 (grub_affs_mount): Simplify checsum checking.
7500 (grub_affs_iterate_dir): New helper grub_affs_create_node.
7501 (grub_affs_dir): Handle mtime.
7502 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
7503 (grub_cpio_dir): Likewise.
7504 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
7505 (grub_hfs_filerec): New field mtime.
7506 (grub_hfs_dir): Handle mtime.
7507 (grub_hfs_mtime): New function.
7508 (grub_hfs_fs): Register grub_hfs_mtime.
7509 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
7510 (grub_iso9660_dir): New field mtime.
7511 (grub_fshelp_node): New field dirent.
7512 (iso9660_to_unixtime): New function.
7513 (iso9660_to_unixtime2): Likewise.
7514 (grub_iso9660_read_symlink): Use node->dirent.
7515 (grub_iso9660_iterate_dir): Likewise.
7516 (grub_iso9660_dir): Set mtime.
7517 (grub_iso9660_mtime): New function.
7518 (grub_iso9660_fs): Register grub_iso9660_mtime.
7519 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
7520 (grub_jfs_inode): New fields atime, ctime and mtime.
7521 (grub_jfs_dir): Set mtime.
7522 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7523 * grub-core/fs/ntfs.c (list_file): Set mtime.
7524 (grub_ntfs_dir): Likewise.
7525 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
7526 (grub_reiserfs_iterate_dir): Set mtime.
7527 (grub_reiserfs_dir): Likewise.
7528 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
7529 (grub_fshelp_node): Likewise.
7530 (grub_sfs_iterate_dir): Set mtime.
7531 (grub_sfs_dir): Likewise.
7532 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
7533 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
7534 (grub_xfs_inode): New fields atime, mtime, ctime.
7535 (grub_xfs_dir): Set mtime.
7536 * include/grub/datetime.h (grub_datetime2unixtime): New function.
7537 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
7538 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
7539
7540 Support UDF symlinks.
7541
7542 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
7543 (grub_ufs_read_symlink): New function. All users updated.
7544
7545 Check amiga partmap checksum.
7546
7547 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
7548 (grub_amiga_partition): Likewise.
7549 (amiga_partition_map_checksum): New function.
7550 (amiga_partition_map_iterate): Check checksum.
7551
5470225d
VS
75522011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 ROMFS support.
7555
7556 * Makefile.util.def (libgrubmods.a): Add romfs.
7557 * grub-core/Makefile.core.def (romfs): New module.
7558 * grub-core/fs/romfs.c: New file.
7559
d4680a35
VS
75602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 Squashfs v4 support.
7563
7564 * Makefile.util.def (libgrubmods.a): Add squash4.
7565 * grub-core/Makefile.core.def (squash4): New module.
7566 * grub-core/fs/squash4.c: New file.
7567 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
7568 disk_input_start, disk_input.
7569 (get_byte): Handle disk_input.
7570 (grub_zlib_disk_read): New function.
7571 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
7572
bcb18e74
FZ
75732011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
75742011-05-15 Feiran Zheng <famcool@gmail.com>
7575
7576 * Makefile.util.def (libgrubmods.a): Add minix3.
7577 * grub-core/Makefile.core.def (minix3): New module.
7578 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
7579 (GRUB_MINIX_BSIZE): Removed.
7580 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
7581 (grub_minix_ino_t): New type.
7582 (grub_minix_le_to_cpu_ino): New macro.
7583 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
7584 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
7585 (grub_minix_data): New field block_size.
7586 (grub_minix_read_file): Handle 64-bit correctly.
7587 * grub-core/fs/minix3.c: New file.
7588
32297d5f
TG
75892011-05-15 Tristan Gingold <gingold@free.fr>
75902011-05-15 Robert Millan <rmh.grub@aybabtu.com>
75912011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 IA64 support.
7594
7595 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
7596 * configure.ac: Add ia64-efi target.
7597 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
7598 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
7599 * gentpl.py: Add ia64_efi platform.
7600 Rename x86_efi to efi and Add ia64-efi. All users updated.
7601 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
7602 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
7603 Remove kern/generic/rtc_get_time_ms.c on EFI.
7604 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
7605 kern/ia64/dl_helper.c on ia64-efi.
7606 Add kern/emu/cache.c on emu.
7607 (linux): Use on loader/ia64/efi/linux.c on ia64.
7608 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
7609 whether symbol is a function.
7610 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
7611 (grub_symbol): New field 'isfunc'.
7612 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
7613 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
7614 (grub_dl_load_segments): Place all sections into the same region.
7615 [__ia64__]: Create trampolines and got.
7616 [GRUB_MACHINE_EMU]: Call mprotect.
7617 (grub_dl_resolve_symbols): Resolve symbol type as well.
7618 [__ia64__]: Create function descriptors.
7619 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
7620 (grub_rtc_get_time_ms): ... this. Expressions simplified.
7621 (grub_get_rtc): New function.
7622 * grub-core/kern/emu/cache.c [__ia64__]: New file.
7623 * grub-core/kern/emu/cache.S: Renamed to ...
7624 * grub-core/kern/emu/cache_s.S: ... this.
7625 [__ia64__]: Add a nop.
7626 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
7627 [__ia64__]: New function.
7628 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
7629 * grub-core/kern/ia64/dl.c: New file.
7630 * grub-core/kern/ia64/dl_helper.c: Likewise.
7631 * grub-core/kern/ia64/efi/init.c: New file.
7632 * grub-core/kern/ia64/efi/startup.S: Likewise.
7633 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
7634 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
7635 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
7636 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
7637 * grub-core/loader/ia64/efi/linux.c: New file.
7638 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
7639 (GRUB_MOD_DEP): Likewise.
7640 (grub_dl) [__ia64__]: New fields got and tramp.
7641 (grub_dl): New field 'base'.
7642 (grub_dl_register_symbol): New argument isfunc. All users updated.
7643 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
7644 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
7645 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
7646 (grub_ia64_dl_get_tramp_got_size): New proto.
7647 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
7648 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
7649 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
7650 * include/grub/efi/api.h: Skip call wrappers on ia64.
7651 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
7652 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
7653 * include/grub/elf.h (ELF_ST_INFO): New definition.
7654 * include/grub/ia64/efi/kernel.h: New file.
7655 * include/grub/ia64/efi/memory.h: Likewise.
7656 * include/grub/ia64/efi/time.h: Likewise.
7657 * include/grub/ia64/kernel.h: Likewise.
7658 * include/grub/ia64/setjmp.h: Likewise (from glibc).
7659 * include/grub/ia64/time.h: New file.
7660 * include/grub/ia64/types.h: Likewise.
7661 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
7662 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
7663 New protos.
7664 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
7665 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7666 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
7667 * util/grub-mkimage.c (image_target_desc): New field pe_target.
7668 All users updated.
7669 (EFI64_HEADER_SIZE): New definition. All users updated.
7670 (image_targets): Add ia64-efi.
7671 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
7672 jumpers_addr. All users updated.
7673 Create function descriptors.
7674 (count_funcs): New function.
7675 (unaligned_uint32): New struct.
7676 (MASK20): New definition.
7677 (MASK19): Likewise.
7678 (MASKF21): Likewise.
7679 (add_value_to_slot_20b): New function.
7680 (add_value_to_slot_21_real): Likewise.
7681 (add_value_to_slot_21): Likewise.
7682 (ia64_kernel_trampoline): New struct.
7683 (nopm): New variable.
7684 (jump): Likewise.
7685 (make_trampoline): New function.
7686 (relocate_addresses): Handle ia64.
7687 (make_reloc_section): Likewise.
7688 (load_image): Likewise.
7689
983b414d
VS
76902011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
7693 warning. Move variables before code while on it.
7694
5d063cdc
VS
76952011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 Fuloong support.
7698
7699 * configure.ac: Rename yeeloong platform to loongson. All users updated.
7700 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
7701 * grub-core/boot/mips/loongson/fuloong.S: New file.
7702 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
7703 Explicitly init CS5536.
7704 [FULOONG]: Don't use serial until CS5536 is available.
7705 Set GPIO based on dumps.
7706 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
7707 [FULOONG]: Handle GPIO and memory controller differences.
7708 Parse machine type in $a2.
7709 * grub-core/boot/mips/startup_raw.S: Determine and save the
7710 architecture.
7711 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
7712 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
7713 init on architecture type.
7714 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7715 SIS315E. Don't init at_keyboard on fuloong.
7716 (grub_halt): Support Fuloong.
7717 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
7718 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
7719 (loongson_machtypes): New array.
7720 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
7721 type.
7722 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
7723 config. All users updated. Handle CS5536 serial.
7724 * grub-core/term/serial.c (grub_serial_register): Conditionalise
7725 default port on machine type. Register serial as inactive.
7726 * grub-core/video/sis315pro.c: New file.
7727 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
7728 definition.
7729 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
7730 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
7731 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
7732 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
7733 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
7734 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
7735 to ...
7736 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
7737 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
7738 definition.
7739 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
7740 (grub_arch_machine): New extern var.
7741 * include/grub/mips/loongson/serial.h
7742 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
7743 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
7744 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
7745 (GRUB_MACHINE_SERIAL_PORT0): ... this.
7746 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
7747 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
7748 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
7749 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
7750 * include/grub/term.h (grub_term_register_input_inactive): New inline
7751 function.
7752 (grub_term_register_output_inactive): Likewise.
7753 * include/grub/video.h (grub_video_driver_id): New value
7754 GRUB_VIDEO_DRIVER_SIS315PRO.
7755 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
7756 New field "names". All users updated.
7757 New field value IMAGE_FULOONG_FLASH.
7758 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
7759
6ada82d1
JU
77602011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
7761
7762 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
7763 and add some clarification.
7764
90c571a4
VS
77652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
7768 platforms if kernel is compressed.
7769
de04eecf
VS
77702011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
7773 unused modules since currently referrence counter isn't reliable and
7774 there isn't much memory to recover there anyway.
7775
57688121
VS
77762011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7777
7778 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
7779 rather than resetting it to allow modules to reference themselves
7780 in init.
7781
3d2c7e35
VS
77822011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
7785 counter on dependencies since grub_dl_unref already handles this.
7786
b25db218
VS
77872011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
7790 on error if not already done.
7791
25a45338
VS
77922011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 Fix few potential memory misusage.
7795
7796 * grub-core/font/font.c (load_font_index): Don't free char_index to
7797 avoid double free.
b25db218
VS
7798 (grub_font_load): Zero-fill font at alloc for safety.
7799 Close file on error.
7800 (free_font): Free bmp_idx.
25a45338 7801
0cac83df
VS
78022011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7803
7804 * docs/grub.texi (Installation): Fix several outdated claims.
7805
2217a143
VS
78062011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7807
7808 Handle module_license on windows.
7809
7810 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
7811 sections shifted.
7812 (insert_string): Make argument const char * instead of char *.
7813 (write_section_data): Handle long section names.
7814 Handle module_license.
7815
d4de6b01
VS
78162011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
7819 handle class-free menuentries.
7820 (grub_normal_add_menu_entry): Add a check to be sure.
7821
4c2a3b43
VS
78222011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
7825 PgUp and PgDown.
7826
85c6210f
VS
78272011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7828
7829 * configure.ac: Bump version to 1.99.
7830
36084912
VS
78312011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 Give ATA device a bit more time on first try in order to allow disks
7834 to spin up.
7835
7836 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
7837 if dev->present is 1. Reset dev->present on failure.
7838 (grub_ata_device_initialize): Set dev->present to 1.
7839 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
7840 (grub_ata_device): New member 'present'.
7841
bda0e219
VS
78422011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 * util/grub-mkimage.c (generate_image): Update hash.
7845
19e1c41b
VS
78462011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7847
7848 Flush caches on DMA memory.
7849
7850 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
7851 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
7852 (grub_dma_free): Likewise.
7853 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
7854
91bbcc0c
VS
78552011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
7858 to avoid asm treating ld and sd as macros.
7859
60ddfad3
VS
78602011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7861
7862 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
7863 decompressor.
7864
a298aa04
VS
78652011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7866
7867 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
7868 grub_decompress_core since later would fail if grub_decompress_core
7869 is too far.
7870
9b44feca
VS
78712011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
7874 R_MIPS_JALR since it's used by newer compiler.
7875
56dbe7b4
VS
78762011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7877
7878 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
7879
52856af2
VS
78802011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
7883 file_path to 0 for surety.
7884 (grub_chainloader_boot): Set exit_data to NULL.
7885 Unset the loader once done.
7886 (grub_cmd_chainloader): Fix confusing error message if file is empty.
7887
9c9bfc6d
VS
78882011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
7891 unknown key into a dprintf.
7892
dd94a3df
VS
78932011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
7896 on first non-existant partition.
7897
fa68d99c
VS
78982011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
7901 openning fails.
7902 Reported by: Mark Korenberg.
7903
157effb7
VS
79042011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
7907 overflow.
7908
ea75312f
VS
79092011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * util/grub-mkimage.c (main): Explicitely flush and sync the output
7912 before closing to ensure that it will be readable by grub-setup.
7913
072b5d31
VS
79142011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
7917 (devpath_1): Use MAKE_PIWG_PATH.
7918 (devpath_2): Likewise.
7919 (devpath_3): Likewise.
7920 (devpath_4): Likewise.
7921 (devpath_5): Likewise.
7922 (devpath_6): Likewise.
7923
7924 The appleldr.mod was checked that to be binary identical to previous
7925 version.
7926
7fae0051
Z
79272011-05-05 Zach <mikezackles>
7928
7929 Support 2010 Macbooks.
7930
7931 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
7932 (devs): Add devpath_6.
7933
7c515bee
VS
79342011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
7937 /dev/random. /dev/urandom is good enough for our purposes (salting).
7938
ed660bd8
VS
79392011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
7942
ee5614b7
VS
79432011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7944
7945 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
7946 hexadecimal.
7947
664889a6
VS
79482011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
7951 and not 0 on failure.
7952
bd405bbc
CW
79532011-05-03 Colin Watson <cjwatson@ubuntu.com>
7954
7955 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
7956 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
7957 disk; otherwise grub_fs_probe will not fall back to the next
7958 filesystem.
7959 (grub_pxefs_open): Likewise, for consistency.
7960 Reported and tested by: Ezekiel Grave.
7961
4ebff753
CW
79622011-05-03 Colin Watson <cjwatson@ubuntu.com>
7963
7964 * tests/partmap_test.in: Don't hardcode path to parted.
7965 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
7966
8f942553
CW
79672011-05-01 Colin Watson <cjwatson@ubuntu.com>
7968
7969 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
7970 of `ls' to find out which devices are available.
7971
3c62402d
VS
79722011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7973
7974 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
7975 than source address for efi mmap buffer.
7976
723f63f2
VS
79772011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
7980 wrong action on non-detecting the magic.
7981
68797f92
VS
79822011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7983
7984 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
7985 already supplied by another part of the module (fixes compilation on
7986 FreeBSD).
7987
6be8715d
VS
79882011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
7991 match the one used by mdadm.
7992
e91dba5b
CW
79932011-04-21 Colin Watson <cjwatson@ubuntu.com>
7994
7995 * po/README: Add instructions for creating po/LINGUAS.
7996
c85140b3
CW
79972011-04-21 Colin Watson <cjwatson@ubuntu.com>
7998
7999 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
8000 #551428.
8001
8002 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
8003 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
8004 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
8005 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8006 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
8007 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
8008 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
8009 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
8010 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
8011 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8012 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
8013 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
8014 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
8015 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
8016 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
8017 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
8018 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
8019 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
8020 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
8021 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
8022 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
8023 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
8024
92051871
CW
80252011-04-21 Colin Watson <cjwatson@ubuntu.com>
8026
8027 * grub-core/kern/emu/getroot.c
8028 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
8029 test that was incorrectly reintroduced in r3214.
8030 Reported by: Ian Dall. Fixes Savannah bug #33133.
8031
b13f79a4
CW
80322011-04-21 Colin Watson <cjwatson@ubuntu.com>
8033
8034 Fix stack pointer handling in 16-bit relocator.
8035
8036 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
8037 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
8038 Fixes Ubuntu bug #683904.
8039
9b710a88
VS
80402011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * configure.ac: Bump version to 1.99~rc2.
8043
d97e7b59
VS
80442011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8045
8046 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
8047 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
8048 * grub-core/lib/x86_64/setjmp.S: Likewise.
8049 * grub-core/lib/mips/setjmp.S: Likewise.
8050 * grub-core/lib/powerpc/setjmp.S: Likewise.
8051 * grub-core/lib/sparc64/setjmp.S: Likewise.
8052
0624551c
VS
80532011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8054
8055 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
8056 * grub-core/lib/efi/datetime.c: Likewise.
8057
e8f28d4c
VS
80582011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8059
8060 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
8061 New function.
8062 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
8063 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
8064 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
8065
bba79a15
VS
80662011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
8069 bitmap.
8070 (grub_gfxterm_term_init): Likewise.
8071
abc474ef
VS
80722011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 Take into account the decorations the computing menu entry width.
8075
8076 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
8077 (grub_gfxmenu_create_box): Register get_border_width.
8078 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
8079 if available.
8080 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
8081 get_border_width.
8082
e74b3947
EP
80832011-04-18 Endres Puschner <code@e7p.de>
8084
8085 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
8086 Don't skip first class.
8087
34faa595
VS
80882011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8089
8090 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
8091 chunks.
8092 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
8093
93a777e3
VS
80942011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 Complete 64-bit division support.
8097
8098 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
8099 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
8100 * include/grub/misc.h (grub_divmod64): Rename to ...
8101 (grub_divmod64_full): ... this.
8102 (grub_divmod64): New inline function.
8103
a5102d94
VS
81042011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8105
8106 * util/grub-mkimage.c (generate_image): Add forgotten comma.
8107
f3fb7b36
VS
81082011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
8111 performing the necessary test.
8112
9ac718b0
VS
81132011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8114
8115 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
8116 (kfreebsd.elf): Likewise.
8117 (pc-chainloader.elf): Likewise.
8118 (ntldr.elf): Likewise.
8119
50d2cc5a
VS
81202011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8121
8122 Identify RAID by its UUID rather than (guessed) name.
8123
8124 * grub-core/disk/raid.c (ascii2hex): New function.
8125 (grub_raid_open): Accept mduuid/%s specification.
8126 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
8127 (get_mdadm_uuid): ... this.
8128 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
8129
e03f7bea
VS
81302011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
8131
8132 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
8133 to negative size.
8134
e74c3112
CW
81352011-04-13 Colin Watson <cjwatson@ubuntu.com>
8136
8137 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
8138 btrfs subvolume.
8139 * util/grub.d/20_linux_xen.in: Likewise.
8140
78fa584f
CW
81412011-04-13 Colin Watson <cjwatson@ubuntu.com>
8142
8143 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
8144 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
8145
8146 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
8147 Build a list of relevant visible mounts using the mnt_id and
8148 parent_mnt_id fields, and then scan that list at the end.
8149
9d5f8162
CW
81502011-04-12 Colin Watson <cjwatson@ubuntu.com>
8151
8152 * docs/grub.texi (normal): New section.
8153 (normal_exit): New section.
8154 (Embedded configuration): Add reference to normal.
8155 (GRUB only offers a rescue shell): Likewise.
8156 * docs/grub-dev.texi (Error Handling): Fix typo.
8157
09a9d66f
CW
81582011-04-12 Colin Watson <cjwatson@ubuntu.com>
8159
8160 * NEWS: Drop obsolete entry about probe-only btrfs support.
8161
0c676933
CW
81622011-04-12 Colin Watson <cjwatson@ubuntu.com>
8163
8164 * util/import_gcry.py: Fix typo.
8165
ec9f5e0d
VS
81662011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 * NEWS: Add btrfs support.
8169
fe6b2cba
VS
81702011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
81712011-04-11 Colin Watson <cjwatson@ubuntu.com>
8172
8173 BtrFS support. Written by me (Vladimir) with important bugfixes and
8174 even more important testing by Colin.
8175
8176 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
8177 * grub-core/Makefile.core.def (btrfs): Add crc.c.
8178 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
8179 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
8180 mem_input_off and mem_input. All users updated to accept in-RAM input.
8181 (gzio_seek): New function.
8182 (test_zlib_header): Likewise.
8183 (grub_gzio_read): Likewise.
8184 (grub_zlib_decompress): Likewise.
8185 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
8186 Accept partial and non-virtual mounts.
8187 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
8188 avoid receiving /dev/dm-X as device.
8189 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
8190 Handle bind and partial mounts.
8191 * grub-core/lib/crc.c: New file.
8192 * include/grub/deflate.h: Likewise.
8193 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
8194 proto.
8195 * include/grub/lib/crc.h: New file.
8196
e745cf0c
VS
81972011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 Implement automatic module license checking according to new GNU
8200 guidelines.
8201
8202 * grub-core/kern/dl.c (grub_dl_check_license): New function.
8203 (grub_dl_load_core): Use grub_dl_check_license.
8204 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
8205 (GRUB_MOD_LICENSE): Likewise.
8206 (GRUB_MOD_DUAL_LICENSE): Likewise.
8207 All modules updated.
8208
2a9bc016
CW
82092011-04-11 Colin Watson <cjwatson@ubuntu.com>
8210
8211 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
8212 reserved_first_sector to 1. btrfs reserves plenty of space for boot
8213 loaders.
8214 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
8215
8a3bc88e
VS
82162011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
8219
af869a4a
VS
82202011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 * util/grub-fstest.c (read_file): Report GRUB error if file opening
8223 failed.
8224
9ee8d94f
VS
82252011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 * grub-core/kern/file.c (grub_file_open): Don't take into account the
8228 parenthesis in the middle of the filename.
8229
b01abe3e
VS
82302011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
8233 rather than trying to put initrd way too high.
8234 Reported by: Ryan Lortie <desrt@desrt.ca>
8235
335bda1e
VS
82362011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8237
8238 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
8239 improperly removed string.
8240
5ca1a64d
VS
82412011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
8244 is_disk.
8245 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
8246 (open_device) Likewise.
8247 (grub_util_biosdisk_close): Likewise.
d8ce9995 8248 Reported by: Mark Korenberg.
5ca1a64d 8249
cbac5b1e
AK
82502011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
8251
8252 * util/grub-mkconfig_lib.in: Add missing quotes.
8253
088cdb65
CW
82542011-04-10 Colin Watson <cjwatson@ubuntu.com>
8255
8256 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
8257 is NULL.
8258
8b8a81fa
VS
82592011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8260
8261 Dynamically count the number of lines for the lower banner.
8262
8263 * grub-core/normal/menu_entry.c (per_term_screen): New member
8264 num_entries.
8265 (print_down): Use num_entries.
8266 (update_screen): Likewise.
8267 (grub_menu_entry_run): Set num_entries.
8268 * grub-core/normal/menu_text.c (menu_viewer_data): New member
8269 num_entries.
8270 (grub_print_message_indented): Move real part to ...
8271 (grub_print_message_indented_real): ... here. Additional argument
8272 dry_run.
8273 (draw_border): Additional argument num_entries.
8274 (print_message): Additional argument dry_run.
8275 (print_entries): Receive menu viewer data.
8276 (grub_menu_init_page): New argment num_entries.
8277 (menu_text_set_chosen_entry): Use num_entries.
8278 (grub_menu_try_text): Likewise.
8279 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
8280 All users updated.
8281 (grub_ucs4_count_lines): New function.
8282 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
8283 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
8284 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
8285 (grub_term_border_height): Likewise.
8286 (grub_term_num_entries): Likewise.
8287
277f955b
VS
82882011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8289
8290 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
8291 Remove now unused string.
8292
536ce85a
CW
82932011-04-09 Colin Watson <cjwatson@ubuntu.com>
8294
8295 * docs/grub-dev.texi (Finding your way around): Update for 1.99
8296 build system.
8297 (Getting started): GRUB is developed in Bazaar now, not Subversion.
8298
8299 (Comment): Fix typo.
8300 (Getting started): General copy-editing.
8301 (Typical Development Experience): Likewise.
8302 (Error Handling): Likewise.
8303 (Video API): Likewise.
8304
2cf09e32
CW
83052011-04-09 Colin Watson <cjwatson@ubuntu.com>
8306
8307 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
8308 throughout.
8309
1ec652f4
VS
83102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 * util/grub-mkimage.c (main): Handle special naming of yeeloong
8313 directory.
8314
2c583728
CW
83152011-04-08 Colin Watson <cjwatson@ubuntu.com>
8316
8317 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
8318 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
8319 "development".
8320
d7a565e9
VS
83212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
8324 grub_strcpy since the lines aren't necessarily 0-terminated.
8325
7c2e4909
VS
83262011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
8329 root on legacy.
8330
34c09785
VS
83312011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 * grub-core/commands/probe.c (options): Argument to set isn't optional.
8334 (GRUB_MOD_INIT): DEVICE isn't optional.
8335
6a6f8058
VS
83362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
8339 word on new line if it's too long anyway. Fixes a hang.
8340
2e335e90
VS
83412011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
8344 const.
8345 * util/grub-setup.c (main): Reuse md device name if available.
8346 * util/raid.c (grub_util_raid_getmembers): Receive device name and
8347 not GRUB name as argument.
8348 Based on patch by: Florian Wagner <fwagner>.
8349
10a7a867
VS
83502011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8353 Place mbi on low memory for better compatibility.
8354
7a3d6cd9
VS
83552011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
8358
18dd6b47
VS
83592011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
83602011-04-08 Colin Watson <cjwatson@ubuntu.com>
8361
8362 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 8363 * conf/Makefile.common: Likewise.
18dd6b47 8364
3c0e3f14
VS
83652011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8366
f7148863
VS
8367 * grub-core/normal/menu.c: Add missing include.
8368
83692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 8372
6d1fa41f
MZ
83732011-04-08 Martin Zuther <mzuther@mzuther.de>
8374
8375 * util/grub-mkconfig.in: Ignore emacsen backup.
8376
478182a8
VS
83772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
8380 on open.
8381 (grub_util_biosdisk_close): Likewise.
8382
72a89a54
VS
83832011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
8386 const attribute and use grub_isdigit.
8387
b5ebecfa
A
83882011-04-06 Andrey <dev_null@ukr.net>
8389
8390 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
8391 gcc warning.
8392
7755f66e
VS
83932011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
8396 useful grub_dprintf's.
8397
461121ff
VS
83982011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
8401
2a961775
VS
84022011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
8405
adf594cc
VS
84062011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 Output errors if theme loading failed.
8409
8410 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
8411 grub_gfxterm_fullscreen on error paths to ...
8412 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
8413 theme loading error.
8414
665900a3
VS
84152011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8416
8417 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
8418 space for older compilers.
8419 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8420
a562b479
VS
84212011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8422
8423 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
8424 and report them as not RAID members since they are useless for GRUB.
8425 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8426
850e9373
VS
84272011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8428
8429 Increase LVM implementation robustness in order not to crash on
8430 configurations like pvmove. Previously code assumed that in some places
8431 only lvs or only pvs are used whereas it seems that they are used
8432 interchangeably.
8433
8434 * grub-core/disk/lvm.c (read_node): New function.
8435 (read_lv): Use read_node.
8436 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
8437 Match volumes only at the end when all lvs are found. Take both
8438 pvs (first) and lvs (second) into account.
8439 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
8440 mirror_* into node_*. All users updated.
8441 (grub_lvm_stripe): Merge this ...
8442 (grub_lvm_mirror): ... and this ...
8443 (grub_lvm_node): ... into this. All users updated.
8444
6f332153
VS
84452011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
8448 of function to allow further scanning for LVMs.
8449
829ea451
VS
84502011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
8453 on failed seek as it breaks open fd reusage.
8454
09ceb9a5
VS
84552011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 * util/grub-install.in: Add a recommendation to use --recheck before
8458 reporting bugs.
8459
67e11623
VS
84602011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
8463 are obtained.
8464
caee5efd
VS
84652011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 GRUB developper manual based on existing Internals section and
8468 contributions by the various authors with active copyright assignment.
8469
8470 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
8471 * docs/font_char_metrics.png: New file.
8472 * docs/font_char_metrics.txt: Likewise.
8473 * docs/grub-dev.texi: Likewise.
8474 * docs/grub.texi (Internals): Move from here ...
8475 * docs/grub-dev.texi: ... here.
8476
2cccc747
CW
84772011-04-01 Colin Watson <cjwatson@ubuntu.com>
8478
8479 Store the loopback device as data on loopback grub_disk structures,
8480 rather than the file it points to. This fixes use of freed memory
8481 if an existing loopback device is replaced.
8482
8483 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
8484 disk->data, not dev->file.
8485 (grub_loopback_read): Adjust file assignment to match.
8486 Fixes Ubuntu bug #742967.
8487
186ae367
CW
84882011-04-01 Colin Watson <cjwatson@ubuntu.com>
8489
8490 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
8491 when replacing an existing device.
8492
cfed2ad0
VS
84932011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
8496 memory corruptions.
8497
8498 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
8499 unsigned.
8500 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
8501 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
8502 (grub_jfs_read_inode): Likewise.
8503 (grub_jfs_opendir): Likewise. Remove now useless casts.
8504 (grub_jfs_getent): Likewise.
8505 Make ino a grub_uint32_t rather than int.
8506 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
8507 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
8508 division and module with bit operations.
8509 (grub_jfs_find_file): Make ino a grub_uint32_t.
8510 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
8511
05d2ed32
CW
85122011-04-01 Colin Watson <cjwatson@ubuntu.com>
8513
8514 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
8515 warning. (This was in fact always initialised before use, but GCC
8516 wasn't smart enough to prove that.)
8517 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8518
91dc6073
VS
85192011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8520
8521 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
8522 stack alignment.
8523 (efi_wrap_1): Likewise.
8524 (efi_wrap_2): Likewise.
8525 (efi_wrap_3): Likewise.
8526 (efi_wrap_4): Likewise.
8527 (efi_wrap_5): Likewise.
8528 (efi_wrap_6): Likewise.
8529 (efi_wrap_10): Likewise.
8530 Based on information by: Red Hat/Peter Jones.
8531
a8afc1d1
CW
85322011-03-31 Colin Watson <cjwatson@ubuntu.com>
8533
8534 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
8535 set-but-not-used variable.
8536
a826cc7d
CW
85372011-03-31 Colin Watson <cjwatson@ubuntu.com>
8538
8539 * docs/grub.texi (Simple configuration): Be more explicit about
8540 GRUB_DEFAULT, and add an example.
8541 Reported by: Leslie Rhorer.
8542
875b67ba
CW
85432011-03-30 Colin Watson <cjwatson@ubuntu.com>
8544
8545 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
8546 shell".
8547
fd7cd914
AS
85482011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8549
8550 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
8551 * util/grub.d/20_linux_xen.in: Likewise.
8552
090b1b6a
VS
85532011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 * util/grub.d/10_linux.in: Try alternative config filenames where
8556 we parse config file.
8557 * util/grub.d/20_linux_xen.in: Likewise.
8558
baad885c
AS
85592011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8560
8561 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
8562 * util/grub.d/20_linux_xen.in: Likewise.
8563
241e41f5
VS
85642011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 * grub-core/disk/raid.c (insert_array): Add few potentially
8567 useful grub_util_info.
8568 (grub_raid_register): Likewise.
8569
56445fb2
VS
85702011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
8573 Preserve partition number in mdadm code path.
8574
c871b1c6
VS
85752011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
8578 few potentially useful grub_util_info.
8579
5e631b4f
CW
85802011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
8583
2d5d0333
CW
85842011-03-30 Colin Watson <cjwatson@ubuntu.com>
8585
8586 * docs/grub.texi (default): Use @example rather than nested
8587 itemized lists to avoid breaking gendocs.
8588
3d7ed04e
CW
85892011-03-30 Colin Watson <cjwatson@ubuntu.com>
8590
8591 * docs/grub.texi (Future): Update.
8592
abf04200 85932011-03-30 Colin Watson <cjwatson@ubuntu.com>
8594
8595 * docs/grub.texi (Environment): New chapter.
8596 (Changes from GRUB Legacy): Link to "Environment block" section for
8597 details of limitations.
8598 (Simple configuration): Likewise. Link to documentation of gfxmode
8599 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
8600 respectively.
8601 (Shell-like scripting): Note that normal variables are stored in the
8602 environment.
8603 (gettext): Link to documentation of lang and locale_dir.
8604 (list_env): New section.
8605 (load_env): New section.
8606 (save_env): New section.
8607
8608 (Reporting bugs): Fix typo.
8609
e1ad0edd
VS
86102011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8611
8612 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
8613 the example.
8614
5d803174
VS
86152011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8616
8617 * grub-core/term/at_keyboard.c (set_scancodes)
8618 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
8619
2a2da1d0
CW
86202011-03-30 Colin Watson <cjwatson@ubuntu.com>
8621
8622 * docs/grub.texi (Menu-specific commands): Remove some semantics
8623 that were true in GRUB Legacy but not in GRUB 2.
8624 (submenu): New section.
8625 (false): New section.
8626 (read): New section.
8627 (true): New section.
8628
a7527639
CW
86292011-03-30 Colin Watson <cjwatson@ubuntu.com>
8630
8631 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
8632
86332011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
8634
8635 * docs/grub.texi (Simple configuration): Explain some of the
8636 current limitations of grub-mkconfig.
8a748df2 8637 Reported by: Leslie Rhorer.
e30af029 8638
fc858482
VS
86392011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 Old macs search for boot.efi rather than for bootia32.efi.
8642
8643 * util/grub-install.in: Copy bootia32.efi to boot.efi.
8644 * util/grub-mkrescue.in: Likewise.
8645 Suggested by: Peter Jones.
8646
e1eb511d
VS
86472011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
8650
70e75364
VS
86512011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
8654 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
8655 (grub_lvm_mirror): New struct.
8656 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
8657 (grub_lvm_iterate): Iterate only visible volumes.
8658 (grub_lvm_read): Factor out to ..
8659 (read_lv): ... this. Support mirrors.
8660 (grub_lvm_read): New wrapper function.
8661 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
8662 stripped or mirrored.
8663
fc18f6a3
VS
86642011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8665
8666 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
8667
5c650f4c
CW
86682011-03-29 Colin Watson <cjwatson@ubuntu.com>
8669
8670 * docs/grub.texi (loopback): New section.
8671
61d7156b
CW
86722011-03-29 Colin Watson <cjwatson@ubuntu.com>
8673
8674 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
8675 removed -p option.
8676
994b8264
CW
86772011-03-29 Colin Watson <cjwatson@ubuntu.com>
8678
8679 * docs/grub.texi (BIOS installation): New section, partly based on
8680 previous text in other sections.
8681 (Installing GRUB using grub-install): Replace BIOS discussion with a
8682 cross-reference.
8683 (Images): Likewise.
8684
9e4d19e0
VS
86852011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8686
8687 * grub-core/kern/emu/hostdisk.c (find_partition_start)
8688 [HAVE_DIOCGDINFO]: Add safety checks.
8689
a307c0b2
VS
86902011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8691
8692 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
8693 per default compiled in kernel and prior to 8.0 isn't shipped at all.
8694
b4db4f39
CW
86952011-03-29 Colin Watson <cjwatson@ubuntu.com>
8696
8697 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
8698 real_sb->size is zero (e.g. RAID-0), get the disk size from
8699 real_sb->data_size instead.
8700 Fixes Ubuntu bug #743136.
8701
35e5f84c
VS
87022011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
8705 printf clauses for printing size and start.
8706
d2e29d81
VS
87072011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
8710 Reported and tested by: Timothy Nikkel.
8711
ed5587af
VS
87122011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8713
8714 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
8715 (dirty_region_add_real): ... this.
8716 (dirty_region_add): Don't discard margin refresh when performing
8717 scheduled repaint.
8718
a1dc717c
VS
87192011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8720
8721 * grub-core/lib/relocator.c (allocate_regstart)
8722 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
8723 terminals are capabple of malloc-free operation.
8724 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8725 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8726
9f3677d3
VS
87272011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
8728
8729 * util/grub-setup.c: Copy the partition table zone if floppy support
8730 is disabled, even if no partition table is found.
8731
8732 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
8733 during POST if an invalid partition table is contained in the PBR
8734 of the active partition when GRUB is installed to a partition.
8735
24148725
CW
87362011-03-28 Colin Watson <cjwatson@debian.org>
8737
8738 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
8739 comment.
8740
f329eda7
CW
87412011-03-28 Colin Watson <cjwatson@debian.org>
8742
8743 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
8744 to be specific about what kind of RAID device we're scanning for.
8745
c482ad98
SG
87462011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
8747
8748 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
8749 return freed string.
8750
5ee04984
VS
87512011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
8754
f4727da9
VS
87552011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 Use libgeom on FreeBSD to detect partitions.
8758
8759 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
8760 (grub-mkrelpath): Likewise.
8761 (grub-script-check): Likewise.
8762 (grub-editenv): Likewise.
8763 (grub-mkpasswd-pbkdf2): Likewise.
8764 (grub-fstest): Likewise.
8765 (grub-mkfont): Likewise.
8766 (grub-mkdevicemap): Likewise.
8767 (grub-probe): Likewise.
8768 (grub-setup): Likewise.
8769 (grub-ofpathname): Likewise.
8770 (grub-mklayout): Likewise.
8771 (example_unit_test): Likewise.
8772 (grub-menulst2cfg): Likewise.
8773 * grub-core/Makefile.core.def (grub-emu): Likewise.
8774 (grub-emu-lite): Likewise.
8775 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
8776 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
8777 define HAVE_DIOCGDINFO.
8778 (follow_geom_up) [FreeBSD]: New function.
8779 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
8780 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
8781 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
8782 unconditionally of HAVE_DIOCGDINFO.
8783
82fe6c75
VS
87842011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8785
8786 Fix FreeBSD compilation problem.
8787
8788 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
8789 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
8790
4c6c9431
CW
87912011-03-24 Colin Watson <cjwatson@ubuntu.com>
8792
8793 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
8794 Switch back to page zero before loading a kernel, since some kernel
8795 drivers expect that.
8796 Thanks to: Felix Kuehling.
8797
c7064d94
VS
87982011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
8801 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
8802 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
8803
3f71cded
VS
88042011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
8807 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
8808
ef6de21a
VS
88092011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8810
8811 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
8812 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
8813 malloc is disabled.
8814
8bc66a2c
VS
88152011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
8818 for modules headers when counting the needed allocation size.
8819
5657722c
VS
88202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8821
8822 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
8823 if no ASCII character is found to prevent crash.
8824
41a85f55
AK
88252011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
8826
8827 * grub-core/video/bitmap.c (match_extension): Ignore case.
8828
59e1e5f1
VS
88292011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8830
8831 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
8832
bd4d051a
VS
88332011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8834
8835 * grub-core/script/parser.y: Declare "time" as valid argument.
8836
bae7fcc1
PJ
88372011-03-23 Peter Jones <pjones@redhat.com>
8838
8839 Fix incorrect assert failure reporting.
8840
8841 * grub-core/tests/example_functional_test.c (example_test): Add
8842 a failure comment.
8843 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
8844 (failure_start): ...this. Check that malloc succeeded.
8845 Don't call xvasprintf. Return failure struct.
8846 (failure_append_vtext): New function.
8847 (failure_append_text): Likewise.
8848 (add_failure): Likewise.
8849 (grub_test_assert_helper): Likewise.
8850 * include/grub/test.h (grub_test_assert_helper): New declaration.
8851 (grub_test_assert): Macro rewritten.
8852
537dc9be
VS
88532011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8854
8855 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
8856
fa3e01bf
VS
88572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
8860
b1d28404
VS
88612011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8862
8863 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
8864 into GRUB-style one.
8865
2e3e2e09
VS
88662011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
8869 error and not grub_errno.
8870 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
8871
ed57e557
VS
88722011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8873
8874 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
8875 GRUB_USB_SPEED_NONE in case of failure and not the error code.
8876
d1611f01
VS
88772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8878
8879 * grub-core/efiemu/i386/pc/cfgtables.c
8880 (grub_machine_efiemu_init_tables): Make declaration a prototype.
8881 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
8882 (grub_xnu_unlock): Likewise.
8883 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
8884
7d4e39d6
VS
88852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8886
8887 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
8888 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
8889 * grub-core/commands/hashsum.c (aliases): Likewise.
8890 * grub-core/commands/setpci.c (pci_registers): Likewise.
8891 * grub-core/disk/usbms.c (attach_hook): Likewise.
8892 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
8893 (zio_checksum_table): Likewise.
8894 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
8895 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
8896 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
8897 * grub-core/lib/relocator.c (leftovers): Likewise.
8898 (extra_blocks): Likewise.
8899 * grub-core/loader/i386/bsd.c (relocator): Likewise.
8900 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
8901 (modules_last): Likewise.
8902 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
8903 (devices): Likewise.
8904 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
8905 (modules_last): Likewise.
8906 * grub-core/normal/auth.c (users): Likewise.
8907 * grub-core/normal/context.c (initial_menu): Likewise.
8908 (current_menu): Likewise.
8909 * grub-core/normal/crypto.c (crypto_specs): Likewise.
8910 * grub-core/term/serial.c (grub_serial_ports): Likewise.
8911 (grub_serial_terminfo_input_template): Likewise.
8912 (grub_serial_terminfo_output_template): Likewise.
8913 (grub_serial_terminfo_input): Likewise.
8914 (grub_serial_terminfo_output): Likewise.
8915 (registered): Likewise.
8916 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
8917
40fc4659
VS
89182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
8921 grub_video_mode_type_t.
8922 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
8923 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
8924 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
8925
2da48d28
VS
89262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8927
8928 * util/grub-install.in: Correct the x86-64 name as x86_64.
8929
9b43bf39
CW
89302011-03-11 Colin Watson <cjwatson@ubuntu.com>
8931
8932 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
8933 initial chunk read from the kernel always includes GRUB's multiboot
8934 header, which is now outside the first sector.
8935
be1a7ce0
CW
89362011-03-09 Colin Watson <cjwatson@ubuntu.com>
8937
8938 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
8939 cached mmap_size, so that this works correctly when called multiple
8940 times.
8941 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
8942
83a3c48d
CW
89432011-03-09 Colin Watson <cjwatson@ubuntu.com>
8944
8945 * docs/grub.texi (Simple configuration): Tidy up formatting.
8946
57d75699
SJ
89472011-03-07 Szymon Janc <szymon@janc.net.pl>
8948
8949 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
8950 Set-but-not-used variable removed.
8951
028501a0
VS
89522011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 Workaround yet another IEEE1275 bug.
8955
8956 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8957 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
8958 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
8959 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
8960 is set.
8961 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8962 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
8963
d998657d
VS
89642011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
8967 error.
8968
fee7cdd4
CW
89692011-02-11 Colin Watson <cjwatson@ubuntu.com>
8970
8971 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
8972 empty, since in that case we can only generate either nothing or a
8973 syntactically invalid configuration file.
8974 Reported by: Michal Suchanek. Fixes Debian bug #612898.
8975
97286eb5
CW
89762011-02-09 Colin Watson <cjwatson@ubuntu.com>
8977
8978 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
8979 (Making a GRUB bootable CD-ROM): Likewise.
8980 (Invoking grub-mkrescue): New section.
8981 Reported by: Yann Dirson. Fixes Debian bug #612585.
8982
22b28eb3
CW
89832011-02-09 Colin Watson <cjwatson@ubuntu.com>
8984
8985 * util/grub-install.in: Remove unnecessary brackets from tr
8986 arguments.
8987 * util/grub.d/10_hurd.in: Likewise.
8988 * util/grub.d/10_kfreebsd.in: Likewise.
8989 * util/grub.d/10_linux.in: Likewise.
8990 * util/grub.d/20_linux_xen.in: Likewise.
8991 Reported by: Jamie Heilman. Fixes Debian bug #612564.
8992
7e735e43
CW
89932011-02-08 Colin Watson <cjwatson@ubuntu.com>
8994
8995 * include/grub/file.h (not_easly_seekable): Rename to ...
8996 (not_easily_seekable): ... this. Update all users.
8997
800f1881
CW
89982011-01-28 Colin Watson <cjwatson@ubuntu.com>
8999
9000 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
9001 grub-mkrescue.
9002
3281d3d6
VS
90032011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 * util/grub-mkimage.c (generate_image): Refuse to create the images
9006 bigger than the actual flash (512K) in Loongson machines. 512K is also
9007 the biggest chip supported by them.
9008
3533413c
VS
90092011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9010
9011 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
9012
73ae4f4f
VS
90132011-01-22 Anthony DeRobertis <anthony@derobert.net>
9014
9015 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
9016 super_offset field.
9017
37f4f608
VS
90182011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * util/grub-install.in: Ignore install device on platforms
9021 where it doesn't make sense. Always use UUIDs except on pc, efi and
9022 sparc64.
9023 Reported by: Daniel Kahn Gillmor.
9024
03a4ccb5
VS
90252011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
9028
ffc8f4d8
VS
90292011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
9032 (iterate_real): Don't rely on partition being non-NULL.
9033
80f23be7
VS
90342011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
9037 supported platforms. Put a compile time assert for this rather than
9038 generate a warning with 32-bit shift.
9039
5d4f4dd5
VS
90402011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9041
9042 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
9043 logical expression more readable.
9044
e489601a
VS
90452011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
9048 even if some elements have a name.
9049 Reported by: Alexander GQ Gerasiov.
9050
96e0a6ea
CW
90512011-01-22 Colin Watson <cjwatson@ubuntu.com>
9052
9053 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
9054 path unreadable if `grub-probe -t abstraction' fails, for example if
9055 memberlist fails on an LVM volume group.
9056 Reported by: Darius Jahandarie.
9057
81431e2b
CW
90582011-01-22 Colin Watson <cjwatson@ubuntu.com>
9059
9060 * docs/grub.texi (Simple configuration): Document
9061 GRUB_PRELOAD_MODULES.
9062
5e79d66a
CW
90632011-01-17 Colin Watson <cjwatson@ubuntu.com>
9064
9065 * .bzrignore: Remove nonexistent grub-pbkdf2.
9066
646ada34
VS
90672011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * configure.ac: Bump version to 1.99~rc1.
9070
04360337
VS
90712011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9072
9073 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
9074 for safety.
9075
46c9db88
VS
90762011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9077
9078 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
9079 module.
9080
90812011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
9082
9083 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
9084
4fbf1852
VS
90852011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
9088 diskdevid.
9089
f1632d4d
VS
90902011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 Fix compilation on cygwin.
9093
9094 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
9095 -R .drectve on cygwin.
9096 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
9097 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
9098 (COND_CYGWIN): New condition.
9099 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
9100 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
9101 not @TARGET_OBJ2ELF@.
9102 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
9103 type to determine whether aux is to be used.
9104
0b5e127b
VS
91052011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9106
9107 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
9108 realpath'ed device string.
9109 Handle floppy (somewhat).
9110 Issue error in unknown case rather than garbage.
9111 Reported by: Axel Beckert.
9112
173b71e9
VS
91132011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9114
9115 * util/grub.d/00_header.in (load_video): Handle the case when no video
9116 drivers available.
9117 Thanks to: Axel Beckert.
9118
f8f479db
VS
91192011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9120
9121 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
9122 variable. Fixes problem on big endian platforms.
9123
8fc0a245
VS
91242011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9125
9126 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
9127 It doesn't work well there.
9128
b8494fbe
VS
91292011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9130
9131 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
9132 warning.
9133 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
9134 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
9135 counter.
9136
b44a558c
VS
91372011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 Use alias->path rather than buggy "canon".
9140
9141 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
9142 (ofdisk_hash_add): New argument curcan. All users updated.
9143
51fa856c
CW
91442011-01-11 Colin Watson <cjwatson@ubuntu.com>
9145
9146 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
9147
9da068a5
VS
91482011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9149
9150 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
9151 loadmask before doing any calculations. Use correct type for offset.
9152 (grub_linux_load64): Likewise.
9153
86205c94
CW
91542011-01-11 Colin Watson <cjwatson@ubuntu.com>
9155
9156 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
9157 with NULL.
9158 (console_grub_equivalences_unshift): Likewise.
9159 Reported by: Daniel Dehennin.
9160
4531a206
VS
91612011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
9164 (set_env_limn_ro): Likewise.
9165 (GRUB_MOD_INIT): Likewise.
9166 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
9167 ARRAY_SIZE while on it.
9168 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
9169 * grub-core/normal/context.c (grub_env_export): Move from here ...
9170 * grub-core/kern/env.c (grub_env_export): ... here.
9171 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
9172 prefix.
9173 * grub-core/kern/main.c (grub_main): Export root and prefix.
9174 * include/grub/env.h (grub_env_export): Export.
9175 Reported by: Seth Goldberg.
9176
45146057
VS
91772011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9180 Take into account space used by ELF sections and multiboot palette.
9181 Reported by: Grégoire Sutre.
9182
f093110b
VS
91832011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 * BUGS: New file.
9186
3395fe52
VS
91872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9188
9189 Pass more appropriate video id to Linux.
9190
9191 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
9192 grub_video_get_driver_id and variable gfxpayloadforcelfb to
9193 fill have_vga.
9194 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
9195 shift params->lfb_size.
9196 * include/grub/i386/linux.h: Make an enume out of have_vga values.
9197
c2fa6cbb
VS
91982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 * util/grub-menulst2cfg.c: Add missing include of misc.h.
9201
b3ff6ff0
VS
92022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
9205 separator and pass bootpath/devid even if only one of them is available.
9206 Reported by: Seth Goldberg.
9207
ae67942e
VS
92082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9209
9210 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
9211 implementations bug on them.
9212
9213 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
9214 memory.
9215 (filter_memory_map): Likewise.
9216
d570097a
VS
92172011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9218
9219 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
9220 Reported by: nebuchadnezzar.
9221
a508e776
VS
92222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9223
9224 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
9225 Reported by: nebuchadnezzar.
9226
dcb883b1
VS
92272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 Submenu default support.
9230
9231 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
9232 auto_boot. All users updated.
9233 Declared static.
9234 Handle chosen and default with submenus.
9235 (grub_menu_execute_with_fallback): Declared static.
9236 Don't notify failure if autobooted. Upper level does it.
9237 (menuentry_eq): New function.
9238 (get_entry_number): Use menuentry_eq.
9239 (show_menu): New parameter "autobooted". All users updated.
9240 (grub_show_menu): Likewise.
9241 * include/grub/normal.h (grub_show_menu): Likewise.
9242 * include/grub/menu.h (grub_menu_execute_entry): Removed.
9243 (grub_menu_execute_with_fallback): Likewise.
9244
6fef99b4
VS
92452011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 * util/grub-mklayout.c (usage): Update help text.
9248
47a77af5
VS
92492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9250
9251 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
9252
ce6bb3ee
VS
92532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9254
9255 * util/grub-menulst2cfg.c (main): Trim the line.
9256
db87be2a
VS
92572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
9260 (grub_machine_init): Don't check amount of low memory as reportedly
9261 INT 12h can be broken and if low memory is too low we wouldn't have
9262 gotten into grub_machine_init anyway.
9263
c49849cc
VS
92642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
9267 (grub_machine_mmap_iterate): Take low memory into account
9268
b1969b30
VS
92692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9270
9271 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
9272 badfs.
9273 Reported by: TiCPU.
9274
cf0eaf13
VS
92752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9276
9277 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
9278 members errors.
9279
1f060f39
GS
92802011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
9281
9282 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
9283 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
9284
a21e5672
GS
92852011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
9286
9287 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
9288 openbsd and netbsd types being in part_bsd module.
9289
c88172fa
VS
92902011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
9293 (_FILE_OFFSET_BITS): Likewise.
9294 Reported by: Seth Goldberg.
9295
53798c4b
GS
92962011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9297
9298 * configure.ac: Check for libdevmapper header.
9299
e7121b69
VS
93002011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
9303 avoid aliasing.
9304 (fzap_lookup): Likewise.
9305 (dnode_get): Likewise.
9306 (make_mdn): Likewise.
9307 (zfs_mount): Likewise.
9308 (fzap_iterate): Use temporary pointer to avoid aliasing.
9309 (grub_zfs_read): Likewise.
9310 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
9311 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
9312 pointers to avoid aliasing.
9313 (grub_cmd_xnu_kernel64): Likewise.
9314 (grub_xnu_load_driver): Likewise.
9315
fc836af9
VS
93162011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9317
9318 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
9319 aliasing warning.
9320 (grub_cmd_terminal_output): Likewise.
9321 Reported and tested by: Grégoire Sutre.
9322
f9f37648
VS
93232011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
9326 warning.
9327 Reported and tested by: Grégoire Sutre.
9328
ec1dfd63
VS
93292011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9330
9331 * configure.ac: Do CPU substitution even if it's specified explicitly.
9332 Reported and tested by: Alain Greppin.
9333
9462775a
VS
93342011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9335
9336 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
9337 Reported and tested by: Alain Greppin.
9338
0fd48e35
VS
93392011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 Satisfy some bison versions need for inttypes.h.
9342
9343 * grub-core/lib/posix_wrap/inttypes.h: New file.
9344 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
9345 (int16_t): Likewise.
9346 (int32_t): Likewise.
9347 (int64_t): Likewise.
9348 Reported and tested by: Alain Greppin.
9349
43f1bc83
VS
93502011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9351
9352 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
9353 Silence spurious warning.
9354 Reported and tested by: Alain Greppin.
9355
64d1f041
SJ
93562011-01-07 Szymon Janc <szymon@janc.net.pl>
9357
9358 * docs/grub.texi (Support automatic decompression): Update with xz
9359 decompression support.
9360
25953e10
SJ
93612011-01-07 Szymon Janc <szymon@janc.net.pl>
9362
9363 Improve loaders' kernel command line handling.
9364
9365 * grub-core/lib/cmdline.c: New file.
9366 * include/grub/lib/cmdline.h: Likewise.
9367 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
9368 grub_create_loader_cmdline to create kernel command line.
9369 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9370 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
9371 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
9372 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
9373 (linux): Add lib/cmdline.c on common.
9374
e72d259f
VS
93752011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
9378 inopos might be unaligned.
9379
c0cf26da
VS
93802011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9383 endian transformations.
9384 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9385 Based on report by: Doug Nazar.
9386
0ca09e6c
DN
93872011-01-07 Doug Nazar <nazard.michi@gmail.com>
9388
9389 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
9390 array->members[i].start_sector.
9391 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
9392
014b6806
VS
93932011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9394
9395 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
9396 Reported and tested by: Grégoire Sutre.
9397
415502c2
CW
93982011-01-06 Colin Watson <cjwatson@ubuntu.com>
9399
9400 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
9401 avoid causing test failures by clearing the screen.
9402
71b6a2b7
CW
94032011-01-06 Colin Watson <cjwatson@ubuntu.com>
9404
9405 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9406 Fix prefix check to handle the case where dir ends with a slash
9407 (most significantly, "/" itself).
9408 Reported by: Michael Vogt.
9409
b3f8d28a
VS
94102011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9411
9412 Run terminfo_cls on initing terminfo output to clear the screen and
9413 move the cursor to (0,0).
9414
9415 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
9416 Call grub_terminfo_output_init.
9417 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
9418 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
9419 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
9420
4c3e4f37
VS
94212011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9422
9423 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
9424 only when needed.
9425
488f71f1
VS
94262011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
9429 CTRL.
9430
18a38098
VS
94312011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 The E820 type 5 is BADRAM, not EXEC_CODE.
9434
9435 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
9436 (GRUB_E820_BADRAM): New define.
9437 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
9438 into reserved. Propagate BADRAM.
9439 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
9440 (GRUB_E820_BADRAM): New define.
9441
9eae2084
VS
94422011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
9445 Ignore the memory post-4G.
9446 (grub_relocator_firmware_alloc_region): Additional debug statement.
9447
ebc71d28
VS
94482011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
9451 names.
9452 Reported by: David Pravec.
9453
446fa400
VS
94542011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9455
9456 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
9457 BIOSes.
9458
a0159f37
VS
94592011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
9462 Prevent overflow.
9463 (grub_reed_solomon_recover): Likewise.
9464
e5146ca1
VS
94652011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
9468
94692011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
9470
9471 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
9472 variable.
9473
5b1bdf12
CW
94742011-01-04 Colin Watson <cjwatson@ubuntu.com>
9475
9476 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
9477 descriptions of extract_legacy_entries_source and
9478 extract_legacy_entries_configfile.
9479 Reported by: Seung Soo, Ha.
9480
99d925aa
CW
94812011-01-03 Colin Watson <cjwatson@ubuntu.com>
9482
9483 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
9484 on devices that do not implement function 0.
9485
4af0504b
DV
94862011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
9487
9488 * grub-core/fs/hfsplus.c: Make parent unsigned.
9489 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
9490 overflows.
9491 (grub_hfsplus_cmp_extkey): Likewise
9492
469ee10a
VS
94932011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 * util/grub-install.in: Correctly use bootloader_id and not
9496 GRUB_DISTRIBUTOR on efibootmgr line.
9497
323a8e9c
VS
94982011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
9499
9500 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
9501
1b394975
IC
95022010-12-31 Ian Campbell <ijc@hellion.org.uk>
9503
9504 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
9505 Xen and reorder menu item wording to make it clearer that this entry
9506 will launch Xen. Print separate messages when loading Xen and
9507 Linux.
9508
275bff5f
VS
95092010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
9512 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
9513 loop in case of incorrect amiga partmap.
9514
307806cb
VS
95152010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
9518 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
9519 Reported by:EHeM.
9520
b12b923e
VS
95212010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
9524 spurious warning.
9525 Reported by: crocket
9526
14b48a19
VS
95272010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
9530 Preload EFIemu.
9531 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
9532
693db2df
VS
95332010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
9536 is loaded
9537 (grub_cmd_xnu_kextdir): Likewise.
9538 (grub_cmd_xnu_splash): Likewise.
9539
c7638645
VS
95402010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9541
9542 Avoid using Reed-Solomon with 0 redundancy.
9543
9544 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
9545 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
9546 or 0 redundancy.
9547 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
9548 (grub_reed_solomon_recover): Likewise.
9549
25dd4780
VS
95502010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 Don't use disk subsystem in freebsd_boot.
9553
9554 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
9555 (freebsd_biosdev): Likewise.
9556 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
9557 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
9558
0b2db943
VS
95592010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9560
9561 Handling of files of unknown size is currently limited. They can't be
9562 used e.g. for initrd or modules. Moreover gzip handling of not
9563 easily seekable files is buggy. Disable unknown file size for now. May
9564 be inefficient but works.
9565
9566 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
9567 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
9568
5c408d0f
MP
95692010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
9570
9571 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
9572 floppy probe.
9573
190a011a
JD
95742010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
9575
9576 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
9577
022d01b8
SL
95782010-12-25 Shea Levy <shlevy>
9579
9580 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
9581
c4855fdc
VS
95822010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
9585 Windows Server 2008.
9586 Reported by: Devin Giddings.
9587
0354b867
VS
95882010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
9591 writing an error message because of async power management.
9592 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
9593 (grub_reboot): Likewise.
9594
ab66c69f
JU
95952010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
9596
9597 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
9598 keep unit tests from failing when they shouldn't.
9599
1426ef35
CW
96002010-12-21 Colin Watson <cjwatson@ubuntu.com>
9601
9602 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
9603 previous patch increased the size of the RS code by 20 bytes (at
9604 least with gcc-4.4), so increase this by 20 bytes to match.
9605 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9606
20641b6b
CW
96072010-12-21 Colin Watson <cjwatson@ubuntu.com>
9608
9609 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
9610 scratch area. Make sure to initialise chosen in standalone mode as
9611 well as non-standalone.
9612 Reported by: Robert Hooker and Andy Whitcroft.
9613 Tested by: Andy Whitcroft.
9614
d060ad60
CW
96152010-12-21 Colin Watson <cjwatson@ubuntu.com>
9616
9617 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
9618 constructing a new unescaped string and passing it to grub_xputs in
9619 one go, rather than passing characters to grub_printf one at a time.
9620
b889cfad
CW
96212010-12-21 Colin Watson <cjwatson@ubuntu.com>
9622
9623 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
9624 initialising utf16.
9625
4e01b6c8
CW
96262010-12-21 Colin Watson <cjwatson@ubuntu.com>
9627
9628 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
9629 comment. Add an extra layer of quotation, requiring the output of
9630 this function to be used in a printf format string.
9631 (gettext_printf): New function.
9632 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
9633 Extract translatable strings from here-documents and use a temporary
9634 variable instead, so that xgettext can find them.
9635 * util/grub.d/10_kfreebsd.in: Likewise.
9636 * util/grub.d/10_linux.in: Likewise.
9637 * util/grub.d/20_linux_xen.in: Likewise.
9638
9639 * po/grub.d.sed: New file.
9640 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
9641 arguments. Set c-format flags on all strings extracted from
9642 util/grub.d/ (xgettext refuses to include these itself for strings
9643 it extracted from a shell file, but these really are c-format).
9644
5318fe98
VS
96452010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
9648 Avoid next pointing to nowhere.
9649
6c85b743
VS
96502010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9651
9652 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
9653 rather than assuming than rootblock is exactly in the middle.
9654 (grub_affs_label): Likewise.
9655
a2a08a35
VS
96562010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
9659 reserved_first_sector to 0.
9660 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
9661 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
9662 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
9663
7059d1ec
VS
96642010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 Fix handling of UTF-16 UDF labels.
9667
9668 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
9669 (read_string): .. here.
9670 (grub_udf_label): Use read_string.
9671
30aff4cb
BC
96722010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
9673
9674 * grub-core/normal/menu_entry.c (run): Execute commands from menu
9675 editor under argument scope.
9676 Reported by: Jordan Uggla
9677
5cf86f4b
VS
96782010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9679
9680 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
9681
32570200
CW
96822010-12-18 Colin Watson <cjwatson@ubuntu.com>
9683
9684 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
9685 line, and other keys scroll an entire page (previous handling was
9686 for \r and \n to scroll a page and other keys to scroll two lines).
9687
e1dffcf2
VS
96882010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9691 Set ptrdest to correct get_physical_target_address rather than
9692 incorrect get_virtual_current_address.
9693
b04298cf 96942010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
9695
9696 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
9697 correct cat to grub_uint8_t * rather than grub_uint32_t *.
9698
5367ecd3
CW
96992010-12-10 Colin Watson <cjwatson@ubuntu.com>
9700
9701 * .bzrignore: Ignore grub-core/rs_decoder.S.
9702
1fb430f8
CW
97032010-12-10 Colin Watson <cjwatson@ubuntu.com>
9704
9705 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
9706 .mo/.mo.gz opening sequence to ...
9707 (grub_mofile_open_lang): ... here.
9708 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
9709 * util/grub.d/00_header.in (grub_lang): Include country part of
9710 locale.
9711 Reported by: Mario Limonciello.
9712
a94a6671
RM
97132010-12-09 Robert Millan <rmh@gnu.org>
9714
9715 * NEWS: Document addition of ZFS support.
9716
24b7938b
CW
97172010-12-04 Colin Watson <cjwatson@ubuntu.com>
9718
9719 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
9720 rather than `/ 2', as the latter requires -Wa,--divide which would
9721 require bumping our minimum binutils version.
9722
bddc3ef6
BC
97232010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
9724
9725 * util/grub-script-check.c (main): Print script line number on
9726 error.
9727
bf78d5b2
RM
97282010-12-01 Robert Millan <rmh@gnu.org>
9729
9730 * grub-core/fs/zfs/zfs.c: New file.
9731 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
9732 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
9733 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
9734 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9735
9736 * include/grub/zfs/dmu.h: Likewise.
9737 * include/grub/zfs/dmu_objset.h: Likewise.
9738 * include/grub/zfs/dnode.h: Likewise.
9739 * include/grub/zfs/dsl_dataset.h: Likewise.
9740 * include/grub/zfs/dsl_dir.h: Likewise.
9741 * include/grub/zfs/sa_impl.h: Likewise.
9742 * include/grub/zfs/spa.h: Likewise.
9743 * include/grub/zfs/uberblock_impl.h: Likewise.
9744 * include/grub/zfs/vdev_impl.h: Likewise.
9745 * include/grub/zfs/zap_impl.h: Likewise.
9746 * include/grub/zfs/zap_leaf.h: Likewise.
9747 * include/grub/zfs/zfs.h: Likewise.
9748 * include/grub/zfs/zfs_acl.h: Likewise.
9749 * include/grub/zfs/zfs_znode.h: Likewise.
9750 * include/grub/zfs/zil.h: Likewise.
9751 * include/grub/zfs/zio.h: Likewise.
9752 * include/grub/zfs/zio_checksum.h: Likewise.
9753
9754 * Makefile.util.def: Build ZFS into libgrubmods.
9755 * grub-core/Makefile.core.def: Build zfs.mod.
9756
3f0f3831
SJ
97572010-11-30 Szymon Janc <szymon@janc.net.pl>
9758
9759 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
9760 variable.
9761 * grub-core/commands/wildcard.c (match_files): Likewise.
9762
3a4253b2
RM
97632010-11-30 Robert Millan <rmh@gnu.org>
9764
9765 * grub-core/loader/i386/bsd.c
9766 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
9767 whether kernel is loaded using grub_loader_is_loaded(), rather
9768 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
9769 certain error conditions.
9770
8c317b27
RM
97712010-11-30 Robert Millan <rmh@gnu.org>
9772
c5c9cd3e
RM
9773 * grub-core/commands/echo.c: Include `<grub/term.h>'.
9774 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 9775
49d3ab46
VS
97762010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9777
9778 Avoid using tricks for initialising endian variables.
9779
9780 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
9781 Make const.
9782 (GRUB_MOD_INIT): Don't byte-swap.
9783 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9784 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
9785 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
9786 (grub_swap_bytes32_compile_time): Likewise.
9787 (grub_cpu_to_le32_compile_time): Likewise.
9788 (grub_cpu_to_le16_compile_time): Likewise.
9789
f420a804
VS
97902010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * util/grub-setup.c (setup): Stop recommending --force. People who
9793 understand the dangers of blocklists are able to find this option
9794 anyway and the ones who don't shouldn't use it anyway.
9795
4e7db17b
RM
97962010-11-26 Robert Millan <rmh@gnu.org>
9797
9798 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
9799 Update all users.
9800
9be57a0d
CW
98012010-11-26 Colin Watson <cjwatson@ubuntu.com>
9802
9803 Fix LVM-on-RAID probing.
9804
9805 * util/grub-probe.c (probe): Remember which disk was detected as
9806 RAID (perhaps an LVM physical volume). Use that disk's raidname
9807 rather than that of the top-level disk.
9808
2c7859b3 98092010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 9810
d7647bb6
BC
9811 Fix cmdline argument quotes for setparams command of menuentry
9812 definitions.
7e623b0d
BC
9813
9814 * grub-core/commands/menuentry.c (setparams_prefix): Use single
9815 quotes for arguments.
f866fe80 9816 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 9817 grub_strchrsub function instead.
f866fe80 9818
7955bea0 9819 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 9820
74f72a64
CW
98212010-11-24 Colin Watson <cjwatson@ubuntu.com>
9822
9823 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
9824 effort by skipping "." and ".." entries up-front.
9825 Suggested by: Michael Lazarev.
9826
5a407278
CW
98272010-11-24 Colin Watson <cjwatson@ubuntu.com>
9828
9829 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
9830 ldflags to ldadd, to fix link line ordering.
9831 (none_decompress): Likewise.
9832
3030d8ec
CW
98332010-11-24 Colin Watson <cjwatson@ubuntu.com>
9834
9835 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
9836 platforms.
9837 (grub-emu-lite): Remove kern/emu/cache.S.
9838
b7fbac12
CW
98392010-11-23 Colin Watson <cjwatson@ubuntu.com>
9840
9841 * util/deviceiter.c (compare_devices): If the by-id link for a
9842 device couldn't be resolved, fall back to sorting by the by-id link
9843 rather than segfaulting.
9844 Reported and tested by: Daniel Mierswa.
9845
5225f328
CW
98462010-11-23 Colin Watson <cjwatson@ubuntu.com>
9847
9848 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
9849 ldflags, to fix link line ordering.
9850
038b3ce8
CW
98512010-11-23 Colin Watson <cjwatson@ubuntu.com>
9852
9853 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
9854 linkers are picky about this.
9855
bf16e98e
CW
98562010-11-23 Colin Watson <cjwatson@ubuntu.com>
9857
9858 * grub-core/Makefile.am (command.lst): Adjust sed expression
9859 ordering so that extended and priority commands aren't treated as
9860 ordinary commands.
9861
7242bab6
CW
98622010-11-23 Colin Watson <cjwatson@ubuntu.com>
9863
9864 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9865 Remove byte-swapping function calls, which are not valid in
9866 structure initialisers.
9867 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
9868 non-const.
9869 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
9870 grub_gpt_partition_type_bios_boot.
9871
14e8b279
CW
98722010-11-22 Colin Watson <cjwatson@ubuntu.com>
9873
9874 Fix test program build on GNU/kFreeBSD.
9875
9876 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
9877 $(LIBNVPAIR)' library dependencies.
9878
e6f63338 98792010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
9880
9881 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
9882
cf8ffc38
CW
98832010-11-22 Colin Watson <cjwatson@ubuntu.com>
9884
9885 * util/grub-install.in: Remove excessive quoting that broke
9886 installations to RAID devices.
9887
7f8b0fd7
VS
98882010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9889
9890 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
9891 bootloader version instead of 0.
9892
dfd240b1
VS
98932010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
9896 warning.
9897
7b61e609
VS
98982010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
9901 retrieve the metadat sector if size isn't known.
9902 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9903
9dfe92d0
RM
99042010-11-18 Robert Millan <rmh@gnu.org>
9905
9906 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
9907 with grub_memcmp().
9908
41cc919e
VS
99092010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
9912 arrow.
9913 Reported by: Jordan Uggla.
9914
1afcc914
VS
99152010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9916
9917 Make better UTF compliant.
9918
9919 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
9920 sequences as incorrect.
9921 (grub_is_valid_utf8): Likewise.
9922 (grub_utf8_to_ucs4): Likewise.
9923 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
9924 (grub_ucs4_to_utf8_alloc): Likewise.
9925 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
9926
f1808884
VS
99272010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 Make legacy_source behave like source.
9930
9931 * grub-core/commands/legacycfg.c (legacy_file): Don't call
9932 grub_show_menu.
9933 (grub_cmd_legacy_source): Call grub_show_menu if needed.
9934
24ec575b
CW
99352010-11-16 Colin Watson <cjwatson@debian.org>
9936
9937 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
9938 (-Wunused implies -Wunused-parameter, but not vice versa).
9939
72b7c7aa
CW
99402010-11-16 Colin Watson <cjwatson@ubuntu.com>
9941
9942 * configure.ac: Make error messages less confusing by testing for
9943 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
9944 accepted, but produces a diagnostic if something else is wrong).
9945
e98937aa
VS
99462010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
9949 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
9950 (now unused).
9951 (grub_keyboard_controller_init)
9952 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
9953 read the initial state since controller isn't inited yet.
9954
f6bbabc3
VS
99552010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
9958 allocate_regbeg may need to create new chunk header.
9959
22e7dbb2
VS
99602010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 Fix quoting in legacy parser.
9963
9964 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
9965 single quotes.
9966 (grub_legacy_parse): Likewise.
9967 Reported by: Jordan Uggla.
9968 Tested by: Jordan Uggla.
9969
03f80960
VS
99702010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 Don't add -lgcc on i386 and x86_64.
9973
9974 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
9975 * conf/Makefile.common (LDADD_KERNEL): Likewise.
9976 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
9977
779dc15b
VS
99782010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * configure.ac: Add -Wno-trampolines when supported.
9981
d20a3b37
MV
99822010-11-14 Modestas Vainius <modax@debian.org>
9983
9984 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
9985 fakeraid.
9986
e5360933
GC
99872010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9988
9989 Add generic logical block size support for UDF.
9990
9991 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
9992 (GRUB_UDF_BLKSZ): Removed.
9993 (struct grub_udf_data): New field "lbshift" to hold the logical block
9994 size of the file system in log2 format. All users updated.
9995 (sblocklist): Change type to unsigned.
9996 (grub_udf_mount): Change type of "sblklist" to unsigned.
9997 Move AVDP search before VRS recognition, because the latter requires
9998 knowledge of the logical block size, which is detected during the
9999 former.
10000 Detect and validate logical block size during AVDP search, adding
10001 support for block sizes 512, 1024 and 4096.
10002 Make VRS recognition independent of block size.
10003
cb0229c5
GC
100042010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10005
10006 Properly handle deleted files on UDF.
10007
10008 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
10009 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
10010 set.
10011
406858a8
GC
100122010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10013
10014 Support reading files larger than 2 GiB.
10015
10016 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
10017 "offset" to grub_off_t.
10018 (grub_udf_read_file): Likewise for parameter "pos".
10019
130da6a7
VS
100202010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10021
10022 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
10023 unavailable.
10024 (Simple configuration): Refer to Changes from GRUB Legacy about
10025 save_env availability.
10026
65e93f6b
VS
100272010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10028
10029 * util/grub-install.in: Ignore empty partition table detection
10030 instead of trying to include part_ module.
10031
1fd08bf1
VS
100322010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
10035 LVM on RAID support.
10036
de1a024f
VS
100372010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10038
10039 Properly define WORDS_BIGENDIAN in wrapped environments.
10040
10041 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
10042 definition.
10043 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
10044
10045 Reported by: Manoel Rebelo Abranches.
10046 Tested by: Manoel Rebelo Abranches.
10047
bc5dd0b9
VS
100482010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10049
10050 * util/grub-mkconfig.in: Fix quoting.
10051
58c184be
VS
100522010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 Support big ext2 files.
10055
10056 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
10057 (grub_ext2_read_block): Support triple indirect blocks.
10058 (grub_ext2_read_file): Use 64-bit types and read size_high.
10059 (grub_ext2_open): Read size_high.
10060 Reported by: Ximin Luo.
10061 Tested by: Manoel Rebelo Abranches.
10062
5f0c02b3
VS
100632010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10064
10065 * util/grub-install.in: Handle filenames containing spaces.
10066 Reported by: Jordan Uggla.
10067 Tested by: Jordan Uggla.
10068
4417aae6
VS
100692010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10070
10071 * util/grub-mkconfig.in (grub_script_check): New variable.
10072 Use grub_script_check instead of grub-script-check.
10073 Reported by: Barry Jackson.
10074
7625a68e
VS
100752010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * docs/grub.texi (menu): Correct the order.
10078 Reported by: D. Hugh Redelmeier.
10079
10001ac5
VS
100802010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
10083 jump.
10084
9c4cf53b
MRA
100852010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
10086
10001ac5
VS
10087 * include/grub/elfload.h (grub_elf32_size): New parameter.
10088 All users updated.
9c4cf53b
MRA
10089 Return maximum segments alignment.
10090 (grub_elf64_size): Likewise.
10091 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
10092 Return maximum segments alignment.
10093 (grub_elf64_size): Likewise.
10094 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
10095 (grub_linux_claimmap_iterate): New function. Uses the
10096 "available" property in the "memory" node for memory allocation
10097 for kernel in the PowerPC loader.
9c4cf53b
MRA
10098 (grub_linux_load32): Correctly find linux entry point offset.
10099 (grub_linux_load64): Likewise.
10100
d2bf06bf
RM
101012010-11-07 Robert Millan <rmh@gnu.org>
10102
10103 On mips-yeeloong, build with -march=loongson2f when this flag is
10104 available (GCC >= 4.4).
10105 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
10106 `-march=mips3'.
10107 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
10108 or otherwise add -march=mips3.
10109
898c99a2
BC
101102010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
10111
87220a68
BC
10112 Suppress shell expansion on echo '*' and echo "*" like cases.
10113 Reported by: Jordan Uggla.
898c99a2
BC
10114
10115 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
10116 string arguments before shell expansion.
10117 * tests/grub_cmd_echo.in: New testcases.
10118
4f9b406a
RM
101192010-11-07 Robert Millan <rmh@gnu.org>
10120
10121 * conf/mips-qemu-mips.rmk: Remove stale file from previous
10122 transition.
10123
80c6d25e
VS
101242010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 * grub-core/kern/emu/hostdisk.c
10127 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
10128
4a1a0153
VS
101292010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10130
10131 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
10132 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
10133 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
10134
34706ddc
VS
101352010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
10138
6972dea9
VS
101392010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 * util/grub-install.in: Replace useless recomendation to pass
10142 --modules with a recomendation to report a bug.
10143
9c693bd6
VS
101442010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10145
10146 Properly register serial terminfo.
10147 Reported by: Jordan Uggla
10148
10149 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
10150 const.
10151 (grub_serial_terminfo_output_template): Likewise.
10152 (grub_cmd_serial): Register "serial" with terminfo.
10153 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
10154 grub_serial_terminfo_output.
10155
6c9e4c0c
RM
101562010-11-05 Robert Millan <rmh@gnu.org>
10157
10158 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
10159 needed).
10160
b9b3839f
RM
101612010-11-05 Robert Millan <rmh@gnu.org>
10162
10163 On Yeeloong, pass machine type information to Linux.
10164
10165 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
10166 (LOONGSON_MACHTYPE): New macro, set to
10167 "machtype=lemote-yeeloong-2f-8.9inches".
10168 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
10169 additional argument to Linux.
10170
1a3aaff4
RM
101712010-11-04 Robert Millan <rmh@gnu.org>
10172
10173 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
10174 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
10175 (its SATA disks are detected as slaveless IDE master drives on
10176 kFreeBSD).
10177 Reported by Carsten Aulbert.
10178
a75f4f62
CW
101792010-11-02 Colin Watson <cjwatson@ubuntu.com>
10180
10181 * util/bin2h.c (main): Fix spelling error in generated output.
10182
33b4b0c6
GS
101832010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
10184
10185 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
10186
2b36fbf4
VS
101872010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
10190 vga= option is supplied.
10191
74aaf558
VS
101922010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
10195 * util/grub.d/10_kfreebsd.in: Likewise.
10196 * util/grub.d/10_linux.in: Likewise.
10197 * util/grub.d/20_linux_xen.in: Likewise.
10198
6428dec3
VS
101992010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10200
10201 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
10202 argument as an argument to no-argument option.
10203
f8729d98
VS
102042010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 * util/grub.d/10_linux.in: Add missing load_video with explicit
10207 GRUB_GFXPAYLOAD_LINUX.
10208
89d68fa6
VS
102092010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
10212
3a1197cd
VS
102132010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10214
10215 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
10216 elements with invlid index.
10217 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10218 * grub-core/disk/raid.c (insert_array): Automatically reallocate
10219 members.
10220 * include/grub/raid.h (grub_raid_member): New struct.
10221 (grub_raid_array): Transform devices and start_sector into usage of
10222 grub_raid_member. All users updated
10223 (allocated_devs): New member.
10224
71574288
VS
102252010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10226
10227 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
10228 is modified
10229
8d40ec65
BC
102302010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
10231
10232 NetBSD build fix for getline function conflict from gnulib.
10233
10234 * Makefile.util.def (libgrubkern.a): New library for grub kernel
10235 components that depend on gnulib headers.
10236 (libgrubmods.a): Renamed from earlier libgrub.a.
10237 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
10238
95b9257e
VS
102392010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
10242 install rather than creating a broken install.
10243
26c53dc6
VS
102442010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * util/grub-setup.c (argp): Remove misleading example of installing to
10247 a partition.
10248
4171b3c5
VS
102492010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 * util/grub-setup.c (setup): Clarify the error message.
10252
18568d18
VS
102532010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10254
10255 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
10256
4f6a2e21
VS
102572010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10258
10259 * grub-core/kern/emu/misc.c
10260 (grub_make_system_path_relative_to_its_root)
10261 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
10262
102632010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
10264
10265 * grub-core/kern/emu/misc.c
10266 (grub_make_system_path_relative_to_its_root): Revert r2882.
10267
e138c458
VS
102682010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
10269
10270 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
10271 useless field head. All users updated.
10272 (free_subchunk): Correct handling of IN_REGION subchunk.
10273
0cbcdf0e
CW
102742010-10-22 Colin Watson <cjwatson@ubuntu.com>
10275
10276 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
10277 (Supported kernels): Likewise.
10278
b65ea155
GS
102792010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
10280
10281 Make mktemp invocations portable.
10282
10283 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
10284 exit if mktemp fails.
10285 * tests/grub_script_blockarg.in: Likewise.
10286 * tests/partmap_test.in: Likewise.
10287 * tests/util/grub-shell-tester.in: Likewise.
10288 * tests/util/grub-shell.in: Likewise.
10289 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10290 * Makefile.am: Likewise, and chain shell commands with `&&'
10291 instead of ';'.
10292 * util/grub-mkrescue.in: Use the same explicit template as above, and
10293 exit if mktemp fails.
10294
05f43cdd
BC
102952010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
10296
10297 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
10298 Linux kernel, reported by Dennis Schridde.
10299
800e6a9b
SJ
103002010-10-17 Szymon Janc <szymon@janc.net.pl>
10301
10302 * grub-core/normal/auth.c (grub_auth_check_authentication):
10303 Set-but-not-used variable removed.
10304
d82df574
VS
103052010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 * docs/grub.texi (GNU/Linux): Document APM unavailability with
10308 32-bit linux protocol.
10309
7bced458
VS
103102010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
10313 cursor shape for sanity.
10314
5b027690
VS
103152010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 * docs/grub.texi (Installation): Document buggy BIOS install.
10318
ba5f65cf
VS
103192010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * docs/grub.texi (Installation): Indent.
10322
fdf2ec9c
VS
103232010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10324
10325 * util/grub-setup.c (setup): New parameter allow_floppy.
10326 (arguments): New member allow_floppy.
10327 (argp_parser): Handle --allow-floppy.
10328 (main): Pass allow_floppy.
10329 * util/grub-install.in: New option --allow-floppy passed though to
10330 grub-setup.
10331
861dfd4c
VS
103322010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10333
10334 * util/grub-install.in: Handle partitionless disks.
10335
f77a8c24
VS
103362010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10337
10338 * util/grub-setup.c (setup): Don't clean blocklists before readability
10339 verfification.
10340
27d9ee32
VS
103412010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10342
10343 * docs/grub.texi (Installation): Document embedding zone. Remove
10344 obsolete grub-install example.
10345
6bdda8f8
SJ
103462010-10-16 Szymon Janc <szymon@janc.net.pl>
10347
10348 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
10349 Set-but-not-used variable ifdef'ed.
10350 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
10351 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
10352 variable removed.
10353 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
10354 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
10355 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
10356 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
10357 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
10358 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
10359 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
10360 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
10361 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
10362 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
10363 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
10364 Likewise.
10365
e19b016b
VS
103662010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
10369 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
10370 enum value.
10371
6c8d3002
VS
103722010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10373
10374 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
10375 synonym to _S5_. Needed for some DSDTs.
10376
c32b51c9
VS
103772010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10378
10379 Userspace ACPI parser debugging.
10380
10381 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
10382 headers and add relevant defines. Don't include standard headers.
10383 (main) [GRUB_DSDT_TEST]: New function.
10384 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
10385 Don't declare functions.
10386
fbfbeb39
VS
103872010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10388
10389 Remove dead grub_efi_mm_fini.
10390
10391 * grub-core/kern/efi/mm.c (allocated_page): Removed.
10392 (ALLOCATED_PAGES_SIZE): Likewise.
10393 (MAX_ALLOCATED_PAGES): Likewise.
10394 (allocated_pages): Likewise.
10395 (grub_efi_allocate_pages): Don't record allocated pages.
10396 (grub_efi_free_pages): Likewise.
10397 (grub_efi_mm_init): Likewise.
10398 (grub_efi_mm_fini): Removed.
10399
65f7ed7c
VS
104002010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10401
10402 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
10403 (grub_efi_mm_init): Take into account the memory map size increase.
10404
24977b44
VS
104052010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10406
10407 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
10408 (serial_hw_put): Wait based on real time rather than port reads. Don't
10409 roken ports.
10410 * include/grub/serial.h (grub_serial_port): New field broken.
10411
1eb01cd2
RM
104122010-10-16 Robert Millan <rmh@gnu.org>
10413
10414 * grub-core/kern/emu/misc.c
10415 (grub_make_system_path_relative_to_its_root): Fix premature return
10416 when processing non-root ZFS filesystems.
5f8b440b 10417 Reported by Sergio Talens-Oliag.
1eb01cd2 10418
2d5fed60
RM
104192010-10-15 Robert Millan <rmh@gnu.org>
10420
10421 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
10422 guarantee compressed ones are processed first.
10423
d0f4c1ea
VS
104242010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10425
10426 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
10427 grub_efiemu_autocore.
10428
d87c681f
VS
104292010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10430
10431 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
10432 rather than 0x1b.
10433 (grub_console_getkey): Use correct jae opcode rather than ja.
10434
219b3564
RM
104352010-10-12 Robert Millan <rmh@gnu.org>
10436
10437 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
10438 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
10439 variable. All references updated.
10440
10441 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
10442
20c6bb7e
VS
104432010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
10444
10445 Correctly distinguish mdraid flavours.
10446
10447 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
10448 (insert_array): New argument raid.
10449 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
10450 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
10451 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
10452
74baff84
VS
104532010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
10456 handling of special keys.
10457
3ef068df 104582010-10-02 Aleš Nesrsta <starous@volny.cz>
10459
c7980ad9
VS
10460 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
10461 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 10462
a9455194 104632010-10-02 Aleš Nesrsta <starous@volny.cz>
10464
c7980ad9
VS
10465 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
10466 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
10467 users updated.
a9455194 10468 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 10469 Use right endpoint when querying descriptor.
a9455194 10470
441cfe65
VS
104712010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 Clear out 0x80 color bit on EFI.
10474 Tested by: decoder
10475 Reported by: decoder and meta tech.
10476
10477 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
10478 (grub_console_setcolorstate): Clear out 0x80 bit.
10479 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
10480 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
10481 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
10482
bf26bcc4
VS
104832010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
10484
10485 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
10486 Set to "auto".
10487
6e3c515d
VS
104882010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
10491 mo_file after freeing.
10492
e6d983ba
VS
104932010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
10496
74ccb5b5
VS
104972010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10498
10499 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
10500 flags.
10501
17821956
VS
105022010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
10505 usage.
10506
ee74fa48
VS
105072010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
10508
10509 Put terminfo into core on ieee1275 and yeeloong (needed for console).
10510
10511 * gentpl.py: New groups terminfoinkernel and terminfomodule.
10512 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
10513 and terminfo.h when needed.
10514 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
10515 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
10516 (terminfo): Enable only on terminfokernel.
10517 (extcmd): Likewise.
10518 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
10519 * include/grub/lib/arg.h: Likewise.
10520 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
10521 incorrect usage of ->.
10522
aa438e68
VS
105232010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10524
10525 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
10526 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
10527
57994012
VS
105282010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10529
10530 Fix coreboot compilation.
10531
10532 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10533 Take VBE info into account even if only text is supported.
10534 (fill_vbe_info): Take into account the case when only VGA text
10535 is supported.
10536 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
10537 on coreboot, multiboot and qemu.
10538
2a406611
VS
105392010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10540
10541 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
10542 debug messages.
10543 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
10544
d33613fc
VS
105452010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
10548 parameters.
10549
44a1b432
VS
105502010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10551
10552 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
10553 if they were BSD-style.
10554
edde54e6
VS
105552010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 * grub-core/boot/i386/pc/lnxboot.S: Replace
10558 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
10559 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
10560
b65830fa
VS
105612010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10562
10563 Write embedding zone using Reed-Solomon.
10564
10565 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
10566 * grub-core/Makefile.am (rs_decoder.S): New target.
10567 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
10568 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
10569 (multiboot): Move to RS part.
10570 (post_reed_solomon): New label.
10571 (grub_boot_drive): Move to non-RS part since it's modified in memory
10572 on boot.
10573 Include rs_decoder.S.
10574 * grub-core/lib/reed_solomon.c: New file.
10575 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
10576 New definition.
10577 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
10578 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
10579 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
10580 * include/grub/partition.h (grub_partition_map): Change prototype of
10581 embed to allow returning additional sectors.
10582 * include/grub/reed_solomon.h: New file.
10583 * util/grub-setup.c (setup): Handle Reed-Solomon.
10584
0b4b227f
CW
105852010-09-28 Colin Watson <cjwatson@ubuntu.com>
10586
10587 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10588 i386 and x86-64 definedness tests.
10589
f772623b
YB
105902010-09-27 Yves Blusseau <blusseau@zetam.org>
10591
10592 Fix generation of kernel_syms.lst
10593
10594 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
10595 ASM_PREFIX
10596
8e57a6ca
RM
105972010-09-26 Robert Millan <rmh@gnu.org>
10598
10599 Support degraded ZFS arrays in "grub-probe -t device" resolution.
10600
10601 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
10602 the pool is an array of devices, iterate through it and return the
10603 first device that passes a stat() test (instead of blindly returning
10604 the first one).
10605
f9130836
RM
106062010-09-26 Robert Millan <rmh@gnu.org>
10607
10608 Build fixes for GNU/kFreeBSD.
10609
10610 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
10611 to programs that require ZFS conversion.
10612 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
10613 kernels that don't have FLOPPY_MAJOR.
10614
96510faf
BC
106152010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10616
10617 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
10618
449333eb
BC
106192010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10620
10621 Fix grub-emu build.
10622
10623 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
10624 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
10625 mdraid09 and mdraid1x.
10626
e1fd1939
CW
106272010-09-24 Colin Watson <cjwatson@ubuntu.com>
10628
10629 Re-enable grub-extras.
10630
10631 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
10632 avoid confusing Automake. Run autogen only twice, once for the top
10633 level and once for grub-core. Add Makefile.util.def and
10634 Makefile.core.def from extra modules to the appropriate autogen
10635 invocations. If Makefile.common exists in an extra module, include
10636 it in both Makefile.util.am and grub-core/Makefile.core.am;
10637 similarly, include any Makefile.util.common file in Makefile.util.am
10638 and any Makefile.core.common file in grub-core/Makefile.core.am.
10639 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
10640 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
10641 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
10642 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
10643
10644 * gentpl.py (gvar_add): Turn GVARS into a set.
10645 (global_variable_initializers): Sort global variables on output.
10646 (vars_init): New function.
10647 (first_time): Likewise.
10648 (library): Ensure that non-global variable initialisations are
10649 emitted before the first time we emit code for a library block.
10650 Append to variables rather than setting them. Only emit
10651 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
10652 each conditional path.
10653 (program): installdir() emits an Autogen macro, so must be passed to
10654 var_add rather than gvar_add.
10655 (data): Likewise.
10656 (script): Likewise.
10657 (rules): New function, centralising handling for different target
10658 types. Set up Guile association lists for first_time and vars_init,
10659 and send most output to a diversion so that variable initialisations
10660 can be emitted first.
10661 (module_rules): Use new rules function.
10662 (kernel_rules): Likewise.
10663 (image_rules): Likewise.
10664 (library_rules): Likewise.
10665 (program_rules): Likewise.
10666 (script_rules): Likewise.
10667 (data_rules): Likewise.
10668
10669 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
10670
10671 * .bzrignore: Add contrib and grub-core/contrib. Remove
10672 grub-core/Makefile.gcry.am.
10673
1d12cf29
YB
106742010-09-24 Yves Blusseau <blusseau@zetam.org>
10675
10676 * grub-core/lib/LzFind.c: Add missing include.
10677 * grub-core/lib/LzmaEnc.c: Likewise.
10678 * grub-core/script/lexer.c: Likewise.
10679 * grub-core/script/yylex.l: Likewise.
10680 * util/grub-macho2img.c: Likewise.
10681 * util/grub-menulst2cfg.c: Likewise.
10682 * util/grub-mklayout.c: Likewise.
10683 * util/grub-mkpasswd-pbkdf2.c
10684 * util/grub-mkrelpath.c: Likewise.
10685 * util/resolve.c: Likewise.
10686
dd363028
BC
106872010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
10688
10689 * Makefile.util.def (example_unit_test): Add
10690 grub-core/gnulib/libgnu.a.
10691
f5a109e2
GS
106922010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
10693
10694 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
10695
6d0fa83c
VS
106962010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10697
10698 Support xz compression on yeeloong.
10699
10700 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
10701 * configure.ac: Check for LZMA.
10702 * grub-core/Makefile.core.def (xz_decompress): New target.
10703 (none_decompress): Likewise.
10704 * grub-core/boot/decompressor/minilib.c: New file.
10705 * grub-core/boot/decompressor/none.c: Likewise.
10706 * grub-core/boot/decompressor/xz.c: Likewise.
10707 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
10708 * grub-core/kern/mips/cache_flush.S: Likewise.
10709 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
10710 * grub-core/kern/mips/startup.S: Move first stage to ...
10711 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
10712 nomacro.
10713 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
10714 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
10715 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
10716 Allocate statically.
10717 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
10718 Allocate statically or use scratch. Don't check CRC32.
10719 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
10720 Allocate statically. Don't check CRC32.
10721 * include/grub/decompressor.h: New file.
10722 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
10723 Removed.
10724 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
10725 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
10726 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
10727 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
10728 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
10729 * util/grub-mkimage.c (grub_compression_t): New type.
10730 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
10731 (image_target_desc): New field default_compression.
10732 (image_targets): Adjust yeeloong targets.
10733 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
10734 (compress_kernel): New parameter comp.
10735 (generate_image): Likewise. Handle new compression case.
10736 (options): New option --compression
10737 (help): Likewise.
10738 (main): Handle new option.
10739
1b655af6
GS
107402010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
10741
10742 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
10743
8f03f0b5
CW
107442010-09-22 Colin Watson <cjwatson@ubuntu.com>
10745
10746 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10747 typo in __i386__ conditional.
10748
7835dfd3
VS
107492010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10750
10751 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
10752 include.
10753
e255597e
VS
107542010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10755
6d0fa83c 10756 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
10757
10758 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
10759 new tags as supported.
10760 (acpiv2_size): New function.
10761 (grub_multiboot_get_mbi_size): Take new tags into account.
10762 (grub_multiboot_make_mbi): Add new tags.
10763 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 10764
6cc14051 107652010-09-21 Aleš Nesrsta <starous@volny.cz>
10766
10767 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
10768 Added missing configuration of USB device.
10769
df7769d8
CW
107702010-09-21 Colin Watson <cjwatson@ubuntu.com>
10771
10772 * grub-core/normal/menu_entry.c (run): Make sure we always return
10773 a value.
10774
b031012d
CW
107752010-09-21 Colin Watson <cjwatson@ubuntu.com>
10776
10777 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
10778 NumberOfPages is UINT64 according to the UEFI specification, not
10779 UINTN. Fix printf format.
10780
174de8f3
CW
107812010-09-21 Colin Watson <cjwatson@ubuntu.com>
10782
10783 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
10784 `err' to grub_usb_err_t.
10785 Reported and tested by: KESHAV P.R.
10786
d7dbe923
CW
107872010-09-21 Colin Watson <cjwatson@ubuntu.com>
10788
10789 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
10790 tpart non-const, so that we can assign to it. (Since this is a
10791 typedef, the constness refers to the pointer rather than what it
10792 points to.)
10793
8d5e2af3
CW
107942010-09-21 Colin Watson <cjwatson@ubuntu.com>
10795
10796 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
10797 $(top_srcdir)/grub-core/gnulib as well as
10798 $(top_builddir)/grub-core/gnulib.
10799 Reported by: KESHAV P.R.
10800
5c527783
CW
108012010-09-21 Colin Watson <cjwatson@ubuntu.com>
10802
10803 * util/grub-install.in: Fix the bootloader ID option to be
10804 consistently --bootloader-id, not --bootloader_id.
10805 Reported by: KESHAV P.R.
10806
d309a16e
CW
108072010-09-21 Colin Watson <cjwatson@ubuntu.com>
10808
10809 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
10810 check hash checksum." consistently translatable.
10811
b830cd16
YB
108122010-09-21 Yves Blusseau <blusseau@zetam.org>
10813
10814 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
10815 $(top_builddir).
10816
c4fe27a8
CW
108172010-09-21 Colin Watson <cjwatson@ubuntu.com>
10818
10819 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
10820 (GRUB_MOD_INIT): Register sha1sum command.
10821 (GRUB_MOD_FINI): Unregister sha1sum command.
10822
a4c1d277
YB
108232010-09-21 Yves Blusseau <blusseau@zetam.org>
10824
10825 Keep boot and grub directory names in sync with utils scripts
10826
10827 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
10828 * config.h.in: Add previous macros.
10829 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
10830 * util/grub-install.in: Use $bootdir and $grubdir variables.
10831
4eff79d2
CW
108322010-09-21 Colin Watson <cjwatson@ubuntu.com>
10833
10834 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
10835 convert partition names to disk names if the new `convert' parameter
10836 is set.
10837 (grub_util_biosdisk_get_grub_dev): If opening the disk device
10838 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
10839 disk in its own right. This can happen with Xen disk images.
10840
934d7e44
YB
108412010-09-21 Yves Blusseau <blusseau@zetam.org>
10842
10843 * util/grub-editenv.c: Update strings to avoid warnings when generating
10844 grub.pot file.
10845 * util/grub-setup.c: Likewise.
934d7e44 10846
df3367cc
VS
108472010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 * configure.ac: Change version to 1.99~beta0.
10850
77a94e98
VS
108512010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
10854 Add BADRAM.
10855 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
10856 Likewise.
10857 * include/multiboot.h: Resynced with specification.
10858 * include/multiboot2.h: Likewise.
10859
269004c1
CW
108602010-09-21 Colin Watson <cjwatson@ubuntu.com>
10861
10862 Fix po directory handling.
10863
10864 * configure.ac: Create po/Makefile.in rather than po/Makefile.
10865 * grub-core/gnulib/Makefile.am: Import gettext module.
10866 * m4/gnulib-cache.m4: Likewise.
10867 * m4/gnulib-comp.m4: Likewise.
10868 * m4/gettext.m4: New file, from gnulib.
10869 * m4/glibc2.m4: Likewise.
10870 * m4/iconv.m4: Likewise.
10871 * m4/intdiv0.m4: Likewise.
10872 * m4/intl.m4: Likewise.
10873 * m4/intldir.m4: Likewise.
10874 * m4/intlmacosx.m4: Likewise.
10875 * m4/intmax.m4: Likewise.
10876 * m4/inttypes-pri.m4: Likewise.
10877 * m4/lcmessage.m4: Likewise.
10878 * m4/lib-ld.m4: Likewise.
10879 * m4/lib-link.m4: Likewise.
10880 * m4/lib-prefix.m4: Likewise.
10881 * m4/lock.m4: Likewise.
10882 * m4/nls.m4: Likewise.
10883 * m4/po.m4: Likewise.
10884 * m4/printf-posix.m4: Likewise.
10885 * m4/progtest.m4: Likewise.
10886 * m4/threadlib.m4: Likewise.
10887 * m4/uintmax_t.m4: Likewise.
10888 * m4/visibility.m4: Likewise.
10889 * po/Makefile.am: Remove.
10890 * po/Makefile.in.in: New file, from gettext.
10891 ($(DOMAIN).pot-update): Support POTFILES-shell.
10892 * po/Makevars: New file.
10893 * po/POTFILES-shell: Rename to ...
10894 * po/POTFILES-shell.in: ... this. Update.
10895 * po/POTFILES: Rename to ...
10896 * po/POTFILES.in: ... this. Update.
10897 * po/Rules-quot: New file, from gettext.
10898 * po/boldquot.sed: Likewise.
10899 * po/en@boldquot.header: Likewise.
10900 * po/en@quot.header: Likewise.
10901 * po/insert-header.sin: Likewise.
10902 * po/quot.sed: Likewise.
10903 * po/remove-potcdate.sin: Likewise.
10904
3e0fa5d0
VS
109052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
10908
ade9bd66
VS
109092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * util/grub.d/20_linux_xen.in: Use submenus.
10912
fc55cc4c
VS
109132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10914
10915 Support submenus.
10916
10917 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
10918 parameter submenu. All users updated.
10919 * grub-core/normal/main.c (free_menu): Rename to ...
10920 (grub_normal_free_menu): ... this. Made global.
10921 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
10922 if requested.
10923 * grub-core/normal/menu_entry.c (screen): New field submenu.
10924 (make_screen): Set submenu.
10925 (run): Open new context if requested.
10926 * include/grub/menu.h (grub_menu_entry): New field submenu.
10927 * include/grub/normal.h (grub_normal_free_menu): New proto.
10928
600cedf7
VS
109292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 Menu entries extractor.
10932
10933 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
10934 variants.
10935 (GRUB_MOD_INIT): Register new variants.
10936 (GRUB_MOD_FINI): Unregister new variants.
10937 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
10938 into grub_cmd_legacy_source.
10939 (grub_cmd_legacy_source): Implement extractor variants.
10940 (GRUB_MOD_INIT): Register new variants.
10941 (GRUB_MOD_FINI): Unregister new variants.
10942 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
10943 as an extractor.
10944 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
10945 search as an extractor.
10946 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
10947 test as an extractor.
10948 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
10949 as an extractor.
10950 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
10951 (grub_env_new_context): New function.
10952 (grub_env_context_open): Likewise.
10953 (grub_env_extractor_open): Likewise.
10954 (grub_env_extractor_close): Likewise.
10955 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10956 grub_extractor_level.
10957 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
10958 * include/grub/env.h (grub_env_extractor_open): New proto.
10959 (grub_env_extractor_close): Likewise.
10960 * include/grub/normal.h (grub_extractor_level): New external variable.
10961
7bda3a87
VS
109622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 Make cutmem accept a region specification.
10965 Suggested by: Samuel Thibault
10966
10967 * grub-core/mmap/mmap.c (parsemem): New function.
10968 (grub_cmd_cutmem): Handle new arguments.
10969
2ea57f88
VS
109702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10971
10972 New command cutmem.
10973
10974 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
10975 (GRUB_MOD_INIT): Register new command.
10976 (GRUB_MOD_FINI): Unregister new command.
10977
74342e31
VS
109782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 Support some annoying BSD and Minix subpartitions.
10981
10982 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
10983 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
10984 Properly handle concatenation.
10985 * grub-core/kern/device.c (grub_device_iterate): Likewise.
10986 * grub-core/normal/completion.c (iterate_partition): Likewise.
10987 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
10988 contain partition. All users updated.
10989 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
10990 struct.
10991 (grub_openbsdlabel_partition_map): Likewise.
10992 (bsdlabel_partition_map_iterate): Rename to ..
10993 (iterate_real): ... this. New arguments sector, freebsd and pmap.
10994 (bsdlabel_partition_map_iterate): New function.
10995 (netopenbsdlabel_partition_map_iterate): Likewise.
10996 (netbsdlabel_partition_map_iterate): Likewise.
10997 (openbsdlabel_partition_map_iterate): Likewise.
10998 (GRUB_MOD_INIT): Register new partmaps.
10999 (GRUB_MOD_FINI): Unregister new partmaps.
11000 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
11001 (grub_partition_msdos_iterate): ... this. All users updated.
11002 Don't support embedding other than in a minix partition.
11003 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
11004 proto.
11005 * include/grub/partition.h (grub_partition): New field msdostype.
11006 * util/grub-install.in: Handle openbsd and netbsd types being in
11007 part_bsd module.
11008
1e8d555b
VS
110092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
11012
11013 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
11014 * grub-core/Makefile.core.def (mdraid): Renamed to ...
11015 (mdraid09): ... this.
11016 (mdraid1x): New module.
11017 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
11018 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
11019
899d8af4
VS
110202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11021
11022 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
11023 vsprintf.
11024
40901acd
CW
110252010-09-20 Colin Watson <cjwatson@ubuntu.com>
11026
11027 * grub-core/commands/efi/lsefimmap.c: Correct header.
11028 * NEWS: Update.
11029
dfe3b247
CW
110302010-09-20 Colin Watson <cjwatson@ubuntu.com>
11031
11032 * util/grub-editenv.c (argp_parser): Don't pass translated strings
11033 as printf format strings; the translations might contain '%' which
11034 could cause a crash.
11035 (main): Likewise.
11036 * util/grub-fstest.c (argp_parser): Likewise.
11037 * util/grub-setup.c (argp_parser): Likewise.
11038 (main): Likewise.
11039
3286a4b4
VS
110402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11041
11042 Use argp in grub-fstest.
11043
11044 * util/grub-fstest.c: Don't include getopt.h.
11045 Include argp.h.
11046 (root): New variable.
11047 (args_count): Likewise.
11048 (nparm): Likewise.
11049 (num_disks): Likewise.
11050 (images): Likewise.
11051 (cmd): Likewise.
11052 (debug_str): Likewise.
11053 (args): Likewise.
11054 (options): Transformed to argp.
11055 (usage): Removed.
11056 (main): Split argument parsing into ...
11057 (argp_parser): ... this. Changed to argp format.
11058 (argp): New variable.
11059 (main): Use argp_parse.
11060
3dccbe4b
TG
110612010-09-20 Tristan Gingold <gingold@free.fr>
110622010-09-20 Robert Millan <rmh.grub@aybabtu.com>
110632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * grub-core/commands/efi/lsefimmap.c: New file.
11066 * grub-core/Makefile.core.def (lsefimmap): New module.
11067 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
11068
38c259a7
VS
110692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11070
11071 Pause the execution (10s max) if any errors are displayed so the user
11072 has a chance to see them.
11073
11074 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
11075 (grub_print_error): Increment grub_err_printed_errors.
11076 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
11077 execution if any errors were displayed.
11078 (show_menu): Remove old code for pause.
11079 * grub-core/normal/menu_entry.c (run): Likewise.
11080 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
11081 users updated.
11082 (grub_normal_get_char_counter): Likewise.
11083 * include/grub/err.h (grub_err_printed_errors): New external variable.
11084 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
11085
f218b09c
VS
110862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11087
11088 Support multiboot VBE info.
11089
11090 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11091 Take VBE info into account.
11092 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
11093 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
11094 Call fill_vbe_info when appropriate.
11095 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
11096 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
11097 as supported.
11098 (grub_multiboot_get_mbi_size): Take new tags into account.
11099 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
11100 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
11101 Call fill_vbe_tag when appropriate.
11102 (grub_multiboot_make_mbi): Properly align tags.
11103 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
11104 function.
11105 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
11106 proto.
11107 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
11108
a9cc5438
VS
111092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11110
11111 Suport manual terminal geometry specification.
11112
11113 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
11114 Save state in grub_ofconsole_terminfo_output.
11115 (grub_ofconsole_term): Use grub_terminfo_getwh.
11116 (grub_ofconsole_getwh): Removed.
11117 * grub-core/term/serial.c (grub_serial_getwh): Removed.
11118 (grub_serial_term): Use grub_terminfo_getwh.
11119 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
11120 (options): New struct.
11121 (OPTION_*): New enum.
11122 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
11123 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
11124 width and height.
11125 (grub_terminfo_getwh): New proto.
11126 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
11127
1a8fed20
VS
111282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11129
11130 Handle legacy "terminal" command.
11131
11132 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
11133 and FLAG_TERMINAL.
11134 (legacy_commands): Add terminal and title.
11135 (grub_legacy_parse): Handle terminal. Simplify title handling.
11136
41e9c57d
VS
111372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
11140 parameters overflow.
11141
61c874c5
CW
111422010-09-20 Colin Watson <cjwatson@ubuntu.com>
11143
11144 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
11145 widthspec.h.
11146
11147 * docs/grub.texi (Shell-like scripting): Document `!'.
11148 (Network): Simplify using new i386-pc-pxe format. Mention
11149 grub-mknetdir.
11150
11151 * NEWS: Update.
11152
943682b4
CW
111532010-09-20 Colin Watson <cjwatson@ubuntu.com>
11154
11155 * Makefile.am (SUBDIRS): Restore "."; it's important to force
11156 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
11157 when needed.
11158
6d3d698d
CW
111592010-09-20 Colin Watson <cjwatson@ubuntu.com>
11160
11161 * grub-core/commands/efi/lsefisystab.c: Correct header.
11162 * grub-core/commands/efi/lssal.c: Likewise.
11163 * grub-core/commands/testload.c: Likewise.
11164
c982589f
CW
111652010-09-20 Colin Watson <cjwatson@ubuntu.com>
11166
11167 * util/grub-mkrescue.in: Add explicit root argument to --set to
11168 prevent the UUID being interpreted as an argument to --set (matches
11169 previous change to prepare_grub_to_access_device).
11170
a63c31b6
CW
111712010-09-20 Colin Watson <cjwatson@ubuntu.com>
11172
11173 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
11174 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
11175 the verbosity of later #ifs.
11176 (find_partition_start): Define this function on FreeBSD too.
11177 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
11178 function.
11179 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
11180 on FreeBSD.
11181
6439b8ee
YB
111822010-09-20 Yves Blusseau <blusseau@zetam.org>
11183
11184 * util/grub-editenv.c: Use argp instead of getopt.
11185
c5930ec8
YB
111862010-09-20 Yves Blusseau <blusseau@zetam.org>
11187
11188 * util/grub-setup.c: Use argp instead of getopt.
11189
15c69261
YB
111902010-09-20 Yves Blusseau <blusseau@zetam.org>
11191
11192 Use gnulib-tool to create gnulib source files.
11193
11194 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
11195 grub-core/gnulib directories
11196 * .bzignore: Add **/.deps and autogenerated gnulib files
11197 * configure.ac: Assign auxiliary directory to build-aux, add invocation
11198 of gnulib macros, add grub-core/gnulib/Makefile
11199 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
11200 include m4 directory to aclocal.
11201 * Makefile.util.def: Remove direct compilation of gnulib source files
11202 and use the new grub-core/gnulib/libgnu.a.
11203 * build-aux/config.rpath: move config.rpath from top directory to
11204 build-aux
11205 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
11206 in gnulib headers
11207 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
11208 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
11209 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
11210 header.
11211 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
11212 string.
11213
e511c9f5
YB
112142010-09-20 Yves Blusseau <blusseau@zetam.org>
11215
11216 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
11217 grub-core/genmod.sh and grub-core/gensyminfo.sh
11218
c2dede05
BC
112192010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
11220
11221 Add a test for echo command options.
11222
11223 * tests/grub_cmd_echo.in: New test.
11224 * Makefile.util.def: Rules for new test.
11225
c55f5018
SJ
112262010-09-20 Szymon Janc <szymon@janc.net.pl>
11227
11228 Remove crc.mod and move crc command to hashsum.mod.
11229 Remove lib/crc.c - users updated to use gcrypt implementation.
11230
11231 * grub-core/commands/crc.c: Removed.
11232 * grub-core/Makefile.core.def (crc): Module removed.
11233 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
11234 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
11235 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
11236 * grub-core/lib/crc.c: Removed.
11237 * include/grub/lib/crc.h: Removed.
11238 * Makefile.util.def (crc): Remove lib/crc.c
11239 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
11240 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
11241 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
11242 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
11243 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
11244 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
11245
e0337366
VS
112462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
11249
742f9232
VS
112502010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 Split config.h for util and core.
11253
11254 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
11255 (ADDR32): Likewise.
11256 (DATA32): Likewise.
11257 (BSS_START_SYMBOL): Likewise.
11258 (END_SYMBOL): Likewise.
11259 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
11260 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
11261 * config.h.in: New file.
11262 * configure.ac: Use config-util.h as config define file.
11263 Rename MACHINE into GRUB_MACHINE. All users updated.
11264 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
11265 updated.
11266 (NESTED_FUNC_ATTR): Likewise.
11267 Substitue new variables.
11268 (COND_HAVE_ASM_USCORE): New conditional.
11269 * grub-core/Makefile.am (ASM_PREFIX): New variable.
11270 (kernel_syms.lst): Use ASM_PREFIX.
11271 * grub-core/kern/emu/console.c: Include config-util.h.
11272 * grub-core/kern/emu/misc.c: Likewise.
11273 * grub-core/kern/emu/mm.c: Likewise.
11274 * include/grub/emu/misc.h: Likewise.
11275 * include/grub/libgcc.h: Likewise.
11276
39feb0e8
VS
112772010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
11280 constants usage.
11281 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
11282 Fix GRUB_TERM_KEY_* constants usage.
11283 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
11284
9af6dac3
VS
112852010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11286
11287 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
11288 print pointer.
11289 * grub-core/bus/usb/uhci.c: Remove empty define.
11290 (grub_uhci_check_transfer): Add missing cast.
11291 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
11292 print pointer.
11293 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
11294 PRIuGRUB_SIZE.
11295 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
11296
d6d94820
VS
112972010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11298
11299 * grub-core/Makefile.core.def (legacycfg): Add
11300 lib/i386/pc/vesa_modes_table.c on emu.
11301
3572f2b6
BC
113022010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
11303
11304 Reduce number of temporary files generated by build system.
11305
11306 * grub-core/gencmdlist.sh: Removed.
11307 * grub-core/genfslist.sh: Removed.
11308 * grub-core/genhandlerlist.sh: Removed.
11309 * grub-core/genmodsrc.sh: Removed.
11310 * grub-core/genpartmaplist.sh: Removed.
11311 * grub-core/genparttoollist.sh: Removed.
11312 * grub-core/gentermiinallist.sh: Removed.
11313 * grub-core/genvideolist.sh: Removed.
11314
11315 * grub-core/genmod.sh.in: New file.
11316 * grub-core/gensyminfo.sh.in: New file.
11317
11318 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
11319 * conf/Makefile.extra-dist: Update with new files.
11320 * gentpl.py: Remove rules related to unnecessary temporary files.
11321 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
11322 and und-* files.
11323 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
11324 genmod.sh scripts.
11325 * grub-core/bus/usb/uhci.c: Remove empty #define.
11326 * grub-core/genmoddep.awk: Updated with new syminfo format.
11327 * util/bash-completion.d/Makefile.am: Add config.log to
11328 CLEANFILES.
11329
c836b030
YB
113302010-09-19 Yves Blusseau <blusseau@zetam.org>
11331
11332 * Makefile.util.def: Add forgotten $(LIBINTL) library.
11333
2f4e8053
BC
113342010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
11335
11336 * util/grub-mkconfig.in: Check the config script for syntax errors
11337 before saving.
11338
75831c34
CW
113392010-09-19 Colin Watson <cjwatson@ubuntu.com>
113402010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11341
11342 * Makefile.util.def (grub-install): Use util/grub-install.in on all
11343 platforms.
11344 * util/grub-install.in: Add EFI and IEEE1275 support.
11345 * util/i386/efi/grub-install.in: Removed.
11346 * util/ieee1275/grub-install.in: Likewise.
11347
eaf41b25
VS
113482010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11349
11350 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
11351 (grub_cmd_cmosclean): Likewise.
11352 (GRUB_MOD_INIT): Register command cmosclean.
11353 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
11354 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
11355
1a9130dd
CPE
113562010-09-18 Carles Pina i Estany <carles@pina.cat>
113572010-09-18 Aleš Nesrsta <starous@volny.cz>
113582010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11359
11360 Add keyboard layouts support.
11361
11362 * Makefile.util.def (grub-mklayout): New file.
11363 (grub-kbdcomp): New script.
11364 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
11365 Add keyboard_layouts.h.
11366 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
11367 commands/boot.c on yeeloong.
11368 (keylayouts): New module.
11369 * grub-core/bus/usb/ohci.c
11370 * grub-core/bus/usb/uhci.c
11371 * grub-core/bus/usb/usbhub.c (rescan): New variable.
11372 (grub_usb_add_hub): Poll interrupt pipe for device handling.
11373 (attach_root_port): Likewise.
11374 (poll_nonroot_hub): Likewise.
11375 (grub_usb_poll_devices): Likewise.
11376 (detach_device): Close transfer.
11377 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
11378 function.
11379 (grub_usb_bulk_setup_readwrite): Likewise.
11380 (grub_usb_bulk_finish_readwrite): Likewise.
11381 * grub-core/commands/keylayouts.c: New file.
11382 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
11383 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
11384 aliases.
11385 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
11386 support scancode 2.
11387 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
11388 * include/grub/keyboard_layouts.h: New file.
11389 * util/grub-mklayout.c: New file.
11390 * util/grub-kbdcomp.in: Likewise.
11391
a1d84a5e
VS
113922010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11393
11394 Unify memory types.
11395
11396 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
11397 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
11398 types.
11399 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
11400 (grub_upper_mem): Likewise.
11401 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
11402 * include/grub/memory.h (grub_memory_type_t): New enum.
11403 All users updated.
11404
9696382e
VS
114052010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11406
11407 * grub-core/Makefile.core.def (lsapm): New module.
11408 * grub-core/commands/i386/pc/lsapm.c: New file.
11409 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
11410 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
11411 Likewise.
11412 * include/grub/i386/pc/apm.h: New file.
11413 * include/multiboot.h (multiboot_apm_info): New struct.
11414
114152010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
11416
11417 GRUB-legacy configuration file support.
11418
11419 * Makefile.util.def (grub-menulst2cfg): New util.
11420 * docs/man/grub-menulst2cfg.h2m: New file.
11421 * grub-core/Makefile.core.def (legacycfg): New module.
11422 * grub-core/commands/legacycfg.c: New file.
11423 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
11424 (grub_normal_add_menu_entry): ... this.
11425 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
11426 (grub_normal_set_password): ...this.
11427 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
11428 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
11429 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
11430 * grub-core/lib/legacy_parse.c: New file.
11431 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
11432 * include/grub/i386/pc/vesa_modes_table.h: New file.
11433 * include/grub/legacy_parse.h: Likewise.
11434 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
11435 * util/grub-menulst2cfg.c: New file.
11436
bf8d1338
CW
114372010-09-17 Colin Watson <cjwatson@ubuntu.com>
11438
11439 * grub-core/kern/emu/hostdisk.c
11440 (convert_system_partition_to_system_disk): Initialise node.
11441
9c0bad2e
CW
114422010-09-17 Colin Watson <cjwatson@ubuntu.com>
11443
11444 * grub-core/kern/emu/hostdisk.c
11445 (convert_system_partition_to_system_disk): Fix devmapper memory pool
11446 leak.
11447 Reported and based on patch by: Modestas Vainius.
11448
a939d135
CW
114492010-09-17 Colin Watson <cjwatson@ubuntu.com>
11450
11451 Fix DM-RAID probing with recent versions of device-mapper udev
11452 rules.
11453
11454 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
11455 canonicalise device paths under /dev/mapper/.
11456 (convert_system_partition_to_system_disk): Compare the
11457 uncanonicalised path to /dev/mapper/ rather than the canonicalised
11458 path, since device nodes under /dev/mapper/ are often symlinks.
11459
0f7ee3c9
YB
114602010-09-17 Yves Blusseau <blusseau@zetam.org>
11461
11462 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
11463
10854d0d
YB
114642010-09-16 Yves Blusseau <blusseau@zetam.org>
11465
11466 * configure.ac: Avoid some annoying error messages if freetype-config
11467 program is not found.
11468
108538d8
CW
114692010-09-16 Colin Watson <cjwatson@ubuntu.com>
11470
11471 Support RAID on virtio devices, and others.
11472
11473 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
11474 Rename to ...
11475 [__MINGW32__] (grub_find_device): ... this.
11476 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
11477 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
11478 reasonable default if dir is NULL.
11479 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
11480 ...
11481 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
11482 (grub_guess_root_device): Update callers.
11483 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
11484
11485 * util/raid.c (grub_util_getdiskname): Remove.
11486 (grub_util_raid_getmembers): Use grub_find_device rather than
11487 grub_util_getdiskname.
11488
e5bfc130
CW
114892010-09-16 Colin Watson <cjwatson@ubuntu.com>
11490
11491 * docs/grub.texi (serial): Remove obsolete comment about GRUB
11492 needing to be compiled with serial support.
11493 (ls): Indicate that multiple files are accepted.
11494 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
11495 indicate that multiple files are accepted.
11496
be458ae2
CW
114972010-09-16 Colin Watson <cjwatson@ubuntu.com>
11498
11499 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
11500 libgrub_a_init.c, and util/bash-completion.d/grub.
11501
cb731b5e
VS
115022010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11503
11504 * util/grub-setup.c (setup): Fix incorrect container semantics.
11505
35139e8a
VS
115062010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11507
11508 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
11509 misusage.
11510 Reported by: J. Nick Terry
11511
e50fca4a
VS
115122010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11513
11514 Move embedding routines to partmap sources files.
11515
11516 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
11517 [GRUB_UTIL]: New variable.
11518 (gpt_partition_map_iterate): Set part.parent.
11519 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
11520 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
11521 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
11522 New function.
11523 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
11524 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
11525 (grub_partition_map) [GRUB_UTIL]: New field embed.
11526 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
11527 (setup): Use ->embed.
11528
f00478b7
VS
115292010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11530
11531 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
11532 function.
11533 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
11534 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
11535
2b94e3ff
YB
115362010-09-15 Yves Blusseau <blusseau@zetam.org>
11537
11538 Add function to get completions from usage.
11539
11540 * util/bash-completion.d/grub-completion.bash.in: Add function to get
11541 completions from usage. Use LC_ALL=C to get options properly.
11542
2e04a006
VS
115432010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11544
11545 * grub-core/gnulib/basename-lgpl.c: Imported.
11546 * grub-core/gnulib/basename.c: Likewise.
11547 * grub-core/gnulib/dirname-lgpl.c: Likewise.
11548 * grub-core/gnulib/dirname.c: Likewise.
11549 * grub-core/gnulib/dirname.h: Likewise.
11550 * grub-core/gnulib/stripslash.c: Likewise.
11551
5dcdf93a
VS
115522010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11553
11554 * grub-core/gnulib/error.c: Resynced.
11555 * grub-core/gnulib/getopt.c: Likewise.
11556 * grub-core/gnulib/getopt_int.h: Likewise.
11557 * grub-core/gnulib/regex.h: Likewise.
11558 * grub-core/gnulib/regex_internal.c: Likewise.
11559 * grub-core/gnulib/regex_internal.h: Likewise.
11560
014f47b7
SJ
115612010-09-15 Szymon Janc <szymon@janc.net.pl>
11562
11563 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
11564 CRC calculations and validity checks.
11565 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
11566 calculations.
11567
dd521a4a
SJ
115682010-09-15 Szymon Janc <szymon@janc.net.pl>
11569
11570 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
11571
79c4eeb9
VS
115722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11573
11574 Fix incorrect echo options handling.
11575 Reported by: Yves Blusseau.
11576
11577 * include/grub/command.h (grub_command_flags_t): New flags
11578 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
11579 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
11580 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
11581
ed80f7d5
VS
115822010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
11585 users updated.
11586 (GRUB_COMMAND_FLAG_MENU): Likewise.
11587 (GRUB_COMMAND_FLAG_BOTH): Likewise.
11588 (GRUB_COMMAND_FLAG_TITLE): Removed.
11589 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
11590 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
11591 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
11592 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
11593 (grub_command_flags_t): New enum. All users updated.
11594
5fe7620a
SG
115952010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
11596
11597 Fix solaris compilation.
11598
11599 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
11600 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
11601 (grub-emu-list): Likewise.
11602
545b752f
VS
116032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11604
11605 Remove deprecated root command.
11606
11607 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
11608 updated.
11609
6c1a338c
VS
116102010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11611
11612 * util/i386/pc/grub-setup.c: Merge this ...
11613 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
11614 * util/grub-setup.c: ... into this.
11615 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
11616 New struct.
11617
116182010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
11621 possible.
11622
d2ea4551
VS
116232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11624
11625 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
11626 allocate p.
11627
3c3b5040
VS
116282010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11629
11630 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11631 explicit root argument to set to prevent UUID to be interpreted as
11632 argument to set.
11633
b71c3fae
VS
116342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
11637
275433e6
VS
116382010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11639
11640 Don't export grub_gate_a20.
11641
11642 * grub-core/kern/i386/pc/init.c: Remove leftovers.
11643 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
11644 to ...
11645 (grub_gate_a20): ... this. All users updated.
11646 * include/grub/i386/pc/init.h: Removed. All users updated.
11647
a5dbb1f1
VS
116482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 Create euro.pf2 which supports most European languages.
11651
11652 * Makefile.am (grubdata_DATA): Add euro.pf2.
11653 (euro.pf2): New target.
11654 (CLEANFILES): Add euro.pf2.
11655
62a747cb
VS
116562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11657
11658 * configure.ac: Disable emu-usb by default to prevent inadvertent
11659 device takeover.
11660
608e43b1
VS
116612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 Disable usbserial on grub-emu since our libusb code isn't good enough
11664 yet.
11665
11666 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
11667 (usbserial_pl2303): Likewise.
11668 (usbserial_ftdi): Likewise.
11669
94564f81
VS
116702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 * include/grub/disk.h (grub_disk): Remove has_partitions.
11673 All users updated.
11674 * disk/loopback.c (grub_loopback): Remove has_partitions.
11675 All users updated.
11676 (options): Remove partitions. All users updated.
11677 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
11678 * util/i386/pc/grub-setup.c (setup): copy partition table only when
11679 actual partition table is found.
11680
3352800b
VS
116812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11682
11683 Remove readability checks (too many false negatives).
11684
11685 * util/grub-install.in: Remove readability checks.
11686 * util/grub-mkconfig.in: Likewise.
11687 * util/grub.d/10_hurd.in: Likewise.
11688 * util/grub.d/10_kfreebsd.in: Likewise.
11689 * util/grub.d/10_linux.in: Likewise.
11690 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
11691 way.
11692
2419f17a
VS
116932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11694
11695 Enable acpi shutdown on all ACPI platforms.
11696
11697 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
11698 on coreboo, multiboot and EFI.
11699 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
11700 (grub_acpi_halt): Likewise.
11701 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
11702 (grub_cmd_halt): Don't call grub_acpi_halt directly.
11703 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
11704 * grub-core/lib/i386/halt.c (grub_halt)
11705 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
11706
0575c7c3
VS
117072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
11710 context.
11711
54ac3cd1
VS
117122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11713
11714 * grub-core/video/efi_gop.c: Fix over-80-chars line.
11715 * grub-core/video/efi_uga.c: Likewise.
11716
b2a30ac5
VS
117172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11718
11719 Filter devaliases and never open same device twice.
11720
11721 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
11722 (last_ihandle): Likewise.
11723 (ofdisk_hash_ent): New member shortest.
11724 (ofdisk_hash_add): Add canonical path too.
11725 (scan): New function.
11726 (grub_ofdisk_iterate): Iterate over hashed entries.
11727 (compute_dev_path): Don't add :0.
11728 (grub_ofdisk_open): Don't really open the disk.
11729 (grub_ofdisk_close): Avoid closing unrelated disk.
11730 (grub_ofdisk_read): Implement reopen logic.
11731 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
11732 New function.
11733 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
11734 New proto.
11735
fb53b340
VS
117362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 Fix sparc64.
11739
11740 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
11741 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
11742 right address. Add sparc64_ieee1275_ldflags.
11743 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
11744 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
11745 to grub_host_to_target_addr
11746 (load_image): Likewise.
11747
f452b040
VS
117482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11749
11750 * grub-core/normal/completion.c (complete_file): Handle device
11751 containing slash.
11752 Fix based on patch by Doug Nazar.
11753
9b5b2541
VS
117542010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11755
11756 grub-mknetdir script.
11757
11758 * Makefile.util.def (grub-mknetdir): New module.
11759 * tests/util/grub-shell.in: Support boot=net
11760 * util/grub-mknetdir.in: New file.
11761
9d2be652
VS
117622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11763
11764 videoinfo on non-vbe.
11765
11766 * grub-core/Makefile.core.def (vbeinfo): Removed.
11767 (vbetest): Removed.
11768 (videoinfo): New module.
11769 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
11770 * grub-core/commands/i386/pc/vbetest.c: Removed.
11771 * grub-core/commands/videoinfo.c: New file.
11772 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
11773 specification.
11774 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
11775 as vbetest.
11776 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
11777 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
11778 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
11779 mode_number. New parameter mode. All users updated.
11780 (grub_video_gop_iterate): New function.
11781 (grub_video_efi_gop): New member iterate.
11782 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
11783 (grub_vbe_set_video_mode): Remove setting useless fields.
11784 (vbe2videoinfo): New function.
11785 (grub_video_vbe_iterate): Likewise.
11786 (grub_video_vbe_setup): Use vbe2videoinfo.
11787 (grub_video_vbe_print_adapter_specific_info): New function.
11788 (grub_video_vbe_adapter): New fields iterate and
11789 print_adapter_specific_info.
11790 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
11791 All users updated.
11792 (grub_video_mode_info): New field mode_number.
11793 (grub_video_adapter): New fields iterate and
11794 print_adapter_specific_info.
11795
179503f5
TG
117962010-09-13 Tristan Gingold <gingold@free.fr>
117972010-09-13 Robert Millan <rmh.grub@aybabtu.com>
117982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11799
11800 * grub-core/commands/efi/lsefisystab.c: New file.
11801 * grub-core/commands/efi/lssal.c: Likewise.
11802 * grub-core/Makefile.core.def (lsacpi): New module.
11803 (lsefisystab): Likewise.
11804 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
11805 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
11806 (grub_efi_sal_system_table): New struct.
11807 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
11808 (grub_efi_sal_system_table_memory_descriptor): Likewise.
11809 (grub_efi_sal_system_table_platform_features): Likewise.
11810 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
11811 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
11812 (grub_efi_sal_system_table_ap_wakeup): Likewise.
11813 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
11814
cf9827de
VS
118152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11816
11817 Support explicit user claim that a device is BIOS-visible.
11818
11819 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
11820 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
11821 * grub-core/kern/emu/hostdisk.c
11822 (convert_system_partition_to_system_disk): Support mdX.
11823 (find_system_device): New parameter add. All users updated.
11824 (grub_util_biosdisk_is_present): New function.
11825 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
11826 proto.
11827
53f0eb1f
VS
118282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 Search hints support.
11831
11832 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
11833 All users updated.
11834
b23ffd70
YB
118352010-09-13 Yves Blusseau <blusseau@zetam.org>
11836
11837 Bash completion script for util commands
11838
11839 * Makefile.am: Add util/bash-completion.d directory
11840 * configure.ac: Likewise.
11841 * util/bash-completion.d/Makefile.am: New file.
11842 * util/bash-completion.d/grub-completion.bash.in: Likewise.
11843
d547dc28
VS
118442010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11845
11846 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
11847 (print_backlog): set backlog_ucs4 and backlog_glyphs.
11848 Reported by: Yves Blusseau.
11849
2fc8ccb9
VS
118502010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11851
11852 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
11853 partition size and offset.
11854
d8a84076
VS
118552010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11856
11857 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
11858
84fb3b3d
VS
118592010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11860
11861 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
11862
768ec2e2
VS
118632010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11864
11865 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
11866 (grub_xvasprintf): Likewise.
11867
4870900f
VS
118682010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11869
11870 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
11871
faca6bec
VS
118722010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11873
11874 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
11875 args ending with NULL.
11876
118772010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
11878
11879 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
11880 pointer.
11881
3c70f225
SJ
118822010-09-11 Szymon Janc <szymon@janc.net.pl>
11883
11884 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
11885
4df7996d
VS
118862010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11887
11888 Shutdown using ACPI.
11889
11890 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
11891 * grub-core/commands/acpihalt.c: New file.
11892 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
11893 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
11894 (grub_acpi_halt): New proto.
11895 (GRUB_ACPI_SLP_EN): New const.
11896 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
11897 (GRUB_ACPI_OPCODE_*): New enum.
11898 (GRUB_ACPI_EXTOPCODE_*): Likewise.
11899
126b4c32
TG
119002010-09-11 Tristan Gingold <gingold@free.fr>
119012010-09-11 Robert Millan <rmh.grub@aybabtu.com>
119022010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 * commands/lsacpi.c: New file.
11905 * grub-core/Makefile.core.def (lsacpi): New module.
11906 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
11907 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
11908 (grub_acpi_madt_entry_header): New struct.
11909 (grub_acpi_madt): Likewise.
11910 (grub_acpi_madt_entry_interrupt_override): Likewise.
11911 (grub_acpi_madt_entry_sapic): Likewise.
11912 (grub_acpi_madt_entry_lsapic): Likewise.
11913 (grub_acpi_madt_entry_platform_int_source): Likewise.
11914 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
11915 (PRIuGRUB_UINT32_T): Likewise.
11916 (PRIxGRUB_UINT64_T): Likewise.
11917
1aa4fe88
VS
119182010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11919
11920 Implement loading palette on ieee1275_fb.
11921
11922 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
11923 (have_setcolors): Likewise.
11924 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
11925 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
11926 (grub_video_ieee1275_set_palette): Implement.
11927
25761e13
VS
119282010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
119292010-09-11 Colin Watson <cjwatson@ubuntu.com>
11930
11931 * util/grub-install.in (grub_partition): New variable.
11932 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
11933 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
11934 Fixes a bug reported by Yves Blusseau.
11935
050abaea
VS
119362010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11937
11938 Fix emu on mipsel.
11939
11940 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
11941 =grub_cpu_flush_cache on all mips and not only yeeloong.
11942 * configure.ac (COND_mips): New conditional.
11943 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
11944 platforms.
11945 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
11946 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
11947 [GRUB_LINKER_HAVE_INIT]: New function.
11948 (grub_emu_post_init): Likewise.
11949 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
11950 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
11951 * include/grub/cache.h (_mips): Include mips/cache.h.
11952 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
11953 LVM and RAID prototypes.
11954 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
11955 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
11956 function.
11957
5ed7d816
CW
119582010-09-10 Colin Watson <cjwatson@ubuntu.com>
11959
11960 * util/grub-install.in: Don't try to verify core.img until after
11961 running grub-mkimage to create it.
11962
90367e04
RM
119632010-09-10 Robert Millan <rmh@gnu.org>
11964
11965 * util/grub.d/10_hurd.in: Add misc readability checks.
11966 * util/grub.d/10_kfreebsd.in: Likewise.
11967 * util/grub.d/10_linux.in: Likewise.
11968
c452fa66
CW
119692010-09-10 Colin Watson <cjwatson@ubuntu.com>
11970
11971 * util/grub-install.in: ${imgext} won't be defined here until the
11972 install branch is merged. For the meantime, only verify core.img on
11973 i386-pc and sparc64-ieee1275 platforms.
11974
c38fe9f4
RM
119752010-09-10 Robert Millan <rmh@gnu.org>
11976
11977 Solaris support in grub_find_zpool_from_dir(). Thanks
11978 Seth Goldberg for referring to getextmntent() facility.
11979
11980 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
11981 `sys/mkdev.h'.
11982 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
11983 `<sys/mnttab.h>'.
11984 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
11985 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
11986 method for finding zpool name.
11987
905f7773
CW
119882010-09-10 Colin Watson <cjwatson@ubuntu.com>
11989
11990 grub-fstest needs the host and hostfs modules while other utilities
11991 actively require those modules to be absent, so grub-fstest needs
11992 its own initialisation and finalisation code.
11993
11994 * Makefile.am (grub_fstest.pp): New target.
11995 (grub_fstest_init.lst): Likewise.
11996 (grub_fstest_init.c): Likewise.
11997 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
11998
fb90b546
RM
119992010-09-10 Robert Millan <rmh@gnu.org>
12000
12001 * configure.ac: Check for `struct statfs.f_fstypename' and
12002 `struct statfs.f_mntfromname'.
12003
12004 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
12005 kFreeBSD-specific code.
12006
66d4bea5
RM
120072010-09-10 Robert Millan <rmh@gnu.org>
12008
12009 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
12010 on ZFS. Now non-main filesystems are supported as / too.
12011
b6a690ee
CW
120122010-09-09 Colin Watson <cjwatson@ubuntu.com>
12013
12014 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
12015 and grub-core/disk/host.c to ...
12016 (grub-fstest): ... here. Having the host disk implementation
12017 present confuses grub-probe and other utility programs.
12018
12019 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
12020 when writing to a file, not when writing to stdout.
12021
8901b00c 120222010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
12023
12024 * tests/partmap_test.in: New test for partitions.
12025 * Makefile.util.def: Rules for new test.
12026
7bf45fdd
RM
120272010-09-09 Robert Millan <rmh@gnu.org>
12028
12029 * util/grub-probe.c (probe): Fix a pair of unhandled error
12030 conditions.
12031
4dfbc574
RM
120322010-09-09 Robert Millan <rmh@gnu.org>
12033
12034 Basic Btrfs support (detection and UUID).
12035
12036 * grub-core/fs/btrfs.c: New file.
12037 * Makefile.util.def (library): Register btrfs.c.
12038 * grub-core/Makefile.core.def: Likewise.
12039
6b8e78ae
RM
120402010-09-08 Robert Millan <rmh@gnu.org>
12041
12042 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
12043 with (optional) parameters to specify device and relative path.
12044 * util/grub-install.in: Use is_path_readable_by_grub() to
12045 verify readability of a few critical files.
12046 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
12047 verify readability of grub.cfg.new.
12048
27f21a8b
VS
120492010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 Split minix.mod into minix.mod and minix2.mod.
12052
12053 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
12054 * grub-core/Makefile.core.def (minix2): New module.
12055 * grub-core/fs/minix.c: Use definitions instead of runtime version
12056 checking.
12057 * grub-core/fs/minix2.c: New file.
12058
c0e53ea5
YB
120592010-09-08 Yves Blusseau <blusseau@zetam.org>
12060
12061 Add new --boot-directory option to replace --root-directory
12062
12063 * util/grub-install.in: Add new --boot-directory option
12064 * util/grub-reboot.in: Likewise.
12065 * util/grub-set-default.in: Likewise.
12066
b9fe6ea2
YB
120672010-09-08 Yves Blusseau <blusseau@zetam.org>
12068
12069 * util/grub-mkconfig.in: Use new variable.
12070
d87aedff
YB
120712010-09-08 Yves Blusseau <blusseau@zetam.org>
12072
12073 * configure.ac: Define some useful variables.
12074
e55e8495
VS
120752010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12078 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
12079 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
12080 Use terminfo and don't use cursor-on/cursor-off unless it's known
12081 to work.
12082 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
12083 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
12084
6fa6d675
CW
120852010-09-08 Colin Watson <cjwatson@ubuntu.com>
12086
12087 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
12088 starts with "(,", fill the drive containing the loaded image in
12089 between those two characters, but expect that a full partition
12090 specification including partition map names will follow.
12091
92f2aef0
RM
120922010-09-08 Robert Millan <rmh@gnu.org>
12093
12094 * configure.ac: Remove `--enable-grub-fstest' option.
12095 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
12096
12097 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
12098 `grub-fstest' instead of `grub-probe' for readability verification.
12099 * util/grub-probe.c (probe): Remove readability verification kludge.
12100
99fd620d
RM
121012010-09-08 Robert Millan <rmh@gnu.org>
12102
12103 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
12104 initializing `GRUB_FS'.
12105
058e30ac 121062010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
12107
12108 Not command (!) support to GRUB script.
12109
12110 * tests/grub_script_not.in: New test.
12111 * Makefile.util.def: Rules for new test.
12112
12113 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12114 ! command as a special case.
12115 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
12116
b61d05ed 121172010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12118
058e30ac 12119 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
12120 grub_free.
b61d05ed 12121
4d69c786 121222010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12123
12124 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
12125
aa3119c4 121262010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12127
12128 * docs/grub.texi (Shell-like scripting): Documentation for break,
12129 continue, shift and return commands.
12130
db0f7e3d
VS
121312010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
12132
12133 Rename CD-ROM to cd on BIOS.
12134
12135 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
12136 "cd".
12137 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
12138
88b87c93
VS
121392010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12140
12141 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
12142 * util/grub-probe.c (main): Likewise.
12143 * util/i386/pc/grub-setup.c (main): Likewise.
12144 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
12145 Reported and debugged by: alexxy
12146
294f324d
VS
121472010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
12150 diagnostic info.
12151
d7ee3441
JS
121522010-09-05 Jo Shields <directhex@apebox.org>
12153
12154 * util/grub.d/30_os-prober.in: Add missing classes.
12155
d7e06c1f
VS
121562010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 * docs/grub.texi (Theme file format): Document new position format.
12159
fc157e53
VS
121602010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12161
12162 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
12163 a table. Use @code instead of @verbatim.
12164
506e9a1c
CB
121652010-09-05 Colin D Bennett <colin@gibibit.com>
12166
12167 Gfxmenu documentation.
12168
12169 * docs/grub.texi (Theme file format): New chapter.
12170
f0aff67c
SJ
121712010-09-05 Szymon Janc <szymon@janc.net.pl>
12172
12173 * grub-core/Makefile.core.def (xzio): New module.
12174 * grub-core/io/xzio.c: New file.
12175 * grub-core/lib/xzembed/xz.h: New file (from xembed).
12176 * grub-core/lib/xzembed/xz_config.h: Likewise.
12177 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
12178 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
12179 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
12180 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
12181 * grub-core/lib/xzembed/xz_private.h: Likewise.
12182 * grub-core/lib/xzembed/xz_stream.h: Likewise.
12183 * include/grub/file.h (grub_file_filter_id): New compression filter
12184 GRUB_FILE_FILTER_XZIO.
12185
82a85062
VS
121862010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
12189 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
12190 size.
12191
3579415d
VS
121922010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12193
12194 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
12195 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
12196
5124ae6d
VS
121972010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12198
12199 Uncompressed checksum support.
12200
12201 * grub-core/commands/hashsum.c (options): Add option --uncompress.
12202 (check_list): New parameter uncompress.
12203 (grub_cmd_hashsum): Handle --uncompress.
12204
9aadb3d1
VS
122052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12206
12207 Reintroduce testload.
12208
12209 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
12210 from here ...
12211 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
12212 (GRUB_MOD_INIT): New function.
12213 (GRUB_MOD_FINI): Likewise.
12214 * grub-core/Makefile.core.def (testload): New module.
12215
a17792c3
SJ
122162010-09-05 Szymon Janc <szymon@janc.net.pl>
12217
12218 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
12219 (uint8_t): New type.
12220 (uint16_t): Likewise.
12221 (uint32_t): Likewise.
12222 (uint64_t): Likewise.
12223
b81e40a3
SJ
122242010-09-05 Szymon Janc <szymon@janc.net.pl>
12225
12226 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
12227
fc2ef117
VS
122282010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12229
12230 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
12231 Made static.
12232 (grub_gzfile_open): Removed. All users updated.
12233 (GRUB_MOD_INIT): New function.
12234 (GRUB_MOD_FINI): Likewise.
12235 * grub-core/kern/file.c (grub_file_filters_all): New variable.
12236 (grub_file_filters_enabled): Likewise.
12237 (grub_file_open): Handle filters.
12238 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
12239 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
12240 * include/grub/file.h (grub_file_filter_id_t): New type.
12241 (grub_file_filter_t): Likewise.
12242 (grub_file_filters_all): New extern variable.
12243 (grub_file_filters_enabled): Likewise.
12244 (grub_file_filter_register): New inline function.
12245 (grub_file_filter_unregister): Likewise.
12246 (grub_file_filter_disable): Likewise.
12247 (grub_file_filter_disable_compression): Likewise.
12248 * include/grub/gzio.h: Removed.
12249
35ee15e0
BC
122502010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12251
12252 Filename expansion support for wildcards in GRUB script.
12253
12254 * tests/grub_script_expansion.in: New test.
12255 * Makefile.util.def: Rule for new test.
12256
12257 * grub-core/commands/wildcard.c: New file, implements filename
12258 expansion support for GRUB script.
12259 * grub-core/Makefile.core.def: Rule update for regexp.mod.
12260 * grub-core/script/argv.c: Cosmetic changes.
12261 * grub-core/script/execute.c (grub_script_arglist_to_argv):
12262 Refactored to perform wildcard expansion on arguments.
12263 * include/grub/script_sh.h (grub_script_wildcard_translator): New
12264 struct.
12265
12266 * tests/util/grub-shell.in: Fix quoting for read input.
12267
5f0c4aca
BC
122682010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12269
12270 Support for updating environment variables with matched substrings
12271 of regexp.
12272
12273 * tests/grub_cmd_regexp.in: New test.
12274 * Makefile.util.def: Rule for new test.
12275
12276 * grub-core/commands/regexp.c: New option -s to update environment
12277 variables with regexp matches.
12278
3759a35f
SJ
122792010-09-04 Szymon Janc <szymon@janc.net.pl>
12280
12281 * include/grub/file.h (grub_file): New member not_easly_seekable.
12282 (grub_file_seekable): New inline function.
12283 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
12284 easily seekable.
12285 (grub_gzio_open): Set not_easly_seekable.
12286 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
12287 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
12288
ed8c6dec
BC
122892010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12290
12291 Support for options to appear multiple times on cmdline.
12292
12293 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
12294 * grub-core/commands/extcmd.c: Support for repeatable option.
12295 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
12296 repeatable option support.
12297
12298 Refactor menuentry into a regular command.
12299
12300 * grub-core/commands/menuentry.c: New file, menuentry command
12301 implementation.
12302 * grub-core/Makefile.core.def: Rule update for normal.mod.
12303 * grub-core/normal/main.c: Moved menuentry creation to
12304 grub-core/commands/menuentry.c.
12305 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
12306 (grub_menu_execute_entry_real): Removed.
12307 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
12308 function.
12309 (grub_script_execute_menuentry): Removed.
12310 * grub-core/script/parser.y (menuentry): Removed.
12311 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
12312 * grub-core/script/yylex.l (menuentry): Removed.
12313 * include/grub/menu.h (grub_menu_init): New prototype.
12314 (grub_menu_fini): New prototype.
12315 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
12316 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
12317 (grub_script_execute_sourcecode): New prototype.
12318
dacd0cf0
BC
123192010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12320
12321 "return" command for GRUB script functions.
12322
12323 * tests/grub_script_return.in: New test.
12324 * Makefile.util.def: Rules for new test.
12325
12326 * grub-core/script/execute.c (grub_script_return): New function.
12327 * grub-core/script/main.c: Register/unregister return commaond.
12328 * include/grub/script_sh.h (grub_script_return): New prototype.
12329
52e72f9d
BC
123302010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12331
12332 "setparams" command to update positional parameters.
12333
12334 * tests/grub_script_setparams.in: New test.
12335 * Makefile.util.def: Rules for new test.
12336
12337 * grub-core/script/argv.c (grub_script_argv_make): New function.
12338 * grub-core/script/execute.c (replace_scope): New function.
12339 (grub_script_setparams): New function.
12340 * grub-core/script/lexer.c: Remove unused variables.
12341 * grub-core/script/main.c: Register/unregister setparams command.
12342 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
12343 (grub_script_setparams): New prototype.
12344
25b60c91
BC
123452010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12346
12347 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
12348 grub_free order.
12349
37e7bf68
BC
123502010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12351
12352 Support for passing block of commands as an argument to extcmds.
12353
12354 * Makefile.util.def: Rules for new test.
12355 * tests/grub_script_blockarg.in: New test.
12356 * grub-core/tests/test_blockarg.c: New file, block argument
12357 command used in the test.
12358
12359 * include/grub/extcmd.h (grub_extcmd_context): New struct.
12360 (grub_register_extcmd_prio): New function prototype.
12361 (grub_extcmd_dispatcher): New function prototype.
12362 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
12363 type.
12364 * include/grub/script_sh.h (struct grub_script): New members
12365 `children', `next_siblings' and `refcnt' for block arguments and
12366 reference counting.
12367 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
12368 (grub_script_arg): New member `script' for block argument.
12369 (grub_script_argv): New member `script' for block argument.
12370 (grub_parser_param): New member `scripts' for block argument.
12371 (grub_script_mem_free): New extern function prototype.
12372 (grub_script_ref): New function prototype.
12373 (grub_script_unref): New function prototype.
12374
12375 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
12376 extcmd form to support block arguments.
12377 * grub-core/script/argv.c: Block arguments support.
12378 * grub-core/script/execute.c: Likewise.
12379 * grub-core/script/lexer.c: Likewise.
12380 * grub-core/script/main.c: Likewise.
12381 * grub-core/script/script.c: Likewise.
12382 * grub-core/script/parser.y: Likewise. New `block' and `block0'
12383 non-terminals.
12384
12385 * grub-core/commands/acpi.c: Update extcmd implementations with
12386 grub_extcmd_context_t.
12387 * grub-core/commands/cat.c: Likewise.
12388 * grub-core/commands/echo.c: Likewise.
12389 * grub-core/commands/extcmd.c: Likewise.
12390 * grub-core/commands/hashsum.c: Likewise.
12391 * grub-core/commands/hdparm.c: Likewise.
12392 * grub-core/commands/help.c: Likewise.
12393 * grub-core/commands/hexdump.c: Likewise.
12394 * grub-core/commands/i386/cpuid.c: Likewise.
12395 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12396 * grub-core/commands/i386/pc/halt.c: Likewise.
12397 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12398 * grub-core/commands/iorw.c: Likewise.
12399 * grub-core/commands/keystatus.c: Likewise.
12400 * grub-core/commands/loadenv.c: Likewise.
12401 * grub-core/commands/ls.c: Likewise.
12402 * grub-core/commands/lspci.c: Likewise.
12403 * grub-core/commands/memrw.c: Likewise.
12404 * grub-core/commands/probe.c: Likewise.
12405 * grub-core/commands/search_wrap.c: Likewise.
12406 * grub-core/commands/setpci.c: Likewise.
12407 * grub-core/commands/sleep.c: Likewise.
12408 * grub-core/disk/loopback.c: Likewise.
12409 * grub-core/hello/hello.c: Likewise.
12410 * grub-core/loader/i386/bsd.c: Likewise.
12411 * grub-core/loader/xnu.c: Likewise.
12412 * grub-core/term/gfxterm.c: Likewise.
12413 * grub-core/term/serial.c: Likewise.
12414 * grub-core/tests/lib/functional_test.c: Likewise.
12415
888d1500
BC
124162010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12417
12418 Multi-line quoted strings support.
12419
12420 * grub-core/script/lexer.c (append_newline): Removed.
12421 (grub_script_lexer_yywrap): Refactored.
12422 (grub_script_lexer_init): Refactored.
12423 * grub-core/script/yylex.l (yywrap): New function.
12424 (grub_lexer_resplit): New function.
12425 (grub_lexer_unput): New function.
12426 * include/grub/script_sh.h (grub_lexer_param): New members, unput
12427 and resplit.
12428 * tests/grub_script_echo1.in: Added few more testcases.
12429
dda060dd
VS
124302010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 * grub-core/kern/misc.c: Don't add abort alias in utils.
12433 Reported by: echoline.
12434
6556eba9
BC
124352010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
12436
12437 Add missing files into "make dist" tarball for other platforms.
12438
12439 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
12440 * conf/Makefile.common (dist_noinst_DATA): New variable.
12441 * conf/Makefile.extra-dist: Added missing make dist files.
12442 * grub-core/Makefile.core.def: Likewise.
12443
c8e7bf5f
VS
124442010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
12445
12446 Compress grub_prefix.
12447
12448 * grub-core/boot/i386/pc/lnxboot.S: Use
12449 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
12450 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
12451 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
12452 GRUB_MACHINE_PREFIX_END. All users updated.
12453 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
12454 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
12455 + 0x40.
12456 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
12457 * util/grub-mkimage.c (image_target_desc): Change data_end to
12458 prefix_end. All users updated.
12459
a7c00cdb
VS
124602010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
12461
12462 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
12463 value.
12464 (grub_openbsd_boot): Likewise.
12465 (grub_netbsd_boot): Likewise.
12466 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
12467 (grub_xnu_boot): Likewise.
12468
9f915872
VS
124692010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12470
12471 * configure.ac: Clean LIBS variable after tests.
12472
efa1bee7
CW
124732010-09-02 Colin Watson <cjwatson@ubuntu.com>
12474
12475 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
12476
61d720e5
VS
124772010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12478
12479 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
12480 echo if libdevmapper will be used.
12481
ef8e0ec8
IT
124822010-09-02 Ian Turner <Ian.Turner@deshaw.com>
12483
12484 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
12485 constant for the same file.
12486
03e261d8
VS
124872010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12488
12489 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
12490
c2a4eba6
CW
124912010-09-02 Colin Watson <cjwatson@ubuntu.com>
12492
12493 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
12494 grub-core/*.pp.
12495
9056cbf3
CW
124962010-09-02 Colin Watson <cjwatson@ubuntu.com>
12497
12498 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
12499 required by the boot protocol.
12500
12501 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
12502 ebp and edi members.
12503 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
12504 state.ebp and state.edi.
12505 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
12506 %ebp and %edi according to grub_relocator32_ebp and
12507 grub_relocator32_edi respectively.
12508 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
12509 and state.edi.
12510
529cc99a
VS
125112010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12512
12513 Add i386-pc-pxe image target.
12514
12515 * util/grub-mkimage.c (image_target_desc): New enum value
12516 IMAGE_I386_PC_PXE.
12517 (image_targets): New target i386-pc-pxe.
12518 (generate_image): Handle i386-pc-pxe image.
12519
9a093920
VS
125202010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12521
12522 Fix grub_pxe_scan.
12523
12524 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
12525 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
12526 All users updated.
12527 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
12528 (grub_pxe_pxenv): Correct type.
12529
f9cefc4e
CW
125302010-09-01 Colin Watson <cjwatson@ubuntu.com>
12531
12532 * NEWS: Document most of the important changes since 1.98.
12533
4066f57f
CW
125342010-09-01 Colin Watson <cjwatson@ubuntu.com>
12535
12536 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
12537 generated manual page) a little.
12538
da2891f9
CW
125392010-09-01 Colin Watson <cjwatson@ubuntu.com>
12540
12541 * docs/grub.texi: Add myself as an author.
12542
ad717fae
VS
125432010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
12544
12545 * Makefile.util.def (libgrub.a): Add missing sunpc.
12546 Reported by: Seth Goldberg.
12547
eefe8abd
VS
125482010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12549
12550 Interrupt wrapping and code simplifications.
12551
9494ef9a
VS
12552 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
12553 x86_noieee1275 which are functionaly equivalent in this case.
12554 (grub-install): Make source on each platform explicit. Enable on
12555 all noemu.
12556 * gentpl.py (x86_efi_pc): Removed group.
12557 (x86_noefi): Likewise.
12558 (i386_noefi): Likewise.
12559 (x86_noieee1275): Likewise.
12560 (i386_noieee1275): Likewise.
12561 (i386_noefi_noieee1275): Likewise.
12562 (i386_pc_qemu_coreboot): Likewise.
12563 (i386_coreboot_multiboot): Likewise.
12564 (i386_pc_coreboot_multiboot_qemu): Likewise.
12565 (x86_noefi_mips): Likewise.
12566 (noieee1275): Likewise.
12567 (ieee1275_mips): Likewise.
12568 (noemu_noieee1275): Likewise.
12569 (cmos): New group.
12570 (usb): Likewise.
12571 (videoinkernel): Likewise.
12572 (videomodules): Likewise.
eefe8abd 12573 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
12574 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
12575 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
12576 include/grub/loader.h, include/grub/msdos_partition.h,
12577 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
12578 include/grub/machine/console.h, include/grub/machine/vga.h,
12579 include/grub/machine/vbe.h, include/grub/machine/init.h,
12580 include/grub/machine/kernel.h, include/grub/cpu/time.h,
12581 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 12582 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
12583 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
12584 * grub-core/Makefile.core.def (kernel): Explicit the source for
12585 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
12586 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
12587 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
12588 Use videoinkernel tag.
12589 (usb): Enable on all usb.
12590 (usbserial_common): Likewise.
12591 (usbserial_pl2303): Likewise.
12592 (usbserial_ftdi): Likewise.
12593 (uhci): Enable on all x86.
12594 (ohci): Enable on all pci.
12595 (cmostest): Enable on all CMOS.
12596 (acpi): Include commands/acpi.c on all platforms.
12597 (halt): Add relevant lib/*/halt.c.
12598 (hdparm): Enable on all pci.
12599 (lspci): Likewise.
12600 (usbtest): Enable on all usb.
12601 (ata): Enable on all pci.
12602 (ata_pthru): Likewise.
12603 (usbms): Enable on all usb.
12604 (usb_keyboard): Likewise.
12605 (font): Use tag videomodules.
12606 (bufio): Likewise.
12607 (datetime): Use tag cmos. Enable on all noemu.
12608 (mmap): Use tags common and x86.
12609 (gfxterm): Use tag videomodules.
12610 (bitmap): Likewise.
12611 (bitmap_scale): Likewise.
12612 (video_fb): Likewise.
12613 (video): Likewise.
12614 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
12615 adjust padding accordingly. All users updated.
12616 (grub_ohci_transaction): Fix bad format specification.
12617 (GRUB_MOD_INIT): Add asserts for struct size.
12618 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
12619 (grub_alloc_td): Likewise.
12620 (grub_free_queue): Likewise.
12621 (grub_uhci_transfer): Likewise.
12622 (grub_uhci_transaction): Fix bad format specification.
12623 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
12624 (grub_usb_bulk_readwrite): Likewise.
12625 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
12626 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
12627 Made static.
12628 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
12629 Made static.
12630 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
12631 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
12632 Transformed into C.
12633 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
12634 Moved from here ...
12635 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
12636 ... here. Transformed into C. Made static.
12637 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
12638 Moved from here ...
12639 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
12640 ... here. Transformed into C. Made static.
12641 * grub-core/kern/i386/pc/startup.S
12642 (grub_biosdisk_check_int13_extensions): Moved from here ...
12643 * grub-core/disk/i386/pc/biosdisk.c
12644 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
12645 Made static.
12646 * grub-core/kern/i386/pc/startup.S
12647 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
12648 * grub-core/disk/i386/pc/biosdisk.c
12649 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
12650 Transformed into C. Made static.
12651 * grub-core/kern/i386/pc/startup.S
12652 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
12653 * grub-core/disk/i386/pc/biosdisk.c
12654 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
12655 Transformed into C. Made static.
12656 * grub-core/kern/i386/pc/startup.S
12657 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
12658 * grub-core/disk/i386/pc/biosdisk.c
12659 (grub_biosdisk_get_diskinfo_standard): ... here.
12660 Transformed into C. Made static.
12661 * grub-core/kern/i386/pc/startup.S
12662 (grub_biosdisk_get_num_floppies): Moved from here ...
12663 * grub-core/disk/i386/pc/biosdisk.c
12664 (grub_biosdisk_get_num_floppies): ... here.
12665 Transformed into C. Made static.
12666 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
12667 New function.
12668 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
12669 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
12670 Transformed into C. Made static.
12671 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
12672 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
12673 Transformed into C. Made static.
12674 * grub-core/kern/i386/ieee1275/init.c: Removed.
12675 * grub-core/kern/i386/misc.S: Likewise.
12676 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
12677 Splitted from here ...
12678 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
12679 Transformed into C. Made static. All users updated.
12680 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
12681 Transformed into C. Made static. All users updated.
12682 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
12683 Moved from here...
12684 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
12685 Transformed into C. Made static. All users updated.
12686 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
12687 Moved from here...
12688 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
12689 Transformed into C. Made static. All users updated.
12690 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
12691 Removed (replaced by C version).
12692 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
12693 Moved from here...
12694 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
12695 Transformed into C. Made static.
12696 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
12697 Moved from here...
12698 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
12699 ... here. Transformed into C.
12700 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
12701 Moved from here...
12702 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
12703 ... here. Transformed into C.
12704 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
12705 Moved from here...
12706 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
12707 ... here. Transformed into C. Made static.
12708 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
12709 Moved from here...
12710 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
12711 ... here. Transformed into C.
21ed554b
VS
12712 * grub-core/kern/i386/pc/startup.S
12713 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
12714 * grub-core/video/i386/pc/vbe.c
12715 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
12716 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
12717 Moved from here...
12718 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
12719 ... here. Transformed into C.
12720 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
12721 Moved from here...
12722 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
12723 ... here. Transformed into C.
12724 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
12725 Moved from here...
12726 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
12727 ... here. Transformed into C.
12728 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
12729 Moved from here...
12730 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
12731 ... here. Transformed into C.
12732 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
12733 Moved from here...
12734 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
12735 ... here. Transformed into C. Made static.
12736 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
12737 Moved from here...
12738 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
12739 ... here. Transformed into C. Made static.
12740 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
12741 Moved from here...
12742 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
12743 ... here. Transformed into C. Made static.
12744 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
12745 pxe_rm_entry as third argument.
12746 (grub_bios_interrupt): New function.
12747 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
12748 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
12749 of calling grub_stop.
12750 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
12751 * grub-core/lib/efi/halt.c (grub_halt): ...here.
12752 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
12753 * grub-core/lib/emu/halt.c (grub_halt): ... here.
12754 * grub-core/lib/i386/halt.c: Moved from here ...
12755 * grub-core/lib/i386/halt.c: ... here.
12756 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
12757 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
12758 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
12759 grub_stop_floppy.
12760 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
12761 * include/grub/i386/coreboot/init.h: Removed.
12762 * include/grub/i386/multiboot/init.h: Likewise.
12763 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
12764 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
12765 * include/grub/i386/pc/int.h: New file.
12766 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
12767 (grub_pxe_scan): Removed.
12768 (grub_pxe_call): Update prototype.
12769 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
12770 prototypes.
12771 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
12772 * include/grub/i386/qemu/init.h: Removed.
12773 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
12774 noreturn.
12775 (grub_halt): Likewise.
12776 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
12777 (grub_reboot): Likewise.
12778 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
12779 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
12780 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
12781
215dd471
RM
127822010-08-30 Robert Millan <rmh@gnu.org>
12783
12784 * NEWS: Document addition of ZFS support in `grub-install' and
12785 `grub-mkconfig'.
12786
ebd65b82
BC
127872010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
12788
12789 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
12790 dprintf output.
12791
11721d19
VS
127922010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12793
12794 Remove leftover embedding of font objects.
12795
12796 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12797 * util/grub-install.in (font): Removed.
12798 * util/grub-mkimage.c (generate_image): Remove font support. All users
12799 updated.
12800
37837d4e
VS
128012010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12802
12803 Remove leftover embedding of font objects.
12804
12805 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12806 * util/grub-install.in (font): Removed.
12807 * util/grub-mkimage.c (generate_image): Remove font support. All users
12808 updated.
12809
b4c1aae0
VS
128102010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12811
12812 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 12813 Reported by: Ian Turner
b4c1aae0 12814
8920a08d
VS
128152010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12816
12817 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
12818 timeout to avoid indefinite boot stalling.
12819
f21db033
VS
128202010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12821
12822 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
12823 (grub_env_write_color_highlight): Likewise.
12824
9a9de209
VS
128252010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 * grub-core/normal/term.c (print_more): Return to normal and not
12828 to standard state after printing "---MORE---".
12829
3dca01d7
VS
128302010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12831
12832 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
12833 Mask out the bit 0x80 since it has other meaning that specifiing color.
12834
0b986c40
VS
128352010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 New relocator. Allows for more kernel support and more straightforward
12838 loader writing.
12839
12840 * Makefile.am (BOOTTARGET): New variable.
12841 (QEMU32): Likewise.
12842 (linux.init.x86_64): New target.
12843 (linux.init.i386): Likewise.
12844 (multiboot.elf): Likewise.
12845 (kfreebsd.elf): Likewise.
12846 (kfreebsd.aout): Likewise.
12847 (pc-chainloader.elf): Likewise.
12848 (pc-chainloader.bin): Likewise.
12849 (ntldr.elf): Likewise.
12850 (ntldr.bin): Likewise.
12851 (multiboot2.elf): Likewise.
12852 (kfreebsd.init.x86_64): Likewise.
12853 (kfreebsd.init.i386): Likewise.
12854 (knetbsd.init.i386): Likewise.
12855 (kopenbsd.init.i386): Likewise.
12856 (knetbsd.init.x86_64): Likewise.
12857 (kopenbsd.init.x86_64): Likewise.
12858 (linux-initramfs.i386): Likewise.
12859 (linux-initramfs.x86_64): Likewise.
12860 (kfreebsd-mfsroot.i386.img): Likewise.
12861 (knetbsd.image.i386): Likewise.
12862 (kopenbsd.image.i386): Likewise.
12863 (kopenbsd.image.x86_64): Likewise.
12864 (knetbsd.miniroot-image.i386.img): Likewise.
12865 (kfreebsd-mfsroot.x86_64.img): Likewise.
12866 (knetbsd.image.x86_64): Likewise.
12867 (knetbsd.miniroot-image.x86_64.img): Likewise.
12868 (kfreebsd-mfsroot.i386.gz): Likewise.
12869 (bootcheck-kfreebsd-i386): Likewise.
12870 (kfreebsd-mfsroot.x86_64.gz): Likewise.
12871 (bootcheck-kfreebsd-x86_64): Likewise.
12872 (knetbsd.miniroot-image.i386.gz): Likewise.
12873 (bootcheck-knetbsd-i386): Likewise.
12874 (bootcheck-kopenbsd-i386): Likewise.
12875 (bootcheck-kopenbsd-x86_64): Likewise.
12876 (knetbsd.miniroot-image.x86_64.gz): Likewise.
12877 (bootcheck-knetbsd-x86_64): Likewise.
12878 (bootcheck-linux-i386): Likewise.
12879 (bootcheck-linux-x86_64): Likewise.
12880 (bootcheck-linux16-i386): Likewise.
12881 (bootcheck-linux16-x86_64): Likewise.
12882 (bootcheck-multiboot): Likewise.
12883 (bootcheck-multiboot2): Likewise.
12884 (bootcheck-kfreebsd-aout): Likewise.
12885 (bootcheck-pc-chainloader): Likewise.
12886 (bootcheck-ntldr): Likewise.
12887 (CLEANFILES): Add new targets.
12888 (BOOTCHECKS): New variable.
12889 (.PHONY): Add bootchecks.
12890 (SUCCESSFUL_BOOT_STRING): New variable.
12891 (BOOTCHECK_TIMEOUT): Likewise.
12892 (bootcheck): New target
12893 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
12894 * configure.ac: Correct efiemu excuse.
12895 * docs/grub.texi (Supported kernels): New chapter.
12896 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
12897 include/grub/mm_private.h. Simplify inclusion of
12898 include/grub/boot.h, include/grub/loader.h
12899 and include/grub/msdos_partition.h
12900 (KERNEL_HEADER_FILES) [i386_coreboot]:
12901 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
12902 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
12903 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
12904 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
12905 include/grub/machine/loader.h.
12906 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
12907 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
12908 extra_dist.
12909 (pci.mod): Enable on i386-multiboot.
12910 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
12911 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
12912 i386-qemu.
12913 (relocator.mod): Rewritten.
12914 (aout.mod): Enable on all x86.
12915 (bsd.mod): Likewise.
12916 (ntldr.mod): New module.
12917 (linux.mod): Use loader/i386/linux.c on all x86.
12918 (xnu.mod): Enable on all x86.
12919 (vga_text.mod): disable on EFI and QEMU.
12920 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
12921 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
12922 * grub-core/efiemu/loadcore.c: Likewise.
12923 * grub-core/efiemu/main.c: Likewise.
12924 (grub_efiemu_exit_boot_services): Removed.
12925 (grub_efiemu_finish_boot_services): Likewise.
12926 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
12927 function.
12928 * grub-core/efiemu/i386/nocfgtables.c: New file.
12929 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
12930 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
12931 (grub_efi_finish_boot_services): Moved from here ...
12932 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
12933 Fille finish memory map and related data.
12934 (finish_mmap_buf): New variable.
12935 (grub_efi_uintn_t finish_mmap_size): Likewise.
12936 (grub_efi_uintn_t finish_key): Likewise.
12937 (grub_efi_uintn_t finish_desc_size): Likewise.
12938 (grub_efi_uint32_t finish_desc_version): Likewise.
12939 (grub_efi_is_finished): Likewise.
12940 (grub_efi_get_memory_map): Use saved memory map if EFI is already
12941 finished.
12942 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
12943 (grub_elf64_phdr_iterate): Likewise.
12944 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
12945 (grub_os_area_size): Likewise.
12946 (grub_machine_init): Don't reserve os area.
12947 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
12948 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12949 * grub-core/kern/i386/loader.S: Removed.
12950 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
12951 (grub_os_area_size): Likewise.
12952 (grub_machine_init): Don't reserve os area.
12953 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12954 Don't call grub_dl_unload_all.
12955 Don't include loader.S.
12956 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
12957 Declare the memory after _end as available.
12958 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 12959 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 12960 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
12961 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
12962 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
12963 * include/grub/mm_private.h (grub_mm_header): ... here.
12964 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
12965 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
12966 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
12967 (grub_mm_region): ..here. Removed addr. Added pre_size.
12968 All users updated.
12969 * grub-core/kern/mm.c (base): Renamed to ...
12970 (grub_mm_base): ... this. Made global.
12971 (grub_real_malloc): Alloc from end of region.
12972 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
12973 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
12974 * grub-core/kern/powerpc/cache_flush.S: ... here.
12975 * grub-core/lib/efi/relocator.c: New file.
12976 * grub-core/lib/i386/relocator.c: Rewritten.
12977 * grub-core/lib/i386/relocator16.S: New file.
12978 * grub-core/lib/i386/relocator32.S: Likewise.
12979 * grub-core/lib/i386/relocator64.S: Likewise.
12980 * grub-core/lib/i386/relocator_asm.S: Rewritten.
12981 * grub-core/lib/i386/relocator_common.S: New file.
12982 * grub-core/lib/ieee1275/relocator.c: Likewise.
12983 * grub-core/lib/mips/relocator.c: Rewritten.
12984 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
12985 stylistic adjustments.
12986 * grub-core/lib/powerpc/relocator.c: New file.
12987 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
12988 * grub-core/lib/relocator.c: Rewritten.
12989 * grub-core/lib/x86_64/relocator_asm.S: New file.
12990 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
12991 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
12992 (bsd_tag): New struct.
12993 (tags): New variable.
12994 (tags_last): Likewise.
12995 (netbsd_module): New struct.
12996 (netbsd_mods): New variable.
12997 (netbsd_mods_last): Likewise.
12998 (openbsd_opts): New parameter "serial".
12999 (OPENBSD_SERIAL_ARG): New definition.
13000 (netbsd_opts): New parameter "serial".
13001 (NETBSD_SERIAL_ARG): New definition.
13002 (grub_freebsd_add_meta): Reorganised into ...
13003 (grub_bsd_add_meta): ...this. All users updated.
13004 (grub_freebsd_add_mmap): Reorganised into ...
13005 (generate_e820_mmap): ...this...
13006 (grub_bsd_add_mmap): ...and this. All users updated.
13007 (grub_freebsd_list_modules): Use tags.
13008 (grub_netbsd_add_meta_module): New function.
13009 (grub_netbsd_list_modules): Likewise.
13010 (grub_freebsd_boot): Use relocator and finish EFI.
13011 (grub_openbsd_boot): Likewise.
13012 (grub_netbsd_setup_video): New function.
13013 (grub_netbsd_add_modules): Likewise.
13014 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
13015 and finish EFI.
13016 (grub_bsd_unload): Unload tags.
13017 (grub_bsd_load_aout): Use relocator.
13018 (grub_bsd_elf32_size_hook): New function.
13019 (grub_bsd_elf32_hook): Use relocator.
13020 (grub_bsd_elf64_size_hook): New function.
13021 (grub_bsd_elf64_hook): Use relocator.
13022 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
13023 (grub_bsd_load): Zero-out openbsd_ramdisk.
13024 (grub_bsd_load): Use relocator.
13025 (grub_cmd_openbsd): Support serial.
13026 (grub_cmd_netbsd): Support modules.
13027 (grub_cmd_freebsd_module): Use relocator.
13028 (grub_netbsd_module_load): New function.
13029 (grub_cmd_netbsd_module): Likewise.
13030 (grub_cmd_openbsd_ramdisk): Likewise.
13031 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
13032 kopenbsd_ramdisk.
13033 (GRUB_MOD_FINI): Unregister new commands.
13034 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
13035 (grub_freebsd_load_elfmodule_obj): Use relocator.
13036 (grub_freebsd_load_elfmodule): Likewise.
13037 (grub_freebsd_load_elf_meta): Likewise.
13038 (grub_netbsd_load_elf_meta): New function.
13039 (grub_openbsd_find_ramdisk): Likewise.
13040 * grub-core/loader/i386/bsd_helper.S: Removed.
13041 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
13042 * grub-core/loader/i386/bsd_trampoline.S: Removed.
13043 * grub-core/loader/i386/efi/linux.c: Likewise.
13044 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
13045 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
13046 (DEFAULT_VIDEO_MODE): Likewise.
13047 (real_mode_target): New variable.
13048 (prot_mode_target): Likewise.
13049 (initrd_mem_target): Likewise.
13050 (relocator): Likewise.
13051 (efi_mmap_buf): Likewise.
13052 (efi_mmap_size): Likewise.
13053 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
13054 (free_pages): Use relocator.
13055 (allocate_pages): Account for efi_mmap and use relocator. Return error.
13056 (grub_linux_setup_video): Return error.
13057 (grub_linux_trampoline_start): Removed.
13058 (grub_linux_trampoline_end): Likewise.
13059 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
13060 andd video parameters depending on firmware.
13061 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
13062 [GRUB_MACHINE_EFI]: Pass EFI parameters.
13063 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
13064 (grub_cmd_initrd): Use relocator.
13065 * grub-core/loader/i386/linux_trampoline.S: Removed.
13066 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
13067 (elf_sec_entsize): Likewise.
13068 (elf_sec_shstrndx): Likewise.
13069 (elf_sections): Likewise.
13070 (grub_multiboot_load): Use relocator.
13071 (grub_multiboot_get_mbi_size): Account for sections.
13072 (grub_multiboot_make_mbi): Use relocator and support sections.
13073 (grub_multiboot_add_elfsyms): New function.
13074 (grub_multiboot_free_mbi): Free sections.
13075 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
13076 (grub_linux_real_target): Likewise.
13077 (grub_linux_real_chunk): Likewise.
13078 (grub_linux16_prot_size): Likewise.
13079 (grub_linux16_boot): Use relocator.
13080 (grub_linux_unload): Unload relocator.
13081 (grub_cmd_linux): Use relocator.
13082 (grub_cmd_initrd): Likewise.
13083 * grub-core/loader/i386/pc/ntldr.c: New file.
13084 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
13085 Don't try to guess CPU frequency.
13086 (grub_xnu_set_video): Stretch bitmap.
13087 (grub_xnu_boot): Use relocator.
13088 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
13089 (grub_linux_unload): Free relocator.
13090 (grub_linux_load32): Use relocator.
13091 (grub_linux_load64): Likewise.
13092 (grub_cmd_initrd): Likewise.
13093 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
13094 (grub_multiboot_unload): Unload relocator.
13095 (grub_cmd_multiboot): Use relocator.
13096 (grub_cmd_module): Likewise.
13097 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
13098 Use relocator and support sections.
13099 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
13100 (elf_sec_entsize): Likewise.
13101 (elf_sec_shstrndx): Likewise.
13102 (elf_sections): Likewise.
13103 (grub_multiboot_load): Use relocator.
13104 (grub_multiboot_get_mbi_size): Account for sections.
13105 (grub_multiboot_make_mbi): Use relocator and support sections.
13106 (grub_multiboot_add_elfsyms): New function.
13107 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
13108 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
13109 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
13110 Prototype changed. All users updated.
13111 (grub_xnu_align_heap): Simplified.
13112 (grub_xnu_writetree_toheap): Likewise.
13113 (grub_xnu_unload): Unload relocator.
13114 (grub_cmd_xnu_kernel): Use relocator.
13115 (grub_cmd_xnu_kernel64): Likewise.
13116 (grub_xnu_register_memory): Simplified.
13117 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
13118 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
13119 EFI is finished.
13120 (grub_console_checkkey): Likewise.
13121 (grub_console_getkey): Likewise.
13122 (grub_console_getwh): Likewise.
13123 (grub_console_getxy): Likewise.
13124 (grub_console_gotoxy): Likewise.
13125 (grub_console_cls): Likewise.
13126 (grub_console_setcolorstate): Likewise.
13127 (grub_console_setcursor): Likewise.
13128 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
13129 * grub-core/tests/boot/kbsd.init-i386.S: New file.
13130 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
13131 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
13132 * grub-core/tests/boot/kernel-8086.S: Likewise.
13133 * grub-core/tests/boot/kernel-i386.S: Likewise.
13134 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
13135 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
13136 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
13137 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
13138 * grub-core/tests/boot/knetbsd.cfg: Likewise.
13139 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
13140 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
13141 * grub-core/tests/boot/linux.cfg: Likewise.
13142 * grub-core/tests/boot/linux.init-i386.S: Likewise.
13143 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
13144 * grub-core/tests/boot/linux16.cfg: Likewise.
13145 * grub-core/tests/boot/multiboot.cfg: Likewise.
13146 * grub-core/tests/boot/multiboot2.cfg: Likewise.
13147 * grub-core/tests/boot/ntldr.cfg: Likewise.
13148 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
13149 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
13150 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
13151 New definition.
13152 * include/grub/dl.h (grub_dl_unload_all): Removed.
13153 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
13154 (grub_efi_finish_boot_services): Change prototype.
13155 (grub_efi_is_finished): New variable.
13156 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
13157 Changed prototype.
13158 (grub_efiemu_finish_boot_services): Removed.
13159 (grub_machine_efiemu_init_tables): New prototype.
13160 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
13161 (grub_elf64_phdr_iterate): Likewise.
13162 * include/grub/i386/bsd.h: Include relocator.h.
13163 (freebsd_tag_header): New struct.
13164 (grub_openbsd_bios_mmap): Removed.
13165 (grub_unix_real_boot): Removed.
13166 (grub_freebsd_load_elfmodule32): Changed prototype.
13167 (grub_freebsd_load_elfmodule_obj64): Likewise.
13168 (grub_freebsd_load_elf_meta32): Likewise.
13169 (grub_freebsd_load_elf_meta64): Likewise.
13170 (grub_freebsd_add_meta): Removed.
13171 (grub_netbsd_load_elf_meta32): New prototype.
13172 (grub_netbsd_load_elf_meta64): Likewise.
13173 (grub_bsd_add_meta): Likewise.
13174 (grub_openbsd_ramdisk_descriptor): New struct.
13175 (grub_openbsd_find_ramdisk32): New prototype.
13176 (grub_openbsd_find_ramdisk64): Likewise.
13177 * include/grub/i386/coreboot/loader.h: Removed.
13178 * include/grub/i386/efi/loader.h: Likewise.
13179 * include/grub/i386/ieee1275/loader.h: Likewise.
13180 * include/grub/i386/linux.h (linux_kernel_header): Change void *
13181 to grub_uint32_t.
13182 * include/grub/i386/loader.h: Removed.
13183 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
13184 value.
13185 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
13186 (grub_phys_addr_t): New type.
13187 (grub_vtop): New inline function.
13188 (grub_map_memory): Likewise.
13189 (grub_unmap_memory): Likewise.
13190 * include/grub/i386/multiboot/loader.h: Removed.
13191 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
13192 (NETBSD_BTINFO_CONSOLE): New definition.
13193 (NETBSD_BTINFO_SYMTAB): Likewise.
13194 (NETBSD_BTINFO_MODULES): Likewise.
13195 (NETBSD_BTINFO_FRAMEBUF): Likewise.
13196 (grub_netbsd_bootinfo): New struct.
13197 (grub_netbsd_btinfo_common): Use explicit bitsize.
13198 (grub_netbsd_btinfo_mmap_entry): Removed.
13199 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
13200 (grub_netbsd_btinfo_bootdisk): New struct.
13201 (grub_netbsd_btinfo_symtab): Likewise.
13202 (grub_netbsd_btinfo_serial): Likewise.
13203 (grub_netbsd_btinfo_modules): Likewise.
13204 (grub_netbsd_btinfo_framebuf): Likewise.
13205 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
13206 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
13207 Likewise.
13208 (grub_openbsd_bootargs): Use explicit bitsize.
13209 (grub_openbsd_bootarg_console): New struct.
13210 (GRUB_OPENBSD_COM_MAJOR): New definition.
13211 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
13212 * include/grub/i386/pc/efiemu.h: Removed.
13213 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
13214 * include/grub/i386/qemu/loader.h: Removed.
13215 * include/grub/i386/relocator.h: Rewritten.
13216 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
13217 * include/grub/mips/memory.h: New file.
13218 * include/grub/mips/multiboot.h: Rewritten.
13219 * include/grub/mips/relocator.h: Rewritten.
13220 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
13221 (grub_vtop): New function.
13222 (grub_map_memory): Likewise.
13223 (grub_unmap_memory): Likewise.
13224 * include/grub/misc.h (ALIGN_DOWN): New definition.
13225 * include/grub/mm.h (grub_mm_check_real): New proto.
13226 (GRUB_MM_CHECK): New definition.
13227 * include/grub/mm_private.h: New file.
13228 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
13229 (grub_multiboot_get_mbi_size): Removed.
13230 (grub_multiboot_make_mbi): Change prottype.
13231 (grub_multiboot_set_accepts_video): New proto.
13232 (grub_multiboot_add_elfsyms): Likewise.
13233 (grub_multiboot_payload_eip): New variable.
13234 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
13235 New prototype.
13236 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
13237 New definition.
13238 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
13239 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
13240 * include/grub/powerpc/ieee1275/loader.h: Removed.
13241 * include/grub/powerpc/memory.h: New file.
13242 * include/grub/powerpc/relocator.h: Likewise.
13243 * include/grub/relocator.h: Likewise.
13244 * include/grub/relocator_private.h: Likewise.
13245 * include/grub/sparc64/ieee1275/loader.h: Removed.
13246 * include/grub/x86_64/memory.h: New file.
13247 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
13248 (grub_xnu_heap_malloc): Likewise.
13249 (grub_xnu_heap_real_start): Removed.
13250 (grub_xnu_heap_start): Likewise.
13251 (grub_xnu_relocator): New variable.
13252 (grub_xnu_heap_target_start): Likewise.
13253 * tests/util/grub-shell.in: Support non-pc.
13254 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 13255
5303b85d
VS
132562010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13257
13258 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
13259 on malloc error.
13260 (grub_bidi_logical_to_visual): Check that malloc succeded.
13261 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
13262 puts.
13263 (grub_xputs_normal): Likewise.
13264
d768d159
VS
132652010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13266
13267 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
13268 extra_dist.
13269
132702010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13271
13272 * grub-core/efiemu/runtime/efiemu.sh: Removed.
13273
5bf84df4
VS
132742010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
13277
3626810e
VS
132782010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
13281 dprintf.
13282
a7363f53
BC
132832010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
13284
13285 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
13286
902f75f6
VS
132872010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13288
13289 * grub-core/normal/term.c (print_more): Fix a memory leak.
13290 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
13291 (grub_xputs_normal): Likewise.
13292
3c707967
VS
132932010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
13296 the begining of the string
13297
2053cc07
VS
132982010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13299
13300 * grub-core/script/script.c (grub_script_parse): Free parsed on
13301 failure.
13302
46422ebf
VS
133032010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13304
13305 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
13306 on failure.
13307
9e0fa3f6
VS
133082010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13309
13310 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
13311 return.
13312
3393cf16
VS
133132010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13314
13315 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
13316 (scroll_up): Fix a memory leak.
13317
b17540cb
VS
133182010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
13321 errors.
13322
67140446
VS
133232010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
13324
13325 Handle USB pendrives exposed as floppies.
13326
13327 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
13328 floppy.
13329 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
13330 Check for partitions on all devices.
13331
e35e46fc
VS
133322010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13333
13334 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
13335 (readkey): Likewise.
13336
d24c6190
BC
133372010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13338
13339 Multiple variable names support to "export" command.
13340
13341 * normal/context.c (grub_cmd_export): "export" command supports
13342 multiple variable names.
13343
04ddcc6a
ST
133442010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
13345
13346 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
13347 --target=drive output to Mach device name.
13348
0c8b61d8
BC
133492010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
13350
13351 New Automake based build system for GRUB.
13352
13353 * ABOUT-NLS: New file.
13354 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
13355 in Makefile.util.def file.
13356 * Makefile.util.def: New file. Autogen build definitions file for
13357 GRUB host utils.
13358 * conf/Makefile.common: New file. Common variables for GRUB host
13359 utils and target modules.
13360 * conf/Makefile.extra-dist: New file. Extra files for make dist.
13361 * docs/Makefile.am: New file. Automake file for docs.
13362 * gentpl.py: New file. Python script to generate Autogen
13363 template.
13364 * grub-core/Makefile.am: New file. GRUB target modules' rules
13365 that doesn't fit in Makefile.core.def file.
13366 * grub-core/Makefile.core.def: New file. Autogen build
13367 definitions file for GRUB target modules.
13368 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
13369 specific setjmp.S file.
13370 * po/Makefile.am: New file.
13371
13372 * .bzrignore: New ignores.
13373 * INSTALL: New requirements, without Ruby.
13374 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
13375 * autogen.sh: Updated to invoke autogen as necessary.
13376 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
13377 and defines for Automake conditionals.
13378 * geninit.sh: Refactoring.
13379
13380 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
13381 necessary.
13382 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
13383 New prototype.
13384
13385 * include/grub/test.h: Fix functional test modules' naming.
13386 * grub-core/tests/example_functional_test.c: Fix test module name.
13387
13388 * util/misc.c: Hosted versions' of grub functions for libgrub.a
13389 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
13390 * util/grub-editenv.c: Likewise.
13391 * util/grub-fstest.c: Likewise.
13392 * util/grub-mkdevicemap.c: Likewise.
13393 * util/grub-mkfont.c: Likewise.
13394 * util/grub-mkimage.c: Likewise.
13395 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13396 * util/grub-probe.c: Likewise.
13397 * util/grub-script-check.c: Likewise.
13398 * util/i386/pc/grub-setup.c: Likewise.
13399 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13400
13401 * tests/util/grub-shell.in: Fix override directory path.
13402 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
13403 * util/import_gcry.py: Create Makefile.gcry.def file instead.
13404
13405 * util/lvm.c: Update #includes.
13406 * util/raid.c: Likewise.
13407 * util/resolve.c: Likewise.
13408 * grub-core/bus/emu/pci.c: Likewise.
13409 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
13410 * grub-core/lib/posix_wrap/string.h: Likewise.
13411 * grub-core/kern/emu/main.c: Likewise.
13412
13413 * grub-core/gensymlist.sh: New file. Script for generating kernel
13414 symbols file.
13415 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
13416
13417 * grub-core/gentrigtables.c: Fix unused variable warnings.
13418
13419 * Makefile.in: Removed.
13420 * conf/any-emu.rmk: Removed.
13421 * conf/common.rmk: Removed.
13422 * conf/i386-coreboot.rmk: Removed.
13423 * conf/i386-efi.rmk: Removed.
13424 * conf/i386-ieee1275.rmk: Removed.
13425 * conf/i386-multiboot.rmk: Removed.
13426 * conf/i386-pc.rmk: Removed.
13427 * conf/i386-qemu.rmk: Removed.
13428 * conf/i386.rmk: Removed.
13429 * conf/mips-yeeloong.rmk: Removed.
13430 * conf/mips.rmk: Removed.
13431 * conf/powerpc-ieee1275.rmk: Removed.
13432 * conf/sparc64-ieee1275.rmk: Removed.
13433 * conf/tests.rmk: Removed.
13434 * conf/x86-efi.rmk: Removed.
13435 * conf/x86_64-efi.rmk: Removed.
13436 * gendistlist.sh: Removed.
13437 * geninitheader.sh: Removed.
13438 * genkernsyms.sh.in: Removed.
13439 * genmk.rb: Removed.
13440 * gensymlist.sh.in: Removed.
13441 * mkinstalldirs: Removed.
13442 * boot: Moved ...
13443 * grub-core/boot: ... to here.
13444 * bus: Moved ...
13445 * grub-core/bus: ... to here.
13446 * commands: Moved ...
13447 * grub-core/commands: ... to here.
13448 * disk: Moved ...
13449 * grub-core/disk: ... to here.
13450 * efiemu: Moved ...
13451 * grub-core/efiemu: ... to here.
13452 * font: Moved ...
13453 * grub-core/font: ... to here.
13454 * fs: Moved ...
13455 * grub-core/fs: ... to here.
13456 * gencmdlist.sh: Moved ...
13457 * grub-core/gencmdlist.sh: ... to here.
13458 * genemuinit.sh: Moved ...
13459 * grub-core/genemuinit.sh: ... to here.
13460 * genemuinitheader.sh: Moved ...
13461 * grub-core/genemuinitheader.sh: ... to here.
13462 * genfslist.sh: Moved ...
13463 * grub-core/genfslist.sh: ... to here.
13464 * genhandlerlist.sh: Moved ...
13465 * grub-core/genhandlerlist.sh: ... to here.
13466 * genmoddep.awk: Moved ...
13467 * grub-core/genmoddep.awk: ... to here.
13468 * genmodsrc.sh: Moved ...
13469 * grub-core/genmodsrc.sh: ... to here.
13470 * genpartmaplist.sh: Moved ...
13471 * grub-core/genpartmaplist.sh: ... to here.
13472 * genparttoollist.sh: Moved ...
13473 * grub-core/genparttoollist.sh: ... to here.
13474 * genterminallist.sh: Moved ...
13475 * grub-core/genterminallist.sh: ... to here.
13476 * gentrigtables.c: Moved ...
13477 * grub-core/gentrigtables.c: ... to here.
13478 * genvideolist.sh: Moved ...
13479 * grub-core/genvideolist.sh: ... to here.
13480 * gettext: Moved ...
13481 * grub-core/gettext: ... to here.
13482 * gfxmenu: Moved ...
13483 * grub-core/gfxmenu: ... to here.
13484 * gnulib: Moved ...
13485 * grub-core/gnulib: ... to here.
13486 * hello: Moved ...
13487 * grub-core/hello: ... to here.
13488 * hook: Moved ...
13489 * grub-core/hook: ... to here.
13490 * io: Moved ...
13491 * grub-core/io: ... to here.
13492 * kern: Moved ...
13493 * grub-core/kern: ... to here.
13494 * lib: Moved ...
13495 * grub-core/lib: ... to here.
13496 * loader: Moved ...
13497 * grub-core/loader: ... to here.
13498 * mmap: Moved ...
13499 * grub-core/mmap: ... to here.
13500 * normal: Moved ...
13501 * grub-core/normal: ... to here.
13502 * partmap: Moved ...
13503 * grub-core/partmap: ... to here.
13504 * parttool: Moved ...
13505 * grub-core/parttool: ... to here.
13506 * script: Moved ...
13507 * grub-core/script: ... to here.
13508 * term: Moved ...
13509 * grub-core/term: ... to here
13510 * tests/example_functional_test.c: Moved ...
13511 * grub-core/tests/example_functional_test.c: ... to here.
13512 * tests/lib/functional_test.c: Moved ...
13513 * grub-core/tests/lib/functional_test.c: ... to here.
13514 * tests/lib/test.c: Moved ...
13515 * grub-core/tests/lib/test.c: ... to here.
13516 * video: Moved ...
13517 * grub-core/video: ... to here.
13518
645586e6
BC
135192010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
13520
13521 Replace --enable-grub-emu-modules with grub-emu-lite.
13522
13523 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
13524 cache.S.
13525
13526 * include/grub/emu/misc.h (grub_emu_init): New prototype.
13527 * kern/emu/full.c: New file. For grub-emu specific initialization.
13528 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
13529 * kern/emu/main.c: Call initialization function grub_emu_init.
13530
13531 * Makefile.in: Include grub-emu-lite in install.
13532 * commands/parttool.c: Use grub_no_autoload to differentiate
13533 between grub-emu and grub-emu-lite.
13534 * include/grub/misc.h: New variable grub_no_autoload.
13535
13536 * conf/any-emu.rmk: New rules for grub-emu-lite.
13537 * configure.ac: Remove --enable-grub-emu-modules.
13538 * genmk.rb: Cleanup unnecessary rules.
13539 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
13540
13541 * normal/main.c: Don't load list files on grub-emu-lite.
13542 * util/misc.c (grub_arch_sync_caches): Removed.
13543
f86a4030
CW
135442010-08-23 Colin Watson <cjwatson@ubuntu.com>
13545
13546 * kern/mips/startup.S (grub_prefix): Update comment to refer to
13547 grub-mkimage rather than grub-mkelfimage.
13548 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13549
06776944
VS
135502010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
13551
13552 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
13553 a key after CapsLock or NumLock. It's just a qemu bug.
13554
df262419
VS
135552010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
13558 needed by libusb wrapper.
13559
b40ea81b
ST
135602010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
13561
13562 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
13563
dee50575
VS
135642010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13565
13566 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
13567 --nounzip is passed.
13568
fb1d7b79
VS
135692010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 USB hotunplugging and USB serial support.
13572
13573 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
13574 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
13575 (grub_uhci_transfer): Respect timeout and set *actual.
13576 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
13577 non-standard length.
13578 (grub_usb_device_attach): Autoload modules.
13579 (GRUB_MOD_INIT): Set grub_term_poll_usb.
13580 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
13581 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
13582 users updated.
13583 (grub_usb_add_hub): Fill nports and children.
13584 (attach_root_port): Receive hub instead of controller.
13585 All users updated. Fill hub->devices.
13586 (grub_usb_root_hub): Allocate hub->devices.
13587 (detach_device): New function.
13588 (poll_nonroot_hub): Fill children and detach devices.
13589 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
13590 actual arguments. All users updated.
13591 (grub_usb_bulk_read_extended): New function.
13592 * bus/usb/serial/common.c: New file.
13593 * bus/usb/serial/ftdi.c: Likewise.
13594 * bus/usb/serial/pl2303.c: Likewise.
13595 * commands/terminal.c (handle_command): Support wildcard.
13596 * commands/usbtest.c: Output "Unknown" instead of empty string.
13597 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
13598 (usbserial_common_mod_SOURCES): New variable.
13599 (usbserial_common_mod_CFLAGS): Likewise.
13600 (usbserial_common_mod_LDFLAGS): Likewise.
13601 (pkglib_MODULES): Add usbserial_pl2303.mod.
13602 (usbserial_pl2303_mod_SOURCES): New variable.
13603 (usbserial_pl2303_mod_CFLAGS): Likewise.
13604 (usbserial_pl2303_mod_LDFLAGS): Likewise.
13605 (pkglib_MODULES): Add usbserial_ftdi.mod.
13606 (usbserial_ftdi_mod_SOURCES): New variable.
13607 (usbserial_ftdi_mod_CFLAGS): Likewise.
13608 (usbserial_ftdi_mod_LDFLAGS): Likewise.
13609 (pkglib_MODULES): Add serial.mod.
13610 (serial_mod_SOURCES): New variable.
13611 (serial_mod_CFLAGS): Likewise.
13612 (serial_mod_LDFLAGS): Likewise.
13613 * conf/i386-pc.rmk: Likewise.
13614 * conf/mips-yeeloong.rmk: Likewise.
13615 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
13616 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13617 * disk/usbms.c (first_available_slot): New variable.
13618 (grub_usbms_attach): Don't reuse free slots due to potential cache
13619 problems.
13620 * include/grub/serial.h: Moved to ..
13621 * include/grub/ns8250.h: ...this.
13622 * include/grub/serial.h: New file.
13623 * include/grub/term.h (grub_term_poll_usb): New variable.
13624 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
13625 readkey. All users updated.
13626 (grub_terminfo_output_state): Pass term to put.
13627 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
13628 (grub_usb_controller_dev): Add timeout and actual arguments to
13629 transfer. All users updated.
13630 (grub_usb_interface): New field detach_data.
13631 (grub_usb_device): New fields children and nports.
13632 (grub_usb_ep_type_t): New type.
13633 (grub_usb_get_ep_type): New function.
13634 (grub_usb_bulk_read_extended): Likewise.
13635 * include/grub/usbdesc.h (grub_usb_desc): New type.
13636 * include/grub/usbserial.h: New file.
13637 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
13638 * kern/term.c (grub_term_poll_usb): New variable.
13639 (grub_getkey): Call grub_term_poll_usb if set.
13640 (grub_checkkey): Likewise.
13641 (grub_getkeystatus): Likewise.
13642 * term/serial.c: Moved controller-specific parts to ...
13643 * term/ns8250.c: ... here.
13644 * term/serial.c: Mostly rewritten.
13645 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
13646 according to spec.
13647
21a313de
RM
136482010-08-20 Robert Millan <rmh@gnu.org>
13649
13650 Make kFreeBSD code more generic to support ext2fs as root, ufs as
13651 a separate module and maybe other interesting combinations.
13652
13653 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
13654 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
13655 (kfreebsd_entry): Add generic filesystem module load routine.
13656 Map GRUB `ext2' to kFreeBSD `ext2fs'.
13657
63c734a6
CW
136582010-08-20 Colin Watson <cjwatson@ubuntu.com>
13659
13660 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
13661 "numcenter" (I misunderstood the purpose of this entry).
13662 * docs/grub.texi (sendkey): Likewise.
13663
c4d16542
CW
136642010-08-20 Colin Watson <cjwatson@ubuntu.com>
13665
13666 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
13667 status flag options; simply omitting the option is equivalent and
13668 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
13669 (keysym_table): Rename "num5numlock" to "numlock".
13670 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
13671 can uniformly say that only the last of multiple `sendkey'
13672 invocations has any effect.
13673 * docs/grub.texi (sendkey): New section.
13674
93541d66
CW
136752010-08-19 Colin Watson <cjwatson@ubuntu.com>
13676
13677 * commands/i386/pc/sendkey.c (options): Fix three typos.
13678
b4ece5e1
VS
136792010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13680
13681 Implement sendkey support.
13682
13683 * commands/i386/pc/sendkey.c: New file.
13684 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
13685 (sendkey_mod_SOURCES): New variable.
13686 (sendkey_mod_CFLAGS): Likewise.
13687 (sendkey_mod_LDFLAGS): Likewise.
13688
51f1f5af
CW
136892010-08-18 Colin Watson <cjwatson@ubuntu.com>
13690
13691 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
13692 fix warnings from Autoconf.
13693
9da94e05
CW
136942010-08-18 Colin Watson <cjwatson@ubuntu.com>
13695
13696 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
13697 to avoid false positives with some assemblers that output things
13698 like "someprefix_func" as part of their output.
13699
729a0f2e
RM
137002010-08-15 Robert Millan <rmh@gnu.org>
13701
13702 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
13703 errors.
13704 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
13705 grub_get_libzfs_handle() errors.
13706
f3710e08
RM
137072010-08-14 Robert Millan <rmh@gnu.org>
13708
13709 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
13710 filesystem is not ZFS.
13711
7a3c13de
BC
137122010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13713
13714 Fix for misspelled color names defaulting to black/black (bug
13715 reported by Doug Nazar)
13716
13717 * include/grub/normal.h (grub_parse_color_name_pair): Add return
13718 status to prototype.
13719 * normal/color.c (grub_parse_color_name_pair): Return failure
13720 status.
13721 (grub_env_write_color_normal): Ignore bad color names.
13722 (grub_env_write_color_highlight): Likewise.
13723 * normal/main.c (GRUB_MOD_INIT): Set default color names.
13724
ab8ba50d
BC
137252010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13726
13727 "shift" command support to GRUB script.
13728
13729 * include/grub/script_sh.h (grub_script_shift): New prototype.
13730 * script/execute.c (grub_script_shift): New function.
13731 * script/main.c (grub_script_init): Register shift command.
13732 (grub_script_fini): Unregister shift command.
13733 * util/grub-script-check.c (grub_script_cmd_shift): New function.
13734
13735 * tests/grub_script_shift.in: New testcase.
13736 * conf/tests.rmk: Rules for new testcase.
13737
4d61999e
BC
137382010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13739
13740 "continue" command support to GRUB script.
13741
13742 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
13743 (grub_script_break): Continue support.
13744 * script/main.c (grub_script_init): Register continue command.
13745 (grub_script_fini): Unregister continue command.
13746
13747 * tests/grub_script_continue.in: New testcase.
13748 * conf/tests.rmk: Rules for new testcase.
13749
4df51e00
BC
137502010-08-12 BVK Chaitanya <bvk@dbook>
13751
13752 "break" command support to GRUB script.
13753
13754 * conf/common.rmk: Rule updates to grub-script-check.
13755 * include/grub/misc.h (grub_min): New function.
13756 * include/grub/script_sh.h (grub_script_init): New prototype.
13757 (grub_script_fini): New prototype.
13758 (grub_script_break): New prototype.
13759 * script/main.c (grub_script_init): New function.
13760 (grub_script_fini): New function.
13761 * script/execute.c (grub_script_break): New function.
13762 * normal/main.c: Calls to grub_script_{init,fini}.
13763 * util/grub-script-check.c (grub_script_break): New function.
13764
13765 * tests/grub_script_break.in: New testcase.
13766 * conf/tests.rmk: Rules for new test case.
13767
f12c8420
BC
137682010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13769
13770 Function parameters support to GRUB script.
13771
13772 * script/yylex.l (VARIABLE): Regular expression update.
13773 * script/function.c (grub_script_function_call): Moved ...
13774 * script/execute.c (grub_script_function_call): ... to here.
13775 (grub_script_execute_arglist_to_argv): Removed.
13776 (grub_script_arglist_to_argv): New function.
13777 * script/argv.c: New file.
13778 (grub_script_argv_free): New function.
13779 (grub_script_argv_next): Likewise.
13780 (grub_script_argv_append): Likewise.
13781 (grub_script_argv_split_append): Likewise.
13782 * include/grub/script_sh.h (grub_script_argv): New struct.
13783 (grub_script_argv_free): New function.
13784 (grub_script_argv_next): Likewise.
13785 (grub_script_argv_append): Likewise.
13786 (grub_script_argv_split_append): Likewise.
13787
13788 * conf/common.rmk (normal.mod): New source script/argv.c.
13789
13790 * tests/grub_script_echo1.in: More tests.
13791 * tests/grub_script_vars1.in: Likewise.
13792 * tests/grub_script_functions.in: New test case.
13793 * conf/tests.rmk: Rules for new testcase.
13794
8022b748
BC
137952010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13796
13797 Remove grub_script_cmdblock struct.
13798
13799 * include/grub/script_sh.h: Remove grub_script_cmdblock.
13800 * script/parser.y: Likewise.
13801 * script/execute.c: Rename cmdblock suffix to cmdlist.
13802 * script/script.c: Likewise.
13803 * util/grub-script-check.c: Likewise.
13804
79a6ba61
YB
138052010-08-11 Yves Blusseau <blusseau@zetam.org>
13806
13807 * .bzrignore: add grub-macho2img
13808
d04b9414
VS
138092010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13810
13811 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
13812
f947ab49
VS
138132010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13814
13815 Remove the dump of sm712 initialisation sequence.
13816
13817 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
13818 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
13819 (GRUB_VGA_IO_MISC_WRITE): Likewise.
13820 (GRUB_VGA_CR_*): Added many registers.
13821 (GRUB_VGA_SR_*): Likewise.
13822 (GRUB_VGA_GR_*): Likewise.
13823 (grub_vga_write_arx): New function.
13824 (grub_video_hw_config): New struct.
13825 (grub_vga_set_geometry): New function.
13826 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
13827 GRUB_PCI_CLASS_SUBCLASS_VGA.
13828 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
13829 * video/sm712.c (grub_sm712_write_reg): New function
13830 (grub_sm712_read_reg): Likewise.
13831 (grub_sm712_sr_write): Likewise.
13832 (grub_sm712_gr_write): Likewise.
13833 (grub_sm712_cr_write): Likewise.
13834 (grub_sm712_write_arx): Likewise.
13835 (grub_sm712_cr_shadow_write): Likewise.
13836 (grub_sm712_write_dda_lookup): Likewise.
13837 (grub_video_sm712_setup): Initialise the video rather then
13838 blindly replay the dump.
13839 (main) [TEST]: Add a routine to be able to compile as standalone for
13840 tests.
13841 * video/sm712_init.c (sm712_init): Removed.
13842 (sm712_sr_seq1): New array.
13843 (sm712_sr_seq2): Likewise.
13844
f0206638
VS
138452010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13846
13847 * include/grub/vga.h: Add missing grub/pci.h include.
13848
2764da3b
YB
138492010-08-10 Yves Blusseau <blusseau@zetam.org>
13850
13851 * util/grub-macho2img.c (main): fix typo
13852
cf0c775e
VS
138532010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13854
13855 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
13856 (grub_vga_gr_read): Likewise.
13857 (grub_vga_cr_write): Likewise.
13858 (grub_vga_cr_read): Likewise.
13859 (grub_vga_sr_write): Likewise.
13860 (grub_vga_sr_read): Likewise.
13861 (grub_vga_palette_read): Likewise.
13862 (grub_vga_palette_write): Likewise.
13863 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
13864 (grub_sm712_sr_read): New function.
13865 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
13866 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
13867
07f360e9
RM
138682010-08-09 Robert Millan <rmh@gnu.org>
13869
13870 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
13871 out unused variables on non-ZFS build.
13872
346c2072
RM
138732010-08-08 Robert Millan <rmh@gnu.org>
13874
13875 Fix path generation for sub-filesystems in ZFS.
13876
13877 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
13878 missing slash.
13879
71175420
RM
138802010-08-08 Robert Millan <rmh@gnu.org>
13881
13882 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
13883
0d8286f3
RM
138842010-08-08 Robert Millan <rmh@gnu.org>
13885
13886 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
13887 exist, issue a proper error message (rely on `ls' for translated
13888 strings).
13889
55dd2924
RM
138902010-08-08 Robert Millan <rmh@gnu.org>
13891
13892 Fix grub-probe invocation.
13893
13894 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
13895
d3dd9e80
RM
138962010-08-04 Robert Millan <rmh@gnu.org>
13897
13898 * configure.ac: Remove checks for getfsstat() and getmntany().
13899 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
13900 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
13901 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
13902 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
13903 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
13904 function.
13905 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
13906 via find_mount_point_from_dir() and getfsstat() / getmntany().
13907
0de22aa9
RM
139082010-08-04 Robert Millan <rmh@gnu.org>
13909
13910 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13911 (grub_find_zpool_from_mount_point): Merge into ...
13912 (grub_find_zpool_from_dir): ... this.
13913 * kern/emu/misc.c: Likewise.
13914
13915 * kern/emu/misc.c
13916 (grub_make_system_path_relative_to_its_root): Replace
13917 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
13918 with grub_find_zpool_from_dir().
13919 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
13920
62858144
RM
139212010-08-04 Robert Millan <rmh@gnu.org>
13922
13923 Support OpenSolaris in ZFS device resolution.
13924
13925 * configure.ac: Check for getmntany().
13926 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
13927 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
13928 support.
13929
9dd6fd50
RM
139302010-08-03 Robert Millan <rmh@gnu.org>
13931
13932 Fix grub-emu build.
13933
13934 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
13935 * include/grub/emu/misc.h: ... here.
13936
13937 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
13938 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
13939
13940 * util/misc.c: Remove `<grub/util/libzfs.h>'.
13941 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
13942 (grub_get_libzfs_handle): Move to ...
13943 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
13944 (grub_get_libzfs_handle): ... here.
13945
c9f7ff97
BC
139462010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
13947
13948 * script/execute.c (grub_script_execute_cmdline): Check for NULL
13949 as command name case.
13950
a870a783
CW
139512010-08-02 Colin Watson <cjwatson@ubuntu.com>
13952
13953 * disk/raid.c (insert_array): Select unique numbers for named arrays
13954 as well, for use as keys in the disk cache.
13955
c7db243b
RM
139562010-08-01 Robert Millan <rmh@gnu.org>
13957
13958 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
13959 kFreeBSD device name, except on ZFS where the filesystem label is
13960 used.
13961 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
13962 `/boot/zfs/zpool.cache'.
13963 Set mountfrom kernel variable using ${kfreebsd_device}.
13964
f7abdefb
RM
139652010-08-01 Robert Millan <rmh@gnu.org>
13966
13967 Make it even harder to use uninitialized `libzfs_handle' (and
13968 make the interface a bit simpler).
13969
13970 * include/grub/util/misc.h (grub_util_init_libzfs)
13971 (libzfs_handle): Remove.
13972 (grub_get_libzfs_handle): New prototype.
13973
13974 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
13975 attribute.
13976 (grub_util_init_libzfs): Remove.
13977 (grub_get_libzfs_handle): New function.
13978
13979 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
13980 grub_get_libzfs_handle() to obtain a libzfs handle instead of
13981 accessing `libzfs_handle' directly.
13982
c882acc0
RM
139832010-08-01 Robert Millan <rmh@gnu.org>
13984
13985 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13986 (grub_find_zpool_from_mount_point): New function prototypes.
13987
13988 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13989 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13990
13991 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13992 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13993 `static' attribute.
13994
13995 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13996 finding zpool from mount point into ...
13997 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13998
13999 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
14000 requested path is part of a ZFS pool, use
14001 grub_find_zpool_from_mount_point() to detect its filesystem name,
14002 and generate a path with `/fsname@path' syntax.
14003
8bfe31d8
CW
140042010-08-01 Colin Watson <cjwatson@ubuntu.com>
14005
14006 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
14007 (void) rather than () so that this is a proper prototype.
14008
553df63d
VS
140092010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14010
14011 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
14012
8687cf07
VS
140132010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14014
14015 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
14016 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
14017
ea9be8ea
CW
140182010-08-01 Colin Watson <cjwatson@ubuntu.com>
14019
14020 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
14021
6eea041a
CW
140222010-08-01 Colin Watson <cjwatson@ubuntu.com>
14023
14024 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
14025
2cfb45df
CW
140262010-08-01 Colin Watson <cjwatson@ubuntu.com>
14027
14028 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
14029 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
14030 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
14031 disable gfxpayload.
14032 (Shell-like scripting): Add real content.
14033 (Serial terminal): Suggest `terminal_input serial; terminal_output
14034 serial' rather than putting the two commands on separate lines,
14035 since console input will be inoperative after the first command.
14036 (menuentry): Document --class, --users, and --hotkey options.
14037 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
14038 Vladimir Serbinenko).
14039
7decd202
VS
140402010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
140412010-08-01 Colin Watson <cjwatson@ubuntu.com>
14042
14043 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
14044
c882acc0
RM
140452010-08-01 Robert Millan <rmh@gnu.org>
14046
14047 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14048 (grub_find_zpool_from_mount_point): New function prototypes.
14049
14050 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
14051 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
14052
14053 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
14054 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
14055 `static' attribute.
14056
14057 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
14058 finding zpool from mount point into ...
14059 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
14060
14061 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
14062 requested path is part of a ZFS pool, use
14063 grub_find_zpool_from_mount_point() to detect its filesystem name,
14064 and generate a path with `/fsname@path' syntax.
14065
deb0caa3
RM
140662010-08-01 Robert Millan <rmh@gnu.org>
14067
14068 Prevent accidental use of uninitialized libzfs_handle.
14069
14070 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
14071 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
14072 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
14073
ce04ef47
CW
140742010-08-01 Colin Watson <cjwatson@ubuntu.com>
14075
14076 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
14077 util/grub.d/10_linux.in). Fixes Debian bug #591093.
14078
ebf53056
RM
140792010-08-01 Robert Millan <rmh@gnu.org>
14080
14081 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 14082
3710bb6b
RM
140832010-07-31 Robert Millan <rmh@gnu.org>
14084
14085 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
14086
8072efeb
RM
140872010-07-31 Robert Millan <rmh@gnu.org>
14088
14089 * kern/emu/misc.c: Add missing license header.
14090
3169f4c7
RM
140912010-07-31 Robert Millan <rmh@gnu.org>
14092
14093 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
14094
14095 * include/grub/util/libnvpair.h: Include `<config.h>'.
14096 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
14097 declaring libnvpair prototypes ourselves.
14098 * include/grub/util/libzfs.h: Include `<config.h>'.
14099 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
14100 declaring libzfs prototypes ourselves.
14101
14102 (libzfs_handle): Moved to ...
14103 * include/grub/util/misc.h (libzfs_handle): ... here.
14104 Include `<grub/util/libzfs.h>'.
14105
c9a00aee
RM
141062010-07-30 Robert Millan <rmh@gnu.org>
14107
14108 * include/grub/emu/misc.h: Add missing license header.
14109
a184f9c8
RM
141102010-07-30 Robert Millan <rmh@gnu.org>
14111
14112 Enable `grub-probe -t device' resolution on ZFS.
14113
14114 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
14115 * include/grub/util/libnvpair.h: New file.
14116 * include/grub/util/libzfs.h: New file.
14117
14118 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
14119 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
14120 `<grub/util/libnvpair.h>'.
14121 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
14122
14123 (find_mount_point_from_dir): New static function.
14124 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
14125 function.
14126 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
14127 find_root_device_from_libzfs() before ressorting to find_root_device().
14128
14129 * include/grub/util/misc.h (grub_util_init_libzfs): New function
14130 prototype.
14131 * util/misc.c: Include `<grub/util/libzfs.h>'.
14132 (grub_util_init_libzfs): New function.
14133 [HAVE_LIBZFS] (libzfs_handle): New global variable.
14134 [HAVE_LIBZFS] (fini_libzfs): New static function.
14135 (grub_util_init_libzfs): New function.
14136 * util/grub-probe.c (main): Call grub_util_init_libzfs().
14137
f7790cdd
RM
141382010-07-30 Robert Millan <rmh@gnu.org>
14139
14140 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
14141 (xmalloc, xrealloc, xstrdup, xasprintf): Add
14142 `warn_unused_result' attribute.
14143 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
14144 (grub_xasprintf, grub_xvasprintf): Likewise.
14145 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
14146
0806b63c
RM
141472010-07-29 Robert Millan <rmh@gnu.org>
14148
14149 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
14150 (probe): Handle `PRINT_FS_LABEL'.
14151 (main): Handle `-t fs_label'.
14152
9f841f5c
RM
141532010-07-29 Robert Millan <rmh@gnu.org>
14154
14155 * configure.ac: Remove grub-mkisofs checks.
14156
46371121
VS
141572010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
14158
14159 * util/ieee1275/grub-install.in: Don't use empty grub_device.
14160 Reported by: Lennart Sorensen.
14161
141622010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14163
14164 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
14165 prior to terminal_input/terminal_output separation. It's been over 1.5
14166 years and those versions weren't widely deployed.
14167
a9600892
CW
141682010-07-22 Colin Watson <cjwatson@ubuntu.com>
14169
14170 * disk/raid.c (insert_array): Don't count named arrays when looking
14171 for unused array numbers.
697e053c 14172 Reported and tested by: Michael Guntsche.
a9600892 14173
c03507df
CW
141742010-07-20 Colin Watson <cjwatson@ubuntu.com>
14175
14176 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
14177 implementation of this so that grub-emu links again, with a note
14178 that this should support hotplugging in the future.
14179
b26f1c11
CW
141802010-07-20 Colin Watson <cjwatson@ubuntu.com>
14181
14182 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
14183
efc9d7f1
CW
141842010-07-20 Colin Watson <cjwatson@ubuntu.com>
14185
14186 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
14187 handle on failure.
14188 (grub_loopback_close): Remove empty function.
14189 (grub_loopback_dev): Remove close method.
14190
dd8ff5c9
CW
141912010-07-20 Colin Watson <cjwatson@ubuntu.com>
14192
14193 Disable EFI cursor when the EFI console becomes inactive.
14194
14195 * term/efi/console.c (grub_efi_console_init): New function.
14196 (grub_efi_console_fini): New function.
14197 (grub_console_term_output): Register init and fini methods.
14198
5e3bec67
VS
141992010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14200
14201 * tests/util/grub-shell-tester.in: Remove bashism and declare as
14202 sh script.
14203
afaec079
VS
142042010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14205
14206 * disk/loopback.c (grub_loopback): Replace filename with file.
14207 (delete_loopback): Handle new semantics.
14208 (grub_cmd_loopback): Likewise.
14209 (grub_loopback_iterate): Likewise.
14210 (grub_loopback_close): Likewise.
14211
a6a11f3c
VS
142122010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
14215 with -p "".
14216 Reported by: Tito Keitel.
14217
64a638b0
VS
142182010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14219
14220 * docs/grub.texi (Naming convention): Document new naming convention.
14221
ab8ba957
VS
142222010-07-20 Vadim Solomin <vadic052@gmail.com>
142232010-07-20 Colin Watson <cjwatson@ubuntu.com>
14224
14225 Generate device.map in something closer to the old ordering.
14226
14227 * util/deviceiter.c (struct device): New declaration.
14228 (compare_file_names): Rename to ...
14229 (compare_devices): ... this. Sort by kernel name in preference to
14230 the stable by-id name, but keep the latter as a fallback comparison.
14231 Update header comment.
14232 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
14233 of `struct device' rather than of plain file names.
14234
a29d6a4b
TF
142352010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
14236
14237 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
14238 on i386.
14239
39d824e8
VS
142402010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14241
14242 * commands/acpi.c (setup_common_tables): Use sizeof instead of
14243 hardcoding size.
14244 (setv1table): Likewise.
14245
f058276b
FZ
142462010-07-20 Colin Watson <cjwatson@ubuntu.com>
14247
14248 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
14249 removing the homehost if present.
14250 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
14251 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
14252 removing the homehost if present.
14253 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
14254 if possible.
14255 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
14256
14257 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
14258 parameter. Set its pointer target to 0.
14259 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
14260 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
14261 `data_offset' value from the superblock for 1.x metadata.
14262 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
14263 data on the device.
14264 (insert_array): Record the start sector of data on the device.
14265 (grub_raid_register): Pass start_sector parameters to
14266 grub_raid_list->detect and insert_array.
14267 * include/grub/raid.h (struct grub_raid_array): Add start_sector
14268 member.
14269 (struct grub_raid): Add start_sector parameter to `detect'.
14270
14271 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
14272 __attribute__ ((packed)), leaving a comment.
14273 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
14274 (grub_mdraid_detect_09): ... here and ...
14275 (grub_mdraid_detect_1x): ... here.
14276
142772010-07-20 Peter Henn <peter.henn@web.de>
14278
14279 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
14280 chunk size and disk size, which are already given as sector counts
14281 as distinct from the 0.90 units. Fetch the correct device number
14282 from the role table instead of using the table index.
14283
142842010-07-20 Felix Zielcke <fzielcke@z-51.de>
14285
14286 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
14287 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
14288 (WriteMostly1): New macro.
14289 Set array->name to NULL for metadata format 0.90. Add support for
14290 metadata 1.x. Fix some comments.
14291 * disk/raid.c (): Add support for name based RAID arrays. Fix a
14292 few comments.
14293 * util/getroot.c (grub_util_get_grub_dev): Add support for
14294 /dev/md/name style devices.
14295
4b761da9
CW
142962010-07-20 Colin Watson <cjwatson@ubuntu.com>
14297
14298 * .bzrignore: Ignore 20_linux_xen.
14299
5771289a
CW
143002010-07-17 Colin Watson <cjwatson@ubuntu.com>
14301
14302 * util/import_unicode.py: Remove unnecessary imports.
14303
5dab68df
AN
143042010-07-17 Aleš Nesrsta <starous@volny.cz>
14305
14306 Hotplugging and USB hub support.
14307
14308 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
14309 (grub_ohci): Likewise.
14310 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
14311 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
14312 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
14313 (GRUB_OHCI_CTRL_EDS): Likewise.
14314 (GRUB_OHCI_BULK_EDS): Likewise.
14315 (GRUB_OHCI_TDS): Likewise.
14316 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
14317 (grub_ohci_ed_phys2virt): New function.
14318 (grub_ohci_virt_to_phys): Likewise.
14319 (grub_ohci_td_phys2virt): Likewise.
14320 (grub_ohci_td_virt2phys): Likewise.
14321 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
14322 attachment.
14323 (grub_ohci_find_ed): New function.
14324 (grub_ohci_alloc_td): Likewise.
14325 (grub_ohci_free_td): Likewise.
14326 (grub_ohci_free_tds): Likewise.
14327 (grub_ohci_transfer): Use previously allocated memory.
14328 (grub_ohci_portstatus): Reset status changed bit.
14329 (grub_ohci_detect_dev): Supply status changed.
14330 (grub_ohci_fini_hw): Free memory.
14331 (grub_ohci_restore_hw): Reallocate memory.
14332 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
14333 Reset status change.
14334 (grub_uhci_detect_dev): Supply status_change.
14335 * bus/usb/usb.c (attach_hooks): New var.
14336 (grub_usb_device_attach): New function.
14337 (grub_usb_register_attach_hook_class): Likewise.
14338 (grub_usb_unregister_attach_hook_class): Likewise.
14339 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
14340 (grub_usb_add_hub): Reset connection changed bit.
14341 (attach_root_port): New function.
14342 (grub_usb_root_hub): Likewise.
14343 (poll_nonroot_hub): Likewise.
14344 (grub_usb_poll_devices): Likewise.
14345 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
14346 * disk/usbms.c (grub_usbms_open): Use device hooks.
14347 (grub_usbms_iterate) :Poll devices.
14348 (grub_usbms_finddevs): Split into ...
14349 (grub_usbms_attach): ... this ...
14350 (grub_usbms_attach): ... and this.
14351 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
14352 in detect_dev.
14353 (grub_usb_interface): New fields attached and detach_hook.
14354 (grub_usb_attach_hook_class): New type.
14355 (grub_usb_attach_desc): New struct.
14356 (grub_usb_register_attach_hook_class): New function.
14357 (grub_usb_unregister_attach_hook_class): Likewise.
14358 (grub_usb_poll_devices): Likewise.
14359 (grub_usb_device_attach): Likewise.
14360 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
14361 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
14362
3222efaf
VS
143632010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14364
14365 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
14366 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
14367 delta determination style. Works with most NetBSD partitions too.
14368
139b714a
VS
143692010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
14372 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
14373
986aad56
VS
143742010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
14375
14376 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
14377
99be513c
AB
143782010-07-14 Anton Blanchard <anton@samba.org>
14379
14380 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
14381 ET_DYN files.
14382
18075f62
GS
143832010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14384
14385 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
14386
8d9a5b15
GS
143872010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14388
14389 * kern/partition.c (grub_partition_check_containment): New function to
14390 check that a partition is physically contained in a parent. Since
14391 offsets are relative (and non-negative), this reduces to checking that
14392 the partition ends before its parent.
14393 (grub_partition_map_probe): Discard out-of-range sub-partitions.
14394 (grub_partition_iterate): Likewise.
14395 * include/grub/partition.h (grub_partition_map): Slightly more detailed
14396 comments.
14397 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
14398 partitions that start before their parent, and add debug printfs.
14399
19563c25
CW
144002010-07-13 Colin Watson <cjwatson@ubuntu.com>
14401
14402 * Makefile.in (.SUFFIX): Spell correctly, as ...
14403 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
14404 bare module name without `.mod', e.g. `test') tried to invoke a
14405 Modula-2 compiler.
14406
1a1f1e67
CW
144072010-07-13 Colin Watson <cjwatson@ubuntu.com>
14408
14409 * README: Point to the Info manual.
14410
811b0dca
JS
144112010-07-13 Jiro SEKIBA <jir@unicus.jp>
14412
14413 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
14414 2nd superblock position from partition size.
14415
e4f4eafc
CW
144162010-07-10 Colin Watson <cjwatson@ubuntu.com>
14417
14418 * Makefile.in (MAINTAINER_CLEANFILES): Remove
14419 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
14420 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
14421 outputs.
14422
4274c30f
VS
144232010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14424
14425 Restructure SCSI .id handling.
14426 Reported and tested by: Aleš Nesrsta.
14427
14428 * disk/ata.c (grub_atapi_close): Removed. All users updated.
14429 (grub_atapi_dev): Changed .name to "ata". New field .id.
14430 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
14431 (grub_usbms_dev): New field .id.
14432 * disk/scsi.c (grub_scsi_iterate): Generate name.
14433 (grub_scsi_open): Parse name.
14434 * include/grub/scsi.h (grub_make_scsi_id): New function.
14435 (grub_scsi_dev): Change iterate and open to number instead of naming
14436 busses. All users updated.
14437 (grub_scsi): Remove name. Add .bus.
14438
5bc24388
VS
144392010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14440
14441 * commands/help.c (grub_cmd_help): Fix a typo.
14442
249975ba
VS
144432010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14444
14445 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
14446 Reported and tested by: Colin Watson.
14447
3eaac1a1
VS
144482010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14449
14450 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
14451 in this context.
14452
becce1b1
VS
144532010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14454
14455 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
14456
f7bf0918
CW
144572010-07-07 Colin Watson <cjwatson@ubuntu.com>
14458
14459 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
14460 indentation.
14461
0b0f9620
CW
144622010-07-06 Colin Watson <cjwatson@ubuntu.com>
14463
14464 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
14465 and disk/raid6_recover.c.
14466 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14467 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
14468
1e545469
CW
144692010-07-06 Colin Watson <cjwatson@ubuntu.com>
14470
14471 * term/gfxterm.c (repaint_schedulded): Rename to ...
14472 (repaint_scheduled): ... this. Update all callers.
14473 (repaint_was_schedulded): Rename to ...
14474 (repaint_was_scheduled): ... this. Update all callers.
14475
5357687a
CW
144762010-07-06 Colin Watson <cjwatson@ubuntu.com>
14477
14478 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
14479 which we expect to be handled by upper layers.
14480
29d7e783
BC
144812010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
14482
14483 * bus/usb/usbhub.c: #include time.h header.
14484
37582066
CW
144852010-07-06 Colin Watson <cjwatson@ubuntu.com>
14486
14487 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
14488 entry_name also for entries without stat blocks (e.g. ".."); fixes
14489 corruption of the first entry in a directory.
14490
c8c06953
CW
144912010-07-06 Colin Watson <cjwatson@ubuntu.com>
14492
14493 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
14494 after setting gfxterm as the active terminal. GRUB_BACKGROUND
14495 doesn't work otherwise.
14496
e75056f1
CW
144972010-07-05 Colin Watson <cjwatson@ubuntu.com>
14498
14499 * docs/grub.texi (Features): Update list of supported file systems.
14500 (GNU/Linux): Update for GRUB 2.
14501 (Serial terminal): Remove mention of --disable-serial, which was a
14502 GRUB Legacy configure option. Update instructions to use
14503 `terminal_input' and `terminal_output' rather than `terminal'.
14504 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
14505 configuration' and `Installing GRUB using grub-install'.
14506 (Menu entry editor): Update for GRUB 2.
14507 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
14508 Document new -a, -u, and -v options.
14509 (initrd): New section.
14510 (initrd16): New section.
14511 (linux): New section.
14512 (linux16): New section.
14513 (search): The `var' argument to `--set' is optional.
14514 (GRUB only offers a rescue shell): Go into a little more detail on
14515 drive ordering.
14516
5cf69151
CW
145172010-07-05 Colin Watson <cjwatson@ubuntu.com>
14518
14519 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
14520
e3f90044
CW
145212010-07-05 Colin Watson <cjwatson@ubuntu.com>
14522
14523 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
14524 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
14525
38d8f4f3
CW
145262010-07-05 Colin Watson <cjwatson@ubuntu.com>
14527
14528 * util/i386/pc/grub-setup.c (setup): Rename prefix to
14529 install_prefix, in line with install_dos_part and install_bsd_part.
14530 Add new prefix variable, which is copied to install_prefix after
14531 comparing core.img in memory with the one read from disk in the
14532 no-embedding case, and use that rather than overwriting
14533 install_prefix immediately when installing to a partition.
14534 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
14535 Bicakci.
14536
57ebd41e
GS
145372010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14538
14539 * configure.ac: Avoid == in test command, it's not portable.
14540 * util/grub.d/30_os-prober.in: Likewise.
14541
cb7f64b2
CW
145422010-07-04 Colin Watson <cjwatson@ubuntu.com>
14543
14544 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
14545
6b654bb0
GS
145462010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14547
14548 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
14549 multiple (top-level) partmaps.
14550
72a2026d
VS
145512010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14552
14553 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 14554 Reported by: Tino Keitel.
72a2026d 14555
df3eb88f
VS
145562010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14557
14558 Bidi and diacritics support.
14559
14560 * Makefile.in (widthspec.bin): New target.
14561 (widthspec.h): Likewise.
14562 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
14563 * autogen.sh: Generate unidata.c.
14564 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
14565 * commands/ls.c (grub_ls_list_devices): Likewise.
14566 (grub_ls_list_files): Likewise.
14567 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
14568 (grub_mini_cmd_lsmod): Likewise.
14569 * commands/read.c: Likewise.
14570 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
14571 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
14572 * lib/arg.c (grub_arg_show_help): Likewise.
14573 * lib/crypto.c (grub_password_get): Likewise.
14574 * normal/auth.c (grub_username_get): Likewise.
14575 * normal/misc.c (grub_normal_print_device_info): Likewise.
14576 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
14577 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
14578 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
14579 (normal/charset.c_DEPENDENCIES): New variable.
14580 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
14581 (pkglib_MODULES): Remove charset.mod.
14582 (charset_mod_SOURCES): Removed.
14583 (charset_mod_CFLAGS): Likewise.
14584 (charset_mod_LDFLAGS): Likewise.
14585 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
14586 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
14587 and term/tparm.c.
14588 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14589 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14590 (kernel_img_HEADERS): Add terminfo.h.
14591 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
14592 Fill ->font. Reverse ascii bitmaps.
14593 (grub_font_get_xheight): New function.
14594 * font/font.c (grub_font_get_string_width): Moved from here ...
14595 * gfxmenu/font.c (grub_font_get_string_width): ... here.
14596 * font/font.c (grub_font_draw_string): Moved from here ...
14597 * gfxmenu/font.c (grub_font_draw_string): ... here.
14598 * font/font.c (grub_font_dup_glyph): New function.
14599 (grub_font_blit_glyph): Likewise.
14600 (grub_font_blit_glyph_mirror): Likewise.
14601 (blit_comb): Likewise.
14602 (grub_font_construct_dry_run): Likewise.
14603 (grub_font_get_constructed_device_width): Likewise.
14604 (grub_font_construct_glyph): Likewise.
14605 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
14606 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
14607 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
14608 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
14609 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
14610 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
14611 (grub_font_get_xheight): New proto.
14612 (grub_font_get_constructed_device_width): Likewise.
14613 (grub_font_construct_glyph): Likewise.
14614 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
14615 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
14616 * include/grub/font.h (grub_font_draw_string): Moved from here ...
14617 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
14618 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
14619 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
14620 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
14621 (grub_console_getcharwidth): Likewise.
14622 * include/grub/misc.h (grub_xputs): New proto.
14623 (grub_puts): Inlined.
14624 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
14625 (grub_normal_get_line_counter): Removed.
14626 (grub_install_newline_hook): Likewise.
14627 (grub_normal_get_char_counter): New proto.
14628 (grub_normal_reset_more): Likewise.
14629 (grub_xputs_normal): Likewise.
14630 * include/grub/powerpc/ieee1275/console.h: Removed.
14631 * include/grub/sparc64/ieee1275/console.h: Likewise.
14632 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
14633 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
14634 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
14635 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
14636 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
14637 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
14638 (grub_term_input): Pass reference to self. All users updated.
14639 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
14640 Pass reference to self. New fields normal_color, highlight_color and
14641 data. All users updated.
14642 (grub_putchar): Removed.
14643 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
14644 (grub_unicode_estimate_width): New function.
14645 (grub_term_getcharwidth): Add defaults.
14646 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
14647 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
14648 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
14649 (grub_cls): Remove EXPORT_FUNC.
14650 (grub_setcolorstate): Inline.
14651 (grub_newline_hook): Removed.
14652 * include/grub/terminfo.h: Rewritten. All users updated.
14653 * include/grub/unicode.h: New file.
14654 * include/grub/video.h (grub_video_signed_rect): New type.
14655 * kern/emu/console.c (grub_console_highlight_color): Removed.
14656 (grub_console_normal_color): Likewise.
14657 (grub_console_standard_color): Made static.
14658 (grub_ncurses_putchar): Remove mapping.
14659 (grub_ncurses_getcharwidth): Removed.
14660 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14661 (grub_ncurses_setcolor): Removed.
14662 (grub_ncurses_getcolor): Likewise.
14663 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
14664 (grub_console_putchar): ... this.
14665 (grub_console_putchar): Handle argument difference.
14666 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
14667 console_init_early and console_init_lately.
14668 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
14669 * kern/misc.c (grub_puts): Removed.
14670 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
14671 (grub_vsnprintf_real): Remove str = NULL support.
14672 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
14673 * normal/charset.c (grub_utf8_to_ucs4): ... here.
14674 * kern/term.c (grub_putcode): Renamed to ...
14675 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
14676 (grub_putchar): Removed.
14677 (grub_xputs_dumb): New function.
14678 (grub_xputs): New variable.
14679 * lib/charset.c: Move from here ...
14680 * normal/charset.c: ... to here.
14681 (grub_ucs4_to_utf8): New function.
14682 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
14683 (join_types): New variable.
14684 (unpack_join): New function.
14685 (bidi_types): New variable.
14686 (unpack_bidi): New function.
14687 (get_bidi_type): Likewise.
14688 (get_join_type): Likewise.
14689 (is_mirrored): Likewise.
14690 (grub_unicode_get_comb_type): Likewise.
14691 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
14692 (is_type_after): Likewise.
14693 (grub_unicode_aglomerate_comb): Likewise.
14694 (bidi_line_wrap): Likewise.
14695 (grub_bidi_line_logical_to_visual): Likewise.
14696 (grub_bidi_logical_to_visual): Likewise.
14697 (grub_unicode_mirror_code): Likewise.
14698 (grub_unicode_shape_code): Likewise.
14699 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
14700 Don't use grub_putchar.
14701 * normal/main.c (grub_normal_init_page): Use grub_putcode.
14702 (grub_normal_reader_init): Likewise.
14703 (grub_xputs_saved): New variable.
14704 (GRUB_MOD_INIT): Set grub_xputs.
14705 (GRUB_MOD_FINI): Restore grub_xputs.
14706 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
14707 (menu_init): Avoid printing gfxmenu error.
14708 (show_menu): Use grub_normal_get_char_counter.
14709 * normal/menu_entry.c (update_screen): Fix out-of-array.
14710 (complete): Avoid NULL dereferencing.
14711 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
14712 * normal/menu_text.c (print_spaces): Removed.
14713 (grub_print_ucs4): Likewise.
14714 (grub_print_message_indented): Use grub_print_ucs4.
14715 (print_message): Use grub_putcode.
14716 (print_entry): Hanlde diacritics.
14717 * normal/term.c (term_state): New type.
14718 (grub_more_lines): Removed.
14719 (term_states): New variable.
14720 (grub_normal_line_counter): Renamed to ..
14721 (grub_normal_char_counter): ...this. All users updated.
14722 (grub_normal_get_line_counter): Renamed to ...
14723 (grub_normal_get_char_counter): ... this.
14724 (grub_normal_reset_more): New function.
14725 (process_newline): Removed.
14726 (print_more): New function.
14727 (grub_install_newline_hook): Removed.
14728 (map_code): New function.
14729 (grub_puts_terminal): Use grub_print_ucs4.
14730 (putglyph): New function.
14731 (putcode_real): Likewise.
14732 (grub_putcode): Use putcode_real.
14733 (get_maxwidth): New function.
14734 (get_startwidth): Likewise.
14735 (print_ucs4_terminal): Likewise.
14736 (find_term_state): Likewise.
14737 (put_glyphs_terminal): Likewise.
14738 (print_backlog): Likewise.
14739 (print_ucs4_real): Likewise.
14740 (grub_print_ucs4): Likewise.
14741 (grub_xputs_normal): Likewise.
14742 * term/efi/console.c (grub_console_putchar): Output diacritics.
14743 (grub_console_getcharwidth): Removed.
14744 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14745 * term/gfxterm.c (clear_char): Free chars.
14746 (scroll_up): Avoid leaking memory.
14747 (grub_gfxterm_putchar): Support diacritics.
14748 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14749 * term/i386/pc/console.c (grub_console_term_output): Declare as
14750 GRUB_TERM_CODE_TYPE_VGA.
14751 * term/i386/pc/vga.c (grub_vga_term): Declare as
14752 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
14753 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
14754 GRUB_TERM_CODE_TYPE_VGA.
14755 * term/i386/vga_common.c (map_char): Removed.
14756 (grub_console_putchar): Likewise.
14757 (grub_console_getcharwidth): Likewise.
14758 * term/ieee1275/ofconsole.c: Simplify using terminfo.
14759 (colors): Reordered to match terminfo.
14760 (grub_ofconsole_normal_color): Removed.
14761 (grub_ofconsole_writeesc): Likewise.
14762 (grub_ofconsole_highlight_color): Likewise.
14763 (grub_ofconsole_getcharwidth): Likewise.
14764 (grub_ofconsole_setcolorstate): Likewise.
14765 (grub_ofconsole_setcolor): Likewise.
14766 (grub_ofconsole_getcolor): Likewise.
14767 (grub_ofconsole_readkey): Renamed to ...
14768 (readkey): ... this. Remove escape sequence handling. Return -1 on no
14769 key.
14770 (grub_ofconsole_checkkey): Removed.
14771 (grub_ofconsole_getkey): Likewise.
14772 (grub_ofconsole_getxy): Likewise.
14773 (grub_ofconsole_gotoxy): Likewise.
14774 (grub_ofconsole_cls): Likewise.
14775 (grub_ofconsole_refresh): Likewise.
14776 (grub_ofconsole_terminfo_input): New struct.
14777 (grub_ofconsole_terminfo_output): Likewise.
14778 (grub_ofconsole_term_input): Use terminfo.
14779 (grub_ofconsole_term_output): Likewise.
14780 (grub_console_init): Split into ...
14781 (grub_console_init_early): ...this and ...
14782 (grub_console_init_lately): ...this. Use terminfo.
14783 (grub_ofconsole_putchar): Renamed to ...
14784 (put): ... this. Remove mapping.
14785 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14786 * term/serial.c: Simplify using terminfo.
14787 (xpos): Removed.
14788 (ypos): Likewise.
14789 (keep_track): Likewise.
14790 (registered): Likewise.
14791 (input_buf): Likewise.
14792 (npending): Likewise.
14793 (serial_translate_key_sequence): Likewise.
14794 (fill_input_buf): Likewise.
14795 (grub_serial_checkkey): Likewise.
14796 (grub_serial_getkey): Likewise.
14797 (grub_serial_getxy): Likewise.
14798 (grub_serial_gotoxy): Likewise.
14799 (grub_serial_putchar): Likewise.
14800 (grub_serial_cls): Likewise.
14801 (grub_serial_setcolorstate): Likewise.
14802 (grub_serial_setcursor): Likewise.
14803 (serial_hw_init): Use serial_hw_fetch.
14804 (grub_serial_terminfo_input): New variable.
14805 (grub_serial_terminfo_output): Likewise.
14806 (grub_serial_term_input): Use terminfo.
14807 (grub_serial_term_output): Likewise.
14808 * term/terminfo.c (putstr): Use put.
14809 (grub_terminfo_all_free): New function
14810 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
14811 (grub_terminfo_output_register): New function.
14812 (grub_terminfo_output_unregister): Likewise.
14813 (grub_terminfo_getxy): Likewise.
14814 (grub_terminfo_readkey): Likewise.
14815 (grub_terminfo_checkkey): Likewise.
14816 (grub_terminfo_getkey): Likewise.
14817 (grub_terminfo_input_init): Likewise.
14818 (print_terminfo): Likewise.
14819 (grub_cmd_terminfo): Handle encoding.
14820 (grub_terminfo_gotoxy): Track position.
14821 (grub_terminfo_cls): Likewise.
14822 (grub_terminfo_putchar): Likewise.
14823 (grub_terminfo_setcolorstate): Handle colors
14824 (grub_terminfo_cursor_on): This ...
14825 (grub_terminfo_cursor_off): ... and this merged into ...
14826 (grub_terminfo_setcursor): ... this.
14827 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
14828 * unicode/ArabicShaping.txt: New file (imported from Unicode).
14829 * unicode/BidiMirroring.txt: Likewise.
14830 * unicode/UnicodeData.txt: Likewise.
14831 * unicode/COPYING: Likewise.
14832 * util/grub-editenv.c (grub_putchar): Removed.
14833 (grub_xputs_real): New function.
14834 (grub_xputs): New variable.
14835 * util/grub-fstest.c (grub_putchar): Removed.
14836 (grub_xputs_real): New function.
14837 (grub_xputs): New variable.
14838 * util/grub-mkdevicemap.c (grub_putchar): Removed.
14839 (grub_xputs_real): New function.
14840 (grub_xputs): New variable.
14841 * util/grub-probe.c (grub_putchar): Removed.
14842 (grub_xputs_real): New function.
14843 (grub_xputs): New variable.
14844 * util/grub-script-check.c (grub_putchar): Removed.
14845 (grub_xputs_real): New function.
14846 (grub_xputs): New variable.
14847 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
14848 (grub_xputs_real): New function.
14849 (grub_xputs): New variable.
14850 * util/import_unicode.py: New file.
14851 * util/grub-mkfont.c (ft_errmsgs): New array.
14852 (grub_glyph_info): Make bitmap a pointer.
14853 (file_formats): New type WIDTH_SPEC.
14854 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
14855 (options): Add width-spec.
14856 (help): Likewise.
14857 (add_char): Renamed to ...
14858 (add_glyph): ... this.
14859 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
14860 (glyph_replace): New type.
14861 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
14862 (add_char): New function.
14863 (add_subst): Likewise.
14864 (process_cursive): Likewise.
14865 (add_font): Handle GSUB.
14866 (write_font_width_spec): New function.
14867 (main): Sort glyphs.
14868 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
14869 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
14870 * kern/term.c (grub_cls): Moved from here...
14871 * normal/term.c (grub_cls): ... here.
14872
50f0bcda
CW
148732010-07-02 Colin Watson <cjwatson@ubuntu.com>
14874
14875 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
14876 suitable for using within the format argument of printf when
14877 converting grub_size_t.
14878 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
14879 "x" to convert grub_size_t arguments.
14880
40372103
VS
148812010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14882
14883 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
14884 too long captions.
14885 (list_get_minimal_size): Take selection box into account.
14886
942a10c7
VS
148872010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14888
14889 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
14890 NULL font.
14891
2bdb2892
CW
148922010-07-02 Colin Watson <cjwatson@ubuntu.com>
14893
14894 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
14895 devices when iterating over /dev/disk/by-id; they will be handled
14896 later if appropriate, which they aren't always (e.g. LVM).
14897
e03ed6c1
CW
148982010-07-02 Colin Watson <cjwatson@ubuntu.com>
14899
14900 * include/grub/misc.h (grub_reboot): Declare as noreturn.
14901 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
14902 fails.
14903 (grub_halt): Likewise.
14904 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
14905 reset-all fails.
14906 (grub_halt): Don't return, even if all of shut-down, power-off, and
14907 poweroff fail.
14908
47695765
CW
149092010-07-02 Colin Watson <cjwatson@ubuntu.com>
14910
14911 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
14912 arguments, not three.
14913
507736c8
CW
149142010-07-02 Colin Watson <cjwatson@ubuntu.com>
14915
14916 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
14917 * util/grub.d/10_linux.in: Use it to check for LVM, so that
14918 LVM-on-RAID is handled correctly.
14919
e3c8cd37
CW
149202010-07-02 Colin Watson <cjwatson@ubuntu.com>
14921
14922 * docs/grub.texi (Changes from GRUB Legacy): New section.
14923 (Future): Fix typo.
14924
8d4a2fec
CW
149252010-07-02 Colin Watson <cjwatson@ubuntu.com>
14926
14927 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
14928 grub.d/README accidentally ends up executable for one reason or
14929 another. Ignore it.
14930
1c4827be
VS
149312010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14932
14933 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
14934 (gpt_partition_map_iterate): Support non-512B sectors.
14935
d9a0c941
VS
149362010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14937
14938 * kern/efi/init.c (grub_efi_init): Disable watchdog.
14939 Tested by: Seth Goldberg.
14940
48f27e87
VS
149412010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14942
14943 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
14944 Properly align mbi.
14945 Reported by: Seth Goldberg.
14946
b0c4f956
VS
149472010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14948
14949 * util/grub-mkrescue.in: Avoid module duplication.
14950
105a2e8c
SF
149512010-07-01 Sean Finney <seanius@seanius.net>
14952
14953 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
14954
5944958c
SF
149552010-07-01 Sean Finney <seanius@seanius.net>
14956
14957 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
14958
149592010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14960
14961 * disk/lvm.c (grub_lvm_checkvalue): New function.
14962 (grub_lvm_check_flag): Likewise.
14963
b79889ba
RM
149642010-07-01 Robert Millan <rmh@gnu.org>
14965
14966 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
14967 Support 'p' as partition separator on kernel of FreeBSD (used
14968 with GPT labels).
14969 (grub_util_biosdisk_get_grub_dev): Likewise.
14970
ec1d04f1
VS
149712010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14972
14973 Yeeloong firmware port.
14974
14975 * boot/mips/yeeloong/fwstart.S: New file.
14976 * bus/cs5536.c (gpiodump): New const.
14977 (set_io_space): New function.
14978 (set_iod): Likewise.
14979 (set_p2d): Likewise.
14980 (grub_cs5536_init_geode): Likewise.
14981 * commands/mips/yeeloong/lsspd.c: New file.
14982 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
14983 (serial_mod_SOURCES): New variable.
14984 (serial_mod_CFLAGS): Likewise.
14985 (serial_mod_LDFLAGS): Likewise.
14986 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
14987 term/terminfo.c and term/tparm.c.
14988 (pkglib_IMAGES): Add fwstart.img.
14989 (fwstart_img_SOURCES): New variable.
14990 (fwstart_img_CFLAGS): Likewise.
14991 (fwstart_img_ASFLAGS): Likewise.
14992 (fwstart_img_LDFLAGS): Likewise.
14993 (fwstart_img_FORMAT): Likewise.
14994 (pkglib_MODULES): Add lsspd.mod.
14995 (lsspd_mod_SOURCES): New variable.
14996 (lsspd_mod_CFLAGS): Likewise.
14997 (lsspd_mod_LDFLAGS): Likewise.
14998 (pkglib_MODULES): Add halt.mod.
14999 (halt_mod_SOURCES): New variable.
15000 (halt_mod_CFLAGS): Likewise.
15001 (halt_mod_LDFLAGS): Likewise.
15002 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
15003 (serial_mod_SOURCES): Removed.
15004 (serial_mod_CFLAGS): Likewise.
15005 (serial_mod_LDFLAGS): Likewise.
15006 * disk/ata.c (check_device): New function.
15007 (grub_ata_device_initialize): Use check_device.
15008 (grub_ata_iterate): Recheck devices.
15009 (grub_ata_open): Likewise.
15010 (grub_atapi_iterate): Likewise.
15011 (grub_atapi_open): Likewise.
15012 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
15013 (GRUB_ATA_CH1_PORT1): Likewise.
15014 (GRUB_ATA_CH0_PORT2): Likewise.
15015 (GRUB_ATA_CH1_PORT2): Likewise.
15016 * include/grub/mips/loongson.h: New file.
15017 * include/grub/mips/yeeloong/ec.h: Likewise.
15018 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
15019 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
15020 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
15021 * include/grub/misc.h (grub_halt): Declare as noreturn.
15022 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
15023 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
15024 (UART_ENABLE_FIFO_TRIGGER1): New definition.
15025 (UART_ENABLE_DTRRTS): Likewise.
15026 (UART_ENABLE_MODEM): Removed.
15027 (UART_ENABLE_OUT2): New const.
15028 * include/grub/term.h (grub_term_register_input_active): New function.
15029 (grub_term_register_output_active): Likewise.
15030 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
15031 argument.
15032 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
15033 (init_pci): New function.
15034 (grub_machine_init): Execute platform init when firmware. Init serial.
15035 (grub_halt): Implement.
15036 (grub_exit): Likewise.
15037 (grub_reboot): Likewise.
15038 * term/serial.c (serial_hw_init): Update macros.
15039 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
15040 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
15041 (image_targets): New target mipsel-yeeloong-flash.
15042 (generate_image): Support IMAGE_YEELOONG_FLASH.
15043 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
15044 (grub_video_sm712_setup): Init card.
15045 (grub_video_sm712_set_palette): Removed.
15046 * video/sm712_init.c: New file.
15047
ff4a70d2
CW
150482010-06-30 Colin Watson <cjwatson@ubuntu.com>
15049
15050 * Makefile.in (install-local): Temporarily prepend $(builddir) to
15051 PATH when running help2man and then run it on the unadorned
15052 executable names, rather than passing $(builddir)/* paths to
15053 help2man. This avoids the build directory ending up in generated
15054 manual pages.
15055
1246efeb
CW
150562010-06-29 Colin Watson <cjwatson@ubuntu.com>
15057
15058 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
15059 to avoid accidents when debugging with 'sh -x'.
15060 * util/grub-mkrescue.in: Likewise.
15061 * util/grub.d/00_header.in: Likewise.
15062 * util/grub.d/10_hurd.in: Likewise.
15063 * util/grub.d/10_kfreebsd.in: Likewise.
15064 * util/grub.d/10_linux.in: Likewise.
15065 * util/grub.d/10_netbsd.in: Likewise.
15066 * util/grub.d/10_windows.in: Likewise.
15067 * util/grub.d/20_linux_xen.in: Likewise.
15068 * util/grub.d/30_os-prober.in: Likewise.
15069 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15070
1ba9b889
CW
150712010-06-29 Colin Watson <cjwatson@ubuntu.com>
15072
15073 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
15074 last character in the buffer.
15075 Reported by: Vladimir Serbinenko.
15076
dccaf99d
RM
150772010-06-29 Robert Millan <rmh@gnu.org>
15078
15079 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
15080 (Command-line and menu entry commands): Document `badram' command.
15081
d500ed12
RM
150822010-06-28 Robert Millan <rmh@gnu.org>
15083
15084 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
15085 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
15086 command using ${GRUB_BADRAM} as parameter.
15087
20bc84a6
CW
150882010-06-28 Colin Watson <cjwatson@ubuntu.com>
15089
15090 * docs/grub.texi (Device map): New section.
15091 (Themes): New section (stub).
15092 * Makefile.in (docs/grub.info): The info documentation now builds
15093 without errors. Make sure it stays that way.
15094
4045dee1
VS
150952010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
15096
15097 Use normal parser for menu entries.
15098 Reported by: Thomas Frauendorfer
15099
15100 * include/grub/parser.h (grub_parser_execute): Don't export.
15101 * normal/menu.c (grub_menu_execute_entry_real): New function.
15102 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
15103
bca58c7b
CW
151042010-06-28 Colin Watson <cjwatson@ubuntu.com>
15105
15106 * docs/grub.texi (Embedded configuration): New section (replacing
15107 old "Preset Menu" stub).
15108 (Images): New section.
15109 (configfile): Note that any menu entries defined in `file' are shown
15110 immediately.
15111
dec53e63
JT
151122010-06-28 Josh Triplett <josh@joshtriplett.org>
15113
15114 * mmap/i386/pc/mmap_helper.S: Set CF on return.
15115
c06e40f7
CW
151162010-06-28 Colin Watson <cjwatson@ubuntu.com>
15117
15118 * util/grub-install.in: Add --debug-image= option.
15119
cb88052b
CW
151202010-06-28 Colin Watson <cjwatson@ubuntu.com>
15121
15122 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
15123 possible on Linux.
15124
15125 * util/deviceiter.c (check_device): Rename to ...
15126 (check_device_readable_unique): ... this. Update all callers.
15127 Maintain and check a list of which devices (by canonicalized name)
15128 have already been seen.
15129 (clear_seen_devices): New function.
15130 (compare_file_names) [__linux__]: New function.
15131 (grub_util_iterate_devices): Clear the list of seen devices on exit
15132 and (just in case) on entry.
15133 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
15134 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
15135 seen-devices list, superseded by general code in check_device.
15136
bbe34652
CW
151372010-06-28 Colin Watson <cjwatson@ubuntu.com>
15138
15139 * commands/cat.c (options): New variable.
15140 (grub_cmd_cat): Parse options. If the --dos option is given, print
15141 DOS-style "\r\n" line endings as simple newlines (Debian bug
15142 #586358).
15143 (GRUB_MOD_INIT): Use extcmd.
15144 (GRUB_MOD_FINI): Likewise.
15145 * docs/grub.texi (cat): Document --dos.
15146
412e09f3
VS
151472010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
15148
15149 XEN with Linux grub-mkconfig support.
15150
15151 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
15152 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
15153 GRUB_CMDLINE_XEN_DEFAULT.
15154 * util/grub.d/20_linux_xen.in: New file.
15155
53f3ef38 151562010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
15157
15158 Initialise VGA video on qemu ourselves.
15159
15160 * boot/i386/qemu/boot.S: Don't call 0xc000.
15161 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
15162 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
15163 (kernel_img_HEADERS): Add pci.h.
15164 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
15165 * configure.ac: Force unifont on qemu and yeeloong.
15166 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
15167 (grub_vga_palette_write): Use correct register.
15168 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
15169 Call grub_qemu_init_cirrus.
15170 * kern/i386/qemu/init.c: New file.
15171 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
15172
15173 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
15174
c75be4fb
PR
151752010-06-26 Pavel Roskin <proski@gnu.org>
15176
15177 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
15178 13.
15179
d8034603
CW
151802010-06-26 Colin Watson <cjwatson@ubuntu.com>
15181
15182 * docs/grub.texi (Simple configuration): Explain that
15183 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
15184 set to `true' to disable their respective recovery entries, not
15185 merely set.
15186
3fa06487
CW
151872010-06-26 Colin Watson <cjwatson@ubuntu.com>
15188
15189 Make the `source' command slightly faster.
15190
15191 * normal/main.c (grub_normal_execute): Don't re-read list files when
15192 nested.
15193
e9b29642
CW
151942010-06-23 Colin Watson <cjwatson@ubuntu.com>
15195
15196 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
15197 field position and mask size to red fields from mode_info, not
15198 green.
15199 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
15200 Remove redundant tag->common.framebuffer_type assignment.
15201 Reported by: Seth Goldberg.
15202
e726542f
CW
152032010-06-23 Colin Watson <cjwatson@ubuntu.com>
15204
15205 Sync up other versions of the Linux loader with Robert Millan's
15206 change of 2010-01-09, "Make loader output a bit more user-friendly".
15207
15208 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
15209 grub_dprintf().
15210 (grub_cmd_linux): Likewise.
15211 (grub_cmd_initrd): Likewise.
15212 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
15213 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15214
d6e98a17
CW
152152010-06-21 Colin Watson <cjwatson@ubuntu.com>
15216
15217 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
15218 larger than MEMORY_MAP_SIZE.
15219
14d3f08e
BC
152202010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
15221
15222 Fix parallel build.
15223
15224 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
15225 dependency.
15226 * script/parser.y: #include grub_script.tab.h header.
15227
4f9613a3
VS
152282010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15229
15230 Support >3GiB and <16MiB RAM in i386-qemu.
15231
15232 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
15233 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
15234 (grub_lower_mem): Removed.
15235 (grub_upper_mem): Likewise.
15236 (mem_size): Made static.
15237 (above_4g): New variable.
15238 (grub_machine_mmap_init): Detect small mem_size and above_4g.
15239 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
15240 support.
15241
05e51879
VS
152422010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15243
15244 Cirrus 5446 and Bochs video cards support.
15245
15246 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
15247 video_bochs.mod
15248 (video_cirrus_mod_SOURCES): New variable.
15249 (video_cirrus_mod_CFLAGS): Likewise.
15250 (video_cirrus_mod_LDFLAGS): Likewise.
15251 (video_bochs_mod_SOURCES): Likewise.
15252 (video_bochs_mod_CFLAGS): Likewise.
15253 (video_bochs_mod_LDFLAGS): Likewise.
15254 * include/grub/vga.h: New file.
15255 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
15256 (grub_video_fb_set_page_t): New type.
15257 (grub_video_fb_setup): New prototype.
15258 (grub_video_fb_swap_buffers): Likewise.
15259 (grub_video_fb_get_info_and_fini): Likewise.
15260 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
15261 (CRTC_DATA_PORT): Likewise.
15262 (CRTC_CURSOR): Likewise.
15263 (CRTC_CURSOR_ADDR_HIGH): Likewise.
15264 (CRTC_CURSOR_ADDR_LOW): Likewise.
15265 (CRTC_CURSOR_DISABLE): Likewise.
15266 (update_cursor): Use grub_vga_cr_write.
15267 (grub_vga_text_setcursor): Likewise.
15268 * video/bochs.c: New file.
15269 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
15270 (palette): Likewise.
15271 (palette_size): Likewise.
15272 (framebuffer): New variable.
15273 (grub_video_fb_init): Use 'framebuffer'.
15274 (grub_video_fb_fini): Likewise.
15275 (grub_video_fb_get_info): Likewise.
15276 (grub_video_fb_get_palette): Likewise.
15277 (grub_video_fb_set_palette): Likewise.
15278 (grub_video_fb_set_viewport): Likewise.
15279 (grub_video_fb_get_viewport): Likewise.
15280 (grub_video_fb_map_color): Likewise.
15281 (grub_video_fb_map_rgb): Likewise.
15282 (grub_video_fb_map_rgba): Likewise.
15283 (grub_video_fb_unmap_color): Likewise.
15284 (grub_video_fb_unmap_color_int): Likewise.
15285 (grub_video_fb_fill_rect): Likewise.
15286 (grub_video_fb_blit_bitmap): Likewise.
15287 (grub_video_fb_blit_render_target): Likewise.
15288 (grub_video_fb_scroll): Likewise.
15289 (grub_video_fb_create_render_target): Likewise.
15290 (grub_video_fb_doublebuf_blit_init): Likewise.
15291 (grub_video_fb_set_active_render_target): Handle doublebuffering.
15292 (doublebuf_pageflipping_update_screen): New function.
15293 (doublebuf_pageflipping_init): Likewise.
15294 (grub_video_fb_setup): Likewise.
15295 (grub_video_fb_swap_buffers): Likewise.
15296 (grub_video_fb_get_info_and_fini): Likewise.
15297 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
15298 All users updated.
15299 (doublebuf_pageflipping_commit): Restructured into ...
15300 (doublebuf_pageflipping_set_page): ... this.
15301 (doublebuf_pageflipping_update_screen): Removed.
15302 (doublebuf_pageflipping_init): Likewise.
15303 (double_buffering_init): Likewise.
15304 (grub_video_vbe_setup): Use grub_video_fb_setup.
15305 (grub_video_vbe_swap_buffers): Removed.
15306 (grub_video_vbe_set_active_render_target): Likewise.
15307 (grub_video_vbe_get_active_render_target): Likewise.
15308 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
15309 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
15310 grub_video_fb_set_active_render_target and
15311 grub_video_fb_get_active_render_target.
15312 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
15313 (SEQUENCER_DATA_PORT): Likewise.
15314 (MAP_MASK_REGISTER): Likewise.
15315 (CRTC_ADDR_PORT): Likewise.
15316 (CRTC_DATA_PORT): Likewise.
15317 (START_ADDR_HIGH_REGISTER): Likewise.
15318 (START_ADDR_LOW_REGISTER): Likewise.
15319 (GRAPHICS_ADDR_PORT): Likewise.
15320 (GRAPHICS_DATA_PORT): Likewise.
15321 (READ_MAP_REGISTER): Likewise.
15322 (INPUT_STATUS1_REGISTER): Likewise.
15323 (INPUT_STATUS1_VERTR_BIT): Likewise.
15324 (get_map_mask): Use grub_vga_sr_read.
15325 (set_map_mask): Use grub_vga_sr_write.
15326 (set_read_map): Use grub_vga_gr_write.
15327 (set_start_address): Use grub_vga_cr_write.
15328 * video/sm712.c (framebuffer): Remove leftover fields.
15329
4321c64a
CW
153302010-06-20 Colin Watson <cjwatson@ubuntu.com>
15331
15332 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
15333 setting GRUB_VIDEO_BACKEND. Make it available as a user override
15334 instead. Replace the gfxterm backend check with a check that
15335 ${GRUB_PREFIX}/video.lst is non-empty.
15336 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
15337 again.
15338 (load_video): New generated function. Call it before loading
15339 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
15340 * util/grub.d/10_linux.in (linux_entry): Call load_video.
15341 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
15342 * docs/grub.texi (Simple configuration): Document
15343 GRUB_VIDEO_BACKEND.
15344
153452010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15346
15347 Use video functions in linux and xnu loaders.
15348
15349 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
15350 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
15351 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
15352 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
15353 loader/i386/pc/linux.c.
15354 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
15355 (find_line_len): Removed.
15356 (find_framebuf): Likewise.
15357 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
15358 * loader/i386/efi/xnu.c: Removed.
15359 * loader/i386/pc/xnu.c: Moved from here...
15360 * loader/i386/xnu.c: ...here.
15361
15362 Enable priorities in video drivers.
15363
15364 * include/grub/video.h (grub_video_adapter_prio_t): New type.
15365 (grub_video_adapter): New field prio.
15366 (grub_video_register): Respect prio when inserting.
15367 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
15368 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
15369 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
15370 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
15371 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
15372 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
15373 * video/sm712.c (grub_video_sm712_adapter): Likewise.
15374
15375 Fix SDL driver ID.
15376
15377 * include/grub/video.h (grub_video_driver_id_t): New value
15378 GRUB_VIDEO_DRIVER_SDL.
15379 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
15380
7d24e434
CW
153812010-06-17 Colin Watson <cjwatson@ubuntu.com>
15382
15383 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
15384 argument to printf.
15385 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15386
c88a83f6
CW
153872010-06-17 Colin Watson <cjwatson@ubuntu.com>
15388
15389 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
15390 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15391
094dfb69
CW
153922010-06-17 Colin Watson <cjwatson@ubuntu.com>
15393
15394 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
15395 directly, and recommend grub-install instead.
15396 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
15397
2164da6b
CW
153982010-06-17 Colin Watson <cjwatson@ubuntu.com>
15399
15400 Fix i386-pc prefix handling with nested partitions (Debian bug
15401 #585068). Note that the case where the core image is booted using
15402 multiboot and relocated from its original location still requires
15403 more work.
15404
15405 * kern/i386/pc/init.c (make_install_device): If the prefix starts
15406 with "(,", fill the boot drive in between those two characters, but
15407 expect that a full partition specification including partition map
15408 names will follow.
15409 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
15410 specified, write a prefix without the drive name but including a
15411 full partition specification.
15412
044e2e60
CW
154132010-06-16 Colin Watson <cjwatson@ubuntu.com>
15414
15415 * util/grub-mkconfig.in: Ignore non-option arguments, for
15416 compatibility with older versions (before 2010-06-12) which did the
15417 same. In particular, this makes it easier to ship an update-grub
15418 wrapper which is compatible with that used with GRUB Legacy (Debian
15419 bug #586056).
15420
5591324f
GS
154212010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15422
15423 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
15424 for manual page generation.
15425
662e24d5
GS
154262010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15427
15428 * po/POTFILES: Remove leftover commands/handler.c.
15429
8d70754e
CW
154302010-06-14 Colin Watson <cjwatson@ubuntu.com>
15431
15432 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
15433 left this script non-functional.
15434
41160e2e
CW
154352010-06-14 Colin Watson <cjwatson@ubuntu.com>
15436
15437 * docs/man/grub-emu.h2m: New file.
15438
b5309cc1
CW
154392010-06-13 Colin Watson <cjwatson@ubuntu.com>
15440
15441 * docs/grub.texi (Commands): Document reduced command set in rescue
15442 mode.
15443 (cpuid): New section.
15444
fcb2d090
GS
154452010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
15446
15447 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
15448 new partition naming style.
15449 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
15450
96e5c556
BC
154512010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
15452
15453 Add "-o grub.iso" like cmdline options support.
15454
15455 * util/grub-install.in: Improve cmdline option parsing.
15456 * util/grub-mkconfig.in: Likewise.
15457 * util/grub-mkrescue.in: Likewise.
15458 * util/grub-reboot.in: Likewise.
15459 * util/grub-set-default.in: Likewise.
15460 * util/i386/efi/grub-install.in: Likewise.
15461 * util/ieee1275/grub-install.in: Likewise.
15462 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15463
c16be99b
CW
154642010-06-12 Colin Watson <cjwatson@ubuntu.com>
15465
15466 * .bzrignore: Ignore 41_custom.
15467
ce08a9fb
TS
154682010-06-12 Thomas Schmitt <scdbackup@gmx.net>
15469
15470 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
15471
7beac90c
CW
154722010-06-12 Colin Watson <cjwatson@ubuntu.com>
15473
15474 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
15475 prototype declarations.
15476
15477 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
15478 generating fs, partmap, and video lists.
15479 * include/grub/fs.h (grub_fs_register): Omit prototype if
15480 GRUB_LST_GENERATOR is defined.
15481 * include/grub/partition.h (grub_partition_map_register): Likewise.
15482 * include/grub/video.h (grub_video_register): Likewise.
15483
1c8f0f8d
JM
154842010-06-12 Javier Martín <lordhabbit@gmail.com>
15485
15486 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
15487
a6085973
TS
154882010-06-12 Thomas Schmitt <scdbackup@gmx.net>
15489
15490 * util/grub-mkrescue.in: Support --xorriso argument.
15491
25c56d29
VS
154922010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15493
15494 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
15495 Suggested by: Thomas Schmitt.
15496
e03e4b24
VS
154972010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15498
15499 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
15500 Suggested by: Thomas Schmitt.
15501
57711df6
VS
155022010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15503
15504 custom.cfg support.
15505
15506 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
15507 * util/grub.d/41_custom.in: New file.
15508
ee62c427
CW
155092010-06-12 Colin Watson <cjwatson@ubuntu.com>
15510
15511 * util/grub-mkrescue.in (make_image): Remove sh module, which has
15512 been merged back into normal.
15513
283af07a
CW
155142010-06-11 Colin Watson <cjwatson@ubuntu.com>
15515
15516 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
15517 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
15518
56a0d956
CW
155192010-06-11 Colin Watson <cjwatson@ubuntu.com>
15520
15521 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
15522 when generating manual pages.
15523 * docs/man/grub-bin2h.h2m: New file.
15524 * docs/man/grub-editenv.h2m: New file.
15525 * docs/man/grub-fstest.h2m: New file.
15526 * docs/man/grub-install.h2m: New file.
15527 * docs/man/grub-macho2img.h2m: New file.
15528 * docs/man/grub-mkconfig.h2m: New file.
15529 * docs/man/grub-mkdevicemap.h2m: New file.
15530 * docs/man/grub-mkfont.h2m: New file.
15531 * docs/man/grub-mkimage.h2m: New file.
15532 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
15533 * docs/man/grub-mkrelpath.h2m: New file.
15534 * docs/man/grub-mkrescue.h2m: New file.
15535 * docs/man/grub-ofpathname.h2m: New file.
15536 * docs/man/grub-pe2elf.h2m: New file.
15537 * docs/man/grub-probe.h2m: New file.
15538 * docs/man/grub-reboot.h2m: New file.
15539 * docs/man/grub-script-check.h2m: New file.
15540 * docs/man/grub-set-default.h2m: New file.
15541 * docs/man/grub-setup.h2m: New file.
15542
3a37e322
VS
155432010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
15544
15545 Use FOR_* macros instead of *_iterate whenever possible.
15546
15547 * commands/handler.c: Removed.
15548 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
15549 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
15550 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15551 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
15552 (grub_probe_SOURCES): Remove kern/parser.c.
15553 (util/grub-script-check.c_DEPENDENCIES): Removed.
15554 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
15555 and grub_script_check_init.c.
15556 (grub_script_check_init.lst): Removed.
15557 (grub_script_check_init.h): Likewise.
15558 (grub_script_check_init.c): Likewise.
15559 (pkglib_MODULES): Remove handler.mod and sh.mod.
15560 (handler_mod_SOURCES): Removed.
15561 (handler_mod_CFLAGS): Likewise.
15562 (handler_mod_LDFLAGS): Likewise.
15563 (normal_mod_SOURCES): Remove normal/handler.c.
15564 Add script/main.c, script/script.c, script/execute.c,
15565 script/function.c, script/lexer.c, grub_script.tab.c
15566 and grub_script.yy.c.
15567 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15568 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15569 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
15570 (grub_setup_SOURCES): Remove kern/parser.c.
15571 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15572 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
15573 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15574 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15575 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15576 (grub_setup_SOURCES): Remove kern/parser.c.
15577 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15578 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
15579 * include/grub/command.h (grub_command_iterate): Removed.
15580 (FOR_COMMANDS): New macro.
15581 * include/grub/dl.h (grub_dl): New member next.
15582 (grub_dl_iterate): Removed.
15583 (grub_dl_head): New variable declaration.
15584 (FOR_DL_MODULES): New macro.
15585 * include/grub/fs.h: Include list.h.
15586 (grub_fs): Make next first element.
15587 (grub_fs_list): New variable declaration.
15588 (grub_fs_register): Make inline.
15589 (grub_fs_unregister): Likewise.
15590 (grub_fs_iterate): Removed.
15591 (FOR_FILESYSTEMS): New macro.
15592 * include/grub/handler.h: Removed.
15593 * include/grub/list.h (grub_list_hook_t): Removed.
15594 (grub_list_test_t): Likewise.
15595 (grub_list_pop): Likewise.
15596 (grub_list_iterate): Likewise.
15597 (grub_list_insert): Likewise.
15598 (FOR_LIST_ELEMENTS): New macro.
15599 * include/grub/parser.h (grub_parser_class): Removed.
15600 (grub_parser_register): Likewise.
15601 (grub_parser_unregister): Likewise.
15602 (grub_parser_get_current): Likewise.
15603 (grub_parser_set_current): Likewise.
15604 (grub_register_rescue_parser): Likewise.
15605 (grub_rescue_parse_line): New function.
15606 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
15607 * include/grub/script_sh.h (grub_script_function_list): New variable
15608 declaration.
15609 (FOR_SCRIPT_FUNCTIONS): New macro.
15610 (grub_script_function_iterate): Removed.
15611 (grub_normal_parse_line): New prototype.
15612 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
15613 (FOR_DISABLED_TERM_INPUTS): Likewise.
15614 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15615 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15616 * include/grub/video.h (grub_video_adapter): Move 'next' to first
15617 element.
15618 (grub_video_register): Inline.
15619 (grub_video_unregister): Likewise.
15620 (grub_video_adapter_list): New variable declaration.
15621 (grub_video_iterate): Removed.
15622 (FOR_VIDEO_ADAPTERS): New macro.
15623 * kern/dl.c (grub_dl_list): Removed. All users updated.
15624 (grub_dl_iterate): Removed.
15625 * kern/fs.c (grub_fs_list): Make global.
15626 (grub_fs_register): Removed.
15627 (grub_fs_unregister): Likewise.
15628 (grub_fs_iterate): Likewise.
15629 * kern/handler.c: Removed.
15630 * kern/list.c (grub_list_pop): Removed.
15631 (grub_list_iterate): Likewise.
15632 (grub_list_insert): Likewise.
15633 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
15634 (grub_prio_list_insert): Don't use grub_list_insert.
15635 * kern/main.c (grub_register_rescue_parser): Don't call
15636 grub_register_rescue_parser.
15637 * kern/parser.c (grub_parser_class): Removed.
15638 (grub_parser_execute): Use grub_rescue_parse_line.
15639 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
15640 (grub_rescue_parser): Removed.
15641 (grub_register_rescue_parser): Likewise.
15642 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
15643 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
15644 (grub_auth_check_authentication): Likewise.
15645 * normal/completion.c (iterate_command): Removed.
15646 (grub_normal_do_completion): Use FOR_COMMANDS.
15647 * normal/handler.c: Removed.
15648 * normal/main.c (read_config_file): Remove parser changing.
15649 (grub_normal_execute): Don't call read_handler_list.
15650 (grub_normal_read_line_real): Statically allocate prompt.
15651 (grub_cmdline_run): Use grub_normal_parse_line.
15652 (GRUB_MOD_FINI): Don't call free_handler_list.
15653 * normal/menu_entry.c (run): Likewise.
15654 * script/function.c (grub_script_function_list): Make global.
15655 (grub_script_function_iterate): Removed.
15656 * script/main.c (grub_normal_parse_line): Make global.
15657 (grub_sh_parser): Removed.
15658 (GRUB_MOD_INIT): Likewise.
15659 (GRUB_MOD_FINI): Likewise.
15660 * tests/lib/functional_test.c (grub_functional_test): Use
15661 FOR_LIST_ELEMENTS.
15662 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
15663 (grub_test_run): Use FOR_LIST_ELEMENTS.
15664 * tests/lib/unit_test.c (main): Likewise.
15665 * util/deviceiter.c (grub_util_iterate_devices): Don't use
15666 grub_list_pop.
15667 * util/grub-fstest.c (grub_term_input_class): Removed.
15668 (grub_term_output_class): Likewise.
15669 * util/grub-probe.c: Likewise.
15670 * util/i386/pc/grub-setup.c: Likewise.
15671 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15672 * util/grub-script-check.c (main): Don't call grub_init_all and
15673 grub_fini_all.
15674 * video/video.c (grub_video_adapter_list): Make global.
15675 (grub_video_register): Removed.
15676 (grub_video_unregister): Likewise.
15677 (grub_video_iterate): Likewise.
15678
6289c3a7
VS
156792010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
15680
15681 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
15682 reported by Henrique Ferreiro.
15683
91460247
RM
156842010-06-09 Robert Millan <rmh@gnu.org>
15685
15686 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
15687 ones, when both are available.
15688
0ea7c4f9
GS
156892010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15690
15691 Make --version uniform and avoid hard-coded program name.
15692
15693 * util/grub-mkimage.c (main): Use `program_name' instead of
15694 hard-coded string.
15695 * util/i386/pc/grub-setup.c (main): Likewise.
15696 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
15697 * util/grub-install.in: Save the basename of $0 in $self, and use the
15698 latter in informational messages. Use the same format for --version
15699 as the binary programs.
15700 * util/grub-mkconfig.in: Likewise.
15701 * util/grub-mkrescue.in: Likewise.
15702 * util/grub-reboot.in: Likewise.
15703 * util/grub-set-default.in: Likewise.
15704 * util/i386/efi/grub-install.in: Likewise.
15705 * util/ieee1275/grub-install.in: Likewise.
15706 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15707
e8a6f3b6
GS
157082010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15709
15710 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
15711 embedding area. Use <= instead of == when checking for non-emptiness.
15712
f4d095d7
GS
157132010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15714
15715 * configure.ac: Add `.' to the directories searched for unifont.
15716
50e532ca
CW
157172010-06-08 Colin Watson <cjwatson@ubuntu.com>
15718
15719 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
15720 grub_script.yy.h.
15721
d39f3dec
CW
157222010-06-08 Colin Watson <cjwatson@ubuntu.com>
15723
15724 * docs/grub.texi (History): Expand to cover GRUB 2.
15725 (Serial terminal): Refer to `terminal_input' and `terminal_output'
15726 commands, not `terminal'.
15727 (serial): Likewise.
15728 (terminal_input): New section.
15729 (terminal_output): New section.
15730 (uppermem): New section (stub).
15731 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
15732
6ef0ddb4
CW
157332010-06-08 Colin Watson <cjwatson@ubuntu.com>
15734
15735 * docs/grub.texi (Security): Menu entries are unrestricted by
15736 default, not restricted to superusers as I had previously thought.
15737 Reword to account for this.
15738
e0f4c438
CW
157392010-06-07 Colin Watson <cjwatson@ubuntu.com>
15740
15741 * kern/emu/misc.c (device_mapper_null_log): New function.
15742 (grub_device_mapper_supported): New function.
15743 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
15744 prototype.
15745 * kern/emu/hostdisk.c (find_partition_start): Check whether
15746 device-mapper is supported before trying to use it.
15747 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
15748
da908200
CW
157492010-06-07 Colin Watson <cjwatson@ubuntu.com>
15750
15751 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
15752 (File name syntax): Likewise.
15753 (help): --all is no longer supported in GRUB 2. Be more precise
15754 about pattern matching.
15755
fb55c3ac
CW
157562010-06-07 Colin Watson <cjwatson@ubuntu.com>
15757
15758 * normal/completion.c (grub_normal_do_completion): When completing
15759 arguments to "set" and the current word contains an equals sign,
15760 skip to after the equals sign before starting completion.
15761
258c2573
CW
157622010-06-07 Colin Watson <cjwatson@ubuntu.com>
15763
15764 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
15765
ee75515e
CW
157662010-06-07 Colin Watson <cjwatson@ubuntu.com>
15767
15768 * docs/grub.texi (Network): New section.
15769 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
15770 `(nd)' as in GRUB Legacy.
15771 (pxe_unload): New section.
15772
a6a700aa
CW
157732010-06-07 Colin Watson <cjwatson@ubuntu.com>
15774
15775 * docs/grub.texi (Troubleshooting): `echo' is not usually available
15776 in the rescue shell, so recommend using `set' instead. Thanks,
15777 Jordan Uggla.
15778
4003dd38
CW
157792010-06-07 Colin Watson <cjwatson@ubuntu.com>
15780
15781 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
15782 (password): New section.
15783 (password_pbkdf2): New section.
15784 (search): New section.
15785 (Security): New section.
15786 (Troubleshooting): New section, currently very incomplete.
15787 (Invoking grub-mkpasswd-pbkdf2): New section.
15788 (Internals): New section, currently very incomplete.
15789
e1cbcc40
CW
157902010-06-07 Colin Watson <cjwatson@ubuntu.com>
15791
15792 * util/grub.d/00_header.in: Add some more quoting (of
15793 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
15794 work again.
15795 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
15796
db8fa1ad
CW
157972010-06-07 Colin Watson <cjwatson@ubuntu.com>
15798
15799 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
15800 to `count', fixing variable shadowing that broke the -c option.
15801
158022010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
15803
15804 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
15805 in case they contain spaces.
15806
f28a9212
CW
158072010-06-04 Colin Watson <cjwatson@ubuntu.com>
15808
15809 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
15810 "part_" to partmap module names, in line with grub-install.
15811 Reported by: Jindřich Makovička (Debian bug #584426).
15812
9cdfe32f
CW
158132010-06-04 Colin Watson <cjwatson@ubuntu.com>
15814
15815 * util/grub-mkimage.c: Make target-related error messages slightly
15816 more helpful; -O talks about "format". Explicitly point to the use
15817 of -O if no target is specified.
15818 Reported by: Didier Raboud (Debian bug #584415).
15819
795b593a
CW
158202010-06-03 Colin Watson <cjwatson@ubuntu.com>
15821
15822 * INSTALL: Document several build requirements for optional features
15823 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
15824
9d9b5833
GS
158252010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
15826
15827 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
15828 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
15829 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
15830
0819fec8
CW
158312010-06-02 Colin Watson <cjwatson@ubuntu.com>
15832
15833 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
15834 Thanks to Jordan Uggla for spotting this.
15835
49396b4f
VS
158362010-06-02 Aleš Nesrsta <starous@volny.cz>
15837
15838 Finally make USB usable.
15839
15840 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
15841 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
15842 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
15843 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
15844 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
15845 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
15846 (GRUB_OHCI_FSMPS): Likewise.
15847 (GRUB_OHCI_PERIODIC_START): Likewise.
15848 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
15849 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
15850 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
15851 (GRUB_OHCI_SET_PORT_RESET): Likewise.
15852 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
15853 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
15854 (grub_ohci_transaction): Likewise.
15855 (grub_ohci_transfer): Improve condition detection algorithms.
15856 Handle toggle property. Program the transactions correctly.
15857 Improve error handling. Various important fixups.
15858 (grub_ohci_portstatus): Put register writes in right order.
15859 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
15860 (grub_uhci_transfer): Don't show "failed" message on success.
15861 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
15862 array.
15863 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
15864 determine its size.
15865 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
15866 before initialization is completed. Use IN direction for empty
15867 transfers. Use last_trans and compute toggle.
15868 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
15869 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
15870 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
15871 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
15872 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
15873 (grub_usb_device): Increase toggle to 256.
15874 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
15875 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
15876 GRUB_USBMS_SUBCLASS_SFF8070.
15877 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
15878 (grub_scsi_inquiry): New member page and alloc_length.
15879 (grub_scsi_request_sense): New structure.
15880 (grub_scsi_request_sense_data): Likewise.
15881 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
15882 control.
15883 * disk/scsi.c (grub_scsi_request_sense): New function.
15884 (grub_scsi_test_unit_ready): Likewise.
15885 (grub_scsi_inquiry): Fill new fields.
15886 (grub_scsi_read_capacity): Likewise.
15887 (grub_scsi_read10): Add request sense at the end.
15888 (grub_scsi_read12): Likewise.
15889 (grub_scsi_write10): Likewise.
15890 (grub_scsi_write12): Likewise.
15891 (grub_scsi_open): Add Test Unit Ready.
15892 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
15893 Support additional subclasses. Con't clear halt yet. Activate the
15894 proper config. Calculate LUNs correctly.
15895 (grub_usbms_transfer): Various important fixups.
15896
158972010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15898
15899 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
15900 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
15901 (grub_ohci_fini_hw): New function.
15902 (grub_ohci_restore_hw): Likewise.
15903 (GRUB_MOD_INIT(ohci)): Register preboot hook.
15904 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
15905 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
15906
159072010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15908
15909 Dedicated DMA allocations.
15910
15911 * bus/pci.c (grub_memalign_dma32): New function
15912 (grub_dma_free): Likewise.
15913 (grub_dma_get_virt): Likewise.
15914 (grub_dma_get_phys): Likewise.
15915 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
15916 (grub_ohci_pci_iter): Use dma32_alloc.
15917 (grub_ohci_transfer): Likewise.
15918 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15919 (grub_usb_bulk_readwrite): Likewise.
15920 * include/grub/pci.h: Add declarations.
15921
159222010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15923
15924 CS5536 support.
15925
15926 * bus/cs5536.c: New file.
15927 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
15928 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
15929 (cs5536_mod_SOURCES): New variable.
15930 (cs5536_mod_CFLAGS): Likewise.
15931 (cs5536_mod_LDFLAGS): Likewise.
15932 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
15933 machine/pci.h.
15934 (kernel_img_SOURCES): Add bus/cs5536.c.
15935 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
15936 usb_keyboard.mod.
15937 (usb_mod_SOURCES): New variable.
15938 (usb_mod_CFLAGS): New variable.
15939 (usb_mod_LDFLAGS): New variable.
15940 (usbtest_mod_SOURCES): New variable.
15941 (usbtest_mod_CFLAGS): New variable.
15942 (usbtest_mod_LDFLAGS): New variable.
15943 (ohci_mod_SOURCES): New variable.
15944 (ohci_mod_CFLAGS): New variable.
15945 (ohci_mod_LDFLAGS): New variable.
15946 (usbms_mod_SOURCES): New variable.
15947 (usbms_mod_CFLAGS): New variable.
15948 (usbms_mod_LDFLAGS): New variable.
15949 (usb_keyboard_mod_SOURCES): New variable.
15950 (usb_keyboard_mod_CFLAGS): New variable.
15951 (usb_keyboard_mod_LDFLAGS): New variable.
15952 * include/grub/smbus.h: New file.
15953 * include/grub/cs5536.h: New file.
15954
0b35b2a9
CW
159552010-06-02 Colin Watson <cjwatson@ubuntu.com>
15956
15957 * util/grub.d/00_header.in: Add safety check to make sure that
15958 ${locale_dir} exists before trying to probe it.
15959
ca0afd5b
CW
159602010-06-02 Colin Watson <cjwatson@ubuntu.com>
15961
15962 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
15963 per the GNU Coding Standards; this is now too obscure to be worth
15964 documenting.
15965 (QNX): Likewise.
15966 (chainloader): Remove cross-reference to `SCO UnixWare'.
15967
1c41aa78
CW
159682010-06-02 Colin Watson <cjwatson@ubuntu.com>
15969
15970 * docs/grub.texi (Chain-loading): New section.
15971 (DOS/Windows): New section, borrowed from GRUB Legacy with details
15972 adjusted for GRUB 2.
15973 (SCO UnixWare): Likewise.
15974 (QNX): Likewise.
15975 (chainloader): Add reference to `Block list syntax'.
15976 (drivemap): New section.
15977 (parttool): New section.
15978
bb8ea0f5
CW
159792010-06-02 Colin Watson <cjwatson@ubuntu.com>
15980
15981 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
15982 the grub shell'.
15983 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
15984 (Installing GRUB using grub-install): Remove reference to the grub
15985 shell; mention `grub-mkimage' and `grub-setup' instead.
15986 (Invoking grub-install): Likewise.
15987 (Interface): Add reference to `Menu entry editor'.
15988 (serial): Remove `--device' option.
15989
288dd6ed
CW
159902010-06-02 Colin Watson <cjwatson@ubuntu.com>
15991
15992 * docs/grub.texi (Configuration): New section, documenting
15993 configuration file generation using grub-mkconfig. I've left a slot
15994 for documenting the full shell scripting format but have not yet
15995 started on writing that up.
15996 (Invoking grub-mkconfig): New section.
15997
34c9f0e9
CW
159982010-06-02 Colin Watson <cjwatson@ubuntu.com>
15999
16000 * docs/grub.texi (direntry): Remove grub-terminfo reference.
16001 (GNU GRUB manual): Likewise.
16002 (General commands): Update description of `terminfo' for GRUB 2.
16003
9121567e
CW
160042010-06-02 Colin Watson <cjwatson@ubuntu.com>
16005
16006 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
16007 (GRUB_MOD_INIT): Fix capitalisation.
16008 * docs/grub.texi (Command-line and menu entry commands): Document
16009 gettext and gptsync commands.
16010
ab631611
CW
160112010-06-02 Colin Watson <cjwatson@ubuntu.com>
16012
16013 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
16014 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
16015
bde4a9ac
CW
160162010-06-01 Colin Watson <cjwatson@ubuntu.com>
16017
16018 Add btrfs probing support, currently only in the single-device case.
16019
16020 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
16021 function.
16022 (grub_guess_root_device): Call find_root_device_from_mountinfo
16023 before looking in /dev.
16024
b1d17e10
VS
160252010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16026
16027 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
16028 GRUB_DISK_SIZE_UNKNOWN.
16029 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
16030
dfbfe004
JS
160312010-05-31 Jiro SEKIBA <jir@unicus.jp>
16032
16033 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
16034 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
16035 corrupted or not synced properly.
16036
c2ffc8e9
VS
160372010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16038
16039 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
16040 Reported by: Seth Goldberg.
16041
56293166
VS
160422010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16043
16044 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
16045 addition of dest.
16046 Reported by: Seth Goldberg.
16047
7620e7de
VS
160482010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16049
16050 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
16051 Reported by: Seth Goldberg.
16052
c837af3f
VS
160532010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16054
16055 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
16056 64-bit address as signed on MIPS.
16057
c7c75cf4
CW
160582010-05-28 Colin Watson <cjwatson@ubuntu.com>
16059
16060 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
16061 to the empty string.
16062
fa4b8490
BC
160632010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
16064
16065 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
16066
16067 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
16068 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
16069 * kern/misc.c (__enable_execute_stack): Disable on
16070 GRUB_MACHINE_EMU.
16071
a33075b9
CW
160722010-05-28 Colin Watson <cjwatson@ubuntu.com>
16073
16074 Make grub-probe work with symbolic links under /dev/mapper as well
16075 as with real block devices. The Linux world seems to be (at best)
16076 in transition here, and GRUB shouldn't get caught in the middle.
16077
16078 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
16079 /dev/mapper.
16080
d8708134
CW
160812010-05-27 Colin Watson <cjwatson@ubuntu.com>
16082
16083 * util/grub-script-check.c (main): Ensure defined behaviour on empty
16084 input files (in which case exit zero).
16085
db2102a0
CW
160862010-05-27 Colin Watson <cjwatson@ubuntu.com>
16087
16088 * kern/emu/misc.c (canonicalize_file_name): realpath can still
16089 return NULL for various reasons even if it has a maximum-length
16090 buffer: for example, there might be a symlink loop, or the path
16091 might exceed PATH_MAX. If this happens, return NULL.
16092
5fdba519
RM
160932010-05-27 Robert Millan <rmh@gnu.org>
16094
16095 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
16096 partmap module to handle cross-partmap setups.
16097 Reported by Orestes Mas. Gràcies!
16098
d1d368e4
CW
160992010-05-27 Colin Watson <cjwatson@ubuntu.com>
16100
16101 * util/grub-mkrescue.in: Initialise override_dir rather than
16102 assuming that it's unset or empty in the environment.
16103
95ac3c73
GS
161042010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
16105
16106 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
16107 variable index into p_index to suppress a warning with -Wshadow.
16108
7d8c0213
BC
161092010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
16110
16111 * INSTALL: Added flex >= 2.5.35 requirement.
16112
db4d5813
VS
161132010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16114
16115 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
16116
f24f4300
VS
161172010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16118
16119 cmostest support.
16120
16121 * commands/i386/cmostest.c: New file.
16122 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
16123 (cmostest_mod_SOURCES): New variable.
16124 (cmostest_mod_CFLAGS): Likewise.
16125 (cmostest_mod_LDFLAGS): Likewise.
16126 * conf/i386-pc.rmk: Likewise.
16127 * docs/grub.texi (Vendor power-on keys): New section.
16128 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
16129 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
16130 and GRUB_BUTTON_CMOS_ADDRESS.
16131 * util/grub.d/00_header.in: Handle powering-on by separate button.
16132
ad603f61
VS
161332010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16134
16135 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
16136 Removed drawing_scrollbar argument. All users updated
16137 Fixes #29792.
16138 Reported by Jo Shields
16139
3ecb080a
VS
161402010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16141
16142 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
16143 buffer since gfxterm handles double repaint.
16144
5f2316c1
VS
161452010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16146
16147 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
16148 * term/gfxterm.c (real_scroll): Likewise.
16149
9a25f885
VS
161502010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16151
16152 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
16153 before calling BIOS.
16154
39fbb79a
VS
161552010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16156
16157 * include/grub/i18n.h: Always enable grub_gettext.
16158
228cfa97
VS
161592010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16160
16161 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
16162 partition naming style.
16163
21717c8f
CW
161642010-05-21 Colin Watson <cjwatson@ubuntu.com>
16165
16166 * util/grub-mkconfig.in: Fix handling of -o so that it works when
16167 not the first option.
16168
c0f48e65
CW
161692010-05-20 Colin Watson <cjwatson@ubuntu.com>
16170
16171 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
16172
96779aec
CW
161732010-05-20 Colin Watson <cjwatson@ubuntu.com>
16174
16175 * util/misc.c: Move inclusion of <limits.h> to ...
16176 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
16177
fa9d256e
GS
161782010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
16179
16180 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
16181 Fix merge error in NetBSD code.
16182 (find_partition_start) [__NetBSD__]: Likewise.
16183
123b7a85
BC
161842010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
16185
16186 Fix grub-mkrescue usage unit testing.
16187
16188 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
16189
74276c0d
CF
161902010-05-18 Christian Franke <franke@computer.org>
16191
16192 * util/grub.d/10_windows.in: Use path names instead of
16193 drive letters to prevent warning from Cygwin 1.7.
16194 Add drivemap command to menuentry if needed.
16195
c4f7b523
ST
161962010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
16197
16198 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
16199 gnumach and gnumach.gz.
16200
95b97950
VS
162012010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16202
16203 * include/grub/i18n.h (gettext): Inline instead of using #define.
16204 (grub_gettext): Likewise.
16205 (_): Likewise.
16206
01b8d2d7
VS
162072010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16208
16209 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
16210 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
16211 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
16212 (main): Add a slash after pkglibdirroot.
16213
654e1d1e
VS
162142010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16215
16216 * util/grub-install.in: Add missing "in" keyword.
16217
26966aeb
VS
162182010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16219
16220 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
16221 Reported by: Seth Goldberg.
16222
75006747
VS
162232010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16224
16225 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
16226
74cbf5bd
CW
162272010-05-18 Colin Watson <cjwatson@ubuntu.com>
16228
16229 * configure.ac: Check for Linux device-mapper support.
16230
16231 * util/hostdisk.c (device_is_mapped): New function.
16232 (find_partition_start): New function, partly broken out from
16233 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
16234 device-mapper support added.
16235 (linux_find_partition): Use find_partition_start.
16236 (convert_system_partition_to_system_disk): Add `st' argument.
16237 Support Linux /dev/mapper/* devices if device-mapper support is
16238 available; only DM-RAID devices are understood at present.
16239 (find_system_device): Add `st' argument. Pass it to
16240 convert_system_partition_to_system_disk.
16241 (grub_util_biosdisk_get_grub_dev): Pass stat result to
16242 find_system_device and convert_system_partition_to_system_disk. Use
16243 find_partition_start.
16244
16245 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
16246 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
16247 * util/deviceiter.c [__linux__]: Define MINOR.
16248 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
16249 * util/mkdevicemap.c (grub_putchar): New function.
16250 (grub_getkey): New function.
16251 (grub_refresh): New function.
16252 (main): Set debug=all if -v -v is used.
16253
355b51e9
CW
162542010-05-18 Colin Watson <cjwatson@ubuntu.com>
16255
16256 Fix build with non-GNU libcs.
16257
16258 * util/misc.c (canonicalize_file_name): Move to ...
16259 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
16260 grub_make_system_path_relative_to_its_root.
16261
7fb5c25f
CW
162622010-05-18 Colin Watson <cjwatson@ubuntu.com>
16263
16264 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
16265 we handle finding grub-mkimage. Default to finding grub-mkimage in
16266 ${bindir} with program_transform_name applied, and provide a
16267 --grub-mkimage option to override this.
16268
1d3293d6
VS
162692010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16270
16271 Remove grub-mkisofs.
16272
16273 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
16274 (grub_mkisofs_SOURCES): Removed.
16275 (grub_mkisofs_CFLAGS): Removed.
16276 * util/mkisofs/defaults.h: Removed.
16277 * util/mkisofs/eltorito.c: Likewise.
16278 * util/mkisofs/exclude.h: Likewise.
16279 * util/mkisofs/hash.c: Likewise.
16280 * util/mkisofs/include/: Likewise.
16281 * util/mkisofs/include/fctldefs.h: Likewise.
16282 * util/mkisofs/include/mconfig.h: Likewise.
16283 * util/mkisofs/include/prototyp.h: Likewise.
16284 * util/mkisofs/include/statdefs.h: Likewise.
16285 * util/mkisofs/iso9660.h: Likewise.
16286 * util/mkisofs/joliet.c: Likewise.
16287 * util/mkisofs/match.c: Likewise.
16288 * util/mkisofs/match.h: Likewise.
16289 * util/mkisofs/mkisofs.c: Likewise.
16290 * util/mkisofs/mkisofs.h: Likewise.
16291 * util/mkisofs/msdos_partition.h: Likewise.
16292 * util/mkisofs/multi.c: Likewise.
16293 * util/mkisofs/name.c: Likewise.
16294 * util/mkisofs/rock.c: Likewise.
16295 * util/mkisofs/tree.c: Likewise.
16296 * util/mkisofs/write.c: Likewise.
16297
5dde9afe
VS
162982010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16299
16300 Unify grub-mkimage accross platforms.
16301
16302 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
16303 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
16304 (grub_mkelfimage_SOURCES): Removed.
16305 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
16306 (util/grub-mkimage.c_DEPENDENCIES): .. this.
16307 (bin_UTILITIES): Add grub-mkimage.
16308 (grub_mkimage_SOURCES): New variable.
16309 (kernel_img_HEADERS): Remove machine/kernel.h.
16310 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
16311 (pkglib_PROGRAMS): Add kernel.img.
16312 (kernel_img_HEADERS): Add machine/kernel.h.
16313 (kernel_img_FORMAT): Removed.
16314 (bin_UTILITIES): Remove grub-mkimage.
16315 (grub_mkimage_SOURCES): Removed.
16316 (grub_mkimage_CFLAGS): Likewise.
16317 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16318 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
16319 (pkglib_PROGRAMS): Add kernel.img.
16320 (bin_UTILITIES): Remove grub-mkimage.
16321 (grub_mkimage_SOURCES): Removed.
16322 (grub_mkimage_CFLAGS): Likewise.
16323 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16324 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
16325 (pkglib_PROGRAMS): Add kernel.img.
16326 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
16327 (pkglib_PROGRAMS): Add kernel.img.
16328 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
16329 (grub_mkimage_SOURCES): Removed.
16330 (grub_mkimage_CFLAGS): Likewise.
16331 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16332 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
16333 (pkglib_PROGRAMS): Add kernel.img.
16334 (bin_UTILITIES): Remove grub-mkimage.
16335 (grub_mkimage_SOURCES): Removed.
16336 (grub_mkimage_CFLAGS): Likewise.
16337 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16338 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
16339 (grub_mkimage_SOURCES): Removed.
16340 (grub_mkimage_CFLAGS): Likewise.
16341 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16342 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
16343 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
16344 (grub_pe32_optional_header): ... this.
16345 (grub_pe64_optional_header): ... and this. All users updated.
16346 (GRUB_PE32_PE32_MAGIC): Split into ..
16347 (GRUB_PE32_PE32_MAGIC): .. this.
16348 (GRUB_PE32_PE64_MAGIC): .. and this.
16349 (GRUB_PE32_SIGNATURE_SIZE): New definition.
16350 * include/grub/elf.h (PT_GNU_STACK): New definition.
16351 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
16352 * include/grub/i386/efi/kernel.h: Likewise.
16353 * include/grub/i386/kernel.h: Likewise.
16354 * include/grub/i386/pc/kernel.h: Likewise.
16355 * include/grub/i386/qemu/boot.h: Likewise.
16356 * include/grub/mips/kernel.h: Likewise.
16357 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16358 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
16359 * include/grub/powerpc/kernel.h: Likewise.
16360 * include/grub/sparc64/ieee1275/boot.h: Likewise.
16361 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
16362 * include/grub/sparc64/kernel.h: Likewise.
16363 * include/grub/x86_64/efi/kernel.h: Likewise.
16364 * include/grub/x86_64/kernel.h: Likewise.
16365 * include/grub/offsets.h: New file.
16366 * include/grub/kernel.h (grub_module_info): Split into ...
16367 (grub_module_info32): ... this.
16368 (grub_module_info64): ... and this.
16369 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
16370 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
16371 (grub_boot_blocklist): Moved from here ...
16372 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
16373 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
16374 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
16375 * include/grub/types.h (grub_target_to_host16): Removed.
16376 (grub_target_to_host32): Likewise.
16377 (grub_target_to_host64): Likewise.
16378 (grub_host_to_target16): Likewise.
16379 (grub_host_to_target32): Likewise.
16380 (grub_host_to_target64): Likewise.
16381 (grub_host_to_target_addr): Likewise.
16382
16383 Support grub-mkrescue for efi, coreboot and qemu.
16384
16385 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
16386 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
16387 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
16388 * util/grub-mkrawimage.c: Moved from here ...
16389 * util/grub-mkimage.c: ... here. All users updated.
16390 (ALIGN_ADDR): Use image_target.
16391 (TARGET_NO_FIELD): New const.
16392 (image_target_desc): New type.
16393 (image_targets): New array.
16394 (grub_target_to_host64): Use image_target.
16395 (grub_target_to_host32): Likewise.
16396 (grub_target_to_host16): Likewise.
16397 (grub_host_to_target64): Likewise.
16398 (grub_host_to_target32): Likewise.
16399 (grub_host_to_target16): Likewise.
16400 (grub_host_to_target_addr): Likewise.
16401 (generate_image): Handle multiimage.
16402 (main): Require -O parameter. All users updated.
16403 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
16404 util/efi/grub-mkimage.c
16405 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
16406 New option --rom-directory.
16407 Use xorriso.
16408 * util/i386/efi/grub-mkimage.c: Removed.
16409 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
16410 (grub_target_to_host32): Likewise.
16411 (grub_target_to_host64): Likewise.
16412 (grub_host_to_target16): Likewise.
16413 (grub_host_to_target32): Likewise.
16414 (grub_host_to_target64): Likewise.
16415 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
16416 (grub_target_to_host32): Likewise.
16417 (grub_target_to_host64): Likewise.
16418 (grub_host_to_target16): Likewise.
16419 (grub_host_to_target32): Likewise.
16420 (grub_host_to_target64): Likewise.
16421
f4fc97d0
BC
164222010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
16423
16424 Source tree is reorganized for emu build.
16425
16426 * include/grub/util/console.h: Move from here...
16427 * include/grub/emu/console.h: ...to here.
16428 * include/grub/util/getroot.h: Move from here...
16429 * include/grub/emu/getroot.h: ...to here.
16430 * include/grub/util/hostdisk.h: Move from here...
16431 * include/grub/emu/hostdisk.h: ...to here.
16432 * util/console.c: Move from here...
16433 * kern/emu/console.c: ...to here.
16434 * util/getroot.c: Move from here...
16435 * kern/emu/getroot.c: ...to here.
16436 * util/grub-emu.c: Move from here...
16437 * kern/emu/main.c: ...to here.
16438 * util/hostdisk.c: Move from here...
16439 * kern/emu/hostdisk.c: ...to here.
16440 * util/hostfs.c: Move from here...
16441 * kern/emu/hostfs.c: ...to here.
16442 * util/mm.c: Move from here...
16443 * kern/emu/mm.c: ...to here.
16444 * util/pci.c: Move from here...
16445 * bus/emu/pci.c: ...to here.
16446 * util/sdl.c: Move from here...
16447 * video/emu/sdl.c: ...to here.
16448 * util/time.c: Move from here...
16449 * kern/emu/time.c: ...to here.
16450 * util/usb.c: Move from here...
16451 * bus/usb/emu/usb.c: ...to here.
16452
16453 * include/grub/emu/misc.h: New header for grub-emu functions.
16454 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
16455
16456 * conf/any-emu.rmk: Rule updates for above renames.
16457 * conf/common.rmk: Likewise.
16458 * conf/i386-pc.rmk: Likewise.
16459 * conf/i386-qemu.rmk: Likewise.
16460 * conf/mips.rmk: Likewise.
16461 * conf/sparc64-ieee1275.rmk: Likewise.
16462 * conf/x86-efi.rmk: Likewise.
16463
16464 * disk/lvm.h: #include updates for above renames.
16465 * util/grub-mkrelpath.c: Likewise.
16466 * util/grub-probe.c: Likewise.
16467 * util/i386/pc/grub-setup.c: Likewise.
16468 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16469 * kern/emu/console.c: Likewise.
16470 * kern/emu/getroot.c: Likewise.
16471 * kern/emu/hostdisk.c: Likewise.
16472 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
16473
16474 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
16475 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
16476 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
16477 * util/misc.c: Remove grub-emu functions.
16478
cced9145
VS
164792010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16480
16481 Fix gfxmenu crash.
16482 Reported by: Thorsten Grützmacher.
16483
16484 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
16485 timeout hook.
16486 (circprog_set_property): Register and unregister timeout hook.
16487 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
16488 (label_destroy): Free template. and unregister hook.
16489 (label_set_state): New function.
16490 (label_set_property): Handle templates and hooks.
16491 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
16492 timeout hook.
16493 (progress_bar_set_property): Register and unregister timeout hook.
16494 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
16495 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
16496 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
16497 (update_timeout_visit): Removed.
16498 (update_timeouts): New function.
16499 (redraw_timeouts): Likewise.
16500 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
16501 (grub_gfxmenu_clear_timeout): Likewise.
16502 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
16503 (grub_gfxmenu_timeout_notify): Likewise.
16504 (grub_gfxmenu_timeout_notifications): New external variable.
16505 (grub_gfxmenu_timeout_register): New function.
16506 (grub_gfxmenu_timeout_unregister): Likewise.
16507
c6e5caab
VS
165082010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16509
16510 Transform (broken) vga terminal into (working) vga video driver.
16511
16512 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
16513 video/i386/pc/vga.c.
16514 * include/grub/video.h (grub_video_driver_id):
16515 Add GRUB_VIDEO_DRIVER_VGA.
16516 * term/i386/pc/vga.c: Renamed to ...
16517 * video/i386/pc/vga.c: ...this
16518 (DEBUG_VGA): Removed.
16519 (CHAR_WIDTH): Likewise.
16520 (CHAR_HEIGHT): Likewise.
16521 (TEXT_WIDTH): Likewise.
16522 (TEXT_HEIGHT): Likewise.
16523 (DEFAULT_FG_COLOR): Likewise.
16524 (DEFAULT_BG_COLOR): Likewise.
16525 (colored_char): Likewise.
16526 (xpos): Likewise.
16527 (ypos): Likewise.
16528 (cursor_state): Likewise.
16529 (fg_color): Likewise.
16530 (bg_color): Likewise.
16531 (text_buf): Likewise.
16532 (page): Likewise.
16533 (font): Likewise.
16534 (framebuffer): New variable.
16535 (set_read_map): Disabled.
16536 (setup): New variable.
16537 (is_target): Likewise.
16538 (grub_vga_mod_init): Likewise.
16539 (grub_vga_mod_fini): Likewise.
16540 (check_vga_mem): Likewise.
16541 (write_char): Likewise.
16542 (write_cursor): Likewise.
16543 (scroll_up): Likewise.
16544 (grub_vga_putchar): Likewise.
16545 (grub_vga_getcharwidth): Likewise.
16546 (grub_vga_getwh): Likewise.
16547 (grub_vga_getxy): Likewise.
16548 (grub_vga_gotoxy): Likewise.
16549 (grub_vga_cls): Likewise.
16550 (grub_vga_setcolorstate): Likewise.
16551 (grub_vga_setcursor): Likewise.
16552 (grub_video_vga_init): New function.
16553 (grub_video_vga_setup): Likewise.
16554 (grub_video_vga_fini): Likewise.
16555 (update_target): Likewise.
16556 (grub_video_vga_blit_bitmap): Likewise.
16557 (grub_video_vga_blit_render_target): Likewise.
16558 (grub_video_vga_set_active_render_target): Likewise.
16559 (grub_video_vga_get_active_render_target): Likewise.
16560 (grub_video_vga_swap_buffers): Likewise.
16561 (grub_video_vga_set_palette): Likewise.
16562 (grub_video_vga_get_info_and_fini): Likewise.
16563 (grub_vga_term): Removed.
16564 (grub_video_vga_adapter): New variable.
16565 (GRUB_MOD_INIT): Register a video driver instead of terminal.
16566 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
16567
2bf61a98
VS
165682010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16569
16570 * video/readers/jpeg.c: Indented.
16571
09ddcd11
VS
165722010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16573
16574 Various jpeg cleanups.
16575
16576 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
16577 (grub_jpeg_decode_quan_table): Use sizeof.
16578 (grub_jpeg_decode_du): Use ARRAY_SIZE.
16579
e5507505
PH
165802010-05-05 Peter Hurley <No e-mail available> (tiny change)
16581
16582 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
16583 tables. Ignore non-last ac bit.
16584 (grub_jpeg_decode_quan_table): Likewise.
16585
7e720a9b
VS
165862010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16587
16588 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
16589 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
16590 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16591 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
16592 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
16593 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
16594
a7fc080b
VS
165952010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16596
16597 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
16598 error.
16599
2bf6012d
VS
166002010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16601
16602 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
16603
265d68cd
VS
166042010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16605
16606 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
16607 condition.
16608
166092010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
16610
16611 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
16612 part.
16613
265d68cd 166142010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
16615
16616 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
16617 pointers.
16618
265d68cd 166192010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
16620
16621 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
16622
d1b61374
CF
166232010-05-01 Christian Franke <franke@computer.org>
16624
16625 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
16626 Remove broken Cygwin path conversion.
16627 * util/misc.c: [__CYGWIN__] Add include and define.
16628 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
16629 for Cygwin 1.7.
16630 (make_system_path_relative_to_its_root): Simplify loop, replace early
16631 return by break.
16632 [__CYGWIN__] Add conversion to win32 path.
16633 Include "/" case in trailing slash removal.
16634
3558c6e9
VS
166352010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16636
16637 * kern/main.c (grub_load_config): Fix copy-pasted comment.
16638 Reported by: Seth Goldberg
16639
f5f3ff93
VS
166402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16641
16642 * commands/help.c (grub_cmd_help): Fix a typo.
16643 Reported by: Seth Goldberg
16644
d8b5cd40
VS
166452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16646
16647 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
16648 name and add N_.
16649 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
16650 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
16651 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
16652 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
16653 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
16654 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
16655 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16656 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16657 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16658 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16659 * normal/context.c (GRUB_MOD_INIT): Likewise.
16660 * normal/main.c (GRUB_MOD_INIT): Likewise.
16661 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16662 * term/serial.c (GRUB_MOD_INIT): Likewise.
16663 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16664
88c14915
VS
166652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16666
16667 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
16668 extra == 0.
16669
165134bc
VS
166702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16671
16672 * commands/iorw.c: New file.
16673 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
16674 (iorw_mod_SOURCES): New variable.
16675 (iorw_mod_CFLAGS): Likewise.
16676 (iorw_mod_LDFLAGS): Likewise.
16677
c5ac9b32
VS
166782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16679
16680 Hotkey support
16681
16682 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
16683 * normal/main.c (hotkey_aliases): New variable.
16684 (grub_normal_add_menu_entry): Parse "--hotkey".
16685 * normal/menu_text.c (run_menu): Handle hotkeys.
16686
ce60689c
VS
166872010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16688
16689 * kern/i386/coreboot/init.c (grub_machine_init): Call
16690 grub_machine_mmap_init on qemu.
16691
0359d006
VS
166922010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16693
16694 * boot/i386/qemu/boot.S: Add a missing .code16.
16695
7819a456
VS
166962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16697
16698 Use LBIO on coreboot.
16699
16700 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
16701 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
16702 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
16703 New declaration.
16704 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
16705 grub_machine_mmap_init on coreboot.
16706 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
16707 GRUB_LINUXBIOS_MEMBER_LINK.
16708 (grub_machine_mmap_iterate): Fix declaration.
16709 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
16710
7210dca9
VS
167112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16712
16713 Split coreboot and multiboot ports.
16714
16715 * conf/i386-multiboot.rmk: New file.
16716 * configure.ac: Add multiboot port.
16717 * include/grub/i386/multiboot/boot.h: New file.
16718 * include/grub/i386/multiboot/console.h: Likewise.
16719 * include/grub/i386/multiboot/init.h: Likewise.
16720 * include/grub/i386/multiboot/kernel.h: Likewise.
16721 * include/grub/i386/multiboot/loader.h: Likewise.
16722 * include/grub/i386/multiboot/memory.h: Likewise.
16723 * include/grub/i386/multiboot/serial.h: Likewise.
16724 * include/grub/i386/multiboot/time.h: Likewise.
16725 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
16726 * loader/multiboot.c: Likewise.
16727 * loader/multiboot_mbi2.c: Likewise.
16728 * util/grub-mkrescue.in: Generate multiboot rescue.
16729
6f8aaf68
VS
167302010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16731
3080f7a7
VS
16732 * kern/parser.c (grub_parser_execute): Cope with read-only config.
16733
167342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16735
16736 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
16737
16738 * commands/terminal.c (abstract_terminal): New struct.
16739 (handle_command): New function. Based on grub_cmd_terminal_input.
16740 (grub_cmd_terminal_input): Use handle_command.
16741 (grub_cmd_terminal_output): Use handle_command.
16742
a8ebb841
BC
167432010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
16744
16745 Fix comment handling.
16746
16747 * tests/grub_script_comments.in: New testcase.
16748 * conf/tests.rmk: Rules for new testcase.
16749 * script/yylex.l: Updated flex rules.
16750
bb06ba08
ST
167512010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
16752
16753 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
16754 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
16755 if argc is 1.
bb06ba08 16756
cc9d2425
VS
167572010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
16758
16759 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
16760 autogen issues.
16761
460d8402
CF
167622010-04-26 Christian Franke <franke@computer.org>
16763
16764 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
16765 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
16766 (grub_get_prefix): Remove function.
16767 * util/grub-emu.c (main): Replace grub_get_prefix () call by
16768 make_system_path_relative_to_its_root ().
16769 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16770
553c01f9
CF
167712010-04-24 Christian Franke <franke@computer.org>
16772
16773 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
16774 (kernel_img_LDFLAGS): Remove -static-libgcc.
16775
2aec1692
CF
167762010-04-24 Christian Franke <franke@computer.org>
16777
16778 * configure.ac: Do not CHECK_BSS_START_SYMBOL
16779 and CHECK_END_SYMBOL if grub-emu is built.
16780 Unset TARGET_OBJ2ELF if grub-emu is built
16781 without module support.
16782
f67dc308
JS
167832010-04-24 Jiro SEKIBA <jir@unicus.jp>
16784
16785 Nilfs2 support.
16786
16787 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
16788 (grub_fstest_SOURCES): Likewise.
16789 (pkglib_MODULES): Add nilfs2.mod.
16790 (nilfs2_mod_SOURCES): New variable.
16791 (nilfs2_mod_CFLAGS): Likewise.
16792 (nilfs2_mod_LDFLAGS): Likewise.
16793 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16794 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16795 * fs/nilfs2.c: New file.
16796
4ba8d354
VS
167972010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
16798
16799 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
16800 is not supported.
16801
0d2c20c6
GS
168022010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
16803
16804 Add grub-mkconfig support for NetBSD.
16805
16806 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
16807 * util/grub-mkconfig.in: export new NetBSD specific variables.
16808 * po/POTFILES-shell: added 10_netbsd.in.
16809 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
16810
bc4a2d83
BC
168112010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
16812
16813 Fix emu build with grub-emu-pci and grub-emu-modules.
16814
16815 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
16816 functions.
16817 * include/grub/libpciaccess.h: New file.
16818 * conf/any-emu.rmk: Update kernel headers for emu build.
16819
f48c87aa
VS
168202010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16821
16822 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
16823
18959385
VS
168242010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16825
16826 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
16827
0037de3f
VS
168282010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16829
16830 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
16831 Retrieve chosen/bootpath if bootpath isn't hardcoded.
16832 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
16833 util/ieee1275/ofpath.c.
16834 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
16835 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
16836 * include/grub/sparc64/ieee1275/boot.h
16837 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
16838 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
16839 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
16840 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
16841 const char *.
16842 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
16843 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
16844 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
16845 install.
16846
38e55e90
GS
168472010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
16848
16849 * util/grub-mkconfig.in: Corrected two == equality tests.
16850 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
16851 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
16852 expect a number appended to it.
16853 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
16854 expects a number appended to it.
16855
a9e6ff28
VS
168562010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16857
16858 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
16859
0b830b8f
VS
168602010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16861
16862 * util/hostdisk.c (make_device_name): Change to new partition naming.
16863
0973daeb
VS
168642010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16865
16866 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
16867
460d8402 168682010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
16869
16870 * Makefile.in: Add missing localedir setting.
16871
0b456309
CW
168722010-04-14 Colin Watson <cjwatson@ubuntu.com>
16873
16874 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
16875 mistake in r2156. Noticed by Anthony Fok.
16876
16877 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
16878 @localedir@.
16879 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16880
08f46d62
BC
168812010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
16882
16883 Fix a spurious, uninitialized variable warning.
16884
16885 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
16886 Initialize variable, shdr.
16887 (grub_freebsd_load_elfmodule): Likewise.
16888 (grub_freebsd_load_elf_meta): Likewise.
16889
8c4a72d4
BC
168902010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
16891
16892 Fix for escaped dollar in double quoted strings.
16893
16894 * script/yylex.l: Updated flex rules.
16895 * conf/tests.rmk: Rule for new testcase.
16896 * tests/grub_script_dollar.in: New testcase.
16897
ce44826e
CPE
168982010-04-13 Carles Pina i Estany <carles@pina.cat>
168992010-04-13 Colin Watson <cjwatson@ubuntu.com>
16900
16901 Enclose all translated strings in grub.cfg in single quotes, and
16902 escape them appropriately (Ubuntu bug #552921).
16903
16904 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
16905 * util/grub.d/10_hurd.in: Use it.
16906 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16907 * util/grub.d/10_linux.in (linux_entry): Likewise.
16908
4b0cd8f8
VS
169092010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16910
16911 Fix cygwin compilation.
16912
16913 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
16914 * include/grub/misc.h (__register_frame_info)
16915 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
16916 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16917 * kern/misc.c (__register_frame_info)
16918 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
16919 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16920
01fcf061
VS
169212010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16922
16923 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
16924
5d04b11e
VS
169252010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16926
16927 Unify libgcc processing.
16928
16929 * Makefile.in (kernel_img_LDFLAGS): New variable.
16930 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
16931 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
16932 overwriting.
16933 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
16934 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
16935 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
16936 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
16937 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
16938 overwriting. Remove -lgcc and -static-libgcc
16939 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
16940 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16941 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16942 (kernel_img_LDFLAGS): Append instead of overwriting.
16943 Remove -lgcc and -static-libgcc
16944 * conf/sparc64-ieee1275.rmk: Likewise.
16945 * include/grub/powerpc/libgcc.h: Move to ...
16946 * include/grub/libgcc.h: .. this.
16947 * include/grub/libgcc.h: Don't export most of the function on x86.
16948 (__bswapsi2): New export.
16949 (__bswapdi2): Likewise.
16950 * include/grub/mips/libgcc.h: Removed.
16951 * include/grub/sparc64/libgcc.h: Likewise.
16952
b7f3ac29
VS
169532010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16954
16955 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
16956 disk_info_msg (conflicts with gettexting into languages with cases).
16957
2c7031b1
GS
169582010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
16959
16960 Add grub-probe support for NetBSD.
16961
16962 * util/getroot.c (find_root_device): Convert block device to
16963 character device on NetBSD.
16964 * util/probe.c (probe): Require character device on NetBSD.
16965 * util/hostdisk.c: NetBSD specific headers.
16966 (configure_device_driver): new function to tune device driver
16967 parameters (currently only for NetBSD floppy driver).
16968 (grub_util_biosdisk_open): NetBSD specific code (get disk size
16969 via disklabel ioctl).
16970 (open_device): call configure_device_driver on NetBSD.
16971 (convert_system_partition_to_system_disk): NetBSD specific code.
16972 (device_is_wholedisk): Likewise.
16973 (grub_util_biosdisk_get_grub_dev): Likewise.
16974 (make_device_name): Fixed a typo in bsd_part_str.
16975 * configure.ac: check for opendisk() and getrawpartition() on
16976 NetBSD and set LIBUTIL.
16977 * Makefile.in: add LIBUTIL to LIBS.
16978
f516290c
BC
169792010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16980
16981 Documentation fix.
16982
16983 * util/grub-script-check.c: Better help message.
16984
d8dcc0df
BC
169852010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16986
16987 Fix FreeBSD build.
16988
16989 * configure.ac: Flex version check.
16990 * conf/common.rmk: Add -Wno-error to sh.mod.
16991 * script/yylex.l: Remove all #pragma.
16992
6734334a
VS
169932010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16994
16995 * include/grub/util/misc.h (canonicalise_file_name): Add missing
16996 prototype.
16997 Reported by: Seth Goldberg.
16998
daea6abd
VS
169992010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17000
17001 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
17002 Rename "module" to "module2".
17003 Reported by: Seth Goldberg.
17004
f2fd9d2b
VS
170052010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17006
17007 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
17008 EXPORT_FUNC.
17009 Reported by: Seth Goldberg.
17010
be124579
VS
170112010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17012
17013 * lib/posix_wrap/locale.h: Add missing file.
17014 Reported by: Seth Goldberg.
17015
ef5da797
VS
170162010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17017
17018 grub-emu module load support.
17019
17020 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
17021 NO_DYNAMIC_MODULES switched to this.
17022 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
17023 (CFLAGS): Likewise.
17024 * conf/any-emu.rmk: Generate symlist.
17025 (kernel_img_HEADERS): Add util/datetime.h.
17026 (kernel_img_HEADERS) [sdl]: Add sdl.h.
17027 (kernel_img_HEADERS) [libusb]: Add libusb.h.
17028 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
17029 kern/$(target_cpu)/cache.S.
17030 * configure.ac (grub-emu-modules): New option.
17031 * genmk.rb: Handle multiple source lists.
17032 * include/grub/sdl.h: New file.
17033 * include/grub/libusb.h: Likewise.
17034 * util/grub-emu.c (main): Hanle (host) root.
17035 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
17036 GRUB_ERR_UNKNOWN_DEVICE.
17037 * util/misc.c: Move mm functions to ...
17038 * util/mm.c: ... here. All users updated.
17039
47822096
VS
170402010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17041
17042 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
17043 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
17044 missing files.
17045 (maintainer-clean): Remove libgcrypt-grub.
17046
5d7e7445
VS
170472010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17048
17049 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
17050
25f4e252
EC
170512010-04-09 EFI Coder <eficoder@hotmail.com>
17052
17053 * normal/menu_text.c (print_message): Clean up the message and show
17054 the Fn information when on EFI
17055 * term/efi/console.c (grub_console_checkkey): Add F4 support.
17056
027de555
VS
170572010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17058
17059 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
17060 All users updated.
17061 * normal/crypto.c (read_crypto_list): Likewise.
17062 * normal/dyncmd.c (read_command_list): Likewise.
17063 * normal/term.c (read_terminal_list): Likewise.
17064 * normal/main.c (read_lists): Use explicit prefix.
17065 (read_lists_hook): Use read_lists.
17066 (grub_normal_execute): Likewise.
17067
47779711
VS
170682010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17069
17070 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
17071 Reported by: Thomas Schmitt.
17072 Add -no-emul-boot to grub-mkisofs parameters.
17073
1118c32e
VS
170742010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17075
17076 * font/font.c: Indented.
17077
7d652447
BC
170782010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
17079
17080 Elif support to GRUB script (by Deepak Vankadaru).
17081
17082 * tests/grub_script_if.in: New testcase.
17083 * conf/tests.rmk: Rule for new testcase.
17084 * script/parser.y: Grammar rules for elif.
17085
34bb22df
BC
170862010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
17087
17088 While and until loops support to GRUB script.
17089
17090 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
17091 (grub_script_create_cmdwhile): New function prototype.
17092 (grub_script_execute_cmdwhile): New function prototype.
17093 * script/execute.c (grub_script_execute_cmdwhile): New function.
17094 * script/parser.y (command): New commands.
17095 (whilecmd): New grammar rule.
17096 (untilcmd): New grammar rule.
17097 * script/script.c (grub_script_create_cmdwhile): New function.
17098 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
17099 function.
17100
17101 * tests/grub_script_while1.in: New testcase.
17102 * conf/tests.rmk: Rule for new testcase.
17103
e215d8e0
VS
171042010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17105
17106 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
17107 as *.jpg.
17108
d7c43ba1
MV
171092010-04-09 Mario Vazquez <mariovazq@gmail.com>
17110
17111 GRUB_BACKGROUND support.
17112
17113 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
17114 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
17115
d64795c0
VS
171162010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17117
17118 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 17119 Idea by: Mario Vazquez
d64795c0
VS
17120
17121 * util/grub.d/00_header.in: Load pf2 and image modules.
17122
f267f83a
VS
171232010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17124
17125 grub-mkconfig multiple terminal support.
17126
17127 * util/grub-mkconfig.in: Handle multiple terminals correctly.
17128 * util/grub.d/00_header.in: Likewise.
17129
b7841ceb
VS
171302010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17131
17132 * Makefile.in: Specify files explicitly instead of using $< and $@ since
17133 we use cd $(srcdir).
17134
df60998c
CW
171352010-04-08 Colin Watson <cjwatson@ubuntu.com>
17136
17137 * util/grub.d/10_linux.in: Only use the first word of
17138 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
17139 spaces in GRUB_DISTRIBUTOR.
17140 * util/grub.d/10_kfreebsd.in: Likewise.
17141 * util/grub.d/10_hurd.in: Likewise.
17142
fa09c82e
BC
171432010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
17144
14e18ae3 17145 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
17146
17147 * tests/util/grub-shell.in: Remove -serial stdio option.
17148
daf892b3
BC
171492010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17150
17151 POSIX header file wrappers.
17152
17153 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
17154 equivalents.
17155 * lib/posix_wrap/ctype.h: Likewise.
17156 * lib/posix_wrap/errno.h: Likewise.
17157 * lib/posix_wrap/langinfo.h: Likewise.
17158 * lib/posix_wrap/limits.h: Likewise.
17159 * lib/posix_wrap/localcharset.h: Likewise.
17160 * lib/posix_wrap/stdint.h: Likewise.
17161 * lib/posix_wrap/stdio.h: Likewise.
17162 * lib/posix_wrap/stdlib.h: Likewise.
17163 * lib/posix_wrap/string.h: Likewise.
17164 * lib/posix_wrap/sys/types.h: Likewise.
17165 * lib/posix_wrap/unistd.h: Likewise.
17166 * lib/posix_wrap/wchar.h: Likewise.
17167 * lib/posix_wrap/wctype.h: Likewise.
17168 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
17169 (grub_script.yy.h): Likewise.
17170 * script/yylex.l: Remove POSIX emulation #defines.
17171 * Makefile.in (POSIX_CFLAGS): New variable.
17172 (GNULIB_UTIL_CFLAGS): Likewise.
17173
17174 Regexp support.
17175
17176 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
17177 (regexp_mod_SOURCES): New variable.
17178 (regexp_mod_CFLAGS): Likewise.
17179 (regexp_mod_LDFLAGS): Likewise.
17180 * commands/regexp.c: New file.
17181 * gnulib/regcomp.c: New file. Imported from gnulib.
17182 * gnulib/regex.c: Likewise.
17183 * gnulib/regex_internal.c: Likewise.
17184 * gnulib/regex_internal.h: Likewise.
17185 * gnulib/regexec.c: Likewise.
17186 * gnulib/regex.h: Likewise.
17187
974ac4f7
VS
171882010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17189
17190 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
17191 unsupported video mode types.
17192
2622c3ff
VS
171932010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17194
17195 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
17196
064cb524
VS
171972010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17198
17199 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
17200 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
17201
a8c3b552
VS
172022010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
17203
17204 Remove unused grub_vga_get_font.
17205
17206 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
17207 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
17208
187bbe3d
GS
172092010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17210
17211 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
17212 * include/grub/misc.h: Likewise.
17213
b9396631
GS
172142010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17215
17216 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
17217 for which failure is fatal.
17218
50479feb
GS
172192010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17220
17221 * util/grub-install.in: Use mkdir -p to create grub directory.
17222 * util/i386/efi/grub-install.in: Likewise.
17223 * util/ieee1275/grub-install.in: Likewise.
17224
b1654fdf
GS
172252010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17226
17227 * Makefile.in (LEX): new variable.
17228
bd5a6415
GS
172292010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17230
17231 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
17232 `=' and added double quotes on operands of this equality test.
17233
3db3a82b
VS
172342010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
17235
17236 * Makefile.in (uninstall): Remove a leftover debug echo.
17237 Reported by: Grégoire Sutre
17238
38023412
VS
172392010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
17240
17241 MIPS multiboot2 support.
17242
17243 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
17244 (multiboot2_mod_SOURCES): New variable.
17245 (multiboot2_mod_CFLAGS): Likewise.
17246 (multiboot2_mod_LDFLAGS): Likewise.
17247 (multiboot2_mod_ASFLAGS): Likewise.
17248 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
17249 definition.
17250 (MULTIBOOT_ENTRY_REGISTER): Likewise.
17251 (MULTIBOOT_MBI_REGISTER): Likewise.
17252 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
17253 (MULTIBOOT_ELF32_MACHINE): Likewise.
17254 (MULTIBOOT_ELF64_MACHINE): Likewise.
17255 * include/grub/mips/multiboot.h: New file.
17256 * include/grub/video.h (grub_video_driver_id): New type
17257 GRUB_VIDEO_DRIVER_SM712.
17258 (grub_video_get_info_and_fini): Export.
17259 (grub_video_get_palette): Likewise.
17260 (grub_video_get_driver_id): Likewise.
17261 * include/multiboot2.h: Resynced with spec.
17262 * loader/i386/multiboot.c: Moved from here ...
17263 * loader/multiboot.c: ... here. All users updated.
17264 (grub_multiboot_boot): Use platform-specific macros.
17265 * loader/i386/multiboot_elfxx.c: Moved from here ...
17266 * loader/multiboot_elfxx.c: ... here. All users updated.
17267 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
17268 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
17269 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
17270
47674667
VS
172712010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17272
17273 Import gnulib argp module.
17274
17275 * gnulib/argp-ba.c: New file.
17276 * gnulib/argp-eexst.c: Likewise.
17277 * gnulib/argp-fmtstream.c: Likewise.
17278 * gnulib/argp-fmtstream.h: Likewise.
17279 * gnulib/argp-fs-xinl.c: Likewise.
17280 * gnulib/argp-help.c: Likewise.
17281 * gnulib/argp-namefrob.h: Likewise.
17282 * gnulib/argp-parse.c: Likewise.
17283 * gnulib/argp-pin.c: Likewise.
17284 * gnulib/argp-pv.c: Likewise.
17285 * gnulib/argp-pvh.c: Likewise.
17286 * gnulib/argp-version-etc.c: Likewise.
17287 * gnulib/argp-version-etc.h: Likewise.
17288 * gnulib/argp-xinl.c: Likewise.
17289 * gnulib/argp.h: Likewise.
17290
495442ed
VS
172912010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17292
17293 * kern/device.c (grub_device_iterate): Clear errors after failed
17294 opening device.
17295
f9fd65df
VS
172962010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17297
17298 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
17299 returned by firmware.
17300
af09641e
VS
173012010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17302
17303 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
17304 compilation on coreboot and qemu
17305
016883a5
VS
173062010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
17307
17308 * include/multiboot2.h: Resync with spec.
17309
f97e1f7d
VS
173102010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
17311
17312 Multiboot2 tag support
17313
17314 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
17315 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
17316 Remove loader/multiboot_loader.c.
17317 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
17318 (grub_multiboot2_real_boot): Likewise.
17319 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
17320 (grub_get_multiboot_mmap_count): New proto.
17321 (grub_fill_multiboot_mmap): Likewise.
17322 (grub_multiboot_set_video_mode): Likewise.
17323 (grub_multiboot_set_console): Likewise.
17324 (grub_multiboot_load): Likewise.
17325 (grub_multiboot_load_elf): Likewise.
17326 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
17327 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
17328 * include/multiboot.h: Resynced with specification.
17329 * include/multiboot2.h: Resynced with specification.
17330 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
17331 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
17332 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
17333 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
17334 users updated.
17335 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
17336 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
17337 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
17338 Removed.
17339 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
17340 Moved from here...
17341 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
17342 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
17343 Moved from here...
17344 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
17345 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
17346 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
17347 All users updated.
17348 * loader/i386/multiboot_mbi2.c: New file.
17349
3506b90b
VS
173502010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
17351
17352 Resync with gnulib.
17353
17354 * Makefile.in (GNULIB_CFLAGS): New variable.
17355 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
17356 (grub_script_check_CFLAGS): New variable.
17357 * gnulib/alloca.h: Resync with gnulib.
17358 * gnulib/error.c: Likewise.
17359 * gnulib/error.h: Likewise.
17360 * gnulib/fnmatch.c: Likewise.
17361 * gnulib/fnmatch_loop.c: Likewise.
17362 * gnulib/getdelim.c: Likewise.
17363 * gnulib/getline.c: Likewise.
17364 * gnulib/getopt.c: Likewise.
17365 * gnulib/getopt1.c: Likewise.
17366 * gnulib/getopt_int.h: Likewise.
17367 * gnulib/gettext.h: Likewise.
17368 * gnulib/progname.c: Likewise.
17369 * gnulib/progname.h: Likewise.
17370
394a3120
GS
173712010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
17372
17373 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
17374 which is the case with --disabled-nls.
17375
17376 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
17377 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
17378 * util/misc.c: Likewise.
17379 * util/mkisofs/mkisofs.c: Likewise.
17380 * util/mkisofs/mkisofs.h: Likewise.
17381
969d1c78
VS
173822010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
17383
17384 Simplify Apple CC support.
17385
17386 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
17387 Add 0 byte at the end not to have a symbol with empty target.
17388 * mmap/i386/pc/mmap_helper.S: Likewise.
17389 * genmk.rb: Ignore errors 2030 and 2050.
17390 * kern/i386/pc/startup.S: Use LOCAL when possible.
17391
8d2977bb
BC
173922010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
17393
17394 Testcase and the fix for final semicolon on cmdline.
17395
17396 * tests/grub_script_final_semicolon.in: New testcase.
17397 * conf/tests.rmk: Rules for the new testcase.
17398 * script/parser.y: Grammar fix.
17399
a7bd6915
BC
174002010-03-26 BVK Chaitanya <bvk@localhost>
17401
17402 Blank lines testcase for GRUB script.
17403
17404 * tests/grub_script_blanklines.in: New testcase.
17405 * conf/tests.rmk: Rules for the new testcase.
17406
e4ff6628
VS
174072010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17408
17409 Don't use __FILE__.
17410
17411 * genmk.rb: Add -DGRUB_FILE to all C targets.
17412 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
17413 * include/grub/list.h: Likewise.
17414 * include/grub/misc.h: Likewise.
17415 * include/grub/mm.h: Likewise.
17416 * include/grub/test.h: Likewise.
17417 * kern/mm.c: Likewise.
17418 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17419
6a5cf6b6
VS
174202010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17421
17422 Sunpc partitions support.
17423
17424 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
17425 (grub_fstest_SOURCES): Likewise.
17426 (pkglib_MODULES): Add part_sunpc.mod.
17427 (part_sunpc_mod_SOURCES): New variable.
17428 (part_sunpc_mod_CFLAGS): Likewise.
17429 (part_sunpc_mod_LDFLAGS): Likewise.
17430 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
17431 * partmap/sunpc.c: New file.
17432
746d9045
BC
174332010-03-26 BVK Chaitanya <bvk@localhost>
17434
17435 For loop support to GRUB script.
17436
17437 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
17438 (grub_script_create_cmdfor): New function prototype.
17439 (grub_script_execute_cmdfor): New function prototype.
17440 * script/execute.c (grub_script_execute_cmdfor): New function.
17441 * script/parser.y (command): New for command.
17442 (forcmd): New grammar rule.
17443 * script/script.c (grub_script_create_cmdfor): New function.
17444 * util/grub-script-check.c (grub_script_execute_cmdfor): New
17445 function.
17446 * tests/grub_script_for1.in: New testcase.
17447 * conf/tests.rmk: Rules for new testcase.
17448
18486b18
VS
174492010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17450
17451 Nested partitions
17452
17453 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
17454 'partition' is NULL, grub_partition_get_start already does that.
17455 * commands/loadenv.c (check_blocklists): Likewise.
17456 (write_blocklists): Likewise.
17457 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
17458 (grub_fstest_SOURCES): Likewise.
17459 (pkglib_MODULES): Add part_bsd.mod.
17460 (part_bsd_mod_SOURCES): New variable.
17461 (part_bsd_mod_CFLAGS): Likewise.
17462 (part_bsd_mod_LDFLAGS): Likewise.
17463 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
17464 (grub_emu_SOURCES): Likewise.
17465 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17466 * include/grub/bsdlabel.h: New file.
17467 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
17468 'get_name'.
17469 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
17470 (grub_partition_map_list): New variable.
17471 (grub_partition_map_register): Inline.
17472 (grub_partition_map_unregister): Likewise.
17473 (FOR_PARTITION_MAPS): New macro.
17474 (grub_partition_map_iterate): Removed.
17475 (grub_partition_get_start): Handle nested partitions.
17476 * include/grub/msdos_partition.h: Remove bsd-related entries.
17477 (grub_pc_partition): Remove.
17478 * kern/disk.c (grub_disk_close): Free partition data.
17479 (grub_disk_adjust_range): Handle nested partitions.
17480 * kern/partition.c (grub_partition_map_probe): New function.
17481 (grub_partition_probe): Parse name to number, handle subpartitions.
17482 (get_partmap): New function.
17483 (grub_partition_iterate): Handle subpartitions.
17484 (grub_partition_get_name): Likewise.
17485 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
17486 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
17487 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
17488 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
17489 Set 'number'.
17490 (acorn_partition_map_probe): Remove.
17491 (acorn_partition_map_get_name): Likewise.
17492 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
17493 Set 'number'.
17494 Set 'index' to 0 since there can be only one partition entry per sector.
17495 (amiga_partition_map_probe): Remove.
17496 (amiga_partition_map_get_name): Likewise.
17497 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
17498 Set 'number'.
17499 Set 'offset' and 'index' to real positions of partitions.
17500 (apple_partition_map_probe): Remove.
17501 (apple_partition_map_get_name): Likewise.
17502 * partmap/bsdlabel.c: New file.
17503 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
17504 Set 'number'.
17505 Allocate 'data' so it can be correctly freed.
17506 Set 'index' to offset inside sector.
17507 (gpt_partition_map_probe): Remove.
17508 (gpt_partition_map_get_name): Likewise.
17509 * partmap/msdos.c (grub_partition_parse): Remove.
17510 (pc_partition_map_iterate): Don't force raw access.
17511 Set 'number'.
17512 Make 'ext_offset' a local variable.
17513 (pc_partition_map_probe): Remove.
17514 (pc_partition_map_get_name): Remove.
17515 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
17516 Set 'number'.
17517 (sun_partition_map_probe): Remove.
17518 (sun_partition_map_get_name): Likewise.
17519 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
17520 (grub_pcpart_type): Likewise.
17521 * util/hostdisk.c (open_device): Handle new numbering scheme.
17522 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
17523 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
17524 * util/grub-probe.c (probe_partmap): Handle nested paritions.
17525 * util/grub-install.in: Insert all subpartition modules.
17526 * util/ieee1275/grub-install.in: Likewise.
17527
a3940f88
AG
175282010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
17529
17530 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
17531 grammar.
17532
21b99926 175332010-03-24 Colin Watson <cjwatson@ubuntu.com>
17534
17535 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
17536
bed1d352
CW
175372010-03-21 Colin Watson <cjwatson@ubuntu.com>
17538
17539 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
17540 match where 'make install' puts them.
17541 * util/i386/efi/grub-install.in: Likewise.
17542
c9f58427
CW
175432010-03-19 Colin Watson <cjwatson@ubuntu.com>
17544
17545 * .bzrignore: Add gentrigtables, grub-script-check,
17546 grub_script_check_init.c, grub_script_check_init.h, and
17547 trigtables.c.
17548
f84afb27
VS
175492010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
17550
17551 * kern/parser.c: Indented.
17552
ed0e3d30
VS
175532010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17554
17555 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
17556
0ea81d98
VS
175572010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17558
17559 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
17560 alpha_mask_size == 0 case.
17561
0cdc2a09
BC
175622010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
17563
17564 GRUB shell lexer and parser improvements.
17565
17566 * conf/any-emu.rmk: Build rule updates.
17567 * conf/common.rmk: Likewise.
17568 * conf/i386-coreboot.rmk: Likewise.
17569 * conf/i386-efi.rmk: Likewise.
17570 * conf/i386-ieee1275.rmk: Likewise.
17571 * conf/i386-pc.rmk: Likewise.
17572 * conf/powerpc-ieee1275.rmk: Likewise.
17573 * conf/x86_64-efi.rmk: Likewise.
17574
17575 * configure.ac: Configure check for flex.
17576
17577 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
17578 types.
17579 (grub_lexer_param): Struct member updates.
17580 (grub_parser_param): Likewise.
17581 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
17582 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
17583 (grub_script_lexer_init): Prototype update.
17584 (grub_script_lexer_record_start): Likewise.
17585 (grub_script_lexer_record_stop): Likewise.
17586 (grub_script_lexer_yywrap): New function prototype.
17587 (grub_script_lexer_fini): Likewise.
17588 (grub_script_execute_argument_to_string): Removed by...
17589 (grub_script_execute_argument_to_argv): ...better version.
17590
17591 * script/execute.c (ROUND_UPTO): New macro.
17592 (grub_script_execute_cmdline): Out of memory fixes.
17593 (grub_script_execute_menuentry): Likewise.
17594 (grub_script_execute_argument_to_string): Removed. Update all
17595 users by...
17596 (grub_script_execute_argument_to_argv): ...better version.
17597 * script/function.c (grub_script_function_create): Use
17598 grub_script_execute_argument_to_argv instead of
17599 grub_script_execute_argument_to_string.
17600
17601 * script/lexer.c (check_varstate): Removed.
17602 (check_textstate): Removed.
17603 (grub_script_lexer_record_start): Likewise.
17604 (grub_script_lexer_record_stop): Likewise.
17605 (recordchar): Replaced with...
17606 (grub_script_lexer_record): ...new function.
17607 (nextchar): Removed.
17608 (grub_script_lexer_init): Rewritten.
17609 (grub_script_yylex): Rewritten.
17610 (append_newline): New function.
17611 (grub_script_lexer_yywrap): New function.
17612 (grub_script_lexer_fini): New function.
17613 (grub_script_yyerror): Sets error flag.
17614
17615 * script/yylex.l: New file.
17616 (grub_lexer_yyfree): Wrapper for flex yyffre.
17617 (grub_lexer_yyalloc): Likewise.
17618 (grub_lexer_yyrealloc): Likewise.
17619 * script/parser.y: Refactored.
17620
17621 * script/script.c (grub_script_arg_add): Out of memory fixes.
17622 (grub_script_add_arglist): Likewise.
17623 (grub_script_create_cmdline): Likewise.
17624 (grub_script_create_cmdmenu): Likewise.
17625 (grub_script_add_cmd): Likewise.
17626 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
17627 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
17628 unnecessary code.
17629
17630 * tests/grub_script_echo1.in: New testcase.
17631 * tests/grub_script_vars1.in: New testcase.
17632 * tests/grub_script_echo_keywords.in: New testcase.
17633
1d63a066
VS
176342010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17635
17636 Remove some redundancy in build system.
17637
17638 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
17639 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
17640 (TARGET_LDFLAGS): Add -nostdlib.
17641 (TARGET_IMG_LDFLAGS): Likewise.
17642 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
17643 anything since mmap isn't available.
17644 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
17645 Add util/time.c.
17646 (pkglib_MODULES): Remove reboot.mod.
17647 (reboot_mod_SOURCES): Removed.
17648 (reboot_mod_CFLAGS): Likewise.
17649 (reboot_mod_LDFLAGS): Likewise.
17650 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
17651 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
17652 (DEFSYMFILES): Add kernel_syms.lst.
17653 (kernel_img_HEADERS): Add common headers.
17654 (symlist.c): New target.
17655 (kernel_syms.lst): Likewise.
17656 (pkglib_MODULES): Add memdisk.mod.
17657 (memdisk_mod_SOURCES): New variable.
17658 (memdisk_mod_CFLAGS): Likewise.
17659 (memdisk_mod_LDFLAGS): Likewise.
17660 (pkglib_MODULES): Add reboot.mod.
17661 (reboot_mod_SOURCES): New variable.
17662 (reboot_mod_CFLAGS): Likewise.
17663 (reboot_mod_LDFLAGS): Likewise.
17664 (pkglib_MODULES): Add date.mod.
17665 (date_mod_SOURCES): New variable.
17666 (date_mod_CFLAGS): Likewise.
17667 (date_mod_LDFLAGS): Likewise.
17668 (pkglib_MODULES): Add datehook.mod.
17669 (datehook_mod_SOURCES): New variable.
17670 (datehook_mod_CFLAGS): Likewise.
17671 (datehook_mod_LDFLAGS): Likewise.
17672 (pkglib_MODULES): Add lsmmap.mod.
17673 (lsmmap_mod_SOURCES): New variable.
17674 (lsmmap_mod_CFLAGS): Likewise.
17675 (lsmmap_mod_LDFLAGS): Likewise.
17676 (pkglib_MODULES): Add boot.mod.
17677 (boot_mod_SOURCES): New variable.
17678 (boot_mod_CFLAGS): Likewise.
17679 (boot_mod_LDFLAGS): Likewise.
17680 * conf/i386-coreboot.rmk: Removed redundant parts.
17681 * conf/i386-ieee1275.rmk: Likewise.
17682 * conf/i386-pc.rmk: Likewise.
17683 * conf/mips-yeeloong.rmk: Likewise.
17684 * conf/mips.rmk: Likewise.
17685 * conf/powerpc-ieee1275.rmk: Likewise.
17686 * conf/sparc64-ieee1275.rmk: Likewise.
17687 * conf/x86_64-efi.rmk: Likewise.
17688 * conf/i386-coreboot.rmk: Moved qemu parts ..
17689 * conf/i386-qemu.rmk: ... here
17690 * conf/i386-efi.rmk: Moved common parts to...
17691 * conf/x86-efi.rmk: ... here.
17692 * conf/i386.rmk: Added modules common to all x86 variants.
17693 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
17694 * disk/memdisk.c: Remove grub/machine/kernel.h.
17695 * gensymlist.sh.in: Include symbol.h.
17696 * hook/datehook.c: Correct module name.
17697 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
17698 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
17699 * include/grub/i386/efi/serial.h: New file.
17700 * include/grub/x86_64/efi/serial.h: Likewise.
17701 * util/time.c: Likewise.
17702 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
17703
463ac55f
CK
177042010-03-14 Colin King <colin.king@ubuntu.com>
177052010-03-14 Colin Watson <cjwatson@ubuntu.com>
17706
17707 Shrink the pre-partition-table part of boot.img by eight bytes.
17708
17709 * boot/i386/pc/boot.S (ERR): New macro.
17710 (chs_mode): Use ERR.
17711 (geometry_error): Likewise.
17712 (hd_probe_error): Remove. This is only used once, so we wrwite
17713 it inline instead.
17714 (read_error): Instead of printing read_error_string, just set up
17715 %si and fall through to ...
17716 (error_message): ... this new function, also used by ERR.
17717
08e46ede
CW
177182010-03-14 Colin Watson <cjwatson@ubuntu.com>
17719
17720 Speed up consecutive hostdisk operations on the same device.
17721
17722 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
17723 (grub_util_biosdisk_open): Initialise disk->data.
17724 (struct linux_partition_cache): New structure.
17725 (linux_find_partition): Cache partition start positions; these are
17726 expensive to compute on every read and write.
17727 (open_device): Cache open file descriptor in disk->data, so that we
17728 don't have to reopen it and flush the buffer cache for consecutive
17729 operations on the same device.
17730 (grub_util_biosdisk_close): New function.
17731 (grub_util_biosdisk_dev): Set `close' member.
17732
17733 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
17734 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
17735 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17736 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17737 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
17738
4a6d2d06
VS
177392010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17740
17741 Compile parts of grub-emu as modules.
17742
17743 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
17744 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
17745 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
17746 (all-local): Add $(GRUB_EMU).
17747 (install-local): Install $(GRUB_EMU).
17748 (uninstall): Uninstall $(GRUB_EMU).
17749 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
17750 * kern/dl.c: Likewise.
17751 * commands/sleep.c: Not include machine/time.h.
17752 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
17753 (COMMON_CFLAGS): Likewise.
17754 (sbin_UTILITIES): Remove grub-emu.
17755 (grub_emu_SOURCES): Removed.
17756 (kernel_img_RELOCATABLE): New variable.
17757 (pkglib_PROGRAMS): Add kernel.img.
17758 (kernel_img_SOURCES): New variable
17759 (kernel_img_CFLAGS): Likewise.
17760 (kernel_img_LDFLAGS): Likewise.
17761 (TARGET_NO_STRIP): Likewise.
17762 (TARGET_NO_DYNAMIC_MODULES): Likewise.
17763 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
17764 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
17765 (grub-emu): New target.
17766 (GRUB_EMU): New variable.
17767 * configure.ac: Whitelist -emu as possible x86_64 architecture.
17768 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
17769 * loader/xnu.c: Likewise.
17770 * include/grub/pci.h: Likewise.
17771 * genemuinit.sh: New file.
17772 * genemuinitheader.sh: Likewise.
17773 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
17774 Support TARGET_NO_DYNAMIC_MODULES.
17775 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
17776 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
17777 * disk/loopback.c: Likewise.
17778 * font/font_cmd.c: Likewise.
17779 * partmap/acorn.c: Likewise.
17780 * partmap/amiga.c: Likewise.
17781 * partmap/apple.c: Likewise.
17782 * partmap/gpt.c: Likewise.
17783 * partmap/msdos.c: Likewise.
17784 * partmap/sun.c: Likewise.
17785 * parttool/msdospart.c: Likewise.
17786 * term/gfxterm.c: Likewise.
17787 * video/bitmap.c: Likewise.
17788 * video/readers/jpeg.c: Likewise.
17789 * video/readers/png.c: Likewise.
17790 * video/readers/tga.c: Likewise.
17791 * video/video.c: Likewise.
17792 * util/grub-emu.c (read_command_list): Removed.
17793 (main): Don't call util_init_nls.
17794 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
17795 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
17796
91fdd2ed
VS
177972010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17798
17799 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
17800 date.mod, datehook.mod.
17801 (datetime_mod_SOURCES): New variable.
17802 (datetime_mod_CFLAGS): Likewise.
17803 (datetime_mod_LDFLAGS): Likewise.
17804 (date_mod_SOURCES): Likewise.
17805 (date_mod_CFLAGS): Likewise.
17806 (date_mod_LDFLAGS): Likewise.
17807 (datehook_mod_SOURCES): Likewise.
17808 (datehook_mod_CFLAGS): Likewise.
17809 (datehook_mod_LDFLAGS): Likewise.
17810 * conf/sparc64-ieee1275.rmk: Likewise.
17811 * lib/ieee1275/datetime.c: New file.
17812
873ccae6
VS
178132010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17814
17815 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
17816 (ieee1275_fb_mod_SOURCES): New variable.
17817 (ieee1275_fb_mod_CFLAGS): Likewise.
17818 (ieee1275_fb_mod_LDFLAGS): Likewise.
17819 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
17820 New proto.
17821 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
17822 (HEAP_MAX_ADDR): Likewise.
17823 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
17824 type.
17825 Correct stop condition.
17826 (grub_ieee1275_devices_iterate): New function.
17827 * video/ieee1275.c: New file.
17828
601c97c0
VS
178292010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17830
17831 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
17832
17833 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
17834 as scratch.
17835 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
17836 SCRATCH_PAD_DISKBOOT as scratch.
17837 (bootit): Pass Openfirmware pointer in %o4.
17838 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
17839 of 0x200000.
17840 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
17841 with util/grub-mkrawimage.c.
17842 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
17843 * include/grub/aout.h (AOUT_MID_SUN): New definition.
17844 (grub_aout_get_type) [GRUB_UTIL]: Removed.
17845 (grub_aout_load) [GRUB_UTIL]: Likewise.
17846 * include/grub/kernel.h (grub_modules_get_end): New proto.
17847 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
17848 (SCRATCH_PAD_BOOT): New definition.
17849 (SCRATCH_PAD_DISKBOOT): Likewise.
17850 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
17851 * include/grub/sparc64/ieee1275/ieee1275.h
17852 (grub_ieee1275_original_stack): New variable
17853 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17854 New definition
17855 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
17856 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
17857 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
17858 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
17859 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
17860 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
17861 (grub_platform_image_format_t): New type.
17862 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
17863 * kern/main.c (grub_modules_get_end)
17864 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
17865 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
17866 (codestart): Switch stacks.
17867 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
17868 variable.
17869 (grub_heap_init): Use grub_modules_get_end.
17870 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
17871 stack.
17872 * util/grub-mkrawimage.c (generate_image): Support sparc64.
17873 (main): Likewise.
17874 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
17875
d68b491e
TG
178762010-03-14 Thorsten Glaser <tg@mirbsd.org>
17877
17878 * util/grub-mkrescue.in: Base ISO UUID on UTC.
17879
4e02ed50
MK
178802010-03-08 Matt Kraai <kraai@ftbfs.org>
17881
17882 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
17883 bug #559005).
17884
1f15fc1e
VS
178852010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
17886
17887 * genmoddep.awk: Output all missing symbols and not only first.
17888
fce5d8ff
VS
178892010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17890
17891 * NEWS: Put the date of 1.98 release.
17892
d1e8a02f
VS
178932010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17894
17895 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
17896 ft2build.h.
17897
696fd607
VS
178982010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17899
17900 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
17901 completition in the middle of string.
17902
33e2e6f3
VS
179032010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17904
17905 * util/grub-mkrescue.in: Use mktemp with explicit template.
17906
b1f6d291
VS
179072010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17908
17909 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
17910
2ac227c7
VS
179112010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17912
17913 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
17914 right pointer.
17915
8f9a632b
VS
179162010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17917
17918 Fix FreeBSD compilation.
17919
17920 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
17921 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
17922
60b03859
VS
179232010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17924
17925 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
17926
48a5a769
VS
179272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17928
17929 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
17930
3ab4bd77
VS
179312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17932
17933 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
17934
d116e0d8
RM
179352010-03-04 Robert Millan <rmh.grub@aybabtu.com>
17936
17937 Support relative image path in theme file.
17938
17939 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
17940 (image_set_property): Handle theme_dir and relative path.
17941
c7ef54aa
VS
179422010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17943
17944 * configure.ac: Alias amd64 to x86_64.
17945
fcee14ed
VS
179462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17947
17948 * NEWS: mention multiboot on EFI.
17949
d0780363
VS
179502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17951
17952 * kern/main.c (grub_load_modules): Handle errors from init functions of
17953 embeded modules.
17954
41168ea4
VS
179552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17956
17957 * normal/autofs.c (autoload_fs_module): Handle errors.
17958
b54d93ac
VS
179592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17960
17961 Disable linux.mod on qemu-mips since it's not functional and leads
17962 to compilation failure.
17963
17964 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
17965 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
17966 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
17967 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
17968 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
17969 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
17970 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
17971 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
17972 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
17973 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
17974 Reported by: BVK Chaitanya
17975
fc8345da
JU
179762010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
17977
17978 * INSTALL: Add gettext as a dependency and add qemu to a new section
17979 "Prerequisites for make-check".
17980
4760f979
CF
179812010-03-04 Christian Franke <franke@computer.org>
17982
17983 * util/grub-pe2elf.c: Add missing include "progname.h".
17984
f209b5b2
VS
179852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17986
17987 * normal/crypto.c (read_crypto_list): Fix a typo.
17988 Reported by: Seth Goldberg.
17989
b4b7be98
VS
179902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17991
17992 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 17993 Reported by: Seth Goldberg.
b4b7be98 17994
c0ee0385
VS
179952010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17996
17997 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
17998 ascii.bitmaps.
17999
a8efbf64
VS
180002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18001
18002 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 18003 Reported by: Seth Goldberg.
a8efbf64 18004
08dcd913
VS
180052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18006
18007 * util/i386/efi/grub-install.in: Copy gettext files.
18008
c4d0b332
VS
180092010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18010
18011 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
18012
c6f2fe52
VS
180132010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18014
18015 Wait for user entry basing on presence of output rather than on errors.
18016
18017 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
18018 (grub_install_newline_hook): Likewise.
18019 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
18020 * normal/menu.c (show_menu): Check line_counter to determine presence
18021 of output.
18022 * normal/term.c (grub_normal_line_counter): New variable.
18023 (grub_normal_get_line_counter): New function.
18024 (grub_install_newline_hook): Likewise.
18025
5382b1e4
VS
180262010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18027
18028 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
18029
5519963b
VS
180302010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18031
18032 * configure.ac: Update version to 1.98.
18033
72b28631
VS
180342010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
18035
18036 * util/grub.d/10_linux.in (linux_entry): Don't default to
18037 gfxpayload=keep if Linux doesn't support video handover.
18038
c140a180
VS
180392010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
18040
18041 Don't compile video modules on yeeloong since video subsystem is part
18042 of kernel.
18043
18044 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
18045 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
18046 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
18047 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
18048 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
18049 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
18050 * include/grub/bitmap_scale.h: Likewise.
18051 * include/grub/bufio.h: Likewise.
18052 * include/grub/font.h: Likewise.
18053 * include/grub/gfxterm.h: Likewise.
18054 * include/grub/video.h: Likewise.
18055 * include/grub/vbe.h: Don't include video_fb.h.
18056 * video/i386/pc/vbe.c: Include video_fb.h.
18057 * commands/i386/pc/vbetest.c: Include video.h.
18058
a0ca21c2
CW
180592010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
18060
18061 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
18062 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
18063 default entry if GRUB_SAVEDEFAULT=true. This allows using
18064 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
18065 saving a new default on every boot.
18066
4a8a763c
VS
180672010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
18068
18069 * normal/crypto.c (read_crypto_list): Fix a memory leak.
18070 * normal/term.c (read_terminal_list): Likewise.
18071 * normal/main.c (grub_normal_init_page): Likewise.
18072 (grub_normal_read_line_real): Likewise.
18073
607ffde2
VS
180742010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
18075
18076 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
18077 memory leak.
18078 Reported by: Seth Goldberg.
18079
2b8fa975
CW
180802010-02-24 Joey Korkames <joey+lists@kidfixit.com>
18081
18082 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
18083 duplicate declaration of `start'.
18084
618307dd
VS
180852010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
18086
18087 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
18088 filename.
18089 Reported by: Georgy Buranov
18090
7dd05b96 180912010-02-20 Carles Pina i Estany <carles@pina.cat>
18092
18093 * util/grub-mkrawimage.c (usage): Change string formatting to
18094 improve gettext.
18095
d1484a42
MRA
180962010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18097
18098 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
18099 backspace keys.
18100
42b1d186
VS
181012010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
18102
18103 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
18104 Reported by: Michael Suchanek.
18105
181062010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
18107
18108 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
18109 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
18110
d9f31a41
VS
181112010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
18112
18113 Remove any reference to non-free fonts.
18114
18115 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
18116 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
18117 uses non-free components.
18118 * font/font.c (grub_font_get_name): Remove example name.
18119 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
18120 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18121 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
18122 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
18123
2793c71e
GB
181242010-02-16 Georgy Buranov <gburanov@gmail.com>
18125
18126 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
18127
402e3779
VS
181282010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
18129
18130 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
18131 Double divisor.
18132 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
18133 features.
18134 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
18135
0dd1e0dd
VS
181362010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
18137
18138 * gensymlist.sh.in: Use TARGET_CC instead of CC.
18139
6fa7cfce
ST
181402010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
18141
18142 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
18143 * docs/grub.texi (Command-line and menu entry commands): Document play
18144 command.
18145
37c8483b
ST
181462010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
18147
18148 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
18149 parse arguments as inline tempo and notes. Move code for playing notes
18150 to...
18151 (play): ... new function.
18152
14da0fb7
ST
181532010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
18154
18155 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
18156 grub_uint16_t instead of short.
18157 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
18158 disk from little endian to cpu endianness.
18159
04459e70
ST
181602010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
18161
18162 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
18163 GRUB_TICKS_PER_SECOND instead of 120.
18164
a0876943
VS
181652010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18166
18167 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
18168 escape sequence after \e.
18169
e29f95dc
VS
181702010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18171
18172 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
18173 non-ASCII characters.
18174
d27859b2
VS
181752010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18176
18177 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
18178 set root in single quotes to prevent \, from being unescaped.
18179
bc028f2f
VS
181802010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18181
18182 Prevent unknown commands from stopping menuentry execution.
18183
18184 * script/execute.c (grub_script_execute_cmdline): Print error after
18185 unknown command.
18186
095f5f82
VS
181872010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18188
18189 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
18190 Reported by: Pavel Pisa.
18191
8c717950
VS
181922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18193
18194 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
18195
904935c3
VS
181962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18197
18198 Merge grub_ieee1275_map_physical into grub_map and rename to
18199 grub_ieee1275_map
18200
18201 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
18202 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
18203 Remove.
18204 * kern/ieee1275/openfw.c (grub_map): Rename to ...
18205 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
18206 necessary.
18207 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
18208
5b59a4e3
VS
182092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18210
18211 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
18212 opening and not after.
18213
69e137e8
VS
182142010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18215
18216 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
18217 constants.
18218
2c0fcc36
VS
182192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18220
18221 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
18222 (alloc_phys): Use ALIGN_UP instead of align_addr.
18223
8c6052ce
VS
182242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18225
18226 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
18227
17cec782
VS
182282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18229
18230 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
18231
e0128bbd
VS
182322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18233
18234 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
18235 verbose dprintf.
18236
ca62070b
VS
182372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18238
18239 Fix over-4GiB seek on sparc64.
18240
18241 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
18242 Replace pos_i and pos_lo with pos. All users updated.
18243 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
18244 New constant.
18245 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
18246 Likewise.
18247 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
18248 and pos_lo.
18249
bdca2607
VS
182502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18251
18252 * util/grub-mkrawimage.c (main): Call set_program_name.
18253
da278c4d
VS
182542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18255
18256 Properly align 64-bit targets.
18257
18258 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
18259 (generate_image): Use ALIGN_ADDR.
18260
b274d734
VS
182612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18262
18263 Properly create cross-endian images.
18264
18265 * include/grub/types.h (grub_host_to_target_addr): New macro
18266 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
18267
82da2062
VS
182682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18269
18270 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
18271
7cae4377
VS
182722010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18273
18274 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
18275
18276 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
18277 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
18278 (grub_linux_boot): Divide by 64K when on VESA.
18279
65a533e7
VS
182802010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18281
18282 Support GRUB_GFXPAYLOAD_LINUX.
18283
18284 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
18285 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
18286
dd01d397
VS
182872010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18288
18289 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
18290 to show messages instead of discarding them.
18291 Process errors after executing command and not before. Keep old method
18292 too as precaution.
18293
660960d6
VS
182942010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
18295
18296 * configure.ac: Check for ft2build.h.
18297
62509f04
VS
182982010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18299
18300 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
18301
473df63d
VS
183022010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18303
18304 * genkernsyms.sh.in: Use TARGET_CC.
18305
c98d2a13
CW
183062010-02-07 Colin Watson <cjwatson@ubuntu.com>
18307
18308 * NEWS: Update.
18309
6e14234c
VS
183102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18311
18312 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
18313 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
18314 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 18315
b255e9cf
YB
183162010-02-07 Yves Blusseau <blusseau@zetam.org>
18317
6e14234c 18318 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 18319
98e6959d
VS
183202010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18321
18322 Fix warnings in grub-emu when compiling with maximum warning options.
18323
18324 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
18325 (grub_arch_modules_addr): Return 0 and not NULL.
18326 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 18327 (xstrdup): Use newstr instead of dup.
f88d801b
VS
18328 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
18329 of disk to dsk to avoid shadowing.
74e4934e
VS
18330 (find_free_slot): Fix prototype.
18331 * util/getroot.c (grub_util_is_dmraid): Make static.
18332 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
18333 Add missing prototype.
18334 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 18335
74e31b5c
VS
183362010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18337
18338 * loader/i386/linux.c (grub_linux_setup_video): Handle error
18339 appropriately.
18340
6b2ad14b
VS
183412010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18342
18343 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
18344 code out.
18345
8f891adc
VS
183462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18347
18348 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
18349 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
18350 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
18351 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
18352 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
18353 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
18354
74b45184
VS
183552010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18356
18357 * include/grub/err.h (grub_err_printf): Don't export.
18358
a4bced77
VS
183592010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18360
18361 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
18362
007d0695
VS
183632010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18364
18365 * include/grub/i18n.h (grub_gettext_dummy): Removed.
18366 * kern/misc.c (grub_gettext_dummy): Make static.
18367
b6c0d9c2
VS
183682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18369
18370 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
18371 by non-valid ones.
18372 * kern/term.c (grub_putchar): Likewise.
18373
f51a90d0
VS
183742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18375
18376 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
18377 buggy hook call and memory leak.
18378
6846cec5
VS
183792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18380
18381 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
18382
468d69fe
VS
183832010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18384
18385 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
18386
51906b8c
VS
183872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18388
18389 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
18390 modevar.
18391 Return grub_errno on allocation error.
18392
09706ce5
VS
183932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18394
18395 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
18396
911df80c
YB
183972010-02-06 Yves Blusseau <blusseau@zetam.org>
18398
18399 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
18400 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
18401
3746a6bc
VS
184022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18403
18404 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
18405 non-pxe disk.
18406 (grub_pxefs_open): Likewise.
18407
09706ce5
VS
184082010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18409
18410 * util/grub.d/10_hurd.in: Add --class information to menuentries.
18411 * util/grub.d/10_kfreebsd.in: Likewise.
18412 * util/grub.d/10_linux.in: Likewise.
18413
7cc192d9
VS
184142010-02-06 Colin D Bennett <colin@gibibit.com>
18415
18416 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
18417 (gfxmenu_mod_SOURCES): New variable.
18418 (gfxmenu_mod_CFLAGS): Likewise.
18419 (gfxmenu_mod_LDFLAGS): Likewise.
18420 * include/grub/term.h (grub_term_set_current_output): Declare
18421 argument as const.
18422 * docs/gfxmenu-theme-example.txt: New file.
18423 * gfxmenu/gfxmenu.c: Likewise.
18424 * gfxmenu/gui_box.c: Likewise.
18425 * gfxmenu/gui_canvas.c: Likewise.
18426 * gfxmenu/gui_circular_progress.c: Likewise.
18427 * gfxmenu/gui_image.c: Likewise.
18428 * gfxmenu/gui_label.c: Likewise.
18429 * gfxmenu/gui_list.c: Likewise.
18430 * gfxmenu/gui_progress_bar.c: Likewise.
18431 * gfxmenu/gui_string_util.c: Likewise.
18432 * gfxmenu/gui_util.c: Likewise.
18433 * gfxmenu/icon_manager.c: Likewise.
18434 * gfxmenu/model.c: Likewise.
18435 * gfxmenu/named_colors.c: Likewise.
18436 * gfxmenu/theme_loader.c: Likewise.
18437 * gfxmenu/view.c: Likewise.
18438 * gfxmenu/widget-box.c: Likewise.
18439 * include/grub/gfxmenu_model.h: Likewise.
18440 * include/grub/gfxmenu_view.h: Likewise.
18441 * include/grub/gfxwidgets.h: Likewise.
18442 * include/grub/gui.h: Likewise.
18443 * include/grub/gui_string_util.h: Likewise.
18444 * include/grub/icon_manager.h: Likewise.
18445
184462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18447
18448 Agglomerate scrolling in gfxterm.
18449
18450 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
18451 (grub_virtual_screen_setup): Initialise 'total_screen'.
18452 (write_char): Split to ...
18453 (paint_char): ... this ...
18454 (write_char): ... and this.
18455 (paint_char): Handle delayed scrolling.
18456 (draw_cursor): Likewise.
18457 (scroll_up): Split to ...
18458 (real_scroll): ... this ...
18459 (scroll_up): ... and this.
18460 (real_scroll): Handle multi-line scroll and draw below-the-bottom
18461 characters.
18462 (grub_gfxterm_refresh): Call real_scroll.
18463
184642010-02-06 Colin D Bennett <colin@gibibit.com>
18465
18466 * include/grub/misc.h (grub_iscntrl): New inline function.
18467 (grub_isalnum): Likewise.
18468 (grub_strtol): Likewise.
18469
184702010-02-06 Colin D Bennett <colin@gibibit.com>
18471
18472 * normal/menu_text.c (get_entry_number): Move from here ...
18473 * normal/menu.c (get_entry_number): ... moved here.
18474 * include/grub/menu.h (grub_menu_get_default_entry_index):
18475 New prototype.
18476 * normal/menu.c (grub_menu_get_default_entry_index): New function.
18477 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
18478 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
18479 (grub_menu_viewer_should_return): Likewise.
18480 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
18481 * normal/menu_text.c (run_menu): Enable menu switching.
18482 * normal/menu_viewer.c (should_return): New variable.
18483 (menu_viewer_changed): Likewise.
18484 (grub_menu_viewer_show_menu): Handle menu viewer changes.
18485 (grub_menu_viewer_should_return): New function.
18486 (menuviewer_write_hook): Likewise.
18487 (grub_menu_viewer_init): Likewise.
18488
184892010-02-06 Colin D Bennet <colin@gibibit.com>
184902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18491
18492 Support for gfxterm in a window.
18493
18494 * include/grub/gfxterm.h: New file.
18495 * include/grub/video.h (struct grub_video_rect): New declaration.
18496 (grub_video_rect_t): Likewise.
18497 * term/gfxterm.c (struct grub_gfxterm_window): New type.
18498 (refcount): New variable.
18499 (render_target): Likewise.
18500 (window): Likewise.
18501 (repaint_callback): Likewise.
18502 (grub_virtual_screen_setup): Use 'render_target'.
18503 (init_window): New function.
18504 (grub_gfxterm_init_window): Likewise.
18505 (grub_gfxterm_init): Check reference counter.
18506 Use init_window.
18507 (destroy_window): New function.
18508 (grub_gfxterm_destroy_window): Likewise.
18509 (grub_gfxterm_fini): Check reference counter.
18510 Use destroy_window.
18511 (redraw_screen_rect): Restore viewport.
18512 Use 'render_target' and 'window'.
18513 Call 'repaint_callback'.
18514 (write_char): Use 'render_target'.
18515 (draw_cursor): Likewise.
18516 (scroll_up): Restore viewport.
18517 Use 'render_target' and 'window'.
18518 Call 'repaint_callback'.
18519 (grub_gfxterm_cls): Likewise.
18520 (grub_gfxterm_refresh): Use 'window'.
18521 (grub_gfxterm_set_repaint_callback): New function.
18522 (grub_gfxterm_background_image_cmd): Use 'window'.
18523 (grub_gfxterm_get_term): New function.
18524 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
18525
185262010-02-06 Colin D Bennett <colin@gibibit.com>
18527
18528 Bitmap scaling support.
18529
18530 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
18531 (bitmap_scale_mod_SOURCES): New variable.
18532 (bitmap_scale_mod_CFLAGS): Likewise.
18533 (bitmap_scale_mod_LDFLAGS): Likewise.
18534 * include/grub/bitmap_scale.h: New file.
18535 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
18536 (background_image_cmd_options): New variable.
18537 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
18538 (cmd): Rename and change type to ...
18539 (background_image_cmd_handle): ... this. All users updated.
18540 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
18541 * video/bitmap_scale.c: New file.
18542
185432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18544
18545 SDL support.
18546
18547 * Makefile.in (LIBSDL): New variable.
18548 (enable_grub_emu_sdl): Likewise.
18549 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
18550 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
18551 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
18552 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
18553 * util/sdl.c: New file.
18554
185552010-02-06 Colin D Bennett <colin@gibibit.com>
185562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18557
18558 Double buffering support.
18559
18560 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
18561 * include/grub/video.h: Update comment.
18562 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
18563 New type.
18564 (grub_video_fb_doublebuf_blit_init): New prototype.
18565 * term/gfxterm.c (scroll_up): Support double buffering.
18566 (grub_gfxterm_refresh): Likewise.
18567 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
18568 (grub_video_fb_doublebuf_blit_init): Likewise.
18569 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
18570 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
18571 'displayed_page', 'render_page' and 'update_screen'.
18572 (grub_video_vbe_fini): Free offscreen buffer.
18573 (doublebuf_pageflipping_commit): New function.
18574 (doublebuf_pageflipping_update_screen): Likewise.
18575 (doublebuf_pageflipping_init): Likewise.
18576 (double_buffering_init): Likewise.
18577 (grub_video_vbe_setup): Enable doublebuffering.
18578 (grub_video_vbe_swap_buffers): Implement.
18579 (grub_video_vbe_set_active_render_target): Handle double buffering.
18580 (grub_video_vbe_get_active_render_target): Likewise.
18581 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
18582 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
18583 (grub_video_vbe_enable_double_buffering): Likewise.
18584 (grub_video_vbe_swap_buffers): Use update_screen.
18585 (grub_video_set_mode): Use double buffering.
18586
185872010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18588
18589 * maintainance/gentrigtables.py: Remove.
18590 * lib/trig.c: Likewise.
18591
18592 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
18593
18594 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
18595 `trigtables.c'.
18596 (trigtables.c): New rule.
18597 (gentrigtables): Likewise.
18598 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
18599
186002010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18601
18602 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
18603 integer constants.
18604
186052010-02-06 Colin D Bennet <colin@gibibit.com>
18606
18607 Trigonometry support.
18608
18609 * include/grub/trig.h: New file.
18610 * lib/trig.c: Likewise.
18611 * maintainance/gentrigtables.py: Likewise.
18612 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
18613 (trig_mod_SOURCES): New variable.
18614 (trig_mod_CFLAGS): Likewise.
18615 (trig_mod_LDFLAGS): Likewise.
18616
5562834e
VS
186172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18618
18619 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
18620 disk devices.
18621
4f8528fc
VS
186222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18623
18624 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
18625 error.
18626
2b4068e9
VS
186272010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18628
18629 * util/hostdisk.c (open_device): Don't use partition device when reading
18630 before the partition.
18631 (grub_util_biosdisk_read): Don't read from partition and before the
18632 partition in single operation.
18633 (grub_util_biosdisk_write): Don't write to partition and before the
18634 partition in single operation.
18635
399f6e4d
TL
186362010-02-03 Torsten Landschoff <torsten@debian.org>
18637
18638 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18639 last sectors.
18640
996649b0
VS
186412010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18642
18643 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
18644 CDROM reads.
18645 (grub_biosdisk_write): Refuse to write to CDROM.
18646
3b205d4d
VS
186472010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18648
18649 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
18650
61e89d9d
VS
186512010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18652
18653 * font/font.c (find_glyph): Check that bmp_idx is available before
18654 using it.
18655 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
18656 with (font == NULL).
18657
bf7fcba2
CS
186582010-01-28 Christian Schmitt <chris@ilovelinux.de>
18659
18660 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
18661
f45d2663
BC
186622010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
18663
18664 * include/grub/script_sh.h (sourcecode): Add const qualifier.
18665 * util/grub-script-check.c (getline): Fix empty lines case.
18666
ec1444e6
RM
186672010-01-28 Robert Millan <rmh.grub@aybabtu.com>
18668
18669 * Makefile.in (check): Exit with fail status when one of the tests
18670 fails.
18671 * tests/example_functional_test.c (example_test): Fix reversed assert.
18672 * tests/example_unit_test.c (example_test): Likewise.
18673
2e1cb9bb
CW
186742010-01-28 Colin Watson <cjwatson@ubuntu.com>
18675
18676 * util/grub.d/10_linux.in: This script does not use any of the
18677 contents of gettext.sh, only the external command `gettext', so stop
18678 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
18679 the same prefix as GRUB.)
18680 * util/grub.d/10_kfreebsd.in: Likewise.
18681
63533ab0
VS
186822010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18683
18684 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
18685 of the line.
18686
989e1f93
VS
186872010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18688
18689 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18690 last sectors.
18691
e709ebe2
VS
186922010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18693
18694 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
18695 having a 4KiB and not 32KiB buffer size.
18696
27dea7ed
RM
186972010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18698
18699 * util/hostfs.c: Include `<errno.h>'.
18700 (grub_hostfs_read): Handle errors from fseeko() and fread().
18701
67667b9c
RM
187022010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18703
18704 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
18705 loop when using read hooks on files whose size isn't sector-aligned.
18706
c294d9d8
RM
187072010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18708
18709 Remove unused parameter.
18710
18711 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
18712 (grub_iso9660_open): Remove initialization of `data->length'.
18713
af75a9f1
RM
187142010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18715
18716 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
18717 memleak conditions.
18718
254e2ce5 187192010-01-27 Carles Pina i Estany <carles@pina.cat>
18720
18721 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
18722 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
18723
b510928c 187242010-01-26 Carles Pina i Estany <carles@pina.cat>
18725
18726 * util/bin2h.c (usage): Fix warning (space after backslash).
18727
aa2f9dd2 187282010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 18729
18730 * font/font.c: Include `grub/fontformat.h.
18731 Remove font file format constants.
18732 (grub_font_load): Use the new macros.
18733 * include/grub/fontformat.h: New file.
18734 * util/grub-mkfont.c: Include `grub/fontformat.c'.
18735 (write_font_pf2): Use the new macros.
18736
94e7e712
RM
187372010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18738
18739 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
18740 does.
18741
3973a59a
RM
187422010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18743
18744 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
18745
18746 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
18747 (_start): Macroify `0x7F'.
18748
18749 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
18750 (make_install_device): Use "(pxe)" as fallback prefix when booting
18751 via PXE.
18752
42e0cba3
GS
187532010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
18754
18755 * configure.ac: Reset LIBS after check for libgcc symbols.
18756
847effd8
CW
187572010-01-25 Colin Watson <cjwatson@ubuntu.com>
18758
18759 * util/hostdisk.c (open_device): Add trailing newline to debug
18760 message.
18761
ea4a7e35
GS
187622010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
18763
18764 * configure.ac: Check for `limits.h'.
18765 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
18766
67951a53
RM
187672010-01-24 Robert Millan <rmh.grub@aybabtu.com>
18768
18769 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
18770 capitalize error strings.
18771
c273d4ce
ST
187722010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
18773
18774 * util/grub.d/10_hurd.in: Add a recovery mode.
18775
69be5b74
VS
187762010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
18777
18778 * configure.ac: Check for libgcc symbols with -nostdlib.
18779
fc9e5810
BC
187802010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
18781
18782 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
18783
4b358c0a
VS
187842010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18785
18786 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
18787 stack since heap may be unavailable at that point.
18788 (grub_ofconsole_gotoxy): Likewise.
18789
454fcd1c
VS
187902010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18791
18792 * configure.ac: Check for _restgpr_14_x.
18793 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
18794 and _savegpr_* prototypes.
18795
566863ca
RM
187962010-01-22 Robert Millan <rmh.grub@aybabtu.com>
18797
18798 Use generic grub_reboot() for i386-efi.
18799
18800 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
18801 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
18802 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
18803
bf86e59a
VS
188042010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18805
18806 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
18807 presence of "prefix" variable as it breaks when normal.mod is
18808 embedded.
18809
d645e0f8
VS
188102010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18811
18812 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
18813 stack since heap is unavailable at that point.
18814
f9ab2e25
VS
188152010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18816
18817 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
18818 (grub_freebsd_bootinfo): Rewritten.
18819 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
18820
01fc7054
VS
188212010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18822
18823 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
18824
caab4fd6
RM
188252010-01-21 Robert Millan <rmh.grub@aybabtu.com>
18826
18827 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
18828 domain now.
18829
67eb1427
FZ
188302010-01-20 Felix Zielcke <fzielcke@z-51.de>
18831
18832 * util/misc.c (make_system_path_relative_to_its_root): Change the work
18833 around for handling "/" to the correct fix. Fix a memory leak. Use
18834 xstrdup instead of strdup.
18835
a9ed4ff3
VS
188362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18837
18838 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
18839
188402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
18841
18842 Optimise glyph lookup by Basic Multilingual Plane lookup array.
18843
18844 * font/font.c (struct grub_font): New member 'bmp_idx'.
18845 (font_init): Initialise 'bmp_idx'.
18846 (load_font_index): Fill 'bmp_idx'.
18847 (find_glyph): Make inline. Use bmp_idx for BMP characters.
18848
48209f4f
VS
188492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18850
18851 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
18852 unnecessary calls.
18853
9f0a4bb7
VS
188542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18855
18856 Move context handling out of the kernel.
18857
18858 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
18859 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
18860 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
18861 * conf/i386-efi.rmk: Likewise.
18862 * conf/i386-ieee1275.rmk: Likewise.
18863 * conf/i386-pc.rmk: Likewise.
18864 * conf/powerpc-ieee1275.rmk: Likewise.
18865 * conf/sparc64-ieee1275.rmk: Likewise.
18866 * conf/x86_64-efi.rmk: Likewise.
18867 * include/grub/env.h: Include grub/menu.h.
18868 (grub_env_var_type): Removed.
18869 (grub_env_var): Replaced field 'type' with 'global'.
18870 (grub_env_find): New prototype.
18871 (grub_env_context_open): Remove EXPORT_FUNC.
18872 (grub_env_context_close): Likewise.
18873 (grub_env_export): Likewise.
18874 (grub_env_set_data_slot): Removed.
18875 (grub_env_get_data_slot): Likewise.
18876 (grub_env_unset_data_slot): Likewise.
18877 (grub_env_unset_menu): New prototype.
18878 (grub_env_set_menu): Likewise.
18879 (grub_env_get_menu): Likewise.
18880 * include/grub/env_private.h: New file.
18881 * include/grub/normal.h (grub_context_init): New prototype.
18882 (grub_context_fini): Likewise.
18883 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
18884 * normal/context.c (grub_cmd_export): ... to here.
18885 * kern/env.c: Include env_private.h.
18886 (HASHSZ): Moved to include/grub/env_private.h.
18887 (grub_env_context): Likewise.
18888 (grub_env_sorted_var): Likewise.
18889 (current_context): Renamed from this ...
18890 (grub_current_context): ...to this. 'static' removed. All users updated.
18891 (grub_env_find): Removed 'static'.
18892 (grub_env_context_open): Moved to normal/context.c.
18893 (grub_env_context_close): Likewise.
18894 (grub_env_export): Likewise.
18895 (mangle_data_slot_name): Removed.
18896 (grub_env_set_data_slot): Likewise.
18897 (grub_env_get_data_slot): Likewise.
18898 (grub_env_unset_data_slot): Likewise.
18899 * kern/main.c (grub_set_root_dev): Don't export root.
18900 It will be done later.
18901 (grub_main): Don't export prefix.
18902 It will be done later.
18903 * normal/context.c: New file.
18904 * normal/main.c (free_menu): Use grub_env_unset_menu.
18905 (grub_normal_add_menu_entry): Use grub_env_get_menu.
18906 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
18907 (GRUB_MOD_INIT(normal)): Call grub_context_init.
18908 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
18909
8dd35b8c
VS
189102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18911
18912 setpci support.
18913
18914 * commands/setpci.c: New file.
18915 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
18916 (setpci_mod_SOURCES): New variable.
18917 (setpci_mod_CFLAGS): Likewise.
18918 (setpci_mod_LDFLAGS): Likewise.
18919
449193d5
VS
189202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18921
18922 Byte-addressable PCI configuration space.
18923
18924 * bus/pci.c (grub_pci_make_address): Use byte address instead of
18925 dword address.
18926 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
18927 GRUB_PCI_REG_CACHELINE.
18928 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
18929 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
18930 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
18931 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
18932 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
18933 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
18934 grub_pci_make_address.
18935 (lock_rom_area): Likewise.
18936 * commands/lspci.c (grub_lspci_iter): Use macroses
18937 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
18938 of grub_pci_make_address.
18939 * disk/ata.c (grub_ata_pciinit): Likewise.
18940 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
18941 (GRUB_PCI_REG_VENDOR): Likewise.
18942 (GRUB_PCI_REG_DEVICE): Likewise.
18943 (GRUB_PCI_REG_COMMAND): Likewise.
18944 (GRUB_PCI_REG_STATUS): Likewise.
18945 (GRUB_PCI_REG_REVISION): Likewise.
18946 (GRUB_PCI_REG_CLASS): Likewise.
18947 (GRUB_PCI_REG_CACHELINE): Likewise.
18948 (GRUB_PCI_REG_LAT_TIMER): Likewise.
18949 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
18950 (GRUB_PCI_REG_BIST): Likewise.
18951 (GRUB_PCI_REG_ADDRESSES): Likewise.
18952 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18953 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18954 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18955 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18956 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18957 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18958 (GRUB_PCI_REG_CIS_POINTER): Likewise.
18959 (GRUB_PCI_REG_SUBVENDOR): Likewise.
18960 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
18961 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
18962 (GRUB_PCI_REG_CAP_POINTER): Likewise.
18963 (GRUB_PCI_REG_IRQ_LINE): Likewise.
18964 (GRUB_PCI_REG_IRQ_PIN): Likewise.
18965 (GRUB_PCI_REG_MIN_GNT): Likewise.
18966 (GRUB_PCI_REG_MAX_LAT): Likewise.
18967 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
18968 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
18969 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 18970 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
18971 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
18972 space.
18973
96d73208
RM
189742010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18975
18976 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
18977 can be reliably determined to be supported.
18978
d4484482
RM
189792010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18980
18981 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
18982 that VESA is supported.
18983 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
18984 supported.
18985
00308ecf
VS
189862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18987
18988 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
18989
f66924a4
RM
189902010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18991
18992 * util/misc.c (make_system_path_relative_to_its_root): Work around
18993 special-casing of "/", as previous incarnation of this routine did.
18994
cbca0ada
VS
189952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18996
18997 Fix any-emu compilation.
18998
18999 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
19000 * grub_bin2h_SOURCES: New variable.
19001
34a66d99
RM
190022010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19003
19004 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
19005
94fabf58
RM
190062010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19007
19008 * util/grub.d/00_header.in: Fix handling of locale_dir.
19009
02cf98ca
VS
190102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19011
19012 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
19013 as possible unifont location (Gentoo).
19014 Reported by: Alexander Brüning
19015
327dbcd7
VS
190162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19017
19018 Don't try to generate lists for kernel.img.
19019
19020 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
19021 (pkglib_MODULES): Remove kernel.img.
19022 (kernel_img_EXPORTS): Removed.
19023 (kernel_img_RELOCATABLE): New variable.
19024 * conf/x86_64-efi.rmk: Likewise.
19025 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
19026
ca467290
VS
190272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19028
19029 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
19030 grub_xasprintf or grub_snprintf.
19031 (grub_vsprintf): Likewise.
19032 (grub_snprintf): New proto.
19033 (grub_vsnprintf): Likewise.
19034 (grub_xasprintf): Likewise.
19035 (grub_xvasprintf): Likewise.
19036 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
19037 (grub_sprintf): Removed.
19038 (grub_vsnprintf): New function.
19039 (grub_snprintf): Likewise.
19040 (grub_xvasprintf): Likewise.
19041 (grub_xasprintf): Likewise.
19042 (grub_vsprintf): Renamed to ...
19043 (grub_vsnprintf_real): ...this. New argument max_len.
19044
aca655fd
BC
190452010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
19046
19047 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
19048 fix grub-script-check warning.
19049
7ee92c32
VS
190502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19051
19052 * include/grub/font.h (grub_font_load): Fix prototype.
19053
f80927ca
VS
190542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19055
19056 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
19057
119c50ea
VS
190582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19059
19060 * include/grub/x86_64/at_keyboard.h: New file.
19061
47d5f3c1
VS
190622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19063
19064 * loader/mips/linux.c: Include missing grub/i18n.h.
19065
55ff5266
RM
190662009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19067
19068 * normal/menu.c (notify_execution_failure): Clarify error message.
19069
c893cc87
RM
190702009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19071
19072 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
19073 return value (and revert all return statements). Update users.
19074
917dd370
CW
190752010-01-20 Dan Merillat <debian@dan.merillat.org>
19076
19077 * kern/device.c (grub_device_iterate): Allocate new part_ent
19078 structure based on sizeof (*p) rather than sizeof (p->next), to
19079 account for structure padding.
19080
19081 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
19082 disk is NULL, which might happen for LVM physical volumes with no
19083 LVM signature.
19084
d4a4ee57
RM
190852009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19086
19087 * loader/mips/linux.c (grub_cmd_initrd)
19088 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
19089
190902009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19091
19092 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
19093 (grub_video_video_init, grub_video_bitmap_init)
19094 (grub_font_manager_init, grub_term_gfxterm_init)
19095 (grub_at_keyboard_init): New extern declarations.
19096 (grub_machine_init): Initialize gfxterm and at_keyboard.
19097
19098 * kern/main.c (grub_main): Revert grub_printf delay kludge.
19099
19100 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
19101 `gfxterm.mod' into core image.
19102
19103 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19104 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19105 (kernel_img_FORMAT): Copy to ...
19106
19107 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19108 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19109 (kernel_img_FORMAT): ... here, and ...
19110
19111 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19112 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19113 (kernel_img_FORMAT): ... here.
19114
19115 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
19116 and input (at_keyboard) terminals in kernel.
19117 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
19118
19119 (pkglib_MODULES): Remove `pci.mod'.
19120 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
19121 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
19122 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
19123 (at_keyboard_mod_LDFLAGS): Remove variables.
19124
191252010-01-11 Felix Zielcke <fzielcke@z-51.de>
19126
19127 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
19128
191292009-12-10 Robert Millan <rmh.grub@aybabtu.com>
19130
19131 * include/grub/mips/libgcc.h: Only export symbols for functions
19132 that libgcc provides.
19133
191342009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
19135
19136 MIPS support.
19137
19138 * bus/bonito.c: New file.
19139 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
19140 GRUB_PCI_NUM_DEVICES.
19141 * term/i386/pc/serial.c: Move to ...
19142 * term/serial.c: ... here. All users updated.
19143 * util/i386/pc/grub-mkimage.c: Move to ...
19144 * util/grub-mkrawimage.c: ... here. All users updated.
19145 * term/i386/pc/at_keyboard.c: Move to ...
19146 * term/at_keyboard.c: ... here. All users updated.
19147 * conf/mips-qemu-mips.rmk: New file.
19148 * conf/mips-yeeloong.rmk: Likewise.
19149 * conf/mips.rmk: Likewise.
19150 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
19151 mipsel-qemu-mips.
19152 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
19153 to port addresses.
19154 (grub_ata_pciinit): Support CS5536.
19155 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
19156 * font/font_cmd.c (loadfont_command): Open file before passing it to
19157 grub_font_load.
19158 (pseudo_file_read): New function.
19159 (pseudo_file_close): Likewise.
19160 (pseudo_fs): New structure.
19161 (load_font_module): New function.
19162 (GRUB_MOD_INIT(font_manager)): Load embedded font.
19163 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
19164 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
19165 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
19166 * include/grub/i386/at_keyboard.h: Split into ...
19167 * include/grub/at_keyboard.h: ... this ...
19168 * include/grub/i386/at_keyboard.h: ... and this.
19169 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
19170 New prototype.
19171 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
19172 updated.
19173 (grub_elf64_size): Likewise.
19174 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
19175 filename.
19176 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
19177 * include/grub/i386/coreboot/serial.h: Rewritten.
19178 * include/grub/i386/ieee1275/serial.h: Include
19179 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
19180 * include/grub/i386/pc/serial.h: Moved from here ...
19181 * include/grub/serial.h: ... to here. All users updated.
19182 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
19183 (GRUB_PCI_NUM_BUS): Likewise.
19184 (GRUB_PCI_NUM_DEVICES): Likewise.
19185 (grub_pci_device_map_range): Add missing volatile keyword.
19186 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
19187 * include/grub/mips/at_keyboard.h: New file.
19188 * include/grub/mips/cache.h: Likewise.
19189 * include/grub/mips/io.h: Likewise.
19190 * include/grub/mips/kernel.h: Likewise.
19191 * include/grub/mips/libgcc.h: Likewise.
19192 * include/grub/mips/pci.h: Likewise.
19193 * include/grub/mips/qemu-mips/boot.h: Likewise.
19194 * include/grub/mips/qemu-mips/kernel.h: Likewise.
19195 * include/grub/mips/qemu-mips/loader.h: Likewise.
19196 * include/grub/mips/qemu-mips/memory.h: Likewise.
19197 * include/grub/mips/qemu-mips/serial.h: Likewise.
19198 * include/grub/mips/qemu-mips/time.h: Likewise.
19199 * include/grub/mips/relocator.h: Likewise.
19200 * include/grub/mips/time.h: Likewise.
19201 * include/grub/mips/types.h: Likewise.
19202 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
19203 * include/grub/mips/yeeloong/boot.h: Likewise.
19204 * include/grub/mips/yeeloong/kernel.h: Likewise.
19205 * include/grub/mips/yeeloong/loader.h: Likewise.
19206 * include/grub/mips/yeeloong/memory.h: Likewise.
19207 * include/grub/mips/yeeloong/pci.h: Likewise.
19208 * include/grub/mips/yeeloong/serial.h: Likewise.
19209 * include/grub/mips/yeeloong/time.h: Likewise.
19210 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
19211 * kern/elf.c (grub_elf32_size): New parameter. All users
19212 updated.
19213 (grub_elf64_size): Likewise.
19214 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
19215 Load modules before saying "Welcome to GRUB!".
19216 Call grub_refresh after saying "Welcome to GRUB!".
19217 * kern/mips/cache.S: New file.
19218 * kern/mips/cache_flush.S: Likewise.
19219 * kern/mips/dl.c: Likewise.
19220 * kern/mips/init.c: Likewise.
19221 * kern/mips/qemu-mips/init.c: Likewise.
19222 * kern/mips/startup.S: Likewise.
19223 * kern/mips/yeeloong/init.c: Likewise.
19224 * kern/term.c (grub_putcode): Handle NULL terminal.
19225 (grub_getcharwidth): Likewise.
19226 (grub_getkey): Likewise.
19227 (grub_checkkey): Likewise.
19228 (grub_getkeystatus): Likewise.
19229 (grub_getxy): Likewise.
19230 (grub_getwh): Likewise.
19231 (grub_gotoxy): Likewise.
19232 (grub_cls): Likewise.
19233 (grub_setcolorstate): Likewise.
19234 (grub_setcolor): Likewise.
19235 (grub_getcolor): Likewise.
19236 (grub_refresh): Likewise.
19237 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
19238 (write_jump): Add hatch nop.
19239 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
19240 * lib/mips/setjmp.S: New file.
19241 * loader/mips/linux.c: Likewise.
19242 * term/i386/pc/at_keyboard.c: Move from here ...
19243 * term/at_keyboard.c: ... to here.
19244 * term/i386/pc/serial.c: Moved from here ...
19245 * term/serial.c: ... to here. All users updated.
19246 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
19247 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
19248 (serial_translate_key_sequence): Avoid deadlock.
19249 (grub_serial_getkey): Handle backspace.
19250 (grub_serial_putchar): Fix newline handling.
19251 * util/i386/pc/grub-mkimage.c: Move from here ...
19252 * util/grub-mkrawimage.c: ... to here. All users updated.
19253 (generate_image): New parameters 'font_path' and 'format'.
19254 Support embedding font.
19255 Use grub_host_to_target* instead of grub_cpu_to_le*.
19256 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
19257 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
19258 (options): New option "--font".
19259 (usage): Likewise.
19260 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
19261 (main): Handle "--font".
19262 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
19263 (grub_virtual_screen_setup): Set bg_color_display.
19264 (redraw_screen_rect): Use bg_color_display instead of incorrect
19265 bg_color.
19266 (grub_gfxterm_cls): Likewise.
19267 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
19268 Support embedding config file.
19269 (add_segments): Likewise.
19270 (options): New option "--config".
19271 (main): Handle "--config".
19272 * video/sm712.c: New file.
19273
25c2b5b3
RM
192742010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19275
19276 Fix parallel builds.
19277
19278 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
19279 font.c depend on ascii.h).
19280
192812010-01-12 Carles Pina i Estany <carles@pina.cat>
19282
19283 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
19284
192852010-01-11 Carles Pina i Estany <carles@pina.cat>
19286
19287 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
19288 By default: disabled.
19289 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
19290 parameter.
19291
192922010-01-10 Carles Pina i Estany <carles@pina.cat>
19293
19294 * font/font.c: Update copyright years.
19295 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
19296
192972010-01-10 Carles Pina i Estany <carles@pina.cat>
19298
19299 * font/font.c: Include `ascii.h'.
19300 (ASCII_BITMAP_SIZE): New macro.
19301 (ascii_font_glyph): Define.
19302 (ascii_glyph_lookup): New function.
19303 (grub_font_get_string_width): Change comment. If glyph not found, use
19304 ascii_glyph_lookup.
19305 (grub_font_get_glyph_with_fallback): If glyph not available returns
19306 ascii_glyph_lookup.
19307 * util/grub-mkfont.c (file_formats): New enum.
19308 (options): Add `ascii-bitmaps' new option.
19309 (usage): Add `asii-bitmaps' new option.
19310 (write_font_ascii_bitmap): New function.
19311 (write_font): Rename to ...
19312 (write_font_p2): ... this. Remove print_glyphs call.
19313 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
19314 used. Call print_glyphs.
19315 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
19316
193172010-01-14 Robert Millan <rmh.grub@aybabtu.com>
19318
19319 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
19320 (grub_bin2h_SOURCES): New variable.
19321 * util/bin2h.c: New file.
19322
915fc1b8
VS
193232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19324
19325 * include/multiboot.h: Resynced with spec.
19326 * include/multiboot2.h: Likewise.
19327 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
19328 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
19329
9444b678
RM
193302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19331
19332 * include/grub/term.h (grub_term_register_input,
19333 grub_term_register_output): Check return of terminal init()
19334 routines, and abort if errors are raised.
19335
19336 * commands/terminal.c: Update copyright year.
19337
cba98e8d
RM
193382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19339
19340 * commands/terminal.c (grub_cmd_terminal_input)
19341 (grub_cmd_terminal_output): Check return of terminal init()
19342 routines, and abort if errors are raised.
19343
6f7db5d6
VS
193442010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
19345
19346 * include/grub/i386/bsd.h: Fix include pathes.
19347
262bff8d
VS
193482010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
19349
19350 Add missing *BSD copyright headers.
19351
19352 * include/grub/aout.h: Add BSD licence.
19353 * include/grub/i386/bsd.h: Parts under different licences moved to ...
19354 * include/grub/i386/freebsd_linker.h: ... here,
19355 * include/grub/i386/freebsd_reboot.h: ... here,
19356 * include/grub/i386/netbsd_bootinfo.h: ... here,
19357 * include/grub/i386/netbsd_reboot.h: ... here,
19358 * include/grub/i386/openbsd_bootarg.h: ... here,
19359 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
19360 licence to each file.
19361
b2cab848
RM
193622010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19363
19364 * acinclude.m4: Remove `nop' assembly instruction; it's not
19365 implemented by all architectures.
19366
2cb6be4b
RM
193672010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19368
19369 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
19370 ELILO. This is no longer necessary.
19371
a2eaee15
BC
193722010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
19373
19374 Added new tool, grub-scrit-check to verify grub.cfg syntax.
19375
19376 * util/grub-script-check.c: grub-script-check tool.
19377 * conf/common.rmk: Make rules for grub-script-check.
19378
88d17012
RM
193792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19380
19381 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
19382 spotting it back in 2008. Shame on me for forgetting he did.
19383
19384 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
19385
8040619d
RM
193862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19387
19388 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
19389 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
19390 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
19391 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
19392 (GRUB_VIDEO_TYPE_EFI): Rename to ...
19393 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
19394
a0c2a0f6
RM
193952010-01-17 Robert Millan <rmh.grub@aybabtu.com>
19396
19397 * include/grub/test.h: Add license header.
19398 * tests/example_functional_test.c: Likewise.
19399 * tests/example_unit_test.c: Likewise.
19400 * tests/lib/functional_test.c: Likewise.
19401 * tests/lib/test.c: Likewise.
19402 * tests/lib/unit_test.c: Likewise.
19403
b0b13907
VS
194042010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
19405
19406 Use flag-based instead of hook-based video mode selection and "auto"
19407 keyword.
19408
19409 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
19410 (grub_video_set_mode): Changed prototype. All users updated.
19411 (grub_video_check_mode_flag): New inline function.
19412 * video/video.c (parse_modespec): New function.
19413 (grub_video_set_mode): Parse flags and keywords.
19414
ea379330 194152010-01-17 Carles Pina i Estany <carles@pina.cat>
19416
19417 * util/misc.c (grub_util_info): Fix the order of the parameters in a
19418 fprintf call.
19419
e15c215e
FZ
194202010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
19421
19422 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
19423
409ae1c9 194242010-01-16 Carles Pina i Estany <carles@pina.cat>
19425
19426 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
19427 string.
19428 * util/grub-emu.c (usage): Likewise.
19429 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
19430 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19431 * util/i386/pc/grub-mkimage.c (usage): Likewise.
19432 * util/i386/pc/grub-setup.c (usage): Likewise.
19433
70a14d3d 194342010-01-16 Carles Pina i Estany <carles@pina.cat>
19435
19436 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
19437 the message.
19438 (grub_util_info): Likewise.
19439 (grub_util_error): Likewise.
19440 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
19441 and/or new lines in `grub_util_warna', `grub_util_info',
19442 `grub_util_error' calls.
19443 * util/getroot.c: Likewise.
19444 * util/grub-editenv.c: Likewise.
19445 * util/grub-emu.c: Likewise.
19446 * util/grub-fstest.c: Likewise.
19447 * util/grub-mkdevicemap.c: Likewise.
19448 * util/grub-mkfont.c: Likewise.
19449 * util/grub-mkpasswd-pbkdf2.c: Likewise.
19450 * util/grub-mkrelpath.c: Likewise.
19451 * util/grub-pe2elf.c: Likewise.
19452 * util/grub-probe.c: Likewise.
19453 * util/hostdisk.c: Likewise.
19454 * util/i386/efi/grub-mkimage.c: Likewise.
19455 * util/i386/pc/grub-mkimage.c: Likewise.
19456 * util/i386/pc/grub-setup.c: Likewise.
19457 * util/ieee1275/ofpath.c: Likewise.
19458 * util/mkisofs/eltorito.c: Likewise.
19459 * util/mkisofs/rock.c: Likewise.
19460 * util/mkisofs/write.c: Likewise.
19461 * util/raid.c: Likewise.
19462 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19463 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19464
a0b766fc
VS
194652010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19466
19467 Enable multiboot on non-pc.
19468
19469 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
19470 multiboot.mod and multiboot2.mod to ...
19471 * conf/i386.rmk (pkglib_MODULES): ... here.
19472 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
19473 Moved to ...
19474 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
19475 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
19476 Moved to ...
19477 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
19478 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
19479 Moved to ...
19480 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
19481 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
19482 Moved to ...
19483 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
19484 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
19485 relocator.mod.
19486 (ata_mod_SOURCES): Removed.
19487 (ata_mod_CFLAGS): Likewise.
19488 (ata_mod_LDFLAGS): Likewise.
19489 (relocator_mod_SOURCES): Removed.
19490 (relocator_mod_CFLAGS): Likewise.
19491 (relocator_mod_ASFLAGS): Likewise.
19492 (relocator_mod_LDFLAGS): Likewise.
19493 Include i386.mk.
19494 * include/grub/x86_64/multiboot.h: New file.
19495 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
19496 Terminate EFI.
19497
884ade56
VS
194982010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19499
19500 Video multiboot support.
19501
19502 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
19503 New prototype.
19504 * include/multiboot.h: Resynced with multiboot specification.
19505 * include/multiboot2.h: Likewise.
19506 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
19507 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
19508 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
19509 (HAS_VGA_TEXT): Likewise.
19510 (accepts_video): New variable.
19511 (grub_multiboot_set_accepts_video): New function.
19512 (grub_multiboot_get_mbi_size): Account for video structures.
19513 (set_video_mode): New function.
19514 (retrieve_video_parameters): Likewise.
19515 (grub_multiboot_make_mbi): Fill video fields.
19516
0d90e8a6
VS
195172010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19518
19519 Video driver ids.
19520
19521 * include/grub/video.h (grub_video_driver_id): New type.
19522 (grub_video_adapter): New member 'id'. All users updated.
19523 (grub_video_get_driver_id): New proto.
19524 * video/video.c (grub_video_get_driver_id): New function.
19525
5c71db1b 195262010-01-14 Carles Pina i Estany <carles@pina.cat>
19527
19528 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
19529 `var=val'.
19530
cca15b52 195312010-01-14 Carles Pina i Estany <carles@pina.cat>
19532
19533 * normal/cmdline.c (print_completion): Gettextizze.
19534
c586fbb2 195352001-01-14 Carles Pina i Estany <carles@pina.cat>
19536
19537 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
19538
ba2f6848 195392010-01-14 Carles Pina i Estany <carles@pina.cat>
19540
19541 * gettext/gettext.c (grub_gettext_translate): Push and pop
19542 grub_errno.
19543 (grub_gettext_delete_list): Change comment style.
19544 * kern/err.c (grub_error): Gettextizze.
19545 (grub_fatal): Gettextizze.
19546
0a46429a
RM
195472010-01-14 Robert Millan <rmh.grub@aybabtu.com>
19548
19549 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
19550 (grub_linux16_real_boot): ... this.
19551 * kern/i386/loader.S: Likewise.
19552 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
19553 (grub_linux16_boot): New function. Switches to text mode and calls
19554 grub_linux16_real_boot().
19555
19556 * loader/i386/bsd.c: Include `<grub/video.h>'.
19557 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
19558 text mode before calling grub_unix_real_boot().
19559
19560 * loader/i386/multiboot.c: Include `<grub/video.h>'.
19561 (grub_multiboot_boot): Switch to text mode before calling
19562 grub_relocator32_boot().
19563
19564 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
19565 (grub_chainloader_boot): Switch to text mode before calling
19566 grub_chainloader_real_boot().
19567
d6f93a66
RM
195682010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
195692010-01-05 Colin Watson <cjwatson@ubuntu.com>
19570
19571 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
19572 non-empty value.
19573
195742010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
195752010-01-05 Colin Watson <cjwatson@ubuntu.com>
19576
19577 * util/grub.d/00_header.in: Define a "savedefault" function for use
19578 in menu entries.
19579 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
19580
195812010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
195822010-01-05 Colin Watson <cjwatson@ubuntu.com>
19583
19584 * util/grub-mkconfig_lib.in (save_default_entry): Only set
19585 saved_entry if boot_once is unset.
19586 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
19587 previous saved entry (i.e. grub-reboot).
19588
195892009-12-08 Colin Watson <cjwatson@ubuntu.com>
19590
19591 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
19592
195932009-12-08 Colin Watson <cjwatson@ubuntu.com>
19594
19595 * util/grub.d/00_header.in: Use `set var=val' rather than plain
19596 `var=val'.
19597 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
19598
195992009-12-08 Colin Watson <cjwatson@ubuntu.com>
19600
19601 * util/grub-reboot.in: Fix --version output.
19602 * util/grub-set-default.in: Likewise.
19603
196042009-12-08 Colin Watson <cjwatson@ubuntu.com>
19605
19606 * util/grub.d/00_header.in: Silently ignore zero-sized environment
19607 blocks.
19608
196092009-12-08 Colin Watson <cjwatson@ubuntu.com>
19610
19611 * util/grub.d/00_header.in: Quote the value assigned to `default',
19612 in case it contains spaces.
19613
196142009-12-08 Colin Watson <cjwatson@ubuntu.com>
19615
19616 * util/grub.d/30_os-prober.in: Fix merge error that moved a
19617 `save_default_entry' call from the macosx case to the linux case.
19618
196192009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
196202009-10-25 Colin Watson <cjwatson@ubuntu.com>
19621
19622 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
19623 in `chosen' environment variable.
19624 * normal/menu_text.c (get_entry_number): Check if the variable
19625 matches the title of a menu entry.
19626 (run_menu): Pass menu to get_entry_number.
19627
19628 * util/grub-reboot.in: New file.
19629 * util/grub-set-default.in: New file.
19630 * conf/common.rmk (grub-reboot): New utility.
19631 (grub-set-default): New utility.
19632
19633 * util/grub-mkconfig_lib.in (save_default_entry): New function.
19634 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
19635 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
19636 move it to `saved_entry' for the next boot. Load environment on
19637 initialisation.
19638 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
19639 * util/grub.d/10_hurd.in: Likewise.
19640 * util/grub.d/10_linux.in (linux_entry): Likewise.
19641 * util/grub.d/10_windows.in: Likewise.
19642 * util/grub.d/30_os-prober.in: Likewise.
19643
19644 * util/grub-install.in: Create environment block.
19645 * util/i386/efi/grub-install.in: Likewise.
19646 * util/ieee1275/grub-install.in: Likewise.
19647 * util/sparc64/ieee1275/grub-install.in: Likewise.
19648
0934d184
BC
196492010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
19650
19651 Unit testing framework for GRUB.
19652
19653 * Makefile.in: Test framework build rules for 'make check'.
19654 * conf/tests.rmk: Build rules for individual tests and framework.
19655
19656 * include/grub/test.h: Header file for whitebox tests.
19657 * tests/lib/functional_test.c: Framework support for whitebox
19658 functional tests.
19659 * tests/lib/test.c: Common whitebox testing code for unit and
19660 functional tests.
19661 * tests/lib/unit_test.c: Framework support for whitebox unit
19662 tests.
19663
19664 * tests/util/grub-shell-tester.in: Support utility for grub-script
19665 tests.
19666 * tests/util/grub-shell.in: Utility to execute grub-script
19667 commands in a Qemu instance.
19668
19669 * tests/example_functional_test.c: Example whitebox functional
19670 test.
19671 * tests/example_grub_script_test.in: Example grub-script test.
19672 * tests/example_scripted_test.in: Example scripted test.
19673 * tests/example_unit_test.c: Example whitebox unit test.
19674
9c4ffeeb
VS
196752010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19676
19677 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
19678 Add loader/i386/multiboot_mbi.c.
19679 (multiboot2_mod_SOURCES): Likewise.
19680 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
19681 (multiboot2_mod_SOURCES): Likewise.
19682 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
19683 (grub_multiboot_make_mbi): Likewise.
19684 (grub_multiboot_free_mbi): Likewise.
19685 (grub_multiboot_init_mbi): Likewise.
19686 (grub_multiboot_add_module): Likewise.
19687 (grub_multiboot_set_bootdev): Likewise.
19688 * loader/i386/multiboot.c (mbi): Removed.
19689 (mbi_dest): Likewise.
19690 (alloc_mbi): New variable.
19691 (grub_multiboot_payload_size): Removed. All users updated.
19692 (grub_multiboot_pure_size): New variable.
19693 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
19694 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
19695 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
19696 (grub_fill_multiboot_mmap): Likewise.
19697 (grub_multiboot_get_bootdev): Likewise.
19698 (grub_multiboot): Use multiboot_mbi functions.
19699 * loader/i386/multiboot_mbi.c: New file.
19700
17383dfe
VS
197012010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19702
19703 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
19704 it would result in module crash.
19705
c1f28820
VS
197062010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19707
19708 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
19709 (grub_ofconsole_getwh): Split to ...
19710 (grub_ofconsole_getwh): ... this.
19711 (grub_ofconsole_dimensions): ...and this.
19712 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
19713
58655a16
RM
197142010-01-13 Robert Millan <rmh.grub@aybabtu.com>
19715
19716 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
19717
10891398
VS
197182010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19719
19720 * loader/i386/pc/multiboot2.c: Removed stalled file.
19721
0b8a223c
VS
197222010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19723
19724 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
19725 Reported by: Grégoire Sutre
19726
92ab12b0
RM
197272010-01-11 Robert Millan <rmh.grub@aybabtu.com>
19728
19729 * util/misc.c (canonicalize_file_name): New function.
19730 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
19731 instead of realpath().
19732
a788afb6
CW
197332010-01-11 Colin Watson <cjwatson@ubuntu.com>
19734
19735 * util/grub-install.in (usage): Clarify meaning of --root-directory,
19736 and make it clearer that it's optional. Based on confusion
19737 witnessed on IRC.
19738
ffa8e3d2
VS
197392010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19740
19741 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
19742 in premature implicit newline.
19743
e9060a9d
VS
197442010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19745
19746 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
19747 which resulted in garbled command line at the end of screen.
19748
f0d0c0b7
RM
197492010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19750
19751 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
19752 initialization with similar approach as with other Linux loaders.
19753
0e60bae7
RM
197542010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19755
19756 Fix i386-ieee1275 build.
19757
19758 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
19759 and grub_term_height() for video_{width,height} initialization.
19760
197612010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
19762
19763 Fix grub-emu build.
19764
19765 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
19766
cdb3f378
RM
197672010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
197682010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19769
19770 Support for multiple terminals.
19771
19772 * Makefile.in (pkglib_DATA): terminal.lst.
19773 (terminal.lst): New target.
19774 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
19775 (GRUB_MOD_INIT(handler)): Likewise.
19776 (GRUB_MOD_FINI(handler)): Likewise.
19777 * commands/help.c (grub_cmd_help): Handle multiple terminals.
19778 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
19779 * commands/sleep.c (do_print): Use grub_term_restore_pos.
19780 (grub_cmd_sleep): Use grub_term_save_pos.
19781 * commands/terminal.c: New file.
19782 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
19783 commands/terminal.c and lib/charset.c.
19784 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
19785 (pkglib_MODULES): Add terminal.mod.
19786 (terminal_mod_SOURCES): New variable.
19787 (terminal_mod_CFLAGS): Likewise.
19788 (terminal_mod_LDFLAGS): Likewise.
19789 * genhandlerlist.sh: Don't handle terminals.
19790 * genmk.rb: Generate terminal-*.lst.
19791 * genterminallist.sh: New file.
19792 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
19793 (grub_is_valid_utf8): Likewise.
19794 (grub_utf8_to_ucs4_alloc): Likewise.
19795 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
19796 (grub_menu_register_viewer): Changed argument.
19797 (grub_menu_try_text): New proto.
19798 (grub_gfxmenu_try_hook): New declaration.
19799 * include/grub/normal.h (grub_normal_exit_level): New declaration.
19800 (grub_menu_init_page): Additional argument term.
19801 (grub_normal_init_page): Likewise.
19802 (grub_cmdline_get): Arguments simplified.
19803 (grub_utf8_to_ucs4_alloc): Removed.
19804 (grub_print_ucs4): Additional argument term.
19805 (grub_getstringwidth): Likewise.
19806 (grub_print_message_indented): Likewise.
19807 (grub_menu_text_register_instances): New proto.
19808 (grub_show_menu): Likewise.
19809 (read_terminal_list): Likewise.
19810 (grub_set_more): Likewise.
19811 * include/grub/parser.h: Include handler.h.
19812 * include/grub/reader.h: Rewritten.
19813 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
19814 (GRUB_TERM_WIDTH): Changed to function.
19815 (GRUB_TERM_HEIGHT): Likewise.
19816 (GRUB_TERM_BORDER_WIDTH): Likewise.
19817 (GRUB_TERM_BORDER_HEIGHT): Likewise.
19818 (GRUB_TERM_NUM_ENTRIES): Likewise.
19819 (GRUB_TERM_ENTRY_WIDTH): Likewise.
19820 (GRUB_TERM_CURSOR_X): Likewise.
19821 (grub_term_input_class): Likewise.
19822 (grub_term_output_class): Likewise.
19823 (grub_term_outputs_disabled): New declaration.
19824 (grub_term_inputs_disabled): Likewise.
19825 (grub_term_outputs): Likewise.
19826 (grub_term_inputs): Likewise.
19827 (grub_term_register_input): Rewritten.
19828 (grub_term_register_output): Likewise.
19829 (grub_term_unregister_input): Likewise.
19830 (grub_term_unregister_output): Likewise.
19831 (FOR_ACTIVE_TERM_INPUTS): New macro.
19832 (FOR_DISABLED_TERM_INPUTS): Likewise.
19833 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19834 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19835 * include/grub/terminfo.h: Add oterm argument to all protypes.
19836 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
19837 Use grub_rescue_run.
19838 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
19839 All users updated.
19840 * kern/reader.c: Removed. All users updated.
19841 * kern/rescue_reader.c (grub_rescue_init): Removed.
19842 (grub_rescue_reader): Likewise.
19843 (grub_register_rescue_reader): Likewise.
19844 (grub_rescue_run): New function based on kern/reader.c.
19845 * kern/term.c: Adapted for multiterm.
19846 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
19847 (grub_is_valid_utf8): Likewise.
19848 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
19849 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
19850 right terminal.
19851 * loader/i386/linux.c (grub_linux_boot): Likewise.
19852 * normal/auth.c (grub_username_get): New function.
19853 (grub_auth_check_authentication): Use grub_username_get.
19854 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
19855 * normal/color.c: Adapt for multiterm.
19856 * normal/main.c (read_config_file): Don't use grub_reader_loop.
19857 (grub_normal_init_page): Additional argument term.
19858 (read_lists): Call read_terminal_lists.
19859 (grub_enter_normal_mode): Call grub_cmdline_run.
19860 Handle grub_normal_exit_level.
19861 (grub_cmd_normal): Make reentrant.
19862 (grub_cmd_normal_exit): New function.
19863 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
19864 * normal/menu.c: Adapt for multiterm.
19865 * normal/menu_entry.c: Likewise.
19866 * normal/menu_text.c: Likewise.
19867 * normal/menu_viewer.c: Removed. All users updated.
19868 * normal/term.c: New file.
19869 * util/console.c: Change order of includes to workaround a bug in
19870 ncurses headers.
19871 * term/terminfo.c: New argument oterm on all exported functions.
19872 All users updated.
19873 * util/grub-editenv.c (grub_term_input_class): Removed.
19874 (grub_term_output_class): Likewise.
19875
1a064917
RM
198762010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19877
19878 Make loader output a bit more user-friendly.
19879
19880 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
19881 is being loaded. Likewise for the Hurd.
19882
19883 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
19884 that kernel of FreeBSD ${version} is being loaded.
19885
19886 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
19887 grub_dprintf().
19888 (grub_cmd_initrd): Likewise.
19889 * util/grub.d/10_linux.in (linux_entry): Print message indicating
19890 that Linux ${version} is being loaded. Likewise for initrd.
19891
5ce0a83a 198922010-01-09 Carles Pina i Estany <carles@pina.cat>
19893
19894 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
19895
809bbfeb 198962010-01-08 Carles Pina i Estany <carles@pina.cat>
19897
19898 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
19899 (GRUB_MOD_INIT): Gettextizze.
19900 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
19901 (GRUB_MOD_INIT): Gettextizze.
19902 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
19903 (grub_cmd_linux): Capitalise Linux.
19904 (GRUB_MOD_INIT): Gettextizze.
19905 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
19906 (grub_cmd_linux): Capitalise Linux.
19907 (GRUB_MOD_INIT): Gettextizze.
19908 * loader/i386/linux.c: Include `<grub/i18n.h>'.
19909 (grub_cmd_linux): Capitalise Linux.
19910 (GRUB_MOD_INIT): Gettextizze.
19911 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
19912 (GRUB_MOD_INIT): Gettextizze.
19913 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
19914 (grub_cmd_linux): Capitalise Linux.
19915 (GRUB_MOD_INIT): Gettextizze.
19916 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
19917 (grub_cpu_xnu_init): Gettextizze.
19918 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
19919 (GRUB_MOD_INIT): Gettextizze.
19920 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
19921 (GRUB_MOD_INIT): Gettextizze.
19922 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
19923 (grub_linux_load64): Capitalise Linux.
19924 (GRUB_MOD_INIT): Gettextizze.
19925 * loader/xnu.c: Include `<grub/i18n.h>'.
19926 (GRUB_MOD_INIT): Gettextizze.
19927 * po/POTFILES: Add `loader/efi/appleloader.c',
19928 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
19929 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
19930 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
19931 `loader/i386/xnu.c', `loader/multiboot_loader.c',
19932 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
19933 and `loader/xnu.c'.
19934
b394b2ca
RM
199352010-01-08 Robert Millan <rmh.grub@aybabtu.com>
19936
19937 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
19938
199392010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
19940
19941 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
19942 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
19943 * util/mkisofs/mkisofs.c (main): Readjust --version output.
19944
bc8b32b3
RM
199452010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19946
19947 Reset Multiboot 2 support. New loader implements the draft in
19948 /branches/multiboot2 and shares as much code as possible with the
19949 production Multiboot 1 implementation.
19950
19951 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
19952 * loader/multiboot2.c: Likewise.
19953 * loader/i386/multiboot_helper.S: Likewise.
19954 * include/multiboot2.h: Replace with latest version from the draft
19955 in /branches/multiboot2.
19956
19957 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
19958 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
19959 and `loader/multiboot2.c'.
19960 (pkglib_MODULES): Add `multiboot2.mod'.
19961 (multiboot2_mod_SOURCES): New variable.
19962 (multiboot2_mod_LDFLAGS): Likewise.
19963 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
19964
19965 * conf/i386-pc.rmk: Likewise.
19966
19967 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19968 (multiboot_mod_SOURCES): Remove variable.
19969 (multiboot_mod_LDFLAGS): Likewise.
19970 (multiboot_mod_CFLAGS): Likewise.
19971
19972 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
19973 `<multiboot2.h>' instead of `<multiboot.h>'.
19974 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
19975 (MULTIBOOT_HEADER_MAGIC): New macros.
19976
19977 * loader/multiboot_loader.c (module_version_status): Remove variable.
19978 (find_multi_boot2_header): Remove function.
19979 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
19980 logic. Always check for the Multiboot version we're compiling for.
19981 (grub_cmd_module_loader): Likewise.
19982 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
19983 command instead of `multiboot'.
19984
5d2c52b8
RM
199852010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19986
19987 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
19988 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
19989 all users.
19990
53108d92
RM
199912010-01-07 Robert Millan <rmh.grub@aybabtu.com>
199922010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19993
19994 Fix breakage introduced with previous commit.
19995
19996 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
19997 commands.
19998 * normal/handler.c (read_handler_list): Revert part of previous commit
19999 affecting this file.
20000 * normal/main.c (read_lists): Move read_handler_list() call back to ...
20001 (grub_normal_execute): ... here.
20002
e2e936b2
RM
200032010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20004
20005 Merge prefix-redefinition-fix branch.
20006
20007 * normal/autofs.c (read_fs_list): Make function capable of being
20008 run multiple times, gracefuly replacing the previous data
20009 structures.
20010 * normal/dyncmd.c (read_command_list): Likewise.
20011 * normal/handler.c (read_handler_list): Likewise.
20012 * normal/main.c (read_lists): New function. Calls all the
20013 list reading functions.
20014 (grub_normal_execute): Use read_lists() instead of calling all
20015 list reading functions explicitly. Register read_lists() as a
20016 variable hook attached to ${prefix}.
20017
607a3701
VS
200182010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20019
20020 Merge crypto branch.
20021
20022 * Makefile.in (pkglib_DATA): Add crypto.lst.
20023 (crypto.lst): New target.
20024 * commands/hashsum.c: New file.
20025 * commands/password.c (check_password): Use grub_crypto_memcmp.
20026 * commands/password_pbkdf2.c: New file.
20027 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
20028 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
20029 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
20030 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
20031 -I$(srcdir)/lib/libgcrypt_wrap.
20032 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
20033 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
20034 password_pbkdf2.mod.
20035 (crypto_mod_SOURCES): New variable.
20036 (crypto_mod_CFLAGS): Likewise.
20037 (crypto_mod_LDFLAGS): Likewise.
20038 (hashsum_mod_SOURCES): New variable.
20039 (hashsum_mod_CFLAGS): Likewise.
20040 (hashsum_mod_LDFLAGS): Likewise.
20041 (pbkdf2_mod_SOURCES): New variable.
20042 (pbkdf2_mod_CFLAGS): Likewise.
20043 (pbkdf2_mod_LDFLAGS): Likewise.
20044 (password_pbkdf2_mod_SOURCES): New variable.
20045 (password_pbkdf2_mod_CFLAGS): Likewise.
20046 (password_pbkdf2_mod_LDFLAGS): Likewise.
20047 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
20048 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
20049 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
20050 Include conf/gcry.rmk.
20051 * include/grub/auth.h: Rewritten.
20052 * include/grub/crypto.h: New file.
20053 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
20054 * include/grub/normal.h (read_crypto_list): New prototype.
20055 * lib/crypto.c: New file.
20056 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
20057 * lib/pbkdf2.c: Likewise.
20058 * normal/auth.c (grub_auth_strcmp): Removed.
20059 (grub_iswordseparator): Likewise.
20060 (grub_auth_strword): Likewise.
20061 (is_authenticated): Use grub_strword.
20062 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
20063 and grub_strword. Pass entered password to authentication callback.
20064 * normal/crypto.c: New file.
20065 * normal/main.c: Call read_crypto_list.
20066 * util/grub-mkpasswd-pbkdf2.c: New file.
20067 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
20068
42841caa
VS
200692010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
20070
20071 Fix descent and ascent calculation.
20072
20073 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
20074 (options): New option "asce".
20075 (usage): Likewise.
20076 (add_char): Ignore invalid glyphs for descent calculation.
20077 Calculate ascent from actual content.
20078 (print_glyphs): Use 'asce'.
20079 (write_font): Likewise. Allow ascent override.
20080 (main): Handle "asce" option.
20081
e7730de7 200822010-01-06 Carles Pina i Estany <carles@pina.cat>
20083
20084 * kern/err.c: Include `<grub/i18n.h>'.
20085 (grub_print_error): Add full stop. Gettextizze.
20086 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
20087 (grub_bsd_load_elf): Capitalise ELF.
20088 (grub_cmd_freebsd_loadenv): Add `s' in error string.
20089 (grub_cmd_freebsd_module): Likewise.
20090 (grub_cmd_freebsd_module_elf): Likewise.
20091 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
20092
40e3a41f 200932010-01-06 Carles Pina i Estany <carles@pina.cat>
20094
20095 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
20096 * commands/search_file.c (HELP_MESSAGE): New macro.
20097 * commands/search_label.c (HELP_MESSAGE): Likewise.
20098 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
20099 * po/POTFILES: Add `commands/search_file.c',
20100 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
20101 `commands/search.c'.
20102
83507e68
RM
201032010-01-05 Robert Millan <rmh.grub@aybabtu.com>
20104
20105 * config.rpath: Update from Gnulib.
20106
465c787b
YB
201072010-01-05 Yves Blusseau <blusseau@zetam.org>
20108
20109 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
20110
6581dd3a
YB
201112010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
20112
20113 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
20114
3bff18c5
CW
201152010-01-05 Colin Watson <cjwatson@ubuntu.com>
20116
20117 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
20118 arguments to fread so that we get a return value in bytes, rather
20119 than something that will normally be rounded down to 0.
20120 Adjust error handling to avoid producing garbage when size_t is not
20121 the same size as long long.
20122
a1368118
CW
201232010-01-05 Colin Watson <cjwatson@ubuntu.com>
20124
20125 * util/mkisofs/write.c (padblock_write): Check return value of
20126 fread.
20127
7c302978
RM
201282010-01-05 Robert Millan <rmh.grub@aybabtu.com>
20129
20130 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
20131 floppy images now.
20132
20133 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
20134
e33ace06
RM
201352010-01-04 Robert Millan <rmh.grub@aybabtu.com>
20136
20137 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
20138 instead of manual alignment.
20139 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
20140 verbose). Avoid attempts to read past end of the device
20141 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
20142 but GRUB_DISK_CACHE_SIZE may exceed that).
20143
4b856776
RM
201442010-01-04 Robert Millan <rmh.grub@aybabtu.com>
20145
20146 * commands/crc.c (grub_cmd_crc): Abort on read errors.
20147 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
20148 it to upper layer.
20149
52c2d97f
VS
201502010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20151
20152 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
20153 New constant.
20154 (grub_efi_piwg_device_path): New structure
20155 (grub_efi_piwg_device_path_t): New type.
20156 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
20157 (devpath_1): Transform to a structure. All users updated.
20158 (devpath_2): Likewise.
20159 (devpath_3): Likewise.
20160 (devpath_4): Likewise.
20161 (devpath_5): Likewise.
20162
98ff6a54
VS
201632010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20164
20165 * loader/efi/appleloader.c: Restored. Update all users.
20166
3a73dcb6
RM
201672010-01-03 Robert Millan <rmh.grub@aybabtu.com>
20168
20169 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
20170
20171 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
20172 (struct boot_blocklist): Move from here ...
20173 * include/grub/i386/pc/boot.h [ASM_FILE]
20174 (struct grub_boot_blocklist): ... to here. Update all users.
20175 (setup): Only initialize `start' member of `first_block'
20176 structure. Add assert() calls to verify the other members.
20177
20178 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
20179 (generate_image): Fix broken blocklist length initialization.
20180 Add assert() call to verify blocklist `segment' field.
20181
ab0eeb0c
RM
201822010-01-03 Robert Millan <rmh.grub@aybabtu.com>
20183
20184 * loader/efi/appleloader.c: Remove. Update all users.
20185
58bc8bd5
RM
201862010-01-03 Robert Millan <rmh.grub@aybabtu.com>
20187
20188 * boot/i386/pc/boot.S: Update copyright year.
20189 * boot/i386/pc/cdboot.S: Likewise.
20190 * boot/i386/pc/diskboot.S: Likewise.
20191 * boot/i386/pc/lnxboot.S: Likewise.
20192 * boot/i386/pc/pxeboot.S: Likewise.
20193 * bus/pci.c: Likewise.
20194 * commands/cmp.c: Likewise.
20195 * commands/help.c: Likewise.
20196 * commands/hexdump.c: Likewise.
20197 * commands/i386/pc/halt.c: Likewise.
20198 * commands/i386/pc/play.c: Likewise.
20199 * commands/i386/pc/vbeinfo.c: Likewise.
20200 * commands/ls.c: Likewise.
20201 * commands/test.c: Likewise.
20202 * disk/dmraid_nvidia.c: Likewise.
20203 * disk/i386/pc/biosdisk.c: Likewise.
20204 * disk/ieee1275/nand.c: Likewise.
20205 * disk/ieee1275/ofdisk.c: Likewise.
20206 * disk/lvm.c: Likewise.
20207 * disk/raid.c: Likewise.
20208 * disk/raid6_recover.c: Likewise.
20209 * disk/scsi.c: Likewise.
20210 * fs/affs.c: Likewise.
20211 * fs/cpio.c: Likewise.
20212 * fs/ext2.c: Likewise.
20213 * fs/hfs.c: Likewise.
20214 * fs/iso9660.c: Likewise.
20215 * fs/ntfs.c: Likewise.
20216 * fs/sfs.c: Likewise.
20217 * fs/udf.c: Likewise.
20218 * fs/ufs.c: Likewise.
20219 * fs/xfs.c: Likewise.
20220 * gencmdlist.sh: Likewise.
20221 * genmk.rb: Likewise.
20222 * include/grub/disk.h: Likewise.
20223 * include/grub/efi/api.h: Likewise.
20224 * include/grub/efi/efi.h: Likewise.
20225 * include/grub/efi/pe32.h: Likewise.
20226 * include/grub/elf.h: Likewise.
20227 * include/grub/fs.h: Likewise.
20228 * include/grub/i386/at_keyboard.h: Likewise.
20229 * include/grub/i386/pc/memory.h: Likewise.
20230 * include/grub/i386/pc/vbe.h: Likewise.
20231 * include/grub/i386/pci.h: Likewise.
20232 * include/grub/i386/tsc.h: Likewise.
20233 * include/grub/ieee1275/ieee1275.h: Likewise.
20234 * include/grub/ntfs.h: Likewise.
20235 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20236 * include/grub/sparc64/libgcc.h: Likewise.
20237 * include/grub/symbol.h: Likewise.
20238 * include/grub/types.h: Likewise.
20239 * include/multiboot2.h: Likewise.
20240 * io/gzio.c: Likewise.
20241 * kern/device.c: Likewise.
20242 * kern/disk.c: Likewise.
20243 * kern/efi/efi.c: Likewise.
20244 * kern/efi/mm.c: Likewise.
20245 * kern/elf.c: Likewise.
20246 * kern/file.c: Likewise.
20247 * kern/i386/dl.c: Likewise.
20248 * kern/i386/pc/init.c: Likewise.
20249 * kern/i386/pc/startup.S: Likewise.
20250 * kern/ieee1275/ieee1275.c: Likewise.
20251 * kern/ieee1275/init.c: Likewise.
20252 * kern/main.c: Likewise.
20253 * kern/mm.c: Likewise.
20254 * kern/powerpc/dl.c: Likewise.
20255 * kern/sparc64/dl.c: Likewise.
20256 * kern/x86_64/dl.c: Likewise.
20257 * lib/hexdump.c: Likewise.
20258 * loader/efi/appleloader.c: Likewise.
20259 * loader/i386/ieee1275/linux.c: Likewise.
20260 * loader/i386/pc/chainloader.c: Likewise.
20261 * loader/i386/pc/linux.c: Likewise.
20262 * loader/i386/pc/multiboot2.c: Likewise.
20263 * loader/ieee1275/multiboot2.c: Likewise.
20264 * loader/multiboot2.c: Likewise.
20265 * loader/multiboot_loader.c: Likewise.
20266 * loader/powerpc/ieee1275/linux.c: Likewise.
20267 * normal/completion.c: Likewise.
20268 * normal/menu_entry.c: Likewise.
20269 * partmap/apple.c: Likewise.
20270 * util/grub.d/10_hurd.in: Likewise.
20271 * util/hostfs.c: Likewise.
20272 * video/readers/png.c: Likewise.
20273
e2d70b5c
CW
202742010-01-03 Colin Watson <cjwatson@ubuntu.com>
20275
20276 * include/grub/misc.h (GNUC_PREREQ): New macro.
20277 (ATTRIBUTE_ERROR): New macro.
20278 * include/grub/list.h (grub_bad_type_cast_real): Use
20279 ATTRIBUTE_ERROR.
20280
a173283f 202812010-01-03 Carles Pina i Estany <carles@pina.cat>
20282
20283 * normal/menu_text.c (print_message): Change messages.
20284
7fa7ff74 202852010-01-03 Carles Pina i Estany <carles@pina.cat>
20286
20287 * normal/menu_entry.c (store_completion): Gettextizze.
20288
136d24f6 202892010-01-03 Carles Pina i Estany <carles@pina.cat>
20290
20291 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
20292
f936862e 202932010-01-03 Carles Pina i Estany <carles@pina.cat>
20294
20295 * po/POTFILES: Sort correctly.
20296
29c44ad1 202972010-01-03 Carles Pina i Estany <carles@pina.cat>
20298
20299 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
20300 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
20301 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
20302 full stop.
20303 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
20304 summary. Gettextizze the strings.
20305 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
20306 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
20307 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
20308 full stop.
20309 (GRUB_MOD_INIT): Remove command name from summary.
20310 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
20311 summary.
20312 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
20313 * term/i386/pc/serial.c (options): Add full stops.
20314 (GRUB_MOD_INIT): Remove command name from the summary.
20315
77a79592 203162010-01-03 Carles Pina i Estany <carles@pina.cat>
20317
20318 * commands/acpi.c: Gettextizze help strings and/or options. Include
20319 `grub/i18n.h' if needed.
20320 * commands/blocklist.c: Likewise.
20321 * commands/boot.c: Likewise.
20322 * commands/cat.c: Likewise.
20323 * commands/cmp.c: Likewise.
20324 * commands/configfile.c: Likewise.
20325 * commands/crc.c: Likewise.
20326 * commands/date.c: Likewise.
20327 * commands/echo.c: Likewise.
20328 * commands/efi/fixvideo.c: Likewise.
20329 * commands/efi/loadbios.c: Likewise.
20330 * commands/gptsync.c: Likewise.
20331 * commands/halt.c: Likewise.
20332 * commands/handler.c: Likewise.
20333 * commands/hdparm.c: Likewise.
20334 * commands/hexdump.c: Likewise.
20335 * commands/i386/cpuid.c: Likewise.
20336 * commands/i386/pc/drivemap.c: Likewise.
20337 * commands/i386/pc/halt.c: Likewise.
20338 * commands/i386/pc/pxecmd.c: Likewise.
20339 * commands/i386/pc/vbeinfo.c: Likewise.
20340 * commands/i386/pc/vbetest.c: Likewise.
20341 * commands/ieee1275/suspend.c: Likewise.
20342 * commands/keystatus.c: Likewise.
20343 * commands/loadenv.c: Likewise.
20344 * commands/ls.c: Likewise.
20345 * commands/lsmmap.c: Likewise.
20346 * commands/lspci.c: Likewise.
20347 * commands/memrw.c: Likewise.
20348 * commands/minicmd.c: Likewise.
20349 * commands/parttool.c: Likewise.
20350 * commands/password.c: Likewise.
20351 * commands/probe.c: Likewise.
20352 * commands/read.c: Likewise.
20353 * commands/reboot.c: Likewise.
20354 * commands/search.c: Likewise.
20355 * commands/sleep.c: Likewise.
20356 * commands/test.c: Likewise.
20357 * commands/true.c: Likewise.
20358 * commands/usbtest.c: Likewise.
20359 * commands/videotest.c: Likewise.
20360 * commands/xnu_uuid.c: Likewise.
20361 * disk/loopback.c: Likewise.
20362 * hello/hello.c: Likewise.
20363 * loader/i386/bsd.c: Likewise.
20364 * term/i386/pc/serial.c: Likewise.
20365 * po/POTFILES: Add new files.
20366
da8d5c53
CW
203672010-01-02 Colin Watson <cjwatson@ubuntu.com>
20368
20369 * term/i386/pc/at_keyboard.c
20370 (keyboard_controller_wait_untill_ready): Rename to ...
20371 (keyboard_controller_wait_until_ready): ... this. Update all users.
20372
33937904 203732010-01-01 Carles Pina i Estany <carles@pina.cat>
20374
20375 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
20376 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
20377 string using string width.
20378 * normal/menu_text.c (grub_print_message_indented): Use
20379 grub_print_spaces and not print_spaces.
20380 (print_timeout): Likewise.
20381 (print_spaces): Move to...
20382 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
20383
3fd3b8d8
RM
203842010-01-01 Robert Millan <rmh.grub@aybabtu.com>
20385
20386 Import from Gnulib.
20387
20388 * gnulib/getdelim.c: New file.
20389 * gnulib/getline.c: Likewise.
20390
33433555
VS
203912009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
20392
20393 * include/grub/list.h (grub_assert_fail): Removed.
20394 (grub_bad_type_cast_real): New function.
20395 (grub_bad_type_cast): New macro.
20396 (GRUB_AS_LIST): Use grub_bad_type_cast.
20397 (GRUB_AS_LIST_P): Likewise.
e44721e8 20398 (GRUB_AS_NAMED_LIST): Likewise.
33433555 20399 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 20400 (GRUB_AS_PRIO_LIST): Likewise.
33433555 20401 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 20402 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 20403
f5a51306
VS
204042009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
20405
20406 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
20407 Fix syntax error.
20408
90d1e879
RM
204092009-12-29 Robert Millan <rmh.grub@aybabtu.com>
20410
20411 * configure.ac: Check for TARGET_CFLAGS initialization before we
20412 initialize it ourselves (sigh).
20413 Move a few modifications to TARGET_CFLAGS to be unconditional
20414 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
20415 eh_frame)
20416
20417 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
20418 * term/i386/pc/at_keyboard.c
20419 (keyboard_controller_wait_untill_ready): Likewise.
20420 (keyboard_controller_led): Rename `led_status' paramter to avoid
20421 name conflict.
20422
465b5a81 204232009-12-28 Carles Pina i Estany <carles@pina.cat>
20424
20425 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
20426 quotes.
20427
c181849b
VS
204282009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20429
20430 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
20431
9c8739a4
VS
204322009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20433
20434 * normal/menu_text.c (grub_print_message_indented): Prevent
20435 past-the-end-of-array dereference.
20436
3e74249c
VS
204372009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20438
20439 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
20440 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
20441
64fd18ed 204422009-12-27 Carles Pina i Estany <carles@pina.cat>
20443
20444 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
20445 * normal/main.c (grub_normal_read_line): Remove a space from the
20446 default prompt.
20447
714af9b9 204482009-12-27 Carles Pina i Estany <carles@pina.cat>
20449
20450 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
20451 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20452 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
20453 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
20454 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20455 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20456 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20457
82f3e412 204582009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 20459
20460 * video/readers/jpeg.c (cmd): Declare.
20461 (grub_cmd_jpegtest): Use `grub_command_t' type.
20462 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20463 Assign to `cmd'.
20464 (GRUB_MOD_FINI): Use `cmd' to unregister.
20465 * video/readers/png.c (cmd): Declare.
20466 (grub_cmd_pngtest): Use `grub_command_t' type.
20467 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20468 Assign to `cmd'.
20469 (GRUB_MOD_FINI): Use `cmd' to unregister.
20470 * video/readers/tga.c (cmd): Declare.
20471 (grub_cmd_tgatest): Use `grub_command_t' type.
20472 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
20473 Assign to `cmd'.
20474 (GRUB_MOD_FINI): Use `cmd' to unregister.
20475
82f3e412 204762009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 20477
20478 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
20479 stops.
20480 * kern/corecmd.c (grub_register_core_commands): Likewise.
20481 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
20482 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
20483 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
20484 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20485 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
20486 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
20487 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
20488 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
20489 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20490 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
20491 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20492 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20493 * normal/handler.c (insert_handler): Likewise.
20494 * normal/main.c (GRUB_MOD_INIT): Likewise.
20495 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20496
fdcdbb66 204972009-12-26 Carles Pina i Estany <carles@pina.cat>
20498
20499 * commands/help.c (grub_cmd_help): Print the command name before the
20500 summary.
20501 (GRUB_MOD_INIT): Remove command name from the summary.
20502 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 20503 string as summary.
fdcdbb66 20504 * lib/arg.c (find_long): Print the command name before the summary.
20505 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
20506 summary.
20507 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
20508 * commands/cat.c (GRUB_MOD_INIT): Likewise.
20509 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
20510 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
20511 * commands/crc.c (GRUB_MOD_INIT): Likewise.
20512 * commands/date.c (GRUB_MOD_INIT): Likewise.
20513 * commands/echo.c (GRUB_MOD_INIT): Likewise.
20514 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
20515 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20516 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20517 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
20518 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
20519 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
20520 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
20521 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20522 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
20523 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
20524 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
20525 * commands/ls.c (GRUB_MOD_INIT): Likewise.
20526 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20527 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20528 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20529 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
20530 * commands/password.c (GRUB_MOD_INIT): Likewise.
20531 * commands/probe.c (GRUB_MOD_INIT): Likewise.
20532 * commands/read.c (GRUB_MOD_INIT): Likewise.
20533 * commands/search.c (GRUB_MOD_INIT): Likewise.
20534 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
20535 * commands/test.c (GRUB_MOD_INIT): Likewise.
20536 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
20537 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20538 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20539 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
20540 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20541 * lib/arg.c (GRUB_MOD_INIT): Likewise.
20542 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
20543 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
20544 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20545 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20546 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20547 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
20548 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
20549 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
20550
9c288be2
VS
205512009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20552
20553 Use search command for preliminar UUID search.
20554
20555 * commands/search.c: Split into ...
20556 * commands/search_wrap.c: ...this
20557 * commands/search.c: ...and this.
20558 * commands/search_file.c: New file.
20559 * commands/search_label.c: New file.
20560 * commands/search_uuid.c: New file.
20561 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
20562 Add commands/search_wrap.c, commands/search_file.c,
20563 commands/search_label.c and commands/search_uuid.c.
20564 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
20565 (search_mod_SOURCES): Set to commands/search_wrap.c.
20566 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
20567 search_label.mod.
20568 (search_fs_file_mod_SOURCES): New variable.
20569 (search_fs_file_mod_CFLAGS): Likewise.
20570 (search_fs_file_mod_LDFLAGS): Likewise.
20571 (search_label_mod_SOURCES): Likewise.
20572 (search_label_mod_CFLAGS): Likewise.
20573 (search_label_mod_LDFLAGS): Likewise.
20574 (search_fs_uuid_mod_SOURCES): New variable.
20575 (search_fs_uuid_mod_CFLAGS): Likewise.
20576 (search_fs_uuid_mod_LDFLAGS): Likewise.
20577 (fs_file_mod_SOURCES): Removed.
20578 (fs_file_mod_CFLAGS): Likewise.
20579 (fs_file_mod_LDFLAGS): Likewise.
20580 (fs_uuid_mod_SOURCES): Removed.
20581 (fs_uuid_mod_CFLAGS): Likewise.
20582 (fs_uuid_mod_LDFLAGS): Likewise.
20583 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
20584 Set to util/grub-install.in.
20585 * disk/fs_file.c: Removed.
20586 * disk/fs_uuid.c: Likewise.
20587 * include/grub/search.h: New file.
20588 * util/grub-install.in: Handle sparc64.
20589 Create and use load.cfg.
20590 * util/sparc64/ieee1275/grub-install.in: Removed.
20591
db943399
VS
205922009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20593
20594 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
20595 Ignore return status if CF is cleared.
20596 (grub_biosdisk_get_diskinfo_standard): Likewise.
20597
3fdae612
RM
205982009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20599
20600 * term/i386/pc/at_keyboard.c
20601 (keyboard_controller_wait_untill_ready): New function.
20602 (grub_keyboard_controller_write, grub_keyboard_controller_read)
20603 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
20604 for keyboard polling, rather than duplicate the same loop. This
20605 saves a few bytes in code size.
20606
7ebaa2b4
VS
206072009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20608
20609 Support for (pxe[:server[:gateway]]) syntax and
20610 use environment variable for PXE.
20611
20612 * commands/i386/pc/pxecmd.c (options): Removed.
20613 (print_ip): Removed.
20614 (grub_cmd_pxe): Removed
20615 (grub_cmd_pxe_unload): New function.
20616 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
20617 (grub_pxe_your_ip): Made static.
20618 (grub_pxe_default_server_ip): Likewise.
20619 (grub_pxe_default_gateway_ip): Likewise.
20620 (grub_pxe_blksize): Likewise.
20621 (parse_ip): New function.
20622 (grub_pxe_open): Support server and gateway specification.
20623 (grub_pxe_close): Free disk->data.
20624 (grub_pxefs_open): Use disk->data.
20625 (grub_pxefs_read): Likewise.
20626 (grub_env_write_readonly): New function.
20627 (set_mac_env): Likewise.
20628 (set_env_limn_ro): Likewise.
20629 (parse_dhcp_vendor): Likewise.
20630 (grub_pxe_detect): Set the environment variables.
20631 (set_ip_env): New function.
20632 (write_ip_env): Likewise.
20633 (grub_env_write_pxe_default_server): Likewise.
20634 (grub_env_write_pxe_default_gateway): Likewise.
20635 (grub_env_write_pxe_blocksize): Likewise.
20636 (GRUB_MOD_INIT(pxe)): Set environment variables.
20637 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
20638 (grub_pxe_mac_addr_t): ... this. All users updated.
20639 (grub_pxe_your_ip): Removed.
20640 (grub_pxe_server_ip): Likewise.
20641 (grub_pxe_gateway_ip): Likewise.
20642 (grub_pxe_blksize): Likewise.
20643
ec5f98ab 206442009-12-25 Carles Pina i Estany <carles@pina.cat>
20645
20646 * commands/help.c: Include `<grub/i18n.h>'.
20647 (grub_cmd_help): Gettextizze.
20648 (GRUB_MOD_INIT): Likewise.
20649 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
20650 (GRUB_MOD_INIT): Gettextizze.
20651 * commands/search.c: Include `<grub/i18n.h>'.
20652 (options): Gettextizze.
20653 (GRUB_MOD_INIT): Gettextizze.
20654 * lib/arg.c: Include `<grub/i18n.h>'.
20655 (help_options): Gettextizze.
20656 (find_long): Likewise.
20657 (grub_arg_show_help): Likewise.
20658 * normal/dyncmd.c: Include `<grub/i18n.h>'.
20659 (read_command_list): Gettextizze.
20660 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 20661 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 20662
22815526
RM
206632009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20664
20665 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
20666 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
20667 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
20668 (led_status): New variable.
20669 (keyboard_controller_led): New function.
20670 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
20671 update led status for caps lock, num lock and scroll lock.
20672
0ad46fd7
FZ
206732009-12-25 Felix Zielcke <fzielcke@z-51.de>
20674
20675 * util/hostdisk.c (open_device): Fix a comment.
20676
d0e158c2
RM
206772009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20678
20679 * util/grub-install.in (host_os): New variable.
20680 * util/i386/efi/grub-install.in (host_os): Likewise.
20681
401c0ad6
RM
206822009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20683
20684 * util/mkisofs/write.c (padblock_write): Abort when given an
20685 excedingly large embed image, instead of silently truncating it.
20686
d14d3370
RM
206872009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20688
20689 * include/multiboot.h: Indentation fixes.
20690
eeed10b4
RM
206912009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20692
20693 * include/multiboot.h (struct multiboot_aout_symbol_table)
20694 (struct multiboot_elf_section_header_table): New structure
20695 declarations (stolen from GRUB Legacy).
20696 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
20697 table information.
20698
20699 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
20700 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
20701 type aliases.
20702
681c70ab
RM
207032009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20704
20705 * include/multiboot.h: Make comments src2texi-friendly.
20706
e4d47d8d
RM
207072009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20708
20709 For consistency with [multiboot]/docs/boot.S.
20710
20711 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
20712 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
20713 (MULTIBOOT_MAGIC2): Rename from this ...
20714 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
20715
a0b70bda
RM
207162009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20717
20718 * include/multiboot.h: Remove `<grub/types.h>'.
20719 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
20720 types. Update all users.
20721
61ba42be 207222009-12-25 Carles Pina i Estany <carles@pina.cat>
20723
20724 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
20725 `couldn't' and `can not' by `cannot'.
20726 * commands/i386/pc/drivemap.c: Likewise.
20727 * disk/ata.c: Likewise.
20728 * disk/ieee1275/nand.c: Likewise.
20729 * fs/affs.c: Likewise.
20730 * fs/fat.c: Likewise.
20731 * fs/hfs.c: Likewise.
20732 * fs/hfsplus.c: Likewise.
20733 * fs/iso9660.c: Likewise.
20734 * fs/jfs.c: Likewise.
20735 * fs/minix.c: Likewise.
20736 * fs/reiserfs.c: Likewise.
20737 * fs/sfs.c: Likewise.
20738 * fs/udf.c: Likewise.
20739 * fs/ufs.c: Likewise.
20740 * fs/xfs.c: Likewise.
20741 * loader/powerpc/ieee1275/linux.c: Likewise.
20742 * loader/sparc64/ieee1275/linux.c: Likewise.
20743 * util/grub-probe.c: Likewise.
20744 * util/misc.c: Likewise.
20745
7fd0baee 207462009-12-24 Carles Pina i Estany <carles@pina.cat>
20747
20748 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
20749 grub_errno calls.
20750 * commands/acpi.c: Likewise.
20751 * commands/blocklist.c: Likewise.
20752 * commands/efi/loadbios.c: Likewise.
20753 * commands/i386/pc/drivemap.c: Likewise.
20754 * commands/loadenv.c: Likewise.
20755 * commands/memrw.c: Likewise.
20756 * commands/password.c: Likewise.
20757 * commands/videotest.c: Likewise.
20758 * disk/ata.c: Likewise.
20759 * disk/ata_pthru.c: Likewise.
20760 * disk/dmraid_nvidia.c: Likewise.
20761 * disk/ieee1275/nand.c: Likewise.
20762 * disk/ieee1275/ofdisk.c: Likewise.
20763 * disk/loopback.c: Likewise.
20764 * disk/lvm.c: Likewise.
20765 * disk/mdraid_linux.c: Likewise.
20766 * disk/raid.c: Likewise.
20767 * disk/raid6_recover.c: Likewise.
20768 * disk/scsi.c: Likewise.
20769 * efiemu/main.c: Likewise.
20770 * efiemu/mm.c: Likewise.
20771 * efiemu/pnvram.c: Likewise.
20772 * efiemu/symbols.c: Likewise.
20773 * font/font.c: Likewise.
20774 * fs/cpio.c: Likewise.
20775 * fs/hfsplus.c: Likewise.
20776 * fs/iso9660.c: Likewise.
20777 * fs/jfs.c: Likewise.
20778 * fs/minix.c: Likewise.
20779 * fs/ntfs.c: Likewise.
20780 * fs/ntfscomp.c: Likewise.
20781 * fs/reiserfs.c: Likewise.
20782 * fs/ufs.c: Likewise.
20783 * fs/xfs.c: Likewise.
20784 * gettext/gettext.c: Likewise.
20785 * include/grub/auth.h: Likewise.
20786 * kern/elf.c: Likewise.
20787 * kern/file.c: Likewise.
20788 * kern/ieee1275/init.c: Likewise.
20789 * kern/ieee1275/mmap.c: Likewise.
20790 * kern/ieee1275/openfw.c: Likewise.
20791 * kern/powerpc/dl.c: Likewise.
20792 * kern/sparc64/dl.c: Likewise.
20793 * lib/arg.c: Likewise.
20794 * loader/i386/bsd.c: Likewise.
20795 * loader/i386/bsdXX.c: Likewise.
20796 * loader/i386/efi/linux.c: Likewise.
20797 * loader/i386/efi/xnu.c: Likewise.
20798 * loader/i386/ieee1275/linux.c: Likewise.
20799 * loader/i386/linux.c: Likewise.
20800 * loader/i386/multiboot.c: Likewise.
20801 * loader/i386/pc/linux.c: Likewise.
20802 * loader/i386/pc/multiboot2.c: Likewise.
20803 * loader/i386/xnu.c: Likewise.
20804 * loader/ieee1275/multiboot2.c: Likewise.
20805 * loader/macho.c: Likewise.
20806 * loader/machoXX.c: Likewise.
20807 * loader/multiboot2.c: Likewise.
20808 * loader/multiboot_loader.c: Likewise.
20809 * loader/powerpc/ieee1275/linux.c: Likewise.
20810 * loader/sparc64/ieee1275/linux.c: Likewise.
20811 * loader/xnu.c: Likewise.
20812 * loader/xnu_resume.c: Likewise.
20813 * mmap/i386/pc/mmap.c: Likewise.
20814 * normal/menu_viewer.c: Likewise.
20815 * partmap/acorn.c: Likewise.
20816 * partmap/amiga.c: Likewise.
20817 * partmap/apple.c: Likewise.
20818 * script/lexer.c: Likewise.
20819 * term/gfxterm.c: Likewise.
20820 * term/i386/pc/serial.c: Likewise.
20821 * term/i386/pc/vga.c: Likewise.
20822 * term/ieee1275/ofconsole.c: Likewise.
20823 * term/terminfo.c: Likewise.
20824 * video/bitmap.c: Likewise.
20825 * video/efi_gop.c: Likewise.
20826 * video/efi_uga.c: Likewise.
20827 * video/fb/video_fb.c: Likewise.
20828 * video/i386/pc/vbe.c: Likewise.
20829 * video/readers/tga.c: Likewise.
20830 * video/video.c: Likewise.
20831
0ad46fd7 208322009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
20833
20834 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
20835 * commands/lspci.c: Likewise.
20836 * commands/probe.c: Likewise.
20837 * commands/xnu_uuid.c: Likewise.
20838 * conf/i386-coreboot.rmk: Likewise.
20839 * conf/i386-efi.rmk: Likewise.
20840 * conf/i386-ieee1275.rmk: Likewise.
20841 * conf/i386-pc.rmk: Likewise.
20842 * conf/powerpc-ieee1275.rmk: Likewise.
20843 * conf/sparc64-ieee1275.rmk: Likewise.
20844 * conf/x86_64-efi.rmk: Likewise.
20845 * fs/i386/pc/pxe.c: Likewise.
20846 * gettext/gettext.c: Likewise.
20847 * include/grub/efi/graphics_output.h: Likewise.
20848 * include/grub/i386/pc/memory.h: Likewise.
20849 * kern/env.c: Likewise.
20850 * kern/i386/qemu/startup.S: Likewise.
20851 * lib/i386/pc/biosnum.c: Likewise.
20852 * lib/i386/relocator.c: Likewise.
20853 * lib/i386/relocator_asm.S: Likewise.
20854 * lib/relocator.c: Likewise.
20855 * loader/i386/bsd.c: Likewise.
20856 * loader/i386/multiboot.c: Likewise.
20857 * loader/i386/pc/chainloader.c: Likewise.
20858 * loader/i386/xnu.c: Likewise.
20859 * loader/xnu.c: Likewise.
20860 * normal/main.c: Likewise.
20861 * normal/menu_text.c: Likewise.
20862 * util/getroot.c: Likewise.
20863 * util/grub-mkconfig_lib.in: Likewise.
20864 * util/grub.d/00_header.in: Likewise.
20865 * util/i386/pc/grub-mkimage.c: Likewise.
20866 * util/mkisofs/eltorito.c: Likewise.
20867 * util/mkisofs/exclude.h: Likewise.
20868 * util/mkisofs/hash.c: Likewise.
20869 * util/mkisofs/iso9660.h: Likewise.
20870 * util/mkisofs/joliet.c: Likewise.
20871 * util/mkisofs/mkisofs.c: Likewise.
20872 * util/mkisofs/mkisofs.h: Likewise.
20873 * util/mkisofs/multi.c: Likewise.
20874 * util/mkisofs/name.c: Likewise.
20875 * util/mkisofs/rock.c: Likewise.
20876 * util/mkisofs/tree.c: Likewise.
20877 * util/mkisofs/write.c: Likewise.
20878 * video/efi_gop.c: Likewise.
20879
009ec743
VS
208802009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
20881
20882 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
20883 size counting.
20884
0ad46fd7 208852009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
20886
20887 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
20888 * genmk.rb (class SCRIPT): Modify the target file instead of source.
20889
d3d30ea0
VS
208902009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20891
20892 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
20893 (GRUB_MOD_INIT(memrw)): Update help line.
20894
a34f5c70
VS
208952009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20896
20897 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
20898 Use grub_extcmd_t. All users updated.
20899 (options): New variable.
20900 (grub_cmd_read): Restructure for readability. Support "-v" option.
20901 (grub_cmd_write): Restructure for readability.
20902
0ad46fd7 209032009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
20904
20905 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
20906
0ad46fd7 209072009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
20908
20909 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
20910 with the actual contents of the correspondending make variable.
20911 * util/grub-mkrescue.in (pkglib_DATA): New variable.
20912 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
20913 specifying `*.lst' and `efiemu??.o'
20914
0ad46fd7 209152009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
20916
20917 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
20918 after function name.
20919 Noticed by Rene Engelhard <rene@debian.org>.
20920
dc77a799
VS
209212009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20922
20923 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
20924 (options): New variable.
20925 (iospace): Likewise.
20926 (grub_lspci_iter): List IO spaces if "-i" was given.
20927 (grub_cmd_lspci): Parse options.
20928 (GRUB_MOD_INIT(lspci)): Use extcmd.
20929 (GRUB_MOD_FINI(lspci)): Likewise.
20930
0ad46fd7 209312009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
20932
20933 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
20934 `function' keyword.
20935 Patch by Tony Mancill <tmancill@debian.org>.
20936
b5d5993b
VS
209372009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20938
20939 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
20940 (grub_uhci_portstatus): Likewise.
20941 (grub_uhci_portstatus): Add necessary delay.
11d18281 20942 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 20943
941903f2 209442009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 20945
941903f2 20946 * commands/acpi.c (options): Fix capitalizations and/or full stops.
20947 (GRUB_MOD_INIT): Likewise.
20948 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 20949 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
20950 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 20951 * commands/efi/loadbios.c (enable_rom_area): Likewise.
20952 (enable_rom_area): Likewise.
20953 (GRUB_MOD_INIT): Likewise.
20954 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20955 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
20956 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20957 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
20958 * commands/hexdump.c (options): Likewise.
20959 * commands/i386/cpuid.c (options): Likewise.
20960 (GRUB_MOD_INIT): Likewise.
20961 * commands/i386/pc/drivemap.c (options): Likewise.
20962 (GRUB_MOD_INIT): Likewise.
20963 * commands/i386/pc/halt (options): Likewise.
20964 (GRUB_MOD_INIT): Likewise.
20965 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20966 * commands/i386/pc/pxecmd.c (options): Likewise.
20967 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
20968 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
20969 * commands/keystatus.c (options): Likewise.
20970 (GRUB_MOD_INIT): Likewise.
20971 * commands/loadenv.c (options): Likewise.
20972 * commands/ls.c (options): Likewise.
20973 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20974 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20975 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20976 * commands/parttool.c (helpmsg): Likewise.
20977 * commands/probe.c (options): Likewise.
20978 * commands/read.c (GRUB_MOD_INIT): Likewise.
20979 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
20980 * commands/search.c (options): Likewise.
20981 * commands/sleep.c (options): Likewise.
20982 * commands/test.c (GRUB_MOD_INIT): Likewise.
20983 * commands/true.c (GRUB_MOD_INIT): Likewise.
20984 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
20985 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
20986 * lib/arg.c (help_options): Likewise.
e9bbb4e7 20987 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
20988 `$(XGETTEXT)'.
98a50553 20989 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 20990
0ad46fd7 209912009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 20992
ef3c2c3a 20993 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
20994 instead of specifying them explicit.
20995
7922f68b
RM
209962009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20997
20998 * NEWS: Add grub-probe support for GNU/Hurd.
20999
537ce47f
RM
210002009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21001
21002 * NEWS: gettext was added after 1.97.
21003
9b214e3a
RM
210042009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21005
21006 * util/mkisofs/msdos_partition.h: New file (based on
21007 include/grub/msdos_partition.h).
21008 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
21009 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
21010 (ld_options, main): Recognize --protective-msdos-label.
21011 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
21012 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
21013 (padblock_write): If `use_protective_msdos_label' is set, patch a
21014 protective DOS-style label in the output image.
21015
21016 * util/grub-mkrescue.in: Use --protective-msdos-label.
21017
e9309813
RM
210182009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21019
21020 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
21021 boot.
21022
0ae56929
RM
210232009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21024
21025 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
21026 variables.
21027 (ld_options, main): Recognize `--embedded-boot'.
21028 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
21029 declarations.
21030 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
21031 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
21032 (padblock_write): Likewise. Rewrite to support embedded boot image.
21033
21034 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
21035 for BIOS-based disk boot instead of only ElTorito.
21036
b15937b1
RM
210372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21038
21039 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
21040 build (not needed for bootstrap).
21041
52cc3ce0
RM
210422009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21043
21044 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
21045 from i386-pc build (not needed for bootstrap).
21046 Rewrite a pair of strings.
21047
36f5ff04
RM
210482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21049
21050 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
21051
973c6c85 210522009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
21053
21054 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
21055
05d21547
AB
210562009-12-21 Andreas Born <futur.andy@googlemail.com>
21057
21058 * kern/env.c (grub_env_context_open): Mark exported variable for
21059 reexport.
21060
0175d51f
AB
210612009-12-21 Andreas Born <futur.andy@googlemail.com>
21062
21063 * kern/env.c (grub_env_export): Create nonexistent variables before
21064 exporting.
21065
7f39d92f 210662009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 21067
7f39d92f 21068 * include/grub/auth.h: Include `<grub/i18n.h>'.
21069 (GRUB_GET_PASSWORD): Gettextizze string.
21070 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
21071 menu_text.c.
21072 (grub_utf8_to_ucs4_alloc): Fix indentation.
21073 (grub_print_ucs4): Likewise.
21074 (grub_getstringwidth): Likewise.
21075 (print_message_indented): New declaration.
21076 * normal/auth.c: Include `<grub/i18n.h>'.
21077 (grub_auth_check_authentication): Gettexttize string.
21078 * normal/cmdline.c: Include `<grub/i18n.h>'.
21079 (grub_cmdline_get): Gettextizze.
21080 * normal/color.c: Include `<grub/i18n.h>'.
21081 (grub_parse_color_name_pair): Gettexttize strings.
21082 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
21083 string (use `print_message_indented').
21084 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
21085 `include/grub/normal.h'.
21086 (print_message_indented): Renamed to ...
21087 (grub_print_message_indented): ... this. Remove `static' qualifer (now
21088 used in normal/main.c).
21089 (print_message): Use `grub_print_message_indented' instead of
21090 `print_message_indented'.
21091 (print_timeout): Likewise.
21092 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
21093 (grub_normal_print_device_info): Gettexttize strings.
21094 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
21095
3041d898
VS
210962009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21097
21098 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
21099 of arguments. Return number of tokens and not arguments. All users
21100 updated.
21101
de15bf8e
VS
211022009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21103
21104 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
21105 non-MSDOS paritions.
21106
e0a6ca52
VS
211072009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21108
21109 * include/grub/types.h (UNUSED): Removed since it conflicts with
21110 NetBSD headers. All users changed to direct __attribute__ ((unused)).
21111 Reported by Grégoire Sutre.
21112
b99518d1 211132009-12-19 Carles Pina i Estany <carles@pina.cat>
21114
21115 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
21116 (grub_print_ucs4_alloc): Likewise.
21117 (grub_getstringwidth): Likewise.
21118 * normal/main.c (grub_normal_init_page): Gettextize version string.
21119 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
21120 (getstringwidth): Renamed to ...
21121 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
21122 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
21123 (grub_print_ucs4): Remove `static' qualifer (now used in
21124 normal/main.c).
21125 * po/POTFILES: Add normal/main.c.
21126
bfd5e52b 211272009-12-19 Carles Pina i Estany <carles@pina.cat>
21128
21129 * normal/menu_text.c (STANDARD_MARGIN): New macro.
21130 (print_message_indented): Add `margin_left' and `margin_right'
21131 parameters.
21132 (print_message): Update `print_message_indented' calls. Adds '\n' to the
21133 strings.
21134 (print_timeout): Use `print_message_indented' to print the message.
21135 Deletes `second_stage' parameter.
21136 (run_menu): Update `print_timeout' calls.
21137
5a1ad2b9
VS
211382009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21139
21140 Fix console palette on OpenFirmware.
21141
21142 * term/ieee1275/ofconsole.c (MAX): Removed.
21143 (colors): Redone based on VGA palette.
21144 (grub_ofconsole_setcolor): Discard brightness bit since only 8
21145 colors are supported.
21146 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
21147
b045f00a
VS
211482009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21149
21150 Fix potential EfiEmu double prepare.
21151
21152 * efiemu/main.c (prepared): New variable
21153 (grub_efiemu_unload): Set prepare to '0'.
21154 (grub_efiemu_prepare): Return if already prepared. Set prepared.
21155
21156 set_virtual_address_map support.
21157
21158 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
21159 prototype.
21160 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
21161 prototype.
21162 (grub_efiemu_crc32): Likewise.
21163 (grub_efiemu_crc64): Likewise.
21164 (grub_efiemu_set_virtual_address_map): Likewise.
21165 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
21166 New definition.
21167 (grub_autoefi_set_virtual_address_map): Likewise.
21168 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
21169 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
21170 Restructure flow to accomodate it.
21171 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
21172 (grub_efiemu_crc): Recompute CRC32.
21173 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
21174 (efiemu_ptv_relocated): ... this. Made global. All users updated.
21175 * efiemu/symbols.c (relocated_handle): New variable.
21176 (grub_efiemu_free_syms): Free relocated_handle.
21177 (grub_efiemu_alloc_syms): Allocate relocated_handle.
21178 (grub_efiemu_write_sym_markers): New function.
21179 (grub_efiemu_set_virtual_address_map): Likewise.
21180
21181 Newer XNU parameters.
21182
21183 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
21184 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
21185 (grub_xnu_fill_devicetree): New prototype.
21186 (grub_xnu_heap_real_start): New variable.
21187 * loader/xnu.c (get_name_ptr): New function.
21188 (grub_xnu_load_driver): Fill namelen and name.
21189
21190 64-bit xnu support.
21191
21192 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
21193 and 'loader/macho64.c'.
21194 * conf/i386-pc.rmk: Likewise.
21195 * conf/x86_64-efi.rmk: Likewise.
21196 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
21197 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
21198 * include/grub/macho.h (grub_macho_segment64): New structure.
21199 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
21200 (grub_macho_size32): ... to this.
21201 (grub_macho32_get_entry_point): Renamed from ...
21202 (grub_macho_get_entry_point32): ... to this.
21203 (grub_macho_contains_macho64): New prototype.
21204 (grub_macho_size64): Likewise.
21205 (grub_macho_get_entry_point64): Likewise.
21206 (grub_macho32_load): Renamed from ...
21207 (grub_macho_load32): ... to this.
21208 (grub_macho32_filesize): Renamed from ...
21209 (grub_macho_filesize32): ... to this.
21210 (grub_macho32_readfile): Renamed from ...
21211 (grub_macho_readfile32): ... to this.
21212 (grub_macho_filesize64): New prototype.
21213 (grub_macho_readfile64): Likewise.
21214 (grub_macho_parse32): Likewise.
21215 (grub_macho_parse64): Likewise.
21216 * loader/macho.c: Split into ...
21217 * loader/machoXX.c: ... and this. Replace 32 with XX.
21218 * loader/macho32.c: New file.
21219 * loader/macho64.c: Likewise.
21220 * loader/xnu.c (grub_xnu_is_64bit): New variable.
21221 (grub_cmd_xnu_kernel): Make 32-bit only.
21222 (grub_cmd_xnu_kernel64): New function.
21223 (grub_xnu_load_driver): Support Mach-O 64.
21224 (grub_cmd_xnu_mkext): Likewise.
21225 * util/grub.d/30_os-prober.in (osx_entry): New function.
21226 Generate entries for 64-bit boot too.
21227
21228 Eliminate ad-hoc tree format in XNU and EfiEmu.
21229
21230 * efiemu/main.c (grub_efiemu_prepare): Update comment.
21231 * efiemu/pnvram.c: Rewritten to use environment variables.
21232 All users updated.
21233
21234 Inline utf16_to_utf8.
21235
21236 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
21237 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
21238 All users updated.
21239 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
21240
21241 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
21242 * commands/usbtest.c (grub_usb_get_string): ... move here.
21243 (usb_print_str): Fix error handling.
21244 * include/grub/usb.h (grub_usb_get_string): Remove.
21245
21246 UTF-8 to UTF-16 transformation.
21247
21248 * conf/common.rmk (pkglib_MODULES): Add charset.mod
21249 (charset_mod_SOURCES): New variable.
21250 (charset_mod_CFLAGS): Likewise.
21251 (charset_mod_LDFLAGS): Likewise.
21252 * include/grub/utf.h: New file.
21253 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
21254
21255 Support for device properties.
21256
21257 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
21258 (grub_xnu_devprop_device_header): Likewise.
21259 (grub_xnu_devprop_device_descriptor): Likewise.
21260 (grub_xnu_devprop_add_device): New prototype.
21261 (grub_xnu_devprop_remove_device): Likewise.
21262 (grub_xnu_devprop_remove_property): Likewise.
21263 (grub_xnu_devprop_add_property_utf8): Likewise.
21264 (grub_xnu_devprop_add_property_utf16): Likewise.
21265 (grub_cpu_xnu_init): Likewise.
21266 (grub_cpu_xnu_fini): Likewise.
21267 (grub_cpu_xnu_unload): Likewise.
21268 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
21269 (property_descriptor): Likewise.
21270 (devices): New variable.
21271 (grub_xnu_devprop_remove_property): New function.
21272 (grub_xnu_devprop_add_device): Likewise.
21273 (grub_xnu_devprop_remove_device): Likewise.
21274 (grub_xnu_devprop_add_property): Likewise.
21275 (grub_xnu_devprop_add_property_utf8): Likewise.
21276 (grub_xnu_devprop_add_property_utf16): Likewise.
21277 (hextoval): Likewise.
21278 (grub_cpu_xnu_fill_devprop): Likewise.
21279 (grub_cmd_devprop_load): Likewise.
21280 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
21281 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
21282 (cmd_devprop_load): New variable.
21283 (grub_cpu_xnu_init): New function.
21284 (grub_cpu_xnu_fini): Likewise.
21285 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
21286 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
21287 (grub_cmd_xnu_devtree): Likewise.
21288 (hextoval): New function.
21289 (unescape): Likewise.
21290 (grub_xnu_fill_devicetree): Likewise.
21291
21292 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
21293 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
21294
0945f181
VS
212952009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21296
21297 Workaround for broken ATI VBE.
21298
21299 * video/i386/pc/vbe.c (last_set_mode): New variable.
21300 (grub_vbe_set_video_mode): Set 'last_set_mode'.
21301 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
21302 (grub_video_vbe_setup): Don't check for reserved flag.
21303
0ad46fd7 213042009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
21305
21306 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
21307 the `find' command.
21308
c179ebe4
VS
213092009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
21310
21311 UUID support for HFS.
21312
21313 * fs/hfs.c (grub_hfs_uuid): New function.
21314 (grub_hfs_fs): New value .uuid.
21315 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
21316
0ad46fd7 213172009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
21318
21319 Fix a segfault with parsing unknown long options.
21320
21321 * util/grub-mkrelpath.c (options): Zero terminate it.
21322
c4a3e41a
CPE
213232009-12-13 Carles Pina i Estany <carles@pina.cat>
21324
21325 * include/grub/misc.h (grub_puts): New declaration.
21326 (grub_puts_): Likewise.
a22008a6 21327 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
21328 (grub_puts_): Likewise.
21329
2e8a7602
RM
213302009-12-13 Robert Millan <rmh.grub@aybabtu.com>
21331
21332 * util/grub-probe.c (probe): Improve error message.
21333
b50b77b9
RM
213342009-12-13 Robert Millan <rmh.grub@aybabtu.com>
21335
21336 * loader/i386/multiboot_elfxx.c
21337 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
21338 initialization.
21339
213402009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
21341
21342 Relocator framework
21343
21344 * loader/i386/xnu_helper.S: Removed. All users updated.
21345 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
21346 (relocator_mod_SOURCES): New variable.
21347 (relocator_mod_CFLAGS): Likewise.
21348 (relocator_mod_LDFLAGS): Likewise.
21349 (relocator_mod_ASFLAGS): Likewise.
21350 * conf/x86_64.rmk: Likewise.
21351 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
21352 (grub_multiboot_payload_entry_offset): Likewise.
21353 (grub_multiboot_forward_relocator): Likewise.
21354 (grub_multiboot_forward_relocator_end): Likewise.
21355 (grub_multiboot_backward_relocator): Likewise.
21356 (grub_multiboot_backward_relocator_end): Likewise.
21357 (grub_multiboot_payload_eip): New variable.
21358 (grub_multiboot_payload_orig): Likewise.
21359 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
21360 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
21361 * include/grub/i386/memory.h
21362 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
21363 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
21364 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
21365 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
21366 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
21367 * include/grub/i386/relocator.h: New file.
21368 * include/grub/x86_64/relocator.h: Likewise.
21369 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
21370 (XNU_RELOCATOR): New macro.
21371 (grub_xnu_launcher_start): Remove.
21372 (grub_xnu_launcher_end): Likewise.
21373 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
21374 (grub_xnu_heap_real_start): Remove.
21375 (grub_xnu_heap_start): Change to void *. All users updated.
21376 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
21377 * lib/i386/relocator.c: New file.
21378 * lib/i386/relocator_asm.S: Likewise.
21379 * lib/i386/relocator_backward.S: Likewise.
21380 * lib/mips/relocator.c: Likewise.
21381 * lib/mips/relocator_asm.S: Likewise.
21382 * lib/relocator.c: Likewise.
21383 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
21384 (entry): Removed.
21385 (playground): Likewise.
21386 (grub_multiboot_payload_orig): New variable.
21387 (grub_multiboot_payload_dest): Likewise.
21388 (grub_multiboot_payload_size): Likewise.
21389 (grub_multiboot_payload_eip): Likewise.
21390 (grub_multiboot_payload_esp): Likewise.
21391 (grub_multiboot_boot): Use grub_relocator32_boot.
21392 (grub_multiboot_unload): Free relocators.
21393 (grub_multiboot): Setup stack. Use relocators.
21394 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
21395 (grub_multiboot_load_elfXX): Use relocators.
21396 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
21397 (grub_multiboot_payload_size): Likewise.
21398 (grub_multiboot_payload_dest): Likewise.
21399 (grub_multiboot_payload_entry_offset): Likewise.
21400 (grub_multiboot_forward_relocator): Likewise.
21401 (grub_multiboot_backward_relocator): Likewise.
21402 (grub_multiboot_real_boot): Likewise.
21403 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
21404 (grub_xnu_entry_point): Likewise.
21405 (grub_xnu_arg1): Likewise.
21406 (grub_xnu_stack): Likewise.
21407 (grub_xnu_launch): Removed.
21408 (grub_xnu_boot_resume): New function.
21409 (grub_xnu_boot): Use relocators.
21410 * loader/i386/xnu_helper.S: Removed.
21411 * loader/xnu.c (grub_xnu_heap_start): New variable.
21412 (grub_xnu_heap_size): Likewise.
21413 (grub_xnu_heap_malloc): Use relocators.
21414 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
21415
29eb90c6
VS
214162009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
21417
21418 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
21419 anything.
21420
31027430
CPE
214212009-12-13 Carles Pina i Estany <carles@pina.cat>
21422
21423 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
21424 GRUB_ERR_NONE before calling grub_env_set.
21425
dc0c71d9
RM
214262009-12-12 Robert Millan <rmh@aybabtu.com>
21427
21428 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
21429 * genmk.rb (video): New variable.
21430 (CLEANFILES, VIDEOFILES): Add #{video}.
21431 (#{video}): New target rule.
21432 * genvideolist.sh: New file.
21433 * Makefile.in (pkglib_DATA): Add video.lst.
21434 (video.lst): New target rule.
21435 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
21436 `video.lst'.
21437 * util/grub.d/30_os-prober.in: Replace `vbe' with
21438 ${GRUB_VIDEO_BACKEND}.
21439
2a4bfcf0
RM
214402009-12-11 Robert Millan <rmh.grub@aybabtu.com>
21441
21442 * THANKS: Add David Miller.
21443
2a3aa4d5
RM
214442009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
21445
21446 libpciaccess support.
21447
21448 * Makefile.in (LIBPCIACCESS): New variable.
21449 (enable_grub_emu_pci): Likewise.
21450 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
21451 util/pci.c and commands/lspci.c.
21452 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
21453 * configure.ac (grub-emu-pci): New option.
21454 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
21455 (grub_pci_device_unmap_range): Likewise.
21456 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
21457 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
21458 (grub_pci_address_t) [!GRUB_UTIL]: New type.
21459 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
21460 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
21461 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
21462 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
21463 * include/grub/pciutils.h: New file.
21464 * util/pci.c: Likewise.
21465
0ad46fd7 214662009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
21467
21468 * util/misc.c: Don't include <errno.h> twice.
21469
0ad46fd7 214702009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
21471
21472 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
21473 name in an error message.
21474 (grub_biosdisk_rw): Likewise.
21475
2e59983c
VS
214762009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21477
21478 Eliminate NTFS 4Gib barrier.
21479
21480 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
21481 (read_run_data): Likewise.
21482 (grub_ntfs_read_run_list): Likewise.
21483 (grub_ntfs_read_block): Likewise.
21484 (grub_ntfs_iterate_dir): Likewise.
21485 (read_mft): Likewise.
21486 (read_data): Likewise.
21487 Use COM_LOG_LEN.
21488 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
21489 to avoid 64-bit division
21490 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
21491 (grub_ntfs_rlst): Use grub_disk_addr_t.
21492
71ee178a
VS
214932009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21494
21495 Eliminate grub-fstest 4Gib barrier.
21496
21497 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
21498 (read_file): Fix error reporting.
21499
2520d4b8
VS
215002009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21501
21502 Eliminate hexdump 4Gib barrier.
21503
21504 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
21505 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
21506
e1f27065
VS
215072009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
21508
21509 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
21510 Fixes amarsh bug.
21511
1a0f7f45
RM
215122009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
21513
21514 Remove miscellaneous files in distclean target.
21515
21516 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
21517
c631d9fb
CW
215182009-12-09 Colin Watson <cjwatson@ubuntu.com>
21519
21520 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
21521 if they're already set. This resolves the conflict between my
21522 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
21523 fixing the --grub-probe option again.
21524 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
21525 change on 2009-10-06, so that we now once again source
21526 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
21527
7c7b6106
RM
215282009-12-08 Robert Millan <rmh.grub@aybabtu.com>
21529
21530 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
21531 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
21532 `util/devicemap.c'.
21533
e3069ec1
CPE
215342009-12-08 Carles Pina i Estany <carles@pina.cat>
21535
21536 * include/grub/misc.h (grub_printf_): New declaration.
21537 * kern/misc.c (grub_printf_): New definition.
21538 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
21539 instead of `grub_printf' and `_'.
21540 * normal/menu_entry.c (store_completion): Likewise.
21541 (run): Likewise.
21542 (grub_menu_entry_run): Likewise.
21543 * normal/menu_text.c (grub_wait_after_message): Likewise.
21544 (notify_booting): Likewise.
21545 (notify_fallback): Likewise.
21546 (notify_execution_failure): Likewise.
21547
d6ceebf1
CW
215482009-12-07 Colin Watson <cjwatson@ubuntu.com>
21549
21550 * configure.ac: Check for vasprintf.
21551 * util/misc.c (asprintf): Move allocation from here ...
21552 (vasprintf): ... to here. New function.
21553 (xasprintf): New function.
21554 * include/grub/util/misc.h (vasprintf, xasprintf): Add
21555 prototypes.
21556 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21557 * util/grub-mkfont.c (write_font): Likewise.
21558 * util/grub-probe.c (probe): Likewise.
21559 * util/hostdisk.c (make_device_name): Likewise.
21560
de6daa8b
DM
215612009-12-06 David S. Miller <davem@sunset.davemloft.net>
21562
21563 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
21564 anything even prefixed with 'cdrom' as a cdrom.
21565
0ad46fd7 215662009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
21567
21568 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
21569 mount points.
21570
98d3dc02
CPE
215712009-12-05 Carles Pina i Estany <carles@pina.cat>
21572
21573 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
21574 grub_gettext_msg_list.
21575 (grub_gettext_gettranslation_from_position): Return const char *
21576 and not char *.
a2c1332b 21577 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
21578 returns from the list if existing there.
21579 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
21580 (grub_gettext_delete_list): Delete the list.
21581 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
21582 lang environment variable is changed.
21583 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
21584
b283f108
VS
215852009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21586
21587 Rename kernel.mod to kernel.img.
21588
21589 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
21590 (kernel_mod_EXPORTS): Rename to ...
21591 (kernel_img_EXPORTS): ... this.
21592 (kernel_mod_SOURCES): Rename to ...
21593 (kernel_img_SOURCES): ... this.
21594 (kernel_mod_HEADERS): Rename to ...
21595 (kernel_img_HEADERS): ... this. All users updated.
21596 (kernel_mod_CFLAGS): Rename to ...
21597 (kernel_img_CFLAGS): ... this.
21598 (kernel_mod_ASFLAGS): Rename to ...
21599 (kernel_img_ASFLAGS): ... this.
21600 (kernel_mod_LDFLAGS): Rename to ...
21601 (kernel_img_LDFLAGS): ... this.
21602 * conf/x86_64-efi.rmk: Likewise.
21603 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
21604 (read_kernel_image): ... this. All users updated.
21605 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
21606
69055f8a
CPE
216072009-12-05 Carles Pina i Estany <carles@pina.cat>
21608
21609 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
21610 (print_spaces): New function.
21611 (grub_print_ucs4): New function.
21612 (getstringwidth): New function.
21613 (print_message_indented): New function.
21614 (print_message): Gettexttize strings using print_message_indented.
21615 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
21616 width.
21617 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 21618 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
21619 Gettextize.
21620 * normal/menu_entry.c (store_completion): Cleanup the gettextized
21621 string.
21622 (run): Likewise.
21623 (grub_menu_entry_run): Likewise.
21624 * PO/POTFILES: Add normal/menu_entry.c.
21625
f616f51c
VS
216262009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21627
21628 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
21629
57bbe3be
CPE
216302009-12-05 Carles Pina i Estany <carles@pina.cat>
21631
21632 * util/grub-install.in: Install gettext .mo files.
21633 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
21634
013d67a1
CPE
216352009-12-05 Carles Pina i Estany <carles@pina.cat>
21636
21637 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
21638 grub_dprintf.
21639
fb954db0
RM
216402009-12-05 Robert Millan <rmh.grub@aybabtu.com>
21641
21642 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
21643 non-firmware-dependant one in realmode.S takes precedence.
21644
6b8474f8
RM
216452009-12-04 Robert Millan <rmh.grub@aybabtu.com>
21646
21647 * commands/halt.c: Replace misc arch-specific headers with
21648 `<grub/misc.h>'.
21649 * commands/reboot.c: Likewise.
21650 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
21651 `<grub/misc.h>'.
21652 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
21653 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
21654 (kernel_img_SOURCES): ... to here.
21655
21656 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
21657 * include/grub/i386/pc/init.h: Likewise.
21658 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21659 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21660
21661 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
21662
21663 * include/grub/i386/halt.h: Remove.
21664 * include/grub/i386/reboot.h: Likewise.
21665
21666 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
21667
4b2e6ca2
DM
216682009-12-03 David S. Miller <davem@sunset.davemloft.net>
21669
21670 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
21671 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
21672 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
21673 "progname.h"
21674 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21675 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21676 (usage): Add missing comma in printf.
21677
5239348f
RM
216782009-12-02 Robert Millan <rmh.grub@aybabtu.com>
21679
21680 Use the same reboot approach on i386 coreboot and qemu as we do on
21681 BIOS.
21682
21683 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
21684 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
21685 * kern/i386/reboot.c: Remove.
21686 * include/grub/i386/reboot.h (grub_reboot): Export function.
21687 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
21688 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
21689 0xf000:0xfff0 instead of 0xffff:0x0000.
21690 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
21691 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
21692
ef34cbd4
RM
216932009-11-30 Robert Millan <rmh.grub@aybabtu.com>
21694
21695 Fix $srcdir != $objdir build.
21696
21697 * Makefile.in (po/%.po): Rewrite as ...
21698 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
21699
dc9837ea
ST
217002009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
21701
21702 Fix GNU/Hurd grub-install crash.
21703 * util/grub-probe.c (probe): Try to access `path' only when it is not
21704 NULL.
21705
2f857f98
VS
217062009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21707
21708 Correct module naming.
21709
21710 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21711 (GRUB_MOD_INIT(efi_uga)): ... to this
21712 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21713 (GRUB_MOD_FINI(efi_uga)): ... to this
21714 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21715 (GRUB_MOD_INIT(efi_gop)): ... to this
21716 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21717 (GRUB_MOD_FINI(efi_gop)): ... to this
21718
c5448046
RM
217192009-11-28 Robert Millan <rmh.grub@aybabtu.com>
21720
21721 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
21722 translatable.
21723 (usage): Translate `arg' strings using gettext().
21724 Thanks to Jordi Mallach for the suggestion.
21725
c85184ad
VS
217262009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21727
21728 GOP support. Based on patch from Bean
21729 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21730
21731 * video/efi_gop.c: New file.
21732 * include/grub/efi/graphics_output.h: Likewise.
21733 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
21734 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21735 variables.
21736 * conf/x86_64-efi.rmk: Likewise.
21737
8a4c48d8
VS
217382009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21739
21740 Rename efi_fb to efi_uga.
21741
21742 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21743 'efi_uga.mod'.
21744 (efi_fb_mod_SOURCES): Rename this ...
21745 (efi_uga_mod_SOURCES): ... to this.
21746 (efi_fb_mod_CFLAGS): Rename this ...
21747 (efi_uga_mod_CFLAGS): ... to this.
21748 (efi_fb_mod_LDFLAGS): Rename this ...
21749 (efi_uga_mod_LDFLAGS): ... to this.
21750 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21751 'efi_uga.mod'.
21752 (efi_fb_mod_SOURCES): Rename this ...
21753 (efi_uga_mod_SOURCES): ... to this.
21754 (efi_fb_mod_CFLAGS): Rename this ...
21755 (efi_uga_mod_CFLAGS): ... to this.
21756 (efi_fb_mod_LDFLAGS): Rename this ...
21757 (efi_uga_mod_LDFLAGS): ... to this.
21758 * video/efi_fb.c: Move this ...
21759 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
21760
fb6c1a7b
RM
217612009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21762
21763 * po/README: New file. Explain our PO file workflow.
21764
3bc7896c
RM
217652009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21766
21767 * po/ChangeLog: Remove. Move relevant entries back to ...
21768 * ChangeLog: ... here.
21769 * po/ca.po: Remove (now handled by TLP).
21770 * po/id.po: Likewise.
21771 * po/zh_CN.po: Likewise.
21772 * Makefile.in (LINGUAS): Initialize in a way that supports
21773 empty set.
21774
9ed4841d
RM
217752009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21776
21777 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
21778 reliing on po/LINGUAS.
21779 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
21780 (po/%.po): ... this.
21781
0ad46fd7 217822009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
21783
21784 * util/i386/efi/grub-mkimage.c: Include "progname.h".
21785 (main): Use `program_name' instead of nonexistent `progname'.
21786
e30dd392
FZ
217872009-11-26 Felix Zielcke <fzielcke@z-51.de>
21788
21789 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21790 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
21791
7656de4f
RM
217922009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21793
21794 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
21795 commit.
21796 * conf/i386-efi.rmk: Likewise.
21797 * conf/i386-ieee1275.rmk: Likewise.
21798 * conf/powerpc-ieee1275.rmk: Likewise.
21799 * conf/sparc64-ieee1275.rmk: Likewise.
21800 * conf/x86_64-efi.rmk: Likewise.
21801
db77c4d4
FZ
218022009-11-26 Felix Zielcke <fzielcke@z-51.de>
21803
21804 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
21805
a755bb04
FZ
218062009-11-26 Felix Zielcke <fzielcke@z-51.de>
21807
21808 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
21809
8a4c07fd
RM
218102009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21811
21812 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
21813 (grub_mkdevicemap_SOURCES): New variable.
21814 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
21815 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
21816 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
21817 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
21818 (grub_mkdevicemap_SOURCES): Remove.
21819 * conf/i386-efi.rmk: Likewise.
21820 * conf/i386-ieee1275.rmk: Likewise.
21821 * conf/i386-pc.rmk: Likewise.
21822 * conf/powerpc-ieee1275.rmk: Likewise.
21823 * conf/sparc64-ieee1275.rmk: Likewise.
21824 * conf/x86_64-efi.rmk: Likewise.
21825 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
21826 (usage): Fix strings to use `program_name'.
21827 (main): Initialize gettext.
21828 * util/grub-editenv.c: Likewise.
21829 * util/grub-emu.c: Likewise.
21830 * util/grub-fstest.c: Likewise.
21831 * util/grub-mkdevicemap.c: Likewise.
21832 * util/grub-mkfont.c: Likewise.
21833 * util/grub-mkrelpath.c: Likewise.
21834 * util/grub-pe2elf.c: Likewise.
21835 * util/grub-probe.c: Likewise.
21836 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21837 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21838 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21839
21840 * util/misc.c: Include `"progname.h"'.
21841 (progname): Remove variable.
21842 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
21843
6f61ed55
FZ
218442009-11-25 Felix Zielcke <fzielcke@z-51.de>
21845
21846 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
21847 printf and print a newline after the menuentry header line.
21848 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21849
f022876b
FZ
218502009-11-25 Felix Zielcke <fzielcke@z-51.de>
21851
21852 autoconf >= 2.60 support $(localedir).
21853
21854 * INSTALL: Note that autoconf 2.60 is required.
21855 * configure.ac (AC_PREREQ): Bump to 2.60.
21856 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
21857 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21858
6717926e
YB
218592009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
21860
21861 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
21862 aclocal is run.
21863
08806a54
RM
218642009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21865
21866 * normal/main.c (grub_normal_read_line): Fix off-by-one
21867 buffer overflow.
21868
13b33fba
RM
218692009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21870
21871 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
21872 "parser.grub" in grub_command_execute() call.
21873
4a8572e9
CPE
218742009-11-24 Carles Pina i Estany <carles@pina.cat>
21875
21876 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
21877 * conf/i386-efi.rmk: Likewise.
21878 * conf/i386-ieee1275.rmk: Likewise.
21879 * conf/i386-pc.rmk: Likewise.
21880 * conf/powerpc-ieee1275.rmk: Likewise.
21881 * conf/sparc64-ieee1275.rmk: Likewise.
21882 * conf/x86_64-efi.rmk: Likewise.
21883 * gettext/gettex.c: Include <grub/i18n.h>.
21884 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
21885 here ...
21886 * include/grub/i18n.h: ... to here
21887 * include/grub/i18n.h: ... to here.
21888 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 21889 (grub_gettext_dummy): Move above user.
4a8572e9 21890
bee48093
FZ
218912009-11-24 Felix Zielcke <fzielcke@z-51.de>
21892
21893 * util/Makefile.in (install-local): Convert a `for' into a normal
21894 shell expansion.
21895
a031e91c
RM
218962009-11-24 Robert Millan <rmh.grub@aybabtu.com>
21897
21898 * autogen.sh: Add automake call.
21899 * config.guess: Remove.
21900 * config.sub: Likewise.
21901 * install-sh: Likewise.
21902
26bec39d
FZ
219032009-11-24 Felix Zielcke <fzielcke@z-51.de>
21904
21905 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
21906
8e2532fd
FZ
219072009-11-24 Felix Zielcke <fzielcke@z-51.de>
21908
21909 * util/Makefile.in (install-local): Convert a make `$(foreach)'
21910 function to a normal shell `for'.
21911
fefa1b7d
FZ
219122009-11-24 Felix Zielcke <fzielcke@z-51.de>
21913
21914 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21915
4501250b
FZ
219162009-11-24 Felix Zielcke <fzielcke@z-51.de>
21917
21918 * util/grub-mkrelpath.c: New file.
21919 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
21920 (grub_mkrelpath_SOURCES): New variable.
21921 * include/grub/util/misc.h: New function prototype.
21922 * util/misc.c (make_system_path_relative_to_its_root): New function.
21923
21924 * util/grub-mkconfig_lib.in (bindir): New variable.
21925 (grub_mkrelpath): Likewise.
21926 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
21927
21928 * util/probe.c (probe): Make the file path relative to its root.
21929 Change a info message to use the GRUB path. Enable again the
21930 check if we can read the file with GRUB facilities.
21931
21932 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
21933 to its root.
21934
11d9778b
FZ
219352009-11-24 Felix Zielcke <fzielcke@z-51.de>
21936
21937 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
21938 platform.
21939
4465287d
FZ
219402009-11-24 Felix Zielcke <fzielcke@z-51.de>
21941
21942 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
21943 strncmp().
21944
62b47f22
FZ
219452009-11-24 Felix Zielcke <fzielcke@z-51.de>
21946
21947 * util/getroot.c (grub_util_is_dmraid): New function.
21948 (grub_util_get_dev_abstraction): Treat dmraid and multipath
21949 devices as normal ones, not as LVM.
21950
1eafb9b9 219512009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
21952
21953 * conf/common.rmk: Add grub-gettext_lib target and updates
21954 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
21955 LDFLAGS.
21956 * gettext/gettext.c: New file. (Reads mo files).
21957 * include/grub/file.h (grub_file_pread): New prototype.
21958 * include/grub/i18n.h (_): New prototype.
21959 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
21960 prototypes.
21961 * kern/misc.c (grub_gettext_dummy): New function.
21962 * normal/menu_text.c: Include <grub/i18n.h>.
21963 * normal/menu_text.c (print_timeout): Gettexttize string.
21964 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
21965 * po/POTFILES: Add `normal/menu_text.c'.
21966 * po/ca.po: Add new translations.
c3ea6bd4
CPE
21967 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
21968 gettext module and defines locale_dir and lang in grub.cfg.
21969 * NEWS: Add gettext support.
21970
0fdb2568
RM
219712009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21972
21973 * util/hostdisk.c: Include `<grub/i18n.h>'.
21974 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
21975 (make_device_name): Rewrite using asprintf.
21976 (convert_system_partition_to_system_disk): Replace 0 with NULL.
21977 (find_system_device): If a device is not found, generate one just
21978 by reusing the OS path name.
21979 (read_device_map): Make it permissible for device.map not to exist.
21980
f515aa62
RM
219812009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21982
21983 * script/sh/execute.c: Move from here ...
21984 * script/execute.c: ... to here. Update all users.
21985 * script/sh/function.c: Move from here ...
21986 * script/function.c: ... to here. Update all users.
21987 * script/sh/lexer.c: Move from here ...
21988 * script/lexer.c: ... to here. Update all users.
21989 * script/sh/main.c: Move from here ...
21990 * script/main.c: ... to here. Update all users.
21991 * script/sh/parser.y: Move from here ...
21992 * script/parser.y: ... to here. Update all users.
21993 * script/sh/script.c: Move from here ...
21994 * script/script.c: ... to here. Update all users.
21995
f84b481b
RM
219962009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21997
21998 * configure.ac: Detect all `emu' platforms. Define
21999 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
22000 --enable-grub-emu logic. Disable include/grub/machine
22001 symlink on `emu' platforms.
22002
22003 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
22004 * gensymlist.sh.in: Likewise.
22005
22006 * include/grub/i386/coreboot/machine.h: Remove file.
22007 * include/grub/i386/efi/machine.h: Likewise.
22008 * include/grub/i386/ieee1275/machine.h: Likewise.
22009 * include/grub/i386/pc/machine.h: Likewise.
22010 * include/grub/i386/qemu/machine.h: Likewise.
22011 * include/grub/powerpc/ieee1275/machine.h: Likewise.
22012 * include/grub/sparc64/ieee1275/machine.h: Likewise.
22013 * include/grub/x86_64/efi/machine.h: Likewise.
22014
22015 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
22016 * commands/halt.c: Likewise.
22017 * commands/reboot.c: Likewise.
22018 * include/grub/autoefi.h: Likewise.
22019 * include/grub/i386/at_keyboard.h: Likewise.
22020 * include/grub/i386/kernel.h: Likewise.
22021 * include/grub/i386/loader.h: Likewise.
22022 * include/grub/i386/pc/memory.h: Likewise.
22023 * kern/dl.c: Likewise.
22024 * kern/i386/coreboot/init.c: Likewise.
22025 * loader/i386/bsd.c: Likewise.
22026 * loader/i386/linux.c: Likewise.
22027 * loader/multiboot_loader.c: Likewise.
22028 * term/i386/pc/serial.c: Likewise.
22029 * term/usb_keyboard.c: Likewise.
22030
22031 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
22032 `<grub/machine/machine.h>'
22033 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
22034 * util/misc.c: Remove `<grub/machine/machine.h>' and
22035 `<grub/machine/time.h>'.
22036
22037 * Makefile.in (enable_grub_emu): Remove variable.
22038 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
22039
22040 * conf/any-emu.rmk: New file.
22041 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
22042 (grub_emu_init.c): Move from here ...
22043 * conf/any-emu.rmk: ... to here.
22044
22045 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
22046 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
22047 * conf/any-emu.rmk: ... to here.
22048
4efeab03
RM
220492009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22050
22051 * include/grub/parser.h (grub_parser_register): Document need
22052 of `name' parameter.
22053 * normal/main.c (grub_normal_read_line): Simplify prompt string.
22054 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
22055 "sh" to "grub".
22056
ea1dd8bf
RM
220572009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22058
22059 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
22060 `$(XGETTEXT)'.
22061 * include/grub/i18n.h (N_): New macro.
22062 * util/mkisofs/mkisofs.h: Likewise.
22063 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
22064 around N_().
22065 (usage): Use gettext() to translate help strings when printing them.
22066
0c140626
RM
220672009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22068
22069 Based on patch from Bean
22070 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22071
22072 * video/efi_fb.c: New file.
22073 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
22074 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22075 variables.
22076 * conf/x86_64-efi.rmk: Likewise.
22077
87d58298
RM
220782009-11-22 Robert Millan <rmh.grub@aybabtu.com>
22079
22080 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
22081 * util/i386/pc/grub-setup.c: Likewise.
22082
994cc3a3
ST
220832009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
22084
22085 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
22086 <hurd/fs.h>
22087 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
22088 file_get_storage_info to implement grub_guess_root_device.
22089
26a61d6a
FZ
220902009-11-21 Felix Zielcke <fzielcke@z-51.de>
22091
22092 * Makefile.in (target): Use make's builtin $(shell) function
22093 instead of calling directly $(SHELL) to create the locale directories,
22094 inside the $(foreach) function.
22095
74ff1dd5
FZ
220962009-11-21 Felix Zielcke <fzielcke@z-51.de>
22097
22098 * util/grub-mkrescue.in: Print an error and usage if output option
22099 has not been given.
22100
0b787d0e
FZ
221012009-11-21 Felix Zielcke <fzielcke@z-51.de>
22102
22103 Patch from Loïc Minier <loic.minier@ubuntu.com>.
22104 * util/grub.d/30_os-prober.in: Cope with Linux entries where
22105 root and /boot are on different devices.
22106
1164b270
RM
221072009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22108
22109 Fix build for srcdir != objdir.
22110
22111 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
22112 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
22113 $(srcdir).
22114 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
22115 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
22116 reference for input.
22117
13774a2f
RM
221182009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22119
22120 * util/grub-mkrescue.in: Use source directory direcly (without copiing
22121 or hardlinking it). Remove -J option, Joliet is not compatible with
22122 multiple source directories.
22123
efda854e
RM
221242009-11-21 Carles Pina i Estany <carles@pina.cat>
221252009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22126
22127 * util/grub-mkrescue.in: Recognize `--override-directory' option.
22128 (process_input_dir): New function. Process an arbitrary input
22129 directory.
22130 Misc adjustments to support both "override mode" and system-wide mode.
22131
6c09890c
FZ
221322009-11-20 Felix Zielcke <fzielcke@z-51.de>
22133
22134 * configure.ac (UNIFONT_BDF): Rename to ...
22135 (FONT_SOURCE): ... this. Update all users.
22136
a797824f
FZ
221372009-11-20 Felix Zielcke <fzielcke@z-51.de>
22138
22139 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
22140 to the list of unifont files to look for.
22141
cd4f42b0
RM
221422009-11-19 Robert Millan <rmh.grub@aybabtu.com>
22143
22144 Patch from Joe Auricchio <jauricchio@gmail.com>
22145 * commands/minicmd.c (grub_mini_cmd_clear): New function.
22146 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
22147 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
22148
393c783d
FZ
221492009-11-19 Felix Zielcke <fzielcke@z-51.de>
22150
22151 * Makefile.in (install-local): Add a missing backslash.
22152
b2f1e327
FZ
221532009-11-19 Felix Zielcke <fzielcke@z-51.de>
22154
22155 * include/grub/x86_64/io.h: New file.
22156
f577f7a0
RM
221572009-11-19 Robert Millan <rmh.grub@aybabtu.com>
22158
22159 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
22160 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
22161 Include `"progname.h"'.
22162 (main): Initialize gettext.
22163 * util/i386/pc/grub-setup.c: Gettexttize.
22164 * util/i386/pc/grub-mkimage.c: Likewise.
22165
22166 * Makefile.in (po/*.po): Redefine as ...
22167 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
22168
3bc7896c
RM
22169 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
22170
c37943b6
RM
221712009-11-19 Robert Millan <rmh.grub@aybabtu.com>
22172
22173 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
22174 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
22175 (program_name): Remove.
22176 (main): Initialize gettext support.
6323f705
RM
22177 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
22178 Include `<libintl.h>'.
22179 (_): New macro.
c37943b6
RM
22180
22181 * util/mkisofs/eltorito.c: Gettexttize.
22182 * util/mkisofs/joliet.c: Likewise.
22183 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
22184 * util/mkisofs/multi.c: Likewise.
22185 * util/mkisofs/rock.c: Likewise.
22186 * util/mkisofs/tree.c: Likewise.
22187 * util/mkisofs/write.c: Likewise.
22188
3bc7896c
RM
22189 * po/POTFILES: Update with new files.
22190
5ce77c6e
RM
221912009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22192
22193 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
22194 * util/mkisofs/iso9660.h: Likewise.
22195 * util/mkisofs/joliet.c: Likewise.
22196 * util/mkisofs/mkisofs.c: Likewise.
22197 * util/mkisofs/mkisofs.h: Likewise.
22198 * util/mkisofs/rock.c: Likewise.
22199 * util/mkisofs/tree.c: Likewise.
22200 * util/mkisofs/write.c: Likewise.
22201
22202 * util/mkisofs/eltorito.c (rcsid): Remove.
22203 * util/mkisofs/hash.c: Likewise.
22204 * util/mkisofs/joliet.c: Likewise.
22205 * util/mkisofs/name.c: Likewise.
22206 * util/mkisofs/rock.c: Likewise.
22207 * util/mkisofs/tree.c: Likewise.
22208 * util/mkisofs/write.c: Likewise.
22209
1dabbc77
RM
222102009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22211
22212 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
22213 instead of static allocation.
22214 * util/mkisofs/match.h: Likewise.
22215
633877cb
RM
222162009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22217
3bc7896c
RM
22218 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
22219 and `util/grub.d/10_linux.in'.
633877cb
RM
22220 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
22221 translatable Shell files.
22222
af1c0c85
RM
222232009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22224
22225 * Makefile.in ($(srcdir)/aclocal.m4): New target.
22226
769ae37b
RM
222272009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22228
22229 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 22230 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
22231 * util/grub.d/10_kfreebsd.in (bindir): New variable.
22232 Add gettext initialization.
22233 (kfreebsd_entry): Make menuentry output translatable.
22234
222352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22236
22237 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
22238 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
22239 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
22240 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
22241 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 22242 * po/LINGUAS: New file.
769ae37b
RM
22243
222442009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22245
22246 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
22247 other things).
22248 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
22249 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
22250 bindtextdomain() calls for gettext initialization.
22251
222522009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22253
22254 * gnulib/progname.c: New file (imported from Gnulib).
22255 * gnulib/progname.h: Likewise.
22256 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22257 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
22258 (usage): Replace `progname' with `program_name'.
22259 (main): Use set_program_name() for program name initialization.
22260
222612009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22262
22263 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
22264 from here ...
22265 * Makefile.in (CPPFLAGS): ... to here.
22266
222672009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22268
22269 * aclocal.m4: Move from here ...
22270 * acinclude.m4: ... to here.
22271 * autogen.sh: Add call to `aclocal'.
22272 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
22273
222742009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22275
22276 * Makefile.in (CLEANFILES): Add `po/*.mo'.
22277 (LINGUAS): New variable.
22278 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
22279 (install-local): Install MO files.
22280 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
22281 * include/grub/i18n.h: New file.
3bc7896c
RM
22282 * po/POTFILES: New file.
22283 * po/ca.po: New file.
769ae37b
RM
22284 * util/grub.d/10_linux.in (bindir): New variable.
22285 Add gettext initialization.
22286 (linux_entry): Make menuentry output translatable.
22287 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
22288 (usage): Make --help output translatable.
22289 (main): Initialize gettext.
22290
02c0a6ad
RM
222912009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22292
22293 * import_gcry.py: New file (written by Vladimir with minor
22294 adjustments).
22295 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
22296 ciphers.
22297 * INSTALL: Document that Python is required for bootstrap.
22298
222992009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22300
22301 Import ciphers from libgcrypt 1.4.4.
22302
22303 * lib/libgcrypt/cipher/ChangeLog
22304 * lib/libgcrypt/cipher/ac.c
22305 * lib/libgcrypt/cipher/arcfour.c
22306 * lib/libgcrypt/cipher/bithelp.h
22307 * lib/libgcrypt/cipher/blowfish.c
22308 * lib/libgcrypt/cipher/camellia-glue.c
22309 * lib/libgcrypt/cipher/camellia.c
22310 * lib/libgcrypt/cipher/camellia.h
22311 * lib/libgcrypt/cipher/cast5.c
22312 * lib/libgcrypt/cipher/cipher.c
22313 * lib/libgcrypt/cipher/crc.c
22314 * lib/libgcrypt/cipher/des.c
22315 * lib/libgcrypt/cipher/dsa.c
22316 * lib/libgcrypt/cipher/ecc.c
22317 * lib/libgcrypt/cipher/elgamal.c
22318 * lib/libgcrypt/cipher/hash-common.c
22319 * lib/libgcrypt/cipher/hash-common.h
22320 * lib/libgcrypt/cipher/hmac-tests.c
22321 * lib/libgcrypt/cipher/md.c
22322 * lib/libgcrypt/cipher/md4.c
22323 * lib/libgcrypt/cipher/md5.c
22324 * lib/libgcrypt/cipher/primegen.c
22325 * lib/libgcrypt/cipher/pubkey.c
22326 * lib/libgcrypt/cipher/rfc2268.c
22327 * lib/libgcrypt/cipher/rijndael-tables.h
22328 * lib/libgcrypt/cipher/rijndael.c
22329 * lib/libgcrypt/cipher/rmd.h
22330 * lib/libgcrypt/cipher/rmd160.c
22331 * lib/libgcrypt/cipher/rsa.c
22332 * lib/libgcrypt/cipher/seed.c
22333 * lib/libgcrypt/cipher/serpent.c
22334 * lib/libgcrypt/cipher/sha1.c
22335 * lib/libgcrypt/cipher/sha256.c
22336 * lib/libgcrypt/cipher/sha512.c
22337 * lib/libgcrypt/cipher/tiger.c
22338 * lib/libgcrypt/cipher/twofish.c
22339 * lib/libgcrypt/cipher/whirlpool.c
22340
af2f93ac
RM
223412009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22342
22343 Fix build for systems without error().
22344
22345 * gnulib/error.c: New file (imported from Gnulib).
22346 * gnulib/error.h: Likewise.
22347 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
22348 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
22349 (this variable is now used by error()).
22350
73fb3dd5
FZ
223512009-11-16 Felix Zielcke <fzielcke@z-51.de>
22352
814f5e96
FZ
22353 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
22354 instead of relying that char is signed.
73fb3dd5 22355
a691ca33
VS
223562009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22357
22358 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
22359 blocksize different from specified.
22360 (grub_pxefs_read): Likewise.
22361
2af8f0f4
FZ
223622009-11-16 Felix Zielcke <fzielcke@z-51.de>
22363
22364 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
22365
22366 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
22367 (grub_ata_readwrite): Likewise. Update 2 format strings.
22368 (grub_atapi_read): Likewise.
22369
22370 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
22371 * conf/i386.rmk (pkglib_MODULES): ... to here ...
22372 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
22373 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
22374 (ata_mod_LDFLAGS): Move from here ...
22375 * conf/i386.rmk: ... to here ...
22376 * conf/x86_64-efi.rmk: ... and here.
22377 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
22378 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
22379
83bdecaf
RM
223802009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22381
22382 Relicense multiboot.h, with RMS' blessing.
22383
22384 * include/multiboot.h: Change to X11 license.
22385
fd6fd3d7
RM
223862009-11-15 Robert Millan <rmh.grub@aybabtu.com>
22387
22388 Support --version in grub-mkisofs.
22389
22390 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
22391 (OPTION_VERSION): New macro.
22392 (ld_options): Recognize --version.
22393 (usage): Move `program_name' from here ...
22394 (program_name): ... to here. Add `static' qualifier.
22395 (main): Recognize `OPTION_VERSION'.
22396
16a88c49
FZ
223972009-11-15 Felix Zielcke <fzielcke@z-51.de>
22398
22399 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
22400 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
22401
a4158476
RM
224022009-11-14 Robert Millan <rmh.grub@aybabtu.com>
22403
22404 Fix help2man generation for mkisofs.
22405
22406 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
22407 (usage): Send output to stdout (rather than stderr).
22408
fc2208b0
RM
224092009-11-14 Robert Millan <rmh.grub@aybabtu.com>
22410
22411 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
22412 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
22413 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
22414 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
22415 (bin_SCRIPTS): Add `grub-mkfloppy'.
22416 (grub_mkfloppy_SOURCES): New variable.
22417
22418 * util/grub-mkrescue.in: New file.
22419 * util/i386/pc/grub-mkfloppy.in: New file.
22420
22421 * util/i386/coreboot/grub-mkrescue.in: Remove.
22422 * util/i386/pc/grub-mkrescue.in: Remove.
22423
8d0edf4a
RM
224242009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22425
22426 * include/grub/multiboot.h (struct grub_multiboot_header): Move
22427 from here ...
22428 * include/multiboot.h (struct multiboot_header): ... to here. Update
22429 all users.
22430 * include/grub/multiboot.h (struct grub_multiboot_info): Move
22431 from here ...
22432 * include/multiboot.h (struct multiboot_info): ... to here. Update
22433 all users.
22434 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
22435 from here ...
22436 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
22437 Update all users.
22438 * include/grub/multiboot.h (struct grub_mod_list): Move
22439 from here ...
22440 * include/multiboot.h (struct multiboot_mod_list): ... to here.
22441 Update all users.
22442
a73f5969
RM
224432009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22444
22445 * include/multiboot2.h (multiboot_word): Rename from this ...
22446 (multiboot2_word): ... to this. Update all users.
22447 (multiboot_header): Rename from this ...
22448 (multiboot2_header): ... to this. Update all users.
22449 (multiboot_tag_header): Rename from this ...
22450 (multiboot2_tag_header): ... to this. Update all users.
22451 (multiboot_tag_start): Rename from this ...
22452 (multiboot2_tag_start): ... to this. Update all users.
22453 (multiboot_tag_name): Rename from this ...
22454 (multiboot2_tag_name): ... to this. Update all users.
22455 (multiboot_tag_module): Rename from this ...
22456 (multiboot2_tag_module): ... to this. Update all users.
22457 (multiboot_tag_memory): Rename from this ...
22458 (multiboot2_tag_memory): ... to this. Update all users.
22459 (multiboot_tag_unused): Rename from this ...
22460 (multiboot2_tag_unused): ... to this. Update all users.
22461 (multiboot_tag_end): Rename from this ...
22462 (multiboot2_tag_end): ... to this. Update all users.
22463
1c8927f0
RM
224642009-11-13 Robert Millan <rmh.grub@aybabtu.com>
22465
22466 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
22467 this platform we should support Multiboot1 first.
22468
22469 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
22470 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
22471 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
22472
6e1e0d89
RM
224732009-11-12 Robert Millan <rmh.grub@aybabtu.com>
22474
22475 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
22476 of write calls (converting them to fwrite() if they aren't already).
22477 (get_torito_desc): Likewise.
22478 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
22479
7f2b34d8
RM
224802009-11-12 Robert Millan <rmh.grub@aybabtu.com>
22481
22482 * util/i386/pc/grub-install.in: Move from here ...
22483 * util/grub-install.in: ... to here. Update all users.
22484
c0ef3311
CW
224852009-11-11 Colin Watson <cjwatson@ubuntu.com>
22486
22487 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
22488
e1f240ff
RM
224892009-11-11 Robert Millan <rmh.grub@aybabtu.com>
22490
22491 Support for El Torito without floppy emulation.
22492
22493 * util/mkisofs/eltorito.c: Include `<errno.h>'.
22494 (init_boot_catalog): Improve error handling.
22495 (get_torito_desc): Don't use floppy emulation unless requested by
22496 user. Patch boot information table when requested via
22497 `-boot-info-table'.
22498 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
22499 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
22500 (use_boot_info_table): New variables.
22501 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
22502 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
22503 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
22504 `--eltorito-emul-floppy'.
22505 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
22506 and `OPTION_ELTORITO_EMUL_FLOPPY'.
22507 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
22508 (use_boot_info_table, get_731): New prototypes.
22509 * util/mkisofs/write.c (get_731): New function.
22510
af7d4de5
FZ
225112009-11-11 Felix Zielcke <fzielcke@z-51.de>
22512
22513 Fix the generation of the man page.
22514
22515 * util/pc/i386/grub-install.in: Source
22516 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22517
2c55dbc0
RM
225182009-11-11 Robert Millan <rmh.grub@aybabtu.com>
22519
22520 Large file support for grub-mkisofs.
22521
22522 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
22523 * util/mkisofs/mkisofs.c (next_extent, last_extent)
22524 (session_start): Upgrade type to `uint64_t'. Update all users.
22525 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
22526 (struct directory_entry): Upgrade type of `starting_block' and
22527 `size' to `uint64_t'. Update all users.
22528 (struct deferred): Remove unused structure.
22529 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
22530 Update all users.
22531 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
22532 file is larger than `UINT32_MAX'.
22533 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
22534 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
22535 return value.
22536 (struct deferred_write): Upgrade type of `extent' and `size' to
22537 `uint64_t'. Update all users.
22538 (last_extent_written): Upgrade type to `uint64_t'. Update all
22539 users.
22540 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
22541 Update all users. Upgrade type of `remain' to `int64_t' and
22542 `use' to `size_t'. Use error() to handle fread() errors.
22543 (write_files): Rely on write_one_file() rather than calling
22544 xfwrite() directly.
22545
6a9cead5
FZ
225462009-11-09 Felix Zielcke <fzielcke@z-51.de>
22547
22548 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
22549
4825d790
RM
225502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22551
22552 * util/mkisofs/fnmatch.c: Remove.
22553 * util/mkisofs/getopt1.c: Likewise.
22554 * util/mkisofs/getopt.c: Likewise.
22555 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
22556 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
22557 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
22558 `gnulib/getopt1.c' and `gnulib/getopt.c'.
22559 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
22560
22561 * configure.ac: Detect `mingw32msvc' host_os.
22562 Check for lstat(), getuid() and getgid().
22563
22564 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
22565 instances of `u_char' with `uint8_t'.
22566
22567 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
22568 [!HAVE_GETUID] (getuid): New function (stub).
22569 [!HAVE_GETGID] (getgid): Likewise.
22570 [!HAVE_LSTAT] (lstat): Likewise.
22571 [!S_IROTH] (S_IROTH): New macro (dummy).
22572 [!S_IRGRP] (S_IRGRP): Likewise.
22573
84b860d8
RM
225742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22575
22576 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
22577 conditional expression).
22578
66e9b712
RM
225792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22580
22581 Import from Gnulib.
22582
22583 * gnulib/fnmatch.c: New file.
22584 * gnulib/fnmatch.h: Likewise.
22585 * gnulib/fnmatch_loop.c: Likewise.
22586 * gnulib/getopt.c: Likewise.
22587 * gnulib/getopt.h: Likewise.
22588 * gnulib/getopt1.c: Likewise.
22589 * gnulib/getopt_int.h: Likewise.
22590 * gnulib/gettext.h: Likewise.
22591
34f4a5b0
RM
225922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22593
22594 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
22595 * normal/handler.c (read_handler_list): Likewise.
22596
ac451143
RM
225972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22598
22599 Misc cleanup.
22600
22601 * kern/command.c (grub_register_command_prio): Use
22602 grub_zalloc() instead of explicitly zeroing data.
22603 * kern/list.c: Include `<grub/mm.h>'.
22604 (grub_named_list_find): Replace `0' with `NULL'.
22605 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
22606 (fs_module_list): Change type to `grub_named_list_t'. Update all
22607 users.
22608 * normal/dyncmd.c (read_command_list): Add space between function
22609 call and parenthesis.
22610 * normal/handler.c (read_handler_list): Likewise.
22611
4089b167
RM
226122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22613
22614 * normal/auth.c (punishment_delay): Moved from here ...
22615 (grub_auth_strcmp): ... to here (inside function).
22616
325f5037
RM
226172009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22618
22619 * include/grub/list.h (struct grub_named_list): Remove `const'
22620 qualifier from `name'.
22621 (struct grub_prio_list): Likewise.
22622
7aea29a3
RM
226232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22624
22625 * normal/auth.c: Include `<grub/time.h>'.
22626 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
22627
3fd6f044
RM
226282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22629
22630 * normal/auth.c (punishment_delay): New variable.
22631 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
22632 (grub_auth_check_authentication): Punish failed login attempts with
22633 an incremental (2^N) delay.
22634
a4cd68e4
RM
226352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22636
22637 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
22638 path with $(srcdir).
22639
7ad12f43
VS
226402009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22641
22642 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
22643
c1129f03
RM
226442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22645
22646 * util/i386/coreboot/grub-mkrescue.in: New file.
22647 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
22648 variables.
22649
22650 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
22651 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
22652 * configure.ac: Add header and function checks to satisfy grub-mkisofs
22653 requirements.
22654 * util/mkisofs/defaults.h: New file.
22655 * util/mkisofs/eltorito.c: Likewise.
22656 * util/mkisofs/exclude.h: Likewise.
22657 * util/mkisofs/fnmatch.c: Likewise.
22658 * util/mkisofs/getopt.c: Likewise.
22659 * util/mkisofs/getopt1.c: Likewise.
22660 * util/mkisofs/hash.c: Likewise.
22661 * util/mkisofs/include/fctldefs.h: Likewise.
22662 * util/mkisofs/include/mconfig.h: Likewise.
22663 * util/mkisofs/include/prototyp.h: Likewise.
22664 * util/mkisofs/include/statdefs.h: Likewise.
22665 * util/mkisofs/iso9660.h: Likewise.
22666 * util/mkisofs/joliet.c: Likewise.
22667 * util/mkisofs/match.c: Likewise.
22668 * util/mkisofs/match.h: Likewise.
22669 * util/mkisofs/mkisofs.c: Likewise.
22670 * util/mkisofs/mkisofs.h: Likewise.
22671 * util/mkisofs/multi.c: Likewise.
22672 * util/mkisofs/name.c: Likewise.
22673 * util/mkisofs/rock.c: Likewise.
22674 * util/mkisofs/tree.c: Likewise.
22675 * util/mkisofs/write.c: Likewise.
22676
ec8bb77d
VS
226772009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22678
22679 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
22680 being insecure.
22681
3716b12c
RM
226822009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22683
22684 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
22685 `grub-mkimage' (and use $0 when possible).
22686
b97b7b91
RM
226872009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22688
22689 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
22690 error message for excessively large memory map.
22691
04114812
RM
226922009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22693
22694 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
22695 executable bit.
22696
e4eb2373
RM
226972009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22698
22699 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
22700 message for coreboot users.
22701
c926e1d5 227022009-11-07 Robert Millan <rmh.grub@aybabtu.com>
22703
22704 Fix build with GNU gold.
22705
22706 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
22707 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
22708 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
22709 link addresses.
22710 * aclocal.m4: Likewise.
22711
86e5b1db 227122009-11-04 Felix Zielcke <fzielcke@z-51.de>
22713
22714 * configure.ac (AC_PREREQ): Bump to 2.59d.
22715 * INSTALL: Make it more clear when Autoconf and Ruby are
22716 needed and when to run `./autogen.sh'.
22717
246cd78f 227182009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
22719
22720 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
22721 OSes.
22722
4f9dfb37 227232009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22724
22725 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
22726
b82bd5e1 227272009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22728
22729 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
22730 giving it to GNU Mach.
22731
ff1a9bca 227322009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22733
22734 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
22735 GNU partition number to get internal GRUB partition number.
22736
61697d9c 227372009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22738
22739 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
22740 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
22741
a50569e1 227422009-11-01 Robert Millan <rmh.grub@aybabtu.com>
22743
22744 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
22745 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
22746 case.
22747
5b153867 227482009-11-01 Felix Zielcke <fzielcke@z-51.de>
22749
22750 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
22751
d9e2cd70 227522009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22753
22754 Fix build problem.
22755
22756 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
22757 `-isystem=$(srcdir)/include'.
22758
805111a4 227592009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22760
22761 * util/i386/pc/grub-install.in: Remove hint that device.map should be
22762 checked (grub-install doesn't currently rely on it).
22763
fa6e945f 227642009-10-29 Robert Millan <rmh.grub@aybabtu.com>
22765
22766 Revert SVN r2660.
22767
22768 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
22769 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22770 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
22771 * conf/i386-ieee1275.rmk: Likewise.
22772 * conf/i386-pc.rmk: Likewise.
22773 * conf/powerpc-ieee1275.rmk: Likewise.
22774 * conf/sparc64-ieee1275.rmk: Likewise.
22775 * conf/x86_64-efi.rmk: Likewise.
22776
cee15086 227772009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22778
22779 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
22780
95b9239e 227812009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22782
22783 * include/grub/misc.h: Stop checking for APPLE_CC.
22784
2ed19dfd 227852009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22786
22787 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
22788 doesn't cause an infinite call loop.
22789
fdcdde19 227902009-10-28 Felix Zielcke <fzielcke@z-51.de>
22791
22792 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
22793 strings.
22794
cefabfe1 227952009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22796
22797 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
22798 variable.
22799 * Makefile.in: Likewise.
22800
ed96ab6d 228012009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22802
22803 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
22804
0579b753 228052009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22806
22807 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
22808
478df409 228092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22810
22811 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
22812
083d1679 228132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22814
22815 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
22816 from here ...
22817 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
22818
5947ae32 228192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22820
22821 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
22822 in $(MAKEINFO) invocation. This makes it clear in output that
22823 errors are being ignored.
22824
94180ff6 228252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22826
22827 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
22828 from here ...
22829 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22830 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
22831 * conf/i386-ieee1275.rmk: Likewise.
22832 * conf/i386-pc.rmk: Likewise.
22833 * conf/powerpc-ieee1275.rmk: Likewise.
22834 * conf/sparc64-ieee1275.rmk: Likewise.
22835 * conf/x86_64-efi.rmk: Likewise.
22836
9031b03a 228372009-10-26 Colin Watson <cjwatson@ubuntu.com>
22838
22839 * util/grub-editenv.c (main): If only a command is given, use
22840 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
22841 (usage): FILENAME is now optional and has a default.
22842
e4f6809b 228432009-10-26 Colin Watson <cjwatson@ubuntu.com>
22844
22845 Improve grub-mkconfig performance when there are several menu
22846 entries on a single filesystem.
22847
22848 * util/grub.d/10_linux.in (linux_entry): Cache the output of
22849 prepare_grub_to_access_device.
22850 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22851 * util/grub.d/30_os-prober.in: Likewise.
22852
67937d4d 228532009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22854
22855 * util/grub.d/10_freebsd.in: Remove.
22856 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
22857 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
22858
ee3756cc 228592009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22860
5c35048e 22861 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 22862
4dea1c6f 228632009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22864
22865 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
22866 grub_util_error() call.
22867
042484d7 228682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22869
22870 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
22871 `reserved_first_sector' member.
22872 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
22873 `reserved_first_sector' to 1.
22874 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
22875 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
22876 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
22877 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
22878 filesystems which begin at first sector.
22879 (options): New option --skip-fs-probe.
22880 (main): Handle --skip-fs-probe and pass it to setup().
22881
d64448a7 228822009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22883
22884 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
22885 (memset): Fix function prototype.
22886
508d42ec 228872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
228882009-10-25 Vasily Averin <vvs@parallels.com>
22889
22890 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
22891 `dirent.direntlen == 0'.
22892
b240e30c 228932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22894
22895 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
22896 `cpio'.
22897 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
22898
346e7fbe 228992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22900
22901 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
22902 `__trampoline_setup' and `__ucmpdi2'.
22903 * include/grub/powerpc/libgcc.h: Only export symbols for functions
22904 that libgcc provides.
22905
cdb308b0 229062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22907
22908 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
22909 * include/grub/sparc64/libgcc.h (memset): Likewise.
22910 * include/grub/misc.h (memset, memcmp): New function prototypes.
22911
fb26abc2 229122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22913
22914 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
22915 `cpio'.
22916 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
22917
f6693890 229182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22919
22920 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
22921 * docs/grub.cfg: Compensate for recent change in multiboot
22922 loader (since 2009-08-14 it won't pass filename to payload).
22923 * util/grub.d/10_hurd.in: Likewise.
22924
0933cdc0 229252009-10-21 Felix Zielcke <fzielcke@z-51.de>
22926
22927 * config.guess: Update to latest version from config git
22928 repository.
22929 * config.sub: Likewise.
22930
3b2fe8c2 229312009-10-20 Robert Millan <rmh.grub@aybabtu.com>
22932
22933 Fix build on sparc64.
22934
22935 * configure.ac: Perform checks for libgcc symbols before
22936 adding `-nostdlib' to LDFLAGS.
22937
46695a62 229382009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22939
22940 Let user specify OpenBSD root device.
22941
22942 * loader/i386/bsd.c (openbsd_root): New variable.
22943 (openbsd_opts): New option 'root'.
22944 (OPENBSD_ROOT_ARG): New macro.
22945 (grub_openbsd_boot): Use 'openbsd_root'.
22946 (grub_cmd_openbsd): Fill 'openbsd_root'.
22947
d2b6b7fc 229482009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22949
22950 * NEWS: Misc adjustments.
22951
421bd7ac 229522009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22953
22954 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
22955
f1d29d87 229562009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22957
22958 * configure.ac: Bump version to 1.97.
22959
6f3cd880 229602009-10-16 Colin Watson <cjwatson@ubuntu.com>
22961
22962 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
22963 -mno-3dnow on x86 architectures. Some toolchains enable these
22964 features by default, but they rely on registers that aren't enabled
22965 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
22966
035f7122 229672009-10-15 Robert Millan <rmh.grub@aybabtu.com>
22968
22969 Make entry text a bit more readable.
22970
22971 * util/grub.d/10_linux.in: Add `with' before `Linux'.
22972
44998e58 229732009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22974
22975 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
22976
cd2851b3 229772009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22978
22979 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
22980 operations.
22981
c6f3b249 229822009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22983
22984 * configure.ac: Add missing dollar.
22985
6b5886ba 229862009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22987
22988 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
22989
22990 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
22991 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
22992 exports.
22993 * include/grub/sparc64/libgcc.h: Likewise. Use
22994 preprocessor conditionals.
22995
e9d66f6d 229962009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22997
22998 * conf/common.rmk (grub-dumpbios): Remove rule.
22999 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
23000 * util/grub-dumpbios.in: Remove file.
23001
9155bc17 230022009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23003
23004 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
23005 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
23006
23007 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
23008 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
23009 users.
23010
23011 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
23012 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
23013 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
23014 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
23015 users.
23016
bf7f7a18 230172009-10-12 Robert Millan <rmh.grub@aybabtu.com>
23018
23019 * term/tparm.c: Switch to GPLv3.
23020
86564c26 230212009-10-09 Robert Millan <rmh.grub@aybabtu.com>
23022
23023 * include/grub/i386/cpuid.h: Add header protection.
23024
5c936493 230252009-10-09 Robert Millan <rmh.grub@aybabtu.com>
23026
23027 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
23028
23029 * include/grub/i386/cpuid.h: New file.
23030 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
23031 (has_longmode): Rename to ...
23032 (grub_cpuid_has_longmode): ... this. Update all users. Remove
23033 `static' attribute.
23034 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
23035 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
23036 on a CPU that doesn't implement AMD64 instruction set.
23037
186e7cf2 230382009-10-06 Colin Watson <cjwatson@ubuntu.com>
23039
23040 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
23041 that version.texi is rebuilt on version number changes.
23042
83b65c4a 230432009-10-06 Colin Watson <cjwatson@ubuntu.com>
23044
23045 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
23046 Fixes bug #27602.
23047
d244281c 230482009-10-06 Colin Watson <cjwatson@ubuntu.com>
23049
23050 * util/i386/pc/grub-install.in: Source
23051 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
23052 that the --grub-probe option will work.
23053 * util/sparc64/ieee1275/grub-install.in: Likewise.
23054
da25306d 230552009-10-05 Robert Millan <rmh.grub@aybabtu.com>
23056
23057 * configure.ac: Bump version to 1.97~beta4.
23058
e8ee83c0 230592009-10-03 Robert Millan <rmh.grub@aybabtu.com>
23060
23061 Resync grub-mkdevicemap in x86_64-efi.
23062
23063 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
23064 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
23065 `util/devicemap.c'.
23066
50dcabcf 230672009-10-01 Colin Watson <cjwatson@ubuntu.com>
23068
23069 * util/grub-editenv.c (create_envblk_file): Write new block with a
23070 .new suffix and then rename it into place, to ensure atomic
23071 creation.
23072
0e51c3a7 230732009-09-28 Robert Millan <rmh.grub@aybabtu.com>
23074
23075 Do not automatically install headers.
23076
23077 * Makefile.in (include_DATA): Remove. Update all users.
23078
31299a95 230792009-09-26 Robert Millan <rmh.grub@aybabtu.com>
23080
23081 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
23082 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
23083
23084 * util/osdetect.lua: Remove.
23085 * script/lua/lauxlib.c: Likewise.
23086 * script/lua/ldebug.c: Likewise.
23087 * script/lua/grub_main.c: Likewise.
23088 * script/lua/lauxlib.h: Likewise.
23089 * script/lua/ldebug.h: Likewise.
23090 * script/lua/ltablib.c: Likewise.
23091 * script/lua/liolib.c: Likewise.
23092 * script/lua/lstrlib.c: Likewise.
23093 * script/lua/lualib.h: Likewise.
23094 * script/lua/ldo.c: Likewise.
23095 * script/lua/ldump.c: Likewise.
23096 * script/lua/ldo.h: Likewise.
23097 * script/lua/loslib.c: Likewise.
23098 * script/lua/lundump.c: Likewise.
23099 * script/lua/grub_lib.c: Likewise.
23100 * script/lua/ldblib.c: Likewise.
23101 * script/lua/lundump.h: Likewise.
23102 * script/lua/lmem.c: Likewise.
23103 * script/lua/grub_lib.h: Likewise.
23104 * script/lua/lmathlib.c: Likewise.
23105 * script/lua/lstate.c: Likewise.
23106 * script/lua/ltm.c: Likewise.
23107 * script/lua/lvm.c: Likewise.
23108 * script/lua/lmem.h: Likewise.
23109 * script/lua/lstate.h: Likewise.
23110 * script/lua/ltm.h: Likewise.
23111 * script/lua/ltable.c: Likewise.
23112 * script/lua/lvm.h: Likewise.
23113 * script/lua/llex.c: Likewise.
23114 * script/lua/lgc.c: Likewise.
23115 * script/lua/grub_lua.h: Likewise.
23116 * script/lua/loadlib.c: Likewise.
23117 * script/lua/lfunc.c: Likewise.
23118 * script/lua/lopcodes.c: Likewise.
23119 * script/lua/lparser.c: Likewise.
23120 * script/lua/ltable.h: Likewise.
23121 * script/lua/llex.h: Likewise.
23122 * script/lua/lgc.h: Likewise.
23123 * script/lua/lfunc.h: Likewise.
23124 * script/lua/lbaselib.c: Likewise.
23125 * script/lua/lopcodes.h: Likewise.
23126 * script/lua/lparser.h: Likewise.
23127 * script/lua/lzio.c: Likewise.
23128 * script/lua/linit.c: Likewise.
23129 * script/lua/lobject.c: Likewise.
23130 * script/lua/llimits.h: Likewise.
23131 * script/lua/lstring.c: Likewise.
23132 * script/lua/lzio.h: Likewise.
23133 * script/lua/lapi.c: Likewise.
23134 * script/lua/lcode.c: Likewise.
23135 * script/lua/lua.h: Likewise.
23136 * script/lua/lobject.h: Likewise.
23137 * script/lua/lstring.h: Likewise.
23138 * script/lua/lapi.h: Likewise.
23139 * script/lua/lcode.h: Likewise.
23140 * script/lua/luaconf.h: Likewise.
23141
cb8a2c38 231422009-09-26 Colin Watson <cjwatson@ubuntu.com>
23143
23144 * docs/grub.texi (Command-line and menu entry commands): Document
23145 date and echo commands.
23146
6b9b6276 231472009-09-24 Pavel Roskin <proski@gnu.org>
23148
23149 * include/grub/kernel.h (struct grub_module_header): Remove
23150 `grub_module_header_types'. Make `type' unsigned. Make `size'
23151 32-bit on all platforms.
23152 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
23153 8-bit field. Use grub_host_to_target32() for `size'.
23154 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
23155 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
23156 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
23157
4e5a02a7 231582009-09-24 Robert Millan <rmh.grub@aybabtu.com>
23159
23160 Fix "lost keypress" bug in at_keyboard.
23161
23162 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
23163 Checks for readyness of input buffer (without flushing it).
23164 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
23165 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
23166
c6dcedf6 231672009-09-24 Robert Millan <rmh.grub@aybabtu.com>
23168
23169 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
23170 size check within GRUB_MACHINE_PCBIOS section.
23171
74c958b1 231722009-09-24 Robert Millan <rmh.grub@aybabtu.com>
23173
23174 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
23175 return value.
23176 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
23177 KEYBOARD_ISREADY check.
23178 (grub_at_keyboard_checkkey): Rename to ...
23179 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
23180 Remove gratuitous cast.
23181
ff420223 231822009-09-23 Colin Watson <cjwatson@ubuntu.com>
23183
23184 * configure.ac: Call AC_PROG_MKDIR_P.
23185 * Makefile.in (docs/stamp-vti): Create docs directory. Create
23186 version.texi in $(builddir) rather than $(srcdir).
23187 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
23188 to makeinfo's @include search path.
23189
d96875df 231902009-09-23 Felix Zielcke <fzielcke@z-51.de>
23191
23192 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
23193
9b3f8365 231942009-09-23 Felix Zielcke <fzielcke@z-51.de>
23195
23196 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
23197 for `*.dpkg-new'.
23198
c44c90db 231992009-09-21 Colin Watson <cjwatson@ubuntu.com>
23200
23201 Build info documentation. Some code borrowed from Automake.
23202
23203 * configure.ac: Check for makeinfo.
23204 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
23205 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
23206 docs/version.texi.
23207 (MOSTLYCLEANFILES): Add vti.tmp.
23208 (docs/version.texi, docs/stamp-vti): Update automatically.
23209 (docs/grub.info): Build info documentation. Use --force and ignore
23210 errors for now.
23211 (all-local): Add $(INFOS).
23212 (install-local): Install info files.
23213 (uninstall): Uninstall info files.
23214 * docs/version.texi: Remove from revision control. This file is
23215 automatically generated on build now.
23216 * gendistlist.sh: Add `*.info'.
23217
e0b37bb5 232182009-09-21 Felix Zielcke <fzielcke@z-51.de>
23219
23220 * kern/term.c: Fix indentation.
23221
5a78865b 232222009-09-21 Felix Zielcke <fzielcke@z-51.de>
23223
23224 * util/hostdisk.c: Fix a comment.
23225
dace7e8a 232262009-09-20 Robert Millan <rmh.grub@aybabtu.com>
23227
23228 Fix regression introduced in r2539.
23229
23230 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
23231 to 0xA1.
23232
a83d079b 232332009-09-19 Colin Watson <cjwatson@ubuntu.com>
23234
23235 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 23236 os-prober. Under normal operation, it does not print anything to
23237 stderr; if it does, we need to debug it, and throwing away stderr
23238 makes that excessively difficult.
a83d079b 23239
be94a509 232402009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
23241
23242 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
23243
63f745e8 232442009-09-16 Robert Millan <rmh.grub@aybabtu.com>
23245
23246 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
23247 AC_LANG_PROGRAM from autoconf.
23248 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
23249 prototypes (fixes warning).
23250
23251 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
23252 `--disable-werror' was used.
23253
bbb2a70f 232542009-09-16 Robert Millan <rmh.grub@aybabtu.com>
23255
23256 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
23257 uninitialized `lastaddr'.
23258
77c24f1d 232592009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23260
0f0b8c87 23261 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 23262
07197f23 232632009-09-14 Colin Watson <cjwatson@ubuntu.com>
23264
23265 * commands/test.c (get_fileinfo): Return immediately if
23266 grub_fs_probe fails.
23267
dabf1798 232682009-09-14 José Martínez <xosemp@gmail.com>
23269
23270 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
23271
d52109a7 232722009-09-14 Colin Watson <cjwatson@ubuntu.com>
23273
23274 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
23275 output.
23276
56532179 232772009-09-13 Robert Millan <rmh.grub@aybabtu.com>
23278
23279 * configure.ac: Remove --enable-grub-pe2elf. Only build
23280 grub-pe2elf when needed by the build system itself.
23281 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
23282
8ef070f5 232832009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23284
23285 * configure.ac: Bump version to 1.97~beta3.
23286 * docs/version.texi: Likewise.
23287
61229557 232882009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23289
23290 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
23291 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
23292 from here ...
23293 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
23294 (grub_linux_setup_video): ... to here (with some adjustments).
23295
5c9f8d84 232962009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23297
23298 Fix memory corruption issue (spotted by Colin Watson).
23299
23300 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
23301 causing returned size to be stored in an incorrect memory location.
23302 Fix use of uninitialized value when storing the returned size.
23303
e8f5d6e9 233042009-09-12 Yves Blusseau <blusseau@zetam.org>
23305
23306 Change clean rules to properly remove files
23307
23308 * genmk.rb: add new clean rules
23309 * Makefile.in (clean): add the new targets
23310 (mostlyclean): likewise
23311
cda2a409 233122009-09-11 Colin Watson <cjwatson@ubuntu.com>
23313
23314 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
23315 to grub_uint64_t.
23316 * fs/ntfs.c (init_file): Understand 64-bit sizes for
23317 non-resident files.
23318
86695375 233192009-09-11 Colin Watson <cjwatson@ubuntu.com>
23320
23321 * configure.ac: Don't look for help2man when cross-compiling. Fixes
23322 part of bug #27349.
23323
8aa1541a 233242009-09-10 Felix Zielcke <fzielcke@z-51.de>
23325
23326 * util/grub-mkconfig.in: Make the created config mode 400 and
23327 print a warning if it fails.
23328
48d9bb0a 233292009-09-10 Robert Millan <rmh.grub@aybabtu.com>
23330
23331 * util/grub.d/40_custom.in: Ask user to type custom entries below
23332 comment, rather than below 'exec tail' line.
23333
3b0521be 233342009-09-10 Colin Watson <cjwatson@ubuntu.com>
23335
23336 * util/grub.d/40_custom.in: Make sure that the explanatory text is
23337 visible in grub.cfg.
23338
50051d55 233392009-09-10 Colin Watson <cjwatson@ubuntu.com>
23340
23341 * util/grub.d/40_custom.in: Make it a little clearer how to use this
23342 file.
23343
c0d34387 233442009-09-10 Felix Zielcke <fzielcke@z-51.de>
23345
23346 * docs/grub.cfg: Add an example menu entry for memtest86+.
23347
80a608f3 233482009-09-09 Felix Zielcke <fzielcke@z-51.de>
23349
a2094832 23350 * config.guess: Update to latest version from config git.
80a608f3 23351 * config.sub: Likewise.
23352
99423078 233532009-09-08 Colin Watson <cjwatson@ubuntu.com>
23354
23355 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
23356 unknown-command case. Fixes bug #27320.
23357
44454e4c 233582009-09-08 Felix Zielcke <fzielcke@z-51.de>
23359
23360 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
23361 `help' if the command exists.
23362
e30d87ad 233632009-09-06 Robert Millan <rmh.grub@aybabtu.com>
23364
23365 * INSTALL: Require GCC 4.1.3 or later.
23366
9a86f1ec 233672009-09-06 Yves Blusseau <blusseau@zetam.org>
23368
23369 * Makefile.in (RMKFILES): add i386-qemu.rmk
23370 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
23371 $(srcdir)/stamp-h.in
23372
7f26d466 233732009-09-05 Robert Millan <rmh.grub@aybabtu.com>
23374
23375 * util/grub-probe.c (probe): Comment out buggy codepath, which
23376 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
23377 should be re-enabled after 1.97.
23378
3a613259 233792009-09-05 Felix Zielcke <fzielcke@z-51.de>
23380
23381 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
23382 find searches for.
23383
197f76c7 233842009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
23385
23386 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
23387 unnecessary calls to grub_error.
23388
70ba68ce 233892009-09-04 Colin Watson <cjwatson@ubuntu.com>
23390
23391 * NEWS: Mention `keystatus' and Unicode fonts.
23392
4ff0d7a4 233932009-09-04 Robert Millan <rmh.grub@aybabtu.com>
23394
23395 * configure.ac: Bump version to 1.97~beta2.
23396 * docs/version.texi: Likewise.
23397
77c55a87 233982009-09-03 Colin Watson <cjwatson@ubuntu.com>
23399
23400 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
23401 containing unwind information in some cases where it previously did
23402 not. Use -fno-dwarf2-cfi-asm if available to restore the old
23403 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
23404 discussion.
23405
f79572cd 234062009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
23407
23408 Embedding loadenv module into grub-emu
23409
23410 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
23411 commands/loadenv.c
23412 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
23413 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
23414 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
23415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
23416 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
23417 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
23418
93a81088 234192009-09-03 Magnus Granberg <zorry@ume.nu>
23420
23421 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
23422 include -fPIE in the default specs.
23423 * configure.ac: Check if pie_possible is yes and add -fno-PIE
23424 to TARGET_CFLAGS.
23425
160034b2 234262009-09-03 Felix Zielcke <fzielcke@z-51.de>
23427
23428 * INSTALL: Note that GNU Bison 2.3 or later is required.
23429
087c07c4 234302009-09-03 Colin Watson <cjwatson@ubuntu.com>
23431
23432 * kern/i386/pc/startup.S: Fix typo.
23433
cbf978c0 234342009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23435
23436 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
23437 according to GCS.
23438
234392009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 23440
23441 * docs/grub.texi (Naming convention): Describe one-based partition
23442 numbering.
23443 (Device syntax): Likewise.
23444 (File name syntax): Likewise.
23445 (Block list syntax): Likewise.
23446 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
23447 menu.lst.
23448 (File name syntax): Likewise.
23449 (Command-line and menu entry commands): Document acpi, blocklist,
23450 crc, export, insmod, keystatus, ls, set, and unset commands.
23451
f3e8cdfd 234522009-09-02 Colin Watson <cjwatson@ubuntu.com>
23453
23454 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
23455 to avoid implying that only one of --shift, --ctrl, or --alt may be
23456 used.
23457
c0bc232b 234582009-09-02 Colin Watson <cjwatson@ubuntu.com>
23459
23460 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
23461 rather than comparing against S_IFREG, which will almost never work.
23462
aa0f752d 234632009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
23464
23465 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
23466 (write_blocklists): Likewise.
23467
ecb3166a 234682009-09-01 Colin Watson <cjwatson@ubuntu.com>
23469
23470 * script/lua/grub_lua.h (fputs): Supply a format string as the first
23471 argument to grub_printf.
23472
c403a125 234732009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 23474
23475 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 23476 non GNU test.
31aba781 23477
b5e7312c 234782009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23479
23480 * kern/file.c (grub_file_read): Spelling fix
23481
fe00f472 234822009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23483
23484 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
23485 loading of headers in some cases.
23486
cc55302e 234872009-08-30 Robert Millan <rmh.grub@aybabtu.com>
23488
23489 * configure.ac: Bump version to 1.97~beta1.
23490 * docs/version.texi: Likewise.
23491
5c90cdd2 234922009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 23493
23494 * include/grub/i386/xnu.h: Add license header.
23495 include grub/err.h explicitly.
23496
c90edae4 234972009-08-29 Robert Millan <rmh.grub@aybabtu.com>
23498
23499 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
23500 to `ufs' in the vfs.root.mountfrom kernel parameter.
23501
d8888b5c 235022009-08-29 Robert Millan <rmh.grub@aybabtu.com>
23503
23504 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
23505
23506 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
23507 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
23508
23509 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
23510 `ARRAY_SIZE' macro.
23511
6f07b921 235122009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23513
23514 * kern/file.c (grub_file_read): Check offset.
23515 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
23516 * fs/jfs.c (grub_jfs_read_file): Likewise.
23517 * fs/ntfs.c (grub_ntfs_read): Likewise.
23518 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
23519 * fs/minix.c (grub_minix_read_file): Correct offset check.
23520 * fs/ufs.c (grub_ufs_read_file): Likewise.
23521
b4f34077 235222009-08-28 Colin Watson <cjwatson@ubuntu.com>
23523
23524 * term/i386/pc/console.c (bios_data_area): Cast
23525 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
23526
e7c69859 235272009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23528
23529 1-bit optimised blitters.
23530
23531 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
23532 prototype.
23533 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23534 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23535 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23536 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23537 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23538 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23539 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
23540 function.
23541 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23542 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23543 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23544 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23545 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23546 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23547 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
23548 when possible.
23549 * video/video.c (grub_video_get_blit_format): Return
23550 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
23551
a57da43f 235522009-08-28 Colin Watson <cjwatson@ubuntu.com>
23553
23554 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
23555 the first argument to grub_printf.
23556
4cbe67e5 235572009-08-28 Colin Watson <cjwatson@ubuntu.com>
235582009-08-28 Robert Millan <rmh.grub@aybabtu.com>
23559
23560 Add `getkeystatus' terminal method. Add a new `keystatus' command
23561 to query it.
23562
23563 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
23564 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
23565 modifier key bitmasks.
23566 (struct grub_term_input): Add `getkeystatus' member.
23567 (grub_getkeystatus): Add prototype.
23568 * kern/term.c (grub_getkeystatus): New function.
23569
23570 * include/grub/i386/pc/memory.h
23571 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
23572 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
23573 Data Area layout.
23574 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
23575 (grub_console_term_input): Set `getkeystatus' member.
23576 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
23577 constants.
23578 (grub_usb_keyboard_getreport): Likewise.
23579 (grub_usb_keyboard_checkkey): Likewise.
23580 (grub_usb_keyboard_getkeystatus): New function.
23581 (grub_usb_keyboard_term): Set `getkeystatus' member.
23582
23583 * commands/keystatus.c: New file.
23584 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
23585 (keystatus_mod_SOURCES): New variable.
23586 (keystatus_mod_CFLAGS): Likewise.
23587 (keystatus_mod_LDFLAGS): Likewise.
23588 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
23589 commands/keystatus.c.
23590 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23591 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23592 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23594 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23595 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 23596
6e2a9085 235972009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23598
23599 Split befs.mod and afs.mod into *_be.mod and *.mod
23600
23601 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
23602 (grub_fstest_SOURCES): Likewise.
23603 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
23604 (afs_be_mod_SOURCES): New variable.
23605 (afs_be_mod_CFLAGS): Likewise.
23606 (afs_be_mod_LDFLAGS): Likewise.
23607 (befs_be_mod_SOURCES): Likewise.
23608 (befs_be_mod_CFLAGS): Likewise.
23609 (befs_be_mod_LDFLAGS): Likewise.
23610 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
23611 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23612 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23613 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23614 (grub_emu_SOURCES): Likewise.
23615 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23616 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23617 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23618 * fs/afs_be.c: New file.
23619 * fs/befs_be.c: New file.
23620 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
23621 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
23622 (U16): Replaced with ...
23623 (grub_afs_to_cpu16): ...this. All users updated.
23624 (U32): Replaced with ...
23625 (grub_afs_to_cpu32): ...this. All users updated.
23626 (U64): Replaced with ...
23627 (grub_afs_to_cpu64): ...this. All users updated.
23628 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
23629 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 23630 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 23631 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23632 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23633 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23634 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23635 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23636 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23637 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23638 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23639
32a71655 236402009-08-26 Bean <bean123ch@gmail.com>
23641
23642 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
23643 64-bit number.
23644 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
23645 (grub_xfs_inode_block): Change return type to grub_uint64_t.
23646 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
23647
552bf6c5 236482009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23649
23650 NetBSD memory map support.
23651
23652 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
23653 (grub_netbsd_btinfo_mmap_header): New structure.
23654 (grub_netbsd_btinfo_mmap_entry): Likewise.
23655 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
23656
1ae2078c 236572009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23658
23659 Enable bsd.mod on coreboot.
23660
23661 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
23662 (bsd_mod_SOURCES): New variable.
23663 (bsd_mod_CFLAGS): Likewise.
23664 (bsd_mod_LDFLAGS): Likewise.
23665 (bsd_mod_ASFLAGS): Likewise.
23666 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
23667 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
23668
beefc598 236692009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23670
23671 Cleanup NetBSD root support.
23672
23673 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
23674 grub_bsd_get_device.
23675 Fix typo.
23676
3b76e68b 236772009-08-25 Felix Zielcke <fzielcke@z-51.de>
23678
23679 * util/grub.d/00_header.in: Move check for the video backend of
23680 gfxterm from here ...
23681 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
23682 a suitable video backend.
23683
aea664ea 236842009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23685
23686 Fix breakage in grub-setup.
23687
23688 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
23689 "msdos_partition_map".
23690
ff747d50 236912009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23692
23693 Fix breakage in normal/auth.c.
23694
23695 * normal/auth.c (grub_iswordseparator): New function.
23696
e7e1f93f 236972009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23698
23699 Authentication support.
23700
23701 * commands/password.c: New file.
23702 * conf/common.rmk (pkglib_MODULES): Add password.mod.
23703 (password_mod_SOURCES): New variable.
23704 (password_mod_CFLAGS): Likewise.
23705 (password_mod_LDFLAGS): Likewise.
23706 (normal_mod_SOURCES): Add normal/auth.c.
23707 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
23708 normal/auth.c.
23709 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23710 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23711 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23712 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23713 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23714 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23715 * include/grub/auth.h: New file.
23716 * include/grub/err.h (grub_err_t): New enum value
23717 GRUB_ERR_ACCESS_DENIED.
23718 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
23719 'users'.
23720 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
23721 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
23722 users updated.
23723 * normal/auth.c: New file.
23724 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
23725 (grub_cmdline_run): Don't allow to go to command line without
23726 authentication.
23727 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
23728 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
23729 menuentry without superuser rights.
23730 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
23731 user isn't a superuser.
23732
70f1161d 237332009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23734
23735 Save space by inlining misc.c functions.
23736
23737 * kern/misc.c (grub_iswordseparator): Made static.
23738 * kern/misc.c (grub_strcat): Moved from here ...
23739 * include/grub/misc.h (grub_strcat): ... here. Inlined.
23740 * kern/misc.c (grub_strncat): Moved from here ...
23741 * include/grub/misc.h (grub_strncat): ... here. Inlined.
23742 * kern/misc.c (grub_strcasecmp): Moved from here ...
23743 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
23744 * kern/misc.c (grub_strncasecmp): Moved from here ...
23745 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
23746 * kern/misc.c (grub_isalpha): Moved from here ...
23747 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
23748 * kern/misc.c (grub_isdigit): Moved from here ...
23749 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
23750 * kern/misc.c (grub_isgraph): Moved from here ...
23751 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
23752 * kern/misc.c (grub_tolower): Moved from here ...
23753 * include/grub/misc.h (grub_tolower): ... here. Inlined.
23754
48e40bff 237552009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23756
23757 * script/sh/function.c (grub_script_function_find): Cut error message
23758 not to flood terminal.
23759 * script/sh/lexer.c (grub_script_yylex): Remove command line length
23760 limit.
23761 * script/sh/script.c (grub_script_arg_add): Duplicate string.
23762
c385bfc3 237632009-08-24 Colin Watson <cjwatson@ubuntu.com>
23764
23765 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
23766 `report' grub_uint8_t *.
23767 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
23768 Use a 50-millisecond timeout rather than just repeating
23769 grub_usb_keyboard_getreport 50 times.
23770 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
23771
2d21e3e8 237722009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23773
23774 Rename *_partition_map to part_*
23775
23776 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
23777 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
23778 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
23779 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
23780 All users updated.
23781 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
23782 All users updated.
23783 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
23784 * util/grub-probe.c (probe_partmap): Don't transform partition name
23785 to get module name.
23786
dd103c4e 237872009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23788
23789 Fix OpenBSD and NetBSD support.
23790
23791 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
23792 memory address conflict.
23793 (OPENBSD_MMAP_ACPI): New definition.
23794 (OPENBSD_MMAP_NVS): Likewise.
23795 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
23796 and OPENBSD_MMAP_NVS.
23797 Add memory map terminator
23798 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 23799 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 23800
16c84d74 238012009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23802
23803 Let user specify NetBSD root device.
23804
23805 * loader/i386/bsd.c (netbsd_root): New variable.
23806 (netbsd_opts): New option 'root'.
23807 (NETBSD_ROOT_ARG): New macro.
23808 (grub_netbsd_boot): Use 'netbsd_root'.
23809 (grub_bsd_unload): Free 'netbsd_root'.
23810 (grub_cmd_netbsd): Fill 'netbsd_root'.
23811
adb29902 238122009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23813
23814 Support for 64-bit NetBSD.
23815
23816 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
23817 point when booting non-FreeBSD.
23818
f5ae9f74 238192009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23820
23821 Support --no-smp and --no-acpi for NetBSD.
23822
23823 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
23824 (NETBSD_AB_NOACPI): Likewise.
23825 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
23826 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
23827
de74f136 238282009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23829
23830 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
23831 errors.
23832 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
23833 errors. Call grub_error when needed.
23834
e9a925da 238352009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23836
23837 * commands/search.c (search_fs): Try searching without autoload first.
23838 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
23839 filesystem module explicitly for faster booting.
23840
5174302b 238412009-08-23 Colin Watson <cjwatson@ubuntu.com>
23842
23843 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
23844
c8c80635 238452009-08-23 Colin Watson <cjwatson@ubuntu.com>
23846
23847 * util/grub.d/30_os-prober.in: Disable os-prober if
23848 `GRUB_DISABLE_OS_PROBER' was set to true.
23849
71acf5e5 238502009-08-23 Robert Millan <rmh.grub@aybabtu.com>
23851
23852 * partmap/pc.c: Rename to ...
23853 * partmap/msdos.c: ... this. Update all users.
23854 (grub_pc_partition_map): Rename to ...
23855 (grub_msdos_partition_map): ... this. Update all users.
23856
23857 * parttool/pcpart.c: Rename to ...
23858 * parttool/msdospart.c: ... this. Update all users.
23859
23860 * include/grub/pc_partition.h: Rename to ...
23861 * include/grub/msdos_partition.h: ... this. Update all users.
23862 (grub_pc_partition_bsd_entry): Rename to ...
23863 (grub_msdos_partition_bsd_entry): ... this. Update all users.
23864 (grub_pc_partition_disk_label): Rename to ...
23865 (grub_msdos_partition_disk_label): ... this. Update all users.
23866 (grub_pc_partition_entry): Rename to ...
23867 (grub_msdos_partition_entry): ... this. Update all users.
23868 (grub_pc_partition_mbr): Rename to ...
23869 (grub_msdos_partition_mbr): ... this. Update all users.
23870 (grub_pc_partition): Rename to ...
23871 (grub_msdos_partition): ... this. Update all users.
23872 (grub_pc_partition_is_empty): Rename to ...
23873 (grub_msdos_partition_is_empty): ... this. Update all users.
23874 (grub_pc_partition_is_extended): Rename to ...
23875 (grub_msdos_partition_is_extended): ... this. Update all users.
23876 (grub_pc_partition_is_bsd): Rename to ...
23877 (grub_msdos_partition_is_bsd): ... this. Update all users.
23878
23879 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
23880 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
23881 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
23882 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
23883 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
23884 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
23885 (gpt_mod_LDFLAGS): Rename to ...
23886 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
23887 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
23888 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
23889 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
23890 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
23891 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
23892 (part_gpt_mod_LDFLAGS): ... this.
23893 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
23894 `pcpart.mod' to `msdospart.mod'.
23895 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
23896 to ...
23897 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
23898 (msdospart_mod_LDFLAGS): ... this.
23899
c11fded5 239002009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23901
23902 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
23903 (openbsd_opts): Likewise.
23904 (netbsd_opts): Likewise.
23905 (freebsd_flags): Added 0 terminator.
23906 (openbsd_flags): Likewise.
23907 (netbsd_flags): Likewise.
23908 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
23909 (grub_cmd_freebsd): Transformed into extended command.
23910 (grub_cmd_openbsd): Likewise.
23911 (grub_cmd_netbsd): Likewise.
23912 (cmd_freebsd): Changed type to grub_extcmd_t.
23913 (cmd_openbsd): Likewise.
23914 (cmd_netbsd): Likewise.
23915 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
23916 grub_cmd_openbsd as extended commands.
23917 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
23918 cmd_netbsd and cmd_openbsd
23919
11d1c769 239202009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23921
23922 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
23923
7a9094e5 239242009-08-21 Pavel Roskin <proski@gnu.org>
23925
5496c37e 23926 * Makefile.in (install-local): When checking if a file is in the
23927 build directory, use "test -e" to detect symlinks.
23928
7a9094e5 23929 * Makefile.in (install-local): Remove all files in
23930 $(DESTDIR)$(pkglibdir) before installing new files there.
23931
e53cea11 239322009-08-18 Felix Zielcke <fzielcke@z-51.de>
23933
23934 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
23935 grub-mkelfimage.
23936
9aced544 239372009-08-18 Felix Zielcke <fzielcke@z-51.de>
23938
23939 * util/grub-mkconfig.in: Don't use gfxterm by default if not
23940 explicitly specified by the user.
23941
b7da6bab 239422009-08-18 Pavel Roskin <proski@gnu.org>
23943
23944 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
23945 grub_uint8_t pointer for data.
23946 * include/grub/fbutil.h (struct grub_video_fbblit_info):
23947 Likewise.
23948 * video/fb/fbutil.c: Remove unnecessary casts.
23949
19f1b335 239502009-08-17 Michal Suchanek <hramrach@centrum.cz>
23951
23952 VBE cleanup.
23953
23954 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
23955 (grub_vbe_set_video_mode): Save active mode info
23956 only after setting the mode.
23957 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
23958 second argument.
23959
2f467aa9 239602009-08-17 Michal Suchanek <hramrach@centrum.cz>
23961
23962 Rename variables for clarity.
23963
23964 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
23965 (active_vbe_mode_info): ... this. All users updated.
23966 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
23967 All users updated.
23968 (initial_mode): Rename to ...
23969 (initial_vbe_mode): ... this. All users updated.
23970 (mode_in_use): Rename to ..
23971 (vbe_mode_in_use): ... this. All users updated.
23972 (mode_list): Rename to ..
23973 (vbe_mode_list): ... this. All users updated.
23974 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
23975 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
23976 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
23977 'mode_list_size' to 'vbe_mode_list_size'.
23978 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
23979 'best_mode_info' to 'best_vbe_mode_info' and
23980 'best_mode' to 'best_vbe_mode'
23981
6025fcd7 239822009-08-17 Michal Suchanek <hramrach@centrum.cz>
23983
23984 Remove duplicate grub_video_fb_get_video_ptr.
23985
23986 * include/grub/fbutil.h (get_data_ptr): Rename to ...
23987 (grub_video_fb_get_video_ptr): ... this.
23988 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
23989 * video/fb/fbutil.c: Add comment about addressing.
23990 (get_data_ptr): Rename to ...
23991 (grub_video_fb_get_video_ptr): ... this. All users updated.
23992 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
23993
cc8c6faf 239942009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23995
23996 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
23997 grub_dprintf() that was just added.
23998
08aa61f0 239992009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24000
24001 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
24002 (DEFAULT_VIDEO_MODE): Remove macros.
24003 (grub_linux_boot): Remove assumption that Linux has FB support,
24004 and use "text" as default video mode.
24005
7cef4f75 240062009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
24007
24008 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
24009 grub_dprintf.
24010 * fs/fat.c (grub_fat_read_data): Likewise.
24011
e1f39873 240122009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24013
24014 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
24015 payload.
24016 (grub_module): Likewise.
24017
c166d79e 240182009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24019
24020 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
24021 mbi->cmdline but free playground.
24022
c60cee8e 240232009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24024
24025 Handle group offset on UFS1.
24026
24027 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
24028 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
24029
c0d8b5d4 240302009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24031
24032 Split ufs.mod into ufs1.mod and ufs2.mod.
24033
24034 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
24035 (grub_fstest_SOURCES): Likewise.
24036 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
24037 (ufs_mod_SOURCES): Remove.
24038 (ufs_mod_CFLAGS): Likewise.
24039 (ufs_mod_LDFLAGS): Likewise.
24040 (ufs1_mod_SOURCES): New variable.
24041 (ufs1_mod_CFLAGS): Likewise.
24042 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 24043 (ufs2_mod_SOURCES): New variable.
24044 (ufs2_mod_CFLAGS): Likewise.
24045 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 24046 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
24047 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
24048 Likewise.
24049 (grub_emu_SOURCES): Likewise.
24050 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24051 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24052 (grub_setup_SOURCES): Likewise.
24053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24054 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
24055 (grub_setup_SOURCES): Likewise.
24056 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
24057 Likewise.
24058 * fs/ufs2.c: New file.
24059 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
24060
d3539132 240612009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24062
24063 Framebuffer split.
24064
24065 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
24066 subsystem at the end.
24067 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
24068 (video_fb_mod_SOURCES): New variable.
24069 (video_fb_mod_CFLAGS): Likewise.
24070 (video_fb_mod_LDFLAGS): Likewise.
24071 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
24072 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
24073 * video/i386/pc/vbeblit.c: Moved from here ...
24074 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
24075 * video/i386/pc/vbefill.c: Moved from here ...
24076 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
24077 * video/i386/pc/vbeutil.c: Moved from here ...
24078 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
24079 * include/grub/i386/pc/vbeblit.h: Moved from here ...
24080 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
24081 * include/grub/i386/pc/vbefill.h: Moved from here ...
24082 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
24083 * include/grub/i386/pc/vbeutil.h: Moved from here ...
24084 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
24085 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
24086 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
24087 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
24088 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
24089 (grub_video_adapter): Added 'get_info_and_fini'.
24090 (grub_video_get_info_and_fini): New prototype.
24091 (grub_video_set_mode): make modestring const char *.
24092 * loader/i386/linux.c (grub_linux_setup_video): Use
24093 grub_video_get_info_and_fini.
24094 (grub_linux_boot): Move modesetting just before booting.
24095 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
24096 grub_video_get_info_and_fini.
24097 * video/i386/pc/vbe.c: Moved framebuffer part ...
24098 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
24099 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
24100 grub_video_fbstd_colors and grub_video_fb_set_palette.
24101 (grub_video_vbe_init): Clear 'framebuffer' variable and use
24102 grub_video_fb_init.
24103 (grub_video_vbe_fini): Use grub_video_fb_fini.
24104 (grub_video_vbe_setup): Use framebuffer.render_target instead of
24105 render_target and use grub_video_fb_set_active_render_target and
24106 grub_video_fb_set_palette.
24107 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
24108 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
24109 (grub_video_vbe_adapter): Use framebuffer.
24110 * video/video.c (grub_video_get_info_and_fini): New function.
24111 (grub_video_set_mode): Make modestring const char *.
24112 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
24113 values are already initialised.
24114
d404ee56 241152009-08-14 Pavel Roskin <proski@gnu.org>
24116
24117 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
24118 ABS and APPLE_CC.
24119 * boot/i386/pc/diskboot.S: Likewise.
24120 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
24121 sectors allow compilation on MacOSX.
24122 * conf/i386-pc.rmk: Enable unconditional compilation of
24123 lnxboot.img.
24124
9a10df16 241252009-08-13 Colin Watson <cjwatson@ubuntu.com>
24126
24127 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
24128 * util/grub.d/00_header.in: Enter interruptible sleep if
24129 GRUB_HIDDEN_TIMEOUT is set.
24130
be3c9ca7 241312009-08-13 Yves Blusseau <blusseau@zetam.org>
24132
24133 * include/grub/symbol.h: Add the LOCAL macro.
24134 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
24135 starting with "L_".
24136
1f9e557e 241372009-08-13 Pavel Roskin <proski@gnu.org>
24138
9ca62843 24139 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
24140 any modern compilers we support.
24141
1f9e557e 24142 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
24143 Use local labels starting with "L_" so that Apple assembler
24144 knows they are local.
24145
81623db6 241462009-08-10 Robert Millan <rmh.grub@aybabtu.com>
24147
24148 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
24149 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
24150 (bsd_kernel_types): ... this enum.
24151
24152 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
24153 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
24154 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
24155
24156 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
24157 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
24158 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
24159 messages.
24160
f5d35e7a 241612009-08-08 Robert Millan <rmh.grub@aybabtu.com>
24162
24163 * util/grub-dumpdevtree: Moved from here ...
24164 * util/i386/efi/grub-dumpdevtree: ... to here.
24165 (hexify): New function. Converts a string to its hex version.
24166 Generate hex versions of "efi" and "device-properties" by calling
24167 hexify() on the ASCII strings rather than by hardcoding numbers.
24168
d1e1d527 241692009-08-08 Robert Millan <rmh.grub@aybabtu.com>
24170
24171 * fs/jfs.c: Update copyright year.
24172
1ebbe064 241732009-08-08 Felix Zielcke <fzielcke@z-51.de>
24174
24175 * util/grub.d/00_header.in: Fix a comment.
24176 * util/grub.d/10_linux.in: Likewise.
24177 * util/grub.d/10_windows.in: Likewise.
24178 * util/grub.d/10_hurd.in: Likewise.
24179
a78c8d24 241802009-08-08 Felix Zielcke <fzielcke@z-51.de>
24181
24182 * util/grub-mkconfig.in: Allow the user to specify the used font
24183 with GRUB_FONT.
24184
29a6b9e8 241852009-08-08 Pavel Roskin <proski@gnu.org>
24186
b5f16cc4 24187 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
24188 available, xfs.mod needs it now.
24189
2f5cb827 24190 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
24191 the "g" modifier in sed when the intention is to strip something
24192 once. This fixes comparison of kernels with multiple dashes.
24193
29a6b9e8 24194 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
24195 on it. Add missing space before closing bracket. Fix
24196 misleading formatting.
24197
892a3d98 241982009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24199
24200 * docs/grub.texi: Major overhaul. Remove all sections that are
24201 specific to GRUB Legacy, or mostly composed of Legacy-specific
24202 information.
24203
ed94253f 242042009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24205
24206 * docs/version.texi: New file. Provides version information for
24207 grub.texi.
24208
126d6628 242092009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24210
24211 * docs/grub.texi: Update CVS information to SVN.
24212 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
24213
998b5aa9 242142009-08-07 Felix Zielcke <fzielcke@z-51.de>
24215
24216 * util/grub-mkconfig.in: Remove a wrong `fi'.
24217
818e094a 242182009-08-07 Felix Zielcke <fzielcke@z-51.de>
24219
24220 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
24221 (grub_jfs_uuid): New function.
24222 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
24223
b969c52f 242242009-08-07 Felix Zielcke <fzielcke@z-51.de>
24225
24226 * util/grub-mkconfig_lib.in (font_path): Move the functionality
24227 of it to ...
24228 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
24229 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
24230
7a4894cc 242312009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24232
24233 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
24234 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
24235 Update all users.
24236
24237 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
24238 not just "vmlinu[zx]".
24239 Moved from here ...
24240 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
24241 all users.
24242
24243 * util/grub.d/10_linux.in (find_latest): Moved from here ...
24244 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
24245 all users.
24246
4e2171f8 242472009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24248
24249 * util/grub.d/10_freebsd.in: Use an absolute device path for
24250 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
24251
6dcfcb32 242522009-08-06 Felix Zielcke <fzielcke@z-51.de>
24253
24254 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
24255 handling of multiple abstraction modules.
24256
f56a8756 242572009-08-04 Robert Millan <rmh.grub@aybabtu.com>
24258
24259 Fix a bug resulting in black screen when loading Linux using a
24260 packed video mode.
24261
24262 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
24263 function.
24264
24265 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
24266 (grub_vbe_bios_getset_dac_palette_width): New function.
24267 (grub_vbe_bios_get_dac_palette_width)
24268 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
24269 grub_vbe_bios_getset_dac_palette_width()).
24270
24271 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
24272 check for return status.
24273 (grub_vbe_get_video_mode_info): When getting information for a packed
24274 mode (<= 8 bpp), obtain DAC palette width using
24275 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
24276 {red,green,blue}_mark_size.
24277
222671b2 242782009-08-04 Felix Zielcke <fzielcke@z-51.de>
24279
ecb1a6d9 24280 * commands/search.c (options): Fix help output to match actual code.
222671b2 24281
f84114f5 242822009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
24283
24284 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
24285 of homegrown code.
24286
bd288a20 242872009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 24288
24289 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
24290 on XFS or ReiserFS.
24291
8aab5e25 242922009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24293
24294 Support Apple partition map with sector size different from 512 bytes.
24295
24296 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
24297 (apple_partition_map_iterate): Respect 'aheader.blocksize'
24298 and 'apart.partmap_size'.
24299
6ad6258a 243002009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
243012009-08-01 Robert Millan <rmh.grub@aybabtu.com>
24302
24303 Fix cpuid command.
24304
24305 * commands/i386/cpuid.c (options): New variable.
24306 (grub_cmd_cpuid): Return real error.
24307 (GRUB_MOD_INIT(cpuid)): Declare options.
24308
67459bc6 243092009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
24310
24311 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
24312 valid.
24313
fbc6ab54 243142009-07-31 Bean <bean123ch@gmail.com>
24315
24316 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
24317 log2_inode.
24318 (grub_fshelp_node): Move inode field to the end.
24319 (grub_xfs_data): Remove inode field.
24320 (grub_xfs_inode_block): Calculate inode size using sblock.
24321 (grub_xfs_inode_offset): Likewise.
24322 (grub_xfs_read_inode): Calculate inode size using sblock.
24323 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
24324 (grub_xfs_iterate_dir): Calculate inode size using sblock.
24325 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
24326 to match inode size.
24327 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
24328 not accessible when data is null.
24329 (grub_xfs_open): Likewise.
24330
f45d6cfc 243312009-07-31 Bean <bean123ch@gmail.com>
24332
24333 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
24334 Don't change pv->disk if it's already set.
24335
24336 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
24337 (grub_raid_register): ... here.
24338 (grub_raid_rescan): Removed.
24339
24340 * include/grub/raid.h (grub_raid_rescan): Removed.
24341
24342 * util/grub-fstest.c: Remove include file <grub/raid.h>.
24343 (fstest): Replace grub_raid_rescan with module fini function followed
24344 by init function.
24345
24346 * util/grub-probe.c: Add include file <grub/raid.h>.
24347 (probe_raid_level): New function.
24348 (probe): Detect abstraction by walking the disk device, support two
24349 level of abstraction (LVM on RAID) when detecting partition map.
24350
24443b5a 243512009-07-31 Pavel Roskin <proski@gnu.org>
24352
24353 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
24354 to grub_zalloc(), it was erroneous.
24355 Reported by Bean <bean123ch@gmail.com>
24356
a275d9e7 243572009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
24358
24359 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 24360 embedding zone, not only the first one.
a275d9e7 24361
56c5a47f 243622009-07-29 Joe Auricchio <jauricchio@gmail.com>
24363
24364 * term/gfxterm.c (clear_char): New function.
24365 (grub_virtual_screen_setup): Use clear_char.
24366 (scroll_up): Likewise.
24367 (grub_virtual_screen_cls): Likewise.
24368
67bb323a 243692009-07-29 Felix Zielcke <fzielcke@z-51.de>
24370
24371 * util/deviceiter.c (get_acceleraid_disk_name): New static
24372 function.
24373 (grub_util_iterate_devices): Handle Accelraid devices.
24374 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
24375
388a7c75 243762009-07-28 Robert Millan <rmh.grub@aybabtu.com>
24377
24378 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
24379 separator for the suggested gfxpayload string (';' collides with the
24380 parser and needs escaping).
24381
3bb7abcf 243822009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24383
24384 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
24385 Clear direction flag before jumping to OS.
24386 (grub_multiboot2_real_boot): Likewise.
24387
2ddd36d7 243882009-07-28 Felix Zielcke <fzielcke@z-51.de>
24389
24390 * util/i386/pc/grub-install: Fix parsing of --disk-module
24391 option.
24392
c521b62b 243932009-07-28 Felix Zielcke <fzielcke@z-51.de>
24394
24395 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
24396 when embedding.
24397
880e0a0c 243982009-07-26 Felix Zielcke <fzielcke@z-51.de>
24399
24400 * util/grub-mkconfig.in (package_version): New variable.
24401 Use it do display the version.
24402
2366e356 244032009-07-25 Felix Zielcke <fzielcke@z-51.de>
24404
24405 * kern/file.c (grub_file_open): Revert to previous check with
24406 grub_errno.
24407
7ad8c80e 244082009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
24409
24410 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
24411 from help line. It's out of sync with code.
24412
72b9658b 244132009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
24414
24415 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
24416 entries on failed boot.
24417
77435277 244182009-07-25 Felix Zielcke <fzielcke@z-51.de>
24419
24420 * kern/file.c (grub_file_open): Fix an error check.
24421
fcaa8b21 244222009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
24423
35d16c74 24424 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
24425 partition map couldn't be identified.
fcaa8b21 24426
48904cd1 244272009-07-23 Pavel Roskin <proski@gnu.org>
24428
ef3c317f 24429 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
24430 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
24431 case of little endian words becomes just an optimization.
24432 Respect const modifier.
ad8ea1f4 24433 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 24434
48904cd1 24435 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
24436 to avoid loss of upper bits if align is unsigned and shorter
24437 than addr.
24438
260c9a89 244392009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
24440
24441 UUID support for UFS
24442
24443 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
24444 (grub_ufs_uuid): New function.
24445 (grub_ufs_fs): add .uuid
24446
f76ce889 244472009-07-21 Pavel Roskin <proski@gnu.org>
24448
24449 * kern/dl.c (grub_dl_check_header): Make static.
24450
6a6cbcaf 244512009-07-21 Felix Zielcke <fzielcke@z-51.de>
24452
24453 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
24454 add drivemap for Vista. It breaks Windows 7.
24455
cffcddb2 244562009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
24457
24458 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
24459 128 bytes
24460
1ef44b80 244612009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24462
24463 Add BFS support
24464
24465 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
24466 (grub_fstest_SOURCES): Likewise.
24467 (pkglib_MODULES): Add befs.mod.
24468 (befs_mod_SOURCES): New variable.
24469 (befs_mod_CFLAGS): Likewise.
24470 (befs_mod_LDFLAGS): Likewise.
24471 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24472 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24473 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24474 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24475 (grub_setup_SOURCES): Likewise.
24476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24477 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24478 (grub_setup_SOURCES): Likewise.
24479 * fs/befs.c: New file.
24480 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
24481 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
24482 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
24483 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
24484 (B_KEY_INDEX_ALIGN): New declaration.
24485 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
24486 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
24487 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
24488 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
24489 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
24490 (grub_afs_mount) [MODE_BFS]: Likewise.
24491 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
24492 (grub_afs_fs): Use GRUB_AFS_FSNAME
24493 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
24494 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
24495 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
24496 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
24497
4f253044 244982009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
24499
24500 * util/getroot.c (find_root_device): Add support for MacOSX.
24501 * util/hostdisk.c: Likewise.
24502
57a55913 245032009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24504
24505 * font/font.c (find_glyph): Check whether a font is present to avoid
24506 segmentation fault.
75421ca9 24507
245082009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 24509
24510 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
24511
e98cd0c2 245122009-07-20 Pavel Roskin <proski@gnu.org>
24513
24514 * configure.ac: Trim excessively wordy excuses.
24515
1d2d169a 245162009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24517
24518 Add symlink, mtime and label support to AtheFS.
24519
24520 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
24521 (grub_afs_iterate_dir): Handle symlinks.
24522 (grub_afs_open): Use grub_afs_read_symlink.
24523 (grub_afs_dir): Likewise.
24524 Pass mtime.
24525 (grub_afs_label): New function.
24526 (grub_afs_fs): Add grub_afs_label.
24527 (grub_afs_read_symlink): New function.
24528
186f3189 245292009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24530
24531 Fix AtheFS support.
24532
24533 * fs/afs.c: Fix comments style.
24534 (grub_afs_blockrun): Declare as packed.
24535 (grub_afs_datastream): Likewise.
24536 (grub_afs_bnode): Likewise.
24537 (grub_afs_btree): Likewise.
24538 (grub_afs_sblock): Likewise.
24539 Declare `name' as char.
24540 (grub_afs_inode): Declare as packed.
24541 Change void *vnode to grub_uint32_t unused.
24542 (grub_afs_iterate_dir): Check that key_size is positive.
24543 (grub_afs_mount): Don't read superblock twice.
75421ca9 24544 (grub_afs_dir): Don't free node in case of error,
186f3189 24545 grub_fshelp_find_file already handles this.
24546 (grub_afs_open): Likewise.
24547
5680109e 245482009-07-19 Pavel Roskin <proski@gnu.org>
24549
24550 * Makefile.in: Remove LIBLZO and enable_lzo.
24551 * conf/i386-pc.rmk: Remove lzo support.
24552 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
24553 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
24554 support.
24555 * kern/i386/pc/lzo1x.S: Remove.
24556 * kern/i386/pc/startup.S: Remove lzo support.
24557 * util/i386/pc/grub-mkimage.c: Likewise.
24558
ac70fa32 245592009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
24560
24561 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
24562 * fs/xfs.c (grub_xfs_dir): Likewise.
24563 * fs/afs.c (grub_afs_dir): Likewise.
24564 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
24565 (grub_iso9660_open): Likewise.
24566 * fs/jfs.c (grub_jfs_open): Likewise.
24567 * fs/ext2.c (grub_ext2_dir): Likewise.
24568 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
24569 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 24570
eab58da2 245712009-07-16 Pavel Roskin <proski@gnu.org>
24572
d2838156 24573 * configure.ac: Never add "-c" to CFLAGS.
24574
55c70904 24575 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
24576
43e6200c 24577 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
24578 grub_cv_cc_efiemu should be used.
24579
ce7a733d 24580 * configure.ac: Typo fixes.
24581
eab58da2 24582 * kern/mm.c (grub_zalloc): New function.
24583 (grub_debug_zalloc): Likewise.
24584 * include/grub/mm.h: Declare grub_zalloc() and
24585 grub_debug_zalloc().
24586 * util/misc.c (grub_zalloc): New function.
24587 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
24588 instead of grub_malloc(), remove unneeded initializations.
24589 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
24590 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
24591 * commands/parttool.c (grub_cmd_parttool): Likewise.
24592 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24593 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
24594 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
24595 * disk/usbms.c (grub_usbms_finddevs): Likewise.
24596 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
24597 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
24598 (grub_cmd_efiemu_pnvram): Likewise.
24599 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
24600 * fs/iso9660.c (grub_iso9660_mount): Likewise.
24601 (grub_iso9660_iterate_dir): Likewise.
24602 * fs/jfs.c (grub_jfs_opendir): Likewise.
24603 * fs/ntfs.c (list_file): Likewise.
24604 (grub_ntfs_mount): Likewise.
24605 * kern/disk.c (grub_disk_open): Likewise.
24606 * kern/dl.c (grub_dl_load_core): Likewise.
24607 * kern/elf.c (grub_elf_file): Likewise.
24608 * kern/env.c (grub_env_context_open): Likewise.
24609 (grub_env_set): Likewise.
24610 (grub_env_set_data_slot): Likewise.
24611 * kern/file.c (grub_file_open): Likewise.
24612 * kern/fs.c (grub_fs_blocklist_open): Likewise.
24613 * loader/i386/multiboot.c (grub_module): Likewise.
24614 * loader/xnu.c (grub_xnu_create_key): Likewise.
24615 (grub_xnu_create_value): Likewise.
24616 * normal/main.c (grub_normal_add_menu_entry): Likewise.
24617 (read_config_file): Likewise.
24618 * normal/menu_entry.c (make_screen): Likewise.
24619 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24620 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
24621 * script/sh/script.c (grub_script_parse): Likewise.
24622 * video/bitmap.c (grub_video_bitmap_create): Likewise.
24623 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
24624 * video/readers/png.c (grub_png_output_byte): Likewise.
24625 (grub_video_reader_png): Likewise.
24626
830afef7 246272009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 24628
24629 Enable all targets that can be built by default
24630
830afef7 24631 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 24632 grub-mkfont and grub-fstest if they can be built
24633
ee293aee 246342009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24635
24636 Fix hang and segmentation fault in grub-emu-usb
24637
24638 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
24639 * util/usb.c (grub_libusb_devices): likewise
24640 (grub_libusb_init): rename to ...
24641 (GRUB_MOD_INIT (libusb)):...this
24642 (grub_libusb_fini): rename to ..
24643 (GRUB_MOD_FINI (libusb)):...this
24644 * disk/usbms.c (grub_usbms_transfer): fix retry logic
24645 * include/grub/disk.h (grub_raid_init): removed, it's useless
24646 (grub_raid_fini): likewise
24647 (grub_lvm_init): likewise
24648 (grub_lvm_fini): likewise
24649 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
24650 by grub_init_all
24651
94414221 246522009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24653
24654 Fix libusb
24655
24656 * Makefile.in (LIBUSB): new macro
24657 * genmk.rb (Utility/print_tail): new method
24658 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
24659 (top level): call util.print_tail at the end.
24660
59ade63d 246612009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24662
24663 Make FreeBSD accept zpool.cache
24664
24665 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
24666 type is /boot/zfs/zpool.cache
24667
a58da8c7 246682009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24669
24670 Fix 64-bit efiemu
24671
24672 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
24673 correct wrong typedef
24674 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
24675
20591577 246762009-07-15 Pavel Roskin <proski@gnu.org>
24677
560ca572 24678 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
24679 * kern/disk.c (struct grub_disk_cache): Likewise.
24680
e8e8e4fd 24681 * commands/probe.c (options): Typo fix.
24682
fde24e10 24683 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
24684 Increase to 0x5a to accommodate FAT32. Adjust other offsets
24685 accordingly.
24686 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
24687
379c54c1 24688 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
24689 the end of "Error" to make the message more readable.
24690
7bd8f5bf 24691 * boot/i386/pc/boot.S (kernel_segment): Remove.
24692 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
24693 for destination.
24694
40b132c5 24695 * boot/i386/pc/boot.S (boot_version): Remove.
24696 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
24697 Remove.
24698
20591577 24699 * include/grub/i386/pc/boot.h: Sort all offsets.
24700 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
24701 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
24702 * boot/i386/pc/boot.S: Assert location of every offset listed in
24703 include/grub/i386/pc/boot.h.
24704
2df32b2c 247052009-07-13 Pavel Roskin <proski@gnu.org>
24706
44b5d879 24707 * include/grub/i386/coreboot/machine.h: Rename
24708 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
24709 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
24710 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
24711
17dc3751 24712 * kern/dl.c: Force native word size to suppress warnings when
24713 compiling grub-emu.
24714
2df32b2c 24715 * kern/device.c (grub_device_iterate): Change struct part_ent to
24716 hold the name, not a pointer to it. Use one grub_malloc() per
24717 partition, not two. Free partition_name if grub_malloc() fails.
24718 Set ents to NULL only before grub_partition_iterate() is called.
24719
75c59f59 247202009-07-11 Bean <bean123ch@gmail.com>
24721
24722 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
24723 childname.
24724
0ae1bf88 247252009-07-10 Bean <bean123ch@gmail.com>
247262009-07-10 Robert Millan <rmh.grub@aybabtu.com>
24727
24728 * kern/ieee1275/openfw.c (grub_children_iterate)
24729 (grub_devalias_iterate): Fix size evaluation for property or path
24730 strings, which was broken since r2132.
24731
8279cade 247322009-07-07 Pavel Roskin <proski@gnu.org>
24733
7d8a52d3 24734 * commands/search.c (search_file): Merge into ...
24735 (search_fs): ... this. Accept search type as argument.
24736 (grub_cmd_search): Pass search type to search_fs().
24737
25f9a05a 24738 * include/grub/util/console.h: New file.
24739 * util/console.c: Use it instead of grub/machine/console.h.
24740 * util/grub-emu.c: Likewise.
24741
8279cade 24742 * lib/arg.c (find_long_option): Remove.
24743 (find_long): Add `len' argument, make `s' const char *.
24744 (grub_arg_parse): Parse long options in place, not in a
24745 temporary buffer.
24746
4a11b60f 247472009-07-06 Pavel Roskin <proski@gnu.org>
24748
99f68041 24749 * commands/search.c (search_fs): Fix potential NULL pointer
24750 dereference.
24751
4a11b60f 24752 * commands/search.c (search_fs): Replace QUID macro with quid_fn
24753 function pointer.
24754
e110f4de 247552009-07-06 Daniel Mierswa <impulze@impulze.org>
24756
24757 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
24758 comparison.
24759
46eeb6a2 247602009-07-05 Pavel Roskin <proski@gnu.org>
24761
bab74958 24762 * include/grub/i386/linux.h (struct linux_kernel_params):
24763 Restore padding3, it's still needed.
24764
46eeb6a2 24765 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
24766 FreeBSD.
24767 * util/osdetect.lua: Likewise.
24768
b4a1dc79 247692009-07-05 Bean <bean123ch@gmail.com>
24770
24771 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
24772
24773 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
24774 (grub_lua_getenv): Likewise.
24775 (grub_lua_setenv): Likewise.
24776 (save_errno): New function.
24777 (push_result): Likewise.
24778 (grub_lua_enum_device): Likewise.
24779 (grub_lua_enum_file): Likewise.
24780 (grub_lua_file_open): Likewise.
24781 (grub_lua_file_close): Likewise.
24782 (grub_lua_file_seek): Likewise.
24783 (grub_lua_file_read): Likewise.
24784 (grub_lua_file_getline): Likewise.
24785 (grub_lua_file_getsize): Likewise.
24786 (grub_lua_file_getpos): Likewise.
24787 (grub_lua_file_eof): Likewise.
24788 (grub_lua_file_exist): Likewise.
24789 (grub_lua_add_menu): Likewise.
24790
24791 * script/lua/grub_lua.h (isupper): New inline function.
24792 (islower): Likewise.
24793 (ispunct): Likewise.
24794 (isxdigit): Likewise.
24795 (strcspn): Change to normal function.
24796 (strpbkr): New function declaration.
24797 (memchr): Likewise.
24798
24799 * script/lua/grub_main.c (scan_str): New function.
24800 (strcspn): Likewise.
24801 (strpbrk): Likewise.
24802 (memchr): Likewise.
24803
24804 * script/lua/linit.c (lualibs): Enable the string library.
24805
24806 * util/osdetect.lua: New file.
24807
2da92295 248082009-07-04 Robert Millan <rmh.grub@aybabtu.com>
24809
24810 * include/grub/i386/linux.h (struct linux_kernel_params): Add
24811 `capabilities' member.
24812
b2582ec9 248132009-07-02 Pavel Roskin <proski@gnu.org>
24814
24815 * genparttoollist.sh: Add missing newline at the end.
24816
32622956 248172009-07-01 Pavel Roskin <proski@gnu.org>
24818
87a7339e 24819 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
24820
d23af54e 24821 * util/hostdisk.c (open_device): Remove `const' from
24822 `sysctl_size', as sysctlbyname() can change it (in this case it
24823 doesn't actually happen).
24824
c94b18a9 24825 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
24826 using signed long int constants.
24827
c6cd3ef0 24828 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
24829 constant to avoid a warning on FreeBSD.
24830
0df63420 24831 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
24832 where it's needed.
24833
999577f1 24834 * Makefile.in: Install include/grub/machine symlink.
24835
6f41557f 24836 * Makefile.in: When installing symlinks, use "cp -fR", which
24837 works on FreeBSD and MacOSX.
24838 From Yves Blusseau <cl7m42e02@sneakemail.com>
24839
c8d22988 24840 * kern/dl.c (grub_dl_resolve_symbol): Make static.
24841 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
24842
1b96e952 24843 * util/misc.c: Move grub_reboot() and grub_halt() ...
24844 * util/grub-emu.c: ... here. Make main_env static.
24845 * include/grub/util/misc.h: Remove main_env.
24846
2ef0084d 24847 * kern/mm.c: Use correct format to print size_t.
24848
32622956 24849 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
24850 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
24851 * kern/powerpc/dl.c: Likewise.
24852 * kern/sparc64/dl.c: Likewise.
24853 * kern/x86_64/dl.c: Likewise.
24854
3f7f0cd0 248552009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24856
24857 Fix grub-emu build on sparc64-ieee1275.
24858
75421ca9 24859 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 24860 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
24861
211d06b5 248622009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24863
24864 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
24865 (grub_reboot, grub_halt): New functions.
24866
24867 * util/i386/pc/misc.c: Delete. Update all users.
24868 * util/sparc64/ieee1275/misc.c: Likewise.
24869 * util/powerpc/ieee1275/misc.c: Likewise.
24870
aaf53e3c 248712009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24872
24873 * conf/i386.rmk (setjmp_mod_SOURCES)
24874 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
24875 * conf/common.rmk (setjmp_mod_SOURCES)
24876 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
24877 to use $(target_cpu).
24878 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
24879 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
24880 * conf/powerpc-ieee1275.rmk: Likewise.
24881 * conf/sparc64-ieee1275.rmk: Likewise.
24882
24883 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
24884 $(target_cpu) for kern/$(target_cpu)/dl.c.
24885 * conf/i386-efi.rmk: Likewise.
24886 * conf/i386-ieee1275.rmk: Likewise.
24887 * conf/x86_64-efi.rmk: Likewise.
24888 * conf/i386-coreboot.rmk: Likewise.
24889 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
24890 $(target_cpu) for kern/$(target_cpu)/dl.c and for
24891 kern/$(target_cpu)/cache.S.
24892 * conf/sparc64-ieee1275.rmk: Likewise.
24893
a337130b 248942009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24895
24896 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
24897 type to `grub_uint8_t', and adjust `padding9' accordingly.
24898
c6fe4d53 248992009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24900
b09db61d 24901 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
24902
c6fe4d53 24903 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
24904 assembly in final jump, using register constraints.
24905
b09db61d 24906 (grub_linux_boot): For text mode, initialize `have_vga' using
24907 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
24908
24909 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
24910 right before the final jump.
24911
24912 Set `video_mode' to 0x3.
24913
24914 Document initialization of `video_page', `video_mode' and
24915 `video_ega_bx'.
24916
28333ad0 249172009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24918
24919 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
24920 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 24921 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 24922
02164e1b 249232009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24924
24925 Fix build on Debian / sparc.
24926
24927 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
24928
18b6c557 249292009-06-28 Pavel Roskin <proski@gnu.org>
24930
85f2aab6 24931 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
24932 fix a warning.
24933
18b6c557 24934 * util/grub.d/10_linux.in: Match SUSE style initrd names.
24935
ad760f81 249362009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24937
24938 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
24939 `err'.
24940
87a4623b 249412009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24942
24943 Revert r2338.
24944
24945 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
24946 file can't be opened. grub_file_open() is already supposed to set
75421ca9 24947 grub_errno / grub_errmsg appropriately.
87a4623b 24948 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24949
8231fb77 249502009-06-27 Pavel Roskin <proski@gnu.org>
249512009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24952
24953 * include/grub/dl.h: Include grub/elf.h.
24954 (struct grub_dl): Add symtab field.
24955 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
24956 GRUB_MODULES_MACHINE_READONLY.
24957 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
24958 of the header for read-only modules.
24959 (grub_dl_unload): Free mod->symtab for read-only modules.
24960 * kern/i386/dl.c: Use mod->symtab.
24961 * kern/powerpc/dl.c: Likewise.
24962 * kern/sparc64/dl.c: Likewise.
24963 * kern/x86_64/dl.c: Likewise.
24964
24965 * conf/i386-qemu.rmk: New file.
24966 * kern/i386/qemu/startup.S: Likewise.
24967 * kern/i386/qemu/mmap.c: Likewise.
24968 * boot/i386/qemu/boot.S: Likewise.
24969 * include/grub/i386/qemu/time.h: Likewise.
24970 * include/grub/i386/qemu/serial.h: Likewise.
24971 * include/grub/i386/qemu/kernel.h: Likewise.
24972 * include/grub/i386/qemu/console.h: Likewise.
24973 * include/grub/i386/qemu/boot.h: Likewise.
24974 * include/grub/i386/qemu/init.h: Likewise.
24975 * include/grub/i386/qemu/machine.h: Likewise.
24976 * include/grub/i386/qemu/loader.h: Likewise.
24977 * include/grub/i386/qemu/memory.h: Likewise.
24978
24979 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
24980 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
24981 [qemu] (pkglib_IMAGES): Add `boot.img'.
24982 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
24983 [qemu] (boot_img_FORMAT): New variables.
24984 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
24985 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
24986 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
24987 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24988 [qemu] (kernel_img_FORMAT): New variables.
24989
24990 * configure.ac: Recognise `i386-qemu'.
24991
24992 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
24993 (for no compression).
24994 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
24995 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
24996 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
24997 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
24998 ifdefs).
24999
97fe384e 250002009-06-27 Pavel Roskin <proski@gnu.org>
25001
25002 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
25003 read.
25004 * efiemu/prepare32.c: Likewise.
25005 * efiemu/prepare64.c: Likewise.
25006
c402ab17 250072009-06-26 Pavel Roskin <proski@gnu.org>
25008
25009 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
25010 * include/grub/elf.h: Define symbols without "32" or "64" based
25011 on GRUB_TARGET_WORDSIZE.
25012 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
25013 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
25014 ELF definitions.
25015 * efiemu/loadcore64.c: Likewise.
25016 * loader/i386/bsd32.c: Likewise.
25017 * loader/i386/bsd64.c: Likewise.
25018 * kern/dl.c: Remove own ELF definitions.
25019 * util/i386/efi/grub-mkimage.c: Likewise.
25020
9bbdfd4d 250212009-06-23 Robert Millan <rmh.grub@aybabtu.com>
25022
25023 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
25024 segment 0x0 unconditionally, because the reference generated by
25025 GAS is an absolute address.
25026
a42ce6e9 250272009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25028
25029 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
25030 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
25031
c952cf92 250322009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25033
25034 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
25035 indexes. Check for -f explicitly.
cc3752ad 25036 (search_file): Improve error message.
25037 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 25038
132a0a59 250392009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25040
25041 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
25042 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
25043
387a140c 250442009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25045
25046 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
25047 * conf/i386-ieee1275.rmk: Likewise.
25048 * conf/i386-coreboot.rmk: Likewise.
25049
25050 * kern/i386/pc/startup.S (grub_stop): Remove function.
25051 * kern/i386/ieee1275/startup.S: Likewise.
25052 * kern/i386/coreboot/startup.S: Likewise.
25053 * kern/i386/misc.S (grub_stop): New function.
25054
41da9665 250552009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25056
25057 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
25058 * kern/i386/realmode.S (real_to_prot): ... to here.
25059
bf337234 250602009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25061
25062 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
25063 with `kernel.img'.
25064 (kernel_elf_SOURCES): Rename to ...
25065 (kernel_img_SOURCES): ... this.
25066 (kernel_elf_HEADERS): Rename to ...
25067 (kernel_img_HEADERS): ... this. Update all users.
25068 (kernel_elf_ASFLAGS): Rename to ...
25069 (kernel_img_ASFLAGS): ... this.
25070 (kernel_elf_CFLAGS): Rename to ...
25071 (kernel_img_CFLAGS): ... this.
25072 (kernel_elf_LDFLAGS): Rename to ...
25073 (kernel_img_LDFLAGS): ... this.
25074 * conf/i386-coreboot.rmk: Likewise.
25075 * conf/powerpc-ieee1275.rmk: Likewise.
25076
25077 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
25078 with "kernel.img".
25079
f52196ff 250802009-06-21 Pavel Roskin <proski@gnu.org>
25081
c3cee413 25082 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
25083 to match nested functions.
25084 * loader/sparc64/ieee1275/linux.c: Likewise.
25085
f52196ff 25086 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
25087
58750afc 250882009-06-21 Robert Millan <rmh.grub@aybabtu.com>
25089
25090 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
25091 all i386 platforms.
25092
15355c7d 250932009-06-21 Robert Millan <rmh.grub@aybabtu.com>
25094
25095 Fix asm file handling on ELF, and remove workarounds.
25096
25097 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 25098 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 25099 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
25100 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
25101
3f3ec72b 251022009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
25103
25104 Load BSD ELF modules
25105
25106 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
25107 and loader/i386/bsd64.c
25108 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
25109 (FREEBSD_MODTYPE_ELF_MODULE): New definition
25110 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
25111 (grub_freebsd_load_elfmodule32): New declaration
25112 (grub_freebsd_load_elfmoduleobj64): Likewise
25113 (grub_freebsd_load_elf_meta32): Likewise
25114 (grub_freebsd_load_elf_meta64): Likewise
25115 (grub_freebsd_add_meta): Likewise
25116 (grub_freebsd_add_meta_module): Likewise
25117 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
25118 (grub_freebsd_add_meta_module): Likewise and move module-specific
25119 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
25120 (grub_cmd_freebsd): Add elf-kernel specific parts
25121 based on grub_freebsd_add_meta_module
25122 (grub_cmd_freebsd_module): Add type parsing moved from
25123 grub_freebsd_add_meta_module
25124 (grub_cmd_freebsd_module_elf): New function
25125 (cmd_freebsd_module_elf): New variable
25126 (GRUB_MOD_INIT): Register freebsd_module_elf
25127 * loader/i386/bsd32.c: New file
25128 * loader/i386/bsd64.c: Likewise
25129 * loader/i386/bsdXX.c: Likewise
25130 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
25131 (grub_elf64_load): Likewise
25132 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
25133 All users updated
25134 (grub_elf64_load_hook_t): Likewise
25135
0db15301 251362009-06-21 Colin Watson <cjwatson@ubuntu.com>
25137
25138 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
25139 variable.
25140 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
25141 don't write a menu entry for recovery mode.
25142
546796c1 251432009-06-20 Robert Millan <rmh.grub@aybabtu.com>
25144
25145 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
25146 after it's no longer needed.
25147
cd7310d5 251482009-06-20 Robert Millan <rmh.grub@aybabtu.com>
25149
25150 * include/grub/i386/loader.h (grub_linux_prot_size)
25151 (grub_linux_tmp_addr, grub_linux_real_addr)
25152 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
25153 GRUB_MACHINE_PCBIOS.
25154 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
25155 common grub_util_info() call to ...
25156 (generate_image): ... here.
25157 Fix use of uninitialized memory, comparison of signed with
25158 unsigned integers and memory leak.
25159 Remove bogus module address message.
25160
ab32d3b5 251612009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25162
25163 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
25164 grub_raid_register
25165 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
25166
024ef597 251672009-06-19 Pavel Roskin <proski@gnu.org>
25168
25169 * configure.ac: Remove stray AC_MSG_CHECKING.
25170
3ac72b51 251712009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
25172
25173 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 25174
e14cd814 251752009-06-18 Pavel Roskin <proski@gnu.org>
25176
25177 * conf/common.rmk: Add fs_file.mod.
25178 * disk/fs_file.c: New file.
25179 * include/grub/disk.h (enum grub_disk_dev_id): Add
25180 GRUB_DISK_DEVICE_FILE_ID.
25181
26586d98 251822009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
25183
25184 Fix build with Apple's toolchain. Part 2
25185
25186 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
25187 a fake start
25188
26de2bcd 251892009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
25190
25191 Fix build with Apple's toolchain. Part 1
25192
25193 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
25194 for long calls
25195 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 25196 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 25197 Apple's toolchain
25198
09b3490b 251992009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
25200
25201 Fix warnings
25202
25203 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
25204 (decomp_block): initialize ch
25205 use grub_memcpy instead of memcpy
25206
c22a006a 252072009-06-17 Pavel Roskin <proski@gnu.org>
25208
d3638678 25209 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
25210 version, use declarations needed to use vga_text as the startup
25211 console.
25212
c22a006a 25213 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
25214 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
25215 the kernel.
25216 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
25217 and grub_at_keyboard_fini(), it's done on module load and
25218 unload.
25219
05b129e0 252202009-06-17 Felix Zielcke <fzielcke@z-51.de>
25221
25222 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
25223 file can't be found.
25224 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25225
cf24ed9e 252262009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
25227
25228 Fix newline handling
25229
25230 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 25231 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 25232 (grub_script_yylex): don't segfault on unterminated script
25233 newline terminates command and variable
25234
74aa8e4b 252352009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
25236
25237 avoid double grub_adjust_range call. Bug reported by David Simner
25238
25239 * kern/disk.c (grub_disk_write): change to raw disk access before
25240 calling disk_read
25241
1bd265f3 252422009-06-17 Colin Watson <cjwatson@ubuntu.com>
25243
25244 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
25245 spaces, for the benefit of help2man.
25246 * util/i386/efi/grub-mkimage.c (usage): Likewise.
25247
a2d08c06 252482009-06-16 Pavel Roskin <proski@gnu.org>
25249
25250 * kern/i386/halt.c: Include grub/machine/init.h.
25251 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
25252
b97bcb19 252532009-06-16 Felix Zielcke <fzielcke@z-51.de>
25254
25255 * util/grub.d/30_os-prober.in: Use ${root} in the generated
25256 drivemap menuentry.
25257
0644f96c 252582009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
25259
25260 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
25261 `echo' command.
25262
3ef17a2e 252632009-06-16 Pavel Roskin <proski@gnu.org>
25264
25265 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
25266 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
25267 save %dx, we only need %dl and we never change it.
25268 * boot/i386/pc/cdboot.S: Don't set the root drive.
25269 * boot/i386/pc/pxeboot.S: Likewise.
25270 * include/grub/i386/pc/boot.h: Remove
25271 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
25272 GRUB_BOOT_MACHINE_DRIVE_CHECK.
25273 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
25274 * kern/i386/pc/init.c (make_install_device): Remove references
25275 to grub_root_drive.
25276 * kern/i386/pc/startup.S: Likewise.
25277 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
25278
693fe637 252792009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
25280
25281 xnu_uuid command
25282
25283 * commands/xnu_uuid.c: new file
25284 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
25285 (xnu_uuid_mod_SOURCES): new variable
25286 (xnu_uuid_mod_CFLAGS): likewise
25287 (xnu_uuid_mod_LDFLAGS): likewise
25288 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
25289 * conf/i386-ieee1275.rmk: likewise
25290 * conf/i386-pc.rmk: likewise
25291 * conf/powerpc-ieee1275.rmk: likewise
25292 * conf/sparc64-ieee1275.rmk: likewise
25293 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
25294
c9da87d0 252952009-06-16 Pavel Roskin <proski@gnu.org>
25296
25297 * configure.ac: Avoid '==' in test command, it's not portable.
25298
9c6f4596 252992009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
25300
25301 Probe command
25302
25303 * commands/probe.c: new file
25304 * conf/common.rmk (pkglib_MODULES): add probe.mod
25305 (probe_mod_SOURCES): new variable
25306 (probe_mod_CFLAGS): likewise
25307 (probe_mod_LDFLAGS): likewise
25308 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
25309 * conf/i386-ieee1275.rmk: likewise
25310 * conf/i386-pc.rmk: likewise
25311 * conf/powerpc-ieee1275.rmk: likewise
25312 * conf/sparc64-ieee1275.rmk: likewise
25313
70b7f9fd 253142009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
25315
25316 Fix handling of string like \"hello\" and "a
25317 b"
25318
25319 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
25320 (grub_script_yylex): fix parsing of quoting, escaping and newline
25321
71c79a6b 253222009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
25323
dd74360c 25324 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 25325 handling
dd74360c 25326
0644f96c 253272009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 25328
25329 * util/grub-mkconfig.in: Fix parsing of --output option.
25330
e40893c3 253312009-06-12 Pavel Roskin <proski@gnu.org>
25332
25333 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
25334 genmk.rb don't need to be generated or installed.
25335
3a1acfe2 253362009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25337
25338 * commands/i386/pc/drivemap_int13h.S: add more comments
25339
3a4575d4 253402009-06-11 Pavel Roskin <proski@gnu.org>
25341
0658e928 25342 * Makefile.in (uninstall): Uninstall manuals.
25343
ca0388f0 25344 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
25345 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
25346 and update-grub_lib in two places.
25347 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
25348
e3b27c39 25349 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
25350 a compiler warning.
25351
3a4575d4 25352 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
25353 `entry_lo' to fix variable shadowing.
25354
af1f4f55 253552009-06-11 Christian Franke <franke@computer.org>
25356
25357 * kern/misc.c (__enable_execute_stack): Add missing return type
25358 to prevent gcc warning.
25359
5225e649 253602009-06-11 Felix Zielcke <fzielcke@z-51.de>
25361
25362 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
25363
7d83bd47 253642009-06-11 Pavel Roskin <proski@gnu.org>
25365
c1cb63ba 25366 * Makefile.in: Don't rely on any scripts being executable.
25367 Always use $(SHELL) to run shell scripts.
25368
7d83bd47 25369 * configure.ac: Always define ___main if using -nostdlib. This
25370 fixes tests on Cygwin.
25371
948f48e7 253722009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
25373
25374 UDF fix
25375
7d83bd47 25376 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 25377 is in bytes and not in blocks
7d83bd47 25378
8ada9bc1 253792009-06-11 Pavel Roskin <proski@gnu.org>
25380
25381 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
25382 warning.
25383
25ad2323 253842009-06-11 Felix Zielcke <fzielcke@z-51.de>
25385
25386 * util/grub.d/30_os-prober.in: Fix a comment. Source
25387 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
25388 to set the root device. Place drivemap command in the generated
25389 chain entry.
25390
e65acb0c 253912009-06-11 Pavel Roskin <proski@gnu.org>
25392
25393 * configure.ac: Remove host_m32. Issues with 64-bit utilities
25394 have long been resolved.
25395
f285fe2d 253962009-06-11 Colin Watson <cjwatson@ubuntu.com>
25397
bd47b0b5 25398 * util/grub.d/10_linux.in: Capitalise "Linux".
25399
f285fe2d 25400 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
25401
a0c62e4e 254022009-06-11 Pavel Roskin <proski@gnu.org>
25403
b6783cb2 25404 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
25405 fix a gcc warning and ensure that the function won't ever exit.
25406
dde032e8 25407 * kern/i386/ieee1275/init.c: Add missing prototype for
25408 grub_stop_floppy().
25409
22cd079d 25410 * loader/ieee1275/multiboot2.c [__i386__]: Include
25411 grub/cpu/multiboot.h.
25412
a0c62e4e 25413 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
25414 casts to short - they are not portable and cause warnings. Fix
25415 use of uninitialized values in input_buf. Use ARRAY_SIZE.
25416
63963d17 254172009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
25418
25419 Drivemap fixes
25420
25421 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
25422 new function
25423 (grub_get_root_biosnumber_saved): new variable
25424 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
25425 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 25426 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 25427 %dx after the call if necessary
25428 * conf/common.rmk (pkglib_MODULES): remove boot.mod
25429 (boot_mod_SOURCES): remove
25430 (boot_mod_CFLAGS): remove
25431 (boot_mod_LDFLAGS): remove
25432 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
25433 (boot_mod_SOURCES): new variable
25434 (boot_mod_CFLAGS): likewise
25435 (boot_mod_LDFLAGS): likewise
25436 * conf/i386-efi.rmk: likewise
25437 * conf/i386-ieee1275.rmk: likewise
25438 * conf/i386-pc.rmk: likewise
25439 * conf/powerpc-ieee1275.rmk: likewise
25440 * conf/sparc64-ieee1275.rmk: likewise
25441 * conf/x86_64-efi.rmk: likewise
25442 * include/grub/i386/pc/biosnum.h: new file
25443 * lib/i386/pc/biosnum.c: likewise
25444 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
25445 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
25446 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 25447
33abf7ae 254482009-06-10 Pavel Roskin <proski@gnu.org>
25449
5ac35b35 25450 * io/gzio.c (test_header): Don't reuse one buffer for all data.
25451 Use separate variables. Read only the file size at the end, but
25452 not the checksum that we don't use.
25453
5c5215d5 25454 * kern/file.c (grub_file_read): Use void pointer for the buffer.
25455 Adjust all callers.
25456
27d5fef7 25457 * kern/ieee1275/openfw.c: Remove libc includes.
25458 * kern/ieee1275/cmain.c: Likewise.
25459 * include/grub/ieee1275/ieee1275.h: Likewise.
25460
33abf7ae 25461 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
25462 compiler warnings.
25463
19d50c2b 254642009-06-10 Felix Zielcke <fzielcke@z-51.de>
25465
25466 * Makefile.in: Remove all trailing whitespace.
25467 * conf/i386-pc.rmk: Likewise.
25468 * conf/powerpc-ieee1275.rmk: Likewise.
25469 * conf/sparc64-ieee1275.rmk: Likewise.
25470 * docs/grub.texi: Likewise.
25471 * docs/texinfo.tex: Likewise.
25472 * disk/fs_uuid.c: Likewise.
25473 * disk/lvm.c: Likewise.
25474 * disk/scsi.c: Likewise.
25475 * disk/ata.c: Likewise.
25476 * disk/ieee1275/ofdisk.c: Likewise.
25477 * disk/i386/pc/biosdisk.c: Likewise.
25478 * disk/host.c: Likewise.
25479 * disk/raid.c: Likewise.
25480 * disk/efi/efidisk.c: Likewise.
25481 * disk/usbms.c: Likewise.
25482 * disk/memdisk.c: Likewise.
25483 * disk/loopback.c: Likewise.
25484 * kern/powerpc/dl.c: Likewise.
25485 * kern/device.c: Likewise.
25486 * kern/dl.c: Likewise.
25487 * kern/sparc64/dl.c: Likewise.
25488 * kern/ieee1275/ieee1275.c: Likewise.
25489 * kern/term.c: Likewise.
25490 * kern/fs.c: Likewise.
25491 * kern/i386/dl.c: Likewise.
25492 * kern/i386/pc/startup.S: Likewise.
25493 * kern/i386/pc/init.c: Likewise.
25494 * kern/i386/pc/mmap.c: Likewise.
25495 * kern/i386/pc/lzo1x.S: Likewise.
25496 * kern/i386/ieee1275/init.c: Likewise.
25497 * kern/i386/realmode.S: Likewise.
25498 * kern/i386/tsc.c: Likewise.
25499 * kern/partition.c: Likewise.
25500 * kern/corecmd.c: Likewise.
25501 * kern/file.c: Likewise.
25502 * kern/efi/efi.c: Likewise.
25503 * kern/efi/init.c: Likewise.
25504 * kern/efi/mm.c: Likewise.
25505 * kern/main.c: Likewise.
25506 * kern/err.c: Likewise.
25507 * kern/env.c: Likewise.
25508 * kern/disk.c: Likewise.
25509 * kern/generic/millisleep.c: Likewise.
25510 * kern/generic/rtc_get_time_ms.c: Likewise.
25511 * kern/misc.c: Likewise.
25512 * kern/parser.c: Likewise.
25513 * genmk.rb: Likewise.
25514 * configure.ac: Likewise.
25515 * boot/i386/pc/diskboot.S: Likewise.
25516 * boot/i386/pc/pxeboot.S: Likewise.
25517 * boot/i386/pc/boot.S: Likewise.
25518 * boot/i386/pc/lnxboot.S: Likewise.
25519 * boot/i386/pc/cdboot.S: Likewise.
25520 * parttool/pcpart.c: Likewise.
25521 * video/readers/tga.c: Likewise.
25522 * video/video.c: Likewise.
25523 * video/bitmap.c: Likewise.
25524 * lib/envblk.c: Likewise.
25525 * lib/i386/setjmp.S: Likewise.
25526 * fs/xfs.c: Likewise.
25527 * fs/afs.c: Likewise.
25528 * fs/fat.c: Likewise.
25529 * fs/ntfs.c: Likewise.
25530 * fs/udf.c: Likewise.
25531 * fs/affs.c: Likewise.
25532 * fs/iso9660.c: Likewise.
25533 * fs/hfs.c: Likewise.
25534 * fs/fshelp.c: Likewise.
25535 * fs/ext2.c: Likewise.
25536 * fs/jfs.c: Likewise.
25537 * fs/reiserfs.c: Likewise.
25538 * fs/hfsplus.c: Likewise.
25539 * fs/minix.c: Likewise.
25540 * fs/cpio.c: Likewise.
25541 * fs/sfs.c: Likewise.
25542 * fs/ufs.c: Likewise.
25543 * efiemu/prepare.c: Likewise.
25544 * efiemu/loadcore_common.c: Likewise.
25545 * efiemu/runtime/efiemu.sh: Likewise.
25546 * efiemu/runtime/efiemu.S: Likewise.
25547 * efiemu/runtime/efiemu.c: Likewise.
25548 * efiemu/pnvram.c: Likewise.
25549 * efiemu/main.c: Likewise.
25550 * efiemu/i386/pc/cfgtables.c: Likewise.
25551 * efiemu/i386/loadcore64.c: Likewise.
25552 * efiemu/i386/loadcore32.c: Likewise.
25553 * efiemu/loadcore.c: Likewise.
25554 * efiemu/symbols.c: Likewise.
25555 * efiemu/mm.c: Likewise.
25556 * include/grub/autoefi.h: Likewise.
25557 * include/grub/datetime.h: Likewise.
25558 * include/grub/term.h: Likewise.
25559 * include/grub/hfs.h: Likewise.
25560 * include/grub/lvm.h: Likewise.
25561 * include/grub/i386/tsc.h: Likewise.
25562 * include/grub/i386/linux.h: Likewise.
25563 * include/grub/i386/xnu.h: Likewise.
25564 * include/grub/i386/efiemu.h: Likewise.
25565 * include/grub/i386/pc/biosdisk.h: Likewise.
25566 * include/grub/i386/pc/memory.h: Likewise.
25567 * include/grub/i386/pc/vbe.h: Likewise.
25568 * include/grub/parttool.h: Likewise.
25569 * include/grub/video.h: Likewise.
25570 * include/grub/memory.h: Likewise.
25571 * include/grub/fs.h: Likewise.
25572 * include/grub/partition.h: Likewise.
25573 * include/grub/xnu.h: Likewise.
25574 * include/grub/efi/api.h: Likewise.
25575 * include/grub/efi/pe32.h: Likewise.
25576 * include/grub/efi/memory.h: Likewise.
25577 * include/grub/multiboot.h: Likewise.
25578 * include/grub/usbdesc.h: Likewise.
25579 * include/grub/multiboot2.h: Likewise.
25580 * include/grub/acpi.h: Likewise.
25581 * include/grub/efiemu/efiemu.h: Likewise.
25582 * include/grub/disk.h: Likewise.
25583 * include/grub/ieee1275/ieee1275.h: Likewise.
25584 * include/grub/net.h: Likewise.
25585 * include/grub/machoload.h: Likewise.
25586 * include/grub/macho.h: Likewise.
25587 * include/multiboot.h: Likewise.
25588 * genmoddep.awk: Likewise.
25589 * normal/main.c: Likewise.
25590 * normal/menu_entry.c: Likewise.
25591 * normal/menu_viewer.c: Likewise.
25592 * normal/completion.c: Likewise.
25593 * normal/cmdline.c: Likewise.
25594 * normal/misc.c: Likewise.
25595 * normal/datetime.c: Likewise.
25596 * bus/usb/usbtrans.c: Likewise.
25597 * bus/usb/ohci.c: Likewise.
25598 * bus/usb/uhci.c: Likewise.
25599 * bus/usb/usb.c: Likewise.
25600 * mmap/efi/mmap.c: Likewise.
25601 * mmap/i386/pc/mmap_helper.S: Likewise.
25602 * mmap/i386/pc/mmap.c: Likewise.
25603 * mmap/i386/mmap.c: Likewise.
25604 * mmap/i386/uppermem.c: Likewise.
25605 * mmap/mmap.c: Likewise.
25606 * commands/acpi.c: Likewise.
25607 * commands/echo.c: Likewise.
25608 * commands/blocklist.c: Likewise.
25609 * commands/loadenv.c: Likewise.
25610 * commands/usbtest.c: Likewise.
25611 * commands/boot.c: Likewise.
25612 * commands/parttool.c: Likewise.
25613 * commands/search.c: Likewise.
25614 * commands/cat.c: Likewise.
25615 * commands/i386/pc/play.c: Likewise.
25616 * commands/i386/pc/drivemap.c: Likewise.
25617 * commands/i386/pc/vbeinfo.c: Likewise.
25618 * commands/i386/pc/acpi.c: Likewise.
25619 * commands/i386/pc/vbetest.c: Likewise.
25620 * commands/ls.c: Likewise.
25621 * commands/cmp.c: Likewise.
25622 * commands/test.c: Likewise.
25623 * commands/efi/acpi.c: Likewise.
25624 * commands/gptsync.c: Likewise.
25625 * commands/help.c: Likewise.
25626 * partmap/amiga.c: Likewise.
25627 * partmap/apple.c: Likewise.
25628 * partmap/acorn.c: Likewise.
25629 * partmap/pc.c: Likewise.
25630 * partmap/sun.c: Likewise.
25631 * partmap/gpt.c: Likewise.
25632 * script/sh/lexer.c: Likewise.
25633 * script/sh/function.c: Likewise.
25634 * font/font.c: Likewise.
25635 * font/font_cmd.c: Likewise.
25636 * loader/powerpc/ieee1275/linux.c: Likewise.
25637 * loader/efi/chainloader.c: Likewise.
25638 * loader/multiboot_loader.c: Likewise.
25639 * loader/macho.c: Likewise.
25640 * loader/i386/multiboot.c: Likewise.
25641 * loader/i386/linux.c: Likewise.
25642 * loader/i386/pc/linux.c: Likewise.
25643 * loader/i386/pc/multiboot2.c: Likewise.
25644 * loader/i386/pc/chainloader.c: Likewise.
25645 * loader/i386/pc/xnu.c: Likewise.
25646 * loader/i386/bsd_trampoline.S: Likewise.
25647 * loader/i386/efi/linux.c: Likewise.
25648 * loader/i386/multiboot_elfxx.c: Likewise.
25649 * loader/i386/bsd_helper.S: Likewise.
25650 * loader/i386/bsd.c: Likewise.
25651 * loader/i386/linux_trampoline.S: Likewise.
25652 * loader/i386/xnu_helper.S: Likewise.
25653 * loader/i386/xnu.c: Likewise.
25654 * loader/i386/bsd_pagetable.c: Likewise.
25655 * loader/i386/multiboot_helper.S: Likewise.
25656 * loader/xnu.c: Likewise.
25657 * loader/xnu_resume.c: Likewise.
25658 * io/gzio.c: Likewise.
25659 * term/efi/console.c: Likewise.
25660 * term/terminfo.c: Likewise.
25661 * term/ieee1275/ofconsole.c: Likewise.
25662 * term/i386/pc/serial.c: Likewise.
25663 * term/i386/pc/vesafb.c: Likewise.
25664 * term/i386/pc/vga.c: Likewise.
25665 * term/usb_keyboard.c: Likewise.
25666 * term/gfxterm.c: Likewise.
25667 * aclocal.m4: Likewise.
25668 * util/lvm.c: Likewise.
25669 * util/grub.d/30_os-prober.in: Likewise.
25670 * util/grub.d/10_hurd.in: Likewise.
25671 * util/console.c: Likewise.
25672 * util/grub-macho2img.c: Likewise.
25673 * util/grub-probe.c: Likewise.
25674 * util/hostfs.c: Likewise.
25675 * util/i386/pc/grub-mkimage.c: Likewise.
25676 * util/i386/pc/grub-setup.c: Likewise.
25677 * util/i386/efi/grub-mkimage.c: Likewise.
25678 * util/grub-mkconfig.in: Likewise.
25679 * util/raid.c: Likewise.
25680 * util/resolve.c: Likewise.
25681 * util/grub-mkdevicemap.c: Likewise.
25682 * util/grub-emu.c: Likewise.
25683 * util/getroot.c: Likewise.
25684 * util/hostdisk.c: Likewise.
25685 * util/usb.c: Likewise.
25686 * util/grub-editenv.c: Likewise.
25687 * util/misc.c: Likewise.
25688
d2d49665 256892009-06-10 Felix Zielcke <fzielcke@z-51.de>
25690
25691 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
25692 `genparttoollist.sh'.
25693 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
25694 Add `*.sh' to the list find searches for and change `mdate.sh'
25695 to `mdate-sh'.
25696
fe052e37 256972009-06-10 Pavel Roskin <proski@gnu.org>
25698
2763ac18 25699 * include/grub/multiboot2.h: Provide compatibility defines for
25700 multiboot2.h.
25701 * include/multiboot2.h: Include stdint.h only if needed, using
25702 angle brackets.
25703 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
25704 grub/multiboot2.h.
25705 * loader/ieee1275/multiboot2.c: Likewise.
25706 * loader/multiboot2.c: Likewise.
25707 * loader/multiboot_loader.c: Likewise.
25708
437e6adc 25709 * configure.ac: Use -nostdlib when probing for the target. It
25710 should not be required to have libc for the target.
25711
06a6836c 25712 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
25713 they fail without libc headers for the target.
25714 * include/grub/powerpc/libgcc.h: Use weak attribute for all
25715 exports.
25716 * include/grub/sparc64/libgcc.h: Likewise. Don't use
25717 preprocessor conditionals.
25718
fe052e37 25719 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
25720 build system doesn't need to be aware of the tar.c internals.
25721
afd22553 257222009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 25723
afd22553 25724 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 25725
6b787c4f 257262009-06-09 Robert Millan <rmh.grub@aybabtu.com>
25727
25728 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
25729 disk limit to 26 for IDE, Virtio, Xen and SCSI.
25730
257312009-06-09 Felix Zielcke <fzielcke@z-51.de>
25732
25733 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 25734 aren't available if ata.mod gets used.
6b787c4f 25735
473d1e45 257362009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 25737
473d1e45 25738 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 25739 initialising controller.
473d1e45 25740 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 25741
255a27d4 257422009-06-08 Felix Zielcke <fzielcke@z-51.de>
25743
25744 * util/i386/pc/grub-install.in: Add a parameter --disk-module
25745 to choose between ata and biosdisk module on i386-pc.
25746
473d1e45 257472009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 25748
d55842d8 25749 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
25750 Subclass and Programming Interface fields in terms of the 3 byte
25751 Class Code register.
25752 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25753
fa5db0b1 25754 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
25755 interface is OHCI. Add grub_dprintf for symmetry with
25756 bus/usb/uhci.c.
25757 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
25758 interface is UHCI. Add interf variable for programming
25759 interface. Print interface with class/subclass.
25760
c0947beb 25761 * bus/usb/ohci.c: Set interf with correct field.
25762
69da8877 25763 * bus/usb/uhci.c: Remove unneeded doubled lines.
25764 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
25765 Remove whitespace inside comment.
25766
9e172e30 257672009-06-08 Robert Millan <rmh.grub@aybabtu.com>
25768
25769 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
25770 as fallback an equivalent option without depth.
25771
de65ee2b 257722009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25773
25774 Not fail if unable to retrieve C/H/S on LBA disks
25775
473d1e45 25776 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 25777 if unable to retrieve C/H/S on LBA disks
25778
b57ea2c9 257792009-06-08 Pavel Roskin <proski@gnu.org>
25780
25781 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
25782 about aliasing.
25783
af361263 257842009-06-08 Felix Zielcke <fzielcke@z-51.de>
25785
25786 * Makefile.in (uninstall): Remove all $lib_DATA files.
25787
4c9ec6b3 257882009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25789
25790 Bugfix: install on partitionless device
25791
25792 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
25793 is a whole disk
25794
e76fc924 257952009-06-08 Felix Zielcke <fzielcke@z-51.de>
25796
25797 * Makefile.in (uninstall): Remove all $include_DATA files.
25798
ba5a0d05 257992009-06-08 Felix Zielcke <fzielcke@z-51.de>
25800
25801 * commands/true.c: New file. Implement the true and false commands.
25802 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
25803 (true_mod_SOURCES): New variable.
25804 (true_mod_CFLAGS): Likewise.
25805 (true_mod_LDFLAGS): Likewise.
25806
c8048e32 258072009-06-05 Colin D Bennett <colin@gibibit.com>
25808
25809 Optimized font character lookup using binary search instead of linear
25810 search. Fonts now are required to have the character index ordered by
25811 code point.
25812
25813 * font/font.c (load_font_index): Verify that fonts have ordered
25814 character indices.
25815 (find_glyph): Use binary search instead of linear search to find a
25816 character in a font.
25817
408305be 258182009-06-05 Michael Scherer <misc@mandriva.org>
25819
25820 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
25821 uses case sensitive btree.
25822 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
25823 only for case insensitive filesystems.
25824
8ee1e0d9 258252009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
25826
25827 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
25828 * conf/common.rmk (search_mod_CFLAGS): likewise
25829
a9966eb1 258302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25831
473d1e45 25832 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 25833 compensate a compiler bug
25834
9e7100fb 258352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25836
473d1e45 25837 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 25838 instead of '\b'
473d1e45 25839
ede21d71 258402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25841
25842 Definitions for creating asm symbols with Apple's CC
25843
25844 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
25845 [APPLE_CC] (VARIABLE): likewise
25846
9dbf7653 258472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25848
25849 Disable lnxboot.img when compiled
25850 with Apple's CC
25851
25852 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
25853 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
25854 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
25855 [! APPLE_CC] (CODE_LENG): skip
25856 [! APPLE_CC] (setup_sects): likewise
25857 [! APPLE_CC]: skip filling
473d1e45 25858
e93cdc3d 258592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25860
25861 Address in trampolines based on 32-bit registers when compiled
25862 with Apple's CC
25863
473d1e45 25864 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 25865 for addresses
25866 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
25867
6c688477 258682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25869
25870 Avoid aliases when compiling with Apple's CC for PCBIOS machine
25871
25872 * kern/misc.c [APPLE_CC] (memcpy): new function
25873 [APPLE_CC] (memmove): likewise
25874 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 25875 (memcpy): define alias conditionally on !APPLE_CC
6c688477 25876 (memset): likewise
25877 (abort): likewise
25878 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
25879 APPLE_CC are defined
25880 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
25881 (grub_assert_fail): make prototype conditional
25882
e37ffc5c 258832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25884
25885 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
25886
473d1e45 25887 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
25888 grub-macho2img
e37ffc5c 25889 (CLEANFILES): add grub-macho2img
25890 (grub_macho2img_SOURCES): new variable
25891 * kern/i386/pc/startup.S (bss_start): new variable
25892 (bss_end): likewise
25893 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
25894 * util/grub-macho2img.c: new file
25895
cf00df31 258962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25897
25898 Use objconv when compiling with Apple's CC
25899
25900 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
25901 (efiemu64.o): likewise
25902 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
25903 when compiling with Apple's CC
25904 (efiemu64_s.o): likewise
25905 * configure.ac: check for objconv when compiling with Apple's CC
25906 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 25907
d119a20c 259082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25909
25910 Define segment as well as section when compiling with
25911 Apple's CC
25912
25913 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
25914 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
25915 (efiemu_convert_pointer): likewise
25916 (efiemu_set_virtual_address_map): likewise
25917 (efiemu_convert_pointer): likewise
25918 (efiemu_getcrc32): likewise
25919 (init_crc32_table): likewise
25920 (reflect): likewise
25921 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
25922 (GRUB_MOD_DEP): likewise
473d1e45 25923
c8600122 259242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25925
25926 Allow a compilation without -mcmodel=large
25927
25928 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
25929 when compiled without -mcmodel=large
473d1e45 25930 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 25931 without -mcmodel=large
473d1e45 25932 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 25933 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 25934
e8df1d4e 259352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25936
25937 Remove nested functions in efiemu core
25938
25939 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 25940
cc6c3ac1 259412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25942
25943 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
25944
25945 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
25946 temporary storage
473d1e45 25947 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
25948 using Apple's CC
cc6c3ac1 25949 (grub_cpu_is_tsc_supported): likewise
25950 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 25951
3e325901 259522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25953
25954 Absolute addressing through constant with Apple's cc
25955
25956 * kern/i386/pc/startup.S: Define necessary constants
25957 and address through it when using ABS with Apple's CC
25958 * boot/i386/pc/diskboot.S: likewise
25959 * boot/i386/pc/boot.S: likewise
25960 * boot/i386/pc/lnxboot.S: likewise
25961 * boot/i386/pc/cdboot.S: likewise
25962 * mmap/i386/pc/mmap_helper.S: likewise
25963 * commands/i386/pc/drivemap_int13h.S: likewise
25964
2b167a72 259652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25966
25967 Check if compiler is apple cc
25968
25969 * Makefile.in (ASFLAGS): new variable
25970 (TARGET_ASFLAGS): likewise
25971 (TARGET_MODULE_FORMAT): likewise
25972 (TARGET_APPLE_CC): likewise
25973 (OBJCONV): likewise
25974 (TARGET_IMG_CFLAGS): likewise
25975 (TARGET_CPPFLAGS): add includedir
25976 * configure.ac: call grub_apple_cc and grub_apple_target_cc
25977 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
25978 Check for linker script only if compiler isn't Apple's CC
25979 (TARGET_MODULE_FORMAT): set
25980 (TARGET_APPLE_CC): likewise
25981 (TARGET_ASFLAGS): likewise
25982 (ASFLAGS): likewise
25983 Check for objcopy only if compiler isn't Apple's CC
25984 Check for BSS symbol only if compiler isn't Apple's CC
25985 * genmk.rb: adapt nm options if we use Apple's utils
25986 * aclocal.m4 (grub_apple_cc): new test
25987 (grub_apple_target_cc): likewise
473d1e45 25988
fb14123e 259892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25990
25991 Simplify sed expressions and improve awk
25992
25993 * Makefile.in (install-local): simplify sed expression
25994 * gencmdlist.sh: likewise
25995 * genmoddep.awk: avoid adding module as a dependency of itself
25996
5b889789 259972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25998
25999 Add missing start symbols
26000
26001 * boot/i386/pc/boot.S: add start
fb14123e 26002 * boot/i386/pc/pxeboot.S: likewise
473d1e45 26003
fd2bf2e3 260042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26005
26006 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 26007
26008 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 26009 (relocate_addresses): consider both r_addend and value at offset
26010 (make_mods_section): zerofill modinfo and header
26011 (convert_elf): write prefix here
473d1e45 26012
5389763d 260132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26014
26015 Use .asciz instead of .string
26016
26017 * i386/pc/diskboot.S: use .asciz instead of .string
26018 * i386/pc/boot.S: likewise
26019 * include/grub/dl.h (GRUB_MOD_DEP): likewise
26020 (GRUB_MOD_NAME): likewise
473d1e45 26021
3eb5ed4e 260222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26023
26024 gfxpayload support
26025
26026 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
26027 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
26028 (grub_video_setup): remove
26029 (grub_video_set_mode): new prototype
26030 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
26031 (vid_mode): remove
26032 (linux_vesafb_res): compile only on PCBIOS
26033 (grub_linux_boot): support gfxpayload
26034 * loader/i386/pc/xnu.c (video_hook): new function
26035 (grub_xnu_set_video): support gfxpayload
26036 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
26037 (DEFAULT_VIDEO_HEIGHT): likewise
26038 (DEFAULT_VIDEO_FLAGS): likewise
26039 (DEFAULT_VIDEO_MODE): new definition
26040 (video_hook): new function
26041 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 26042 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 26043 loading xnu
26044 * video/video.c (grub_video_setup): removed
473d1e45 26045 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 26046 grub_video_setup
26047
4b0e1143 260482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26049
26050 Avoid calling biosdisk in drivemap
26051
26052 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
26053 (revparse_biosdisk): likewise
26054 (list_mappings): derive name from id directly
26055 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 26056
fda6cb98 260572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26058
26059 Script fixes
26060
26061 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
26062 (grub_lexer_param): add tokenonhold
26063 (grub_script_create_cmdline): remove cmdline. All callers updated
26064 (grub_script_function_create): make functionname
26065 grub_script_arg. All callers updated
26066 (grub_script_execute_argument_to_string): new prototype
26067 * kern/parser.c (state_transitions): reorder
26068 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 26069 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 26070 make global
26071 (grub_script_execute_cmdline): use new format
26072 * script/sh/function.c (grub_script_function_create): make functionname
26073 grub_script_arg. All callers updated
473d1e45 26074 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 26075 (grub_script_yylex): remove
26076 (grub_script_yylex2): renamed to ...
26077 (grub_script_yylex): ...renamed
26078 parse the expressions like a${b}c
26079 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
26080 (GRUB_PARSER_TOKEN_VAR): remove
26081 (GRUB_PARSER_TOKEN_NAME): likewise
26082 ("if"): declare as typeless
26083 ("while"): likewise
26084 ("function"): likewise
26085 ("else"): likewise
26086 ("then"): likewise
26087 ("fi"): likewise
26088 (text): remove
26089 (argument): likewise
26090 (script): accept empty scripts and make exit on error
26091 (arguments): use GRUB_PARSER_TOKEN_ARG
26092 (function): likewise
26093 (command): move error handling to script
26094 (menuentry): move grub_script_lexer_ref before
473d1e45 26095 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 26096 argument. All callers updated
26097
f4448a07 260982009-06-04 Robert Millan <rmh.grub@aybabtu.com>
26099
26100 Prevent GRUB from probing floppies during boot.
26101
26102 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
26103 * commands/search.c (options): Add --no-floppy.
26104 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
26105 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
26106 --no-floppy when searching for UUIDs.
26107
2bf5885a 261082009-06-04 Robert Millan <rmh.grub@aybabtu.com>
26109
26110 Simplify the code duplication in commands/search.c.
26111
26112 * commands/search.c (search_label, search_fs_uuid): Merge into ...
26113 (search_fs): ... this. Update all users.
26114
f6fd460a 261152009-06-03 Felix Zielcke <fzielcke@z-51.de>
26116
26117 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
26118
cbb3c83e 261192009-05-28 Pavel Roskin <proski@gnu.org>
26120
57788cfd 26121 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
26122 Remove the original symlink explicitly.
26123
cbb3c83e 26124 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
26125 just one slash. That's how grub_fshelp_find_file() does it.
26126
cd0d5e30 261272009-05-26 Pavel Roskin <proski@gnu.org>
26128
f0f8bbe2 26129 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
26130 to `str'.
26131
cd0d5e30 26132 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
26133 possibly unused.
26134
8c2cab51 261352009-05-25 Christian Franke <franke@computer.org>
26136
26137 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
26138 register.
26139 (grub_atapi_identify): Add wait after drive select.
26140 (grub_ata_identify): Do more strict status register check before
26141 calling grub_atapi_identify (). Suppress error message if status
26142 register is 0x00 after command failure. Add status register
26143 check after PIO read to avoid bogus identify due to stuck DRQ.
26144 Thanks to Pavel Roskin for testing.
26145 (grub_device_initialize): Remove unsafe status register check.
26146 Thanks to 'phcoder' for problem report and patch.
26147 Prevent sign extension in debug message.
26148
230c0ad6 261492009-05-23 Colin D Bennett <colin@gibibit.com>
26150
26151 Cleaned up `include/grub/normal.h'. Grouped prototypes by
26152 definition file, and functions defined in `normal/menu.c' have had
26153 their prototypes moved to `include/grub/menu.h' for consistency.
26154
26155 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
26156 from normal.h.
26157 (grub_menu_get_entry): Likewise.
26158 (grub_menu_get_timeout): Likewise.
26159 (grub_menu_set_timeout): Likewise.
26160 (grub_menu_execute_entry): Likewise.
26161 (grub_menu_execute_with_fallback): Likewise.
26162 (grub_menu_entry_run): Likewise.
26163
26164 * include/grub/normal.h: Re-ordered and grouped function
26165 prototypes by file that the function is defined in.
26166 (grub_menu_execute_callback): Removed; moved to menu.h.
26167 (grub_menu_get_entry): Likewise.
26168 (grub_menu_get_timeout): Likewise.
26169 (grub_menu_set_timeout): Likewise.
26170 (grub_menu_execute_entry): Likewise.
26171 (grub_menu_execute_with_fallback): Likewise.
26172 (grub_menu_entry_run): Likewise.
26173 (grub_menu_addentry): Renamed from this ...
26174 (grub_normal_add_menu_entry): ... to this.
26175
26176 * normal/main.c (grub_menu_addentry): Renamed from this ...
26177 (grub_normal_add_menu_entry): ... to this.
26178
26179 * script/sh/execute.c (grub_script_execute_menuentry): Update
26180 reference to renamed grub_menu_addentry function.
26181
861f03a5 261822009-05-23 Felix Zielcke <fzielcke@z-51.de>
26183
26184 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
26185
96b1619a 261862009-05-22 Pavel Roskin <proski@gnu.org>
26187
bf6a5fb2 26188 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
26189 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
26190 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
26191 compiling for the i386 targets, but not for the utilities.
26192
96b1619a 26193 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
26194 to grub_uint8_t.
26195 (grub_root_drive): Likewise.
26196 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
26197 remove alignment.
26198 (grub_root_drive): Change size to byte.
26199 (grub_start_addr): Remove.
26200 (grub_end_addr): Likewise.
26201 (grub_apm_bios_info): Likewise.
26202
b729776b 262032009-05-21 Felix Zielcke <fzielcke@z-51.de>
26204
26205 * normal/i386: Remove.
26206 * normal/powerpc: Likewise.
26207 * normal/sparc64: Likewise.
26208 * normal/x86_64: Likewise.
26209
0a15ce80 262102009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
26211
26212 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 26213 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 26214 * loader/i386/xnu_helper.S: Likewise
d6da58e6 26215
33db9015 262162009-05-18 Colin D Bennett <colin@gibibit.com>
26217
d6da58e6 26218 Display error messages when parsing a Lua statement fails.
26219 Previously, executing a syntactically invalid statement like
26220 ")foo" or "bar;" would silently fail.
33db9015 26221
26222 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 26223 (grub_lua_parse_line): Improved reporting of Lua parser and
26224 execution errors.
33db9015 26225
46422c89 262262009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26227
26228 Remove -Werror which causes build to fail on some systems
26229
26230 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
26231 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
26232 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 26233
22f53a96 262342009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26235
26236 trampoline for linux on 64-bit platform
26237
18f547ad 26238 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
26239 loader/i386/efi/linux_trampoline.S
26240 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 26241 declaration
d6da58e6 26242 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
26243 here
22f53a96 26244 * loader/i386/linux_trampoline.S: moved here
d6da58e6 26245 * loader/i386/efi/linux.c (allocate_pages): reserve space for
26246 trampoline
22f53a96 26247 (jumpvector): removed
26248 (grub_linux_trampoline_start): new declaration
26249 (grub_linux_trampoline_end): likewise
26250 (grub_linux_boot): use trampoline when on 64-bit platform
26251 * loader/i386/linux.c: likewise
26252
cb5a0f40 262532009-05-16 Pavel Roskin <proski@gnu.org>
26254
26255 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
26256 const to avoid a warning.
26257 (grub_lua_setenv): Likewise.
26258 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
26259 lmsg to fix a warning.
26260
334f2c28 262612009-05-16 Felix Zielcke <fzielcke@z-51.de>
26262
26263 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 26264 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26265 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
26266 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26267 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
26268 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26269 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
26270 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 26271
59e5d3ec 262722009-05-16 Felix Zielcke <fzielcke@z-51.de>
26273
26274 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
26275
9d87a1ba 262762009-05-16 Bean <bean123ch@gmail.com>
26277
26278 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
26279 (lua_mod_SOURCES): New variable.
26280 (lua_mod_CFLAGS): Likewise.
26281 (lua_mod_LDFLAGS): Likewise.
26282
26283 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
26284 (setjmp_mod_SOURCES): New variable.
26285 (setjmp_mod_CFLAGS): Likewise.
26286 (setjmp_LDFLAGS): Likewise.
26287
26288 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
26289 (setjmp_mod_SOURCES): New variable.
26290 (setjmp_mod_CFLAGS): Likewise.
26291 (setjmp_LDFLAGS): Likewise.
26292
26293 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
26294 (setjmp_mod_SOURCES): New variable.
26295 (setjmp_mod_CFLAGS): Likewise.
26296 (setjmp_LDFLAGS): Likewise.
26297
26298 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
26299 (setjmp_mod_SOURCES): New variable.
26300 (setjmp_mod_CFLAGS): Likewise.
26301 (setjmp_LDFLAGS): Likewise.
26302
26303 * normal/i386/setjmp.S: Moved from here ...
26304 * lib/i386/setjmp.S: ... Moved here
26305 * normal/x86_64/setjmp.S: Moved from here ...
26306 * lib/x86_64/setjmp.S: ... Moved here
26307 * normal/powerpc/setjmp.S: Moved from here ...
26308 * lib/powerpc/setjmp.S: ... Moved here
26309 * normal/sparc64/setjmp.S: Moved from here ...
26310 * lib/sparc64/setjmp.S: ... Moved here
26311
26312 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
26313 returns_twice in mingw.
26314
26315 * script/lua/grub_lib.c: New file.
26316 * script/lua/grub_lib.h: Likewise.
26317 * script/lua/grub_lua.h: Likewise.
26318 * script/lua/grub_main.c: Likewise.
26319 * script/lua/lapi.c: Likewise.
26320 * script/lua/lapi.h: Likewise.
26321 * script/lua/lauxlib.c: Likewise.
26322 * script/lua/lauxlib.h: Likewise.
26323 * script/lua/lbaselib.c: Likewise.
26324 * script/lua/lcode.c: Likewise.
26325 * script/lua/lcode.h: Likewise.
26326 * script/lua/ldblib.c: Likewise.
26327 * script/lua/ldebug.c: Likewise.
26328 * script/lua/ldebug.h: Likewise.
26329 * script/lua/ldo.c: Likewise.
26330 * script/lua/ldo.h: Likewise.
26331 * script/lua/ldump.c: Likewise.
26332 * script/lua/lfunc.c: Likewise.
26333 * script/lua/lfunc.h: Likewise.
26334 * script/lua/lgc.c: Likewise.
26335 * script/lua/lgc.h: Likewise.
26336 * script/lua/linit.c: Likewise.
26337 * script/lua/liolib.c: Likewise.
26338 * script/lua/llex.c: Likewise.
26339 * script/lua/llex.h: Likewise.
26340 * script/lua/llimits.h: Likewise.
26341 * script/lua/lmathlib.c: Likewise.
26342 * script/lua/lmem.c: Likewise.
26343 * script/lua/lmem.h: Likewise.
26344 * script/lua/loadlib.c: Likewise.
26345 * script/lua/lobject.c: Likewise.
26346 * script/lua/lobject.h: Likewise.
26347 * script/lua/lopcodes.c: Likewise.
26348 * script/lua/lopcodes.h: Likewise.
26349 * script/lua/loslib.c: Likewise.
26350 * script/lua/lparser.c: Likewise.
26351 * script/lua/lparser.h: Likewise.
26352 * script/lua/lstate.c: Likewise.
26353 * script/lua/lstate.h: Likewise.
26354 * script/lua/lstring.c: Likewise.
26355 * script/lua/lstring.h: Likewise.
26356 * script/lua/lstrlib.c: Likewise.
26357 * script/lua/ltable.c: Likewise.
26358 * script/lua/ltable.h: Likewise.
26359 * script/lua/ltablib.c: Likewise.
26360 * script/lua/ltm.c: Likewise.
26361 * script/lua/ltm.h: Likewise.
26362 * script/lua/lua.h: Likewise.
26363 * script/lua/luaconf.h: Likewise.
26364 * script/lua/lualib.h: Likewise.
26365 * script/lua/lundump.c: Likewise.
26366 * script/lua/lundump.h: Likewise.
26367 * script/lua/lvm.c: Likewise.
26368 * script/lua/lvm.h: Likewise.
26369 * script/lua/lzio.c: Likewise.
26370 * script/lua/lzio.h: Likewise.
26371
5e898c9d 263722009-05-16 Bean <bean123ch@gmail.com>
26373
26374 * include/grub/kernel.h (grub_module_header_types): Add type
26375 OBJ_TYPE_CONFIG.
26376
26377 * kern/main.c (grub_load_config): New function.
26378 (grub_main): Call grub_load_config to read boot config.
26379
26380 * grub-mkimage (generate_image): New parameter config_path.
26381 (options): New option --config.
26382 (main): Parse --config option, and pass it to generate_image.
26383
cf353a47 263842009-05-14 Christian Franke <franke@computer.org>
26385
26386 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
26387 This fixes build on Cygwin.
26388
3834887f 263892009-05-14 Pavel Roskin <proski@gnu.org>
26390
26391 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
26392 jump. This saves two bytes, so the typical case of 2 swapped
26393 drives would fit 32 bytes.
26394
8090fc01 263952009-05-13 Pavel Roskin <proski@gnu.org>
26396
ac963883 26397 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
26398 grub_uint32_t to avoid a warning.
26399
8090fc01 26400 * loader/i386/linux.c (allocate_pages): When assigning
26401 real_mode_mem, cast through grub_size_t to fix a warning. The
26402 code already makes sure that the value would fit a pointer.
26403 (grub_linux_setup_video): Cast render_target->data to
26404 grub_size_t to fix a warning.
26405
18f547ad 264062009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 26407
26408 * commands/i386/pc/drivemap.c: New file - implement drivemap
26409 command.
26410 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
26411 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
26412
6f6a8b28 264132009-05-13 Pavel Roskin <proski@gnu.org>
26414
26415 * util/i386/pc/grub-setup.c (setup): Remove unused variable
26416 embedding_area_exists.
26417
15fbf4c4 264182009-05-13 Robert Millan <rmh.grub@aybabtu.com>
26419
26420 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
26421 it easier to understand / work with.
59978c8a 26422 Improve warning messages for cases where there's no embedding area,
26423 or when it is too small (or core.img too large).
15fbf4c4 26424
238e871f 264252009-05-13 Pavel Roskin <proski@gnu.org>
26426
0ab3a9a4 26427 * loader/i386/pc/multiboot2.c: Add necessary includes for
26428 grub_multiboot2_real_boot().
26429
a2c8c5f8 26430 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
26431 PX record is always little-endian. We only need the lower 2
26432 bytes of the mode.
26433
faec96af 26434 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
26435 facilitate code reuse.
26436 (grub_cpio_mount): Use "struct head", not a char buffer. This
26437 fixes a warning reported by gcc 4.4.
26438
238e871f 26439 * kernel/disk.c (grub_disk_read): Use void pointer for the
26440 buffer.
26441 (grub_disk_write): Use const void pointer for the buffer.
26442 Adjust all callers. Remove unnecessary casts.
26443
901d2f0c 264442009-05-10 Robert Millan <rmh.grub@aybabtu.com>
26445
26446 * util/i386/pc/grub-install.in: Update copyright year.
26447
18f547ad 264482009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 26449
26450 gptsync
26451
26452 * commands/gptsync.c: new file
26453 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
26454 (gptsync_mod_SOURCES): new variable
26455 (gptsync_mod_CFLAGS): likewise
26456 (gptsync_mod_LDFLAGS): likewise
18f547ad 26457 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 26458 new definition
26459 (GRUB_PC_PARTITION_TYPE_HFS): likewise
26460 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
26461 * conf/i386-ieee1275.rmk: likewise
26462 * conf/i386-pc.rmk: likewise
26463 * conf/powerpc-ieee1275.rmk: likewise
26464
b4ba690a 264652009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26466
26467 Fixed grub-emu
26468
26469 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
26470 (grub_dl_ref): likewise
26471
317e1a44 264722009-05-08 Robert Millan <rmh.grub@aybabtu.com>
26473
26474 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
26475 split in two functions (one for msdos and one for gpt).
26476
041b8094 264772009-05-08 Pavel Roskin <proski@gnu.org>
26478
752473c2 26479 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
26480 not modified.
26481
041b8094 26482 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
26483 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
26484 Initialize them with -1. Add sanity check for bad1. Eliminate
26485 nerr variable.
26486
172800ce 264872009-05-08 David S. Miller <davem@davemloft.net>
26488
26489 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
26490
29aa5e81 264912009-05-06 Robert Millan <rmh.grub@aybabtu.com>
26492
26493 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 26494 existence.
29aa5e81 26495
96613b62 264962009-05-05 Felix Zielcke <fzielcke@z-51.de>
26497
26498 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 26499 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 26500
eef73c8a 265012009-05-05 David S. Miller <davem@davemloft.net>
26502
26503 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
26504
119494b5 265052009-05-05 Pavel Roskin <proski@gnu.org>
26506
26507 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
26508 of grub_dl_ref() and grub_dl_unref().
26509 * commands/parttool.c: Remove preprocessor conditionals around
26510 grub_dl_ref() and grub_dl_unref().
26511 * fs/affs.c: Likewise.
26512 * fs/afs.c: Likewise.
26513 * fs/cpio.c: Likewise.
26514 * fs/ext2.c: Likewise.
26515 * fs/fat.c: Likewise.
26516 * fs/hfs.c: Likewise.
26517 * fs/hfsplus.c: Likewise.
26518 * fs/iso9660.c: Likewise.
26519 * fs/jfs.c: Likewise.
26520 * fs/minix.c: Likewise.
26521 * fs/ntfs.c: Likewise.
26522 * fs/reiserfs.c: Likewise.
26523 * fs/sfs.c: Likewise.
26524 * fs/udf.c: Likewise.
26525 * fs/ufs.c: Likewise.
26526 * fs/xfs.c: Likewise.
26527 * include/grub/dl.h: Likewise.
26528 * loader/xnu.c: Likewise.
26529
de5fd76e 265302009-05-04 Pavel Roskin <proski@gnu.org>
26531
26532 * commands/acpi.c: Remove unused variable my_mod.
26533 * partmap/amiga.c: Likewise.
26534 * partmap/apple.c: Likewise.
26535 * partmap/gpt.c: Likewise.
26536 * partmap/pc.c: Likewise.
26537 * partmap/sun.c: Likewise.
26538 * term/gfxterm.c: Likewise.
26539 * term/i386/pc/vesafb.c: Likewise.
26540 * term/i386/pc/vga.c: Likewise.
26541
983598ad 265422009-05-04 David S. Miller <davem@davemloft.net>
26543
26544 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
26545 pointer args to grub_ieee1275_get_property().
26546
8aadec43 26547 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
26548
9554b15e 26549 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
26550 devices, and do not traverse down under controller nodes.
26551
67e23c90 26552 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
26553 (grub_ofdisk_open): Use it to un-escape "," characters.
26554 * kern/disk.c (find_part_sep): New.
26555 (grub_disk_open): Use it to find the first non-escaped ','
26556 character in the disk name.
26557 * util/ieee1275/devicemap.c (escape_of_path): New.
26558 (grub_util_emit_devicemap_entry): Use it.
26559 * util/sparc64/ieee1275/grub-install.in: Update script to
26560 strip partition specifiers properly by not triggering on
26561 '\' escaped ',' characters.
26562
74bfdd2f 265632009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26564
26565 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
26566 to 0x300.
26567 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
26568 resolutions.
26569 (linux_vesafb_modes): Add a lot of additional modes to the list (based
26570 on documentation from Wikipedia).
26571
4241d2b1 265722009-05-04 Pavel Roskin <proski@gnu.org>
26573
26574 * disk/ata.c: Spelling fixes.
26575 * disk/raid.c: Likewise.
26576 * disk/usbms.c: Likewise.
26577 * disk/dmraid_nvidia.c: Likewise.
26578 * kern/ieee1275/openfw.c: Likewise.
26579 * kern/ieee1275/init.c: Likewise.
26580 * kern/ieee1275/cmain.c: Likewise.
26581 * boot/i386/pc/cdboot.S: Likewise.
26582 * video/readers/png.c: Likewise.
26583 * video/i386/pc/vbe.c: Likewise.
26584 * fs/udf.c: Likewise.
26585 * fs/hfs.c: Likewise.
26586 * fs/reiserfs.c: Likewise.
26587 * efiemu/runtime/efiemu.c: Likewise.
26588 * efiemu/main.c: Likewise.
26589 * efiemu/mm.c: Likewise.
26590 * include/grub/elf.h: Likewise.
26591 * include/grub/xnu.h: Likewise.
26592 * include/grub/usbdesc.h: Likewise.
26593 * include/grub/usb.h: Likewise.
26594 * include/grub/script_sh.h: Likewise.
26595 * include/grub/lib/LzmaEnc.h: Likewise.
26596 * include/grub/efiemu/efiemu.h: Likewise.
26597 * include/grub/command.h: Likewise.
26598 * normal/menu.c: Likewise.
26599 * normal/main.c: Likewise.
26600 * normal/datetime.c: Likewise.
26601 * bus/usb/uhci.c: Likewise.
26602 * mmap/i386/uppermem.c: Likewise.
26603 * mmap/mmap.c: Likewise.
26604 * commands/acpi.c: Likewise.
26605 * commands/test.c: Likewise.
26606 * partmap/apple.c: Likewise.
26607 * font/font.c: Likewise.
26608 * loader/sparc64/ieee1275/linux.c: Likewise.
26609 * loader/macho.c: Likewise.
26610 * loader/i386/bsd_trampoline.S: Likewise.
26611 * loader/i386/bsd.c: Likewise.
26612 * loader/xnu.c: Likewise.
26613 * term/i386/pc/vesafb.c: Likewise.
26614 * term/usb_keyboard.c: Likewise.
26615 * util/resolve.c: Likewise.
26616 * util/getroot.c: Likewise.
26617
0cfc0083 266182009-05-04 Felix Zielcke <fzielcke@z-51.de>
26619
26620 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
26621
7c1d00cd 266222009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26623
26624 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
26625 build error.
26626
b01f0548 266272009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26628
26629 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
26630 parameter only available on BIOS.
26631
ecc3eb22 266322009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26633
26634 Removed wrong semicolon in declaration
26635
26636 * grub/misc.h (grub_dprintf): remove semicolon
26637
112972a9 266382009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26639
26640 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
26641 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
26642 is done by grub_cmd_linux() now).
26643 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
26644 restore video to text mode.
26645 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
26646 indicates lack of "vga=" parameter. "vga=0" is mapped to
26647 `GRUB_LINUX_VID_MODE_NORMAL'.
26648
afd5c115 266492009-05-04 Felix Zielcke <fzielcke@z-51.de>
26650
26651 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
26652 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
26653 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 26654 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 26655 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
26656 `grub_script.tab.c'.
26657
26658 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26659 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26660 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26661 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26662 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26663
faa517ce 26664 * Makefile.in: Remove duplicated 2008 in Copyright line.
26665
ae0c0bdc 266662009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26667
473d1e45 26668 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 26669 unconditionally.
26670 * include/grub/util/misc.h (grub_util_warn): New declaration.
26671
26672 * util/i386/pc/grub-install.in: Understand --force and pass it down
26673 to grub-setup.
26674
26675 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
26676 down to setup().
26677 (setup): Improve error messages and add warnings when requested to
26678 install in odd layouts. Refuse to install using blocklists unless
26679 --force was set.
26680
18f547ad 266812009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 26682
26683 * disk/raid.c (grub_raid_scan_device): Improve debug message.
26684
6d260daa 266852009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26686
26687 Updated copyright year
26688
26689 * fs/hfsplus.c: updated copyright year
18f547ad 26690
69f853f8 266912009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26692
26693 HFS+ UUID
26694
18f547ad 26695 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 26696 in the space previously used by unused3
26697 (grub_hfsplus_uuid): new function
26698 (grub_hfsplus_fs): added uuid field
26699
4c402e73 267002009-05-03 Pavel Roskin <proski@gnu.org>
26701
26702 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
26703 suppress warnings. It's no longer needed.
26704 * disk/host.c: Likewise.
26705 * disk/ata_pthru.c: Likewise.
26706 * disk/loopback.c: Likewise.
26707 * hook/datehook.c: Likewise.
26708 * parttool/pcpart.c: Likewise.
26709 * fs/i386/pc/pxe.c: Likewise.
26710 * fs/ntfscomp.c: Likewise.
26711 * efiemu/main.c: Likewise.
26712 * mmap/mmap.c: Likewise.
26713 * commands/crc.c: Likewise.
26714 * commands/hexdump.c: Likewise.
26715 * commands/hdparm.c: Likewise.
26716 * commands/acpi.c: Likewise.
26717 * commands/echo.c: Likewise.
26718 * commands/minicmd.c: Likewise.
26719 * commands/blocklist.c: Likewise.
26720 * commands/memrw.c: Likewise.
26721 * commands/loadenv.c: Likewise.
26722 * commands/usbtest.c: Likewise.
26723 * commands/lsmmap.c: Likewise.
26724 * commands/boot.c: Likewise.
26725 * commands/parttool.c: Likewise.
26726 * commands/configfile.c: Likewise.
26727 * commands/search.c: Likewise.
26728 * commands/ieee1275/suspend.c: Likewise.
26729 * commands/cat.c: Likewise.
26730 * commands/i386/pc/pxecmd.c: Likewise.
26731 * commands/i386/pc/play.c: Likewise.
26732 * commands/i386/pc/halt.c: Likewise.
26733 * commands/i386/pc/vbeinfo.c: Likewise.
26734 * commands/i386/pc/vbetest.c: Likewise.
26735 * commands/lspci.c: Likewise.
26736 * commands/date.c: Likewise.
26737 * commands/handler.c: Likewise.
26738 * commands/ls.c: Likewise.
26739 * commands/test.c: Likewise.
26740 * commands/cmp.c: Likewise.
26741 * commands/efi/loadbios.c: Likewise.
26742 * commands/efi/fixvideo.c: Likewise.
26743 * commands/halt.c: Likewise.
26744 * commands/help.c: Likewise.
26745 * commands/reboot.c: Likewise.
26746 * hello/hello.c: Likewise.
26747 * script/sh/main.c: Likewise.
26748 * loader/xnu.c: Likewise.
26749 * term/terminfo.c: Likewise.
26750 * term/i386/pc/serial.c: Likewise.
26751 * term/usb_keyboard.c: Likewise.
26752
515b5079 267532009-05-03 David S. Miller <davem@davemloft.net>
26754
26755 * normal/menu.c: Include grub/parser.h
26756
dfc31a22 267572009-05-03 Pavel Roskin <proski@gnu.org>
26758
2fee74f1 26759 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
26760 not char*.
26761 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
26762 Suggested by Javier Martín <lordhabbit@gmail.com>
26763
dfc31a22 26764 * util/i386/pc/grub-mkrescue.in: Allow for the case when
26765 efiemu??.o doesn't exist.
26766 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
26767 copying.
26768
18f547ad 267692009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 26770
26771 FreeBSD 64-bit support
26772
18f547ad 26773 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 26774 and loader/i386/bsd_trampoline.S
26775 (bsd_mod_ASFLAGS): new variable
26776 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
26777 (FREEBSD_MODTYPE_KERNEL64): likewise
26778 (grub_bsd64_trampoline_start): likewise
26779 (grub_bsd64_trampoline_end): likewise
26780 (grub_bsd64_trampoline_selfjump): likewise
26781 (grub_bsd64_trampoline_gdt): likewise
26782 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
26783 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
26784 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
26785 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 26786 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 26787 of "attrib" member
26788 * loader/i386/bsd_pagetable.c: new file
26789 * loader/i386/bsd_trampoline.S: likewise
26790 * loader/i386/bsd.c (ALIGN_QWORD): new macro
26791 (ALIGN_VAR): likewise
26792 (entry_hi): new variable
26793 (kern_end_mdofs): likewise
26794 (is_64bit): likewise
26795 (grub_freebsd_add_meta): use ALIGN_VAR
26796 (grub_e820_mmap): new declaration
26797 (grub_freebsd_add_mmap): new function
26798 (grub_freebsd_add_meta_module): support 64 bit kernels
26799 (grub_freebsd_list_modules): use ALIGN_VAR
26800 (gdt_descriptor): new declaration
26801 (grub_freebsd_boot): support 64 bit kernels
26802 (grub_bsd_elf64_hook): new function
26803 (grub_bsd_load_elf): support elf64
26804
038c5720 268052009-05-03 Bean <bean123ch@gmail.com>
26806
26807 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
26808 after we get the result of if statement.
26809
fc45fb58 268102009-05-03 Bean <bean123ch@gmail.com>
26811
26812 * Makefile.in (enable_efiemu): New variable.
26813
26814 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
26815 set.
26816 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
26817 path.
26818 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
26819 path, add -mno-red-zone option.
26820 (efiemu64_s.o): Likewise.
26821 (efiemu64.o): Use macro $^ for source file.
26822
26823 * configure.ac (--enable-efiemu): New option.
26824
bbee0f2b 268252009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26826
26827 xnu support
26828
26829 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
26830 (pkglib_MODULES): add xnu.mod
26831 (xnu_mod_SOURCES): new variable
26832 (xnu_mod_CFLAGS): likewise
26833 (xnu_mod_LDFLAGS): likewise
26834 (xnu_mod_ASFLAGS): likewise
26835 * conf/i386-pc.rmk: likewise
26836 * conf/x86_64-efi.rmk: likewise
7dd4a573 26837 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 26838 new declaration
26839 * include/grub/i386/macho.h: new file
26840 * include/grub/i386/xnu.h: likewise
26841 * include/grub/macho.h: likewise
26842 * include/grub/machoload.h: likewise
26843 * include/grub/x86_64/macho.h: likewise
26844 * include/grub/x86_64/xnu.h: likewise
26845 * include/grub/xnu.h: likewise
26846 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
26847 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
26848 * loader/i386/efi/xnu.c: new file
26849 * loader/i386/pc/xnu.c: likewise
26850 * loader/i386/xnu.c: likewise
26851 * loader/i386/xnu_helper.S: likewise
26852 * loader/macho.c: likewise
26853 * loader/xnu.c: likewise
26854 * loader/xnu_resume.c: likewise
26855 * util/grub-dumpdevtree: likewise
26856 * include/grub/i386/pit.h: include grub/err.h
26857 (grub_pit_wait): export
26858 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 26859
5caf964d 268602009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26861
26862 Efiemu
7dd4a573 26863
5caf964d 26864 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 26865 _linux_efi, linux_efi.
26866 new files in grub-emu
5caf964d 26867 new targets efiemu32.o and efiemu64.o
26868 * loader/linux_normal_efiemu.c: likewise
26869 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 26870 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 26871 files to copy
26872 * include/grub/autoefi.h: new file
7dd4a573 26873 * include/grub/i386/efiemu.h: likewise
5caf964d 26874 * include/grub/i386/pc/efiemu.h: likewise
26875 * include/grub/efi/api.h: add LL suffix when necessary
26876 new definitions relating to tables
26877 * include/grub/efiemu/efiemu.h: new file
26878 * include/grub/efiemu/runtime.h: likewise
26879 * efiemu/prepare.c: likewise
26880 * efiemu/loadcore_common.c: likewise
26881 * efiemu/loadcore64.c: likewise
26882 * efiemu/runtime/efiemu.sh: likewise
26883 * efiemu/runtime/efiemu.S: likewise
26884 * efiemu/runtime/efiemu.c: likewise
26885 * efiemu/runtime/config.h: likewise
26886 * efiemu/prepare32.c: likewise
26887 * efiemu/main.c: likewise
26888 * efiemu/modules/pnvram.c: likewise
26889 * efiemu/modules/i386: likewise
26890 * efiemu/modules/i386/pc: likewise
26891 * efiemu/modules/acpi.c: likewise
26892 * efiemu/i386/pc/cfgtables.c: likewise
26893 * efiemu/i386/loadcore64.c: likewise
26894 * efiemu/i386/loadcore32.c: likewise
26895 * efiemu/prepare64.c: likewise
26896 * efiemu/loadcore.c: likewise
26897 * efiemu/symbols.c: likewise
26898 * efiemu/mm.c: likewise
26899 * efiemu/loadcore32.c: likewise
7dd4a573 26900
269012009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 26902
26903 ACPI spoofing
26904
26905 * commands/acpi.c: new file
26906 * commands/i386/pc/acpi.c: likewise
26907 * commands/efi/acpi.c: likewise
26908 * include/grub/acpi.h: likewise
26909 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
26910 (acpi_mod_SOURCES): new variable
26911 (acpi_mod_CFLAGS): likewise
26912 (acpi_mod_LDFLAGS): likewise
26913 * conf/i386-efi.rmk: likewise
26914 * conf/x86_64-efi.rmk: likewise
26915
7dd4a573 269162009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 26917
26918 Missing part from mmap patch
26919
26920 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
26921 (grub_mmap_unregister)
26922 (grub_mmap_free_and_unregister): use grub_mmap_register
26923
7dd4a573 269242009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 26925
26926 Mmap services
26927
26928 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
26929 * loader/i386/linux.c (find_mmap_size): likewise
26930 (allocate_pages): likewise
26931 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
26932 (grub_fill_multiboot_mmap): likewise
26933 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
26934 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
26935 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
26936 (OPENBSD_MMAP_RESERVED): likewise
26937 * include/grub/i386/pc/memory.h: include grub/memory.h
26938 (grub_lower_mem): removed
26939 (grub_upper_mem): likewise
26940 (GRUB_MACHINE_MEMORY_ACPI): new definition
26941 (GRUB_MACHINE_MEMORY_NVS): likewise
26942 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
26943 (GRUB_MACHINE_MEMORY_HOLE): likewise
26944 (grub_machine_mmap_register): likewise
26945 (grub_machine_mmap_unregister): likewise
26946 (grub_machine_get_upper): likewise
26947 (grub_machine_get_lower): likewise
26948 (grub_machine_get_post64): likewise
26949 * include/grub/i386/efi/memory.h: new file
26950 * include/grub/x86_64/efi/memory.h: likewise
26951 * include/grub/efi/memory.h: likewise
26952 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
26953 (mmap_mod_SOURCES): new variable
26954 (mmap_mod_LDFLAGS): likewise
26955 (mmap_mod_ASFLAGS): likewise
26956 * conf/i386-coreboot.rmk: likewise
26957 * conf/i386-ieee1275.rmk: likewise
26958 * conf/i386-efi.rmk: likewise
26959 * conf/x86_64-efi.rmk: likewise
26960 * include/grub/types.h (UINT_TO_PTR): new macro
26961 (PTR_TO_UINT32): likewise
26962 (PTR_TO_UINT64): likewise
26963 * include/grub/memory.h: new file
26964 * mmap/i386/pc/mmap.c: likewise
26965 * mmap/i386/pc/mmap_helper.S: likewise
26966 * mmap/i386/uppermem.c: likewise
26967 * mmap/mmap.c: likewise
26968 * mmap/efi/mmap.c: likewise
7dd4a573 26969 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 26970 grub_upper_mem
26971 * kern/i386/pc/init.c (grub_lower_mem): removed variable
26972 (grub_upper_mem): likewise
26973 (grub_machine_init): don't use grub_upper_mem,
26974 make grub_lower_mem local
26975 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
26976 grub_mmap_iterate and grub_mmap_get_upper
26977 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
26978
d558e6b5 269792009-05-02 Bean <bean123ch@gmail.com>
26980
26981 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
26982 script/sh/parser.y.
26983 (pkglib_MODULES): Add normal.mod and sh.mod.
26984 (normal_SOURCES): New variable.
26985 (normal_mod_CFLAGS): Likewise.
26986 (normal_mod_LDFLAGS): Likewise.
26987 (sh_mod_SOURCES): Likewise.
26988 (sh_mod_CFLAGS): Likewise.
26989 (sh_mod_LDFLAGS): Likewise.
26990
26991 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
26992 script/sh/lexer.c_DEPENDENCIES.
26993 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
26994 kern/rescue_reader.c and kern/rescue_parser.c.
26995 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
26996 (grub_emu_SOURCES): Change source files.
26997 (pkglib_MODULES): Remove normal.mod.
26998 (normal_SOURCES): Removed.
26999 (normal_mod_CFLAGS): Likewise.
27000 (normal_mod_LDFLAGS): Likewise.
27001 * conf/i386-coreboot.rmk: Likewise.
27002 * conf/i386-efi.rmk: Likewise.
27003 * conf/i386-ieee1276.rmk: Likewise.
27004 * conf/powerpc-ieee1275.rmk: Likewise.
27005 * conf/sparc64-ieee1275.rmk: Likewise.
27006 * conf/x86_64-efi.rmk: Likewise.
27007
27008 * include/grub/command.h (grub_command_execute): New inline function.
27009
27010 * include/grub/menu.h (grub_menu_entry): Removed commands field.
27011
27012 * include/grub/normal.h: Remove <grub/setjmp.h>.
27013 (grub_fs_module_list): Moved to normal/autofs.c.
27014 (grub_exit_env): Removed.
27015 (grub_command_execute): Likewise.
27016 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
27017 parameter script.
27018 (read_command_list): New function declaration.
27019 (read_fs_list): Likewise.
27020
27021 * include/parser.h: Include <grub/reader.h>.
27022 (grub_parser_split_cmdline): Change type of getline parameter.
27023 (grub_parser): New structure.
27024 (grub_parser_class): New variable.
27025 (grub_parser_execute): New function declaration.
27026 (grub_register_rescue_parser): Likewise.
27027 (grub_parser_register): New inline function.
27028 (grub_parser_unregister): Likewise.
27029 (grub_parser_get_current): Likewise.
27030 (grub_parser_set_current): Likewise.
27031
27032 * include/grub/reader.h: New file.
27033 * kern/reader.c: Likewise.
27034 * kern/rescue_parser.c: Likewise.
27035 * kern/rescue_reader.c: Likewise.
27036 * normal/autofs.c: Likewise.
27037 * normal/dyncmd.c: Likewise.
27038
27039 * include/grub/rescue.h: Removed.
27040 * normal/command.h: Likewise.
27041
27042 * include/grub/script.h: Moved to ...
27043 * include/grub/script_sh.h: ... Moved here.
27044 * normal/execute.c: Moved to ...
27045 * script/sh/execute.c: ... Moved here.
27046 * normal/function.c: Moved to ...
27047 * script/sh/function.c: ... Moved here.
27048 * normal/lexer.c: Moved to ...
27049 * script/sh/lexer.c: ... Moved here.
27050 * normal/parser.y: Moved to ...
27051 * script/sh/parser.y: ... Moved here.
27052 * normal/script.c: Moved to ...
27053 * script/sh/script.c: ... Moved here.
27054
27055 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
27056 <grub/reader.h>.
27057 (grub_exit_env): Removed.
27058 (fs_module_list): Moved to normal/autofs.c.
27059 (grub_file_getline): Don't handle comment here.
27060 (free_menu): Skip removed field entry->commands.
27061 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
27062 script parameter.
27063 (read_config_file): Removed nested parameter, change getline function.
27064 (grub_enter_normal_mode): Removed.
27065 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
27066 (read_command_list): Likewise.
27067 (autoload_fs_module): Moved to normal/autofs.c.
27068 (read_fs_list): Likewise.
27069 (reader_nested): New variable.
27070 (grub_normal_execute): Run parser.sh to switch to sh parser.
27071 (grub_cmd_rescue): Removed.
27072 (cmd_normal): Removed.
27073 (grub_cmd_normal): Unregister itself at the beginning. Don't register
27074 rescue command.
27075 (grub_cmdline_run): New function.
27076 (grub_normal_reader_init): Likewise.
27077 (grub_normal_read_line): Likewise.
27078 (grub_env_write_pager): Likewise.
27079 (cmdline): New variable.
27080 (grub_normal_reader): Likewise.
27081 (GRUB_MOD_INIT): Register normal reader and set as current, register
27082 pager hook, register normal command with grub_register_command_prio,
27083 so that it won't show up in command.lst.
27084 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
27085 grub_fs_autoload_hook.
27086
27087 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
27088 (grub_menu_execute_entry): Replace grub_script_execute with
27089 grub_parser_execute, change parameter to grub_command_execute.
27090
27091 * normal/menu_text.c: Remove <grub/script.h>.
27092
27093 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
27094 and <grub/parser.h>.
27095 (run): Change editor_getline to use new parser interface. Change
27096 parameter to grub_command_execute.
27097
27098 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
27099 <grub/reader.h> and <grub/parser.h>.
27100 (grub_load_normal_mode): Execute normal command.
27101 (grub_main): Call grub_register_core_commands,
27102 grub_register_rescue_parser and grub_register_rescue_reader, use
27103 grub_reader_loop to enter input loop.
27104
7dd4a573 27105 * kern/parser.c (grub_parser_split_cmdline): Change type of
27106 getline parameter.
d558e6b5 27107 (grub_parser_class): New variable.
27108 (grub_parser_execute): New function.
27109
27110 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
27111 * loader/multiboot2.c: Likewise.
27112 * loader/sparc64/ieee1275/linux.c: Likewise.
27113
27114 * util/grub-emu.c (read_command_list): New dummy function.
27115
18db813d 271162009-05-02 Robert Millan <rmh.grub@aybabtu.com>
27117
27118 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
27119 count to 16 for CCISS and IDA.
27120
6c67de15 271212009-05-02 Robert Millan <rmh.grub@aybabtu.com>
27122
27123 * normal/menu_text.c (grub_wait_after_message): Print a newline
27124 after waiting for user input.
27125
27126 * loader/i386/linux.c: Include `<grub/normal.h>'.
27127 (grub_cmd_linux): Improve the error message about `ask' mode, by
27128 waiting for user input so it's not missed (we can do this, since
27129 user requested interaction).
27130
d9dc87b0 271312009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
27132
27133 Added missing lst to grub-mkrescue
27134
27135 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
27136 and ${input_dir}/parttool.lst
27137
ac8a2baa 271382009-04-30 David S. Miller <davem@davemloft.net>
27139
ad22a610 27140 * util/hostdisk.c (device_is_wholedisk): New function.
27141 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
27142 zero only if device_is_wholedisk() returns true.
27143
6966215d 27144 * util/hostdisk.c (convert_system_partition_to_system_disk):
27145 Handle virtual disk devices named /dev/vdiskX as found on sparc
27146 and powerpc.
27147
ac8a2baa 27148 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
27149 lettered partition specifier is found, convert to numbered.
27150
979b4fb4 271512009-04-29 David S. Miller <davem@davemloft.net>
27152
e2bf39b2 27153 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
27154 * include/grub/sparc64/ieee1275/memory.h: Likewise.
27155
3c64e104 27156 * normal/command.c: Add missing newline at end of file.
27157
979b4fb4 27158 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
27159 warnings.
27160 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
27161 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
27162 grub_ofdisk_read): Likewise, and deal similarly with the fact that
27163 ihandles have a 32-bit type but need to be stored in a "void *".
27164
136d9f82 271652009-04-28 Pavel Roskin <proski@gnu.org>
27166
9459c306 27167 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
27168 not disk. Adjust all dependencies.
2e08a26a 27169 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 27170 grub_disk_close().
27171
136d9f82 27172 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
27173 parent's partition, don't copy it by reference, as it gets freed
27174 on close.
27175
7dd4a573 271762009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 27177
27178 Preboot hooks support
27179
27180 * commands/boot.c (struct grub_preboot_t): new declaration
27181 (preboots_head): new variable
27182 (preboots_tail): likewise
27183 (grub_loader_register_preboot_hook): new function
27184 (grub_loader_unregister_preboot_hook): likewise
27185 (grub_loader_set): launch preboot hooks
27186 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
27187 (grub_loader_register_preboot_hook): new declaration
27188 (grub_loader_unregister_preboot_hook): likewise
27189
5af922b5 271902009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
27191
27192 Warning fix
27193
7dd4a573 27194 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 27195 calling grub_dprintf
27196
a5562c30 271972009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
27198
27199 Bug and warning fixes
27200
7dd4a573 27201 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 27202 declaration
27203 * commands/test.c (test_parse): fixed bug with file tests and corrected
27204 declaration of find_file
27205
4006f85c 272062009-04-26 Pavel Roskin <proski@gnu.org>
27207
27208 * Makefile.in: Don't install empty manual pages if help2man is
27209 missing. Use help2man option for output, not shell redirection.
27210
5c77c3de 272112009-04-26 David S. Miller <davem@davemloft.net>
27212
27213 * util/grub-mkdevicemap.c (make_device_map): Add missing
27214 NESTED_FUNC_ATTR to process_device().
27215
033b10a8 272162009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
27217
27218 Test command
27219
27220 * commands/test.c: rewritten to use bash-like test
27221
e4343593 272222009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
27223
27224 Parttool autoloading and improvements
27225
7dd4a573 27226 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 27227 (parttool.lst): new target
27228 * genmk.rb: generate parttool-*
27229 (CLEANFILES): add #{parttool}
27230 (PARTTOOLFILES): new variable
27231 * genparttoollist.sh: new file
7dd4a573 27232 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 27233 (grub_pcpart_type): likewise
27234 * commands/parttool.c (helpmsg): new variable
27235 (grub_cmd_parttool): output help if not enough arguments are supplied
27236 autoload modules
27237 (GRUB_MOD_INIT(parttool)): use helpmsg
27238
0d312500 272392009-04-24 David S. Miller <davem@davemloft.net>
27240
7dd4a573 27241 Avoiding opening same device multiple times in device iterator.
0d312500 27242
27243 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 27244 and use it to build a list of partitions in iterate_disk() and
0d312500 27245 iterate_partition().
27246
ac20caff 27247 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
27248 on disk->data.
27249
0dcf7495 27250 * disk/ieee1275/nand.c (grub_nand_iterate): Return
27251 grub_devalias_iterate() result instead of unconditional 0.
27252 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
27253 Also, capture hook return value, either directly or via
27254 grub_children_iterate(), and propagate to caller.
27255 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
27256 grub_children_iterate): Return value is now 'int' instead of
27257 'grub_err_t'.
27258 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
27259 like a proper iterator, stopping when hooks return non-zero.
27260 (grub_devalias_iterate): Likewise.
27261
c8c08833 272622009-04-23 David S. Miller <davem@davemloft.net>
27263
27264 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
27265
f01005a8 272662009-04-22 David S. Miller <davem@davemloft.net>
27267
27268 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
27269 is larger than address_cells, use that value for address_cells too.
27270
4e8269da 27271 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
27272 IEEE1275_MAX_PATH_LEN): Define.
27273 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
27274 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
27275 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
27276 'devtype'. Explicitly NULL terminate devalias expansion.
27277
a1447506 27278 * util/sparc64/ieee1275/misc.c: New file.
27279 * util/sparc64/ieee1275/grub-setup.c: New file.
27280 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
27281 * util/sparc64/ieee1275/grub-mkimage.c: New file.
27282 * util/sparc64/ieee1275/grub-install.in: New file.
27283 * util/ieee1275/ofpath.c: New file.
27284 * util/ieee1275/devicemap.c: New file.
27285 * util/devicemap.c: New file.
27286 * util/deviceiter.c: New file.
27287 * kern/sparc64/ieee1275/init.c: New file.
27288 * include/grub/util/ofpath.h: New file.
27289 * include/grub/util/deviceiter.h: New file.
27290 * util/grub-mkdevicemap.c: Include deviceiter.h.
27291 Implement using grub_util_emit_devicemap_entry and
27292 grub_util_iterate_devices.
27293 * conf/i386-corebook.rmk: Build util/deviceiter.c and
27294 util/devicemap.c into grub-mkdevicemap
27295 * conf/i386-efi.rmk: Likewise.
27296 * conf/i386-ieee1275.rmk: Likewise.
27297 * conf/i386-pc.rmk: Likewise.
27298 * conf/powerpc-ieee1275.rmk: Likewise.
27299 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
27300 images and installation utilities. Build kernel as image
27301 instead of as elf binary. Use common rules as much as possible.
27302
7dd4a573 273032009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 27304
27305 Correct GPT definition
27306
7dd4a573 27307 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 27308 of "attrib" member
27309
c6c5219f 273102009-04-19 Felix Zielcke <fzielcke@z-51.de>
27311
27312 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
27313
0552ff9f 273142009-04-19 David S. Miller <davem@davemloft.net>
27315
27316 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
27317 (grub_rescue_cmd_linux): Rename to...
27318 (grub_cmd_linux): and fix prototype.
27319 (grub_rescue_cmd_initrd): Rename to...
27320 (grub_cmd_initrd): and fix prototype.
27321 (cmd_linux, cmd_initrd): New.
27322 (GRUB_MOD_INIT(linux)): Use grub_register_command().
27323 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
27324
d1a282fc 273252009-04-17 Pavel Roskin <proski@gnu.org>
27326
07c5039f 27327 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
27328 format.
27329 (grub_ohci_transfer): Likewise.
27330
b012002d 27331 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
27332
1bc09c35 27333 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
27334 return without a value. Fix inconsistent indentation.
27335
e0ff9126 27336 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
27337 match struct grub_fs.
27338
d1a282fc 27339 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
27340 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
27341 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
27342 * commands/lspci.c (grub_lspci_iter): Likewise.
27343
a96df3f2 273442009-04-16 Bean <bean123ch@gmail.com>
27345
27346 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
27347 value.
27348
41bb0fe9 273492009-04-15 Pavel Roskin <proski@gnu.org>
27350
27351 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
27352 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
27353 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
27354 definitions.
27355
596c6970 273562009-04-15 Felix Zielcke <fzielcke@z-51.de>
27357
27358 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 27359 that no multiple data or metadata areas are supported and `Unknown
596c6970 27360 metadata header'.
27361
7dd4a573 273622009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 27363
27364 Move loader out of the kernel
27365
27366 * kern/loader.c: moved to ...
27367 * commands/boot.c: ... moved here
27368 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
27369 * commands/boot.c (grub_cmd_boot): moved here. All users updated
27370 * include/grub/kernel.h (grub_machine_fini): export
27371 * include/grub/loader.h (grub_loader_is_loaded): update declaration
27372 (grub_loader_set): likewise
27373 (grub_loader_unset): likewise
27374 (grub_loader_boot): likewise
27375 * conf/common.rmk: new module boot.mod
27376 (pkglib_MODULES): add boot.mod
27377 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
27378 (grub_emu_SOURCES): likewise
27379 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
27380 (grub_emu_SOURCES): likewise
27381 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
27382 (grub_emu_SOURCES): likewise
27383 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
27384 (grub_emu_SOURCES): likewise
27385 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
27386 (grub_emu_SOURCES): likewise
7dd4a573 27387 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
27388 (grub_emu_SOURCES): likewise
0d5d5653 27389 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 27390 (grub_emu_SOURCES): likewise
0d5d5653 27391
7dd4a573 273922009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 27393
27394 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 27395
5999d619 27396 * kern/misc.c (grub_itoa): Removed function
27397 (grub_ltoa): likewise
27398 (grub_vsprintf): use grub_lltoa
27399
7dd4a573 274002009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 27401
27402 Restore grub-emu
27403
27404 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
27405 * conf/i386-coreboot.rmk: likewise
27406 * conf/i386-ieee1275.rmk: likewise
27407 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 27408
20318222 274092009-04-15 Felix Zielcke <fzielcke@z-51.de>
27410
27411 * INSTALL: Add that `./autogen.sh' needs to be run before
27412 `./configure.'.
27413
d05f0df3 274142009-04-14 Bean <bean123ch@gmail.com>
27415
27416 * Makefile.in (pkglib_DATA): Add handler.lst.
27417 (handler.lst): New rule.
27418
27419 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
27420 * conf/i386-coreboot.rmk: Likewise.
27421 * conf/i386-ieee1275.rmk: Likewise.
27422 * conf/i386-efi.rmk: Likewise.
27423 * conf/x86_64-efi.rmk: Likewise.
27424 * conf/powerpc-ieee1275.rmk: Likewise.
27425 * conf/sparc64-ieee1275.rmk: Likewise.
27426
27427 * genhandlerlist.sh: New file.
27428
27429 * genmk.rb: Add rules to generate handler.lst.
27430
27431 * include/grub/normal.h (grub_file_getline): New function definition.
27432 (read_handler_list): Likewise.
27433 (free_handler_list): Likewise.
27434
27435 * include/grub/term.h (grub_term_register_input): Add name parameter
27436 for auto generation of handler.lst.
27437 (grub_term_register_output): Likewise.
27438
27439 * normal/handler.c: New file.
27440
27441 * normal/main.c (get_line): Renamed to grub_file_getline.
27442 (read_config_file): Use the newly renamed grub_file_getline.
27443 (read_command_list): Likewise.
27444 (read_fs_list): Likewise.
27445 (grub_normal_execute): Call read_handler_list to parse handler.lst.
27446 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
27447
27448 * term/efi/console.c (grub_console_init): Add name parameter for auto
27449 generation of handler.lst.
27450 * term/gfxterm.c: Likewise.
27451 * term/i386/pc/at_keyboard.c: Likewise.
27452 * term/i386/pc/console.c: Likewise.
27453 * term/i386/pc/serial.c: Likewise.
27454 * term/i386/pc/vesafb.c: Likewise.
27455 * term/i386/pc/vga.c: Likewise.
27456 * term/i386/pc/vga_text.c: Likewise.
27457 * term/ieee1275/ofconsole.c: Likewise.
27458 * term/usb_keyboard.c: Likewise.
27459
33c846be 274602009-04-14 Bean <bean123ch@gmail.com>
27461
27462 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
27463 properly with null character.
27464
4484e01e 274652009-04-14 Felix Zielcke <fzielcke@z-51.de>
27466
27467 * configure: Remove.
27468 * config.h.in: Likewise.
f93d668e 27469 * stamp-h.in: Likewise.
4484e01e 27470 * DISTLIST: Likewise.
27471 * conf/common.mk: Likewise.
27472 * conf/i386-coreboot.mk: Likewise.
27473 * conf/i386-efi.mk: Likewise.
27474 * conf/i386-ieee1275.mk: Likewise.
27475 * conf/i386.mk: Likewise.
27476 * conf/i386-pc.mk: Likewise.
27477 * conf/powerpc-ieee1275.mk: Likewise.
27478 * conf/sparc64-ieee1275.mk: Likewise.
27479 * conf/x86_64-efi.mk: Likewise.
27480
27481 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
27482 develop on GRUB.
27483
7dd4a573 274842009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 27485 David S. Miller <davem@davemloft.net>
27486
27487 * util/hostdisk.c (make_device_name): Fix buffer length
27488 calculations.
27489
e25b5a8c 274902009-04-14 Felix Zielcke <fzielcke@z-51.de>
27491
27492 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
27493 <sys/param.h> and <sys/sysctl.h>.
27494 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
27495 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
27496 opening the device and reset them afterwards.
27497
1f1f580c 274982009-04-13 Pavel Roskin <proski@gnu.org>
27499
27500 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
27501 Reported by John Stanley <jpsinthemix@verizon.net>
27502
7ebc2d6b 275032009-04-13 Robert Millan <rmh@aybabtu.com>
27504
27505 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 27506 that name for menuentries when appropriate.
7ebc2d6b 27507
d8ba3667 275082009-04-13 Felix Zielcke <fzielcke@z-51.de>
27509
27510 * util/grub.d/10_freebsd.in: Add a missing `fi'.
27511
cba416eb 275122009-04-13 Robert Millan <rmh@aybabtu.com>
27513
27514 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
27515 to Linux, simply abort telling the user it's no longer supported.
27516
a547a745 275172009-04-13 Felix Zielcke <fzielcke@z-51.de>
27518
27519 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 27520 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 27521 `freebsd_loadenv' only when devices.hints exist.
27522
232a769c 275232009-04-13 Pavel Roskin <proski@gnu.org>
27524
27525 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
27526
c3012039 275272009-04-13 Felix Zielcke <fzielcke@z-51.de>
27528
27529 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
27530 partition number.
27531 (grub_drive): Likewise.
27532
234022fe 275332009-04-13 David S. Miller <davem@davemloft.net>
27534
27535 * kern/sparc64/ieee1275/ieee1275.c: New file.
27536 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
27537 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
27538 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
27539 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
27540 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
27541 grub_ieee1275_alloc_physmem): Declare new exported functions.
27542
d8e1836c 27543 * include/grub/sparc64/ieee1275/loader.h: New file.
27544 * include/grub/sparc64/ieee1275/memory.h: Likewise.
27545 * include/grub/sparc64/kernel.h: Likewise.
27546 * loader/sparc64/ieee1275/linux.c: Likewise.
27547
96bd81ec 27548 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
27549 (grub_fstest_SOURCES): Likewise.
27550
6a4737e5 27551 * util/hostdisk.c (make_device_name): Do not make any assumptions
27552 about the length of drive names.
27553
1d7a72fd 27554 * kern/dl.c (grub_dl_load_file): Close file immediately when
27555 we are done using it.
27556
56bc2471 275572009-04-12 David S. Miller <davem@davemloft.net>
27558
27559 * kern/misc.c (grub_ltoa): Fix cast when handling negative
27560 values. Noticed by Pavel Roskin.
27561
df38d0bb 27562 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
27563 target compiler.
7dd4a573 27564
e382e93a 27565 * genmk.rb: Add more flexible image type specification, also
27566 pass --strip-unneeded to objcopy.
27567 * conf/i386-pc.rmk: Use *_FORMAT.
27568 * conf/i386-pc.mk: Rebuilt.
27569
f5dbbca9 27570 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
27571 (OFDISK_HASH_SZ): Define.
27572 (ofdisk_hash): New hash table.
27573 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
27574 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
27575 instead of device phandle which is not unique.
27576
91c88b12 27577 * kern/sparc64/ieee1275/init.c: Delete, replace with...
27578 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
27579 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
27580 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
27581 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
27582 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
27583 GRUB_KERNEL_MACHINE_DATA_END): Define.
27584 (grub_kernel_image_size, grub_total_module_size): Declare.
27585
5b5d4aa5 275862009-04-12 Pavel Roskin <proski@gnu.org>
27587
7dd4a573 27588 * configure.ac: Change the logic when we check for target tools.
27589 Do it when the target is specified and it's different from the
27590 specified value of the host.
5b5d4aa5 27591
c91e1793 275922009-04-11 Felix Zielcke <fzielcke@z-51.de>
27593
27594 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
27595 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
27596 GNU/kFreeBSD. Check if a device is a character device. Use
27597 DIOCGMEDIASIZE to get the size.
27598 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
27599 support for GNU/kFreeBSD.
27600 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
27601 is a character device instead of a block device. Add support for
27602 FreeBSD device names.
27603
27604 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
27605 is a character device instead of a block device.
27606
27607 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
27608 is a character device instead of a block device.
27609
b1ac8644 276102009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
27611
27612 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
27613 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
27614 FreeBSD. Check if a device is a character device. Use
27615 DIOCGMEDIASIZE to get the size.
27616 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
27617 support for FreeBSD.
27618 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
27619 is a character device instead of a block device. Add support for
27620 FreeBSD device names.
27621
27622 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
27623 a character device instead of a block device.
27624 (grub_util_check_char_device): New function.
27625
27626 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
27627 a character device instead of a block device.
27628
27629 * include/grub/util/getroot.h (grub_util_check_char_device): New
27630 prototype.
27631
a3f7515a 276322009-04-11 David S. Miller <davem@davemloft.net>
27633
27634 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
27635 static libgcc.
27636 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
27637 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
27638 function, if present.
27639 (__bswapdi2): Likewise.
27640
0d44993d 27641 * include/grub/sparc64/ieee1275/boot.h: New file.
27642 * boot/sparc64/ieee1275/boot.S: Likewise.
27643 * boot/sparc64/ieee1275/diskboot.S: Likewise.
27644
ed3d2bc2 27645 * kern/misc.c (grub_ltoa): New function.
27646 (grub_vsprintf): Use it to format 'long' integers.
27647
d3bfb59c 276482009-04-10 David S. Miller <davem@davemloft.net>
27649
27650 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
27651 slots are of type grub_ieee1275_cell_t.
27652 (grub_nand_read): Likewise.
27653 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
27654 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
27655 macros are used to compare values in arg/ret block of the call.
27656 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
27657 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
27658 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
27659 grub_ieee1275_instance_to_path, grub_ieee1275_write,
27660 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
27661 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
27662 grub_ieee1275_close, grub_ieee1275_set_property,
27663 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
27664 grub_ieee1275_cell_t.
27665 * kern/ieee1275/openfw.c (grub_map): Likewise.
27666 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
27667 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
27668
450e2238 27669 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
27670 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
27671 (grub_devalias_iterate): Likewise.
27672
7dd4a573 276732009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 27674
27675 UFS improvements
27676
27677 * fs/ufs.c (INODE_NBLOCKS): new definition
27678 (struct grub_ufs_dirent): added fields for non-BSD dirents
27679 (grub_ufs_get_file_block): fixed double indirect handling
27680 (grub_ufs_lookup_symlink): use more robust way to determine whether
27681 symlink is inline
27682 (grub_ufs_find_file): support for non-BSD dirents
27683 (grub_ufs_dir): support for non-BSD dirents
27684
e7e6862a 276852009-04-10 Bean <bean123ch@gnail.com>
27686
27687 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
27688 attribute, otherwise the size would be wrong for i386 platform.
27689
27690 * include/grub/pci.h (grub_pci_read_word): New inline function.
27691 (grub_pci_read_byte): Likewise.
27692 (grub_pci_write): Likewise.
27693 (grub_pci_write_word): Likewise.
27694 (grub_pci_write_byte): Likewise.
27695
27696 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
27697
27698 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
27699 (find_framebuf): Scan pci to locate the frame buffer address.
27700
27701 * commands/efi/fixvideo.c: New file.
27702
27703 * commands/efi/loadbios.c: Likewise.
27704
27705 * commands/memrw.c: Likewise.
27706
27707 * util/grub-dumpbios.in: Likewise.
27708
27709 * conf/common.rmk (grub-dumpbios): New utility.
27710 (pkglib_MODULES): New module memrw.mod.
27711 (memrw_mod_SOURCE): New macro.
27712 (memrw_mod_CFLAGS): Likewise.
27713 (memrw_mod_LDFLAGS): Likewise.
27714
7dd4a573 27715 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 27716 fixvideo.mod.
27717 (loadbios_mod_SOURCE): New macro.
27718 (loadbios_mod_CFLAGS): Likewise.
27719 (loadbios_mod_LDFLAGS): Likewise.
27720 (fixvideo_mod_SOURCE): Likewise.
27721 (fixvideo_mod_CFLAGS): Likewise.
27722 (fixvideo_mod_LDFLAGS): Likewise.
27723
7dd4a573 27724 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 27725 fixvideo.mod.
27726 (loadbios_mod_SOURCE): New macro.
27727 (loadbios_mod_CFLAGS): Likewise.
27728 (loadbios_mod_LDFLAGS): Likewise.
27729 (fixvideo_mod_SOURCE): Likewise.
27730 (fixvideo_mod_CFLAGS): Likewise.
27731 (fixvideo_mod_LDFLAGS): Likewise.
27732
af63ada2 277332009-04-08 Felix Zielcke <fzielcke@z-51.de>
27734
27735 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
27736
c2cdde70 277372009-04-07 David S. Miller <davem@davemloft.net>
27738
27739 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
27740 support for R_SPARC_OLO10 relocations. Fix compile warning for
27741 R_SPARC_WDISP30 case.
ea3f72cf 27742 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 27743
761319cf 277442009-04-06 Pavel Roskin <proski@gnu.org>
27745
1007d1f5 27746 * include/grub/misc.h (ARRAY_SIZE): New macro.
27747 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
27748 New macro.
27749 * loader/i386/linux.c (allocate_pages): Use free_pages().
27750 (grub_linux_unload): Don't use free_pages().
27751 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
27752 wrong index. Treat all other modes as text modes.
27753 (grub_cmd_linux): Initialize vid_mode unconditionally to
27754 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
27755
761319cf 27756 * commands/help.c (print_command_help): Use cmd->prio, not
27757 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
27758
ea761d40 277592009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 27760
ea761d40 27761 Parttool
27762
27763 * parttool/pcpart.c: new file
27764 * commands/parttool.c: likewise
27765 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
27766 (parttool_mod_SOURCES): new variable
27767 (parttool_mod_CFLAGS): likewise
27768 (parttool_mod_LDFLAGS): likewise
27769 (pcpart_mod_SOURCES): likewise
27770 (pcpart_mod_CFLAGS): likewise
27771 (pcpart_mod_LDFLAGS): likewise
7dd4a573 27772 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 27773 and parttool/pcpart.c
27774 * conf/i386-efi.rmk: likewise
27775 * conf/i386-ieee1275.rmk: likewise
27776 * conf/i386-pc.rmk: likewise
27777 * conf/powerpc-ieee1275.rmk: likewise
27778 * conf/sparc64-ieee1275.rmk: likewise
27779 * conf/x86_64-ieee1275.rmk: likewise
27780
05aaebfb 277812009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27782
27783 Support for mtime and further expandability of dir command
27784
27785 * include/grub/lib/datetime.h: moved to ...
7dd4a573 27786 * include/grub/datetime.h: ... moved here and added
05aaebfb 27787 declaration of grub_unixtime2datetime. All users updated
7dd4a573 27788 * include/grub/fs.h: new syntax for dir and mtime functions in
27789 struct grub_fs
05aaebfb 27790 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
27791 and GRUB_FSHELP_FLAGS_MASK
27792 * commands/ls.c (grub_ls_list_files): Write mtime in long format
27793 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
27794 (grub_ext2_mtime): new function
27795 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
27796 (grub_hfsplus_mtime): new function
27797 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
27798 (GRUB_UFS_ATTR_FILE): likewise
27799 (GRUB_UFS_ATTR_LNK): likewise
27800 (struct grub_ufs_sblock): new fields mtime
27801 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
27802 all users updated
27803 (grub_ufs_dir): mtime support
27804 (grub_ufs_mtime): new function
27805 * fs/affs.c (grub_affs_dir): use new dir syntax
27806 * fs/afs.c (grub_afs_dir): likewise
27807 * fs/cpio.c (grub_cpio_dir): likewise
27808 * fs/fat.c (grub_fat_find_dir): likewise
27809 * fs/hfs.c (grub_hfs_dir): likewise
27810 * fs/iso9660.c (grub_iso9660_dir): likewise
27811 * fs/jfs.c (grub_jfs_dir): likewise
27812 * fs/minix.c (grub_minix_dir): likewise
27813 * fs/ntfs.c (grub_ntfs_dir): likewise
27814 * fs/reiserfs.c (grub_reiserfs_dir): likewise
27815 * fs/sfs.c (grub_sfs_dir): likewise
27816 * fs/xfs.c (grub_xfs_dir): likewise
27817 * util/hostfs.c (grub_hostfs_dir): likewise
27818 * lib/datetime.c: moved to ...
27819 * normal/datetime.c: ... moved here
27820 (grub_unixtime2datetime): new function
27821 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 27822 * normal/completion.c (iterate_dir): use new dir syntax
27823 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 27824 last modification time of a volume
7dd4a573 27825 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 27826 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 27827 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 27828 (normal_mod_SOURCES): likewise
27829 (datetime_mod_SOURCES): Removed lib/datetime.c
27830 * conf/i386-efi.rmk: likewise
7dd4a573 27831 * conf/i386-ieee1275.rmk: likewise
05aaebfb 27832 * conf/i386-pc.rmk: likewise
27833 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 27834 * conf/sparc64-ieee1275.rmk: likewise
27835 * conf/x86_64-efi.rmk: likewise
05aaebfb 27836
8a7e1a14 278372009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27838
27839 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 27840
27841 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 27842 on grub_fat_find_dir
27843 (grub_fat_find_dir): use grub_fat_iterate_dir
27844 (grub_fat_label): likewise
27845
04186a9c 278462009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27847
7dd4a573 27848 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 27849 and command.h
27850 remove extraneous kernel_elf_HEADERS
27851
da4c0bb6 278522009-04-04 Bean <bean123ch@gnail.com>
27853
27854 * include/grub/util/misc.h: Add dummy function fsync for mingw.
27855
27856 * util/misc.c: Likewise.
27857
54ad9555 278582009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27859
27860 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
27861 instead of grub_printf.
27862
7a6bf9f2 278632009-04-03 Robert Millan <rmh@aybabtu.com>
27864
27865 * loader/i386/linux.c (grub_linux_setup_video): Fill
27866 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
27867 values from `mode info' structure instead of hardcoded
27868 values.
27869
3fcc2083 278702009-04-01 Pavel Roskin <proski@gnu.org>
27871
27872 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
27873 unused now.
27874 * genmk.rb: Likewise.
27875 * configure.ac: Likewise.
27876
5ec9740b 278772009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
27878
27879 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
27880 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
27881
5270cec8 278822009-04-01 David S. Miller <davem@davemloft.net>
27883
27884 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 27885 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 27886 (grub_setjmp): Mark with 'returns_twice' attribute.
27887 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
27888 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
27889 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
27890
9c3dd854 278912009-04-01 Robert Millan <rmh@aybabtu.com>
27892
27893 Reapply fix from 2008-07-28 which was accidentally reverted; also
27894 perform the same fix to a similar check in same function.
27895
27896 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27897 with the same number are found, just use issue a warning with
27898 grub_dprintf(), as this error has been reported to be non-fatal.
27899
0d818b7e 279002009-03-31 Pavel Roskin <proski@gnu.org>
27901
27902 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
27903 for cross-compilation.
27904
95646d92 279052009-03-30 Robert Millan <rmh@aybabtu.com>
27906
27907 Fix i386-ieee1275 build.
27908
27909 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
27910 Remove declaration.
27911
6a003ed1 279122009-03-30 Pavel Roskin <proski@gnu.org>
27913
27914 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
27915 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
27916 zero-terminated, rely only on the strlen value. Fix comparison
27917 of strings differing in length.
27918
92f33540 279192009-03-30 Robert Millan <rmh@aybabtu.com>
27920
27921 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
27922 checking for abi version. Improve error messages on BIOS to notify
27923 user about `linux16' command.
27924
a8c48fd5 279252009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
27926
f968172e 27927 Leak fixes
a8c48fd5 27928
f968172e 27929 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
27930 in case of collision
27931 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 27932
9c323f09 279332009-03-29 Robert Millan <rmh@aybabtu.com>
27934
27935 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
27936 set `vid_mode' accordingly.
27937 (grub_linux_boot): Process `vid_mode' and set video mode.
27938
ae68f423 279392009-03-29 Robert Millan <rmh@aybabtu.com>
27940
27941 * util/grub.d/10_linux.in (linux_entry): New function.
27942 Factorize generation of Linux boot entries.
27943
5709cfc4 279442009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
27945
27946 Make the format of Environment Block plain text. The boot loader
27947 part is not tested well yet.
7dd4a573 27948
5709cfc4 27949 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
27950 (buffer): Removed.
27951 (envblk): Likewise.
27952 (usage): Remove "info" and "clear". Add "unset". Update the
27953 description of "set", as this does not delete variables any
27954 longer.
27955 (create_envblk_file): Complete rewrite.
27956 (open_envblk_file): Likewise.
27957 (cmd_info): Removed.
27958 (cmd_list): Likewise.
27959 (cmd_set): Likewise.
27960 (cmd_clear): Likewise.
27961 (list_variables): New function.
27962 (write_envblk): Likewise.
27963 (set_variables): Likewise.
27964 (unset_variables): Likewise.
27965 (main): Complete rewrite.
27966
27967 * commands/loadenv.c (buffer): Removed.
27968 (envblk): Likewise.
27969 (open_envblk_file): New function.
27970 (read_envblk_file): Complete rewrite.
27971 (grub_cmd_load_env): Likewise.
27972 (grub_cmd_list_env): Likewise.
27973 (struct blocklist): New struct.
27974 (free_blocklists): New function.
27975 (check_blocklists): Likewise.
27976 (write_blocklists): Likewise.
27977 (grub_cmd_save_env): Complete rewrite.
27978
27979 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
27980 a plain text signature.
27981 (GRUB_ENVBLK_MAXLEN): Removed.
27982 (struct grub_envblk): Complete rewrite.
27983 (grub_envblk_find): Removed.
27984 (grub_envblk_insert): Likewise.
27985 (grub_envblk_open): New prototype.
27986 (grub_envblk_set): Likewise.
27987 (grub_envblk_delete): Put const to VALUE.
27988 (grub_envblk_iterate): Put const to NAME and VALUE.
27989 (grub_envblk_close): New prototype.
27990 (grub_envblk_buffer): New inline function.
27991 (grub_envblk_size): Likewise.
27992
27993 * lib/envblk.c: Include grub/mm.h.
27994 (grub_env_find): Removed.
27995 (grub_envblk_open): New function.
27996 (grub_envblk_close): Likewise.
27997 (escaped_value_len): Likewise.
27998 (find_next_line): Likewise.
27999 (grub_envblk_insert): Removed.
28000 (grub_envblk_set): New function.
28001 (grub_envblk_delete): Complete rewrite.
28002 (grub_envblk_iterate): Likewise.
28003
a9368fd3 280042009-03-28 Robert Millan <rmh@aybabtu.com>
28005
28006 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
28007 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
28008 variables. Use 16-bit loader.
28009 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
28010 loader.
28011 * kern/i386/loader.S (grub_linux_boot): Rename to ...
28012 (grub_linux16_boot): ... this. Update all users.
28013 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
28014 (grub_linux_boot): ... this. Update all users.
28015
28016 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
28017 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
28018 commands to `linux16' and `initrd16'.
28019 (GRUB_MOD_FINI(linux)): Rename to ...
28020 (GRUB_MOD_FINI(linux16)): ... this.
28021
e4dd5a7e 280222009-03-24 Pavel Roskin <proski@gnu.org>
28023
28024 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
28025 not just for compilation.
28026
c04d6e05 280272009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
28028
28029 Move multiboot helper out of kernel
28030
28031 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
28032 `loader/i386/multiboot_helper.S'.
28033 * conf/i386-coreboot.rmk: Likewise
28034 * conf/i386-ieee1275.rmk: Likewise
28035
28036 * kern/i386/loader.S: Move multiboot helpers from here...
28037 * loader/i386/multiboot_helper.S: ...moved here
28038 * include/grub/i386/loader.h: Move declarations of multiboot
28039 helpers from here...
28040 * include/grub/i386/multiboot.h: ...moved here
28041 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
28042
42a5b3fc 280432009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28044
28045 * kern/env.c (grub_env_context_open): Added an argument to specify
28046 whether a new context inherits exported variables from current
28047 one. This is useful when making a sandbox to interpret a config
28048 file.
28049 All callers updated.
28050
28051 * include/grub/env.h (grub_env_context_open): Updated the prototype.
28052
b28bbc4e 280532009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28054
28055 * kern/env.c (grub_env_context_close): Fix memory leaks.
28056
f04f02e4 280572009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28058
28059 * normal/main.c (grub_normal_execute): Added an argument
28060 BATCH to specify if an interactive interface should be provided
28061 after reading a config file.
28062 All callers updated.
28063 (read_command_list): Prevent being executed twice.
28064 (read_fs_list): Likewise.
28065
42a5b3fc 28066 * include/grub/normal.h (grub_normal_execute): Updated the
28067 prototype.
f04f02e4 28068
41473ac2 280692009-03-22 Pavel Roskin <proski@gno.org>
28070
fbc00b0c 28071 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
28072 _start.
28073 * kern/i386/pc/startup.S: Likewise.
28074 * kern/i386/efi/startup.S: Likewise.
28075 * kern/i386/ieee1275/startup.S: Likewise.
28076 * kern/i386/coreboot/startup.S: Likewise.
28077 * kern/x86_64/efi/startup.S: Likewise.
28078
41473ac2 28079 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
28080 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
28081 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
28082
2274cc8f 280832009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
28084
28085 Bugfixes in multiboot for bugs uncovered by solaris kernel.
28086
28087 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
28088 limit detection.
28089 Use vaddr of correct segment for entry_point.
28090
b1b797cb 280912009-03-21 Bean <bean123ch@gmail.com>
28092
28093 * commands/blocklist.c: Add include file <grub/command.h>, remove
28094 <grub/normal.h> and <grub/arg.h>.
28095 (grub_cmd_blocklist): Use the new command interface.
28096 (GRUB_MOD_INIT): Likewise.
28097 (GRUB_MOD_FINI): Likewise.
28098 * commands/boot.c: Likewise.
28099 * commands/cat.c: Likewise.
28100 * commands/cmp.c: Likewise.
28101 * commands/configfile.c: Likewise.
28102 * commands/crc.c: Likewise.
28103 * commands/echo.c: Likewise.
28104 * commands/halt.c: Likewise.
28105 * commands/handler.c: Likewise.
28106 * commands/hdparm.c: Likewise.
28107 * commands/help.c: Likewise.
28108 * commands/hexdump.c: Likewise.
28109 * commands/loadenv.c: Likewise.
28110 * commands/ls.c: Likewise.
28111 * commands/lsmmap.c: Likewise.
28112 * commands/lspci.c: Likewise.
28113 * commands/loadenv.c: Likewise.
28114 * commands/read.c: Likewise.
28115 * commands/reboot.c: Likewise.
28116 * commands/search.c: Likewise.
28117 * commands/sleep.c: Likewise.
28118 * commands/test.c: Likewise.
28119 * commands/usbtest.c: Likewise.
28120 * commands/videotest.c: Likewise.
28121 * commands/i386/cpuid.c: Likewise.
28122 * commands/i386/pc/halt.c: Likewise.
28123 * commands/i386/pc/play.c: Likewise.
28124 * commands/i386/pc/pxecmd.c: Likewise.
28125 * commands/i386/pc/vbeinfo.c: Likewise.
28126 * commands/i386/pc/vbetest.c: Likewise.
28127 * commands/ieee1275/suspend.c: Likewise.
28128 * disk/loopback.c: Likewise.
28129 * font/font_cmd.c: Likewise.
28130 * hello/hello.c: Likewise.
28131 * loader/efi/appleloader.c: Likewise.
28132 * loader/efi/chainloader.c: Likewise.
28133 * loader/i386/bsd.c: Likewise.
28134 * loader/i386/efi/linux.c: Likewise.
28135 * loader/i386/ieee1275/linux.c: Likewise.
28136 * loader/i386/linux.c: Likewise.
28137 * loader/i386/pc/chainloader.c: Likewise.
28138 * loader/i386/pc/linux.c: Likewise.
28139 * loader/powerpc/ieee1275/linux.c: Likewise.
28140 * loader/multiboot_loader.c: Likewise.
28141 * term/gfxterm.c: Likewise.
28142 * term/i386/pc/serial.c: Likewise.
28143 * term/terminfo.c: Likewise.
28144
28145 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
28146 * term/i386/pc/vga.c: Likewise.
28147 * video/readers/jpeg.c: Likewise.
28148 * video/readers/png.c: Likewise.
28149 * video/readers/tga.c: Likewise.
28150
28151 * util/grub-fstest (cmd_loopback): Removed.
28152 (cmd_blocklist): Likewise.
28153 (cmd_ls): Likewise.
28154 (grub_register_command): Likewise.
28155 (grub_unregister_command): Likewise.
28156 (execute_command): Use grub_command_find to locate command and execute
28157 it.
28158
28159 * include/grub/efi/chainloader.h: Removed.
28160 * loader/efi/chainloader_normal.c: Likewise.
28161 * loader/i386/bsd_normal.c: Likewise.
28162 * loader/i386/pc/chainloader_normal.c: Likewise.
28163 * loader/i386/pc/multiboot_normal.c: Likewise.
28164 * loader/linux_normal.c: Likewise.
28165 * loader/multiboot_loader_normal.c: Likewise.
28166 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28167
28168 * gencmdlist.sh: Scan new registration command grub_register_extcmd
28169 and grub_register_command_p1.
28170
28171 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
28172 kern/command.c, lib/arg.c and commands/extcmd.c.
28173 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
28174 (minicmd_mod_SOURCES): New variable.
28175 (minicmd_mod_CFLAGS): Likewise.
28176 (minicmd_mod_LDFLAGS): Likewise.
28177 (extcmd_mod_SOURCES): Likewise.
28178 (extcmd_mod_CFLAGS): Likewise.
28179 (extcmd_mod_LDFLAGS): Likewise.
28180 (boot_mod_SOURCES): Removed.
28181 (boot_mod_CFLAGS): Likewise.
28182 (boot_mod_LDFLAGS): Likewise.
28183
28184 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
28185 kern/corecmd.c.
28186 (kernel_img_HEADERS): Add command.h.
28187 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
28188 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
28189 and lib/arg.c.
28190 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
28191 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
28192 remove the corresponding normal mode command.
28193 (normal_mod_SOURCES): Remove normal/arg.c.
28194 * conf/i386-coreboot.rmk: Likewise.
28195 * conf/i386-efi.rmk: Likewise.
28196 * conf/i386-ieee1275.rmk: Likewise.
28197 * conf/powerpc-ieee1275.rmk: Likewise.
28198 * conf/x86_64-efi.rmk: Likewise.
28199
28200 * include/grub/arg.h: Move from here ...
28201 * include/grub/lib/arg.h: ... to here.
28202
28203 * normal/arg.c: Move from here ...
28204 * lib/arg.c: ... to here.
28205
28206 * commands/extcmd.c: New file.
28207 * commands/minicmd.c: Likewise.
28208 * include/grub/command.h: Likewise.
28209 * include/grub/extcmd.h: Likewise.
28210 * kern/command.c: Likewise.
28211 * kern/corecmd.c: Likewise.
28212
28213 * kern/list.c (grub_list_iterate): Return int instead of void.
28214 (grub_list_insert): New function.
28215 (grub_prio_list_insert): Likewise.
28216
28217 * kern/rescue.c (grub_rescue_command): Removed.
28218 (grub_rescue_command_list): Likewise.
28219 (grub_rescue_register_command): Likewise.
28220 (grub_rescue_unregister_command): Likewise.
28221 (grub_rescue_cmd_boot): Move to minicmd.c
28222 (grub_rescue_cmd_help): Likewise.
28223 (grub_rescue_cmd_info): Likewise.
28224 (grub_rescue_cmd_boot): Likewise.
28225 (grub_rescue_cmd_testload): Likewise.
28226 (grub_rescue_cmd_dump): Likewise.
28227 (grub_rescue_cmd_rmmod): Likewise.
28228 (grub_rescue_cmd_lsmod): Likewise.
28229 (grub_rescue_cmd_exit): Likewise.
28230 (grub_rescue_print_devices): Moved to corecmd.c.
28231 (grub_rescue_print_files): Likewise.
28232 (grub_rescue_cmd_ls): Likewise.
28233 (grub_rescue_cmd_insmod): Likewise.
28234 (grub_rescue_cmd_set): Likewise.
28235 (grub_rescue_cmd_unset): Likewise.
7d074e3c 28236 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 28237 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 28238 commands, remove grub_rescue_register_command calls.
b1b797cb 28239
7d074e3c 28240 * normal/command.c (grub_register_command): Removed.
b1b797cb 28241 (grub_unregister_command): Likewise.
28242 (grub_command_find): Likewise.
28243 (grub_iterate_commands): Likewise.
28244 (rescue_command): Likewise.
28245 (export_command): Moved to corecmd.c.
28246 (set_command): Removed.
28247 (unset_command): Likewise.
28248 (insmod_command): Likewise.
28249 (rmmod_command): Likewise.
28250 (lsmod_command): Likewise.
28251 (grub_command_init): Likewise.
28252
28253 * normal/completion.c (iterate_command): Use cmd->prio to check for
28254 active command.
28255 (complete_arguments): Use grub_extcmd_t structure to find options.
28256 (grub_normal_do_completion): Change function grub_iterate_commands to
28257 grub_command_iterate.
28258
28259 * normal/execute.c (grub_script_execute_cmd): No need to parse
28260 argument here.
28261
28262 * normal/main.c (grub_dyncmd_dispatcher): New function.
28263 (read_command_list): Register unload commands as dyncmd.
28264 (grub_cmd_normal): Use new command interface, register rescue,
28265 unregister normal at entry, register normal, unregister rescue at exit.
28266
28267 * include/grub/list.h (grub_list_test_t): New type.
28268 (grub_list_iterate): Return int instead of void.
28269 (grub_list_insert): New function.
28270 (GRUB_AS_NAMED_LIST_P): New macro.
28271 (GRUB_AS_PRIO_LIST): Likewise.
28272 (GRUB_AS_PRIO_LIST_P): Likewise.
28273 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
28274 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
28275 (grub_prio_list): New structure.
28276 (grub_prio_list_insert): New function.
28277 (grub_prio_list_remove): New inline function.
28278
28279 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
28280 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
28281 (GRUB_COMMAND_FLAG_MENU): Likewise.
28282 (GRUB_COMMAND_FLAG_BOTH): Likewise.
28283 (GRUB_COMMAND_FLAG_TITLE): Likewise.
28284 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
28285 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
28286 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
28287 (grub_command): Likewise.
28288 (grub_register_command): Likewise.
28289 (grub_command_find): Likewise.
28290 (grub_iterate_commands): Likewise.
28291 (grub_command_init): Likewise.
28292 (grub_arg_parse): Likewise.
28293 (grub_arg_show_help): Likewise.
28294
28295 * include/grub/rescue.h (grub_rescue_register_command): Removed.
28296 (grub_rescue_unregister_command): Likewise.
28297
28298 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
28299 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
28300 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
28301
28302 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
28303 grub_rescue_cmd_initrd.
28304 * include/grub/i386/loader.h: Likewise.
28305 * include/grub/x86_64/loader.h: Likewise.
28306
28307 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
28308
1f4147aa 283092009-03-21 Bean <bean123ch@gmail.com>
28310
28311 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
28312 instead of stat in mingw environment.
28313
28314 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
28315
28316 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
28317
28318 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
28319 AC_CONFIG_LINKS.
28320
2156d5ba 283212009-03-21 Bean <bean123ch@gmail.com>
28322
28323 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
28324 out of range error.
28325
177b82ca 283262009-03-18 Michel Dänzer <michel@daenzer.net>
28327
28328 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
28329 checking inode flags for EXT4_EXTENTS_FLAG.
28330
14aad807 283312009-03-18 Robert Millan <rmh@aybabtu.com>
28332
28333 * loader/i386/linux.c: Include `<grub/video.h>' and
28334 `<grub/i386/pc/vbe.h>'..
28335 (grub_linux_setup_video): New function. Loosely based on the EFI one.
28336 (grub_linux32_boot): Attempt to configure video settings with
28337 grub_linux_setup_video().
28338 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
28339 to avoid grub_console_fini() which would step out of graphical mode
28340 unconditionally.
28341
8cf83a27 283422009-03-14 Robert Millan <rmh@aybabtu.com>
28343
28344 Fix build on powerpc.
28345 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
28346
40164e75 283472009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
28348
28349 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
28350 background image command.
28351
c58bc32a 283522009-03-12 Colin D Bennett <colin@gibibit.com>
28353
28354 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
28355 (grub_gfxterm_putchar): Extract pairs of identical calls to
28356 draw_cursor out of conditional blocks.
28357
5415144a 283582009-03-11 Pavel Roskin <proski@gnu.org>
28359
28360 * fs/hfs.c (grub_hfs_strncasecmp): New function.
28361 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
28362
6394042e 283632009-03-11 Robert Millan <rmh@aybabtu.com>
28364
28365 * loader/i386/multiboot_elfxx.c
28366 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
28367
b7b50e5f 283682009-03-11 Felix Zielcke <fzielcke@z-51.de>
28369
28370 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
28371 `kern/handler.c'.
28372
1ca7fc96 283732009-03-11 Robert Millan <rmh@aybabtu.com>
28374
28375 * loader/i386/multiboot.c (code_size): New variable.
28376 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 28377 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 28378 4-byte alignment to MBI and others by increasing
7d074e3c 28379 `boot_loader_name_length' appropriately.
1ca7fc96 28380
28381 * loader/i386/multiboot_elfxx.c
28382 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
28383
a83ea1d2 283842009-03-09 Felix Zielcke <fzielcke@z-51.de>
28385
28386 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
28387 `fs/ext2.c'.
28388
aa9f3bff 283892009-03-08 Robert Millan <rmh@aybabtu.com>
28390
28391 Make loader/i386/linux.c usable on i386-pc again.
28392
28393 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
28394 memory to heap.
28395 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
28396 `#error' stanza.
28397
d8b3b60e 283982009-03-07 Bean <bean123ch@gmail.com>
28399
28400 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
28401 allocation.
28402
b362c9e9 284032009-03-06 Robert Millan <rmh@aybabtu.com>
28404
28405 Fix display issue on terminals with screen size other than 80x25
28406 (e.g. gfxterm with resolution higher than 640x480).
28407
28408 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 28409 position relative to the center of the terminal instead of relying
b362c9e9 28410 on a hardcoded offset.
28411
9304eef1 284122009-03-04 Robert Millan <rmh@aybabtu.com>
28413
28414 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
28415 installed.
28416
28417 * Makefile.in (host_kernel): New variable.
28418 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
28419 scripts instead of just the windows one.
28420 * configure.ac: Initialize and AC_SUBST `host_kernel'.
28421
eabc95fb 284222009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 28423
28424 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
28425 `kern/handler.c'.
28426 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28427 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28428 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28429 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28430 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28431 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28432
ceb1223c 284332009-03-04 Felix Zielcke <fzielcke@z-51.de>
28434
28435 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
28436 or if there's no space for the disk label and print the partition number on a
28437 invalid magic.
28438
4910684a 284392009-03-04 Felix Zielcke <fzielcke@z-51.de>
28440
28441 * util/misc.c: Include <time.h>.
28442 (grub_millisleep): New function.
28443
7e9ca17a 284442009-03-04 Bean <bean123ch@gmail.com>
28445
28446 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
28447 another option -mno-red-zone.
28448
28449 * commands/handler.c: Change module description.
28450
28451 * kern/handler.c: Add missing space at the end of description line.
28452
28453 * kern/list.c: Likewise.
28454
f501677c 284552009-03-03 Robert Millan <rmh@aybabtu.com>
28456
28457 Move more components to the relocation area, and fix mbi pointer
28458 handling to use the destination rather than the origin (thanks to
28459 Vladimir Serbinenko for spotting).
28460
28461 * loader/i386/multiboot.c (mbi_dest): New variable.
28462 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
28463 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
28464 relocation area.
28465
9902d047 284662009-03-01 Bean <bean123ch@gmail.com>
28467
50fb7002 28468 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 28469 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
28470 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
28471 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
28472
28473 * loader/i386/efi/linux.c (acpi_guid): New variable.
28474 (acpi_guid): Likewise.
28475 (EBDA_SEG_ADDR): New constant.
28476 (LOW_MEM_ADDR): Likewise.
28477 (FAKE_EBDA_SEG): Likewise.
28478 (fake_bios_data): New function.
28479 (grub_linux_boot): Call fake_bios_data.
28480
71b9f361 284812009-03-01 Bean <bean123ch@gmail.com>
28482
28483 * commands/terminal.c: Removed.
28484
28485 * commands/handler.c: New file.
28486
28487 * include/grub/list.h: Likewise.
28488
28489 * include/grub/handler.h: Likewise.
28490
28491 * kern/list.c: Likewise.
28492
28493 * kern/handler.c: Likewise.
28494
28495 * kern/term.h: Include header file <grub/handler.h>.
28496 (grub_term_input): Move next field to the beginning.
28497 (grub_term_output): Likewise.
28498 (grub_term_input_class): New variable.
28499 (grub_term_output_class): Likewise.
28500 (grub_term_register_input): Changed to inline function.
28501 (grub_term_register_output): Likewise.
28502 (grub_term_unregister_input): Likewise.
28503 (grub_term_unregister_output): Likewise.
28504 (grub_term_set_current_input): Likewise.
28505 (grub_term_set_current_output): Likewise.
28506 (grub_term_get_current_input): Likewise.
28507 (grub_term_get_current_output): Likewise.
28508 (grub_term_iterate_input): Removed.
28509 (grub_term_iterate_output): Likewise.
28510
28511 * kern/term.c (grub_term_list_input): Removed.
28512 (grub_term_list_output): Likewise.
28513 (grub_term_input_class): New variable.
28514 (grub_term_output_class): Likewise.
50fb7002 28515 (grub_cur_term_input): Change variable as macro.
71b9f361 28516 (grub_cur_term_output): Likewise.
28517 (grub_term_register_input): Removed.
28518 (grub_term_register_output): Likewise.
28519 (grub_term_unregister_input): Likewise.
28520 (grub_term_unregister_output): Likewise.
28521 (grub_term_set_current_input): Likewise.
28522 (grub_term_set_current_output): Likewise.
28523 (grub_term_iterate_input): Likewise.
28524 (grub_term_iterate_output): Likewise.
28525 (grub_term_get_current_input): Likewise.
28526 (grub_term_get_current_output): Likewise.
28527
28528 * util/grub-editenv.c: Include header file <grub/handler.h>.
28529 (grub_term_get_current_input): Removed.
28530 (grub_term_get_current_output): Likewise.
28531 (grub_term_input_class): New variable.
50fb7002 28532 (grub_term_output_class): Likewise.
71b9f361 28533
28534 * util/grub-fstest.c (grub_term_get_current_input): Removed.
28535 (grub_term_get_current_output): Likewise.
28536 (grub_term_input_class): New variable.
50fb7002 28537 (grub_term_output_class): Likewise.
71b9f361 28538
28539 * util/grub-probe.c (grub_term_get_current_input): Removed.
28540 (grub_term_get_current_output): Likewise.
28541 (grub_term_input_class): New variable.
50fb7002 28542 (grub_term_output_class): Likewise.
71b9f361 28543
28544 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
28545 (grub_term_get_current_output): Likewise.
28546 (grub_term_input_class): New variable.
50fb7002 28547 (grub_term_output_class): Likewise.
71b9f361 28548
28549 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
28550 (terminal_mod_SOURCES): Likewise.
28551 (terminal_mod_CFLAGS): Likewise.
28552 (terminal_mod_LDFLAGS): Likewise.
28553
28554 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
28555 handler.c.
28556 (kernel_img_SOURCES): Add list.c and handler.c.
28557 (kernel_img_HEADERS): Add list.h and handler.h.
28558
28559 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28560 handler.c.
28561 (kernel_mod_SOURCES): Add list.c and handler.c.
28562 (kernel_mod_HEADERS): Add list.h and handler.h.
28563
28564 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
28565 handler.c.
28566 (kernel_elf_SOURCES): Add list.c and handler.c.
28567 (kernel_elf_HEADERS): Add list.h and handler.h.
28568
28569 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28570 handler.c.
28571 (kernel_elf_SOURCES): Add list.c and handler.c.
28572 (kernel_elf_HEADERS): Add list.h and handler.h.
28573
28574 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28575 handler.c.
28576 (kernel_mod_SOURCES): Add list.c and handler.c.
28577 (kernel_mod_HEADERS): Add list.h and handler.h.
28578
28579 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28580 handler.c.
28581 (kernel_elf_SOURCES): Add list.c and handler.c.
28582 (kernel_elf_HEADERS): Add list.h and handler.h.
28583
8a31787f 285842009-02-27 Robert Millan <rmh@aybabtu.com>
28585
28586 Factorize elf32 / elf64 code in Multiboot loader. This will
28587 prevent it from getting out of sync again.
28588
28589 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
28590 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
28591 grub_multiboot_load_elf64): Move from here ...
28592 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
28593 grub_multiboot_load_elf): ... to here (new file).
28594
51cd3dfc 285952009-02-27 Robert Millan <rmh@aybabtu.com>
28596
28597 * util/grub.d/10_linux.in: Rename "single-user mode" to
28598 "recovery mode".
28599
6e8c9c3a 286002009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
28601
28602 Don't leak in SCSI code.
28603 * disk/scsi.c (grub_scsi_close): free `scsi'.
28604
4b6bf4f9 286052009-02-27 Robert Millan <rmh@aybabtu.com>
28606
28607 * loader/i386/pc/multiboot.c: Move from here ...
28608 * loader/i386/multiboot.c: ... to here. Update all users.
28609
b9413424 286102009-02-27 Robert Millan <rmh@aybabtu.com>
28611
28612 Patch from Alexandre Bique <bique.alexandre@gmail.com>
28613 * util/i386/pc/grub-setup.c (setup): Fix directory path.
28614
50fb7002 286152009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 28616
28617 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
28618 b-tree.
28619
8cc50345 286202009-02-27 Robert Millan <rmh@aybabtu.com>
28621
28622 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
28623 `0x' qualifier as 0 when base is specified as parameter).
28624
6e09b8b7 286252009-02-24 Bean <bean123ch@gmail.com>
28626
28627 * configure.ac: Check for -mcmodel=large in x86_64 target.
28628
28629 * include/grub/efi/api.h (efi_call_10): New macro.
28630 (efi_wrap_10): New function.
28631
28632 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
28633 (GRUB_PE32_REL_BASED_HIGH): Likewise.
28634 (GRUB_PE32_REL_BASED_LOW): Likewise.
28635 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
28636 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
28637 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
28638 (GRUB_PE32_REL_BASED_SECTION): Likewise.
28639 (GRUB_PE32_REL_BASED_REL): Likewise.
28640 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
28641 (GRUB_PE32_REL_BASED_DIR64): Likewise.
28642 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
28643
28644 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
28645 issue.
28646
28647 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
28648 (efi_wrap_10): New function.
28649
28650 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
28651
28652 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
28653 MB/MBP model (NV chipset).
28654 (devdata_devs): Add devpath_5 to the list.
28655
28656 * load/i386/efi/linux.c (video_base): Remove variable.
28657 (RGB_MASK): New macro.
28658 (RGB_MAGIC): Likewise.
28659 (LINE_MIN): Likewise.
28660 (LINE_MAX): Likewise.
28661 (FBTEST_STEP): Likewise.
28662 (FBTEST_COUNT): Likewise.
28663 (fb_list): New variable.
28664 (grub_find_video_card): Remove function.
28665 (find_framebuf): New function.
28666 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
28667 line length.
28668
28669 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
28670 problem for x86_64.
28671
74b21bee 286722009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
28673
28674 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
28675
28676 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
28677 coding tool name.
28678
a455f472 286792009-02-22 Robert Millan <rmh@aybabtu.com>
28680
28681 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
28682 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
28683 in our relocation, instead of using it directly from heap. Also
28684 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
28685
6374daf3 286862009-02-21 Robert Millan <rmh@aybabtu.com>
28687
28688 Implement USB keyboard support (based on patch by Marco Gerards)
28689
28690 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
28691 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
28692 (usb_keyboard_mod_LDFLAGS): New variables.
28693
28694 * term/usb_keyboard.c: New file.
28695
8fa4ea70 286962009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28697
28698 Corrected wrong declaration
28699
28700 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
28701
353976ac 287022009-02-14 Christian Franke <franke@computer.org>
28703
28704 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
28705 (grub_lspci_iter): Print class code and programming interface byte.
28706
6aa1169b 287072009-02-14 Christian Franke <franke@computer.org>
28708
28709 * gendistlist.sh: Ignore `.svn' directories.
28710
265372ca 287112009-02-14 Felix Zielcke <fzielcke@z-51.de>
28712
28713 * fs/fat.c: Add 2009 to Copyright line.
28714
9ff516f3 287152009-02-14 Christian Franke <franke@computer.org>
28716
28717 * commands/hdparm.c: New file. Provides `hdparm' command
28718 which sends ATA commands via grub_disk_ata_pass_through ().
28719
28720 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
28721
28722 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
28723 and <grub/cpu/io.h> to include/grub/ata.h.
28724 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
28725 (GRUB_CDROM_SECTOR_SIZE): Remove.
28726 (GRUB_ATA_*): Move to include/grub/ata.h.
28727 (GRUB_ATAPI_*): Likewise.
28728 (enum grub_ata_commands): Likewise.
28729 (enum grub_ata_timeout_milliseconds): Likewise.
28730 (struct grub_ata_device): Likewise.
28731 (grub_ata_regset): Likewise.
28732 (grub_ata_regget): Likewise.
28733 (grub_ata_regset2): Likewise.
28734 (grub_ata_regget2): Likewise.
28735 (grub_ata_check_ready): Likewise.
28736 (grub_ata_wait_not_busy): Remove static, exported in
28737 include/grub/ata.h.
28738 (grub_ata_wait_drq): Likewise.
28739 (grub_ata_pio_read): Likewise.
28740
28741 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
28742 function for hdparm.mod.
28743
28744 * include/grub/ata.h: New file, contains declarations from
28745 disk/ata.c.
28746 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
28747
28748 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
28749 (grub_disk_ata_pass_through): New exported variable.
28750
28751 * kern/disk.c (grub_disk_ata_pass_through): New variable.
28752
772e23da 287532009-02-13 Colin D Bennett <colin@gibibit.com>
28754
28755 Support multiple fallback entries, and provide an API to support
28756 executing default+fallback menu entries. Renamed the `terminal' menu
28757 viewer to `text'.
28758
28759 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
28760 variable declaration.
28761 (grub_menu_execute_callback): New structure declaration.
28762 (grub_menu_execute_callback_t): New typedef.
28763 (grub_menu_execute_with_fallback): New function declaration.
28764 (grub_menu_get_entry): Likewise.
28765 (grub_menu_get_timeout): Likewise.
28766 (grub_menu_set_timeout): Likewise.
28767
28768 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
28769
28770 * normal/menu.c (grub_wait_after_message): Moved to
28771 `normal/menu_text.c'.
28772 (draw_border): Likewise.
28773 (print_message): Likewise.
28774 (print_entry): Likewise.
28775 (print_entries): Likewise.
28776 (grub_menu_init_page): Likewise.
28777 (get_entry_number): Likewise.
28778 (print_timeout): Likewise.
28779 (run_menu): Likewise.
28780 (grub_menu_execute_entry): Likewise.
28781 (show_text_menu): Likewise.
28782 (get_and_remove_first_entry_number): New function.
28783 (grub_menu_execute_with_fallback): Likewise.
28784 (get_entry): Renamed to ...
28785 (grub_menu_get_entry): .. this and made it global.
28786 (get_timeout): Renamed to ...
28787 (grub_menu_get_timeout): ... this and made it global.
28788 (set_timeout): Renamed to ...
28789 (grub_menu_set_timeout): ... this and made it global.
28790 (grub_normal_terminal_menu_viewer): Renamed to ...
28791 (grub_normal_text_menu_viewer): ... this.
28792
28793 * normal/menu_text.c: New file. Extracted text-menu-specific code
28794 from normal/menu.c.
28795
28796 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
28797 (normal_mod_SOURCES): Likewise.
28798
28799 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28800 (normal_mod_SOURCES): Likewise.
28801
28802 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28803 (normal_mod_SOURCES): Likewise.
28804
28805 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
28806 (normal_mod_SOURCES): Likewise.
28807
28808 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28809 (normal_mod_SOURCES): Likewise.
28810
28811 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28812 (normal_mod_SOURCES): Likewise.
28813
28814 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28815 (normal_mod_SOURCES): Likewise.
28816
16ac430e 288172009-02-11 Robert Millan <rmh@aybabtu.com>
28818
28819 * util/grub.d/00_header.in: Update old reference to `font' command.
28820
06ff20fc 288212009-02-10 Felix Zielcke <fzielcke@z-51.de>
28822
28823 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
28824
28825 Based on patch from Javier Martín.
28826
96da9407 288272009-02-09 Felix Zielcke <fzielcke@z-51.de>
28828
28829 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 28830 to avoid false positives with FAT.
96da9407 28831 (grub_fstest_SOURCES): Likewise.
28832 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28833 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28834 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28835 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28836 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28837 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28838
6dca6fe4 288392009-02-09 Felix Zielcke <fzielcke@z-51.de>
28840
06ff20fc 28841 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 28842 bpb.version_specific.fat12_or_fat16.fstype and
28843 bpb.version_specific.fat32.fstype.
28844
2550c62f 288452009-02-08 Robert Millan <rmh@aybabtu.com>
28846
be110b30 28847 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 28848
56978920 288492009-02-08 Robert Millan <rmh@aybabtu.com>
28850
28851 * Makefile.in (host_os, host_cpu): New variables.
28852 (target_os): Remove. Update all users.
28853
d64399b5 288542009-02-08 Marco Gerards <marco@gnu.org>
28855
28856 * Makefile.in (enable_grub_emu_usb): New variable.
28857 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
28858 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
28859 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
28860 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
28861 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
28862 `usbtest.mod' and `usbms.mod'.
28863 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
28864 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
28865 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
28866 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
28867 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
28868 variables.
28869
28870 * disk/usbms.c: New file.
28871
28872 * include/grub/usb.h: Likewise.
28873
28874 * include/grub/usbtrans.h: Likewise.
28875
28876 * include/grub/usbdesc.h: Likewise.
28877
28878 * bus/usb/usbtrans.c: Likewise.
28879
28880 * bus/usb/ohci.c: Likewise.
28881
28882 * bus/usb/uhci.c: Likewise.
28883
28884 * bus/usb/usbhub.c: Likewise.
28885
28886 * bus/usb/usb.c: Likewise.
28887
28888 * commands/usbtest.c: Likewise.
28889
28890 * util/usb.c: Likewise.
50fb7002 28891
d64399b5 28892 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
28893
28894 * configure.ac: Test for libusb presence.
50fb7002 28895
d64399b5 28896 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
28897
2b40d6bb 288982009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
28899
28900 * kern/mm.c: Add more comments.
28901
73a4ce81 289022009-02-08 Robert Millan <rmh@aybabtu.com>
28903
28904 Patch from Javier Martín.
28905 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
28906 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
28907
f821ce59 289082009-02-08 Robert Millan <rmh@aybabtu.com>
28909
28910 * fs/cpio.c: Split tar functionality to ...
28911 * fs/tar.c: ... here (new file). Update all users.
28912
aebfc4b0 289132009-02-07 Robert Millan <rmh@aybabtu.com>
28914
28915 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
28916 backward-incompatible features.
28917
28918 Based on patch from Javier Martín, with some adjustments.
28919
50fb7002 289202009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 28921
28922 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
28923
0bb5115e 289242009-02-07 Robert Millan <rmh@aybabtu.com>
28925
28926 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
28927 position of `disk/lvm.c' to ensure grub_init_all() always picks it
28928 after the RAID stuff.
28929
38a0f8e7 289302009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
28931
50fb7002 28932 Fixes problem when running vbetest command as reported by
38a0f8e7 28933 Vladimir Serbinenko <phcoder@gmail.com>.
28934
28935 * (grub_vbe_set_video_mode): Fixed problem with text modes.
28936
3143cc1c 289372009-02-04 Felix Zielcke <fzielcke@z-51.de>
28938
28939 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
28940 /dev/md/NpN style mdraid devices.
28941
9cba6fce 289422009-02-03 Felix Zielcke <fzielcke@z-51.de>
28943
28944 * util/unifont2pff.rb: Remove.
28945
e507a2c1 289462009-02-03 Felix Zielcke <fzielcke@z-51.de>
28947
28948 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
28949 `#'.
28950
d2c2b4cd 289512009-02-03 Felix Zielcke <fzielcke@z-51.de>
28952
28953 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
28954 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28955 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28956 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28957 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28958 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28959 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28960
b4315fb0 289612009-02-02 Christian Franke <franke@computer.org>
28962
28963 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
28964
de3aa260 289652009-02-01 Felix Zielcke <fzielcke@z-51.de>
28966
7c3ff286 28967 * INSTALL: Note that we now require at least autoconf 2.59 and
28968 that LZO is optional.
de3aa260 28969
825a182b 289702009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28971
28972 Base on patch on bug #24154 created by Tomas Tintera
28973 <trosos@seznam.cz>.
28974
28975 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
28976
a69ef770 289772009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28978
7c3ff286 28979 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 28980 <bero@arklinux.org>.
28981
28982 * normal/parser.y (script_init): Add missing semicolon.
28983
6fa42fa6 289842009-01-31 Colin D Bennett <colin@gibibit.com>
28985
7c3ff286 28986 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 28987 (free_menu_entry_classes): Added.
28988 (grub_normal_menu_addentry): Added class property handling.
28989 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
28990 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
28991
28992 * normal/menu_viewer.c: New file.
28993
28994 * normal/menu.c (run_menu_entry): Renamed to ...
28995 (grub_menu_execute_entry): ... this and made it as global.
28996 (grub_menu_run): Renamed to ...
28997 (show_text_menu): ... this and made it local.
28998 (show_text_menu): Adapt to new function names.
28999 (grub_normal_terminal_menu_viewer): New global variable.
29000
29001 * include/grub/menu.h: New file.
29002
29003 * include/grub/menu_viewer.h: New file.
29004
29005 * include/grub/normal.h: Added include to grub/menu.h.
29006 (grub_menu_entry): Moved to include/grub/menu.h.
29007 (grub_menu_entry_t): Likewise.
29008 (grub_menu): Likewise.
29009 (grub_menu_t): Likewise.
29010 (grub_normal_terminal_menu_viewer): Added.
29011 (grub_menu_execute_entry): Likewise.
29012 (grub_menu_run): Removed.
29013
29014 * DISTLIST: Added include/grub/menu.h.
29015 Added include/grub/menu_viewer.h.
29016 Added normal/menu_viewer.c.
29017
290182009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
29019
29020 * normal/execute.c (grub_script_execute_menuentry): Changed to use
29021 arglist for menutitle arguments.
29022
29023 * normal/main.c (grub_normal_menu_addentry): Likewise.
29024
29025 * normal/parser.y (menuentry): Likewise.
29026
29027 * normal/script.c (grub_script_create_cmdmenu): Likewise.
29028
29029 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
29030 (grub_script_create_cmdmenu): Likewise.
29031
29032 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
29033
29034 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
29035 changes.
29036
29037 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
29038
29039 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
29040
29041 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
29042
29043 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29044
29045 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29046
29047 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29048
56192c23 290492009-01-30 Christian Franke <franke@computer.org>
29050
29051 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
29052 in option help text.
29053
d72521b3 290542009-01-27 Pavel Roskin <proski@gnu.org>
29055
29056 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
29057
994b5e84 290582009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
29059
29060 * commands/lsmmap.c: Add include to grub/machine/memory.h.
29061
29062 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
29063
29064 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
29065 unregister function.
29066
6a7eab2c 290672009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
29068
29069 * disk/scsi.c (grub_scsi_read): Fix sign problem.
29070
29071 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
29072
29073 * util/grub-mkfont.c (usage): Fix typo.
29074
29075 * util/elf/grub-mkimage.c (load_modules): Fix warning.
29076
1806b56e 290772009-01-26 Daniel Mierswa <impulze@impulze.org>
29078
3fb18f09 29079 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
29080
336e1fb9 29081 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
29082
1806b56e 29083 * kern/misc.c (grub_strcasecmp): New function.
29084 (grub_strcasecmp): Use grub_size_t instead of int for length.
29085 Fix return value.
29086 * include/grub/misc.h: Update function prototypes.
29087
580b2a0f 290882009-01-26 Robert Millan <rmh@aybabtu.com>
29089
29090 * configure.ac: Fix cross-compilation check.
ef257b36 29091
d31c24f1 290922009-01-22 Christian Franke <franke@computer.org>
29093
29094 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
29095 (precision) digit string. Allow `.format2' without `format1' (width).
29096 Limit input chars for `%s' output to `format2' if specified. This is
29097 compatible with standard printf ().
29098
3138b44c 290992009-01-22 Christian Franke <franke@computer.org>
29100
29101 * disk/ata.c (grub_ata_wait_status): Replace by ...
29102 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
29103 other status bits may be invalid while BSY is asserted.
29104 (grub_ata_check_ready): New function.
29105 (grub_ata_cmd): Removed.
29106 (grub_ata_wait_drq): New function.
29107 (grub_ata_strncpy): Remove inline.
29108 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
29109 and error check now done by grub_ata_wait_drq ().
29110 (grub_ata_pio_write): Likewise.
29111 (grub_atapi_identify): Set DEV before check for !BSY. Use
29112 grub_ata_wait_drq () to wait for data.
29113 (grub_ata_device_initialize): Add status register check to
29114 detect missing SATA slave devices. Add debug messages.
29115 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
29116 (grub_atapi_packet): Set DEV before check for !BSY. Replace
29117 transfer loop by grub_ata_pio_write ().
29118 (grub_ata_identify): Set DEV before check for !BSY. Use
29119 grub_ata_wait_drq () to wait for data.
ef257b36 29120 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 29121 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
29122 read/write in one loop. Fix invalid command on write. Fix incomplete
29123 command on (size % batch) == 0. Add missing error check after write of
29124 last block. Add debug messages.
29125 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
29126
59a64ef6 291272009-01-19 Christian Franke <franke@computer.org>
29128
29129 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
29130 (GRUB_ATAPI_IREASON_*): Likewise.
29131 (grub_ata_pio_write): Fix timeout error return.
29132 (grub_atapi_identify): Add grub_ata_wait () after cmd.
29133 (grub_atapi_wait_drq): New function.
29134 (grub_atapi_packet): New parameter `size'.
29135 Use grub_atapi_wait_drq () and direct write instead of
29136 grub_ata_pio_write ().
29137 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
29138 reads the number of bytes requested by the device for each DRQ
29139 assertion.
29140 (grub_atapi_write): Remove old implementation, return not
29141 implemented instead.
29142
1cfe20b3 291432009-01-19 Christian Franke <franke@computer.org>
29144
29145 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
29146 of 512 to calculate data size.
29147 (grub_scsi_read12): Likewise.
29148 (grub_scsi_write10): Likewise.
29149 (grub_scsi_write12): Likewise.
29150 (grub_scsi_read): Adjust size according to blocksize.
29151 Add checks for invalid blocksize and unaligned transfer.
29152
bee5fe5d 291532009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
29154
29155 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
29156
ef257b36 29157 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 29158 width glyphs.
29159
3e643f8c 291602009-01-19 Robert Millan <rmh@aybabtu.com>
29161
29162 * config.guess: Update to latest version from config git.
29163 * config.sub: Likewise.
29164
4fa80998 291652009-01-17 Felix Zielcke <fzielcke@z-51.de>
29166
29167 * Makefile.in: Change font compilation to use new grub-mkfont instead
29168 of java version.
29169
29170 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
29171 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
29172 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
29173 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
29174 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
29175 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
29176 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
29177 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
29178 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
29179
7086085b 291802009-01-16 Christian Franke <franke@computer.org>
29181
29182 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
29183 (enum grub_ata_timeout_milliseconds): New enum.
29184 (grub_ata_wait_status): Add parameter milliseconds.
29185 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
29186 recovery from timed-out commands.
29187 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
29188 return grub_errno instead of REG_ERROR.
29189 (grub_ata_pio_write): Add parameter milliseconds.
29190 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
29191 Pass milliseconds to grub_ata_wait_status () and
29192 grub_ata_pio_read ().
29193 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
29194 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
29195 grub_ata_wait_status (). Fix IDENTIFY timeout check.
29196 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
29197 It is not suitable for device detection, because DEV bit is ignored,
29198 the command may run too long, and not all devices set the signature
29199 properly.
29200 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
29201 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
29202 Fix device selection, DEV bit must be set first to address the registers
29203 of the correct device.
29204 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
29205 grub_ata_pio_read/write ().
29206 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
29207 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
29208
4a412913 292092009-01-13 Carles Pina i Estany <carles@pina.cat>
29210
29211 * util/grub-editenv.c (main): Use fseeko(), not fseek().
29212
7795c55e 292132009-01-13 Bean <bean123ch@gmail.com>
d913988c 29214
29215 * util/grub-mkfont.c (write_font): forget to remove some debug code.
29216
7795c55e 292172009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 29218
29219 * Makefile.in: (enable_grub_mkfont): New variable.
29220 (freetype_cflags): Likewise.
29221 (freetype_libs): Likewise.
29222
29223 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
29224 (grub_mkfont_SOURCES): New variable.
29225 (grub_mkfont_CFLAGS): Likewise.
29226 (grub_mkfont_LDFLAGS): Likewise.
29227
29228 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
29229 library if `--enable-grub-mkfont' is requested.
29230 (enable_grub_mkfont): New variable.
29231 (freetype_cflags): Likewise.
29232 (freetype_libs): Likewise.
29233
29234 * util/grub-mkfont.c: New file.
29235
093af1fe 292362009-01-12 Christian Franke <franke@computer.org>
29237
29238 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
29239 mode check. Fix setting of compat_use[].
29240
f36cc108 292412009-01-10 Robert Millan <rmh@aybabtu.com>
29242
29243 Update a few copyright years which we forgot to do in 2008 (only for
29244 files whose changes made in 2008 were copyright-significant)
29245
29246 * Makefile.in: Add 2008 to Copyright line.
29247 * disk/ieee1275/ofdisk.c: Likewise.
29248 * disk/efi/efidisk.c: Likewise.
29249 * kern/dl.c: Likewise.
29250 * kern/sparc64/ieee1275/init.c: Likewise.
29251 * kern/mm.c: Likewise.
29252 * kern/efi/mm.c: Likewise.
29253 * boot/i386/pc/boot.S: Likewise.
29254 * genfslist.sh: Likewise.
29255 * fs/iso9660.c: Likewise.
29256 * fs/hfs.c: Likewise.
29257 * fs/jfs.c: Likewise.
29258 * fs/minix.c: Likewise.
29259 * fs/ufs.c: Likewise.
29260 * gensymlist.sh.in: Likewise.
29261 * genkernsyms.sh.in: Likewise.
29262 * include/grub/misc.h: Likewise.
29263 * include/grub/types.h: Likewise.
29264 * include/grub/symbol.h: Likewise.
29265 * include/grub/elf.h: Likewise.
29266 * include/grub/kernel.h: Likewise.
29267 * include/grub/disk.h: Likewise.
29268 * include/grub/dl.h: Likewise.
29269 * include/grub/i386/linux.h: Likewise.
29270 * include/grub/i386/pc/biosdisk.h: Likewise.
29271 * include/grub/efi/api.h: Likewise.
29272 * include/grub/efi/pe32.h: Likewise.
29273 * include/grub/util/misc.h: Likewise.
29274 * normal/execute.c: Likewise.
29275 * normal/arg.c: Likewise.
29276 * normal/completion.c: Likewise.
29277 * normal/lexer.c: Likewise.
29278 * normal/parser.y: Likewise.
29279 * normal/misc.c: Likewise.
29280 * commands/i386/pc/vbeinfo.c: Likewise.
29281 * commands/hexdump.c: Likewise.
29282 * commands/terminal.c: Likewise.
29283 * commands/ls.c: Likewise.
29284 * commands/help.c: Likewise.
29285 * partmap/pc.c: Likewise.
29286 * loader/efi/chainloader.c: Likewise.
29287 * loader/multiboot_loader.c: Likewise.
29288 * loader/i386/pc/multiboot2.c: Likewise.
29289 * term/efi/console.c: Likewise.
29290 * term/i386/pc/serial.c: Likewise.
29291 * util/lvm.c: Likewise.
29292 * util/console.c: Likewise.
29293 * util/i386/efi/grub-mkimage.c: Likewise.
29294 * util/raid.c: Likewise.
29295
7f02114b 292962009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
29297
29298 * commands/videotest.c: Removed include to grub/machine/memory.h.
29299
29300 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
29301 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
29302 (video_mod_SOURCES): Removed.
29303 (video_mod_CFLAGS): Likewise.
29304 (video_mod_LDFLAGS): Likewise.
29305 (gfxterm_mod_SOURCES): Likewise.
29306 (gfxterm_mod_CFLAGS): Likewise.
29307 (gfxterm_mod_LDFLAGS): Likewise.
29308 (videotest_mod_SOURCES): Likewise.
29309 (videotest_mod_CFLAGS): Likewise.
29310 (videotest_mod_LDFLAGS): Likewise.
29311 (bitmap_mod_SOURCES): Likewise.
29312 (bitmap_mod_CFLAGS): Likewise.
29313 (bitmap_mod_LDFLAGS): Likewise.
29314 (tga_mod_SOURCES): Likewise.
29315 (tga_mod_CFLAGS): Likewise.
29316 (tga_mod_LDFLAGS): Likewise.
29317 (jpeg_mod_SOURCES): Likewise.
29318 (jpeg_mod_CFLAGS): Likewise.
29319 (jpeg_mod_LDFLAGS): Likewise.
29320 (png_mod_SOURCES): Likewise.
29321 (png_mod_CFLAGS): Likewise.
29322 (png_mod_LDFLAGS): Likewise.
29323
29324 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
29325 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
29326 (video_mod_SOURCES): Added.
29327 (video_mod_CFLAGS): Likewise.
29328 (video_mod_LDFLAGS): Likewise.
29329 (videotest_mod_SOURCES): Likewise.
29330 (videotest_mod_CFLAGS): Likewise.
29331 (videotest_mod_LDFLAGS): Likewise.
29332 (bitmap_mod_SOURCES): Likewise.
29333 (bitmap_mod_CFLAGS): Likewise.
29334 (bitmap_mod_LDFLAGS): Likewise.
29335 (tga_mod_SOURCES): Likewise.
29336 (tga_mod_CFLAGS): Likewise.
29337 (tga_mod_LDFLAGS): Likewise.
29338 (jpeg_mod_SOURCES): Likewise.
29339 (jpeg_mod_CFLAGS): Likewise.
29340 (jpeg_mod_LDFLAGS): Likewise.
29341 (png_mod_SOURCES): Likewise.
29342 (png_mod_CFLAGS): Likewise.
29343 (png_mod_LDFLAGS): Likewise.
29344 (gfxterm_mod_SOURCES): Likewise.
29345 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 29346 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 29347
29348 * term/gfxterm.c: Removed include to grub/machine/memory.h,
29349 grub/machine/console.h.
29350
644fff97 293512009-01-04 Jerone Young <jerone@gmail.com>
29352
29353 Make on screen instructions clearer
29354
29355 Based on patch created by Jidanni <jidanni@jidanni.org>
29356
29357 * normal/menu.c: print clearer instructions on the screen
29358
1e901a75 293592009-01-02 Colin D Bennett <colin@gibibit.com>
29360
29361 New font engine.
34c44600 29362
1e901a75 29363 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
29364 build system and fixed gfxterm.c to work with different sized fonts.
29365
29366 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 29367
1e901a75 29368 * configure: Re-generated.
34c44600 29369
1e901a75 29370 * DISTLIST: Removed font/manager.c.
29371 Added font/font.c.
29372 Added font/font_cmd.c.
34c44600 29373
1e901a75 29374 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
29375 compilation.
34c44600 29376
1e901a75 29377 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 29378
29379 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 29380
29381 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 29382
1e901a75 29383 * normal/menu.c: Likewise.
34c44600 29384
1e901a75 29385 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
29386 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 29387
1e901a75 29388 * include/grub/font.h: Replaced with new file.
34c44600 29389
1e901a75 29390 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
29391 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
29392 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
29393 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
29394 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 29395 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 29396 fg_red, fg_green, fg_blue, fg_alpha.
29397 (grub_video_adapter): Removed blit_glyph.
34c44600 29398 (grub_video_blit_glyph): Removed.
29399
1e901a75 29400 * font/manager.c: Removed file.
34c44600 29401
29402 * font/font.c: New file.
29403
1e901a75 29404 * font/font_cmd.c: Likewise.
34c44600 29405
1e901a75 29406 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 29407
1e901a75 29408 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
29409 (grub_video_vbe_map_rgba): Likewise.
29410 (grub_video_vbe_unmap_color_int): Likewise.
29411 (grub_video_vbe_blit_glyph): Removed.
29412 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 29413
1e901a75 29414 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
29415 (get_pixel): Likewise.
34c44600 29416 (set_pixel): Likewise.
29417
1e901a75 29418 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 29419
1e901a75 29420 * term/gfxterm.c: Adapted to new font engine.
34c44600 29421
1e901a75 29422 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 29423
1e901a75 29424 * term/i386/pc/vga.c: Likewise.
34c44600 29425
1e901a75 29426 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 29427
1e901a75 29428 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 29429
1e901a75 29430 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 29431
1e901a75 29432 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 29433
1e901a75 29434 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 29435
1e901a75 29436 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 29437
1e901a75 29438 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 29439
1e901a75 29440 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 29441
1e901a75 29442 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
29443
29444 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 29445
1e901a75 29446 * util/grub-mkconfig_lib.in: Changed font extension.
29447
278922e8 294482008-12-28 Felix Zielcke <fzielcke@z-51.de>
29449
29450 * util/getroot.c (grub_util_get_grub_dev): Add support for
29451 /dev/md/dNNpNN style partitionable mdraid devices.
29452
3ced05cf 294532008-12-12 Alex Smith <alex@alex-smith.me.uk>
29454
29455 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
29456 at a time limit of the PXE TFTP API correctly.
29457 (grub_pxefs_close): Likewise.
29458
7fd0ee30 294592008-11-29 Robert Millan <rmh@aybabtu.com>
29460
34c44600 29461 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 29462 grub_ata_device_initialize() calls.
29463
34c44600 294642008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 29465
29466 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
29467 iteration failed.
29468 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
29469
89313780 294702008-11-28 Robert Millan <rmh@aybabtu.com>
29471
29472 Fix build on powerpc-ieee1275. Based on patch created by
29473 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
29474 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29475 `kern/ieee1275/mmap.c'.
29476 * include/grub/powerpc/ieee1275/memory.h: New file.
29477
15257703 29478 Provide grub-install on coreboot.
29479 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
29480 (grub_install_SOURCES): New variable.
29481 * util/i386/pc/grub-install.in: Add a few condition checks to make it
29482 usable on coreboot.
29483
9fc5388a 294842008-11-25 Felix Zielcke <fzielcke@z-51.de>
29485
29486 * util/grub-fstest.c (grub_term_get_current_input): Change return type
29487 to `grub_term_input_t'.
29488 (grub_term_get_current_output): Change return type to
29489 `grub_term_output_t'.
29490
bc3a2f31 294912008-11-22 Robert Millan <rmh@aybabtu.com>
29492
34c44600 29493 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 29494 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
29495 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
29496 grub_vga_text_cls().
29497
80fc88f2 29498 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 29499 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 29500
cbf36fd3 29501 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
29502 to 0x200000 (avoids trouble with some OFW implementations, and matches
29503 with the one in Yaboot).
29504 Reported by Manoel Abranches
29505
73e8e268 295062008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 29507
29508 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
29509 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
29510
73e8e268 29511 * util/grub-mkconfig_lib.in (grub_warn): New function.
29512 (convert_system_path_to_grub_path): Use grub_warn() when issuing
29513 warnings, to obtain consistent formatting.
29514 * util/grub.d/00_header.in: Likewise.
29515 * util/update-grub_lib.in: Likewise.
29516
e94045a1 29517 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 29518 Move comment text to `#error' stanza.
e94045a1 29519
79d29fd7 29520 Harmonize ieee1275's grub_available_iterate() with the generic
29521 grub_machine_mmap_iterate() interface (fixes a recently-introduced
29522 build problem on i386-ieee1275):
29523 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
29524 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
29525 parameter `type'. Update all users of this function.
29526 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
29527 `kern/ieee1275/mmap.c'.
29528 * kern/ieee1275/init.c
29529 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
29530 with ...
29531 (grub_machine_mmap_iterate): ... this.
29532 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
29533 return type to `grub_err_t'. Update all implementations of this
29534 function prototype.
29535 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
29536 Likewise.
29537
60d6b16e 29538 Add `lsmmap' command (lists firmware-provided memory map):
29539 * commands/lsmmap.c: New file.
29540 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
29541 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
29542 variables.
29543 * conf/powerpc-ieee1275.rmk: Likewise.
29544 * conf/i386-coreboot.rmk: Likewise.
29545 * conf/i386-ieee1275.rmk: Likewise.
29546
ebaaf49b 295472008-11-19 Robert Millan <rmh@aybabtu.com>
29548
29549 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 29550 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
29551 constraints to initrd allocation (based on code from
29552 loader/i386/pc/linux.c). Without them, initrd was allocated too high
29553 for Linux to find it.
ebaaf49b 29554
dfab719f 295552008-11-14 Robert Millan <rmh@aybabtu.com>
29556
29557 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
29558 order to cope with duplicate slashes.
29559
10fc3eb9 295602008-11-14 Robert Millan <rmh@aybabtu.com>
29561
29562 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
29563 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
29564 don't want to mess with lower memory, because it is used in the Linux
29565 loader.
29566
29567 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 29568 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 29569 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
29570 is in our heap (probably as a result of it being corrupted during
2f2a3442 29571 decompression). Add #error instance with comment to explain why this
29572 loader isn't currently usable on PC/BIOS.
10fc3eb9 29573
e2e07847 295742008-11-14 Robert Millan <rmh@aybabtu.com>
29575
29576 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 29577 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 29578
fe8e8d69 295792008-11-12 Robert Millan <rmh@aybabtu.com>
29580
29581 Make loader/i386/linux.c buildable on i386-pc (although disabled).
29582
29583 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
29584 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
29585 from here ...
29586 * include/grub/i386/pc/memory.h: ... to here.
29587
976b07d0 295882008-11-12 Robert Millan <rmh@aybabtu.com>
29589
29590 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
29591 split).
29592
29593 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
29594 (grub_console_cur_color, grub_console_real_putchar)
29595 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29596 (grub_console_setcolorstate, grub_console_setcolor)
29597 (grub_console_getcolor): Move from here ...
29598 * include/grub/i386/vga_common.h: ... to here (new file).
29599
29600 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
29601 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
29602 `<grub/i386/io.h>'.
29603 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
29604 `<grub/i386/vga_common.h>'.
29605
76679cd3 296062008-11-12 Robert Millan <rmh@aybabtu.com>
29607
29608 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
29609 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
29610 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
29611 variables.
29612 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29613 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
29614
29615 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
29616 grub_console_init() with call to grub_vga_text_init().
29617 (grub_machine_fini): Replace call to
29618 grub_console_fini() with call to grub_vga_text_fini() and
29619 grub_at_keyboard_fini().
29620
29621 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
29622 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29623 (grub_console_setcolorstate, grub_console_setcolor)
29624 (grub_console_getcolor): New function prototypes.
29625
29626 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
29627 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
29628 (grub_vga_text_setcursor): Static-ize.
29629 (grub_vga_text_term): New structure.
29630 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
29631
29632 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
29633 (grub_console_cur_color, grub_console_standard_color)
29634 (grub_console_normal_color, grub_console_highlight_color)
29635 (map_char, grub_console_putchar, grub_console_getcharwidth)
29636 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
29637 (grub_console_getcolor): Move from here ...
29638 * term/i386/vga_common.c: ... to here (same function names).
29639
95b841d3 296402008-11-12 Robert Millan <rmh@aybabtu.com>
29641
29642 Use newly-added Multiboot support in coreboot.
29643
29644 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29645 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
29646
29647 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
29648 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
29649 (codestart): Store the MBI in `startup_multiboot_info' when we're
29650 being loaded using Multiboot.
29651
29652 * kern/i386/coreboot/init.c (grub_machine_init): Move
29653 grub_at_keyboard_init() call to beginning of function (useful for
29654 debugging). Call grub_machine_mmap_init() before attempting to use
29655 grub_machine_mmap_iterate().
29656 (grub_lower_mem, grub_upper_mem): Move from here ...
29657 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
29658 here (new file).
29659
29660 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
29661 function prototype.
29662
761ca975 296632008-11-12 Robert Millan <rmh@aybabtu.com>
29664
29665 Fix a regression introduced by the at_keyboard.mod split. Because
29666 some terminals are default on some platforms and non-default on
29667 others, the first terminal being registered determines which is
29668 going to be default.
29669
29670 * kern/term.c (grub_term_register_input): If this is the first
29671 terminal being registered, set it as the current one.
29672 (grub_term_register_output): Likewise.
29673
29674 * term/efi/console.c (grub_console_init): Do not call
29675 grub_term_set_current_output() or grub_term_set_current_input().
29676 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
29677 * term/i386/pc/console.c (grub_console_init): Likewise.
29678 (grub_console_fini): Do not call grub_term_set_current_input()
29679 (but leave grub_term_set_current_output() to restore text mode).
29680
6c529df7 296812008-11-10 Robert Millan <rmh@aybabtu.com>
29682
29683 * util/grub.d/00_header.in: Add backward compatibility check for
29684 versions of terminal.mod that don't understand `terminal_input' or
29685 `terminal_output'.
29686
132e4113 296872008-11-09 Robert Millan <rmh@aybabtu.com>
29688
29689 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
29690 `terminal_input' / `terminal_output', not `terminal'.
29691
ac293d50 296922008-11-08 Robert Millan <rmh@aybabtu.com>
29693
29694 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 29695 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 29696
0025933a 296972008-11-08 Robert Millan <rmh@aybabtu.com>
29698
29699 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 29700 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 29701 members. Update all users.
29702 * util/console.c (grub_ncurses_term): Split in ...
29703 (grub_ncurses_term_input): ... this, and ...
29704 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 29705 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 29706
37c86336 297072008-11-08 Robert Millan <rmh@aybabtu.com>
29708
29709 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
29710 (PKGDATA): Add $(pkgdata_SRCDIR).
29711 (pkglib_BUILDDIR): New variable.
29712 (pkgdata_SRCDIR): New variable.
29713 (build_env.mk): New target.
29714 (include_DATA): New variable.
29715 (install-local): Install $(include_DATA) files in $(includedir).
29716
b6c15a2d 297172008-11-07 Pavel Roskin <proski@gnu.org>
29718
d99d46f1 29719 * gendistlist.sh: Use C locale for sorting to ensure consistent
29720 output on all systems.
29721
b6c15a2d 29722 * util/grub.d/00_header.in: Remove incorrect space before
29723 "serial".
29724
c32ee8c9 297252008-11-07 Robert Millan <rmh@aybabtu.com>
29726
29727 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
29728 per specification.
29729 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
29730 * loader/multiboot_loader.c (find_multi_boot2_header): New function
29731 (based on find_multi_boot1_header).
29732 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
29733 using find_multi_boot2_header(), and abort if neither Multiboot or
29734 Multiboot headers were found.
29735
651c29b7 297362008-11-07 Robert Millan <rmh@aybabtu.com>
29737
29738 Modularize at_keyboard.mod:
29739
29740 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
29741 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29742 (at_keyboard_mod_LDFLAGS): New variables.
29743
29744 Actual terminal split:
29745
29746 * include/grub/term.h (struct grub_term): Split in ...
29747 (struct grub_term_input): ... this, and ...
29748 (struct grub_term_output): ... this. Update all users.
29749 (grub_term_set_current): Split in ...
29750 (grub_term_set_current_input): ... this, and ...
29751 (grub_term_set_current_output): ... this.
29752 (grub_term_get_current): Split in ...
29753 (grub_term_get_current_input): ... this, and ...
29754 (grub_term_get_current_output): ... this.
29755 (grub_term_register): Split in ...
29756 (grub_term_register_input): ... this, and ...
29757 (grub_term_register_output): ... this.
29758 (grub_term_unregister): Split in ...
29759 (grub_term_unregister_input): ... this, and ...
29760 (grub_term_unregister_output): ... this.
29761 (grub_term_iterate): Split in ...
29762 (grub_term_iterate_input): ... this, and ...
29763 (grub_term_iterate_output): ... this.
29764
29765 * kern/term.c (grub_term_list): Split in ...
29766 (grub_term_list_input): ... this, and ...
29767 (grub_term_list_output): ... this. Update all users.
29768 (grub_cur_term): Split in ...
29769 (grub_cur_term_input): ... this, and ...
29770 (grub_cur_term_output): ... this. Update all users.
29771 (grub_term_set_current): Split in ...
29772 (grub_term_set_current_input): ... this, and ...
29773 (grub_term_set_current_output): ... this.
29774 (grub_term_get_current): Split in ...
29775 (grub_term_get_current_input): ... this, and ...
29776 (grub_term_get_current_output): ... this.
29777 (grub_term_register): Split in ...
29778 (grub_term_register_input): ... this, and ...
29779 (grub_term_register_output): ... this.
29780 (grub_term_unregister): Split in ...
29781 (grub_term_unregister_input): ... this, and ...
29782 (grub_term_unregister_output): ... this.
29783 (grub_term_iterate): Split in ...
29784 (grub_term_iterate_input): ... this, and ...
29785 (grub_term_iterate_output): ... this.
29786
29787 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
29788 a check for input and one for output (and only attempt to get keys
29789 from user when input works).
29790
29791 * util/grub-probe.c (grub_term_get_current): Split in ...
29792 (grub_term_get_current_input): ... this, and ...
29793 (grub_term_get_current_output): ... this.
29794 * util/grub-fstest.c: Likewise.
29795 * util/i386/pc/grub-setup.c: Likewise.
29796 * util/grub-editenv.c: Likewise.
29797
29798 Portability adjustments:
29799
29800 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
29801 `term/i386/pc/at_keyboard.c'.
29802 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
29803 grub_keyboard_controller_init() (now handled by terminal .init).
29804 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
29805 grub_at_keyboard_init().
29806 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
29807 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
29808 at_keyboard.mod via input terminal interface).
29809 * include/grub/i386/coreboot/console.h: Convert into a stub for
29810 `<grub/i386/pc/console.h>'.
29811
29812 Migrate full terminals to new API:
29813
29814 * term/efi/console.c (grub_console_term): Split into ...
29815 (grub_console_term_input): ... this, and ...
29816 (grub_console_term_output): ... this. Update all users.
29817 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
29818 (grub_ofconsole_init): Split into ...
29819 (grub_ofconsole_init_input): ... this, and ...
29820 (grub_ofconsole_init_output): ... this.
29821 (grub_ofconsole_term): Split into ...
29822 (grub_ofconsole_term_input): ... this, and ...
29823 (grub_ofconsole_term_output): ... this. Update all users.
29824 * term/i386/pc/serial.c (grub_serial_term): Split into ...
29825 (grub_serial_term_input): ... this, and ...
29826 (grub_serial_term_output): ... this. Update all users.
29827 * term/i386/pc/console.c (grub_console_term): Split into ...
29828 (grub_console_term_input): ... this, and ...
29829 (grub_console_term_output): ... this. Update all users.
29830 (grub_console_term_input): Only enable it on PC/BIOS platform.
29831 (grub_console_init): Remove grub_keyboard_controller_init() call.
29832
29833 Migrate input terminals to new API:
29834
29835 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
29836 `i386' and `i386/pc' to enable build on x86_64 (this driver is
29837 i386-specific anyway).
29838 (grub_console_checkkey): Rename to ...
29839 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
29840 users.
29841 (grub_keyboard_controller_orig): New variable.
29842 (grub_console_getkey): Rename to ...
29843 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
29844 users.
29845 (grub_keyboard_controller_init): Static-ize. Save original
29846 controller value so that it can be restored ...
29847 (grub_keyboard_controller_fini): ... here (new function).
29848 (grub_at_keyboard_term): New structure.
29849 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
29850 functions.
29851
29852 Migrate output terminals to new API:
29853
29854 * term/i386/pc/vga.c (grub_vga_term): Change type to
29855 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29856 members. Update all users.
29857 * term/gfxterm.c (grub_video_term): Change type to
29858 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29859 members. Update all users.
29860 * include/grub/i386/pc/console.h (grub_console_checkkey)
29861 (grub_console_getkey): Do not export (no longer needed by gfxterm,
29862 etc).
29863
29864 Migrate `terminal' command and userland tools to new API:
29865
29866 * commands/terminal.c (grub_cmd_terminal): Split into ...
29867 (grub_cmd_terminal_input): ... this, and ...
29868 (grub_cmd_terminal_output): ... this.
29869 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
29870 `terminal_input' and `terminal_output'.
29871 * util/grub.d/00_header.in: Adjust `terminal' calls to new
29872 `terminal_input' / `terminal_output' API.
29873 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
29874 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
29875 provided ${GRUB_TERMINAL}, convert it).
29876
96e5d876 298772008-11-04 Robert Millan <rmh@aybabtu.com>
29878
29879 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
29880 for FreeBSD.
29881 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
29882
556f3775 298832008-11-03 Bean <bean123ch@gmail.com>
29884
29885 * kern/elf.c (grub_elf32_load): Revert to previous code.
29886 (grub_elf64_load): Likewise.
29887
29888 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
29889
926b9823 298902008-11-01 Robert Millan <rmh@aybabtu.com>
29891
29892 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
29893 (TARGET_CPPFLAGS): Likewise.
29894 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
29895
1432e958 298962008-11-01 Carles Pina i Estany <carles@pina.cat>
29897
29898 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
29899
dba3f844 299002008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 29901
29902 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
29903 addition of objects until the code is not going to be able to fail.
29904
dba3f844 299052008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 29906
29907 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
29908 (add a missing NULL check, and correct them by moving the pointer
29909 operations after the actual check).
29910
7ab28c21 299112008-10-29 Robert Millan <rmh@aybabtu.com>
29912
29913 * util/i386/pc/grub-install.in: Handle empty string as output from
29914 make_system_path_relative_to_its_root().
29915
1b7748eb 299162008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
29917
29918 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
29919 circular metadata worst case scenario. If the metadata is circular
29920 then copy the wrap in place.
29921 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
29922 project lib/format_text/layout.h
29923 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
29924
c9618ab2 299252008-10-03 Felix Zielcke <fzielcke@z-51.de>
29926
7a36edca 29927 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 29928
bf981c62 299292008-10-03 Felix Zielcke <fzielcke@z-51.de>
29930
29931 * util/update-grub_lib.in: Mention filename in warning message.
29932
6d994591 299332008-09-29 Felix Zielcke <fzielcke@z-51.de>
29934
29935 * NEWS: Update for rename of update-grub to grub-mkconfig.
29936
18ade780 299372008-09-29 Felix Zielcke <fzielcke@z-51.de>
29938
29939 * util/update-grub_lib.in: Copy to ...
29940 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 29941 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 29942 * util/update-grub.in: Rename to ...
29943 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
29944 option. Add `--output' option to allow users to specify the generated
29945 configuration file. Default to stdout.
29946 (update_grub_dir): Rename to ...
29947 (grub_mkconfig_dir): ... this.
29948 (grub_cfg): Default to an empty string.
29949 * conf/common.rmk (update-grub): Rename to ...
29950 (grub-mkconfig): ... this.
29951 (update-grub_lib): Copy to ...
29952 (grub-mkconfig_lib): ... this.
29953 (update-grub_SCRIPTS): Copy to ...
29954 (grub-mkconfig_SCRIPTS): ... this. Update all users.
29955 (update-grub_DATA): Rename to ...
29956 (grub-mkconfig_DATA): ... this.
29957
556ce6ac 299582008-09-28 Robert Millan <rmh@aybabtu.com>
29959
29960 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
29961 to `modified'. Add the real `created' field.
29962 (grub_iso9660_uuid): Use `modified' rather than `created' for
29963 constructing the UUID.
29964
299652008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 29966
29967 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
29968 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
29969
92274e85 299702008-09-28 Bean <bean123ch@gmail.com>
29971
29972 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
29973 Thanks to Christian Franke for finding this bug.
29974
add6f17a 299752008-09-25 Robert Millan <rmh@aybabtu.com>
29976
29977 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
29978 instances of grub_util_get_disk_name() (see previous commit).
29979
d2a367b8 299802008-09-25 Robert Millan <rmh@aybabtu.com>
29981
29982 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
29983 `util/i386/get_disk_name.c'.
29984 * conf/i386-efi.rmk: Likewise.
29985 * conf/x86_64-efi.rmk: Likewise.
29986 * conf/i386-coreboot.rmk: Likewise.
29987 * conf/i386-ieee1275.rmk: Likewise.
29988 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
29989 `util/ieee1275/get_disk_name.c'.
29990 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
29991 * util/ieee1275/get_disk_name.c: Remove file.
29992 * util/i386/get_disk_name.c: Remove file.
29993 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
29994 "hd%d" for device.map entries, rather than using
29995 grub_util_get_disk_name().
29996
81a06771 299972008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 29998
29999 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
30000 warning.
30001 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
30002
5a004279 300032008-09-24 Carles Pina i Estany <carles@pina.cat>
30004
30005 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
30006 Changed to 0x5100.
30007 (GRUB_TERM_PPAGE): Changed to 0x4900.
30008
397093d3 300092008-09-24 Robert Millan <rmh@aybabtu.com>
30010
30011 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
30012 macros (they were i386-pc specific).
30013 * include/grub/sparc64/ieee1275/console.h: Likewise.
30014 * include/grub/efi/console.h: Likewise.
30015
a91b6c7c 300162008-09-22 Bean <bean123ch@gmail.com>
30017
30018 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
30019 resident and in attribute list.
30020
30021 * include/grub/ntfs.h (BMP_LEN): Removed.
30022
c40fd116 300232008-09-22 Bean <bean123ch@gmail.com>
30024
81a06771 30025 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 30026 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
30027
30028 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
30029 error occurs, as grub_disk_open will call grub_disk_close, which will
30030 call p->close (scsi).
30031
81a06771 300322008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 30033
30034 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
30035 (AC_PREREQ): Bumped to 2.59.
30036 (AC_TRY_COMPILE): Replace obsolete macro with ...
30037 (AC_COMPILE_IFELSE): ... this.
30038 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
30039 (AC_LINK_IFELSE): ... this.
30040
5dc43410 300412008-09-21 Felix Zielcke <fzielcke@z-51.de>
30042
30043 * autogen.sh: Add a call to `gendistlist.sh'.
30044
9035dce4 300452008-09-19 Christian Franke <franke@computer.org>
30046
30047 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
30048 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
30049 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
30050 Export __enable_execute_stack() to modules.
30051 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
30052 New function.
30053
7fd75377 300542008-09-09 Felix Zielcke <fzielcke@z-51.de>
30055
040030b3 30056 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
30057 Sort the list.
30058
300592008-09-09 Felix Zielcke <fzielcke@z-51.de>
30060
30061 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 30062 #include <grub/util/hostdisk.h>.
30063
89d5ffcf 300642008-09-08 Robert Millan <rmh@aybabtu.com>
30065
30066 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
30067 segments when their filesz is zero (grub_file_read() interprets
81a06771 30068 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 30069 Use `lowest_segment' rather than 0 for calculating the current
30070 segment load address.
30071
40da438f 300722008-09-08 Robert Millan <rmh@aybabtu.com>
30073
30074 * util/hostdisk.c (open_device): Replace a grub_util_info() call
30075 with grub_dprintf("hostdisk", ...), as it was so verbose that it
30076 clobbered useful information.
30077
ddbf5556 300782008-09-08 Robert Millan <rmh@aybabtu.com>
30079
30080 * include/grub/util/biosdisk.h: Move to ...
30081 * include/grub/util/hostdisk.h: ... here. Update all users.
30082 * util/biosdisk.c: Move to ...
30083 * util/hostdisk.c: ... here. Update all users.
30084
783d0f48 300852008-09-07 Robert Millan <rmh@aybabtu.com>
30086
30087 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
30088 variables.
30089 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
30090 and length can be stored directly in the `mbi->mmap_addr' and
30091 `mbi->mmap_length' struct fields.
30092
548e2ea5 300932008-09-07 Robert Millan <rmh@aybabtu.com>
30094
30095 * conf/i386.rmk: New file. Provides declaration for building
30096 `cpuid.mod'.
30097 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
30098 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
30099 variables.
30100 Include `conf/i386.mk'.
30101 * conf/i386-efi.rmk: Likewise.
30102 * conf/x86_64-efi.rmk: Likewise.
30103 * conf/i386-coreboot.rmk: Likewise.
30104 * conf/i386-ieee1275.rmk: Likewise.
30105
0ea85a37 301062008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
30107
30108 Based on patch created by Colin D Bennett <colin@gibibit.com>.
30109 Adds optimization support for BGR based modes.
30110
30111 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
30112 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
30113 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
30114 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
30115 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
30116 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
30117 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
30118 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
30119 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
30120 (grub_video_i386_vbeblit_index_index): Likewise.
30121 (grub_video_i386_vbeblit_replace_directN): Added.
30122 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
30123 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
30124 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
30125 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
30126 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
30127 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 30128 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 30129 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
30130 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
30131 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
30132 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
30133 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
30134 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
30135
30136 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
30137 (grub_video_i386_vbefill_R8G8B8): Likewise.
30138 (grub_video_i386_vbefill_index): Likewise.
30139 (grub_video_i386_vbefill_direct32): Added.
30140 (grub_video_i386_vbefill_direct24): Likewise.
30141 (grub_video_i386_vbefill_direct16): Likewise.
30142 (grub_video_i386_vbefill_direct8): Likewise.
30143
81a06771 30144 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 30145 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
30146 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
30147 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
30148 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
30149 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 30150
0ea85a37 30151 * video/video.c (grub_video_get_blit_format): Updated to use new
30152 blit formats. Added handling for 16 bit color modes.
81a06771 30153
30154 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 30155 fillers.
30156 (common_blitter): Updated to use new blitters.
30157
30158 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
30159 Removed.
30160 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
30161 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
30162 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
30163 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
30164 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
30165 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
30166 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
30167 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
30168 (grub_video_i386_vbeblit_index_index): Likewise.
30169 (grub_video_i386_vbeblit_replace_directN): Added.
30170 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
30171 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
30172 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
30173 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
30174 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
30175 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
30176 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
30177 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
30178 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
30179 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
30180 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
30181 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
30182 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 30183
0ea85a37 30184 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
30185 (grub_video_i386_vbefill_R8G8B8): Likewise.
30186 (grub_video_i386_vbefill_index): Likewise.
30187 (grub_video_i386_vbefill_direct32): Added.
30188 (grub_video_i386_vbefill_direct24): Likewise.
30189 (grub_video_i386_vbefill_direct16): Likewise.
30190 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 30191
0ea85a37 30192 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
30193 types.
81a06771 30194
0ea85a37 30195 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
30196 types.
81a06771 30197
0ea85a37 30198 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
30199 blitter types.
81a06771 30200
0ea85a37 30201 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
30202 types.
30203
e8a83df6 302042008-09-06 Felix Zielcke <fzielcke@z-51.de>
30205
30206 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
30207 RAID level 1.
30208
6bcd8ee5 302092008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 30210
6bcd8ee5 30211 * fs/iso9660.c (grub_iso9660_date): New structure.
30212 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
30213 (grub_iso9660_uuid): New function.
c375ae58 30214
59261157 302152008-09-05 Bean <bean123ch@gmail.com>
30216
30217 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
30218
30219 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
30220 insensitive bit for names in Win32 and Win32 & DOS namespace.
30221
30222 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
30223
30224 * include/grub/types.h (LONG_MAX): Likewise.
30225
58b6645a 302262008-09-04 Felix Zielcke <fzielcke@z-51.de>
30227
4ee55921 30228 * util/getroot.c: Include <config.h>.
30229 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
30230 add support for /dev/md/N devices and handle LVM double dash escaping.
30231
302322008-09-04 Felix Zielcke <fzielcke@z-51.de>
30233
30234 * config.guess: Update to latest version from config git.
30235 * config.sub: Likewise.
58b6645a 30236
9124f65d 302372008-09-03 Robert Millan <rmh@aybabtu.com>
30238
30239 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
30240 `disk->total_sectors'.
30241
81a06771 302422008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 30243
30244 * include/grub/normal.h: Fixed incorrect comment for
30245 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
30246
81a06771 302472008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 30248
30249 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
30250 values with defines.
30251
30252 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
30253 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
30254 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
30255 (GRUB_VBE_MODEATTR_COLOR): Likewise.
30256 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
30257 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
30258 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
30259 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
30260 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
30261 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
30262 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
30263 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
30264 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
30265 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
30266 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
30267 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
30268 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
30269 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
30270 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
30271
93d5cbf8 302722008-08-31 Robert Millan <rmh@aybabtu.com>
30273
30274 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
30275 declaration.
30276 (grub_multiboot): Fix a few warnings.
30277
21751d50 302782008-08-31 Robert Millan <rmh@aybabtu.com>
30279
30280 * loader/i386/pc/multiboot.c: Update comment not to say that
30281 boot_device support is unimplemented.
30282
e27a75c5 302832008-08-31 Robert Millan <rmh@aybabtu.com>
30284
30285 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
30286 or memory map support are unimplemented.
30287
81a06771 302882008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 30289
30290 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
30291
81a06771 302922008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 30293
30294 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
30295 total video memory in 'vbeinfo' output; show color format details for
30296 each video mode.
30297
7c5d8d95 302982008-08-30 Pavel Roskin <proski@gnu.org>
30299
30300 * util/genmoddep.c: Remove for real this time.
30301 * DISTLIST: Remove util/genmoddep.c.
30302
4cebd25a 303032008-08-30 Robert Millan <rmh@aybabtu.com>
30304
30305 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
30306 as required by Multiboot spec (it was already 4-byte aligned, but
30307 only by chance).
30308
b497a269 303092008-08-29 Pavel Roskin <proski@gnu.org>
30310
e3925185 30311 * kern/powerpc/ieee1275/crt0.S: Rename to ...
30312 * kern/powerpc/ieee1275/startup.S: ... this.
30313 * conf/powerpc-ieee1275.rmk: Adjust for the above.
30314 * DISTLIST: Likewise.
30315
b497a269 30316 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
30317 grub/cpu/kernel.h. Add start label for consistency with other
30318 platforms. Add grub_prefix immediately after start. Add jump
30319 to the code after grub_prefix.
30320 * include/grub/powerpc/kernel.h: Provide valid values for
30321 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
30322
6e5a42fe 303232008-08-29 Bean <bean123ch@gmail.com>
30324
30325 * configure.ac: Change host_os to cygwin for mingw.
30326 (asprintf): New check for function.
30327
30328 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
30329 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
30330
30331 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 30332 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 30333 sync, sleep and grub_util_get_disk_size for mingw.
30334
30335 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
30336 to get size in mingw.
30337 (open_device): Use flag O_BINARY if it's defined.
30338 (find_root_device): Add dummy code for mingw.
30339
30340 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
30341 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
30342 (get_scsi_disk_name): Return 0 for mingw.
30343
30344 * util/hostfs.c: #include <grub/util/misc.h>.
30345 (grub_hostfs_open): Use "rb" flag to open file, use
30346 grub_util_get_disk_size to get disk size for mingw.
30347
30348 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
30349 (asprintf): New function if HAVE_ASPRINTF is not set.
30350 (sync): New function for mingw.
30351 (sleep): Likewise.
30352 (grub_util_get_disk_size): Likewise.
30353
ab3f2673 303542008-08-28 Pavel Roskin <proski@gnu.org>
30355
30356 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30357 kern/time.c.
30358
1c282483 303592008-08-28 Robert Millan <rmh@aybabtu.com>
30360
30361 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
30362
678e849c 303632008-08-28 Robert Millan <rmh@aybabtu.com>
30364
30365 Change find_grub_drive() syntax so it doesn't prevent it from
30366 detecting NULL names as errors.
30367
30368 * util/biosdisk.c (find_grub_drive): Move free slot search code
30369 from here ...
30370 (find_free_slot): ... to here.
30371 (read_device_map): Use find_free_slot() to search for free slots.
30372
965c75ca 303732008-08-27 Marco Gerards <marco@gnu.org>
30374
30375 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
30376 (scsi_mod_SOURCES): New variable.
30377 (scsi_mod_CFLAGS): Likewise
30378 (scsi_mod_LDFLAGS): Likewise.
30379
30380 * disk/scsi.c: New file.
30381
30382 * include/grub/scsi.h: Likewise.
30383
30384 * include/grub/scsicmd.h: Likewise.
30385
30386 * disk/ata.c: Include <grub/scsi.h>.
30387 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
30388 instead.
30389 (grub_ata_iterate): Skip ATAPI devices.
30390 (grub_ata_open): Only handle ATAPI devices.
30391 (struct grub_atapi_read): Removed.
30392 (grub_atapi_readsector): Likewise.
30393 (grub_ata_read): No longer handle ATAPI devices.
30394 (grub_ata_write): Likewise.
30395 (grub_atapi_iterate): New function.
30396 (grub_atapi_read): Likewise.
30397 (grub_atapi_write): Likewise.
30398 (grub_atapi_open): Likewise.
30399 (grub_atapi_close): Likewise.
30400 (grub_atapi_dev): New variable.
30401 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
30402 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
30403
30404 * include/grub/disk.h (enum grub_disk_dev_id): Add
30405 `GRUB_DISK_DEVICE_SCSI_ID'.
30406
c07ae501 304072008-08-26 Robert Millan <rmh@aybabtu.com>
30408
30409 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
30410 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
30411 descriptive.
30412
5ed20adc 304132008-08-23 Bean <bean123ch@gmail.com>
30414
30415 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
30416 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
30417 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
30418 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
30419 dm_nv.mod.
30420 (raid5rec_mod_SOURCES): New macro.
30421 (raid5rec_mod_CFLAGS): Likewise.
30422 (raid5rec_mod_LDFLAGS): Likewise.
30423 (raid6rec_mod_SOURCES): Likewise.
30424 (raid6rec_mod_CFLAGS): Likewise.
30425 (raid6rec_mod_LDFLAGS): Likewise.
30426 (mdraid_mod_SOURCES): Likewise.
30427 (mdraid_mod_CFLAGS): Likewise.
30428 (mdraid_mod_LDFLAGS): Likewise.
30429 (dm_nv_mod_SOURCES): Likewise.
30430 (dm_nv_mod_CFLAGS): Likewise.
30431 (dm_nv_mod_LDFLAGS): Likewise.
30432
30433 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
30434 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
30435 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
30436
30437 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
30438 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
30439
30440 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30441
30442 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30443
30444 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30445
30446 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30447
30448 * disk/raid5_recover.c: New file.
30449
30450 * disk/raid6_recover.c: Likewise.
30451
30452 * disk/mdraid_linux.c: Likewise.
30453
30454 * disk/dmraid_nvidia.c: Likewise.
30455
30456 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
30457 ULONG_MAX.
30458
30459 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
30460 calculate the size of raid device.
30461 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
30462 different layout of raid5.
30463 (grub_raid_scan_device): Remove code specific to mdraid.
30464 (grub_raid_list): New variable.
30465 (free_array): New function.
30466 (grub_raid_register): Likewise.
30467 (grub_raid_unregister): Likewise.
30468 (grub_raid_rescan): Likewise.
30469 (GRUB_MOD_INIT): Don't iterate device here.
30470 (GRUB_MOD_FINI): Use free_array to release resource.
30471
30472 * include/grub/raid.h: Remove macro and structure specific to mdraid.
30473 (grub_raid5_recover_func_t): New function variable type.
30474 (grub_raid6_recover_func_t): Likewise.
30475 (grub_raid5_recover_func): New variable.
30476 (grub_raid6_recover_func): Likewise.
30477 (grub_raid_register): New function.
30478 (grub_raid_unregister): Likewise.
30479 (grub_raid_rescan): Likewise.
30480 (grub_raid_block_xor): Likewise.
30481
30482 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
30483 (CMD_CRC): New macro.
30484 (part): Removed.
30485 (read_file): Handle device as well as file.
30486 (cmd_crc): New function.
30487 (fstest): Handle multiple disks.
30488 (options): Remove part, raw and long, add root and diskcount.
30489 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 30490 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 30491 add handling for the new options, support multiple disks.
30492
30493 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
30494
29c18915 304952008-08-23 Bean <bean123ch@gmail.com>
30496
30497 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
30498
30499 * genfslist.sh: Ignore kernel.mod.
30500
30501 * genpartmaplist.sh: Likewise.
30502
8415f261 305032008-08-23 Robert Millan <rmh@aybabtu.com>
30504
30505 * util/getroot.c (find_root_device): Skip anything that starts with
30506 a dot, not just directories. This avoids things like /dev/.tmp.md0.
30507
d5a7dc5b 305082008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 30509
d5a7dc5b 30510 * util/update-grub.in (GRUB_GFXMODE): Export variable.
30511 * util/grub.d/00_header.in: Allow the administrator to change default
30512 gfxmode via ${GRUB_GFXMODE}.
30513
380cfbb4 305142008-08-21 Felix Zielcke <fzielcke@z-51.de>
30515
30516 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
30517
c9baafe7 305182008-08-21 Robert Millan <rmh@aybabtu.com>
30519
30520 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
30521 loader.
30522 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
30523 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
30524
e290bef2 305252008-08-20 Carles Pina i Estany <carles@pina.cat>
30526
30527 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
30528 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
30529
f9dbfc96 305302008-08-19 Robert Millan <rmh@aybabtu.com>
30531
30532 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
30533 (struct grub_virtual_screen): Remove `cursor_color'.
30534 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
30535 initialization.
30536 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
30537
dd6bd6ab 305382008-08-18 Robert Millan <rmh@aybabtu.com>
30539
30540 Unify (identical) linux_normal.c files.
30541 * loader/i386/efi/linux_normal.c: Move from here ...
30542 * loader/linux_normal.c: ... to here. Update all users.
30543 * loader/i386/pc/linux_normal.c: Delete. Update all users.
30544 * loader/i386/ieee1275/linux_normal.c: Likewise.
30545
7f42f83e 305462008-08-18 Robert Millan <rmh@aybabtu.com>
30547
30548 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
30549 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
30550 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
30551 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
30552 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
30553 New macros.
30554 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
30555 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
30556 (GRUB_LINUX_CL_END_OFFSET): ... to here.
30557 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
30558 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
30559 (GRUB_EFI_CL_END_OFFSET): Rename to ...
30560 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
30561 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
30562 Initialize `params->video_cursor_x' and `params->video_cursor_y'
30563 portably using grub_getxy().
30564 Replace `-EFI' with `-bzImage' in boot message.
30565
38487ddb 305662008-08-17 Robert Millan <rmh@aybabtu.com>
30567
30568 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
30569
deceb3ec 305702008-08-17 Robert Millan <rmh@aybabtu.com>
30571
30572 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
30573
30574 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
30575 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
30576 (grub_machine_mmap_iterate): New function declaration.
30577 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
30578 structure.
30579 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
30580 macros.
30581
30582 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
30583 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
30584 Move e820 parsing from here ...
30585 * kern/i386/pc/mmap.c: New file.
30586 (grub_machine_mmap_iterate): ... to here.
30587
30588 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
30589 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
30590 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
30591 (grub_available_iterate): Redeclare to return `void', and redeclare
30592 its hook to use grub_uint64_t as addr and size parameters, and rename
30593 to ...
30594 (grub_machine_mmap_iterate): ... this. Update all users.
30595
30596 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
30597 to make it more readable. Rename to ...
30598 (grub_machine_mmap_iterate): ... this.
30599
30600 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
30601 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
30602 (grub_multiboot): Allocate an extra region after the payload, and fill
30603 it with a Multiboot memory map. Adjust a.out loader to calculate size
30604 with the extra space.
30605 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
30606 with the extra space.
30607
f8aa0f43 306082008-08-17 Carles Pina i Estany <carles@pina.cat>
30609
9807deb9 30610 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 30611
605f5bb6 306122008-08-17 Felix Zielcke <fzielcke@z-51.de>
30613
30614 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
30615 mdate-sh to the list `find' searches for.
30616 * DISTLIST: Regenerated.
30617
210db6c6 306182008-08-16 Felix Zielcke <fzielcke@z-51.de>
30619
30620 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
30621 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 30622 genmoddep.awk, gensymlist.sh.in.
30623 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 30624 * DISTLIST: Regenerated.
48cdbfd4 30625 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 30626
1082b929 306272008-08-16 Robert Millan <rmh@aybabtu.com>
30628
30629 * disk/raid.c (grub_raid_init): Handle/report errors set by
30630 grub_device_iterate().
30631 * disk/lvm.c (grub_lvm_init): Likewise.
30632
42ce5170 306332008-08-15 Bean <bean123ch@gmail.com>
30634
30635 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30636 and datehook.mod.
30637 (datetime_mod_SOURCES): New macro.
30638 (datetime_mod_CFLAGS): Likewise.
30639 (datetime_mod_LDFLAGS): Likewise.
30640 (date_mod_SOURCES): Likewise.
30641 (date_mod_CFLAGS): Likewise.
30642 (date_mod_LDFLAGS): Likewise.
30643 (datehook_mod_SOURCES): Likewise.
30644 (datehook_mod_CFLAGS): Likewise.
30645 (datehook_mod_LDFLAGS): Likewise.
30646
30647 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30648 and datehook.mod.
30649 (datetime_mod_SOURCES): New macro.
30650 (datetime_mod_CFLAGS): Likewise.
30651 (datetime_mod_LDFLAGS): Likewise.
30652 (date_mod_SOURCES): Likewise.
30653 (date_mod_CFLAGS): Likewise.
30654 (date_mod_LDFLAGS): Likewise.
30655 (datehook_mod_SOURCES): Likewise.
30656 (datehook_mod_CFLAGS): Likewise.
30657 (datehook_mod_LDFLAGS): Likewise.
30658
30659 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30660 and datehook.mod.
30661 (datetime_mod_SOURCES): New macro.
30662 (datetime_mod_CFLAGS): Likewise.
30663 (datetime_mod_LDFLAGS): Likewise.
30664 (date_mod_SOURCES): Likewise.
30665 (date_mod_CFLAGS): Likewise.
30666 (date_mod_LDFLAGS): Likewise.
30667 (datehook_mod_SOURCES): Likewise.
30668 (datehook_mod_CFLAGS): Likewise.
30669 (datehook_mod_LDFLAGS): Likewise.
30670
30671 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30672 and datehook.mod.
30673 (datetime_mod_SOURCES): New macro.
30674 (datetime_mod_CFLAGS): Likewise.
30675 (datetime_mod_LDFLAGS): Likewise.
30676 (date_mod_SOURCES): Likewise.
30677 (date_mod_CFLAGS): Likewise.
30678 (date_mod_LDFLAGS): Likewise.
30679 (datehook_mod_SOURCES): Likewise.
30680 (datehook_mod_CFLAGS): Likewise.
30681 (datehook_mod_LDFLAGS): Likewise.
30682
30683 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30684 and datehook.mod.
30685 (datetime_mod_SOURCES): New macro.
30686 (datetime_mod_CFLAGS): Likewise.
30687 (datetime_mod_LDFLAGS): Likewise.
30688 (date_mod_SOURCES): Likewise.
30689 (date_mod_CFLAGS): Likewise.
30690 (date_mod_LDFLAGS): Likewise.
30691 (datehook_mod_SOURCES): Likewise.
30692 (datehook_mod_CFLAGS): Likewise.
30693 (datehook_mod_LDFLAGS): Likewise.
30694
30695 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
30696
30697 * commands/date.c: New file.
30698
30699 * hook/datehook.c: Likewise.
30700
30701 * include/grub/lib/datetime.h: Likewise.
30702
30703 * include/grub/i386/cmos.h: Likewise.
30704
30705 * lib/datetime.c: Likewise.
30706
30707 * lib/i386/datetime.c: Likewise.
30708
30709 * lib/efi/datetime.c: Likewise.
30710
0e9242da 307112008-08-14 Robert Millan <rmh@aybabtu.com>
30712
30713 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
30714 (grub_mkelfimage_SOURCES): New variable.
30715 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
30716
30717 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
30718 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
30719 * conf/powerpc-ieee1275.rmk: Likewise.
30720 * conf/i386-ieee1275.rmk: Likewise.
30721
30722 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
30723 * kern/i386/coreboot/init.c: Likewise.
30724
30725 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
30726 with `<grub/cpu/kernel.h>'.
30727 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
30728 to ...
30729 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
30730 * kern/i386/coreboot/startup.S: Likewise.
30731
30732 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
30733 (GRUB_MOD_GAP): Remove.
30734 * include/grub/powerpc/kernel.h: New file.
30735 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
30736 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30737 * include/grub/i386/kernel.h: New file.
30738 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
30739 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
30740 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30741
30742 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
30743 `grub-mkelfimage'.
30744 Use --directory when invoking grub_mkimage.
30745
30746 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
30747 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
30748 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
30749 and GRUB_KERNEL_CPU_PREFIX.
30750
b86408f8 307512008-08-14 Felix Zielcke <fzielcke@z-51.de>
30752
d5e619ca 30753 * include/grub/err.h (grub_err_printf): New function prototype.
30754 * util/misc.c (grub_err_printf): New function.
30755 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
30756 grub_printf.
30757 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 30758
7161f0e0 307592008-08-13 Robert Millan <rmh@aybabtu.com>
30760
30761 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
30762
a1967522 307632008-08-13 Robert Millan <rmh@aybabtu.com>
30764
30765 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
30766 boot entry.
30767
371458b5 307682008-08-12 Robert Millan <rmh@aybabtu.com>
30769
30770 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
30771 of the relocation code from here ...
30772 (grub_multiboot): ... to here.
30773 (forward_relocator, backward_relocator): Move from here ...
30774 * kern/i386/loader.S (grub_multiboot_forward_relocator)
30775 (grub_multiboot_backward_relocator): ... to here.
30776 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
30777 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
30778 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
30779 (grub_multiboot_forward_relocator_end)
30780 (grub_multiboot_backward_relocator)
30781 (grub_multiboot_backward_relocator_end): New variables.
30782
05f9452b 307832008-08-12 Bean <bean123ch@gmail.com>
30784
30785 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
30786
20024ab0 307872008-08-11 Robert Millan <rmh@aybabtu.com>
30788
30789 * kern/i386/linuxbios/startup.S: Move from here ...
30790 * kern/i386/coreboot/startup.S: ... to here.
30791
30792 * kern/i386/linuxbios/init.c: Move from here ...
30793 * kern/i386/coreboot/init.c: ... to here.
30794
30795 * kern/i386/linuxbios/table.c: Move from here ...
30796 * kern/i386/coreboot/mmap.c: ... to here.
30797
30798 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
30799
e352e9cd 308002008-08-11 Robert Millan <rmh@aybabtu.com>
30801
30802 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
30803 errors. Leave it to the upper layer to handle them.
30804
2d05bc6a 308052008-08-09 Christian Franke <franke@computer.org>
30806
30807 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
30808 * conf/common.rmk: Install `grub-pe2elf' only if requested.
30809 Install `grub.d/10_windows' only on Cygwin.
30810 * configure.ac: Add subst of `target_os'.
30811 Check `target_os' also before setting TARGET_OBJ2ELF.
30812 Add `--enable-grub-pe2elf'.
30813
042bd419 308142008-08-08 Robert Millan <rmh@aybabtu.com>
30815
30816 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30817 (grub_last_time): Change type to grub_uint64_t.
30818 (grub_disk_open): Migrate code from to using grub_get_time_ms().
30819 (grub_disk_close): Likewise.
30820
30821 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30822 (run_menu): Migrate code from to using grub_get_time_ms().
30823
30824 * util/misc.c (grub_get_time_ms): New function.
30825
7f280db5 308262008-08-08 Marco Gerards <marco@gnu.org>
30827
30828 * disk/ata.c (grub_ata_regget): Change return type to
30829 `grub_uint8_t'.
30830 (grub_ata_regget2): Likewise.
30831 (grub_ata_wait_status): New function.
30832 (grub_ata_wait_busy): Removed function, updated all users to use
30833 `grub_ata_wait_status'.
30834 (grub_ata_wait_drq): Likewise.
30835 (grub_ata_cmd): New function.
30836 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
30837 error handling.
30838 (grub_ata_pio_write): Add error handling.
30839 (grub_atapi_identify): Likewise.
30840 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
30841 handling.
30842 (grub_ata_identify): Use `grub_ata_cmd' and improve error
30843 handling. Actually use the detected registers. Reorder the
30844 detection logic such that it is easier to read.
30845 (grub_ata_pciinit): Do not assign the same ID to each controller.
30846 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
30847 handling.
30848 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
30849
30850 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
30851
1fbc5e66 308522008-08-08 Marco Gerards <marco@gnu.org>
30853
30854 * NEWS: Update.
30855
819ce6c0 308562008-08-07 Bean <bean123ch@gmail.com>
30857
30858 * include/grub/x86_64/pci.h: New file.
30859
5c41d44d 308602008-08-07 Christian Franke <franke@computer.org>
30861
30862 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
30863 (TIMER2_GATE): Likewise.
30864 (grub_pit_wait): Add enable/disable of the timer2 gate
30865 bit of port 0x61. This fixes a possible infinite loop.
30866
5ebc275d 308672008-08-07 Bean <bean123ch@gmail.com>
30868
30869 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
30870 kern/i386/tsc.c and kern/i386/pit.c.
30871
30872 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
30873 x86_64 platform.
30874
30875 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
30876 <grub/i386/tsc.h>.
30877
30878 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
30879
e383b3d0 308802008-08-07 Bean <bean123ch@gmail.com>
30881
30882 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
30883
30884 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
30885
30886 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
30887 multiple inclusion. Add #include <grub/types.h>.
30888
1cbb58ac 308892008-08-06 Christian Franke <franke@computer.org>
30890
30891 * conf/common.rmk: Build and install `10_windows'.
30892 * util/grub.d/10_windows.in: New script.
30893
337f5a1e 308942008-08-06 Pavel Roskin <proski@gnu.org>
30895
30896 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
30897
057bc4ac 308982008-08-06 Robert Millan <rmh@aybabtu.com>
30899
30900 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
30901 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
30902
2b99f123 309032008-08-06 Bean <bean123ch@gmail.com>
30904
30905 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
30906 (grub_pxefs_fs_int): Remove dummy definition.
30907 (grub_pxefs_open): Use data->block_size to store the current block
30908 size setting.
30909 (grub_pxefs_read): Use block size stored in data->block_size. As the
30910 value of grub_pxe_blksize can be changed after the file is opened.
30911
9f0234cb 309122008-08-06 Bean <bean123ch@gmail.com>
30913
30914 * fs/i386/pc/pxe.c (curr_file): new variable.
30915 (grub_pxefs_open): Simply the handling of pxe file system. Don't
30916 require the dummy internal file system anymore.
30917 (grub_pxefs_read): Removed.
30918 (grub_pxefs_close): Likewise.
30919 (grub_pxefs_fs_int): Likewise.
30920 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
30921 connection when we switch file.
30922 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
30923
a55d42e0 309242008-08-06 Robert Millan <rmh@aybabtu.com>
30925
30926 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
30927 `halt.mod'.
30928 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
30929 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
30930
30931 * kern/i386/halt.c: New file.
30932 * kern/i386/reboot.c: Likewise.
30933 * include/grub/i386/reboot.h: Likewise.
30934 * include/grub/i386/halt.h: Likewise.
30935
30936 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
30937 Include `<grub/cpu/halt.h>'.
30938 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
30939 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
30940
30941 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
30942 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
30943 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
30944 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
30945 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
30946 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
30947 from here ...
30948 * include/grub/i386/at_keyboard.h: ... to here.
30949
24371d26 309502008-08-05 Robert Millan <rmh@aybabtu.com>
30951
30952 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
30953 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
30954 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
30955 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30956 `kern/generic/millisleep.c'.
30957
30958 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
30959 instead of grub_get_rtc().
30960 (grub_tsc_init): Initialize `tsc_boot_time'.
30961
30962 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
30963 (grub_machine_init): Use grub_tsc_init() rather than
30964 installing an RTC-based handler via grub_install_get_time_ms().
30965
30966 * kern/i386/pit.c: New file.
30967 * include/grub/i386/pit.h: Likewise.
30968
9e7007b3 309692008-08-05 Bean <bean123ch@gmail.com>
30970
30971 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
30972
30973 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
30974 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
30975 (pxe_mod_SOURCES): New macro.
30976 (pxe_mod_CFLAGS): Likewise.
30977 (pxe_mod_LDFLAGS): Likewise.
30978 (pxecmd_mod_SOURCES): Likewise.
30979 (pxecmd_mod_CFLAGS): Likewise.
30980 (pxecmd_mod_LDFLAGS): Likewise.
30981
30982 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
30983 (grub_pxe_call): Likewise.
30984
30985 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
30986
30987 * commands/i386/pc/pxecmd.c: New file.
30988
9f0234cb 30989 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 30990
30991 * include/grub/i386/pc/pxe.h: Likewise.
30992
6977d49f 309932008-08-05 Bean <bean123ch@gmail.com>
30994
30995 * util/console.c (grub_console_cur_color): New variable.
30996 (grub_console_standard_color): Likewise.
30997 (grub_console_normal_color): Likewise.
30998 (grub_console_highlight_color): Likewise.
30999 (color_map): Likewise.
31000 (use_color): Likewise.
31001 (NUM_COLORS): New macro.
31002 (grub_ncurses_setcolorstate): Handle color properly.
31003 (grub_ncurses_setcolor): Don't change color here, just remember the
31004 settings, color will be set in grub_ncurses_setcolorstate.
31005 (grub_ncurses_getcolor): New function.
31006 (grub_ncurses_init): Initialize color pairs.
31007 (grub_ncurses_term): New member grub_ncurses_getcolor.
31008
9c2ff3ee 310092008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 31010
9c2ff3ee 31011 High resolution timer support. Implemented for x86 CPUs using TSC.
31012 Extracted generic grub_millisleep() so it's linked in only as needed.
31013 This requires a Pentium compatible CPU; if the RDTSC instruction is
31014 not supported, then it falls back on the generic grub_get_time_ms()
31015 implementation that uses the machine's RTC.
31016
31017 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
31018 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31019 `kern/generic/millisleep.c'.
31020
31021 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
31022 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
31023
31024 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
31025 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
31026
31027 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31028
31029 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31030 `kern/generic/millisleep.c'.
31031
31032 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31033
31034 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
31035
31036 * kern/generic/rtc_get_time_ms.c: New file.
31037
31038 * kern/generic/millisleep.c: New file.
337f5a1e 31039
9c2ff3ee 31040 * kern/misc.c: Don't include
31041 <kern/time.h> anymore.
31042 (grub_millisleep_generic): Removed.
31043
31044 * commands/sleep.c (grub_interruptible_millisleep): Uses
31045 grub_get_time_ms() instead of grub_get_rtc().
31046
31047 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
31048 function.
31049 (grub_cpu_is_cpuid_supported): New inline function.
31050 (grub_cpu_is_tsc_supported): New inline function.
31051 (grub_tsc_init): New function prototype.
31052 (grub_tsc_get_time_ms): New function prototype.
31053
31054 * kern/i386/tsc.c (grub_get_time_ms): New file.
31055
31056 * include/grub/time.h: Include <grub/types.h.
31057 (grub_millisleep_generic): Removed.
31058 (grub_get_time_ms): New prototype.
31059 (grub_install_get_time_ms): New prototype.
31060 (grub_rtc_get_time_ms): New prototype.
31061
31062 * kern/time.c (grub_get_time_ms): New function.
31063 (grub_install_get_time_ms): New function.
31064
31065 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
31066 <grub/time.h> anymore.
31067 (grub_millisleep): Removed.
31068 (grub_machine_init): Call grub_tsc_init.
31069
31070 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
31071 get_time_ms() implementation.
31072
31073 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
31074 (ieee1275_get_time_ms): New function.
31075 (grub_machine_init): Install get_time_ms() implementation.
31076
31077 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
31078 (grub_machine_init): Call grub_tsc_init().
31079 (grub_millisleep): Removed.
bf06a93f 31080
9c2ff3ee 31081 * kern/ieee1275/init.c (grub_millisleep): Removed.
31082 (grub_machine_init): Install ieee1275_get_time_ms()
31083 implementation.
31084 (ieee1275_get_time_ms): New function.
31085 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
31086 real work.
31087
9ec92aaf 310882008-08-05 Marco Gerards <marco@gnu.org>
31089
31090 * disk/ata.c: Include <grub/pci.h>.
31091 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
31092 (grub_ata_initialize): Rewritten.
31093 (grub_ata_device_initialize): New function.
31094
8d23f507 310952008-08-04 Pavel Roskin <proski@gnu.org>
31096
31097 * kern/main.c: Include grub/mm.h.
31098
5e15ee3d 310992008-08-04 Robert Millan <rmh@aybabtu.com>
31100
31101 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
31102 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
31103 corruption problem).
31104
a9053f8f 311052008-08-04 Robert Millan <rmh@aybabtu.com>
31106
31107 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
31108 warnings introduced in my last commit.
31109
dd19c7d7 311102008-08-03 Robert Millan <rmh@aybabtu.com>
31111
31112 Make PCI available on all i386 architectures.
31113
31114 * include/grub/i386/pc/pci.h: Move from here ...
31115 * include/grub/i386/pci.h: ... to here.
31116
31117 * include/grub/i386/pc/pci.h: Remove.
31118 * include/grub/i386/efi/pci.h: Remove.
31119 * include/grub/x86_64/efi/pci.h: Remove.
31120
31121 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
31122 `<grub/cpu/pci.h>'.
31123
31124 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
31125 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
31126 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
31127
31128 * conf/i386-ieee1275.rmk: Likewise.
31129
e14a6184 311302008-08-03 Robert Millan <rmh@aybabtu.com>
31131
31132 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
31133 (grub_console_setcursor): Make it possible to set cursor off.
31134
52768e37 311352008-08-03 Robert Millan <rmh@aybabtu.com>
31136
31137 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
31138 of modules instead of assuming which platform provides what.
31139 * util/update-grub.in: Likewise.
31140
2d52f57f 311412008-08-03 Robert Millan <rmh@aybabtu.com>
31142
31143 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
31144 instead of `grub_install_dos_part' to determine whether a drive needs
31145 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 31146 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 31147
2a5cd121 311482008-08-02 Robert Millan <rmh@aybabtu.com>
31149
31150 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
31151
93808428 311522008-08-02 Robert Millan <rmh@aybabtu.com>
31153
31154 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
31155 of informational grub_dprintf() calls.
31156
3bd0a12a 311572008-08-02 Robert Millan <rmh@aybabtu.com>
31158
31159 * disk/memdisk.c (memdisk_size): Don't initialize.
31160 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
31161
31162 * include/grub/i386/pc/kernel.h
31163 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
31164 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
31165 (grub_memdisk_image_size, grub_arch_memdisk_addr)
31166 (grub_arch_memdisk_size): Remove.
31167
31168 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
31169 field (was only used to transfer a constant). Add `type' field to
31170 support multiple module types.
31171 (grub_module_iterate): New function.
31172
31173 * kern/device.c (grub_device_open): Do not hide error messages
31174 when grub_disk_open() fails. Use grub_print_error() instead.
31175
31176 * kern/i386/pc/init.c (grub_arch_modules_addr)
31177 (grub_arch_memdisk_size): Remove functions.
31178 (grub_arch_modules_addr): Return the module address in high memory
31179 (now that it isn't copied anymore).
31180
31181 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
31182 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
31183 decompression routine (grub_total_module_size already includes that
31184 now). Don't copy modules back to low memory.
31185
31186 * kern/main.c: Include `<grub/mm.h>'.
31187 (grub_load_modules): Split out (and use) ...
31188 (grub_module_iterate): ... this function, which iterates through
31189 module objects and runs a hook.
31190 Comment out grub_mm_init_region() call, as it would cause non-ELF
31191 modules to be overwritten.
31192
31193 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
31194 the memdisk image in its own region, make it part of the module list.
31195 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
31196 (main): Parse --memdisk|-m option, and pass user-provided path as
31197 parameter to generate_image().
31198 (add_segments): Pass `memdisk_path' down to load_modules().
31199 (load_modules): Embed memdisk image in module section when requested.
31200 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
31201 `header.type' instead of `header.offset'.
31202
31203 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
31204 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
31205 (memdisk_mod_LDFLAGS): New variables.
31206 * conf/i386-coreboot.rmk: Likewise.
31207 * conf/i386-ieee1275.rmk: Likewise.
31208
a927cc73 312092008-08-02 Robert Millan <rmh@aybabtu.com>
31210
31211 * loader/i386/pc/multiboot.c (playground, forward_relocator)
31212 (backward_relocator): New variables. Used to allocate and relocate
31213 the payload, respectively.
31214 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 31215 address, install the appropriate relocator code in each bound of
a927cc73 31216 the payload, and set the entry point such that
31217 grub_multiboot_real_boot() will jump to one of them.
31218
31219 * kern/i386/loader.S (grub_multiboot_payload_size)
31220 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
31221 (grub_multiboot_payload_entry_offset): New variables.
31222 (grub_multiboot_real_boot): Set cpu context to what the relocator
31223 expects, and jump to the relocator instead of the payload.
31224
31225 * include/grub/i386/loader.h (grub_multiboot_payload_size)
31226 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
31227 (grub_multiboot_payload_entry_offset): Export.
31228
b15d8a0c 312292008-08-01 Bean <bean123ch@gmail.com>
31230
31231 * normal/menu_entry.c (editor_getline): Don't return the original
31232 string as result, as it will be released by lexer once it has done
31233 using it.
31234
cdfb3d22 312352008-08-01 Robert Millan <rmh@aybabtu.com>
31236
31237 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
31238 within menuentries, not before them.
31239 util/grub.d/10_hurd.in: Likewise.
31240
9175e93d 312412008-08-01 Bean <bean123ch@gmail.com>
31242
31243 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
31244 (bufio_mod_SOURCES): New macro.
31245 (bufio_mod_CFLAGS): Likewise.
31246 (bufio_mod_LDFLAGS): Likewise.
31247
31248 * include/grub/bufio.h: New file.
31249
31250 * io/bufio.c: Likewise.
31251
31252 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
31253 (grub_video_reader_png): Use grub_buffile_open to open file.
31254
31255 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
31256 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
31257
31258 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
31259 (grub_video_reader_tga): Use grub_buffile_open to open file.
31260
31261 * font/manager.c: Include <grub/bufio.h>.
31262 (add_font): Use grub_buffile_open to open file.
31263
3d8383e7 312642008-07-31 Robert Millan <rmh@aybabtu.com>
31265
31266 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
31267 ELF segments, use a macro for arbitrarily accessing any of them instead
31268 of preparing a pointer that allows access to one at a time.
31269 (grub_multiboot_load_elf64): Likewise.
31270
16e641b6 312712008-07-31 Bean <bean123ch@gmail.com>
31272
31273 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
31274 GRUB_KERNEL_MACHINE_DATA_END.
31275
59198b72 312762008-07-30 Robert Millan <rmh@aybabtu.com>
31277
31278 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
31279 Increase from 0x50 to 0x60.
31280 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
31281 use UUIDs to identify the root drive for them. If that's not
31282 possible, abort.
31283 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
31284 check, for cross-disk installs.
31285
ae88bca3 312862008-07-30 Robert Millan <rmh@aybabtu.com>
31287
31288 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
31289 is non-empty, use it to set the `prefix' environment variable instead
31290 of the usual approach.
31291 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
31292 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
31293 environment variable instead of dummy make_install_device().
31294
31295 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
31296 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 31297 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 31298
31299 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
31300 New variable reference.
31301 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
31302 New macro. Defines offset of `grub_prefix' within startup.S (relative
31303 to `start').
31304 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
31305 section within startup.S (relative to `start').
31306 * include/grub/i386/coreboot/kernel.h: Likewise.
31307
31308 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
31309 Overwrite grub_prefix with its contents, at the beginning of the
31310 first segment.
31311 (main): Understand -p|--prefix.
31312
14f41dd1 313132008-07-30 Robert Millan <rmh@aybabtu.com>
31314
31315 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
31316
4ca049a3 313172008-07-30 Robert Millan <rmh@aybabtu.com>
31318
31319 * term/i386/pc/vga_text.c (grub_console_cls): Use
31320 grub_console_gotoxy() to go back to beginning of the screen.
31321 Found by Patrick Georgi <patrick.georgi@coresystems.de>
31322
2921d337 313232008-07-29 Christian Franke <franke@computer.org>
31324
31325 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
31326 Add conversion of emulated mount points on Cygwin.
31327
b609876d 313282008-07-29 Christian Franke <franke@computer.org>
31329
31330 * util/update-grub.in: Add a check for admin
31331 group on Cygwin.
31332 Remove old `grub.cfg.new' before creation.
31333 Add `-f' to `mv' to handle the different filesystem
31334 semantics of Windows.
31335
e93e4679 313362008-07-29 Bean <bean123ch@gmail.com>
31337
31338 * normal/main.c (get_line): Fix buffer overflow bug.
31339
41694fd0 313402008-07-28 Robert Millan <rmh@aybabtu.com>
31341
31342 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
31343 (struct grub_apple_header): New struct. Describes the layout of
31344 the partmap header.
31345 (apple_partition_map_iterate): Check the header magic as well as the
31346 partition magic (which was already being checked).
31347
cfd0b4e6 313482008-07-28 Pavel Roskin <proski@gnu.org>
31349
31350 * genmk.rb: Add a warning to the beginning of the output that
31351 it's a generated file and should not be edited.
31352
93cce016 313532008-07-28 Robert Millan <rmh@aybabtu.com>
31354
31355 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31356 with the same number are found, just use issue a warning with
31357 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 31358
cd1df915 313592008-07-27 Robert Millan <rmh@aybabtu.com>
31360
31361 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
31362 information.
31363
b70a8427 313642008-07-27 Bean <bean123ch@gmail.com>
31365
31366 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
31367 (grub_fat_find_dir): Ignore case when comparing filename.
31368
8f5e379f 313692008-07-27 Bean <bean123ch@gmail.com>
31370
31371 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
31372 smallino, as it's more descriptive, and i8count can be confused with
31373 the other field count.
31374 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
31375 inode type.
31376
a85cd5a0 313772008-07-27 Bean <bean123ch@gmail.com>
31378
31379 * commands/crc.c: New file.
31380
31381 * lib/crc.c: Likewise.
31382
31383 * include/grub/lib/crc.h: Likewise.
31384
31385 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
31386
31387 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
31388 (hexdump): Move this function to ...
31389
31390 * lib/hexdump.c: ... here.
31391
31392 * include/grub/hexdump.h: Renamed to ...
31393
31394 * include/grub/lib/hexdump.h: ... this.
31395
31396 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
31397
31398 * util/grub-editenv.c: Likewise.
31399
31400 * include/envblk.h: Renamed to ...
31401
31402 * include/lib/envblk.h: ... this.
31403
31404 * util/envblk.c: Renamed to ...
31405
31406 * lib/envblk.c: ... this.
31407
31408 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
31409 lib/hexdump.c.
31410 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
31411 (pkglib_MODULES): Add crc.mod.
31412 (hexdump_mod_SOURCES): Add lib/hexdump.c.
31413 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
31414 (crc_mod_SOURCES): New macro.
31415 (crc_mod_CFLAGS): Likewise.
31416 (crc_mod_LDFLAGS): Likewise.
31417
31418 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
31419
31420 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31421
31422 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31423
31424 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31425
31426 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31427
c298def0 314282008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 31429
31430 * commands/help.c: Include <grub/term.h>.
31431 (TERM_WIDTH): Removed. Updated all users.
31432
cc349fb3 314332008-07-27 Pavel Roskin <proski@gnu.org>
31434
31435 * util/getroot.c (find_root_device): Rephrase a comment to avoid
31436 spurious warnings about a comment within a comment.
31437
9051607e 314382008-07-25 Robert Millan <rmh@aybabtu.com>
31439
31440 * util/getroot.c (find_root_device): Skip devices that match
31441 /dev/dm-[0-9]. This lets the real device be found for any type of
31442 abstraction (LVM, EVMS, RAID..).
31443 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
31444 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
31445 device is found first, find_root_device() will now skip it.
31446
01453bfc 314472008-07-24 Pavel Roskin <proski@gnu.org>
31448
31449 * include/grub/types.h: Use __builtin_bswap32() and
31450 __builtin_bswap64() with gcc 4.3 and newer.
31451
6af9849f 314522008-07-24 Christian Franke <franke@computer.org>
31453
3a0fa256 31454 * util/i386/pc/grub-install.in: If `--debug' is specified,
31455 pass `--verbose' to grub-setup.
31456 Abort script if make_system_path_relative_to_its_root() fails.
31457
7810e747 314582008-07-24 Bean <bean123ch@gmail.com>
31459
31460 * configure.ac: Fixed a bug caused by the previous cygwin patch,
31461 variable `target_platform' should be `platform'.
31462
42290e17 314632008-07-24 Bean <bean123ch@gmail.com>
31464
51cc5193 31465 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 31466 (grub_png_init_fixed_block): New function.
31467 (grub_png_decode_image_data): Handle fixed huffman code compression.
31468
2a8a80e4 314692008-07-24 Bean <bean123ch@gmail.com>
31470
31471 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
31472 (grub_pe2elf_SOURCES): New macro.
31473 (CLEANFILES): Add grub-pe2elf.
31474
31475 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
31476 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
31477 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
31478 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
31479 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
31480 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
31481 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
31482 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
31483 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
31484 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
31485 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
31486 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
31487 (GRUB_PE32_DT_FUNCTION): Likewise.
31488 (GRUB_PE32_REL_I386_DIR32): Likewise.
31489 (GRUB_PE32_REL_I386_REL32): Likewise.
31490 (grub_pe32_symbol): New structure.
31491 (grub_pe32_reloc): Likewise.
31492
31493 * util/grub-pe2elf.c: New file.
31494
31495 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
31496 start symbol in non pc platform.
31497
31498 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
31499
31500 The following patches are from Christian Franke.
31501
31502 * include/grub/dl.h: Remove .previous, gas supports this only
31503 for ELF format.
31504
31505 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
31506 Remove .type, gas supports this only for ELF format.
31507
31508 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
31509 nullbytes in symbol table. This fixes an infinite loop if table is
31510 zero filled.
31511
31512 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
31513 TARGET_IMG_LDFLAGS and EXEEXT.
31514
31515 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
31516 TARGET_IMG_LDFLAGS_AC.
31517 (grub_CHECK_STACK_ARG_PROBE): New function.
31518
31519 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
31520
31521 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
31522
31523 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
31524 to set TARGET_IMG_LD* accordingly.
31525 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
31526 Add call to grub_CHECK_STACK_ARG_PROBE.
31527 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
31528
31529 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
31530
31531 * genmk.rb: Add EXEEXT to CLEANFILES.
31532
12ccdb75 315332008-07-23 Robert Millan <rmh@aybabtu.com>
31534
31535 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
31536 define the codes for arrows and lines used for the menu).
31537 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
31538 as well.
31539
31540 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
31541 fonts, because the latter are too slow.
31542
18eeaf04 315432008-07-21 Bean <bean123ch@gmail.com>
31544
31545 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
31546 a20. Run keyboard test last, as it will cause macbook to halt.
31547
b095e2ad 315482008-07-18 Pavel Roskin <proski@gnu.org>
31549
31550 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
31551 load foreign architecture modules correctly anyway. Keep
31552 support for loading host architecture modules, whether we
31553 compile them or not.
31554
737feb35 315552008-07-17 Pavel Roskin <proski@gnu.org>
31556
3f4ce737 31557 * configure.ac: Use -m32 or -m64 regardless of whether we had to
31558 change target_cpu. The compiler default can mismatch target_cpu
31559 in any case.
31560
4ad2d049 31561 * disk/efi/efidisk.c: Fix format warnings on x86_64.
31562 * kern/efi/efi.c: Likewise.
31563
f6130a12 31564 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
31565 target compiler is functional.
31566 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
31567 are set up.
31568
58393a2d 31569 * configure.ac: Default to efi platform for x86_64-apple. Allow
31570 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
31571 adjustments from the rest, only do them if target is not
31572 explicitly given. Merge other adjustments with the final sanity
31573 check. Remove an extraneous check for supported CPU. Be
31574 specific which CPU and which platform is not supported.
31575
737feb35 31576 * configure.ac: Default to pc platform for x86_64.
31577
546f966a 315782008-07-17 Robert Millan <rmh@aybabtu.com>
31579
31580 Partial LinuxBIOS -> Coreboot rename.
31581
31582 * conf/i386-linuxbios.rmk: Renamed to ...
31583 * conf/i386-coreboot.rmk: ... this.
31584 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
31585 * configure.ac: Accept "coreboot" as input platform (but maintain
31586 compatibility with "linuxbios").
31587 * include/grub/i386/linuxbios: Renamed to ...
31588 * include/grub/i386/coreboot: ... this.
31589
20011694 315902008-07-17 Bean <bean123ch@gmail.com>
31591
31592 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 31593 (appleldr_mod_SOURCE): New variable.
20011694 31594 (appleldr_mod_CFLAGS): Likewise.
31595 (appleldr_mod_LDFLAGS): Likewise.
31596 (pci_mod_SOURCES): Likewise.
31597 (pci_mod_CFLAGS): Likewise.
31598 (pci_mod_LDFLAGS): Likewise.
31599 (lspci_mod_SOURCES): Likewise.
31600 (lspci_mod_CFLAGS): Likewise.
31601 (lspci_mod_LDFLAGS): Likewise.
31602
31603 * conf/x86_64-efi.rmk: New file.
31604
31605 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
31606 macro.
31607 (grub_efidisk_write): Likewise.
31608
31609 * include/efi/api.h (efi_call_0): New macro.
31610 (efi_call_1): Likewise.
31611 (efi_call_2): Likewise.
31612 (efi_call_3): Likewise.
31613 (efi_call_4): Likewise.
31614 (efi_call_5): Likewise.
31615 (efi_call_6): Likewise.
31616
31617 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
31618 grub_rescue_cmd_chainloader.
31619
31620 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
31621 (grub_pe32_optional_header): Change some fields based on i386 or
31622 x86_64 platform.
31623 (GRUB_PE32_PE32_MAGIC): Likewise.
31624
31625 * include/grub/efi/uga_draw.h: New file.
31626
31627 * include/grub/elf.h (STN_ABS): New constant.
31628 (R_X86_64_NONE): Relocation constant for x86_64.
31629 (R_X86_64_64): Likewise.
31630 (R_X86_64_PC32): Likewise.
31631 (R_X86_64_GOT32): Likewise.
31632 (R_X86_64_PLT32): Likewise.
31633 (R_X86_64_COPY): Likewise.
31634 (R_X86_64_GLOB_DAT): Likewise.
31635 (R_X86_64_JUMP_SLOT): Likewise.
31636 (R_X86_64_RELATIVE): Likewise.
31637 (R_X86_64_GOTPCREL): Likewise.
31638 (R_X86_64_32): Likewise.
31639 (R_X86_64_32S): Likewise.
31640 (R_X86_64_16): Likewise.
31641 (R_X86_64_PC16): Likewise.
31642 (R_X86_64_8): Likewise.
31643 (R_X86_64_PC8): Likewise.
31644
31645 * include/grub/i386/efi/pci.h: New file.
31646
31647 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
31648 Change it value based on platform.
31649 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
31650 (GRUB_E820_RAM): Likewise.
31651 (GRUB_E820_RESERVED): Likewise.
31652 (GRUB_E820_ACPI): Likewise.
31653 (GRUB_E820_NVS): Likewise.
31654 (GRUB_E820_EXEC_CODE): Likewise.
31655 (GRUB_E820_MAX_ENTRY): Likewise.
31656 (grub_e820_mmap): New structure.
31657 (linux_kernel_header): Change the efi field according to different
31658 kernel version, also field from linux_kernel_header.
31659
31660 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
31661
31662 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
31663 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
31664 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
31665 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
31666 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
31667 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
31668 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
31669 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
31670 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
31671 (GRUB_PCI_ADDR_IO_MASK): Likewise.
31672
31673 * include/grub/x86_64/efi/kernel.h: New file.
31674
31675 * include/grub/x86_64/efi/loader.h: Likewise.
31676
31677 * include/grub/x86_64/efi/machine.h: Likewise.
31678
31679 * include/grub/x86_64/efi/pci.h: Likewise.
31680
31681 * include/grub/x86_64/efi/time.h: Likewise.
31682
31683 * include/grub/x86_64/linux.h: Likewise.
31684
31685 * include/grub/x86_64/setjmp.h: Likewise.
31686
31687 * include/grub/x86_64/time.h: Likewise.
31688
31689 * include/grub/x86_64/types.h: Likewise.
31690
31691 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
31692 GRUB_TARGET_SIZEOF_VOID_P.
31693
31694 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
31695 (grub_efi_locate_handle): Likewise.
31696 (grub_efi_open_protocol): Likewise.
31697 (grub_efi_set_text_mode): Likewise.
31698 (grub_efi_stall): Likewise.
31699 (grub_exit): Likewise.
31700 (grub_reboot): Likewise.
31701 (grub_halt): Likewise.
31702 (grub_efi_exit_boot_services): Likewise.
31703 (grub_get_rtc): Likewise.
31704
31705 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
31706 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
31707 (grub_efi_allocate_pages): Wrap efi calls.
31708 (grub_efi_free_pages): Wrap efi calls.
31709 (grub_efi_get_memory_map): Wrap efi calls.
31710
31711 * kern/x86_64/dl.c: New file.
31712
31713 * kern/x86_64/efi/callwrap.S: Likewise.
31714
31715 * kern/x86_64/efi/startup.S: Likewise.
31716
31717 * loader/efi/appleloader.c: Likewise.
31718
31719 * loader/efi/chainloader.c (cmdline): New variable.
31720 (grub_chainloader_unload): Wrap efi calls.
31721 (grub_chainloader_boot): Likewise.
31722 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
31723 command line.
31724
31725 * loader/efi/chainloader_normal.c (chainloader_command):
31726 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
31727 command line.
31728
31729 * loader/i386/efi/linux.c (allocate_pages): Change allocation
31730 method.
31731 (grub_e820_add_region): New function.
31732 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
31733 booting.
31734 (grub_find_video_card): New function.
31735 (grub_linux_setup_video): New function.
31736 (grub_rescue_cmd_linux): Probe for video information.
31737
31738 * normal/x86_64/setjmp.S: New file.
31739
31740 * term/efi/console.c (map_char): New function.
31741 (grub_console_putchar): Map unicode char.
31742 (grub_console_checkkey): Wrap efi calls.
31743 (grub_console_getkey): Likewise.
31744 (grub_console_getwh): Likewise.
31745 (grub_console_gotoxy): Likewise.
31746 (grub_console_cls): Likewise.
31747 (grub_console_setcolorstate): Likewise.
31748 (grub_console_setcursor): Likewise.
31749
31750 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
31751
59652a20 317522008-07-16 Pavel Roskin <proski@gnu.org>
31753
ef294055 31754 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
31755 format strings.
31756
59652a20 31757 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
31758 pointer, not an integer. This fixes a warning and prevents
31759 precision loss on 64-bit systems.
31760 (relocate_addresses): Remove unneeded cast.
31761
afc3b5d7 317622008-07-15 Pavel Roskin <proski@gnu.org>
31763
506b2b3e 31764 * kern/i386/ieee1275/init.c: Include grub/cache.h.
31765
62ead89c 31766 * term/ieee1275/ofconsole.c: Disable code unused on i386.
31767
c4cd51d7 31768 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
31769 Fix comparison between signed and unsigned.
31770
0d3d8f28 31771 * include/grub/i386/ieee1275/console.h: Declare
31772 grub_console_init() and grub_console_fini().
31773
8804b286 31774 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
31775 It's empty and unused.
31776
ee01cf35 31777 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
31778 beginning to avoid warnings with some compilers.
31779
afc3b5d7 31780 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
31781 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
31782
e4e8eaa5 317832008-07-14 Pavel Roskin <proski@gnu.org>
31784
407aceb4 31785 * kern/env.c (grub_register_variable_hook): Don't copy empty
31786 string, it leaks memory. Pass "" to grub_env_set(), it should
31787 handle constant strings.
31788
e4e8eaa5 31789 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
31790 * commands/cmp.c (grub_cmd_cmp): Likewise.
31791 * kern/dl.c (grub_dl_flush_cache): Likewise.
31792 (grub_dl_load_core): Likewise.
31793 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
31794 (grub_elf64_load_phdrs): Likewise.
31795
d4e2dad3 317962008-07-13 Pavel Roskin <proski@gnu.org>
31797
31798 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
31799 between signed and unsigned.
31800 (LzmaEnc_Finish): Fix warning about an unused parameter.
31801
aa24b516 318022008-07-13 Bean <bean123ch@gmail.com>
31803
31804 * Makefile.in (enable_lzo): New rule.
31805
31806 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
31807
31808 * configure.ac (ENABLE_LZO): New option --enable-lzo.
31809
31810 * boot/i386/pc/lnxboot.S: #include <config.h>.
31811
31812 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 31813 its value according to the compression algorithm used, lzo or lzma.
aa24b516 31814
31815 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
31816 compression algorithm according to configure macro.
31817
31818 * kern/i386/pc/startup.S (codestart): Likewise.
31819
31820 * kern/i386/pc/lzma_decode.S: New file.
31821
31822 * include/grub/lib/LzFind.h: Likewise.
31823
31824 * include/grub/lib/LzHash.h: Likewise.
31825
31826 * include/grub/lib/LzmaDec.h: Likewise.
31827
31828 * include/grub/lib/LzmaEnc.h: Likewise.
31829
31830 * include/grub/lib/LzmaTypes.h: Likewise.
31831
31832 * lib/LzFind.c: Likewise.
31833
31834 * lib/LzmaDec.c: Likewise.
31835
31836 * lib/LzmaEnc.c: Likewise.
31837
4ae821ac 318382008-07-13 Bean <bean123ch@gmail.com>
31839
31840 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
31841 (grub_ext4_extent_header): New structure.
31842 (grub_ext4_extent): Likewise.
31843 (grub_ext4_extent_idx): Likewise.
31844 (grub_ext4_find_leaf): New function.
31845 (grub_ext2_read_block): Handle extents.
31846
9a745147 318472008-07-12 Robert Millan <rmh@aybabtu.com>
31848
31849 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
31850
d49a4cf6 318512008-07-11 Robert Millan <rmh@aybabtu.com>
31852
31853 * util/grub.d/40_custom.in: New file. Example on how to add custom
31854 entries to /etc/grub.d.
31855 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
31856 40_custom (implicitly, by merging all the grub.d rules).
31857
947414b4 318582008-07-11 Pavel Roskin <proski@gnu.org>
31859
0059cf6f 31860 * commands/read.c (grub_getline): Fix invalid memory access.
31861 Don't add newline to the variable value.
31862
947414b4 31863 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
31864 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
31865 (serial_hw_get_port): Check validity of the port number.
31866 (grub_cmd_serial): Check return value of serial_hw_get_port().
31867
62a02d00 318682008-07-07 Pavel Roskin <proski@gnu.org>
31869
31870 * boot/i386/pc/diskboot.S (notification_string): Replace
31871 "Loading kernel" with just "loading". This is shorter, less
31872 confusing and saves a few bytes for possible future changes.
31873
3e5581b0 318742008-07-05 Pavel Roskin <proski@gnu.org>
31875
ea387a48 31876 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
31877 size for ATAPI devices, they are undefined. Output sector
31878 number in decimal form.
31879
3e5581b0 31880 * disk/ata.c: Use named constants for status bits.
31881
fdecb8fd 318822008-07-04 Pavel Roskin <proski@gnu.org>
31883
bcd35b90 31884 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
31885 grub_addr_t before casting it to the void pointer to fix a
31886 warning. Non-addressable regions are discarded earlier.
31887 (grub_arch_modules_addr): Cast _end to grub_addr_t.
31888 * kern/i386/linuxbios/table.c: Include grub/misc.h.
31889 (check_signature): Don't shadow table_header.
31890 (grub_linuxbios_table_iterate): Cast numeric constants to
31891 grub_linuxbios_table_header_t.
31892 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
31893 grub_stop().
31894
af58ab3d 31895 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
31896 prevent warnings.
31897
1759aa57 31898 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
31899 pointer, which can cause warnings. Support 64-bit addresses.
31900
fdecb8fd 31901 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
31902 of sizeof(long). This fixes PowerPC image generation on x86_64.
31903
8516d2a8 319042008-07-04 Robert Millan <rmh@aybabtu.com>
31905
31906 This fixes a performance issue when pc & gpt partmap iterators
31907 didn't abort iteration even after our hook found what it was
fe987087 31908 looking for (often causing expensive probes of non-existent drives).
8516d2a8 31909
31910 Some callers relied on previous buggy behaviour, since they would
34c44600 31911 raise an error when their own hooks caused early abortion of its
8516d2a8 31912 iteration.
31913
31914 * kern/device.c (grub_device_open): Improve error message.
31915 * disk/lvm.c (grub_lvm_open): Likewise.
31916 * disk/raid.c (grub_raid_open): Likewise.
31917
31918 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
31919 when hook requests it, independently of grub_errno.
31920 (pc_partition_map_probe): Do not fail when find_func() caused
31921 early abortion of pc_partition_map_iterate().
31922
31923 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
31924 when hook requests it, independently of grub_errno.
31925 (gpt_partition_map_probe): Do not fail when find_func() caused
31926 early abortion of gpt_partition_map_iterate().
31927
31928 * kern/partition.c (grub_partition_iterate): Abort parent iteration
31929 when hook requests it, independently of grub_errno. Do not fail when
31930 part_map_iterate_hook() caused early abortion of p->iterate().
31931
31932 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
31933 when grub_partition_iterate() returned with non-zero.
31934
277d0de9 319352008-07-03 Pavel Roskin <proski@gnu.org>
31936
31937 * disk/ata.c (grub_ata_pio_write): Check status before writing,
31938 like we do in grub_ata_pio_read().
31939 (grub_ata_readwrite): Always write individual sectors. Fix the
31940 sector count for the remainder.
31941 (grub_ata_write): Enable writing to ATA devices. Correctly
31942 report error for ATAPI devices.
31943
d4c9b428 319442008-07-02 Pavel Roskin <proski@gnu.org>
31945
e43fc690 31946 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
31947 warning.
31948
f707af42 31949 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
31950 for every read sector, we already increment it for the whole
31951 batch. This fixes reading more than 256 sectors at once.
31952
11e16b15 31953 * util/grub-editenv.c (cmd_info): Cast argument to long
31954 explicitly. ptrdiff_t reduces to int on i386.
31955
cbabfdd4 31956 * util/grub-editenv.c (main): Be specific which parameter is
31957 missing.
31958
b8fbce0a 31959 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
31960 (memdisk): Make memdisk_orig_addr a pointer.
31961
c9c8e606 31962 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
31963 for file offsets, use grub_off_t instead. Fix printf format
31964 warnings.
31965
ca62e598 31966 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
31967 there. Real unexpected warnings should not drown in the noise
31968 about known problems.
31969
ce8d1766 31970 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
31971 grub_disk_addr_t for memory addresses.
31972
00c7a56a 31973 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
31974 explicitly to fix a warning.
31975
08d3ef09 31976 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
31977
cb71ba20 31978 * Makefile.in (MODULE_LDFLAGS): New variable.
31979 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
31980 the linker accepts --build-id=none.
31981 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
31982 MODULE_LDFLAGS.
31983 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
31984
d4c9b428 31985 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
31986 those in Linux XFS code. Provide a way to access 64-bit parent
31987 inode.
31988 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
31989 the end of struct grub_xfs_dir_header.
31990
d4156eee 319912008-07-02 Bean <bean123ch@gmail.com>
31992
31993 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
31994 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31995 and GRUB_IEEE1275_FLAG_NO_ANSI.
31996
31997 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
31998 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31999 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
32000
32001 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
32002 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
32003
32004 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
32005 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
32006
32007 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
32008 esc sequence on non ANSI terminal.
32009 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
32010
32011 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
32012 beginning of file.
32013
2270f77b 320142008-07-02 Bean <bean123ch@gmail.com>
32015
32016 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
32017 (grub_editenv_SOURCES): New variable.
32018 (pkglib_MODULES): Add loadenv.mod.
32019 (loadenv_mod_SOURCES): New variable.
32020 (loadenv_mod_CFLAGS): Likewise.
32021 (loadenv_mod_LDFLAGS): Likewise.
32022
32023 * include/grub/envblk.h: New file.
32024
32025 * util/envblk.c: New file.
32026
32027 * util/grub-editenv.c: New file.
32028
32029 * commands/loadenv.c: New file.
32030
0e9e51ec 320312008-07-01 Pavel Roskin <proski@gnu.org>
32032
d89b7634 32033 * include/multiboot2.h (struct multiboot_tag_module): Use char,
32034 not unsigned char. This fixes warnings and is consistent with
32035 other tags.
32036
bf1835b1 32037 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
32038
8222a04b 32039 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
32040
6a42d99d 32041 * term/tparm.c (analyze): Always set *popcount.
32042
10b159d1 32043 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
32044 cast to fix a warning.
32045
b8789f6c 32046 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
32047 cast to suppress a warning.
32048
29d7e38a 32049 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
32050 grub_fshelp_read_file() expects.
32051
f341f669 32052 * fs/fat.c: Fix UUID calculation on big-endian systems. We
32053 write uuid as a 32-bit value in CPU byte order, so declare and
32054 use it as such.
32055
0e9e51ec 32056 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
32057 long if the format specifier expects it.
32058 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
32059 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32060 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
32061 long to fix a warning.
32062 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
32063 grub_dprintf() arguments to fix warnings.
32064
3aefa857 320652008-06-30 Pavel Roskin <proski@gnu.org>
32066
56c7668b 32067 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
32068 install_bsd_part immediately before core.img is embedded or
32069 modified on disk. This fixes core.img verification if core.img
32070 cannot be embedded.
32071
3aefa857 32072 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
32073 core_path to calculate the blocklist.
32074 Patch from Javier Martín <lordhabbit@gmail.com>
32075
5444088d 320762008-06-29 Robert Millan <rmh@aybabtu.com>
32077
32078 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
32079 block to disk block.
32080 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
32081 Patch from Niels Böhm <bitbucket@arcor.de>
32082
674835c8 320832008-06-29 Robert Millan <rmh@aybabtu.com>
32084
32085 * util/update-grub_lib.in (font_path): Search for fonts in
32086 /boot/grub first, which is more likely to be readable (we aren't
32087 deciding where fonts live, just looking for them).
32088
f527dbc8 320892008-06-26 Pavel Roskin <proski@gnu.org>
32090
6c2d8df6 32091 * util/biosdisk.c (read_device_map): Don't leave dead map
32092 entries for devices failing stat() check.
32093
f527dbc8 32094 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
32095 core_path_dev for the core.img path on the target device.
32096
aebe3d13 320972008-06-26 Robert Millan <rmh@aybabtu.com>
32098
32099 * disk/fs_uuid.c: New file.
32100 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
32101 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
32102 (fs_uuid_mod_LDFLAGS): New variables.
32103 * include/grub/disk.h (grub_disk_dev_id): Add
32104 `GRUB_DISK_DEVICE_UUID_ID'.
32105 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
32106 implement iterate().
32107
37aaf354 321082008-06-26 Robert Millan <rmh@aybabtu.com>
32109
32110 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
32111 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
32112 Linux image includes no initrd.
32113
25ff262a 321142008-06-21 Javier Martín <lordhabbit@gmail.com>
32115
32116 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
32117 call to resolve the core image location that effectively appended the
32118 name twice.
32119
76a2bd44 321202008-06-21 Robert Millan <rmh@aybabtu.com>
32121
32122 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
32123 call from here ...
32124
32125 * util/grub.d/10_hurd.in: ... to here ...
32126 * util/grub.d/10_linux.in: ... and here.
32127
650e1c79 321282008-06-19 Robert Millan <rmh@aybabtu.com>
32129
fe987087 32130 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 32131 after it has been set by grub_machine_set_prefix().
32132
6ce63911 321332008-06-19 Robert Millan <rmh@aybabtu.com>
32134
32135 * commands/search.c (search_label, search_fs_uuid, search_file): Print
32136 search result when not saving to variable, not the other way around.
32137 When saving to variable, abort iteration as soon as a match is found.
32138
73940cec 321392008-06-19 Robert Millan <rmh@aybabtu.com>
32140
32141 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
32142 check for partition that provides /boot/grub. Its logic is flawed,
32143 as it prevents prepare_grub_to_access_device() from being called
32144 multiple times.
32145
3c62a39d 321462008-06-19 Robert Millan <rmh@aybabtu.com>
32147
32148 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
32149 "insmod" command directly when abstraction modules are needed,
fe987087 32150 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 32151 since it had already been processed).
32152
47395a42 321532008-06-19 Pavel Roskin <proski@gnu.org>
32154
32155 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
32156 changed. This is needed in case GRUB_LIBDIR changes.
32157 * conf/i386-ieee1275.rmk: Likewise.
32158 * conf/i386-linuxbios.rmk: Likewise.
32159 * conf/i386-pc.rmk: Likewise.
32160 * conf/powerpc-ieee1275.rmk: Likewise.
32161
a145ac2d 321622008-06-18 Pavel Roskin <proski@gnu.org>
32163
32164 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
32165 kernel_elf_symlist.c to symlist.c for consistency with other
32166 architectures. Update all users.
32167 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32168
7847c51e 321692008-06-18 Robert Millan <rmh@aybabtu.com>
32170
32171 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
32172 it in prefix.
32173
32174 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
32175 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
32176 a RAID device, run setup() for all members independently on whether
32177 LVM abstraction is being used.
32178 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
32179 If grub-mkimage has set `*install_dos_part == -2', don't override this
32180 value.
32181 Perform *install_dos_part adjustments independently on whether
32182 we're embedding or not.
32183 Clarify error message when image is too big for embedding.
32184 Remove duplicate *install_dos_part stanza.
32185
b23e5644 321862008-06-17 Robert Millan <rmh@aybabtu.com>
32187
32188 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
32189 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
32190 variables.
32191 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
32192 values in grub_ofconsole_normal_color and
32193 grub_ofconsole_highlight_color (they're not directly related to
32194 background and foreground).
32195 (grub_ofconsole_setcolorstate): Extract background and foreground
32196 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
32197
0aac2f79 321982008-06-17 Robert Millan <rmh@aybabtu.com>
32199
32200 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
32201 /boot/grub for the check in last commit, not /boot (they could be
32202 different partitions).
32203
3cca7ef3 322042008-06-16 Robert Millan <rmh@aybabtu.com>
32205
32206 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
32207 asked to setup access for the same partition that provides /boot,
32208 don't bother using UUIDs since our root already has the value we
32209 want.
32210
347396d8 322112008-06-16 Robert Millan <rmh@aybabtu.com>
32212
32213 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
32214 I2O devices.
32215 Patch from Sven Mueller <sven@debian.org>.
32216
991477f8 322172008-06-16 Robert Millan <rmh@aybabtu.com>
32218
32219 * util/update-grub.in: Check for $EUID instead of $UID.
32220 Reported by Vincent Zweije.
32221
d31a32a1 322222008-06-16 Bean <bean123ch@gmail.com>
32223
fe987087 32224 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 32225 (grub_ext2_read_block): Likewise.
32226 (grub_ext2_read_inode): Likewise.
32227 (grub_ext2_mount): Likewise.
32228 (grub_ext2_close): Likewise.
32229 (grub_ext3_get_journal): Removed.
32230
fe987087 32231 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 32232 (grub_reiserfs_read_symlink): Likewise.
32233 (grub_reiserfs_mount): Likewise.
32234 (grub_reiserfs_open): Likewise.
32235 (grub_reiserfs_read): Likewise.
32236 (grub_reiserfs_close): Likewise.
32237 (grub_reiserfs_get_journal): Removed.
32238
32239 * fs/fshelp.c (grub_fshelp_read): Removed.
32240 (grub_fshelp_map_block): Likewise.
32241
32242 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
32243 (grub_fshelp_journal): Likewise.
32244 (grub_fshelp_read): Likewise.
32245 (grub_fshelp_map_block): Likewise.
32246
3540a760 322472008-06-16 Pavel Roskin <proski@gnu.org>
32248
32249 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
32250 floating point anymore.
32251 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
32252
95614c84 322532008-06-15 Pavel Roskin <proski@gnu.org>
32254
32255 * commands/ls.c (grub_ls_list_files): Use integer calculations
32256 for human readable format, avoid floating point use.
32257 * kern/misc.c (grub_ftoa): Remove.
32258 (grub_vsprintf): Remove floating point support.
32259
50465dd6 322602008-06-15 Robert Millan <rmh@aybabtu.com>
32261
fe6b695a 32262 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 32263 devices.
32264 Reported by Max Vozeler.
32265
a9207284 322662008-06-15 Robert Millan <rmh@aybabtu.com>
32267
32268 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
32269 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
32270 skipped later.
32271 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
32272 the beginning of the prefix.
32273
32274 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
32275 It is assumed that if we have a memdisk, grub-mkimage has set
32276 grub_prefix to include the "(memdisk)" drive in it.
32277
a7cbd45a 322782008-06-15 Robert Millan <rmh@aybabtu.com>
32279
32280 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
32281 Initialize keyboard controller after registering the terminal, so that
32282 grub_printf() can be called from grub_keyboard_controller_init().
32283
21cf716a 322842008-06-15 Robert Millan <rmh@aybabtu.com>
32285
32286 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
32287 extent-btree which is written as big endian on disk.
32288 Reported by Alain Greppin <al@chilibi.org>.
32289
23a64d8e 322902008-06-14 Robert Millan <rmh@aybabtu.com>
32291
32292 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
32293 * util/i386/pc/grub-install.in (modules): Likewise.
32294
d687651c 322952008-06-13 Pavel Roskin <proski@gnu.org>
32296
32297 * commands/ls.c (grub_ls_list_files): Fix format warnings.
32298
dfe9ddd4 322992008-06-13 Bean <bean123ch@gmail.com>
32300
32301 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
32302
32303 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
32304
32305 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
32306 to indicate sparse block.
32307
16ae7781 323082008-06-12 Pavel Roskin <proski@gnu.org>
32309
e6d1a308 32310 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
32311 number, grub_fshelp_read() does it for us.
32312
16ae7781 32313 * fs/fshelp.c (grub_fshelp_read): New function. Implement
32314 linear disk read with journal translation.
32315 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
32316 * include/grub/fshelp.h: Declare grub_fshelp_read().
32317
40fd3a2b 323182008-06-09 Pavel Roskin <proski@gnu.org>
32319
32320 * fs/minix.c (grub_minix_mount): Handle error reading
32321 superblock.
32322
f5679726 323232008-06-08 Robert Millan <rmh@aybabtu.com>
32324
32325 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
32326 don't append the RAID prefix afterwards.
32327 Reported by Clint Adams.
32328
ce525529 323292008-06-08 Robert Millan <rmh@aybabtu.com>
32330
32331 Based on description from Pavel:
32332 * kern/disk.c (grub_disk_check_range): Rename to ...
32333 (grub_disk_adjust_range): ... this. Add a comment explaining the
32334 tasks performed by this function.
32335
ad4936a0 323362008-06-08 Robert Millan <rmh@aybabtu.com>
32337
32338 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
32339 `num_serial' (for consistency with other variables).
32340 (struct grub_ntfs_data): Add `uuid' member.
32341 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
32342 (grub_ntfs_uuid): New function.
32343 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
32344
dc20b0f9 323452008-06-07 Pavel Roskin <proski@gnu.org>
32346
32347 * util/biosdisk.c (open_device): Revert last change to the
32348 function, it broke installation. The sector needs to be
32349 different dependent on which device is opened.
32350
c5e3cfba 323512008-06-06 Robert Millan <rmh@aybabtu.com>
32352
32353 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
32354 rest of GRUB, and breakage doesn't happen if its value were modified.
32355
32356 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32357 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
32358 a constant (same value).
32359 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
32360 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
32361
26a1f8c4 323622008-06-06 Robert Millan <rmh@aybabtu.com>
32363
32364 * util/biosdisk.c (open_device): Do not modify sector offset when
32365 accessing a partition. kern/disk.c already handles this for us.
32366
25d6b327 323672008-06-06 Robert Millan <rmh@aybabtu.com>
32368
32369 * util/grub-emu.c (grub_machine_init): Move code in this function from
32370 here ...
32371 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
32372 segfault in case grub_printf() is called).
32373
32374 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
32375 grub_probe. Update all users not to explicitly add it again.
32376 (grub_device): New variable; contains corresponding device for grubdir.
32377 (fs_module, partmap_module, devabstraction_module): Pass
32378 `--device ${grub_device}' to grub_probe to avoid traversing /dev
32379 every time.
32380
9ece62fb 323812008-06-05 Robert Millan <rmh@aybabtu.com>
32382
32383 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
32384 is found, print it (same layout as with labels).
32385
1ad36d37 323862008-06-04 Robert Millan <rmh@aybabtu.com>
32387
32388 * util/biosdisk.c (get_drive): Rename to ...
32389 (find_grub_drive): ... this. Update all users.
32390
32391 (get_os_disk): Rename to ...
32392 (convert_system_partition_to_system_disk): ... this. Update all users.
32393
32394 (find_drive): Rename to ...
32395 (find_system_device): ... this. Update all users.
32396
e6a30859 323972008-06-04 Robert Millan <rmh@aybabtu.com>
32398
32399 * util/biosdisk.c (get_os_disk): Handle IDA devices.
32400 * util/grub-mkdevicemap.c (get_mmc_disk_name)
32401 (make_device_map): Likewise.
32402
00c108a4 324032008-06-01 Robert Millan <rmh@aybabtu.com>
32404
32405 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
32406 before dereferencing it.
32407
32408 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
32409 union with fat12/fat16-specific ones. Add some new fields, including
32410 `num_serial' for both versions.
32411 (struct grub_fat_data): Add `uuid' member.
32412 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
32413 names. Initialize `data->uuid' using `num_serial'.
32414 (grub_fat_uuid): New function.
32415 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
32416
32417 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
32418 (grub_reiserfs_uuid): New function.
32419 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
32420 member.
32421
32422 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
32423 (grub_xfs_uuid): New function.
32424 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
32425
1385c5bb 324262008-06-01 Robert Millan <rmh@aybabtu.com>
32427
32428 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
32429 code that is backward compatible with pre-uuid search command.
32430
c682dfd7 324312008-05-31 Robert Millan <rmh@aybabtu.com>
32432
32433 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
32434 floppies after everything else, to ensure floppy drive isn't accessed
32435 unnecessarily (patch from Bean).
32436
b7db5d47 324372008-05-31 Robert Millan <rmh@aybabtu.com>
32438
32439 * commands/search.c (search_label, search_fs_uuid, search_file): Do
32440 not print device names when we were asked to set a variable.
32441
6e037aa9 324422008-05-31 Robert Millan <rmh@aybabtu.com>
32443
32444 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
32445 using "cursor-on" and "cursor-off" commands (understood at least by
32446 the Open Firmware flavour on OLPC).
32447
41305bc8 324482008-05-31 Michael Gorven <michael@gorven.za.net>
32449
32450 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
32451 on and off sequences.
32452
69ba137e 324532008-05-31 Robert Millan <rmh@aybabtu.com>
32454
32455 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
32456 * util/update-grub.in: Likewise.
32457
520ae21b 324582008-05-30 Pavel Roskin <proski@gnu.org>
32459
32460 * util/biosdisk.c (linux_find_partition): Simplify logic and
32461 make the code more universal. Keep special processing for
32462 devfs, but use a simple rule for all other devices. If the
32463 device ends with a number, append 'p' and the partition number.
32464 Otherwise, append only the partition number.
32465
5786569b 324662008-05-30 Robert Millan <rmh@aybabtu.com>
32467
32468 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
32469 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
32470 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
32471 the `root' parameter to Linux.
32472
51500452 324732008-05-30 Robert Millan <rmh@aybabtu.com>
32474
32475 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
32476 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
32477 --fs_uuid with --fs-uuid.
32478 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
32479 all filesystems support them).
32480
811d3878 324812008-05-30 Robert Millan <rmh@aybabtu.com>
32482
32483 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 32484 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 32485
cab63c95 324862008-05-30 Robert Millan <rmh@aybabtu.com>
32487
32488 * util/grub.d/00_header.in: Remove obsolete comment referencing
32489 convert_system_path_to_grub_path().
32490 * util/update-grub.in: Likewise.
32491 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
32492 (convert_system_path_to_grub_path): Add a warning message explaining
32493 that this function is deprecated. Rely on is_path_readable_by_grub()
32494 for the readability checks.
32495 (font_path): Use is_path_readable_by_grub() for the readability
32496 check rather than convert_system_path_to_grub_path().
32497
972e2f7a 324982008-05-30 Robert Millan <rmh@aybabtu.com>
32499
32500 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
32501 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
32502 converting it first.
32503 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
32504 grub.cfg for access to font file, and afterwards call it again to set
32505 the root device.
32506
62191274 325072008-05-30 Robert Millan <rmh@aybabtu.com>
32508
32509 * commands/search.c (options): Add --fs_uuid option.
32510 (search_fs_uuid): New function.
32511 (grub_cmd_search): Fix --set argument passing.
32512 Use search_fs_uuid() when requested via --fs_uuid.
32513 (grub_search_init): Update help message.
32514 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
32515 and redeclare it as an array of 16-bit words.
32516 (grub_ext2_uuid): New function.
32517 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
32518 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
32519 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
32520 (GRUB_DEVICE_BOOT_UUID): New variables.
32521 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
32522 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
32523 whenever possible.
32524 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
32525 just assume `root' variable has the right value.
32526 * util/grub.d/10_linux.in: Likewise.
32527 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
32528 via PRINT_FS_UUID.
32529 (main): Recognise `-t fs_uuid' argument.
32530
01b73ec8 325312008-05-30 Robert Millan <rmh@aybabtu.com>
32532
32533 * util/biosdisk.c (map): Redefine structure to hold information
32534 about GRUB drive name.
fe6b695a 32535 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 32536 drive names.
32537 (call_hook): Remove.
32538 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
32539 member. Assume drive has partitions.
32540 (grub_util_biosdisk_open): Access device names via `.device' struct
32541 member.
32542 (open_device): Likewise.
32543 (find_drive): Likewise.
32544 (read_device_map): Adjust map[] usage to match the new struct
32545 definition. Don't check for duplicates (still possible, but not cheap
32546 anymore).
32547 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
32548 (make_device_name): Remove assumption of BIOS-like drive names.
32549
22f16596 325502008-05-30 Pavel Roskin <proski@gnu.org>
32551
32552 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
32553 compiling execute.c doesn't need grub_script.tab.h anymore.
32554 (normal/command.c_DEPENDENCIES): Likewise.
32555 (normal/function.c_DEPENDENCIES): Likewise.
32556 * conf/i386-ieee1275.rmk: Likewise.
32557 * conf/i386-linuxbios.rmk: Likewise.
32558 * conf/i386-pc.rmk: Likewise.
32559 * conf/powerpc-ieee1275.rmk: Likewise.
32560 * conf/sparc64-ieee1275.rmk: Likewise.
32561
528ad8f2 325622008-05-29 Pavel Roskin <proski@gnu.org>
32563
d1dff95d 32564 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
32565 when scanning metadata for volume group name.
32566
528ad8f2 32567 * include/grub/script.h: Don't include grub_script.tab.h. It's
32568 a generated file, which may only be included from the files with
32569 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
32570 use union YYSTYPE, as the later allows forward declaration.
32571 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
32572
47248e08 325732008-05-29 Robert Millan <rmh@aybabtu.com>
32574
32575 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
32576 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
32577 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
32578 (grub_console_checkkey): Add grub_dprintf() call to report unknown
32579 scan codes.
32580
ee632529 325812008-05-29 Robert Millan <rmh@aybabtu.com>
32582
32583 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
32584 control key combinations.
32585
eee96e08 325862008-05-29 Robert Millan <rmh@aybabtu.com>
32587
32588 * util/powerpc/ieee1275/grub-install.in: Move from here ...
32589 * util/ieee1275/grub-install.in: ... to here.
32590 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
32591 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
32592 (grub_install_SOURCES): Likewise.
32593
da9a6a94 325942008-05-29 Robert Millan <rmh@aybabtu.com>
32595
32596 * fs/affs.c: Update copyright year.
32597 * fs/ext2.c: Likewise.
32598 * fs/fshelp.c: Likewise.
32599 * fs/hfsplus.c: Likewise.
32600 * fs/ntfs.c: Likewise.
32601 * fs/xfs.c: Likewise.
32602 * include/grub/fshelp.h: Likewise.
32603 * util/grub-mkdevicemap.c: Likewise.
32604
12e65f3a 326052008-05-28 Robert Millan <rmh@aybabtu.com>
32606
32607 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
32608 might need to be fatfs to support some firmware implementations
32609 (e.g. OFW or EFI).
32610
23023641 326112008-05-28 Robert Millan <rmh@aybabtu.com>
32612
32613 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
32614 devices.
32615 * util/grub-mkdevicemap.c (get_mmc_disk_name)
32616 (make_device_map): Likewise.
32617
887d2619 326182008-05-20 Bean <bean123ch@gmail.com>
32619
32620 * fs/fshelp.c (grub_fshelp_map_block): New function.
32621 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
32622 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
32623
32624 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
32625 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
32626 (grub_fshelp_journal): New structure.
32627 (grub_fshelp_map_block): New function prototype.
32628 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
32629 (grub_fshelp_map_block): Likewise.
32630
32631 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
32632 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
32633 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
32634 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
32635 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
32636 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
32637 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
32638 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
32639 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
32640 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
32641 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
32642 (grub_ext2_sblock): New members for journal support.
32643 (grub_ext3_journal_header): New structure.
32644 (grub_ext3_journal_revoke_header): Likewise.
32645 (grub_ext3_journal_block_tag): Likewise.
32646 (grub_ext3_journal_sblock): Likewise.
32647 (grub_fshelp_node): New members logfile and journal.
32648 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
32649 grub_fshelp_map_block to get real block number.
32650 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
32651 number.
32652 (grub_ext2_read_inode): Likewise.
32653 (grub_ext3_get_journal): New function.
32654 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
32655 (grub_ext2_close): Release memory used by journal.
32656
32657 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
32658 (REISERFS_MAGIC_DESC_BLOCK): New macro.
32659 (grub_reiserfs_transaction_header): Renamed to
32660 grub_reiserfs_description_block, replace field data with real_blocks.
32661 (grub_reiserfs_commit_block): New structure.
32662 (grub_reiserfs_data): New member journal.
32663 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
32664 number.
32665 (grub_reiserfs_read_symlink): Likewise.
32666 (grub_reiserfs_iterate_dir): Likewise.
32667 (grub_reiserfs_open): Likewise.
32668 (grub_reiserfs_read): Likewise.
32669 (grub_reiserfs_get_journal): New function.
32670 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
32671 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
32672 using grub_reiserfs_get_journal.
32673 (grub_reiserfs_close): Release memory used by journal.
32674
32675 * fs/affs.c (grub_affs_read_block): Change block type to
32676 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
32677
32678 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
32679
32680 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
32681
32682 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
32683
32684 * fs/udf.c (grub_udf_read_block): Change block type to
32685 grub_disk_addr_t. Use type cast to avoid warning.
32686
32687 * fs/xfs.c (grub_xfs_read_block): Likewise.
32688
b7c6bed5 326892008-05-16 Christian Franke <franke@computer.org>
32690
32691 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
32692 to ensure that break with ESC will always work.
32693 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
32694 Remove ESC from keyboard queue.
32695
eedf167f 326962008-05-16 Christian Franke <franke@computer.org>
32697
32698 * util/biosdisk.c: [__CYGWIN__] Add includes.
32699 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
32700 (get_os_disk): Move variable declarations to OS specific
32701 parts to avoid warning.
32702 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
32703 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
32704 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
32705 Cygwin.
32706 * util/getroot.c: [__CYGWIN__] Add includes.
32707 (strip_extra_slashes): Fix "/" case.
32708 [__CYGWIN__] (get_win32_path): New function.
32709 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
32710 [__CYGWIN__] (find_root_device): Disable.
32711 [__CYGWIN__] (get_bootsec_serial): New function.
32712 [__CYGWIN__] (find_cygwin_root_device): Likewise.
32713 [__linux__] (grub_guess_root_device): Add early returns to simplify
32714 structure.
32715 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
32716 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
32717 check for Linux only.
32718
a079699e 327192008-05-15 Bean <bean123ch@gmail.com>
32720
32721 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
32722 keyboard hang problem in apple's intel mac.
32723
1cf4059a 327242008-05-09 Robert Millan <rmh@aybabtu.com>
32725
32726 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
32727 devices.
32728 * util/grub-mkdevicemap.c (get_virtio_disk_name)
32729 (make_device_map): Likewise.
32730 Reported by Aurelien Jarno <aurel32@debian.org>
32731
ed759390 327322008-05-07 Ian Campbell <ijc@hellion.org.uk>
32733
32734 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
32735 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
32736 (make_device_map): Output entries for xvd type disks.
32737
b56c4eaa 327382008-05-07 Robert Millan <rmh@aybabtu.com>
32739
32740 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
32741 devices.
32742 * util/grub-mkdevicemap.c (get_cciss_disk_name)
32743 (make_device_map): Likewise.
32744 Reported by Roland Dreier <rdreier@cisco.com>
32745
7f8866ed 327462008-05-07 Robert Millan <rmh@aybabtu.com>
32747
32748 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
32749 grub_strstr() call. Correct a few mistakes in failure path handling.
32750
b0346e0f 327512008-05-06 Robert Millan <rmh@aybabtu.com>
32752
32753 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32754 Do not print a trailing slash (therefore, the root directory is an
32755 empty string).
32756 (convert_system_path_to_grub_path): Do not remove trailing slash
32757 from make_system_path_relative_to_its_root() output.
32758
32759 * util/i386/pc/grub-install.in: Add trailing slash to output from
32760 make_system_path_relative_to_its_root().
32761
6cf12cbd 327622008-05-06 Robert Millan <rmh@aybabtu.com>
32763
32764 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
32765 ensures that output lines aren't intermangled with those sent to
32766 stderr (via grub_util_info()).
32767 * util/grub-probe.c (grub_refresh): Likewise.
32768 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
32769
0fbb3117 327702008-05-05 Christian Franke <franke@computer.org>
32771
32772 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
32773 Add Cygwin device names.
32774 (get_ide_disk_name) [__CYGWIN__]: Likewise.
32775 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
32776 (check_device): Return error instead of success on empty name.
32777 (make_device_map): Move label inside linux specific code to
32778 prevent compiler warning.
32779
8124cdb7 327802008-04-30 Robert Millan <rmh@aybabtu.com>
32781
32782 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
32783 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
32784 first boot option.
32785 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
32786
094c01d0 327872008-04-29 Robert Millan <rmh@aybabtu.com>
32788
32789 * docs/grub.cfg: New file (example GRUB configuration).
32790
f4b1fc02 327912008-04-26 Robert Millan <rmh@aybabtu.com>
32792
329ce2a5 32793 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
32794 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
32795 and `disk/ieee1275/nand.c'.
f4b1fc02 32796
25f16ec1 327972008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 32798
25f16ec1 32799 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
32800 i386-linuxbios.
32801
32802 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
32803 change the buffer size to 4096 for cdrom device.
32804
32805 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
32806 and nand.mod.
32807 (_linux_mod_SOURCES): New variable.
32808 (_linux_mod_CFLAGS): Likewise.
32809 (_linux_mod_LDFLAGS): Likewise.
32810 (linux_mod_SOURCES): Likewise.
32811 (linux_mod_CFLAGS): Likewise.
32812 (linux_mod_LDFLAGS): Likewise.
32813 (nand_mod_SOURCES): Likewise.
32814 (nand_mod_CFLAGS): Likewise.
32815 (nand_mod_LDFLAGS): Likewise.
32816
32817 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
32818 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
32819 type property. (nand device in olpc don't have this property)
32820
32821 * include/grub/disk.h (grub_disk_dev_id): New macro
32822 GRUB_DISK_DEVICE_NAND_ID.
32823
32824 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
32825 function prototype.
32826 (grub_rescue_cmd_initrd): Likewise.
32827
32828 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
32829 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
32830 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 32831
25f16ec1 32832 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
32833 GRUB_MACHINE_IEEE1275 is defined.
32834
32835 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
32836 Use NESTED_FUNC_ATTR attribute on the hook parameter.
32837
32838 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
32839 on nested function heap_init.
32840 (grub_upper_mem): New variable for i386-ieee1275.
32841 (grub_get_extended_memory): New function for i386-ieee1275.
32842 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
32843
32844 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
32845 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
32846 property.
f19dbdb7 32847
25f16ec1 32848 * loader/i386/ieee1275/linux.c: New file.
32849
32850 * loader/i386/ieee1275/linux_normal.c: New file.
32851
32852 * disk/ieee1275/nand.c: New file.
32853
e89d61e9 328542008-04-18 Thomas Schwinge <tschwinge@gnu.org>
32855
32856 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
32857 value.
32858 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
32859
602566f6 328602008-04-18 Robert Millan <rmh@aybabtu.com>
32861
32862 Restructures early code path on ieee1275 to unify grub_main() as
32863 the first C function that is executed in every platform.
32864
32865 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
32866 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
32867 cmain().
32868 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
32869 * kern/ieee1275/cmain.c (cmain): Rename to ...
32870 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
32871 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
32872 at the beginning.
32873
57490c2b 328742008-04-18 Robert Millan <rmh@aybabtu.com>
32875
32876 * util/update-grub.in: Fix syntax error when setting
32877 `GRUB_PRELOAD_MODULES'.
32878 Reported by Stephane Chazelas <stephane@artesyncp.com>
32879
1977517d 328802008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
32881
32882 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
32883 section into account, newer toolchains generate unique build ids
32884 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 32885 we want build ids to be preserved
1977517d 32886 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
32887 far from other sections don't cause the raw binary images grow
32888 size
32889
bfb1f1a2 328902008-04-15 Robert Millan <rmh@aybabtu.com>
32891
32892 * disk/lvm.c: Update copyright year.
32893 * kern/misc.c: Likewise.
32894
01979850 328952008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32896
32897 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 32898 there is no memory left for physical volume name.
01979850 32899
0a1150e2 329002008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32901
32902 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
32903 volume name mapping to support bigger than 9 character names properly.
32904
82ead3fe 329052008-04-13 Robert Millan <rmh@aybabtu.com>
32906
32907 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
32908 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
32909
e54a72f5 329102008-04-13 Christian Franke <franke@computer.org>
32911
32912 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
32913 to create a floppy emulation boot CD when non emulation mode
32914 does not work.
32915 Enable Joliet CD filesystem extension.
32916
9fe86034 329172008-04-13 Robert Millan <rmh@aybabtu.com>
32918
32919 * kern/misc.c (grub_strncat): Fix off-by-one error.
32920 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
32921
32922 * kern/env.c (grub_env_context_close): Clear current context, not
32923 previous one.
32924 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
32925
32926 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
32927
7ceeee39 329282008-04-13 Robert Millan <rmh@aybabtu.com>
32929
32930 Improve robustness when handling LVM.
32931
32932 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 32933 (and leave `*p' unmodified).
7ceeee39 32934 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
32935 through it.
32936 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
32937 iterating through it.
32938 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
32939 through it.
fe6b695a 32940 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 32941 when due) on each grub_lvm_getvalue() or grub_strstr() call.
32942 Don't assume `vg->pvs != NULL' when iterating through it.
32943
58cd3d85 329442008-04-13 Robert Millan <rmh@aybabtu.com>
32945
32946 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
32947 * genmk.rb (partmap): New variable.
32948 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
32949 (#{partmap}): New target rule.
32950 * genpartmaplist.sh: New file.
32951 * Makefile.in (pkglib_DATA): Add partmap.lst.
32952 (partmap.lst): New target rule.
32953 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
32954 modules (including all partition maps), instead of preloading them.
32955
78b51059 329562007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
32957
32958 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
32959 `linux-boot-prober' (if installed) to detect other operating
32960 systems which are installed on the computer and add them to
32961 the boot menu.
32962 * conf/common.rmk: Build and install 30_os-prober.
32963
a91627b4 329642008-04-12 Robert Millan <rmh@aybabtu.com>
32965
32966 * kern/powerpc/ieee1275/init.c: Move from here ...
32967 * kern/ieee1275/init.c: ... to here. Update all users.
32968
32969 * kern/powerpc/ieee1275/cmain.c: Move from here ...
32970 * kern/ieee1275/cmain.c: ... to here. Update all users.
32971
32972 * kern/powerpc/ieee1275/openfw.c: Move from here ...
32973 * kern/ieee1275/openfw.c: ... to here. Update all users.
32974
32975 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
32976 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
32977
322562ea 329782008-04-10 Pavel Roskin <proski@gnu.org>
32979
32980 * configure.ac: Always use "_cv_" in cache variables for
32981 compatibility with Autoconf 2.62.
32982
a02a73c5 329832008-04-07 Robert Millan <rmh@aybabtu.com>
32984
32985 Revert grub/machine/init.h addition by Pavel (since it breaks on
32986 i386-ieee1275 and others):
32987 * util/i386/pc/misc.c: Remove grub/machine/init.h.
32988 * util/powerpc/ieee1275/misc.c: Likewise.
32989
25c024b1 329902008-04-07 Robert Millan <rmh@aybabtu.com>
32991
32992 * util/grub-probe.c (probe): Improve error message.
32993
3cbd2f98 329942008-04-07 Robert Millan <rmh@aybabtu.com>
32995
32996 * util/biosdisk.c (read_device_map): Skip devices that don't exist
32997 (this prevents the presence of a bogus entry from ruining the whole
32998 thing).
32999
87a297bf 330002008-04-06 Pavel Roskin <proski@gnu.org>
33001
36747a62 33002 * util/biosdisk.c: Include grub/util/biosdisk.h.
33003 * util/grub-fstest.c (execute_command): Make static.
33004 * util/grub-mkdevicemap.c (check_device): Likewise.
33005 * util/i386/pc/misc.c: Include grub/machine/init.h.
33006 * util/powerpc/ieee1275/misc.c: Likewise.
33007 * util/lvm.c: Include grub/util/lvm.h.
33008 * util/misc.c: Include grub/kernel.h, grub/misc.h and
33009 grub/cache.h.
33010 * util/raid.c: Include grub/util/raid.h.
33011 (grub_util_getdiskname): Make static.
33012
87a297bf 33013 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
33014 grub_hostfs_fini(), as they are called from grub_init_all() and
33015 grub_fini_all() respectively. This fixes an infinite loop in
33016 grub-fstest due to double registration of hostfs.
33017 Reported by Christian Franke <Christian.Franke@t-online.de>
33018
f6ce7629 330192008-04-05 Pavel Roskin <proski@gnu.org>
33020
33021 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
33022 all 8 functions. Otherwise, probe function 0 only.
33023
070e49e4 330242008-04-04 Pavel Roskin <proski@gnu.org>
33025
8b088a4c 33026 * commands/lspci.c (grub_lspci_iter): Print the bus number
33027 correctly.
33028
4f657021 33029 * commands/lspci.c (grub_pci_classes): Fix typos.
33030 (grub_lspci_iter): Don't print func twice. Print vendor ID
33031 before device ID, as it's normally done.
33032
070e49e4 33033 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
33034 Fix signedness warnings.
33035 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
33036 Likewise.
33037 * util/ieee1275/get_disk_name.c: Include config.h so that
33038 _GNU_SOURCE is defined and getline() is declared. Mark an
33039 unused argument as such. Fix a signedness warning.
33040
ba7328dc 330412008-04-02 Pavel Roskin <proski@gnu.org>
33042
26887f22 33043 * genkernsyms.sh.in: Use more robust assignments for CC and
33044 srcdir. Quote srcdir.
33045 * gensymlist.sh.in: Likewise. Assert at the compile time that
33046 the symbol table is not empty.
33047
ba7328dc 33048 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
33049 * fs/cpio.c (grub_cpio_read): Likewise.
33050
0f582c6b 330512008-04-01 Pavel Roskin <proski@gnu.org>
33052
4b6e1995 33053 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
33054 * disk/host.c (grub_host_open): Likewise.
33055 * disk/loopback.c (grub_loopback_open): Likewise.
33056 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
33057 disk->id as in disk/host.c, not a multi-character constant.
33058
828a2768 33059 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
33060 later is obsolete, potentially dangerous and sets a bad example.
33061 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
33062 * util/misc.c (grub_util_get_image_size): Likewise.
33063
2bb4fb47 33064 * disk/loopback.c (options): Improve help for "--partitions".
33065
0f582c6b 33066 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
33067 options to align them with the short options, e.g. "echo -e".
33068
a33224e0 330692008-03-31 Bean <bean123ch@gmail.com>
33070
33071 * video/reader/png.c (grub_png_data): New member is_16bit and
33072 image_data.
33073 (grub_png_decode_image_header): Detect 16 bit png image.
33074 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
33075 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
33076 (grub_video_reader_png): Release memory occupied by image_data.
33077
33078 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
33079 4096 bytes.
33080 (grub_nfs_mount): Skip the test for sector per cluster.
33081
33082 * include/grub/ntfs.h (MAX_SPC): Removed.
33083
86cb4f54 330842008-03-31 Bean <bean123ch@gmail.com>
33085
33086 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
33087 (grub_probe_SOURCES): Add fs/afs.c.
33088 (grub_fstest_SOURCES): Likewise.
33089 (afs_mod_SOURCES): New variable.
33090 (afs_mod_CFLAGS): Likewise.
33091 (afs_mod_LDFLAGS): Likewise.
33092
33093 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
33094 (grub_emu_SOURCES): Likewise.
33095
33096 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33097
33098 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33099
33100 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33101
33102 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33103
33104 * fs/afs.c: New file.
33105
17c74c21 331062008-03-30 Pavel Roskin <proski@gnu.org>
33107
4cb68e89 33108 * disk/host.c: Include grub/misc.h to fix a warning.
33109 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
33110 warnings about implicit declarations.
33111
8790bb04 33112 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
33113 variable.
33114 * include/grub/i386/loader.h: Change declaration of
33115 grub_linux_boot() to match what grub_loader_set() expects.
33116 * util/getroot.c (grub_guess_root_device): Return const char* to
33117 fix a warning.
33118 * util/grub-probe.c (probe): Fix a warning about uninitialized
33119 abstraction_name variable.
33120 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
33121 second argument as unused to fix a warning.
33122
9a3f3296 33123 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
33124 missing grub_error() call.
33125
0ecef90d 33126 * util/update-grub_lib.in: Define datarootdir, since Autoconf
33127 2.60 and newer uses it to define datadir.
33128
0bf6d401 33129 * commands/sleep.c: Fix warning about implicit declaration.
33130 * disk/memdisk.c: Likewise.
33131 * loader/aout.c: Likewise.
33132 * loader/i386/bsd_normal.c: Likewise.
33133 * util/grub-probe.c: Likewise.
33134
7cdacf97 33135 * commands/i386/cpuid.c (has_longmode): Make static.
33136 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
33137 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
33138
17c74c21 33139 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
33140 GDT. This is more robust, as %ds can change.
33141 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
33142 calling real_to_prot().
33143 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
33144
80a3e68b 331452008-03-28 Pavel Roskin <proski@gnu.org>
33146
33147 * kern/i386/pc/startup.S: Assert that uncompressed functions
33148 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
33149 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
33150 code, as they push parts of the code (error handlers) beyond
33151 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
33152 code as correctness and size.
33153
77bcd272 331542008-03-28 Pavel Roskin <proski@gnu.org>
33155
33156 * kern/i386/pc/startup.S
33157 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
33158 data block address to the real mode, keep offset minimal. This
33159 works around a bug in AWARD BIOS on old Athlon systems, which
33160 makes CD detection hang.
33161
c5dfd43b 331622008-03-26 Pavel Roskin <proski@gnu.org>
33163
33164 * normal/color.c (grub_parse_color_name_pair): Make `name' a
33165 const.
33166 * include/grub/normal.h: Add grub_parse_color_name_pair()
33167 declaration.
33168
bf962df2 331692008-03-24 Bean <bean123ch@gmail.com>
33170
33171 * disk/i386/pc/biosdisk.c (cd_start): Removed.
33172 (cd_count): Removed.
33173 (cd_drive): New variable.
33174 (grub_biosdisk_get_drive): Don't check for (cdN) device.
33175 (grub_biosdisk_call_hook): Likewise.
33176 (grub_biosdisk_iterate): Change cdrom detection method.
33177 (grub_biosdisk_open): Replace cd_start with cd_drive.
33178 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
33179 detect cdrom device.
33180
33181 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
33182 Removed.
33183 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
33184 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
33185 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
33186 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
33187 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
33188 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
33189 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
33190 (grub_biosdisk_cdrp): New structure.
33191 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
33192
33193 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
33194
33195 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
33196 device.
33197
33198 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
33199 New function.
33200
68e7fc7a 332012008-03-20 Robert Millan <rmh@aybabtu.com>
33202
33203 Remove 2 TiB limit in ata.mod.
33204 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
33205 (grub_ata_dumpinfo): Print sector count with 0x%llx.
33206 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
33207 grub_uint64_t instead of grub_uint32_t.
33208
38ad2cf5 332092008-03-05 Bean <bean123ch@gmail.com>
33210
33211 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
33212 (grub_multiboot): Set boot device.
33213
33214 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
33215
2b89344e 332162008-03-02 Bean <bean123ch@gmail.com>
33217
33218 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
33219 symlink_buffer.
33220
87a95d1f 332212008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
33222
33223 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
33224 texinfo.tex.
33225
33226 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
33227 modified.
33228
33229 * docs/fdl.texi: New file.
f19dbdb7 33230
87a95d1f 33231 * docs/mdate-sh: New file. Copied from gnulib.
33232 * docs/texinfo.tex: Likewise.
33233
33234 * config.guess: Updated from gnulib.
33235 * install-sh: Likewise.
33236
7dc15d8e 332372008-02-28 Robert Millan <rmh@aybabtu.com>
33238
33239 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
33240 (aout_mod_SOURCES): New variable.
33241 (aout_mod_CFLAGS): Likewise.
33242 (aout_mod_LDFLAGS): Likewise.
33243
33244 * conf/i386-ieee1275.rmk: Likewise.
33245
b00ab696 332462008-02-28 Robert Millan <rmh@aybabtu.com>
33247
33248 * util/update-grub.in: Reorganise terminal validity check. Accept
33249 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
33250 Based on suggestion by Franklin PIAT.
33251
79ca2d78 332522008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
33253
33254 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
33255 function.
33256 * util/getroot.c (grub_util_check_block_device): New function that
33257 returns the given argument if it is a block device and returns NULL else.
33258 * util/grub-probe.c (argument_is_device): New variable.
33259 (probe): Promote device_name from a variable to an argument. Receive
33260 device_name from grub_util_check_block_device() if path is NULL and from
33261 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 33262 (options): Introduce new parameter '-d, --device'.
79ca2d78 33263 (main): Add description of the new parameter to the help screen.
33264 Rename path variable to argument. Set argument_is_device if the '-d'
33265 option is given. Pass argument to probe() depending on
33266 argument_is_device.
33267
0d16e571 332682008-02-24 Bean <bean123ch@gmail.com>
33269
33270 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
33271 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
33272 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
33273 (GRUB_ISO9660_VOLDESC_PART): Likewise.
33274 (GRUB_ISO9660_VOLDESC_END): Likewise.
33275 (grub_iso9660_primary_voldesc): New member escape.
33276 (grub_iso9660_data): New member joliet.
33277 (grub_iso9660_convert_string): New function.
33278 (grub_iso9660_mount): Detect joliet extension.
33279 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
33280 (grub_iso9660_iso9660_label): Likewise.
33281
33282 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
33283 (grub_setup_SOURCES): Add fs/udf.c.
33284 (grub_fstest_SOURCES): Likewise.
33285 (udf_mod_SOURCES): New variable.
33286 (udf_mod_CFLAGS): Likewise.
33287 (udf_mod_LDFLAGS): Likewise.
33288
33289 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
33290 (grub_emu_SOURCES): Likewise.
33291
33292 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33293
33294 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33295
33296 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33297
33298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33299
33300 * fs/udf.c: New file.
33301
8a594a17 333022008-02-24 Robert Millan <rmh@aybabtu.com>
33303
33304 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
33305 (normal/lexer.c_DEPENDENCIES): New variables.
33306 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33307 (normal/lexer.c_DEPENDENCIES): Likewise.
33308 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
33309 (normal/lexer.c_DEPENDENCIES): Likewise.
33310 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
33311 (normal/lexer.c_DEPENDENCIES): Likewise.
33312 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33313 (normal/lexer.c_DEPENDENCIES): Likewise.
33314 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33315 (normal/lexer.c_DEPENDENCIES): Likewise.
33316
2dc33c03 333172008-02-23 Robert Millan <rmh@aybabtu.com>
33318
33319 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
33320 since they were intended to be in hex. This didn't break previously
33321 because of a bug in gpt_partition_map_iterate() (see below).
33322
33323 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
33324 when checking the validity of GPT header.
33325 Remove `partno', since it always provides the same information as `i'.
33326
f6f4cfb0 333272008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
33328
33329 * include/grub/efi/time.h: Fix a wrong comment.
33330
79ff665f 333312008-02-19 Pavel Roskin <proski@gnu.org>
33332
33333 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
33334 message.
33335
d38e24c2 333362008-02-19 Bean <bean123ch@gmail.com>
33337
33338 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
33339 (aout_mod_SOURCES): New variable.
33340 (aout_mod_CFLAGS): Likewise.
33341 (aout_mod_LDFLAGS): Likewise.
33342 (_bsd_mod_SOURCES): New variable.
33343 (_bsd_mod_CFLAGS): Likewise.
33344 (_bsd_mod_LDFLAGS): Likewise.
33345 (bsd_mod_SOURCES): New variable.
33346 (bsd_mod_CFLAGS): Likewise.
33347 (bsd_mod_LDFLAGS): Likewise.
33348
33349 * include/grub/aout.h: New file.
33350
33351 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
33352
33353 * include/grub/i386/bsd.h: New file.
33354
33355 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
33356 to make it public.
33357
33358 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
33359 function is called, so that it's possible to change it inside the hook.
33360 (grub_elf64_load): Likewise.
33361 (grub_elf_file): Don't close the file if elf header is not found.
33362 (grub_elf_close): Close the file if grub_elf_file fails (The new
33363 grub_elf_file won't close it).
33364 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
33365 (grub_elf64_size): Likewise.
33366
33367 * kern/i386/loader.S (grub_unix_real_boot): New function.
33368
33369 * loader/aout.c: New file.
33370
33371 * loader/i386/bsd.c: New file.
33372
33373 * loader/i386/bsd_normal.c: New file.
33374
33375 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
33376
33377 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 33378 can test other formats.
d38e24c2 33379
b93bdb0f 333802008-02-19 Robert Millan <rmh@aybabtu.com>
33381
33382 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
33383 (grub_gpt_partition_type_empty): Redefine with macro from
33384 `<grub/gpt_partition.h>'.
33385 (gpt_partition_map_iterate): Adjust partition type comparison.
33386
33387 Export `entry' as partmap-specific `part.data' struct.
33388 (grub_gpt_header, grub_gpt_partentry): Move from here ...
33389
33390 * include/grub/gpt_partition.h (grub_gpt_header)
33391 (grub_gpt_partentry): ... to here (new file).
33392
33393 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
33394
33395 (grub_gpt_partition_type_bios_boot): New const variable, defined
33396 with macro from `<grub/gpt_partition.h>'.
33397
33398 (setup): Replace `first_start' with `embed_region', which keeps
33399 track of the embed region (and is partmap-agnostic).
33400
33401 Replace find_first_partition_start() with find_usable_region(),
33402 which finds a usable region for embedding using partmap-specific
33403 knowledge (supports PC/MSDOS and GPT).
33404
33405 Fix all assumptions that the embed region start at sector 1, using
33406 `embed_region.start' from now on. Similarly, use `embed_region.end'
33407 rather than `first_start' to calculate available size.
33408
33409 In grub_util_info() message, replace "into after the MBR" with an
33410 indication of the specific sector our embed region starts at.
33411
66cb40f6 334122008-02-19 Robert Millan <rmh@aybabtu.com>
33413
33414 * DISTLIST: Replace `commands/ieee1275/halt.c' and
33415 `commands/ieee1275/reboot.c' with `commands/halt.c' and
33416 `commands/reboot.c'.
33417 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
33418 (halt_mod_SOURCES): Likewise.
33419 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
33420 (halt_mod_SOURCES): Likewise.
33421
b7202015 334222008-02-17 Christian Franke <franke@computer.org>
33423
33424 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
33425
32b0fc49 334262008-02-17 Robert Millan <rmh@aybabtu.com>
33427
33428 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
33429 set `first_start' to 0 for non-PC/MSDOS partition maps.
33430
aca63502 334312008-02-16 Robert Millan <rmh@aybabtu.com>
33432
33433 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
33434 do not assume partition map is PC/MSDOS before performing checks that
33435 are specific to that layout.
33436
0de8be86 334372008-02-13 Robert Millan <rmh@aybabtu.com>
33438
33439 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
33440 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
33441 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
33442
c3db8364 334432008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
33444
33445 * configure.ac: Only a cosmetic change on the handling of
33446 -fno-stack-protector.
33447
f714229e 334482008-02-12 Alexandre Boeglin <alex@boeglin.org>
33449
c3db8364 33450 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
33451 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
33452 reboot.c.
f714229e 33453 (grub_install_SOURCES): Add halt.mod and reboot.mod.
33454 (halt_mod_SOURCES): New variable.
33455 (halt_mod_CFLAGS): Likewise.
33456 (halt_mod_LDFLAGS): Likewise.
33457 (reboot_mod_SOURCES): Likewise.
33458 (reboot_mod_CFLAGS): Likewise.
33459 (reboot_mod_LDFLAGS): Likewise.
33460
c3db8364 33461 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
33462 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
33463 reboot.c.
f714229e 33464 (halt_mod_SOURCES): Likewise.
33465 (reboot_mod_SOURCES): Likewise.
33466
c3db8364 33467 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
33468 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 33469 (reboot_mod_SOURCES): Likewise.
33470
33471 * commands/i386/pc/reboot.c: merge this file ...
33472
33473 * commands/ieee1275/reboot.c: ... and this file ...
33474
33475 * commands/reboot.c: ... to this file.
c3db8364 33476 Add some precompiler directive to include the correct header for
33477 each machine.
f714229e 33478
33479 * commands/ieee1275/halt.c: move this file ...
33480
33481 * commands/halt.c: ... to here.
c3db8364 33482 Add some precompiler directive to include the correct header for
33483 each machine.
f714229e 33484
33485 * include/grub/efi/efi.h (grub_reboot): New function declaration.
33486 (grub_halt): Likewise.
33487
33488 * kern/efi/efi.c (grub_reboot): New function.
33489 (grub_halt): Likewise.
33490
c74493e0 334912008-02-12 Robert Millan <rmh@aybabtu.com>
33492
33493 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
33494 /dev (like it is done for /dev/mapper). This doesn't provide support
33495 for EVMS, but at least it is now easy to identify the problem when it
33496 arises.
33497
d0db4b04 334982008-02-11 Robert Millan <rmh@aybabtu.com>
33499
33500 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
33501 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
33502 comparing it with -1, not 0.
33503
bf748642 335042008-02-10 Robert Millan <rmh@aybabtu.com>
33505
33506 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
33507 `disk/lvm.c'.
33508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33509 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33510
33511 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
33512 `disk/lvm.c' to the end of the list.
33513 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33514 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33515
b5db202a 335162008-02-10 Robert Millan <rmh@aybabtu.com>
33517
33518 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
33519 grub_print_error() instead. This will let user know why we're entering
33520 rescue mode.
33521 Based on suggestions from Sam Morris.
33522
83abee31 335232008-02-10 Alexandre Boeglin <alex@boeglin.org>
33524
33525 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
33526 on remaining N args, instead of "--" arg N times.
33527
78d5a08b 335282008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
33529
33530 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
33531 (fill_with_default_glyph): Changed to use unknown_glyph for fill
33532 pattern for unknown glyphs.
33533
68807e5f 335342008-02-09 Robert Millan <rmh@aybabtu.com>
33535
33536 * configure.ac: Probe for `help2man'.
33537 * Makefile.in (builddir): New variable.
33538 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
33539 or otherwise add a few flags/options to it.
33540 (install-local): For every executable utility or script that is
33541 installed, invoke $(HELP2MAN) to install a manpage based on --help
33542 output.
33543
33544 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
33545 that it doesn't prevent --help from working in build tree.
33546
33547 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
33548 with `bug-grub@gnu.org'.
33549 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
33550 * util/update-grub.in (usage): New function.
33551 Implement proper argument check, with support for --help and --version
33552 (as well as existing -y).
33553
335542008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 33555
33556 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
33557 avoid overwriting previous output.
33558 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
33559
c1962162 335602008-02-09 Robert Millan <rmh@aybabtu.com>
33561
33562 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
33563 drawing the menu.
33564
3dac2e3f 335652008-02-09 Robert Millan <rmh@aybabtu.com>
33566
33567 * commands/sleep.c: New file.
33568 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
33569 (sleep_mod_SOURCES): New variable.
33570 (sleep_mod_CFLAGS): Likewise.
33571 (sleep_mod_LDFLAGS): Likewise.
33572
7a634e08 335732008-02-09 Robert Millan <rmh@aybabtu.com>
33574
33575 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
33576 situations in which we can deduce the RAID size and the superblock
33577 doesn't match it.
33578
b92f0c18 335792008-02-09 Robert Millan <rmh@aybabtu.com>
33580
33581 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
33582 and return a grub_diskmemberlist_t composed of LVM physical volumes.
33583 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
33584
33585 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
33586 and return a grub_diskmemberlist_t composed of physical array members.
33587 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
33588
33589 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
33590 prototype.
33591 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
33592 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
33593 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
33594
33595 * util/grub-probe.c (probe): Move partmap probing code from here ...
33596 (probe_partmap): ... to here.
33597 (probe): Use probe_partmap() once for the disk we're probing, and
33598 additionally, when such disk contains a memberlist() struct member,
33599 once for each disk that is contained in the structure returned by
33600 memberlist().
33601
91a4bf68 336022008-02-09 Robert Millan <rmh@aybabtu.com>
33603
33604 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
33605 environment variable to 'all' in order to obtain debug output from
33606 non-util/ code.
33607 * util/i386/pc/grub-setup.c (main): Likewise.
33608
a96f9caa 336092008-02-08 Robert Millan <rmh@aybabtu.com>
33610
33611 * disk/raid.c (grub_raid_scan_device): Check for
33612 `array->device[sb.this_disk.number]' rather than for
33613 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 33614 guaranteed to be accessible.
a96f9caa 33615
b37a9222 336162008-02-08 Robert Millan <rmh@aybabtu.com>
33617
33618 * disk/raid.c: Update copyright.
33619 * fs/cpio.c: Likewise.
33620 * include/grub/raid.h: Likewise.
33621 * loader/i386/pc/multiboot.c: Likewise.
33622 * util/hostfs.c: Likewise.
33623
5626aee1 336242008-02-08 Robert Millan <rmh@aybabtu.com>
33625
33626 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
33627 to a grub_disk_t array.
33628 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
33629 `device[x]'.
33630 (grub_raid_scan_device): Replace `device[x].name' accesses with
33631 `device[x]->name'. Simplify initialization of `array->device[x]'.
33632
554f0187 336332008-02-08 Robert Millan <rmh@aybabtu.com>
33634
33635 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
33636 grub_dprintf() calls.
33637 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
33638 error message.
33639
1ec8425d 336402008-02-07 Christian Franke <franke@computer.org>
33641
33642 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
33643 instead of fseek and ftell to support large files.
33644 (grub_hostfs_read): Likewise.
33645
f2156fda 336462008-02-07 Robert Millan <rmh@aybabtu.com>
33647
33648 Patch from Jeroen Dekkers.
33649 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 33650 failure, since successfully reading all array members might not be
f2156fda 33651 required.
33652
9216e0e7 336532008-02-06 Robert Millan <rmh@aybabtu.com>
33654
33655 * util/grub-probe.c (probe): Simplify partmap probing (with the
33656 assumption that the first word up to the underscore equals to
33657 the module name).
33658
b0dfd29a 336592008-02-06 Christian Franke <franke@computer.org>
33660
33661 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
33662 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
33663 last block of a cpio or tar stream.
33664 Check for "TRAILER!!!" instead of any empty data
33665 block to detect last block of a cpio stream.
33666 (grub_cpio_dir): Fix constness of variable np.
33667 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
33668 cpio or tar trailer is detected. This fixes a crash
33669 on open of a non existing file.
33670
c32865bf 336712008-02-05 Bean <bean123ch@gmail.com>
33672
33673 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
33674 address of entry.
33675 (grub_multiboot_load_elf64): Likewise.
33676 (grub_multiboot): Initialize mbi structure.
33677
33678 * util/grub-fstest.c: Don't include unused header file script.h.
33679
fe6b695a 33680 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 33681 of file.
33682 (grub_fstest_SOURCES): Likewise.
33683
409480b7 336842008-02-05 Robert Millan <rmh@aybabtu.com>
33685
33686 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
33687 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
33688 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
33689 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
33690
33691 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
33692 (translation_table): Replace hardcoded values with macros
33693 provided by `<grub/term.h>'.
33694
33695 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
33696 (keyboard_map): Correct/add a few values, with macros provided
33697 by `<grub/term.h>'.
33698 (keyboard_map_shift): Zero values that don't differ from their
33699 `keyboard_map' equivalents.
33700 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
33701 Discard the second scan code that is always sent by Caps lock.
33702 Only use `keyboard_map_shift' when it provides a non-zero value,
33703 otherwise fallback to `keyboard_map'.
33704
99fadbaa 337052008-02-04 Bean <bean123ch@gmail.com>
33706
33707 * Makefile.in (enable_grub_fstest): New variable.
33708
33709 * conf/common.rmk (grub_fstest_init.lst): New rule.
33710 (grub_fstest_init.h): Likewise.
33711 (grub_fstest_init.c): Likewise.
33712 (util/grub-fstest.c_DEPENDENCIES): New variable.
33713 (grub_fstest_SOURCES): Likewise.
33714
33715 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
33716
33717 * util/grub-fstest.c: New file.
33718
bf567c50 337192008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33720
33721 Make grub-setup handle a separate root device.
f19dbdb7 33722
bf567c50 33723 * util/i386/pc/grub-setup.c (setup): Always open the root device,
33724 so that the root device can be compared with the destination
33725 device.
33726 When embedding the core image, if the root and destination devices
33727 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
33728 0xFF.
33729 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 33730
9be6b98b 337312008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33732
33733 Add support for having a grub directory in a different drive. This
33734 is still only the data handling part.
f19dbdb7 33735
9be6b98b 33736 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
33737 (codestart): Save %dh in GRUB_ROOT_DRIVE.
33738 (grub_root_drive): New variable.
33739
33740 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
33741 instead of GRUB_BOOT_DRIVE to construct a device name. Set
33742 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
33743 as it was.
33744
33745 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
33746
33747 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
33748 macro.
33749 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
33750
33751 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
33752 is bogus, because PXE booting does not specify any drive
33753 correctly.
33754
33755 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
33756 am not sure if this is really correct.
33757
33758 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
33759 is always identical to the boot drive when booting from a CD.
33760
33761 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
33762 longer.
33763 (root_drive): New variable.
33764 (real_start): Unconditionally set %dh to ROOT_DRIVE.
33765 (setup_sectors): Push %dx right after popping it, because %dh will
33766 be modified later.
33767 (copy_buffer): Restore %dx.
33768
e0ca0677 337692008-02-03 Robert Millan <rmh@aybabtu.com>
33770
33771 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
33772 use `cdboot.img' for cdrom images.
33773
3b3f6629 337742008-02-03 Robert Millan <rmh@aybabtu.com>
33775
33776 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
33777 only setup gfxterm when `font' command has succeeded.
33778
d42b3672 337792008-02-03 Robert Millan <rmh@aybabtu.com>
33780
33781 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
33782 (grub_rescue_cmd_multiboot_loader)
33783 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
33784
fa370ea6 337852008-02-03 Pavel Roskin <proski@gnu.org>
33786
e0c5dacb 33787 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 33788 %edx and %esi from stack only after grub_gate_a20() is called.
33789 grub_gate_a20() clobbers %edx.
33790
f2a76e1d 337912008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33792
33793 * configure.ac (AC_INIT): Bumped to 1.96.
33794
33795 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
33796 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
33797 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
33798 video/readers/png.c.
33799
90fd32d1 338002008-02-03 Bean <bean123ch@gmail.com>
9be665dd 33801
33802 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
33803 (cdboot_img_SOURCES): New variable.
33804 (cdboot_img_ASFLAGS): New variable.
33805 (cdboot_img_LDFLAGS): New variable.
33806
33807 * boot/i386/pc/cdboot.S: New file.
33808
33809 * disk/i386/pc/biosdisk.c (cd_start): New variable.
33810 (cd_count): Likewise.
33811 (grub_biosdisk_get_drive): Add support for cd device.
33812 (grub_biosdisk_call_hook): Likewise.
33813 (grub_biosdisk_iterate): Likewise.
33814 (grub_biosdisk_open): Likewise.
33815 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
33816 (grub_biosdisk_rw): Support reading from cd device.
33817 (GRUB_MOD_INIT): Iterate cd devices.
33818
33819 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
33820 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
33821 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
33822
33823 * kern/i386/pc/init.c (make_install_device): Check for cd device.
33824
4020aa53 338252008-02-02 Robert Millan <rmh@aybabtu.com>
33826
33827 * commands/read.c: New file.
33828 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
33829 (read_mod_SOURCES): New variable.
33830 (read_mod_CFLAGS): Likewise.
33831 (read_mod_LDFLAGS): Likewise.
33832
e03a1132 338332008-02-02 Robert Millan <rmh@aybabtu.com>
33834
33835 * normal/main.c (grub_normal_execute): Check for `menu->size' when
33836 determining whether menu has to be displayed.
33837
58c69220 338382008-02-02 Marco Gerards <marco@gnu.org>
33839
33840 * bus/pci.c: New file.
33841
33842 * include/grub/pci.h: Likewise.
33843
33844 * include/grub/i386/pc/pci.h: Likewise.
33845
33846 * commands/lspci.c: Likewise.
33847
33848 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
33849 `lspci.mod'.
33850 (pci_mod_SOURCES): New variable.
33851 (pci_mod_CFLAGS): Likewise.
33852 (pci_mod_LDFLAGS): Likewise.
33853 (lspci_mod_SOURCES): Likewise.
33854 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 33855 (lspci_mod_LDFLAGS): Likewise.
58c69220 33856
c004e1b4 338572008-02-02 Bean <bean123ch@gmail.com>
33858
33859 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
33860 (grub_ufs_get_file_block): Fix indirect block calculation problem.
33861
33862 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
33863 (grub_xfs_btree_node): New structure.
33864 (grub_xfs_btree_root): New structure.
33865 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
33866 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
33867 (GRUB_XFS_EXTENT_BLOCK): Likewise.
33868 (GRUB_XFS_EXTENT_SIZE): Likewise.
33869 (grub_xfs_read_block): Support btree format type.
33870 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
33871 Use directory block as basic unit.
33872
33873 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
33874
33875 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
33876 __attribute__ ((__regparm__ (1))).
33877
f95562bf 338782008-02-01 Robert Millan <rmh@aybabtu.com>
33879
33880 Correct a mistake in previous commit.
33881
33882 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
33883 top.
33884 (normal/command.c_DEPENDENCIES): New variable.
33885
7d31f41f 338862008-02-01 Robert Millan <rmh@aybabtu.com>
33887
33888 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
33889 top.
33890 (normal/command.c_DEPENDENCIES): New variable.
33891 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
33892 * conf/i386-ieee1275.rmk: Likewise.
33893 * conf/i386-linuxbios.rmk: Likewise.
33894 * conf/i386-pc.rmk: Likewise.
33895 * conf/sparc64-ieee1275.rmk: Likewise.
33896 * conf/powerpc-ieee1275.rmk: Likewise.
33897 (grub_emu_SOURCES): Add `fs/fshelp.c'.
33898
33899 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
33900
60b6be74 339012008-02-01 Robert Millan <rmh@aybabtu.com>
33902
33903 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
33904 call at beginning of function.
33905
078522ab 339062008-01-31 Pavel Roskin <proski@gnu.org>
33907
33908 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 33909 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
33910 (grub_mkrescue_SOURCES): Likewise.
078522ab 33911 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
33912
ccaa8a5f 339132008-01-30 Robert Millan <rmh@aybabtu.com>
33914
33915 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
33916 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
33917 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
33918 (grub_probe_SOURCES): ... to here.
33919
33920 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
33921 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
33922 * conf/i386-ieee1275.rmk: Likewise.
33923 * conf/i386-linuxbios.rmk: Likewise.
33924 * conf/powerpc-ieee1275.rmk: Likewise.
33925
ae5a9cd7 339262008-01-30 Tristan Gingold <gingold@free.fr>
33927
33928 * kern/rescue.c: Silently accept empty lines.
33929
70bc2ef2 339302008-01-29 Bean <bean123ch@gmail.com>
33931
33932 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
33933 (real_code_2): Code cleanup and change comment style.
33934 (move_memory): Avoid using 32-bit address mode.
33935
6a4d50ea 339362008-01-29 Bean <bean123ch@gmail.com>
33937
33938 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
33939 (png_mod_SOURCES): New variable.
33940 (png_mod_CFLAGS): Likewise.
33941 (png_mod_LDFLAGS): Likewise.
33942
33943 * video/readers/png.c: New file.
33944
11cc30ac 339452008-01-28 Robert Millan <rmh@aybabtu.com>
33946
33947 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
33948 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
33949 `ifndef GRUB_MOD_GAP' hack.
33950 * util/elf/grub-mkimage.c (add_segments): Likewise.
33951
3abc589f 339522008-01-27 Robert Millan <rmh@aybabtu.com>
33953
33954 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
33955 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 33956 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 33957
e1907778 339582008-01-27 Robert Millan <rmh@aybabtu.com>
33959
33960 Get grub-emu to build again (including parallel builds).
33961
33962 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
33963 Split into ...
33964 (util/grub-emu.c_DEPENDENCIES): ... this, ...
33965 (normal/execute.c_DEPENDENCIES): ... this, ...
33966 (grub-emu_DEPENDENCIES): ... and this.
33967
33968 * conf/i386-efi.rmk: Likewise.
33969 * conf/i386-linuxbios.rmk: Likewise.
33970 * conf/i386-ieee1275.rmk: Likewise.
33971 * conf/powerpc-ieee1275.rmk: Likewise.
33972 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
33973
2216b101 339742008-01-27 Robert Millan <rmh@aybabtu.com>
33975
33976 * NEWS: Add a few items.
33977
f75172d9 339782008-01-27 Robert Millan <rmh@aybabtu.com>
33979
33980 Fix parallel builds with grub-emu. Based on earlier commit for
33981 grub-probe and grub-setup.
33982
33983 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33984 (util/grub-emu.c_DEPENDENCIES): ... this.
33985 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33986 (util/grub-emu.c_DEPENDENCIES): ... this.
33987 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33988 (util/grub-emu.c_DEPENDENCIES): ... this.
33989 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33990 (util/grub-emu.c_DEPENDENCIES): ... this.
33991 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33992 (util/grub-emu.c_DEPENDENCIES): ... this.
33993
3f51de77 339942008-01-27 Pavel Roskin <proski@gnu.org>
33995
33996 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
33997 to create a gap between _end and the modules added to the image
33998 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
33999 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
34000 * util/elf/grub-mkimage.c (add_segments): Likewise.
34001
2033f53e 340022008-01-26 Pavel Roskin <proski@gnu.org>
34003
34004 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
34005 just return an error.
34006
22da1f6f 340072008-01-26 Bean <bean123ch@gmail.com>
34008
34009 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
34010 (grub_reiserfs_get_item): Save offset of the next item.
34011 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
34012
2a9525e6 340132008-01-25 Robert Millan <rmh@aybabtu.com>
34014
34015 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
34016 make all filesystem sources appear together (possibly fixing omissions
34017 while at it).
34018 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34019 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34020 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34021 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34022
34023 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
34024 add `kern/file.c'.
34025 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
34026 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
34027 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
34028 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
34029
34030 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
34031 (probe): Add a sanity check to make sure of our ability to read
34032 requested files when probing for filesystem type.
34033
34034 * genmk.rb: Update copyright year (2007).
34035
34036 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
34037 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
34038 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
34039 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
34040 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
34041 : Remove function prototypes.
34042
b95f71b5 340432008-01-25 Robert Millan <rmh@aybabtu.com>
34044
34045 Revert my previous commits (based on wrong assumption of how grub_errno
34046 works).
34047
fe6b695a 34048 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 34049 * kern/file.c (grub_file_open): Likewise.
34050
d08bbb49 340512008-01-24 Pavel Roskin <proski@gnu.org>
34052
34053 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
34054 that hang if GRUB tries to setup colors.
34055 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
34056 colors for firmwares that don't support it.
34057 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
34058 Recognize Open Hack'Ware, set flags to work around its
34059 limitations.
34060
605e36ed 340612008-01-24 Robert Millan <rmh@aybabtu.com>
34062
34063 * kern/file.c (grub_file_open): Do not account previous failures of
34064 unrelated functions when grub_errno is checked for.
34065 Reported by Oleg Strikov.
34066
bac332a1 340672008-01-24 Bean <bean123ch@gmail.com>
34068
34069 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
34070 (grub_ufs_sblock): New member volume name.
34071 (grub_ufs_find_file): Fix string copy bug.
34072 (grub_ufs_label): Implement this function properly.
34073
34074 * fs/hfs.c (grub_hfs_cnid_type): New enum.
34075 (grub_hfs_iterate_records): Use the correct file number for extents
34076 and catalog file. Fix problem in next index calculation.
34077 (grub_hfs_find_node): Replace recursive function call with loop.
34078 (grub_hfs_iterate_dir): Replace recursive function call with loop.
34079
15c80c09 340802008-01-23 Robert Millan <rmh@aybabtu.com>
34081
34082 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
34083 `<grub/symbol.h>' and `<grub/multiboot.h>'.
34084 (grub_multiboot2_real_boot): New function prototype.
34085
34086 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
34087 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
34088
34089 * kern/i386/ieee1275/init.c (grub_os_area_addr)
34090 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
34091
305338fd 340922008-01-23 Robert Millan <rmh@aybabtu.com>
34093
34094 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
34095 #ifdef'ed out grub_printf().
34096
3ea52685 340972008-01-23 Robert Millan <rmh@aybabtu.com>
34098
34099 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
34100 grub_dprintf calls, since they make "debug=all" mode unusable.
34101 (grub_console_checkkey): Likewise.
34102
5882ae4b 341032008-01-23 Robert Millan <rmh@aybabtu.com>
34104
34105 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
34106 `term/i386/pc/at_keyboard.c'.
34107 (pkglib_MODULES): Add `serial.mod'.
34108 (serial_mod_SOURCES): New variable.
34109 (serial_mod_CFLAGS): Likewise.
34110 (serial_mod_LDFLAGS): Likewise.
34111
34112 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
34113 `<grub/powerpc/ieee1275/console.h>'.
34114 (grub_keyboard_controller_init): New function prototype.
34115 (grub_console_checkkey): Likewise.
34116 (grub_console_getkey): Likewise.
34117
34118 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
34119 keyboard on i386.
34120
34121 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
34122 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
34123
06ab5303 341242008-01-23 Robert Millan <rmh@aybabtu.com>
34125
34126 * kern/i386/pc/init.c (make_install_device): When memdisk image is
34127 present, "(memdisk)/boot/grub" becomes the default prefix.
34128
34129 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
34130 a memdisk tarball with all the modules. Add --overlay=DIR option that
34131 allows users to overlay additional files into the image.
34132
dbb475a4 341332008-01-23 Robert Millan <rmh@aybabtu.com>
34134
34135 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
34136 and `machine/memory.h'.
34137 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
34138 (_multiboot_mod_SOURCES): New variable.
34139 (_multiboot_mod_CFLAGS): Likewise.
34140 (_multiboot_mod_LDFLAGS): Likewise.
34141 (multiboot_mod_SOURCES): Likewise.
34142 (multiboot_mod_CFLAGS): Likewise.
34143 (multiboot_mod_LDFLAGS): Likewise.
34144
34145 * include/grub/i386/ieee1275/loader.h: New file.
34146
34147 * include/grub/i386/ieee1275/machine.h: Likewise.
34148
34149 * include/grub/i386/ieee1275/memory.h: Likewise.
34150
34151 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
34152 variable declaration.
34153 (grub_os_area_size): Likewise.
34154
34155 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
34156 (grub_lower_mem, grub_upper_mem): New variables.
34157 (grub_stop_floppy): New function (just to make
34158 grub_multiboot2_real_boot() happy).
34159
34160 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
34161 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
34162 (grub_stop): New function.
34163 Include `"../realmode.S"' and `"../loader.S"'.
34164
34165 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
34166 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
34167
34168 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
34169 rely on grub_multiboot2_real_boot() for final boot.
34170
25638629 341712008-01-22 Robert Millan <rmh@aybabtu.com>
34172
34173 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
34174 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
34175 device that doesn't look like an SD card.
34176 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
34177 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
34178 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
34179 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
34180 found.
34181
9dad816d 341822008-01-22 Robert Millan <rmh@aybabtu.com>
34183
34184 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
34185 avoid claiming over our own code.
34186
34842f2d 341872008-01-22 Bean <bean123ch@gmail.com>
34188
34189 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
34190 (jpeg_mod_SOURCES): New variable.
34191 (jpeg_mod_CFLAGS): Likewise.
34192 (jpeg_mod_LDFLAGS): Likewise.
34193
34194 * video/readers/jpeg.c : New file.
34195
44023a28 341962008-01-22 Bean <bean123ch@gmail.com>
34197
34198 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
34199 there are no more items.
34200
bc2d8ac6 342012008-01-21 Robert Millan <rmh@aybabtu.com>
34202
34203 * kern/mm.c (grub_mm_init_region): Improve debug message.
34204
261bd4bc 342052008-01-21 Robert Millan <rmh@aybabtu.com>
34206
34207 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
34208 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
34209 address.
34210 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
34211 a C macro.
34212 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
34213 Indicates start of upper memory.
34214 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
34215 (generate_image): Abort when image size is big enough to corrupt
34216 upper memory.
34217
34218 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
34219 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
34220 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
34221 instead of hardcoding 0xA0000.
34222 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
34223 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
34224 instead of hardcoding 0xA0000.
34225
f970b55e 342262008-01-21 Robert Millan <rmh@aybabtu.com>
34227
34228 * disk/memdisk.c (memdisk_size): New variable.
34229 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
34230 `memdisk_size'.
34231 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
34232 image to dynamic memory.
34233 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
34234 `memdisk_size'. Free memdisk block.
34235
1a8b0526 342362008-01-21 Robert Millan <rmh@aybabtu.com>
34237
34238 Fix detection of very small filesystems (like tar).
34239
34240 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
34241 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
34242 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
34243 a problem with this disk).
34244
6e9b4aab 342452008-01-21 Robert Millan <rmh@aybabtu.com>
34246
34247 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
34248 on grub_biosdisk_rw_standard() error.
34249
0d8837b2 342502008-01-21 Robert Millan <rmh@aybabtu.com>
34251
34252 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
34253 recent changes.
34254 * kern/elf.c: Likewise.
34255 * kern/ieee1275/ieee1275.c: Likewise.
34256 * kern/powerpc/ieee1275/openfw.c: Likewise.
34257 * term/ieee1275/ofconsole.c: Likewise.
34258
ffd36e34 342592008-01-21 Robert Millan <rmh@aybabtu.com>
34260
34261 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
34262
3f0093d0 34263 * include/grub/kernel.h (grub_arch_memdisk_addr)
34264 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 34265
3f0093d0 34266 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
34267 (grub_arch_memdisk_size): ... to here.
ffd36e34 34268
6c391b21 342692008-01-21 Robert Millan <rmh@aybabtu.com>
34270
34271 Mostly based on bugfix from Bean.
34272
34273 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
34274 attribute with hook() parameter.
34275 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
34276 declaration.
34277 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
34278 attribute with hook() parameter.
34279 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
34280 declaration.
34281
55a581dc 342822008-01-21 Robert Millan <rmh@aybabtu.com>
34283
34284 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
34285 (pkglib_MODULES): Add `memdisk.mod'.
34286 (memdisk_mod_SOURCES): New variable.
34287 (memdisk_mod_CFLAGS): Likewise.
34288 (memdisk_mod_LDFLAGS): Likewise.
34289
34290 * disk/memdisk.c: New file.
34291
34292 * include/grub/disk.h (grub_disk_dev_id): Add
34293 `GRUB_DISK_DEVICE_MEMDISK_ID'.
34294
34295 * include/grub/i386/pc/kernel.h
34296 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
34297 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
34298 (grub_kernel_image_size): New variable declaration.
34299 (grub_total_module_size): Likewise.
34300 (grub_memdisk_image_size): Likewise.
34301
34302 * include/grub/i386/pc/memory.h
34303 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
34304
34305 * include/grub/kernel.h: Include `<grub/symbol.h>'.
34306 (grub_arch_memdisk_addr): New variable declaration.
34307 (grub_arch_memdisk_size): Likewise.
34308
34309 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
34310 (grub_arch_memdisk_size): Likewise.
34311
34312 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
34313 (codestart): Replace hardcoded `0x100000' with
34314 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
34315
34316 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
34317 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
34318 not NULL, append the contents of the file it refers to, at the end of
34319 the compressed kernel image. Initialize `grub_memdisk_image_size'
34320 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
34321 (options): Add "memdisk"|'m' option.
34322 (main): Parse --memdisk|-m option, and pass user-provided path as
34323 parameter to generate_image().
34324
3d7f54c9 343252008-01-20 Robert Millan <rmh@aybabtu.com>
34326
34327 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
34328 grub_dprintf() calls from here ...
34329 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
34330
0bf74728 343312008-01-20 Robert Millan <rmh@aybabtu.com>
34332
34333 Fix detection of "real mode" when /options/real-mode? doesn't exist.
34334
34335 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
34336 declaration.
34337 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
34338 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
34339 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 34340 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 34341 property).
34342 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
34343 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
34344
33bf70a7 343452008-01-19 Robert Millan <rmh@aybabtu.com>
34346
fe6b695a 34347 Get rid of confusing function (superseded by
33bf70a7 34348 `grub_ieee1275_get_integer_property')
34349 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
34350 prototype.
34351 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
34352 function.
34353 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
34354 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 34355 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 34356
e2da7d26 343572008-01-19 Robert Millan <rmh@aybabtu.com>
34358
34359 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
34360 command after "shut-down", since implementations differ on which
34361 the command for halt is.
34362
59f1fd8d 343632008-01-19 Robert Millan <rmh@aybabtu.com>
34364
34365 * include/grub/i386/linuxbios/console.h: Add header protection.
34366 (grub_keyboard_controller_init): New function prototype.
34367 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
34368 (KEYBOARD_COMMAND_READ): Likewise.
34369 (KEYBOARD_COMMAND_WRITE): Likewise.
34370 (KEYBOARD_SCANCODE_SET1): Likewise.
34371 (grub_keyboard_controller_write): New function.
34372 (grub_keyboard_controller_read): Likewise.
34373 (grub_keyboard_controller_init): Likewise.
34374
34375 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
34376 (grub_console_init): On coreboot/LinuxBIOS, call
34377 grub_keyboard_controller_init().
34378
5f5a7c15 343792008-01-19 Robert Millan <rmh@aybabtu.com>
34380
34381 PowerPC changes provided by Pavel Roskin.
34382
34383 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
34384 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
34385 don't rely on cmain() doing it.
34386 * kern/i386/ieee1275/startup.S (_start): Store %eax in
34387 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
34388
1210e168 343892008-01-16 Robert Millan <rmh@aybabtu.com>
34390
34391 * include/grub/i386/linuxbios/memory.h
34392 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
34393 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
34394 receive `table_header' as argument. Instead, probe for it in the
34395 known memory ranges where it can be present.
34396 (grub_available_iterate): Do not pass a fixed `table_header' address
34397 to grub_linuxbios_table_iterate().
34398
3d04eab8 343992008-01-15 Robert Millan <rmh@aybabtu.com>
34400
34401 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
34402 * conf/i386-ieee1275.rmk: New file.
34403 * include/grub/i386/ieee1275/console.h: Likewise.
34404 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
34405 * include/grub/i386/ieee1275/kernel.h: Likewise.
34406 * include/grub/i386/ieee1275/time.h: Likewise.
34407 * kern/i386/ieee1275/init.c: Likewise.
34408 * kern/i386/ieee1275/startup.S: Likewise.
34409
d1bc1b73 344102008-01-15 Robert Millan <rmh@aybabtu.com>
34411
34412 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
34413 when pointers are 32-bit (but still do set it to one when they are
34414 64-bit).
34415
66a65807 344162008-01-15 Robert Millan <rmh@aybabtu.com>
34417
34418 * include/grub/ieee1275/ieee1275.h
34419 (grub_ieee1275_get_integer_property): New function prototype.
34420
34421 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
34422 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 34423 grub_ieee1275_get_property() to handle endianness.
66a65807 34424
34425 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
34426 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 34427 where appropriate.
66a65807 34428 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
34429 (grub_map): Likewise.
34430 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
34431
a83ccafd 344322008-01-15 Bean <bean123ch@gmail.com>
34433
34434 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
34435 (grub_script_execute_cmdline): Reset grub_errno.
34436
34437 * normal/main.c (read_config_file): Reset grub_errno.
34438
34439 * normal/parse.y (script_init): New.
34440 (script): Move function and menuentry here.
34441 (delimiter): New.
34442 (command): Add delimiter at the end of command.
34443 (commands): Adjust to match the new command.
34444 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 34445 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 34446 (if): Use the new commands.
34447
34448 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
34449
df6ecfc6 344502008-01-15 Robert Millan <rmh@aybabtu.com>
34451
34452 * normal/menu.c (run_menu): Move timeout message from here ...
34453 (print_timeout): ... to here.
34454 (run_menu): Use print_timeout() once during initial draw to print
34455 the whole message, and again in every clock tick to update only
34456 the number of seconds.
34457
87ae25eb 344582008-01-15 Robert Millan <rmh@aybabtu.com>
34459
34460 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
34461 actual size of `available' from grub_ieee1275_get_property(), and
34462 restrict parsing to that bound.
34463
47bf09a4 344642008-01-15 Christian Franke <franke@computer.org>
34465
34466 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
34467 (argp_program_version): Remove variable.
34468 (argp_program_bug_address): Likewise.
34469 (options): Convert from struct argp_option to struct option.
34470 (struct arguments): Remove.
34471 (parse_opt): Remove.
34472 (usage): New function.
34473 (main): Replace struct args members by simple variables.
34474 Replace argp_parse() by getopt_long().
34475 Add switch to evaluate options.
34476 Add missing "(...)" around root_dev in prefix string.
34477
c86f1469 344782008-01-14 Robert Millan <rmh@aybabtu.com>
34479
34480 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
34481 for grub_ieee1275_exit(), in order to improve portability.
34482
e622c559 344832008-01-14 Robert Millan <rmh@aybabtu.com>
34484
34485 * util/grub.d/10_linux.in (prefix): Define.
34486 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
34487
44cb1ec8 344882008-01-13 Pavel Roskin <proski@gnu.org>
34489
34490 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
34491 grub_errno if no errors have been detected.
34492
1eb8c802 344932008-01-12 Robert Millan <rmh@aybabtu.com>
34494
34495 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
34496 (grub_util_get_dev_abstraction): New function prototype.
34497
34498 * util/getroot.c: Include `<grub/util/getroot.h>'
34499 (grub_util_get_grub_dev): Move detection of abstraction type to ...
34500 (grub_util_get_dev_abstraction): ... here (new function).
34501
34502 * util/grub-probe.c: Convert PRINT_* to an enum. Add
34503 `PRINT_ABSTRACTION'.
34504 (probe): Probe for abstraction type when requested.
34505 (main): Understand `--target=abstraction'.
34506
34507 * util/i386/efi/grub-install.in: Add abstraction module to core
34508 image when it is found to be necessary.
34509 * util/i386/pc/grub-install.in: Likewise.
34510 * util/powerpc/ieee1275/grub-install.in: Likewise.
34511
34512 * util/update-grub_lib.in (font_path): Return system path without
34513 converting to GRUB path.
34514 * util/update-grub.in: Convert system path returned by font_path()
34515 to a GRUB path. Use `grub-probe -t abstraction' to determine what
34516 abstraction module is needed for loading fonts (if any). Export
34517 that as `GRUB_PRELOAD_MODULES'.
34518 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
34519 insmod commands).
34520
52bd3de9 345212008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
34522
34523 Remove some unused code from reiserfs.
f19dbdb7 34524
52bd3de9 34525 * fs/reiserfs.c (struct grub_reiserfs_key)
34526 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
34527 (struct grub_reiserfs_node_body): Removed.
34528 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34529 Likewise.
34530 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34531 Likewise.
34532 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34533 Likewise.
34534 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34535 Likewise.
34536 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34537 Likewise.
34538 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
34539 Likewise.
34540 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34541 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34542 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34543
2f80039d 345442008-01-10 Robert Millan <rmh@aybabtu.com>
34545
34546 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
34547 Determines if a file is garbage left by packaging systems, etc.
34548 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
34549 for processing /etc/grub.d scripts.
34550 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
34551 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
34552 as a condition for processing Linux images.
34553
87888032 345542008-01-10 Pavel Roskin <proski@gnu.org>
34555
34556 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
34557 to compile reiserfs.c on PowerPC.
34558
7e54fced 345592008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 34560
34561 * kern/device.c (grub_device_iterate): Do not abort device iteration
34562 when one of the devices cannot be opened.
34563 * kern/disk.c (grub_disk_open): Do not account previous failures of
34564 unrelated functions when grub_errno is checked for.
34565
5aa541e6 345662008-01-08 Robert Millan <rmh@aybabtu.com>
34567
34568 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
34569 `! grub_linux_is_bzimage', change order of address comparison to make
34570 it more intuitive, and improve "too big zImage" error message.
34571
7076340d 345722008-01-08 Robert Millan <rmh@aybabtu.com>
34573
34574 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
34575 `$(update-grub_DATA)'.
34576 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
34577 targets.
34578
9ca70333 345792008-01-07 Robert Millan <rmh@aybabtu.com>
34580
34581 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
34582 which instruction is modified by grub-setup during installation
34583 (since it wasn't obvious by only looking at this file).
34584
38ccf575 345852008-01-07 Robert Millan <rmh@aybabtu.com>
34586
34587 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
34588 listing actual TODO items.
34589
f5db4291 345902008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34591
868967cf 34592 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
34593 correctly.
34594 (grub_reiserfs_get_key_offset): Likewise.
34595 (grub_reiserfs_set_key_offset): Likewise.
34596 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 34597 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 34598
34599 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
34600 better to remove the bitfield version completely.
f19dbdb7 34601
868967cf 346022008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 34603
f5db4291 34604 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
34605 allocated from the heap, due to the fshelp implementation.
34606 (grub_reiserfs_dir): Free NODE, due to the same reason.
34607
492e6d9d 346082008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34609
34610 Mostly from Vincent Pelletier:
f19dbdb7 34611
492e6d9d 34612 * fs/reiserfs.c: New file.
f19dbdb7 34613
492e6d9d 34614 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
34615 (reiserfs_mod_SOURCES): New variable.
34616 (reiserfs_mod_CFLAGS): Likewise.
34617 (reiserfs_mod_LDFLAGS): Likewise.
34618
34619 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
34620 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
34621 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
34622 normal/color.c.
34623
9ce3e7c1 346242008-01-06 Robert Millan <rmh@aybabtu.com>
34625
34626 * normal/color.c: Remove `<grub/env.h>'.
34627
f3b58148 346282008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
34629
34630 * include/grub/normal.h: Include <grub/env.h>.
34631
7ac3bcfa 346322008-01-05 Robert Millan <rmh@aybabtu.com>
34633
34634 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
34635 usage example with `(hd0,1)'.
fb358190 34636 Reported by Samuel Thibault.
7ac3bcfa 34637
c8ee99d7 346382008-01-05 Robert Millan <rmh@aybabtu.com>
34639
34640 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
34641 (grub_linux_boot_zimage): Rename to ...
34642 (grub_linux_boot): ... this.
34643 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
34644 (grub_linux_boot_zimage): Conditionalize zImage copy.
34645
34646 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
34647 (grub_linux_boot_bzimage): Remove prototype.
34648 (grub_linux_boot_zimage): Rename to ...
34649 (grub_linux_boot): ... this.
34650
34651 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
34652 (grub_linux_boot): Remove function.
34653
0ece25b1 346542008-01-05 Robert Millan <rmh@aybabtu.com>
34655
34656 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
34657 (grub_env_write_color_highlight): Likewise.
34658 (grub_wait_after_message): Likewise.
34659
34660 * normal/color.c: New file.
34661
34662 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34663 (normal_mod_DEPENDENCIES): Likewise.
34664
34665 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34666 (normal_mod_DEPENDENCIES): Likewise.
34667
34668 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34669 (normal_mod_DEPENDENCIES): Likewise.
34670
34671 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34672 (normal_mod_DEPENDENCIES): Likewise.
34673
34674 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
34675 for waiting after a message is printed.
34676 * normal/main.c (read_config_file): Likewise.
34677 (grub_normal_init): Register grub_env_write_color_normal() and
34678 grub_env_write_color_highlight() hooks. Mark `color_normal' and
34679 `color_highlight' variables as global.
34680
34681 * normal/menu.c (grub_wait_after_message): New function.
34682 (grub_color_menu_normal): New variable. Replaces ...
34683 (GRUB_COLOR_MENU_NORMAL): ... this macro.
34684 (grub_color_menu_highlight): New variable. Replaces ...
34685 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
34686 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
34687 `GRUB_TERM_COLOR_STANDARD'.
34688 (print_message): Use `grub_setcolorstate' to reload colors. Rename
34689 `normal_code' and `highlight_code' to `old_color_normal' and
34690 `old_color_highlight', respectively.
34691 (grub_menu_init_page): Update colors when drawing the menu, based on
34692 `menu_color_normal' and `menu_color_highlight' variables.
34693 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
34694 a message is printed.
34695
182dd4e5 346962008-01-05 Robert Millan <rmh@aybabtu.com>
34697
34698 * kern/env.c (grub_env_context_open): Propagate hooks for global
34699 variables to new context.
34700
34701 * kern/main.c (grub_set_root_dev): Export `root' variable.
34702
ddf8f6ad 347032008-01-05 Robert Millan <rmh@aybabtu.com>
34704
34705 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 34706 discs unconditionally, since udev and others have options to provide
ddf8f6ad 34707 them.
34708
d8b43d9b 347092008-01-05 Robert Millan <rmh@aybabtu.com>
34710
34711 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
34712
2bff2de3 347132008-01-04 Christian Franke <franke@computer.org>
34714
34715 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
34716 of eisa_mmap.
34717
97eab917 347182008-01-03 Pavel Roskin <proski@gnu.org>
34719
34720 * kern/i386/linuxbios/init.c: Put "void" to all function
34721 declarations with no arguments.
34722 * kern/powerpc/ieee1275/init.c: Likewise.
34723 * term/i386/pc/at_keyboard.c: Likewise.
34724 * term/i386/pc/vga_text.c: Likewise.
34725 * util/grub-mkdevicemap.c: Likewise.
34726
b9416d00 347272008-01-02 Robert Millan <rmh@aybabtu.com>
34728
34729 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
34730 message when loaded image is out of bounds.
34731 (grub_multiboot_load_elf64): Likewise.
34732
92695df9 347332008-01-02 Pavel Roskin <proski@gnu.org>
34734
34735 * util/grub.d/10_linux.in: Try version without ".old" when
34736 looking for initrd. It's better to use initrd from the newer
34737 kernel of the same version than no initrd at all.
34738
d98d9cad 347392008-01-01 Robert Millan <rmh@aybabtu.com>
34740
34741 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
34742
dbfdce36 347432008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
34744
f19dbdb7 34745 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 34746 grub_video_get_active_render_target.
34747 (grub_video_adapter): Added unmap_color and get_active_render_target.
34748
f19dbdb7 34749 * video/video.c: Added grub_video_unmap_color and
dbfdce36 34750 grub_video_get_active_render_target.
34751 (grub_video_get_info): Changed method to accept NULL pointer as an
34752 argument to allow detection of active video adapter.
34753
34754 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
34755 grub_video_vbe_unmap_color_int.
34756 Added grub_video_vbe_unmap_color and
34757 grub_video_vbe_get_active_render_target.
34758 (grub_video_vbe_adapter): Added unmap_color and
34759 get_active_render_target.
34760
f19dbdb7 34761 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 34762 with grub_video_vbe_unmap_color_int.
34763
34764 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
34765 (DEFAULT_NORMAL_COLOR): Likewise.
34766 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
34767 (DEFAULT_FG_COLOR): Removed.
34768 (DEFAULT_BG_COLOR): Likewise.
34769 (DEFAULT_CURSOR_COLOR): Changed value.
34770 (grub_virtual_screen): Added standard_color_setting,
34771 normal_color_setting, highlight_color_setting and term_color.
34772 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
34773 (bitmap_width): Added.
34774 (bitmap_height): Likewise.
34775 (bitmap): Likewise.
34776 (set_term_color): Likewise.
34777 (grub_virtual_screen_setup): Changed to use new terminal coloring
34778 settings.
34779 (grub_gfxterm_init): Added init for bitmap.
34780 (grub_gfxterm_fini): Added destroy for bitmap.
34781 (redraw_screen_rect): Updated to use background bitmap and new
34782 terminal coloring.
34783 (scroll_up): Added optimization for case when there is no bitmap.
34784 (grub_gfxterm_cls): Fixed to use correct background color.
34785 (grub_virtual_screen_setcolorstate): Changed to use new terminal
34786 coloring.
34787 (grub_virtual_screen_setcolor): Likewise.
34788 (grub_virtual_screen_getcolor): Added.
34789 (grub_gfxterm_background_image_cmd): Likewise.
34790 (grub_video_term): Added setcolor and getcolor.
34791 (MOD_INIT): Added registration of background_image command.
34792 (MOD_TERM): Added unregistration for background_image command.
34793
c3c20931 347942007-12-30 Pavel Roskin <proski@gnu.org>
34795
34796 * loader/multiboot_loader.c: Fix multiboot command
34797 unregistration. Fix all typos in the word "multiboot".
34798
df266716 347992007-12-29 Pavel Roskin <proski@gnu.org>
94239199 34800
34801 * util/grub.d/10_linux.in: Refactor search for initrd. Add
34802 support for initrd names used in Fedora.
34803
fc6e896c 348042007-12-26 Bean <bean123ch@gmail.com>
34805
34806 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
34807 (cpio_mod_SOURCES): New variable.
34808 (cpio_mod_CFLAGS): Likewise.
34809 (cpio_mod_LDFLAGS): Likewise.
34810
34811 * fs/cpio.c: New file.
34812
34813 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
34814
34815 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34816
34817 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34818
34819 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34820
533110ad 348212007-12-25 Robert Millan <rmh@aybabtu.com>
34822
34823 * include/grub/term.h (struct grub_term): Add `getcolor' function.
34824 (grub_getcolor): New function.
34825
34826 * kern/term.c (grub_getcolor): New function.
34827 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
34828 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
34829 (print_entry): Set normal and highlight colors to
34830 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
34831 respectively, before printing and restore them to old
34832 values afterwards.
34833 (grub_menu_init_page): Likewise. Fill an additional colored space
34834 that would otherwise be left blank.
34835
34836 * term/efi/console.c (grub_console_getcolor): New function.
34837 (struct grub_console_term.getcolor): New variable.
34838 * term/i386/pc/console.c (grub_console_getcolor): New function.
34839 (struct grub_console_term.getcolor): New variable.
34840 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
34841 (struct grub_console_term.getcolor): New variable.
34842
34843 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
34844 (struct grub_console_term.setcolor): Remove variable.
34845 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
34846 (struct grub_console_term.setcolor): Remove variable.
34847 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
34848 (struct grub_console_term.setcolor): Remove variable.
34849 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
34850 (struct grub_console_term.setcolor): Remove variable.
34851
4931827f 348522007-12-25 Robert Millan <rmh@aybabtu.com>
34853
34854 * configure.ac: Search for possible unifont.hex locations, and
34855 define UNIFONT_HEX if found.
34856
34857 * Makefile.in (UNIFONT_HEX): Define variable.
34858 (DATA): Rename to ...
34859 (PKGLIB): ... this. Update all users.
34860 (PKGDATA): New variable.
34861 (pkgdata_IMAGES): Rename to ...
34862 (pkglib_IMAGES): ... this. Update all users.
34863 (pkgdata_MODULES): Rename to ...
34864 (pkglib_MODULES): ... this. Update all users.
34865 (pkgdata_PROGRAMS): Rename to ...
34866 (pkglib_PROGRAMS): ... this. Update all users.
34867 (pkgdata_DATA): Rename to ...
34868 (pkglib_DATA): ... this. Update all users.
34869 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
34870 (unicode.pff, ascii.pff): New rules.
34871 (all-local): Add `$(PKGDATA)' dependency.
34872 (install-local): Process `$(PKGDATA)'.
34873
34874 * util/update-grub_lib.in (font_path): Search for *.pff files in
34875 a few more locations, including `${pkgdata}'.
34876
57e57e31 348772007-12-23 Robert Millan <rmh@aybabtu.com>
34878
34879 Patch from Bean <bean123ch@gmail.com>:
34880 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
34881 `size'.
34882
4bc72aa9 348832007-12-21 Bean <bean123ch@gmail.com>
34884
34885 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
34886 (ntfscomp_mod_SOURCES): New variable.
34887 (ntfscomp_mod_CFLAGS): Likewise.
34888 (ntfscomp_mod_LDFLAGS): Likewise.
34889
34890 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
34891 (grub_probe_SOURCES): Likewise.
34892 (grub_emu_SOURCES): Likewise.
34893
34894 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34895 (grub_emu_SOURCES): Likewise.
34896
34897 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34898 (grub_emu_SOURCES): Likewise.
34899
34900 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34901 (grub_emu_SOURCES): Likewise.
34902
34903 * fs/ntfs.c (grub_ntfscomp_func): New variable.
34904 (read_run_list): Renamed to grub_ntfs_read_run_list.
34905 (decomp_nextvcn): Moved to ntfscomp.c.
34906 (decomp_getch): Likewise.
34907 (decomp_get16): Likewise.
34908 (decomp_block): Likewise.
34909 (read_block): Likewise.
34910 (read_data): Partially moved to ntfscomp.c.
34911 (fixup): Change unsigned to grub_uint16_t.
34912 (read_mft): Change unsigned long to grub_uint32_t.
34913 (read_attr): Likewise.
34914 (read_data): Likewise.
34915 (read_run_data): Likewise.
34916 (read_run_list): Likewise.
34917 (read_mft): Likewise.
34918
34919 * fs/ntfscomp.c: New file.
34920
34921 * include/grub/ntfs.h: New file.
34922
af680a87 349232007-12-16 Robert Millan <rmh@aybabtu.com>
34924
34925 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
34926 IDE disk check, since Linux is known to support 20 IDE disks.
34927 Reported by Colin Watson.
34928
84be7599 349292007-12-15 Bean <bean123ch@gmail.com>
34930
34931 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
34932 (lnxboot_img_SOURCES): New variable.
34933 (lnxboot_img_ASFLAGS): Likewise.
34934 (lnxboot_img_LDFLAGS): Likewise.
34935
34936 * boot/i386/pc/lnxboot.S: New file.
34937
6af9db01 349382007-11-24 Pavel Roskin <proski@gnu.org>
34939
34940 * configure.ac: Test if '--build-id=none' is supported by the
34941 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
34942 objcopy to generate incorrect binary files (binutils
34943 2.17.50.0.18-1 as shipped by Fedora 8).
34944 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
34945 linking, so that build ID doesn't break the test.
34946
7361cfe6 349472007-11-24 Pavel Roskin <proski@gnu.org>
34948
34949 * include/grub/i386/time.h: use "void" in the argument list
34950 of grub_cpu_idle().
34951 * include/grub/powerpc/time.h: Likewise.
34952 * include/grub/sparc64/time.h: Likewise.
34953
1593e10c 349542007-11-18 Christian Franke <franke@computer.org>
34955
34956 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
34957 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
34958 This fixes the problem that function keys did not work in grub-emu.
34959
3b8db1a8 349602007-11-18 Christian Franke <franke@computer.org>
34961
34962 * disk/host.c (grub_host_open): Remove attribute unused from
34963 name parameter. Add check for "host". This fixes the problem
34964 that grub-emu does not find partitions.
34965
2e29408d 349662007-11-18 Christian Franke <franke@computer.org>
34967
34968 * util/hostfs.c (is_dir): New function.
34969 (grub_hostfs_dir): Handle missing dirent.d_type case.
34970 (grub_hostfs_read): Add missing fseek().
34971 (grub_hostfs_label): Clear label pointer. This fixes a crash
34972 of grub-emu on "ls (host)".
34973
398cd047 349742007-11-18 Christian Franke <franke@computer.org>
34975
34976 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
34977 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
34978 to 64 bit boundary by default.
34979
c405c391 349802007-11-18 Bean <bean123ch@gmail.com>
34981
34982 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
34983 (hexdump_mod_SOURCES): New variable.
34984 (hexdump_mod_CFLAGS): Likewise.
34985 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 34986
c405c391 34987 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34988
34989 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34990
34991 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34992
34993 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34994
34995 * include/grub/hexdump.h: New file.
34996
34997 * commands/hexdump.c: New file.
34998
5cced7fd 349992007-11-10 Robert Millan <rmh@aybabtu.com>
35000
35001 * commands/i386/pc/play.c (beep_off): Switch order of arguments
35002 in grub_outb() calls.
35003 (beep_on): Likewise.
35004
8b714eb0 350052007-11-10 Christian Franke <franke@computer.org>
35006
35007 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
35008 (grub_menu_run): Likewise.
35009
ce0f1839 350102007-11-10 Robert Millan <rmh@aybabtu.com>
35011
35012 * include/grub/i386/efi/machine.h: New file.
35013 * include/grub/i386/linuxbios/machine.h: Likewise.
35014 * include/grub/i386/pc/machine.h: Likewise.
35015 * include/grub/powerpc/ieee1275/machine.h: Likewise.
35016 * include/grub/sparc64/ieee1275/machine.h: Likewise.
35017
35018 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
35019 (serial_hw_io_addr): New variable.
35020 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
35021 instead of `(unsigned short *) 0x400'.
35022
270c237d 350232007-11-10 Bean <bean123ch@gmail.com>
35024
35025 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
35026
a87783bf 350272007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
35028
35029 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
35030 (vga_mod_SOURCES): Added.
35031 (vga_mod_CFLAGS): Likewise.
35032 (vga_mod_LDFLAGS): Likewise.
35033
35034 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
35035 grub_outb() calls.
35036 (set_map_mask): Likewise.
35037 (set_read_map): Likewise.
35038 (set_read_address): Likewise.
35039 (vga_font): Removed variable.
35040 (get_vga_glyph): Removed function.
35041 (invalidate_char): Likewise.
35042 (write_char): Changed to use grub_font_get_glyph() for font
35043 information.
35044 (grub_vga_putchar): Likewise.
35045 (grub_vga_getcharwidth): Likewise.
35046
6433b448 350472007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
35048
35049 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
35050 flags.
35051 (pxeboot_img_LDFLAGS): Likewise.
35052 (diskboot_img_LDFLAGS): Likewise.
35053 (kernel_img_LDFLAGS): Likewise.
35054
49178511 350552007-11-06 Robert Millan <rmh@aybabtu.com>
35056
35057 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
35058 in grub_outb() calls.
35059 (serial_hw_init): Likewise.
35060
53b052de 350612007-11-05 Robert Millan <rmh@aybabtu.com>
35062
35063 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
35064 spaces. Skip non-regular files.
35065
5ab33bba 350662007-11-05 Robert Millan <rmh@aybabtu.com>
35067
35068 * kern/disk.c (grub_disk_firmware_fini)
35069 (grub_disk_firmware_is_tainted): New variables.
35070
35071 * include/grub/disk.h (grub_disk_firmware_fini)
35072 (grub_disk_firmware_is_tainted): Likewise.
35073
35074 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
35075 (grub_disk_biosdisk_fini): ... to here.
35076 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
35077 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
35078 is set. Register grub_disk_biosdisk_fini() in
35079 `grub_disk_firmware_fini'.
35080
35081 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
35082 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
35083 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
35084 to finish existing firmware disk interface.
35085
35086 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
35087 (ata_mod_SOURCES): New variable.
35088 (ata_mod_CFLAGS): Likewise.
35089 (ata_mod_LDFLAGS): Likewise.
35090
0149ab7c 350912007-11-05 Robert Millan <rmh@aybabtu.com>
35092
35093 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
35094 (grub_ata_wait): Reimplement using grub_millisleep().
35095
35096 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
35097 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
35098
be7ac41e 350992007-11-03 Marco Gerards <marco@gnu.org>
35100
35101 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
35102 (CRTC_ADDR_PORT): New macro.
35103 (CRTC_DATA_PORT): Likewise.
35104 (CRTC_CURSOR): Likewise.
35105 (CRTC_CURSOR_ADDR_HIGH): Likewise.
35106 (CRTC_CURSOR_ADDR_LOW): Likewise.
35107 (update_cursor): New function.
35108 (grub_console_real_putchar): Call `update_cursor'.
35109 (grub_console_gotoxy): Likewise.
35110 (grub_console_cls): Set the default color when clearing the
35111 screen.
35112 (grub_console_setcursor): Implemented.
35113
bb06ab2e 351142007-11-03 Marco Gerards <marco@gnu.org>
35115
35116 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
35117 become activate.
35118 (grub_ata_pio_write): Likewise.
35119
35120 (grub_atapi_identify): Wait after issuing an ATA command.
35121 (grub_atapi_packet): Likewise.
35122 (grub_ata_identify): Likewise.
35123 (grub_ata_readwrite): Likewise.
35124
cf8f780b 351252007-11-03 Marco Gerards <marco@gnu.org>
35126
35127 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
35128 (grub_ata_pio_write): Likewise.
35129 (grub_ata_readwrite): Use `grub_error', instead of
35130 returning `grub_errno'.
35131
ed649e54 351322007-11-03 Marco Gerards <marco@gnu.org>
35133
35134 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
35135 grub_ata_pio_write once for every single sector, instead of for
35136 multiple sectors.
35137
ca25d8f0 351382007-10-31 Robert Millan <rmh@aybabtu.com>
35139
35140 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
35141
35142 * conf/i386-linuxbios.rmk: New file.
35143
35144 * kern/i386/pc/hardware.c: Likewise.
35145 * term/i386/pc/at_keyboard.c: Likewise.
35146 * term/i386/pc/vga_text.c: Likewise.
35147
35148 * include/grub/i386/linuxbios/boot.h: Likewise.
35149 * include/grub/i386/linuxbios/console.h: Likewise.
35150 * include/grub/i386/linuxbios/init.h: Likewise.
35151 * include/grub/i386/linuxbios/kernel.h: Likewise.
35152 * include/grub/i386/linuxbios/loader.h: Likewise.
35153 * include/grub/i386/linuxbios/memory.h: Likewise.
35154 * include/grub/i386/linuxbios/serial.h: Likewise.
35155 * include/grub/i386/linuxbios/time.h: Likewise.
35156
35157 * kern/i386/linuxbios/init.c: Likewise.
35158 * kern/i386/linuxbios/startup.S: Likewise.
35159 * kern/i386/linuxbios/table.c: Likewise.
35160
e911ecc1 351612007-10-31 Marco Gerards <marco@gnu.org>
35162
35163 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
35164 (ata_mod_SOURCES): New variable.
35165 (ata_mod_CFLAGS): Likewise.
35166 (ata_mod_LDFLAGS): Likewise.
35167
35168 * disk/ata.c: New file.
35169
35170 * include/grub/disk.h (grub_disk_dev_id): Add
35171 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 35172
7f66d0e0 351732007-10-31 Robert Millan <rmh@aybabtu.com>
35174
35175 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
35176 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
35177
35178 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
35179 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
35180
35181 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
35182 `<grub/types.h>'.
35183
35184 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
35185
5cd7dd46 351862007-10-27 Robert Millan <rmh@aybabtu.com>
35187
3236ca65 35188 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 35189
2ebfc90f 351902007-10-22 Robert Millan <rmh@aybabtu.com>
35191
35192 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
35193 `"../realmode.S"'.
35194 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
35195
73fcb0f3 351962007-10-22 Robert Millan <rmh@aybabtu.com>
35197
35198 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
35199 (pkgdata_MODULES): Add `biosdisk.mod'.
35200 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
35201 variables.
35202
35203 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
35204 (grub_biosdisk_init): Replace with ...
35205 (GRUB_MOD_INIT(biosdisk)): ... this.
35206 (grub_biosdisk_fini): Replace with ...
35207 (GRUB_MOD_FINI(biosdisk)): ... this.
35208
35209 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
35210 (grub_machine_init): Remove call to grub_biosdisk_init().
35211 (grub_machine_fini): Remove call to grub_machine_fini().
35212
35213 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
35214
3381d274 352152007-10-22 Robert Millan <rmh@aybabtu.com>
35216
35217 * include/grub/time.h: New file.
35218 * include/grub/i386/time.h: Likewise.
35219 * include/grub/powerpc/time.h: Likewise.
35220 * include/grub/sparc64/time.h: Likewise.
35221
35222 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
35223 instances to ...
35224 (KERNEL_MACHINE_TIME_HEADER): ... this.
35225 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
35226 instances to ...
35227 (KERNEL_MACHINE_TIME_HEADER): ... this.
35228 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
35229 instances to ...
35230 (KERNEL_MACHINE_TIME_HEADER): ... this.
35231
35232 * kern/i386/efi/init.c: Include `<grub/time.h>'.
35233 (grub_millisleep): New function.
35234 * kern/i386/pc/init.c: Include `<grub/time.h>'.
35235 (grub_millisleep): New function.
35236 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
35237 Remove `grub/machine/time.h' include.
35238 (grub_millisleep): New function.
35239 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
35240 Remove `grub/machine/time.h' include.
35241 (grub_millisleep): New function.
35242
35243 * include/grub/misc.h (grub_div_roundup): New function.
35244
35245 * kern/misc.c: Include `<grub/time.h>'.
35246 (grub_millisleep_generic): New function.
35247
35248 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
35249 Add `time.h'.
35250 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
35251 Add `time.h'.
35252 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
35253 `machine/time.h'. Add `time.h'.
35254 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
35255
a39a0312 352562007-10-21 Robert Millan <rmh@aybabtu.com>
35257
35258 * include/grub/misc.h (grub_max): New function.
35259
2aad70e2 352602007-10-21 Robert Millan <rmh@aybabtu.com>
35261
35262 * util/misc.c (grub_util_info): Call fflush() before returning.
35263
54b71c4b 352642007-10-20 Robert Millan <rmh@aybabtu.com>
35265
35266 * genmk.rb (Image): Copy `extra_flags' from here ...
35267 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
35268
35269 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
35270 to `argc' and `args' arguments.
35271
a979f513 352722007-10-17 Robert Millan <rmh@aybabtu.com>
35273
35274 * kern/i386/loader.S: New file.
35275
35276 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
35277 * kern/i386/loader.S (grub_linux_prot_size)... to here.
35278 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
35279 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
35280 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
35281 * kern/i386/loader.S (grub_linux_real_addr)... to here.
35282 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
35283 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
35284 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
35285 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
35286 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
35287 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
35288 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
35289 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
35290
35291 * kern/i386/realmode.S: New file.
35292
35293 * kern/i386/pc/startup.S (protstack): Moved from here ...
35294 * kern/i386/realmode.S (protstack)... to here.
35295 * kern/i386/pc/startup.S (gdt): Moved from here ...
35296 * kern/i386/realmode.S (gdt)... to here.
35297 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
35298 * kern/i386/realmode.S (prot_to_real)... to here.
35299
35300 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
35301 `kern/i386/realmode.S'.
35302
825fc8fd 353032007-10-17 Robert Millan <rmh@aybabtu.com>
35304
35305 * include/grub/i386/loader.h: New file.
35306
35307 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
35308 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
35309 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
35310 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
35311 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
35312 * include/grub/i386/loader.h (grub_linux_prot_size)
35313 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
35314 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
35315 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
35316 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
35317
35318 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
35319
e179b2f4 353202007-10-15 Robert Millan <rmh@aybabtu.com>
35321
35322 * normal/misc.c (grub_normal_print_device_info): Do not probe for
35323 filesystem when dev->disk is unset.
35324 Do probe for filesystem even when dev->disk->has_partitions is set.
35325 In case a filesystem is found, always report it.
35326 In case it isn't, if dev->disk->has_partitions is set, report that
35327 a partition table was found instead of reporting that no filesystem
35328 could be identified.
35329
5db82af6 353302007-10-12 Robert Millan <rmh@aybabtu.com>
35331
35332 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
35333 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
35334
68f6ac74 35335 * include/grub/types.h (grub_host_to_target16): New macro.
35336 (grub_host_to_target32): Likewise.
35337 (grub_host_to_target64): Likewise.
35338 (grub_target_to_host16): Likewise.
35339 (grub_target_to_host32): Likewise.
35340 (grub_target_to_host64): Likewise.
5db82af6 35341
35342 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
35343 Renamed from to ...
35344 (GRUB_MOD_ALIGN): ...this. Update all users.
35345
68f6ac74 35346 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
35347 grub_host_to_target32.
35348 Replace grub_be_to_cpu32 with grub_target_to_host32.
35349 (load_modules): Likewise.
35350 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
35351 Replace grub_be_to_cpu32 with grub_target_to_host32.
35352 Replace grub_cpu_to_be16 with grub_host_to_target16.
35353 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 35354
3cf497cc 353552007-10-12 Robert Millan <rmh@aybabtu.com>
35356
35357 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
35358 * util/elf/grub-mkimage.c: ... here.
35359
35360 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
35361 `util/powerpc/ieee1275/grub-mkimage.c'.
35362
c8cc3692 353632007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 35364
c8cc3692 35365 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
35366 and make it easier to figure out.
35367 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
35368 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
35369 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
35370 leave us with less than HEAP_MIN_SIZE total heap.
35371 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 35372
5c58b791 353732007-10-03 Robert Millan <rmh@aybabtu.com>
35374
35375 * include/grub/i386/io.h: New file.
35376 * commands/i386/pc/play.c (inb): Removed.
35377 (outb): Removed.
35378 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35379 with grub_outb().
afcd2ef8 35380 * term/i386/pc/serial.c (inb): Removed.
35381 (outb): Removed.
35382 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35383 with grub_outb().
35384 * term/i386/pc/vga.c (inb): Removed.
35385 (outb): Removed.
35386 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
35387 with grub_outb().
5c58b791 35388
1a477ed6 353892007-10-02 Robert Millan <rmh@aybabtu.com>
35390
35391 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
35392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35393 Reported by Marcin Kurek.
35394
6b5d80fa 353952007-09-07 Robert Millan <rmh@aybabtu.com>
35396
35397 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
35398 SmartFirmware version updates (as released by Sven Luther), and avoid
35399 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
35400 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
35401 known broken.
35402
5618afbf 354032007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35404
35405 From Hitoshi Ozeki:
35406 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
35407 when merging two regions.
35408
6139dcd9 354092007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35410
508e39ee 35411 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
35412 * normal/completion.c (grub_normal_do_completion): Likewise.
35413 Reported by Hitoshi Ozeki.
35414
354152007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35416
6139dcd9 35417 Do not use devices at boot in chainloading.
f19dbdb7 35418
6139dcd9 35419 * loader/i386/pc/chainloader.c (boot_drive): New variable.
35420 (boot_part_addr): Likewise.
35421 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
35422 with BOOT_DRIVE and BOOT_PART_ADDR.
35423 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
35424 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
35425
38da6516 354262007-08-29 Robert Millan <rmh@aybabtu.com>
35427
35428 Patch from Simon Peter <dn.tlp@gmx.net>:
35429 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
35430 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
35431 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
35432 util/i386/pc/grub-setup.c_DEPENDENCIES.
35433 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
35434 util/grub-probe.c_DEPENDENCIES.
35435 * conf/powerpc-ieee1275.rmk: Likewise.
35436
29d0928c 354372007-08-28 Robert Millan <rmh@aybabtu.com>
35438
35439 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
35440 to tell grub-mkdevicemap how to name devices.
35441 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
35442 feature).
35443
35444 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
35445 util/i386/get_disk_name.c.
35446 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
35447 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
35448 util/ieee1275/get_disk_name.c.
35449
35450 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
35451
35452 * DISTLIST: Add util/i386/get_disk_name.c and
35453 util/ieee1275/get_disk_name.c.
35454
35455 * util/grub-mkdevicemap.c: Replace device naming logic with
35456 grub_util_get_disk_name() calls.
35457
5a0d3cca 354582007-08-20 Robert Millan <rmh@aybabtu.com>
35459
35460 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
35461 (so that it works for both plural and singular quantities).
35462
8b72db2f 354632007-08-05 Robert Millan <rmh@aybabtu.com>
35464
35465 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
35466 so that [xz] isn't taken into account when determining order.
35467
352466bf 354682007-08-02 Marco Gerards <marco@gnu.org>
35469
35470 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
35471 `include/multiboot2.h', `include/grub/elfload.h',
35472 `include/multiboot.h', `include/grub/multiboot.h',
35473 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
35474 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
35475 `kern/elf.c', `loader/multiboot_loader.c',
35476 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
35477 `loader/i386/pc/multiboot2.c',
35478 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
35479 `util/i386/pc/grub-mkrescue.in'. Remove
35480 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
35481 `include/grub/i386/pc/util/biosdisk.h' and
35482 `include/grub/powerpc/ieee1275/multiboot.h'.
35483
8f096014 354842007-08-02 Bean <bean123ch@gmail.com>
35485
35486 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
35487 (ntfs_mod_SOURCES): New variable.
35488 (ntfs_mod_CFLAGS): Likewise.
35489 (ntfs_mod_LDFLAGS): Likewise.
35490
35491 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
35492 (grub_probe_SOURCES): Likewise.
35493 (grub_emu_SOURCES): Likewise.
35494
35495 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
35496 (grub_emu_SOURCES): Likewise.
35497
35498 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
35499 (grub_emu_SOURCES): Likewise.
f19dbdb7 35500
8f096014 35501 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
35502
35503 * fs/ntfs.c: New file.
35504
9959f7db 355052007-08-02 Bean <bean123ch@gmail.com>
35506
35507 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
35508
35509 * file.h (grub_file): Likewise.
35510
35511 * fshelp.h (grub_fshelp_read_file): Likewise.
35512
35513 * util/i386/pc/grub-setup.c (setup): Likewise.
35514 (save_first_sector): Likewise.
35515 (save_blocklists): Likewise.
f19dbdb7 35516
9959f7db 35517 * fs/affs.c (grub_affs_read_file): Likewise.
35518
35519 * fs/ext2.c (grub_ext2_read_file): Likewise.
35520
35521 * fs/fat.c (grub_fat_read_data): Likewise.
35522
35523 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
35524
35525 * fs/hfs.c (grub_hfs_read_file): Likewise.
35526
35527 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
35528
35529 * fs/jfs.c (grub_jfs_read_file): Likewise.
35530
35531 * fs/minix.c (grub_minix_read_file): Likewise.
35532
35533 * fs/sfs.c (grub_sfs_read_file): Likewise.
35534
35535 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 35536
9959f7db 35537 * fs/xfs.c (grub_xfs_read_file): Likewise.
35538
35539 * command/blocklist.c (read_blocklist): Likewise.
35540 (print_blocklist): Likewise.
35541
0a203f83 355422007-08-02 Marco Gerards <marco@gnu.org>
35543
35544 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
35545 `util/hostfs.c'.
35546
35547 * disk/host.c: New file.
35548
35549 * util/hostfs.c: Likewise.
35550
35551 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
35552 return `GRUB_ERR_BAD_FS'.
35553 * fs/sfs.c (grub_sfs_mount): Likewise.
35554 * fs/xfs.c (grub_xfs_mount): Likewise.
35555
35556 * include/grub/disk.h (enum grub_disk_dev_id): Add
35557 `GRUB_DISK_DEVICE_HOST_ID'.
35558
35559 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
35560
e5dfe777 355612007-07-24 Jerone Young <jerone@gmail.com>
35562
f19dbdb7 35563 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 35564 modules for compilation.
35565 * conf/powerpc-ieee1275.rmk: Likewise.
35566
35567 * include/multiboot.h: Move multiboot definitions to one file. Rename
35568 many definitions to not get grub specific.
35569 * include/multiboot2.h: Create header with multiboot 2 definitions.
35570 * include/grub/multiboot.h: Header for grub specific function
35571 prototypes and definitions.
35572 * include/grub/multiboot2.h: Likewise.
35573 * include/grub/multiboot_loader.h: Likewise.
35574 * include/grub/i386/pc/multiboot.h: Removed.
35575 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
35576
35577 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
35578 and 2 to allow for one multiboot and module commands.
35579 * loader/multiboot2.c: Add multiboot2 functionality.
35580 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
35581 and definition names.
35582 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
35583 2 functions.
35584 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
35585 ieee1275 specific multiboot2 code.
35586
35587 * kern/i386/pc/startup.S: Change headers and definition names for
35588 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
35589
daf0f0ba 355902007-07-22 Robert Millan <rmh@aybabtu.com>
35591
35592 * geninitheader.sh: Process file specified in first parameter rather
35593 than hardcoding grub_modules_init.lst.
fe6b695a 35594 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 35595 than hardcoding grub_modules_init.h.
35596
35597 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
35598 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
35599 grub_probe_init.[ch] and grub_setup_init.[ch].
35600
35601 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
35602 grub_modules_init.h with grub_emu_init.h.
35603 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
35604 grub_probe_init.[ch] files.
35605 * conf/i386-efi.rmk: Likewise.
35606 * conf/i386-pc.rmk: Likewise.
35607 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
35608 grub_setup_init.[ch] files.
35609
35610 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
35611 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
35612 to initialize modules rather than a list of hardcoded functions.
35613 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
35614 grub_init_all() to initialize modules rather than a list of hardcoded
35615 functions.
35616
54cdc1cc 356172007-07-22 Robert Millan <rmh@aybabtu.com>
35618
35619 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
35620 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
35621
ad0686cc 356222007-07-22 Robert Millan <rmh@aybabtu.com>
35623
35624 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35625 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
35626 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
35627 flag when running on SmartFirmware.
35628 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
35629 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
35630 was set.
35631
35632 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
35633 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
35634 rather than decreasing it.
35635
35636 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
35637 there's not enough space to do it, fail in the same way as when it
35638 can't be done because there are no partitions.
35639
35640 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
35641 when nvsetenv failed.
35642
969c02ec 356432007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35644
35645 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
35646 because this rule is automatically generated.
35647 (grub-mkrescue): Removed for the same reason as above.
35648
5a79f472 356492007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35650
35651 Migrate to GNU General Public License Version 3.
f19dbdb7 35652
5a79f472 35653 * COPYING: Replaced with the plain text version of GPLv3.
35654
35655 * config.guess: Updated from gnulib.
35656 * config.sub: Likewise.
35657
35658 * geninit.sh: Output a GPLv3 copyright notice.
35659 * geninitheader.sh: Likewise.
35660 * genmodsrc.sh: Likewise.
35661 * gensymlist.sh.in: Likewise.
35662
35663 * boot/i386/pc/boot.S: Upgraded to GPLv3.
35664 * boot/i386/pc/diskboot.S: Likewise.
35665 * boot/i386/pc/pxeboot.S: Likewise.
35666 * commands/blocklist.c: Likewise.
35667 * commands/boot.c: Likewise.
35668 * commands/cat.c: Likewise.
35669 * commands/cmp.c: Likewise.
35670 * commands/configfile.c: Likewise.
35671 * commands/echo.c: Likewise.
35672 * commands/help.c: Likewise.
35673 * commands/ls.c: Likewise.
35674 * commands/search.c: Likewise.
35675 * commands/terminal.c: Likewise.
35676 * commands/test.c: Likewise.
35677 * commands/videotest.c: Likewise.
35678 * commands/i386/cpuid.c: Likewise.
35679 * commands/i386/pc/halt.c: Likewise.
35680 * commands/i386/pc/play.c: Likewise.
35681 * commands/i386/pc/reboot.c: Likewise.
35682 * commands/i386/pc/vbeinfo.c: Likewise.
35683 * commands/i386/pc/vbetest.c: Likewise.
35684 * commands/ieee1275/halt.c: Likewise.
35685 * commands/ieee1275/reboot.c: Likewise.
35686 * commands/ieee1275/suspend.c: Likewise.
35687 * disk/loopback.c: Likewise.
35688 * disk/lvm.c: Likewise.
35689 * disk/raid.c: Likewise.
35690 * disk/efi/efidisk.c: Likewise.
35691 * disk/i386/pc/biosdisk.c: Likewise.
35692 * disk/ieee1275/ofdisk.c: Likewise.
35693 * font/manager.c: Likewise.
35694 * fs/affs.c: Likewise.
35695 * fs/ext2.c: Likewise.
35696 * fs/fat.c: Likewise.
35697 * fs/fshelp.c: Likewise.
35698 * fs/hfs.c: Likewise.
35699 * fs/hfsplus.c: Likewise.
35700 * fs/iso9660.c: Likewise.
35701 * fs/jfs.c: Likewise.
35702 * fs/minix.c: Likewise.
35703 * fs/sfs.c: Likewise.
35704 * fs/ufs.c: Likewise.
35705 * fs/xfs.c: Likewise.
35706 * hello/hello.c: Likewise.
35707 * include/grub/acorn_filecore.h: Likewise.
35708 * include/grub/arg.h: Likewise.
35709 * include/grub/bitmap.h: Likewise.
35710 * include/grub/boot.h: Likewise.
35711 * include/grub/cache.h: Likewise.
35712 * include/grub/device.h: Likewise.
35713 * include/grub/disk.h: Likewise.
35714 * include/grub/dl.h: Likewise.
35715 * include/grub/elfload.h: Likewise.
35716 * include/grub/env.h: Likewise.
35717 * include/grub/err.h: Likewise.
35718 * include/grub/file.h: Likewise.
35719 * include/grub/font.h: Likewise.
35720 * include/grub/fs.h: Likewise.
35721 * include/grub/fshelp.h: Likewise.
35722 * include/grub/gzio.h: Likewise.
35723 * include/grub/hfs.h: Likewise.
35724 * include/grub/kernel.h: Likewise.
35725 * include/grub/loader.h: Likewise.
35726 * include/grub/lvm.h: Likewise.
35727 * include/grub/misc.h: Likewise.
35728 * include/grub/mm.h: Likewise.
35729 * include/grub/net.h: Likewise.
35730 * include/grub/normal.h: Likewise.
35731 * include/grub/parser.h: Likewise.
35732 * include/grub/partition.h: Likewise.
35733 * include/grub/pc_partition.h: Likewise.
35734 * include/grub/raid.h: Likewise.
35735 * include/grub/rescue.h: Likewise.
35736 * include/grub/script.h: Likewise.
35737 * include/grub/setjmp.h: Likewise.
35738 * include/grub/symbol.h: Likewise.
35739 * include/grub/term.h: Likewise.
35740 * include/grub/terminfo.h: Likewise.
35741 * include/grub/tparm.h: Likewise.
35742 * include/grub/types.h: Likewise.
35743 * include/grub/video.h: Likewise.
35744 * include/grub/efi/api.h: Likewise.
35745 * include/grub/efi/chainloader.h: Likewise.
35746 * include/grub/efi/console.h: Likewise.
35747 * include/grub/efi/console_control.h: Likewise.
35748 * include/grub/efi/disk.h: Likewise.
35749 * include/grub/efi/efi.h: Likewise.
35750 * include/grub/efi/pe32.h: Likewise.
35751 * include/grub/efi/time.h: Likewise.
35752 * include/grub/i386/linux.h: Likewise.
35753 * include/grub/i386/setjmp.h: Likewise.
35754 * include/grub/i386/types.h: Likewise.
35755 * include/grub/i386/efi/kernel.h: Likewise.
35756 * include/grub/i386/efi/loader.h: Likewise.
35757 * include/grub/i386/efi/time.h: Likewise.
35758 * include/grub/i386/pc/biosdisk.h: Likewise.
35759 * include/grub/i386/pc/boot.h: Likewise.
35760 * include/grub/i386/pc/chainloader.h: Likewise.
35761 * include/grub/i386/pc/console.h: Likewise.
35762 * include/grub/i386/pc/init.h: Likewise.
35763 * include/grub/i386/pc/kernel.h: Likewise.
35764 * include/grub/i386/pc/loader.h: Likewise.
35765 * include/grub/i386/pc/memory.h: Likewise.
35766 * include/grub/i386/pc/multiboot.h: Likewise.
35767 * include/grub/i386/pc/serial.h: Likewise.
35768 * include/grub/i386/pc/time.h: Likewise.
35769 * include/grub/i386/pc/vbe.h: Likewise.
35770 * include/grub/i386/pc/vbeblit.h: Likewise.
35771 * include/grub/i386/pc/vbefill.h: Likewise.
35772 * include/grub/i386/pc/vbeutil.h: Likewise.
35773 * include/grub/i386/pc/vga.h: Likewise.
35774 * include/grub/ieee1275/ieee1275.h: Likewise.
35775 * include/grub/ieee1275/ofdisk.h: Likewise.
35776 * include/grub/powerpc/libgcc.h: Likewise.
35777 * include/grub/powerpc/setjmp.h: Likewise.
35778 * include/grub/powerpc/types.h: Likewise.
35779 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
35780 * include/grub/powerpc/ieee1275/console.h: Likewise.
35781 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
35782 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
35783 * include/grub/powerpc/ieee1275/loader.h: Likewise.
35784 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
35785 * include/grub/powerpc/ieee1275/time.h: Likewise.
35786 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
35787 * include/grub/sparc64/libgcc.h: Likewise.
35788 * include/grub/sparc64/setjmp.h: Likewise.
35789 * include/grub/sparc64/types.h: Likewise.
35790 * include/grub/sparc64/ieee1275/console.h: Likewise.
35791 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35792 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35793 * include/grub/sparc64/ieee1275/time.h: Likewise.
35794 * include/grub/util/biosdisk.h: Likewise.
35795 * include/grub/util/getroot.h: Likewise.
35796 * include/grub/util/lvm.h: Likewise.
35797 * include/grub/util/misc.h: Likewise.
35798 * include/grub/util/raid.h: Likewise.
35799 * include/grub/util/resolve.h: Likewise.
35800 * io/gzio.c: Likewise.
35801 * kern/device.c: Likewise.
35802 * kern/disk.c: Likewise.
35803 * kern/dl.c: Likewise.
35804 * kern/elf.c: Likewise.
35805 * kern/env.c: Likewise.
35806 * kern/err.c: Likewise.
35807 * kern/file.c: Likewise.
35808 * kern/fs.c: Likewise.
35809 * kern/loader.c: Likewise.
35810 * kern/main.c: Likewise.
35811 * kern/misc.c: Likewise.
35812 * kern/mm.c: Likewise.
35813 * kern/parser.c: Likewise.
35814 * kern/partition.c: Likewise.
35815 * kern/rescue.c: Likewise.
35816 * kern/term.c: Likewise.
35817 * kern/efi/efi.c: Likewise.
35818 * kern/efi/init.c: Likewise.
35819 * kern/efi/mm.c: Likewise.
35820 * kern/i386/dl.c: Likewise.
35821 * kern/i386/efi/init.c: Likewise.
35822 * kern/i386/efi/startup.S: Likewise.
35823 * kern/i386/pc/init.c: Likewise.
35824 * kern/i386/pc/lzo1x.S: Likewise.
35825 * kern/i386/pc/startup.S: Likewise.
35826 * kern/ieee1275/ieee1275.c: Likewise.
35827 * kern/powerpc/cache.S: Likewise.
35828 * kern/powerpc/dl.c: Likewise.
35829 * kern/powerpc/ieee1275/cmain.c: Likewise.
35830 * kern/powerpc/ieee1275/crt0.S: Likewise.
35831 * kern/powerpc/ieee1275/init.c: Likewise.
35832 * kern/powerpc/ieee1275/openfw.c: Likewise.
35833 * kern/sparc64/cache.S: Likewise.
35834 * kern/sparc64/dl.c: Likewise.
35835 * kern/sparc64/ieee1275/init.c: Likewise.
35836 * kern/sparc64/ieee1275/openfw.c: Likewise.
35837 * loader/efi/chainloader.c: Likewise.
35838 * loader/efi/chainloader_normal.c: Likewise.
35839 * loader/i386/efi/linux.c: Likewise.
35840 * loader/i386/efi/linux_normal.c: Likewise.
35841 * loader/i386/pc/chainloader.c: Likewise.
35842 * loader/i386/pc/chainloader_normal.c: Likewise.
35843 * loader/i386/pc/linux.c: Likewise.
35844 * loader/i386/pc/linux_normal.c: Likewise.
35845 * loader/i386/pc/multiboot.c: Likewise.
35846 * loader/i386/pc/multiboot_normal.c: Likewise.
35847 * loader/powerpc/ieee1275/linux.c: Likewise.
35848 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35849 * normal/arg.c: Likewise.
35850 * normal/cmdline.c: Likewise.
35851 * normal/command.c: Likewise.
35852 * normal/completion.c: Likewise.
35853 * normal/execute.c: Likewise.
35854 * normal/function.c: Likewise.
35855 * normal/lexer.c: Likewise.
35856 * normal/main.c: Likewise.
35857 * normal/menu.c: Likewise.
35858 * normal/menu_entry.c: Likewise.
35859 * normal/misc.c: Likewise.
35860 * normal/parser.y: Likewise.
35861 * normal/script.c: Likewise.
35862 * normal/i386/setjmp.S: Likewise.
35863 * normal/powerpc/setjmp.S: Likewise.
35864 * normal/sparc64/setjmp.S: Likewise.
35865 * partmap/acorn.c: Likewise.
35866 * partmap/amiga.c: Likewise.
35867 * partmap/apple.c: Likewise.
35868 * partmap/gpt.c: Likewise.
35869 * partmap/pc.c: Likewise.
35870 * partmap/sun.c: Likewise.
35871 * term/gfxterm.c: Likewise.
35872 * term/terminfo.c: Likewise.
35873 * term/efi/console.c: Likewise.
35874 * term/i386/pc/console.c: Likewise.
35875 * term/i386/pc/serial.c: Likewise.
35876 * term/i386/pc/vesafb.c: Likewise.
35877 * term/i386/pc/vga.c: Likewise.
35878 * term/ieee1275/ofconsole.c: Likewise.
35879 * util/biosdisk.c: Likewise.
35880 * util/console.c: Likewise.
35881 * util/genmoddep.c: Likewise.
35882 * util/getroot.c: Likewise.
35883 * util/grub-emu.c: Likewise.
35884 * util/grub-mkdevicemap.c: Likewise.
35885 * util/grub-probe.c: Likewise.
35886 * util/lvm.c: Likewise.
35887 * util/misc.c: Likewise.
35888 * util/raid.c: Likewise.
35889 * util/resolve.c: Likewise.
35890 * util/update-grub.in: Likewise.
35891 * util/update-grub_lib.in: Likewise.
35892 * util/grub.d/00_header.in: Likewise.
35893 * util/grub.d/10_hurd.in: Likewise.
35894 * util/grub.d/10_linux.in: Likewise.
35895 * util/i386/efi/grub-install.in: Likewise.
35896 * util/i386/efi/grub-mkimage.c: Likewise.
35897 * util/i386/pc/grub-install.in: Likewise.
35898 * util/i386/pc/grub-mkimage.c: Likewise.
35899 * util/i386/pc/grub-mkrescue.in: Likewise.
35900 * util/i386/pc/grub-setup.c: Likewise.
35901 * util/i386/pc/misc.c: Likewise.
35902 * util/powerpc/ieee1275/grub-install.in: Likewise.
35903 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
35904 * util/powerpc/ieee1275/misc.c: Likewise.
35905 * video/bitmap.c: Likewise.
35906 * video/video.c: Likewise.
35907 * video/i386/pc/vbe.c: Likewise.
35908 * video/i386/pc/vbeblit.c: Likewise.
35909 * video/i386/pc/vbefill.c: Likewise.
35910 * video/i386/pc/vbeutil.c: Likewise.
35911 * video/readers/tga.c: Likewise.
35912
3572d015 359132007-07-02 Robert Millan <rmh@aybabtu.com>
35914
35915 * conf/i386-efi.rmk: Replace obsolete reference to
35916 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
35917 with util/getroot.c.
35918 * conf/powerpc-ieee1275.rmk: Likewise.
35919 * conf/sparc64-ieee1275.rmk: Likewise.
35920
35921 * util/grub-emu.c (main): Fix unchecked pointer handling.
35922
2c2a681b 359232007-07-02 Robert Millan <rmh@aybabtu.com>
35924
35925 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
35926 invocation to fail, in order to support partition-less media.
35927
35928 * util/i386/pc/grub-install.in: Likewise.
35929
35930 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
35931 which fs or partmap modules are needed (akin to its sister scripts).
35932
35933 Also use grub-probe to get rid of unportable /proc/mounts check.
35934
35935 Print the same informational message that the other scripts do, before
fe6b695a 35936 exiting.
2c2a681b 35937
6193defe 359382007-06-23 Robert Millan <rmh@aybabtu.com>
35939
fe6b695a 35940 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 35941 a font file can be found and, if so, echo the GRUB path to it.
35942
35943 * util/update-grub.in: Handle multiple terminals depending on user
35944 input, platform availability and font file presence. Propagate
35945 variables of our findings to /etc/grub.d/ children.
35946
35947 * util/grub.d/00_header.in: Handle multiple terminals, based on
35948 environment setup by update-grub.
35949
eface1dc 359502007-06-23 Robert Millan <rmh@aybabtu.com>
35951
ba50d28f 35952 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 35953
bf697e28 359542007-06-21 Robert Millan <rmh@aybabtu.com>
35955
35956 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
35957 indicate end of data section in kernel image.
35958 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
35959 GRUB_KERNEL_MACHINE_DATA_END.
35960
35961 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
35962 space for it.
35963 * kern/i386/efi/startup.S: Likewise.
35964
35965 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
35966 during image generation. Implement --prefix option to override this
35967 patch.
35968 * util/i386/efi/grub-mkimage.c: Likewise.
35969
35970 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
35971 code to make path relative to its root into a separate function.
35972
35973 * util/i386/pc/grub-install.in: Use newly provided
35974 make_system_path_relative_to_its_root() to convert ${grubdir}, then
35975 pass the result to grub-install --prefix.
35976
baa574b4 359772007-06-13 Robert Millan <rmh@aybabtu.com>
35978
35979 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
35980 DEFAULT_DEVICE_MAP.
35981 * util/grub-emu.c: Use above definitions from misc.h instead of
35982 defining them.
35983 * util/grub-mkdevicemap.c: Likewise.
35984 * util/i386/pc/grub-setup.c: Likewise.
35985 * util/grub-probe.c: Likewise.
35986 (probe): Abort with grub_util_error() when either
35987 grub_guess_root_device or grub_util_get_grub_dev fails.
35988
0215dcbf 359892007-06-12 Robert Millan <rmh@aybabtu.com>
35990
35991 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
35992 "pager" assignment.
35993 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
35994 "pcdata".
35995 * util/grub-probe.c (probe): Likewise for "drive_name".
35996
8af2ab7b 359972007-06-11 Robert Millan <rmh@aybabtu.com>
35998
35999 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
36000 not just the cdrom one.
36001
59d31694 360022007-06-11 Robert Millan <rmh@aybabtu.com>
36003
36004 * util/i386/pc/grub-mkrescue.in: Add "set -e".
36005 Add --pkglibdir=DIR option to override pkglibdir.
36006 Mention --image-type=TYPE in help output.
36007 Fix --grub-mkimage (it was a no-op).
fe6b695a 36008 Abort gracefully when no parameter is given.
59d31694 36009
7ee367e4 360102007-06-11 Robert Millan <rmh@aybabtu.com>
36011
36012 * util/i386/pc/grub-mkrescue.in: New file.
36013 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
36014 * Makefile.in: Handle bin_SCRIPTS.
36015
29b0ed46 360162007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
36017
36018 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
36019 list of video modes.
36020
c0f90770 360212007-06-06 Robert Millan <rmh@aybabtu.com>
36022
36023 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
36024 file doesn't exist, or if it is in a filesystem grub can't read.
36025
36026 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
36027 not abort if GRUB_DRIVE could not be defined. Rearrange generated
36028 header comment to fit in 80 columns when the variables are resolved.
36029
36030 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
36031 could be identified by update-grub. Remove redundant check for
fe6b695a 36032 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 36033 handles that).
36034
fb36dc26 360352007-06-04 Robert Millan <rmh@aybabtu.com>
36036
36037 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
36038
36039 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
36040
36041 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
36042
0c68c93e 360432007-06-04 Robert Millan <rmh@aybabtu.com>
36044
36045 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
36046
36047 * include/grub/partition.h: Declare grub_apple_partition_map_init and
36048 grub_apple_partition_map_fini.
36049
36050 * util/biosdisk.c
36051 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
36052 to access >2 TiB disks).
36053
36054 Print disk->total_sectors with %llu instead of %lu, since this
36055 variable is always 64-bit (prevents wrong disk size from being displayed
36056 on either >2 TiB disk or big-endian CPU).
36057
36058 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
36059 into a generic case that supports all (sane) partition maps.
36060
36061 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
36062 breaks big-endian.
36063
36064 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
36065 and grub_apple_partition_map_fini() after that.
36066
0f23eb74 360672007-06-01 Robert Millan <rmh@aybabtu.com>
36068
36069 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
36070
36071 * util/grub.d/00_header.in: Only enable gfxterm when
36072 convert_system_path_to_grub_path() succeeds.
36073
42c71976 360742007-05-20 Robert Millan <rmh@aybabtu.com>
36075
36076 * util/update-grub_lib.in: New file.
36077 * DISTLIST: Add update-grub_lib.in.
36078 * conf/common.rmk: Generate update-grub_lib and install it in
36079 $(lib_DATA).
36080 * Makefile.in: Add install routine for $(lib_DATA).
36081
36082 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
36083 function provided by update-grub_lib to support arbitrary paths of
36084 unifont.pff.
36085 * util/update-grub.in: Use convert_system_path_to_grub_path() to
36086 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
36087
5beb2291 360882007-05-19 Robert Millan <rmh@aybabtu.com>
36089
36090 * commands/i386/cpuid.c: New module.
36091 * DISTLIST: Add it.
36092 * conf/i386-efi.rmk: Enable cpuid.mod.
36093 * conf/i386-pc.rmk: Likewise.
36094
7262eca1 360952007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
36096
36097 * kern/disk.c (grub_disk_read): Check return value of
36098 grub_realloc().
36099
260ba823 361002007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
36101
36102 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
36103 arrays.
36104 * disk/raid.c (grub_raid_open): Likewise.
36105
1ecb6cf2 361062007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
36107
36108 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
36109 stack instead of on the heap.
36110
36111 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
36112 before doing a read on it.
36113
36114 * configure.ac: Only use -fno-stack-protector for the target
36115 environment.
f19dbdb7 36116
21c8cbb1 361172007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
36118
36119 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
36120 __attribute_ ((unused)) to mode_type argument.
36121
36122 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 36123
21c8cbb1 36124 * kern/misc.c (memcmp): Fix prototype.
36125
36126 * include/grub/partition.h [GRUB_UTIL]
36127 (grub_gpt_partition_map_init): Add prototype.
36128 (grub_gpt_partition_map_fini): Likewise.
36129
36130 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
36131 at the right place.
36132
36133 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
36134 (grub_fat_read_data): Likewise.
36135 (grub_fat_find_dir): Likewise.
36136
36137 * font/manager.c (find_glyph): Make table a const.
36138 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 36139
849d55d3 361402007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
36141
36142 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
36143 code, first search for device in /dev/mapper, then in /dev.
36144 (grub_util_get_grub_dev): New function.
36145 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
36146 prototype.
36147 * util/grub-probe.c (probe): Remove check for RAID, call
36148 grub_util_get_grub_dev() instead of
36149 grub_util_biosdisk_get_grub_dev().
36150 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
36151 grub_util_biosdisk_get_grub_dev().
36152 * util/i386/pc/grub-setup.c (main): Likewise.
36153
8fff7c2f 361542007-05-16 Robert Millan <rmh@aybabtu.com>
36155
36156 * DISTLIST: Update for the latest changes.
36157 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
36158 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
36159 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
36160 grub/util/biosdisk.h.
36161 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
36162 grub/util/biosdisk.h.
36163
48e12b52 361642007-05-16 Robert Millan <rmh@aybabtu.com>
36165
36166 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
36167
46b9d128 361682007-05-16 Robert Millan <rmh@aybabtu.com>
36169
36170 * util/i386/efi/grub-install.in: New.
36171 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
36172 newly added grub-install.
36173 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
36174 include.
36175 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
36176 grub/util/biosdisk.h.
36177 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
36178 grub/util/biosdisk.h.
36179
2d1a40a9 361802007-05-16 Robert Millan <rmh@aybabtu.com>
36181
36182 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
36183 * include/grub/util/biosdisk.h: ... here.
36184 * util/i386/pc/biosdisk.c: Moved to ...
36185 * util/biosdisk.c: ... here.
36186 * util/i386/pc/getroot.c: Moved to ...
36187 * util/getroot.c: ... here.
36188 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
36189 * util/grub-mkdevicemap.c: ... here.
36190 * util/i386/pc/grub-probe.c: Moved to ...
36191 * util/grub-probe.c: ... here.
36192
9e26e3bc 361932007-05-15 Robert Millan <rmh@aybabtu.com>
36194
36195 * util/update-grub.in: Remove duplicated line in grub.cfg header
36196 message.
36197
57f96397 361982007-05-13 Robert Millan <rmh@aybabtu.com>
36199
36200 * util/update-grub.in: Fix a few assumptions about the devices holding
36201 /, /boot and /boot/grub being the same.
36202 * util/grub.d/00_header.in: Likewise.
36203 * util/grub.d/10_hurd.in: Likewise.
36204 * util/grub.d/10_linux.in: Likewise.
36205
36206 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
36207 patterns. Use that to define the `.old' suffix as older than `'.
36208
36209 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
36210
36211 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
36212 the grub.cfg header message.
36213
2e610d62 362142007-05-11 Robert Millan <rmh@aybabtu.com>
36215
36216 * util/update-grub.in: Create device.map if it doesn't already exist,
36217 before attempting to run grub-probe.
36218 Check for grub-probe and grub-mkdevicemap with the same code
36219 grub-install is using.
36220 Remove test mode.
36221
3f6a10ef 362222007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
36223
36224 * Makefile.in: Add the datarootdir autoconf variable.
36225
02e7b75e 362262007-05-09 Robert Millan <rmh@aybabtu.com>
36227
36228 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 36229 fail gracefully if dev->disk->partition == NULL.
02e7b75e 36230
75f396cc 362312007-05-07 Robert Millan <rmh@aybabtu.com>
36232
36233 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
36234 determine partition map module.
36235 * util/i386/pc/grub-install.in: Use this feature to decide which
36236 partition module to load, instead of hardcoding pc and gpt.
36237
da65cb36 362382007-05-07 Robert Millan <rmh@aybabtu.com>
36239
36240 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
36241 source directory differs from build directory.
36242
b57d6a91 362432007-05-05 Robert Millan <rmh@aybabtu.com>
36244
36245 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
36246 initialisation.
36247
509d00f1 362482007-05-05 Robert Millan <rmh@aybabtu.com>
36249
36250 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
36251
c48f23ef 362522007-05-05 Robert Millan <rmh@aybabtu.com>
36253
36254 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
36255 command-line arguments via ${GRUB_CMDLINE_LINUX}.
36256
20b97658 362572007-05-05 Robert Millan <rmh@aybabtu.com>
36258
36259 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
36260 (grub_probe_SOURCES): Likewise.
36261 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
36262 GPT and initialize dos_part and bsd_part accordingly.
36263 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
36264 install_bsd_part.
36265 (main): Activate gpt module for use during partition identification,
36266 and deactivate it afterwards.
36267 * util/i386/pc/grub-install.in: Add gpt module to core.img.
36268 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
36269 partition identification, and deactivate it afterwards.
36270
99123174 362712007-05-05 Robert Millan <rmh@aybabtu.com>
36272
36273 * term/i386/pc/console.c (grub_console_fini): Call
36274 grub_term_set_current() before grub_term_unregister().
36275
ebd97f6e 362762007-05-04 Robert Millan <rmh@aybabtu.com>
36277
36278 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
36279 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
36280 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
36281 and update-grub_DATA.
36282 * conf/common.rmk: Build and install update-grub components.
36283 * conf/common.mk: Regenerate.
36284 * util/update-grub.in: New. Core of update-grub.
36285 * util/grub.d/00_header.in: New. Generates grub.cfg header.
36286 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
36287 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
36288 * util/grub.d/README: New. Document grub.d directory layout.
36289
b06a264d 362902007-05-01 Robert Millan <rmh@aybabtu.com>
36291
36292 * util/grub-emu.c: Move initialization functions
36293 grub_util_biosdisk_init() and grub_init_all() before
36294 grub_util_biosdisk_get_grub_dev(), which relies on them.
36295
41f0050e 362962007-04-19 Robert Millan <rmh@aybabtu.com>
36297
36298 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
36299 it is used later.
36300
04582bb3 363012007-04-18 Jerone Young <jerone@gmail.com>
36302
f19dbdb7 36303 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 36304 stanza.
36305
08db4632 363062007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 36307
08db4632 36308 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
36309 continue on and look for device node with real device name.
36310
801b76be 363112007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 36312
fe6b695a 36313 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 36314 ability.
36315 * Makefile.in: Add autoconf package transformation code.
36316 * util/i386/pc/grub-install.in: Likewise.
36317 * util/powerpc/ieee1275/grub-install.in: Likewise.
36318
6795c4e1 363192007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
36320
36321 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
36322 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
36323 (EXT2_REVISION): Likewise.
36324 (EXT2_INODE_SIZE): Likewise.
36325 (struct grub_ext2_block_group): Added a missing member
36326 "used_dirs".
36327 (grub_ext2_read_inode): Divide by the inode size in a superblock
36328 instead of 128 to obtain INODES_PER_BLOCK.
36329 Use the macro EXT2_INODE_SIZE instead of directly using
36330 SBLOCK->INODE_SIZE.
36331
d70af616 363322007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
36333
36334 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
36335 superblock instead of the structure size to compute an
36336 offset. This fixes the problem that GRUB could not read a
36337 filesystem when inode size is different from 128-byte.
36338
3b801603 363392007-03-05 Marco Gerards <marco@gnu.org>
36340
36341 * normal/main.c (read_config_file): When "menu" is not set, create
36342 an initial context.
36343
4785bfe4 363442007-02-21 Hollis Blanchard <hollis@penguinppc.org>
36345
36346 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
36347 (HEAP_LIMIT): New macro.
36348 (grub_claim_heap): Claim memory up to `heaplimit'.
36349
a0cbb023 363502007-02-21 Hollis Blanchard <hollis@penguinppc.org>
36351
36352 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
36353 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
36354 (_start): Likewise.
36355 (grub_arch_modules_addr): Return address after `_end'.
36356 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
36357 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
36358 (add_segments): Calculate `_end' from phdr size and location.
36359 (ALIGN_UP): Moved to ...
36360 * include/grub/misc.h: here.
36361 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36362 New macro.
36363 (GRUB_IEEE1275_MODULE_BASE): Removed.
36364
fd7d8eba 363652007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36366
36367 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
36368 loop boundary.
36369
9b09e6fc 363702007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36371
36372 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
36373 All users updated.
36374 (grub_elf64_load_hook_t): Likewise.
36375 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
36376 debug output.
36377
3ce27299 363782007-02-20 Hollis Blanchard <hollis@penguinppc.org>
36379
36380 * kern/mm.c: Update copyright.
36381 (grub_mm_debug): Correct syntax error.
36382 (grub_mm_dump_free): New function.
36383 (grub_debug_free): Call `grub_free'.
36384 * include/grub/mm.h: Update copyright.
36385 (grub_mm_dump_free): Add declaration.
36386
077d5fee 363872007-02-12 Hollis Blanchard <hollis@penguinppc.org>
36388
36389 * include/grub/ieee1275/ieee1275.h: Update copyright.
36390 * kern/powerpc/ieee1275/init.c: Likewise.
36391 * kern/powerpc/ieee1275/openfw.c: Likewise.
36392
36393 * loader/powerpc/ieee1275/linux.c: Likewise.
36394 * include/grub/elfload.h: Likewise.
36395 * kern/elf.c: Likewise.
36396 (grub_elf32_load): Pass `base' and `size' parameters. Update all
36397 callers.
36398 (grub_elf64_load): Likewise.
36399 (grub_elf32_load_segment): Move to a nested function.
36400 (grub_elf64_load_segment): Likewise.
36401
dc946850 364022007-02-12 Hollis Blanchard <hollis@penguinppc.org>
36403
36404 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
36405 prototype.
36406 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
36407 (grub_heap_len): Likewise.
36408 (HEAP_SIZE): New macro.
36409 (grub_claim_heap): New function.
36410 (grub_machine_init): Don't claim heap directly. Call
36411 `grub_claim_heap'.
36412 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
36413 (grub_available_iterate): New function.
36414
baa2a121 364152007-02-03 Thomas Schwinge <tschwinge@gnu.org>
36416
36417 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
36418 * configure.ac: Use it for testing the HOST and TARGET compilers.
36419
4fe9862e 364202006-12-13 Thomas Schwinge <tschwinge@gnu.org>
36421
36422 * Makefile.in (enable_grub_emu): New variable.
36423 * configure.ac (--enable-grub-emu): New option.
36424 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
36425 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
36426 * conf/i386-pc.rmk: Likewise.
36427 * conf/powerpc-ieee1275.rmk: Likewise.
36428 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
36429
a8aa5762 364302006-12-12 Marco Gerards <marco@gnu.org>
36431
36432 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
36433
36434 * kern/env.c (grub_env_unset): Don't free the member `value' when
36435 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
36436 pointer.
36437
36438 * normal/main.c (current_menu): Removed.
36439 (free_menu): Unset the `menu' environment variable.
36440 (grub_normal_menu_addentry): Make use of the environment variable
36441 `menu', instead of using the global `current_menu'. Allocate
36442 memory for the sourcecode of this entry.
36443 (read_config_file): New argument `nested', changed all callers.
36444 Only in the case of a new context, initialize a new menu. Set the
36445 `menu' environment variable.
36446 (grub_normal_execute): Don't set and unset the environment
36447 variable `menu' here anymore. Only free the menu when leaving the
36448 context.
36449
36450 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
36451 leak.
36452
957b3a3e 364532006-12-11 Marco Gerards <marco@gnu.org>
36454
36455 * normal/menu_entry.c (run): Fix off by one bug so the last line
36456 is executed. Move the loader check to outside the loop.
36457
ef875714 364582006-12-08 Hollis Blanchard <hollis@penguinppc.org>
36459
36460 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
36461
4e739985 364622006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
36463
36464 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
36465 the number of sectors. Reported by Andrey Shuvikov
36466 <mr_hyro@yahoo.com>.
f19dbdb7 36467
790707f2 364682006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
36469
36470 * kern/disk.c (grub_disk_read): When there is a read error, always
36471 try to read only the necessary data.
f19dbdb7 36472
790707f2 36473 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
36474 disk/raid.c.
36475 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
36476 prototype.
36477 [GRUB_UTIL] (grub_raid_fini): Likewise.
36478 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 36479 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 36480 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
36481 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
36482 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
36483 and grub_raid_fini().
f19dbdb7 36484
03e58196 364852006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
36486
36487 * include/grub/types.h (__unused): Rename to UNUSED.
36488 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
36489 (grub_elf64_size): Likewise.
f19dbdb7 36490
ae4f23bf 364912006-11-03 Hollis Blanchard <hollis@penguinppc.org>
36492
36493 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
36494 grub_error_push and grub_error_pop in the error-handling path.
36495 (grub_elf32_load_segment): Only call grub_file_read with non-zero
36496 length.
36497
2166cc83 364982006-11-03 Hollis Blanchard <hollis@penguinppc.org>
36499
36500 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
36501 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36502 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36503 (kernel_elf_SOURCES): Likewise.
36504 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
36505 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
36506 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36507 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36508 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
36509 (elf_mod_SOURCES): New variable.
36510 (elf_mod_CFLAGS): Likewise.
36511 (elf_mod_LDFLAGS): Likewise.
36512 * include/grub/types.h (__unused): New macro.
36513 * include/grub/elfload.h: New file.
36514 * kern/elf.c: Likewise.
36515 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
36516 (ELF32_LOADMASK): New macro.
36517 (ELF64_LOADMASK): Likewise.
36518 (vmlinux): Removed.
36519 (grub_linux_load32): New function.
36520 (grub_linux_load64): Likewise.
36521 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
36522 Use grub_elf_t instead of grub_file_t.
36523
a09d5aa5 365242006-11-02 Hollis Blanchard <hollis@penguinppc.org>
36525
36526 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
36527 `catch_result' to struct set_color_args.
36528
d976fc51 365292006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36530
36531 * normal/menu.c: Include grub/script.h.
36532 * normal/menu_entry.c: Likewise.
36533 * include/grub/normal.h: Do not include grub/script.h.
36534
67507549 365352006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36536
36537 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
36538
69203a99 365392006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36540
36541 * kern/disk.c (grub_disk_open): Print debug messages when opening a
36542 disk.
36543 (grub_disk_close): Print debug messages when closing a disk.
36544 (grub_disk_read): Print debug messages when disk read fails.
36545 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
36546 filesystem type.
36547 * kern/partition.c: Include misc.h.
36548 (grub_partition_iterate): Print debug messages when detecting
36549 partition type.
36550
e2b8278c 365512006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36552
36553 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
36554 is negative.
36555 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
36556
97b2f2ff 365572006-10-26 Hollis Blanchard <hollis@penguinppc.org>
36558
36559 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36560 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
36561
6555d655 365622006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
36563
36564 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
36565 instead of sizeof(lv). Patch by Michael Guntsche.
36566
4d42b77f 365672006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
36568
36569 * disk/lvm.c: Rename VGS to VG_LIST.
36570 (grub_lvm_iterate): Change VGS->LV to VG-LV.
36571 (grub_lvm_open): Likewise.
36572 Thanks to Michael Guntsche for finding this bug.
36573
5d74d927 365742006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36575
36576 * configure.ac (AC_INIT): Bumped to 1.95.
36577
a1bb27e4 365782006-10-14 Robert Millan <rmh@aybabtu.com>
36579
36580 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
36581 with "/dev/.static/dev/md".
36582
e0994b8b 365832006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36584
36585 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
36586 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
36587 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
36588 DRIVE_NAME are always freed.
36589
36590 * util/i386/pc/biosdisk.c (make_device_name): Add one into
36591 DOS_PART, as a DOS partition is counted from one instead of zero
36592 now. Reported by Robert Millan.
36593
ddd5cee9 365942006-10-14 Robert Millan <rmh@aybabtu.com>
36595
36596 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
36597 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
36598 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
36599 string returned by grub_guess_root_device.
36600 * util/i386/pc/grub-setup.c: Likewise.
36601 * util/i386/pc/grub-probefs.c: Likewise.
36602
36603 * util/i386/pc/grub-probefs.c: Rename to ...
36604 * util/i386/pc/grub-probe.c: ... this.
36605 * DISTLIST: Remove grub-probefs, add grub-probe.
36606 * conf/i386-efi.rmk: Likewise.
36607 * conf/i386-pc.rmk: Likewise.
36608 * util/i386/pc/grub-install.in: Likewise.
36609
36610 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
36611 choose which information we want to print.
36612
2b002173 366132006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36614
36615 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
36616 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
36617 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
36618 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
36619 video/readers/tga.c and video/i386/pc/vbeutil.c.
36620
366212006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
36622
36623 Added support for RAID and LVM.
f19dbdb7 36624
2b002173 36625 * disk/lvm.c: New file.
36626 * disk/raid.c: Likewise.
36627 * include/grub/lvm.h: Likewise.
f19dbdb7 36628 * include/grub/raid.h: Likewise.
2b002173 36629 * include/grub/util/lvm.h: Likewise.
36630 * include/grub/util/raid.h: Likewise.
36631 * util/lvm.c: Likewise.
36632 * util/raid.c: Likewise.
36633
36634 * include/grub/disk.h (grub_disk_dev_id): Add
36635 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
36636 (grub_disk_get_size): New prototype.
36637 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
36638 returns a partition.
36639 (grub_disk_get_size): New function.
f19dbdb7 36640
2b002173 36641 * kern/i386/pc/init.c (make_install_device): Copy the prefix
36642 verbatim if grub_install_dos_part is -2.
36643
36644 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
36645 and LVM devices.
36646
36647 * util/i386/pc/grub-setup.c (setup): New argument
36648 MUST_EMBED. Force embedding of GRUB when the argument is
36649 true. Close FILE before returning.
36650 (main): Add support for RAID and LVM.
f19dbdb7 36651
2b002173 36652 * conf/common.rmk: Add RAID and LVM modules.
36653 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
36654 util/lvm.c.
36655 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
36656
36657 * kern/misc.c (grub_strstr): New function.
36658 * include/grub/misc.h (grub_strstr): New prototype.
36659
050548d0 366602006-10-10 Tristan Gingold <tristan.gingold@bull.net>
36661
36662 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
36663
da849d2d 366642006-10-05 Tristan Gingold <tristan.gingold@bull.net>
36665
36666 * kern/misc.c (grub_strtoull): Guess the base only if not
36667 specified.
36668
97b2f2ff 366692006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 36670
36671 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
36672 PowerMac support.
36673
97b2f2ff 366742006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 36675
36676 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
36677
36678 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
36679 Remove `flags' argument. All callers changed.
36680 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
36681 (IEEE1275_IHANDLE_INVALID): New variable.
36682 (IEEE1275_CELL_INVALID): New variable.
36683 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36684 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
36685 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
36686 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
36687 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
36688 codes from Open Firmware. All callers updated.
36689 (grub_ieee1275_next_property): Directly return Open Firmware return
36690 code.
36691 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36692 Standardize error checking from `grub_ieee1275_get_property'.
36693 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
36694 `devalias' to `aliases'. Correct comments. Consolidate error paths.
36695
97b2f2ff 366962006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 36697
36698 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
36699 `instance_to_package_args' to `instance_to_path_args'.
36700
36701 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
36702 `grub_ieee1275_chosen'.
36703
36704 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
36705 `grub_ieee1275_interpret'.
36706
97b2f2ff 367072006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 36708
36709 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
36710
97b2f2ff 367112006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 36712
36713 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
36714 (__cmpdi): Likewise.
36715
36716 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
36717 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
36718 `grub_ssize_t'.
36719
02bb8acc 36720 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 36721
36722 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
36723 to type `grub_ssize_t'.
36724 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
36725
7f9a8531 367262006-09-22 Marco Gerards <marco@gnu.org>
36727
36728 * normal/script.c (grub_script_create_cmdmenu): Skip leading
36729 newlines.
36730
b5ef1102 367312006-09-22 Marco Gerards <marco@gnu.org>
36732
36733 * commands/echo.c: New file.
36734
36735 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
36736
36737 * conf/common.rmk (echo_mod_SOURCES): New variable.
36738 (echo_mod_CFLAGS): Likewise.
36739 (echo_mod_LDFLAGS): Likewise.
36740
2cff3677 367412006-09-22 Marco Gerards <marco@gnu.org>
36742
36743 * normal/main.c (get_line): Malloc memory instead of using
36744 preallocated memory. Removed the arguments `cmdline' and
36745 `max_len'. Updated all callers.
36746
6ba4688b 367472006-09-22 Marco Gerards <marco@gnu.org>
36748
36749 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
36750 (normal_mod_DEPENDENCIES): Likewise.
36751
36752 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
36753 (normal_mod_DEPENDENCIES): Likewise.
36754
36755 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
36756
e02ac02c 367572006-09-22 Johan Rydberg <jrydberg@gnu.org>
36758
36759 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
36760 programs.
36761 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
36762 (normal_mod_DEPENDENCIES): Likewise.
36763 * conf/i386-pc.mk: Regenerate.
36764 * conf/i386-efi.mk: Likewise
36765 * conf/common.mk: Likewise.
36766 * conf/powerpc-ieee1275.mk: Likewise.
36767 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 36768
8d252e44 367692006-09-22 Robert Millan <rmh@aybabtu.com>
36770
36771 Sync with i386 version.
36772 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
36773 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
36774
209bf7ac 367752006-09-21 Robert Millan <rmh@aybabtu.com>
36776
36777 Import from GRUB Legacy (lib/device.c):
36778 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
36779 (init_device_map) [__linux__]: Add support for I2O devices.
36780
6b146090 367812006-09-14 Marco Gerards <marco@gnu.org>
36782
36783 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
36784 `-melf_i386'.
36785
e38600a8 367862006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 36787
36788 * util/i386/pc/grub-install.in: Skip menu.lst when removing
36789 /boot/grub/*.lst.
78fa1790 36790
2952da5d 36791 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 36792
2952da5d 36793 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
36794 before adding it to device.map.
36795
01b82a64 367962006-08-15 Johan Rydberg <jrydberg@gnu.org>
36797
fe6b695a 36798 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 36799 compiles a file; using the -MD option.
36800 * conf/common.mk: Regenerate.
36801 * conf/i386-pc.mk: Likewise.
36802 * conf/i386-efi.mk: Likewise.
36803 * conf/powerpc-ieee1275.mk: Likewise.
36804 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 36805
1064790d 368062006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
36807
36808 Move the prototypes of grub_setjmp and grub_longjmp to
36809 cpu/setjmp.h, so that each architecture may specify different
36810 attributes.
f19dbdb7 36811
1064790d 36812 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
36813 (grub_longjmp): Likewise.
36814 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
36815 (grub_longjmp): Likewise.
36816 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
36817 (grub_longjmp): Likewise.
36818
36819 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
36820 [!GRUB_UTIL] (grub_longjmp): Removed.
36821
29dda3ed 368222006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
36823
36824 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
36825 "color!" method does not return any value.
36826
ad2a06ed 368272006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36828
36829 * include/grub/bitmap.h: New file.
36830
36831 * include/grub/i386/pc/vbeutil.h: Likewise.
36832
36833 * video/bitmap.c: Likewise.
36834
36835 * video/readers/tga.c: Likewise.
36836
36837 * video/i386/pc/vbeutil.c: Likewise.
36838
36839 * commands/videotest.c: Code cleanup and updated to reflect to new
36840 video API.
36841
36842 * term/gfxterm.c: Likewise.
36843
36844 * video/video.c: Likewise.
36845
36846 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
36847 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
36848 (bitmap_mod_SOURCES): New entry.
36849 (bitmap_mod_CFLAGS): Likewise.
36850 (bitmap_mod_LDFLAGS): Likewise.
36851 (tga_mod_SOURCES): Likewise.
36852 (tga_mod_CFLAGS): Likewise.
36853 (tga_mod_LDFLAGS): Likewise.
36854
36855 * include/grub/video.h (grub_video_blit_operators): New enum type.
36856 (grub_video_render_target): Changed as forward declaration and moved
36857 actual definition to be video driver specific.
36858 (grub_video_adapter.blit_bitmap): Added blitting operator.
36859 (grub_video_adapter.blit_render_target): Likewise.
36860 (grub_video_blit_bitmap): Likewise.
36861 (grub_video_blit_render_target): Likewise.
36862
36863 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
36864 driver specific render target definition.
36865 (grub_video_vbe_map_rgba): Added driver internal helper.
36866 (grub_video_vbe_unmap_color): Updated to use
36867 grub_video_i386_vbeblit_info.
36868 (grub_video_vbe_get_video_ptr): Likewise.
36869
36870 * include/grub/i386/pc/vbeblit.h
36871 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
36872 grub_video_i386_vbeblit_info.
36873 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36874 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36875 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36876 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36877 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36878 (grub_video_i386_vbeblit_index_index): Likewise.
36879 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
36880 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36881 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36882 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
36883 operator.
36884 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
36885 operator.
36886
36887 * video/i386/pc/vbeblit.c: Updated to reflect changes on
36888 include/grub/i386/pc/vbeblit.h.
36889
36890 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
36891 Updated to use grub_video_i386_vbeblit_info.
36892 (grub_video_i386_vbefill_R8G8B8): Likewise.
36893 (grub_video_i386_vbefill_index): Likewise.
36894 (grub_video_i386_vbefill): Added generic filler.
36895
36896 * video/i386/pc/vbefill.c: Updated to reflect changes on
36897 include/grub/i386/pc/vbefill.h.
36898
36899 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
36900 grub_video_i386_vbeblit_info.
36901 (grub_video_vbe_unmap_color): Likewise.
36902 (grub_video_vbe_blit_glyph): Likewise.
36903 (grub_video_vbe_scroll): Likewise.
36904 (grub_video_vbe_draw_pixel): Removed function.
36905 (grub_video_vbe_get_pixel): Likewise.
36906 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
36907 updated code to use it.
36908 (common_blitter): Added common blitter for render target and bitmap.
36909 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
36910 (grub_video_vbe_blit_render_target): Likewise.
36911
bc8c036d 369122006-07-30 Johan Rydberg <jrydberg@gnu.org>
36913
36914 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
36915 is in text mode if there is no console control protocol instance
36916 available.
36917
684a8eff 369182006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36919
36920 * include/grub/video.h: Code cleanup.
36921
36922 * include/grub/i386/pc/vbe.h: Likewise.
36923
36924 * video/i386/pc/vbe.c: Likewise.
36925
36926 * video/i386/pc/vbeblit.c: Likewise.
36927
36928 * video/i386/pc/vbefill.c: Likewise.
36929
36930 * video/video.c: Likewise. Also added more comments.
36931
5915059b 369322006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36933
36934 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
36935 (struct grub_biosdisk_dap): Likewise.
36936
36937 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
36938 linkage settings for all functions.
36939
90ce5d56 369402006-07-12 Marco Gerards <marco@gnu.org>
36941
36942 * configure.ac (--enable-mm-debug): Fix typo.
36943
36944 * genkernsyms.sh.in: Use proper quoting for `CC'.
36945
43e7f879 369462006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
36947
36948 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
36949 (normal_mod_ASFLAGS): Remove "-m32".
36950
4889bdec 369512006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
36952
36953 * util/misc.c: Include config.h.
36954 [!HAVE_MEMALIGN]: Do not include malloc.h.
36955 (grub_memalign): Use posix_memalign, if present. Then, use
36956 memalign, if present. Otherwise, emit an error.
36957
36958 * util/grub-emu.c: Do not include malloc.h.
36959
36960 * include/grub/util/misc.h: Include unistd.h. This is required for
36961 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
36962 D. Eades III <hde@foobar-qux.org>.
36963
36964 * configure.ac (AC_GNU_SOURCE): Added.
36965 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
36966 type.
36967
fd39d4da 369682006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
36969
36970 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
36971 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
36972
b786f3b5 369732006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
36974
36975 * include/grub/types.h (grub_host_addr_t): Rename to
36976 grub_target_addr_t.
36977 (grub_host_off_t): Rename to grub_target_off_t.
36978 (grub_host_size_t): Rename to grub_target_size_t.
36979 (grub_host_ssize_t): Rename to grub_target_ssize_t.
36980 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
36981
36982 * include/grub/kernel.h (struct grub_module_header): Change type
36983 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
36984 (grub_module_info): Likewise.
f19dbdb7 36985
051988bb 369862006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36987
36988 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
36989 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
36990 Velazquez <jesus.velazquez@gmail.com>.
36991
deae281b 369922006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36993
36994 Count partitions from 1 instead of 0 in the string representation
36995 of partitions. Still use 0-based internally.
f19dbdb7 36996
deae281b 36997 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
36998 (sun_partition_map_iterate): Use grub_partition_t instead of
36999 struct grub_partition *. Cast DESC->START_CYLINDER to
37000 grub_uint64_t after converting the endian.
37001 (sun_partition_map_probe): Subtract 1 for PARTNUM.
37002 (sun_partition_map_get_name): Add 1 to P->INDEX.
37003
37004 * partmap/pc.c (grub_partition_parse): Subtract 1 for
37005 PCDATA->DOS_PART.
37006 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
37007
37008 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
37009 zero instead of one.
37010 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
37011 (gpt_partition_map_get_name): Add 1 into P->INDEX.
37012
37013 * partmap/apple.c (apple_partition_map_iterate): Change the type
37014 of POS to unsigned.
37015 (apple_partition_map_probe): Subtract 1 for PARTNUM.
37016 (apple_partition_map_get_name): Add 1 into P->INDEX.
37017
37018 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
37019 of POS to unsigned.
37020 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
37021 calculate the offset of a partition.
37022 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
37023 (amiga_partition_map_get_name): Add 1 into P->INDEX.
37024
37025 * partmap/acorn.c (acorn_partition_map_find): Change the type of
37026 SECTOR to grub_disk_addr_t.
37027 (acorn_partition_map_iterate): Likewise.
37028 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
37029 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
37030 top.
37031 (acorn_partition_map_get_name): Add 1 into P->INDEX.
37032
37033 * kern/i386/pc/init.c (make_install_device): Add 1 into
37034 GRUB_INSTALL_DOS_PART.
37035
37036 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
37037 conditional.
37038
524a1e6a 370392006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
37040
37041 Clean up the code to support 64-bit addressing in disks and
37042 files. This change is not enough for filesystems yet.
f19dbdb7 37043
524a1e6a 37044 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
37045 type of "start" to grub_uint64_t.
37046 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
37047 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
37048 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
37049 convert addresses.
37050
37051 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
37052 to grub_disk_addr_t.
37053
37054 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
37055 string.
37056
37057 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37058
37059 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
37060 to char *.
37061
37062 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
37063
37064 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
37065
37066 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
37067
37068 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
37069 to grub_off_t, to detect an error from grub_file_seek.
37070 (grub_multiboot_load_elf32): Likewise.
37071
37072 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
37073 maximum unsigned long value when an overflow is detected.
37074 (grub_strtoull): New function.
37075 (grub_divmod64): Likewise.
37076 (grub_lltoa): use grub_divmod64.
37077
37078 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
37079 grub_disk_addr_t.
37080 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
37081 the pointer to next character. Use grub_strtoull instead of
37082 grub_strtoul.
37083 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
37084 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
37085 respectively.
37086
fe6b695a 37087 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 37088 return value is signed.
37089 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
37090 test if OFFSET is less than zero, as OFFSET is unsigned now.
37091
37092 * kern/disk.c (struct grub_disk_cache): Change the type of
37093 "sector" to grub_disk_addr_t.
37094 (grub_disk_cache_get_index): Change the type of SECTOR to
37095 grub_disk_addr_t. Calculate the hash with SECTOR casted to
37096 unsigned after shifting.
37097 (grub_disk_cache_invalidate): Change the type of SECTOR to
37098 grub_disk_addr_t.
37099 (grub_disk_cache_unlock): Likewise.
37100 (grub_disk_cache_store): Likewise.
37101 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
37102 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
37103 grub_disk_addr_t and grub_uint64_t, respectively.
37104 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
37105 body, as the value of OFFSET is tweaked by
37106 grub_disk_check_range. Change the types of START_SECTOR, LEN and
37107 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
37108 respectively.
37109 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
37110 body, as the value of OFFSET is tweaked by
37111 grub_disk_check_range. Change the types of LEN and N to
37112 grub_size_t.
37113
37114 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
37115 and "saved_offset" to grub_off_t.
37116 (test_header): Cast BUF to char *.
37117 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
37118 to char *.
37119 (grub_gzio_read): Change the types of OFFSET and SIZE to
37120 grub_off_t and grub_size_t, respectively.
37121
37122 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
37123 Removed.
37124 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
37125 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
37126 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
37127 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
37128 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
37129
37130 * include/grub/types.h (grub_off_t): Unconditionally set to
37131 grub_uint64_t.
37132 (grub_disk_addr_t): Changed to grub_uint64_t.
37133
37134 * include/grub/partition.h (struct grub_partition): Change the
37135 types of "start", "len" and "offset" to grub_disk_addr_t,
37136 grub_uint64_t and grub_disk_addr_t, respectively.
37137 (grub_partition_get_start): Return grub_disk_addr_t.
37138 (grub_partition_get_len): Return grub_uint64_t.
37139
37140 * include/grub/misc.h (grub_strtoull): New prototype.
37141 (grub_divmod64): Likewise.
37142
37143 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
37144 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
37145 grub_off_t, respectively.
37146 All callers and references changed.
37147
37148 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
37149 grub_size_t in "read".
37150 All callers and references changed.
37151
37152 * include/grub/file.h (struct grub_file): Change the types of
37153 "offset" and "size" to grub_off_t and grub_off_t,
37154 respectively. Change the type of SECTOR to grub_disk_addr_t in
37155 "read_hook".
37156 (grub_file_read): Change the type of LEN to grub_size_t.
37157 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
37158 grub_off_t.
37159 (grub_file_size): Return grub_off_t.
37160 (grub_file_tell): Likewise.
37161 All callers and references changed.
37162
37163 * include/grub/disk.h (struct grub_disk_dev): Change the types of
37164 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
37165 "write".
37166 (struct grub_disk): Change the type of "total_sectors" to
37167 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 37168 "read_hook".
524a1e6a 37169 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
37170 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
37171 (grub_disk_write): Likewise.
37172 All callers and references changed.
37173
37174 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
37175 char * for grub_strncmp to silence gcc.
37176 (grub_iso9660_mount): Likewise.
37177 (grub_iso9660_mount): Likewise.
37178 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
37179 return statement.
37180 (grub_iso9660_iterate_dir): Likewise.
37181 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
37182
37183 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
37184 LEN to grub_disk_addr_t and grub_size_t, respectively.
37185
37186 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
37187
37188 * fs/jfs.c (grub_jfs_read_file): Likewise.
37189
37190 * fs/minix.c (grub_jfs_read_file): Likewise.
37191
37192 * fs/sfs.c (grub_jfs_read_file): Likewise.
37193
37194 * fs/ufs.c (grub_jfs_read_file): Likewise.
37195
37196 * fs/xfs.c (grub_jfs_read_file): Likewise.
37197
37198 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
37199 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
37200 respectively.
37201
37202 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
37203 BLKNR to -1 instead of returning GRUB_ERRNO.
37204 (grub_ext2_read_file): Change the types of SECTOR and
37205 LEN to grub_disk_addr_t and grub_size_t, respectively.
37206
37207 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
37208 LEN to grub_disk_addr_t and grub_size_t, respectively.
37209
37210 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
37211 grub_file_read.
37212
37213 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
37214 string. Do not cast SECTOR explicitly.
37215
37216 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
37217 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
37218 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
37219 grub_disk_addr_t and grub_size_t, respectively. If the sector is
37220 over 2TB and LBA mode is not supported, raise an error.
37221 (get_safe_sectors): New function.
37222 (grub_biosdisk_read): Use get_safe_sectors.
37223 (grub_biosdisk_write): Likewise.
37224
37225 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
37226 (grub_efidisk_write): Likewise.
37227
37228 * disk/loopback.c (delete_loopback): Cosmetic changes.
37229 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
37230 correctly.
37231 (grub_loopback_open): Likewise.
37232 (grub_loopback_read): Likewise. Also, change the type of POS to
37233 grub_off_t, and fix the usage of grub_memset.
37234
37235 * commands/i386/pc/play.c: Include grub/machine/time.h.
37236
37237 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
37238 print FILE->SIZE.
37239
37240 * commands/configfile.c: Include grub/env.h.
37241
37242 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
37243 GRUB_ERRNO directly instead. Change the type of POS to
37244 grub_off_t. Follow the coding standard.
37245
37246 * commands/blocklist.c: Include grub/partition.h.
37247 (grub_cmd_blocklist): Return an error if the underlying device is
37248 not a disk. Take the starting sector of a partition into account,
37249 if a partition is used.
37250
37251 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
37252 a length field.
37253 (lba_mode): Support 64-bit addresses.
37254 (chs_mode): Likewise.
37255 (copy_buffer): Adapted to the new offsets of a length field and a
37256 segment field.
37257 (blocklist_default_start): Allocate 64-bit space.
37258
37259 * boot/i386/pc/boot.S (force_lba): Removed.
37260 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 37261 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 37262 space.
37263 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
37264 is useless.
37265 (lba_mode): Refactored to support a 64-bit address. More size
37266 optimization.
37267 (setup_sectors): Likewise.
37268
53af98ad 372692006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
37270
37271 * DISTLIST: Added include/grub/i386/linux.h. Removed
37272 include/grub/i386/pc/linux.h
37273
37274 * configure.ac (AC_INIT): Bumped to 1.94.
37275
37276 * config.guess: Updated from gnulib.
37277 * config.sub: Likewise.
37278 * install-sh: Likewise.
37279 * mkinstalldirs: Likewise.
37280
b4c1940a 372812006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
37282
37283 * conf/common.rmk (grub_modules_init.lst): Depended on
37284 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
37285 MODSRCFILES.
37286
37287 * genmk.rb (PModule::rule): Reverted the previous change.
37288
cfca1cfd 372892006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
37290
37291 * conf/common.rmk (grub_modules_init.lst): Depends on
37292 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
37293 that the target does not exist before producing.
37294 (grub_modules_init.h): Remove the target before generating.
37295 (grub_emu_init.c): Likewise.
37296
37297 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
37298
aa6d7826 372992006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
37300
37301 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
37302 for the target-specific tests. Make sure that we also have the
37303 up-to-date target variables for those tests.
37304
26c607b9 373052006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
37306
37307 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
37308 (PModule::rule): Likewise.
37309
0162321a 373102006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
37311
37312 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
37313 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
37314 target-specific flags should be prefixed.
37315 (PModule::rule): Likewise.
37316
6c826348 373172006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
37318
37319 * configure.ac (CMP): Check if cmp is available explicitly.
37320
b977bf01 373212006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
37322
37323 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
37324 (target_cpu): New variable.
37325 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 37326
b977bf01 37327 * util/i386/pc/grub-install.in (host_cpu): Removed.
37328 (target_cpu): New variable.
37329 (pkglibdir): Use target_cpu instead of host_cpu.
37330
37331 * util/genmoddep.c: Removed.
f19dbdb7 37332
b977bf01 37333 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
37334 instead of GRUB_HOST_SIZEOF_VOID_P.
37335 * kern/dl.c: Likewise.
37336
37337 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
37338 ...
37339 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37340 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37341 (GRUB_TARGET_SIZEOF_LONG): ... this.
37342 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37343 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37344 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
37345 to ...
37346 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37347 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37348 (GRUB_TARGET_SIZEOF_LONG): ... this.
37349 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37350 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37351 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
37352 to ...
37353 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
37354 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
37355 (GRUB_TARGET_SIZEOF_LONG): ... this.
37356 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
37357 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
37358
37359 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
37360 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
37361 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
37362 instead of GRUB_HOST_SIZEOF_LONG.
37363 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
37364 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
37365 GRUB_CPU_WORDS_BIGENDIAN.
37366 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
37367 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
37368 grub_host_ssize_t.
37369
37370 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
37371 (genmoddep_SOURCES): Likewise.
37372 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
37373 (genmoddep_SOURCES): Likewise.
37374 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
37375 (genmoddep_SOURCES): Likewise.
37376 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
37377 Likewise.
37378 (genmoddep_SOURCES): Likewise.
37379
37380 * genmoddep.awk: New file.
37381
37382 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
37383 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
37384 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
37385 (PModule::rule): Likewise.
37386 (Program::rule): Likewise.
37387 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
37388 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
37389 respectively.
37390
37391 * configure.ac: Rewritten intensively to use host and target
37392 instead of build and host, respectively.
37393
37394 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
37395 (host_cpu): Removed.
37396 (target_cpu): New variable.
37397 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
37398 (BUILD_CC): Removed.
37399 (BUILD_CFLAGS): Likewise.
37400 (BUILD_CPPFLAGS): Likewise.
37401 (TARGET_CC): New variable.
37402 (TARGET_CFLAGS): Likewise.
37403 (TARGET_CPPFLAGS): Likewise.
37404 (TARGET_LDFLAGS): Likewise.
37405 (AWK): Likewise.
37406 (include): Use target_cpu instead of host_cpu.
37407 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 37408
b977bf01 37409 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
37410
f09771a1 374112006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
37412
37413 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
37414 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
37415 field 'false' to 'exec_on_false'.
37416 (grub_script_create_cmdif): Renamed argument names to reflect above
37417 changes.
37418
37419 * normal/execute.c (grub_script_execute_cmdif): Likewise.
37420
37421 * normal/script.c (grub_script_create_cmdif): Likewise.
37422
118f4fb3 374232006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
37424
37425 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
37426 top.
37427 (grub_hfsplus_btree_recptr): Likewise.
37428 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
37429 FILEBLOCK both to pass a block number and store next block
37430 number.
37431 (grub_hfsplus_read_block): Rewritten heavily to support an extent
37432 overflow file correctly. Specify errors appropriately, because
37433 fshelp expects that GRUB_ERRNO is set when fails. Reuse
37434 grub_hfsplus_btree_recptr to get the pointer to a found key.
37435 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
37436 is found.
37437
37438 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
37439 linux.mod.
37440 (_linux_mod_SOURCES): New variable.
37441 (_linux_mod_CFLAGS): Likewise.
37442 (_linux_mod_LDFLAGS): Likewise.
37443 (linux_mod_SOURCES): Likewise.
37444 (linux_mod_CFLAGS): Likewise.
37445 (linux_mod_LDFLAGS): Likewise.
37446
37447 * DISTLIST: Added loader/i386/efi/linux.c,
37448 loader/i386/efi/linux_normal.c and
37449 include/grub/i386/efi/loader.h.
37450
37451 * loader/i386/efi/linux.c: New file.
37452 * loader/i386/efi/linux_normal.c: Likewise.
37453 * include/grub/i386/efi/loader.h: Likewise.
37454
89a7d726 374552006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
37456
37457 * commands/blocklist.c: New file.
37458
37459 * DISTLIST: Added commands/blocklist.c.
37460
37461 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 37462 color for the background, and a darker color for the foreground.
89a7d726 37463 (grub_console_checkkey): Return READ_KEY.
37464 (grub_console_cls): Set the background to
37465 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
37466
37467 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
37468
37469 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
37470 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
37471
37472 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
37473 prototype.
37474
37475 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
37476 BG. The spec is wrong again.
37477
37478 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
37479 prototype.
37480 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
37481
37482 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37483 commands/blocklist.c.
37484 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 37485
89a7d726 37486 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
37487 (blocklist_mod_SOURCES): New variable.
37488 (blocklist_mod_CFLAGS): Likewise.
37489 (blocklist_mod_LDFLAGS): Likewise.
37490
75c8f258 374912006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
37492
37493 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
37494 duplication.
37495 (lba_mode): Use %eax more intensively to reduce the code size.
37496
da2eb181 374972006-05-20 Marco Gerards <marco@gnu.org>
37498
37499 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
37500
37501 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
37502 for `menuentry'.
37503 (script): Accept leading newlines.
37504 (newlines): New rule to describe 0 or more newlines.
37505 (commands): Accept `command' with trailing newline. Fixed the
37506 order in which arguments were passed to `grub_script_add_cmd'.
37507 Accept commands separated by newlines.
37508 (function): Changed to accept newlines.
37509 (menuentry) Rewritten.
37510
37511 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
37512 front of the list, instead of to the end.
37513
577b4050 375142006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
37515
37516 * util/i386/pc/grub-install.in (bindir): New variable.
37517 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
37518 Shaver <lbgwjl@gmail.com>.
37519
0d6e1189 375202006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
37521
37522 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
37523 grub/machine/linux.h
37524 * loader/i386/pc/linux.c: Likewise.
37525
37526 * include/grub/i386/pc/linux.h: Moved to ...
37527 * include/grub/i386/linux.h: ... here.
37528
37529 * include/grub/i386/linux.h (struct linux_kernel_params): New
37530 struct.
f19dbdb7 37531
31b86e9f 375322006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
37533
37534 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
37535 checking.
37536 (grub_video_vbe_blit_glyph): Likewise.
37537 (grub_video_vbe_blit_bitmap): Likewise.
37538 (grub_video_vbe_blit_render_target): Likewise.
37539
83b984de 375402006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
37541
37542 * configure.ac (--with-platform): Properly quote the square
37543 brackets.
37544
5f0413bd 375452006-05-08 Marco Gerards <marco@gnu.org>
37546
37547 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
37548 this...
37549 (kernel_elf_HEADERS): ...to this. Updated all users.
37550 (grubof_symlist.c): Renamed from this...
37551 (kernel_elf_symlist.c): ...to this. Updated all users.
37552 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
37553 (grubof_SOURCES): Renamed from this...
37554 (kernel_elf_SOURCES): ...to this.
37555 (grubof_HEADERS): Renamed from this...
37556 (kernel_elf_HEADERS): ...to this.
37557 (grubof_CFLAGS): Renamed from this...
37558 (kernel_elf_CFLAGS): ...to this.
37559 (grubof_ASFLAGS): Renamed from this...
37560 (kernel_elf_ASFLAGS): ...to this.
37561 (grubof_LDFLAGS): Renamed from this...
37562 (kernel_elf_LDFLAGS): ...to this.
37563
37564 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
37565 this...
37566 (kernel_elf_HEADERS): ...to this. Updated all users.
37567 (grubof_symlist.c): Renamed from this...
37568 (kernel_elf_symlist.c): ...to this. Updated all users.
37569 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
37570 (grubof_SOURCES): Renamed from this...
37571 (kernel_elf_SOURCES): ...to this.
37572 (grubof_HEADERS): Renamed from this...
37573 (kernel_elf_HEADERS): ...to this.
37574 (grubof_CFLAGS): Renamed from this...
37575 (kernel_elf_CFLAGS): ...to this.
37576 (grubof_ASFLAGS): Renamed from this...
37577 (kernel_elf_ASFLAGS): ...to this.
37578 (grubof_LDFLAGS): Renamed from this...
37579 (kernel_elf_LDFLAGS): ...to this.
37580
37581 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
37582 `kernel.elf' instead of `grubof'.
37583
05568c2e 375842006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
37585
37586 Add --with-platform to configure. Use pkglibdir instead of
37587 pkgdatadir. This is reported by Roger Leigh.
37588
37589 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
37590 (host_vendor): Likewise.
37591 (host_os): Likewise.
37592 (pkgdatadir): Likewise.
37593 (platform): New variable.
37594 (pkglibdir): Likewise.
37595 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 37596
05568c2e 37597 * util/i386/pc/grub-install.in (datadir): Removed.
37598 (host_vendor): Likewise.
37599 (host_os): Likewise.
37600 (pkgdatadir): Likewise.
37601 (platform): New variable.
37602 (pkglibdir): Likewise.
37603 Use PKGLIBDIR instead of PKGDATADIR.
37604
37605 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
37606 instead of GRUB_DATADIR.
37607 (main): Likewise.
37608 * util/i386/pc/grub-mkimage.c (usage): Likewise.
37609 (main): Likewise.
37610 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37611 (main): Likewise.
37612
37613 * configure.ac (--with-platform): New option.
37614 Use PLATFORM instead of HOST_VENDOR to specify a platform.
37615
37616 * Makefile.in: Include a makefile based on PLATFORM instead of
37617 HOST_VENDOR.
37618 (pkgdatadir): Not appended by the machine type.
37619 (pkglibdir): Appended by the machine type.
37620 (host_vendor): Removed.
37621 (platform): New variable.
37622 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
37623 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
37624 (uninstall): Likewise.
37625
4e93851c 376262006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
37627
37628 Use the environment context in the menu. Remove the commands
37629 "default" and "timeout", and use variables instead.
f19dbdb7 37630
4e93851c 37631 * normal/menu.c: Include grub/env.h.
37632 (print_entry): Cast TITLE to silence gcc.
37633 (get_timeout): New function.
37634 (set_timeout): Likewise.
37635 (get_entry_number): Likewise.
37636 (run_menu): Use a default entry, a fallback entry and a timeout
37637 in the environment variables "default", "fallback" and
37638 "timeout". Also, tweak the default entry if it is not within the
37639 current menu entries.
37640 (grub_menu_run): Use a fallback entry in the environment variable
37641 "fallback".
37642
37643 * normal/main.c (read_config_file): Do not initialize
37644 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
37645 NEWMENU->TIMEOUT.
37646 (grub_normal_execute): Use a data slot to store the menu.
37647
37648 * include/grub/normal.h (struct grub_menu): Removed default_entry,
37649 fallback_entry and timeout.
37650 (struct grub_menu_list): Removed.
37651 (grub_menu_list_t): Likewise.
37652 (struct grub_context): Likewise.
37653 (grub_context_t): Likewise.
37654 (grub_context_get): Likewise.
37655 (grub_context_get_current_menu): Likewise.
37656 (grub_context_push_menu): Likewise.
37657 (grub_context_pop_menu): Likewise.
37658 (grub_default_init): Likewise.
37659 (grub_default_fini): Likewise.
37660 (grub_timeout_init): Likewise.
37661 (grub_timeout_fini): Likewise.
37662
37663 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
37664 and timeout.mod.
37665 (normal_mod_SOURCES): Removed normal/context.c.
37666
37667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
37668 commands/default.c, commands/timeout.c and normal/context.c.
37669 (normal_mod_SOURCES): Removed normal/context.c.
37670
37671 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
37672 commands/timeout.c and normal/context.c.
37673 (normal_mod_SOURCES): Removed normal/context.c.
37674
37675 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
37676 commands/default.c, commands/timeout.c and normal/context.c.
37677 (normal_mod_SOURCES): Removed normal/context.c.
37678
37679 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
37680 timeout.mod.
37681 (default_mod_SOURCES): Removed.
37682 (default_mod_CFLAGS): Likewise.
37683 (default_mod_LDFLAGS): Likewise.
37684 (timeout_mod_SOURCES): Removed.
37685 (timeout_mod_CFLAGS): Likewise.
37686 (timeout_mod_LDFLAGS): Likewise.
37687
37688 * DISTLIST: Removed commands/default.c, commands/timeout.c and
37689 normal/context.c.
37690
37691 * commands/default.c: Removed.
37692 * commands/timeout.c: Likewise.
37693 * normal/context.c: Likewise.
37694
1eb9cc1d 376952006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
37696
37697 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
37698
385bd9c1 376992006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
37700
37701 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
37702 "next" to "prev" for readability.
37703 (struct grub_env_sorted_var): New struct.
37704 (grub_env_context): Renamed to ...
37705 (initial_context): ... this.
37706 (grub_env_var_context): Renamed to ...
37707 (current_context): ... this.
37708 (grub_env_find): Look only at CURRENT_CONTEXT.
37709 (grub_env_context_open): Rewritten to copy exported variables from
37710 previous context.
37711 (grub_env_context_close): Rewritten according to the new
37712 scheme. Also, add an assertion to prevent the initial context from
37713 removed.
37714 (grub_env_insert): Removed the code for the sorted list.
37715 (grub_env_remove): Likewise.
37716 (grub_env_export): Simply mark the variable with
37717 GRUB_ENV_VAR_GLOBAL.
37718 (grub_env_set): A cosmetic change for naming consistency.
37719 (grub_env_get): Likewise.
37720 (grub_env_unset): Likewise.
37721 (grub_env_iterate): Rewritten to sort variables within this
37722 function.
37723 (grub_register_variable_hook): Fixed for naming consistency. Call
37724 grub_env_find again, only if NAME is not found at the first time.
37725 (mangle_data_slot_name): New function.
37726 (grub_env_set_data_slot): Likewise.
37727 (grub_env_get_data_slot): Likewise.
37728 (grub_env_unset_data_slot): Likewise.
37729
37730 * include/grub/env.h (grub_env_var_type): New enum.
37731 (GRUB_ENV_VAR_LOCAL): New constant.
37732 (GRUB_ENV_VAR_GLOBAL): Likewise.
37733 (GRUB_ENV_VAR_DATA): Likewise.
37734 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
37735 "type".
37736 (grub_env_set): Replace VAR with NAME for consistency.
37737 (grub_register_variable_hook): Likewise.
37738 (grub_env_export): Specify the name of the argument.
37739 (grub_env_set_data_slot): New prototype.
37740 (grub_env_get_data_slot): Likewise.
37741 (grub_env_unset_data_slot): Likewise.
37742
7f362539 377432006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37744
37745 Extend the loader so that GRUB can accept a loader which comes
37746 back to GRUB when a loaded image exits. Also, this change adds
37747 support for a chainloader on EFI.
f19dbdb7 37748
7f362539 37749 * term/efi/console.c: Include grub/misc.h.
37750 (grub_console_checkkey): Display a scan code on the top for
37751 debugging. This will be removed once the EFI port gets stable.
37752 Correct the scan code mapping.
37753
37754 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
37755 allocate memory from larger regions, in order to reduce the number
37756 of allocated regions. Otherwise, the MacOSX loader panics.
37757 (filter_memory_map): Avoid less than 1MB for compatibility with
37758 other loaders.
37759 (add_memory_regions): Allocate from the tail of a region, if
37760 possible, to avoid allocating a region near to 1MB, for the MacOSX
37761 loader.
37762
37763 * kern/efi/init.c (grub_efi_set_prefix): Specify
37764 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
37765
37766 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
37767 argument IMAGE_HANDLE and specify it to get a loaded image.
37768 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
37769 grub_efi_get_loaded_image.
fe6b695a 37770 (grub_efi_get_filename): Divide the length by the size of
7f362539 37771 grub_efi_char16_t.
37772 (grub_efi_get_device_path): New function.
37773 (grub_efi_print_device_path): Print End Device Path nodes. Divide
37774 the length by the size of grub_efi_char16_t for a file path device
37775 path node.
37776
37777 * kern/loader.c (grub_loader_noreturn): New variable.
37778 (grub_loader_set): Accept a new argument NORETURN. Set
37779 GRUB_LOADER_NORETURN to NORETURN.
37780 All callers changed.
37781 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
37782 grub_machine_fini.
37783
37784 * include/grub/efi/efi.h (grub_efi_get_device_path): New
37785 prototype.
37786 (grub_efi_get_loaded_image): Take an argument to specify an image
37787 handle.
37788
37789 * include/grub/loader.h (grub_loader_set): Added one more argument
37790 NORETURN.
37791
37792 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
37793 instead of grub_efi_open_protocol.
37794 (grub_efidisk_get_device_name): Likewise.
37795 (grub_efidisk_close): Print a newline.
37796 (grub_efidisk_get_device_handle): Fixed to use
37797 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
37798 GRUB_EFI_DEVICE_PATH_TYPE.
37799
37800 * disk/efi/efidisk.c (device_path_guid): Moved to ...
37801 * kern/efi/efi.c (device_path_guid): ... here.
37802
37803 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
37804 chain.mod.
37805 (kernel_mod_HEADERS): Added efi/disk.h.
37806 (_chain_mod_SOURCES): New variable.
37807 (_chain_mod_CFLAGS): Likewise.
37808 (_chain_mod_LDFLAGS): Likewise.
37809 (chain_mod_SOURCES): Likewise.
37810 (chain_mod_CFLAGS): Likewise.
37811 (chain_mod_LDFLAGS): Likewise.
37812
37813 * DISTLIST: Added include/grub/efi/chainloader.h,
37814 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
37815
37816 * include/grub/efi/chainloader.h: New file.
37817 * loader/efi/chainloader.c: Likewise.
37818 * loader/efi/chainloader_normal.c: Likewise.
37819
c0111d6e 378202006-04-30 Marco Gerards <marco@gnu.org>
37821
37822 * commands/configfile.c (grub_cmd_source): New function.
37823 (GRUB_MOD_INIT): Register the commands `source' and `.'.
37824 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
37825
df5341da 378262006-04-30 Marco Gerards <marco@gnu.org>
37827
37828 * normal/execute.c (grub_script_execute_cmd): Change the return
37829 type to `grub_err_t'. Correctly return the error.
37830 (grub_script_execute_cmdline): In case a command line is not a
37831 command or a function, try to interpret it as an assignment.
37832
f85934bd 378332006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37834
37835 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
37836 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
37837 skip a node whose name is obviously invalid as UTF-16,
37838 i.e. contains a NUL character. Stop the iteration when the last
37839 directory entry is found. Instead of using the return value of
37840 grub_hfsplus_btree_iterate_node, store the value in RET and use
37841 it, because the iterator can be stopped by the last directory
37842 entry.
37843
8f8a2cf8 378442006-04-30 Marco Gerards <marco@gnu.org>
37845
37846 * include/grub/env.h (grub_env_export): New prototype. Reported
37847 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
37848
a27e84ce 378492006-04-30 Marco Gerards <marco@gnu.org>
37850
37851 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
37852 size of the extents in a catalog file record.
37853
eaef0553 378542006-04-29 Marco Gerards <marco@gnu.org>
37855
37856 * commands/configfile.c (grub_cmd_configfile): Execute the
37857 configfile within its own context.
37858
37859 * include/grub/env.h (grub_env_context_open): New prototype.
37860 (grub_env_context_close): Likewise.
37861
37862 * kern/env.c (grub_env): Removed.
37863 (grub_env_sorted): Likewise.
37864 (grub_env_context): New variable.
37865 (grub_env_var_context): Likewise.
37866 (grub_env_find): Search both the active context and the global
37867 context.
37868 (grub_env_context_open): New function.
37869 (grub_env_context_close): Likewise.
37870 (grub_env_insert): Likewise.
37871 (grub_env_remove): Likewise.
37872 (grub_env_export): Likewise.
37873 (grub_env_set): Changed to use helper functions to avoid code
37874 duplication.
37875 (grub_env_iterate): Rewritten so both the current context and the
37876 global context are being used.
37877
37878 * normal/command.c (export_command): New function.
37879 (grub_command_init): Register the `export' function.
37880
7b455f4d 378812006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
37882
37883 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
37884 explicitly to suppress gcc's warnings.
37885 * fs/fat.c (grub_fat_find_dir): Likewise.
37886 (grub_fat_label): Likewise.
37887 * fs/xfs.c (grub_xfs_read_inode): Likewise.
37888 (grub_xfs_mount): Likewise.
37889 (grub_xfs_label): Likewise.
37890 * fs/affs.c (grub_affs_mount): Likewise.
37891 (grub_affs_label): Likewise.
37892 (grub_affs_iterate_dir): Likewise.
37893 * fs/sfs.c (grub_sfs_mount): Likewise.
37894 (grub_sfs_iterate_dir): Likewise.
37895 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
37896 * fs/hfs.c (grub_hfs_mount): Likewise.
37897 (grub_hfs_cmp_catkeys): Likewise.
37898 (grub_hfs_find_dir): Likewise.
37899 (grub_hfs_dir): Likewise.
37900 (grub_hfs_label): Likewise.
37901 * fs/jfs.c (grub_jfs_mount): Likewise.
37902 (grub_jfs_opendir): Likewise.
37903 (grub_jfs_getent): Likewise.
37904 (grub_jfs_lookup_symlink): Likewise.
37905 (grub_jfs_label): Likewise.
37906 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
37907 (grub_hfsplus_iterate_dir): Likewise.
37908 (grub_hfsplus_btree_iterate_node): Made static.
37909
37910 * util/grub-emu.c (prefix): New variable.
37911 (grub_machine_set_prefix): New function.
37912 (main): Do not set the environment variable "prefix" here. Only
37913 set PREFIX, which is used later by grub_machine_set_prefix.
37914
37915 * include/grub/video.h: Do not include grub/symbol.h.
37916 (grub_video_register): Not exported. This symbol is not defined in
37917 the kernel.
37918 (grub_video_unregister): Likewise.
37919 (grub_video_iterate): Likewise.
37920 (grub_video_setup): Likewise.
37921 (grub_video_restore): Likewise.
37922 (grub_video_get_info): Likewise.
37923 (grub_video_get_blit_format): Likewise.
37924 (grub_video_set_palette): Likewise.
37925 (grub_video_get_palette): Likewise.
37926 (grub_video_set_viewport): Likewise.
37927 (grub_video_get_viewport): Likewise.
37928 (grub_video_map_color): Likewise.
37929 (grub_video_map_rgb): Likewise.
37930 (grub_video_map_rgba): Likewise.
37931 (grub_video_fill_rect): Likewise.
37932 (grub_video_blit_glyph): Likewise.
37933 (grub_video_blit_bitmap): Likewise.
37934 (grub_video_blit_render_target): Likewise.
37935 (grub_video_scroll): Likewise.
37936 (grub_video_swap_buffers): Likewise.
37937 (grub_video_create_render_target): Likewise.
37938 (grub_video_delete_render_target): Likewise.
37939 (grub_video_set_active_render_target): Likewise.
37940
37941 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
37942 Undefined.
37943 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
37944
37945 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
37946 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37947 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37948 instead of $(srcdir)/genkernsyms.sh.
37949
37950 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
37951 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37952 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37953 instead of $(srcdir)/genkernsyms.sh.
37954
37955 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
37956 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37957 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37958 instead of $(srcdir)/genkernsyms.sh.
37959
37960 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
37961 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37962 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37963 instead of $(srcdir)/genkernsyms.sh.
37964
37965 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
37966 genkernsyms.sh.
37967
37968 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
37969 genkernsyms.sh.
37970 (gensymlist.sh): New target.
37971 (genkernsyms.sh): Likewise.
37972
37973 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
37974 genkernsyms.sh.in and gensymlist.sh.in.
37975
37976 * genkernsyms.sh: Removed.
37977 * gensymlist.sh: Likewise.
f19dbdb7 37978
7b455f4d 37979 * genkernsyms.sh.in: New file.
37980 * gensymlist.sh.in: Likewise.
37981
1885bb27 379822006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37983
37984 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
37985 clobber "prefix", since we may have already set it manually.
37986
71538dff 379872006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37988
37989 * kern/misc.c (abort): New alias for grub_abort.
37990
2965c7cc 379912006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
37992
37993 A new machine-specific function "grub_machine_set_prefix" is
37994 defined. This is called after loading modules, so that a prefix
37995 initialization can use modules. Also, this change adds an
37996 intensive debugging feature for the memory manager via the
37997 configure option "--enable-mm-debug".
f19dbdb7 37998
2965c7cc 37999 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
38000 PART.LEN.
38001
38002 * kern/sparc64/ieee1275/init.c (abort): Removed.
38003 (grub_stop): Likewise.
38004 (grub_exit): New function.
38005 (grub_set_prefix): Renamed to ...
38006 (grub_machine_set_prefix): ... this.
38007 (grub_machine_init): Do not call grub_set_prefix.
38008
38009 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
38010 (grub_machine_set_prefix): ... this.
38011 (grub_machine_init): Do not call grub_set_prefix.
38012
38013 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
38014 (grub_machine_init): Do not set the prefix here.
38015
38016 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
38017
38018 * kern/efi/init.c: Include grub/mm.h.
38019 (grub_efi_set_prefix): New function.
38020
38021 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
38022 (grub_efi_get_filename): New function.
38023 (grub_print_device_path): Renamed to ...
38024 (grub_efi_print_device_path): ... this.
38025
38026 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
38027 [MM_DEBUG] (grub_realloc): Likewise.
38028 [MM_DEBUG] (grub_free): Likewise.
38029 [MM_DEBUG] (grub_memalign): Likewise.
38030 [MM_DEBUG] (grub_mm_debug): New variable.
38031 [MM_DEBUG] (grub_debug_malloc): New function.
38032 [MM_DEBUG] (grub_debug_free): New function.
38033 [MM_DEBUG] (grub_debug_realloc): New function.
38034 [MM_DEBUG] (grub_debug_memalign): New function.
38035
38036 * kern/misc.c (grub_abort): Print a newline to distinguish
38037 the message.
38038
38039 * kern/main.c (grub_main): Call grub_machine_set_prefix and
38040 grub_set_root_dev after loading modules. This is necessary when
38041 setting a prefix depends on modules.
38042
38043 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
38044 (grub_efi_print_device_path): ... this.
38045 (grub_efi_get_filename): New prototype.
38046 (grub_efi_set_prefix): Likewise.
38047
38048 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
38049 and grub/disk.h.
38050 (grub_efidisk_get_device_handle): New prototype.
38051 (grub_efidisk_get_device_name): Likewise.
38052
38053 * include/grub/mm.h: Include config.h.
38054 (MM_DEBUG): Removed.
38055 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
38056 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
38057 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
38058 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
38059 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
38060 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
38061 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
38062 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
38063 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
38064
38065 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
38066
38067 * disk/efi/efidisk.c: Include grub/partition.h.
38068 (iterate_child_devices): New function.
38069 (add_device): First, compare only last device path nodes, so that
38070 devices are sorted by the types.
38071 (grub_efidisk_get_device_handle): New function.
38072 (grub_efidisk_get_device_name): Likewise.
38073
38074 * configure.ac (--enable-mm-debug): New option to enable the
38075 memory manager debugging feature. This makes the binary much
38076 bigger, so is disabled by default.
38077
9cacaa17 380782006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
38079
38080 Use grub_abort instead of grub_stop, and grub_exit must be
38081 define in each architecture now. Also, this change adds support
38082 for EFI disks.
f19dbdb7 38083
9cacaa17 38084 * util/i386/pc/grub-probefs.c: Include grub/term.h.
38085 (grub_getkey): New function.
38086 (grub_term_get_current): Likewise.
38087
38088 * util/i386/pc/grub-setup.c: Include grub/term.h.
38089 (grub_getkey): New function.
38090 (grub_term_get_current): Likewise.
38091
38092 * util/misc.c (grub_stop): Renamed to ...
38093 (grub_exit): ... this.
38094
38095 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
38096 (grub_exit): ... this.
38097 (grub_machine_init): Use grub_abort instead of abort.
38098 (grub_stop): Removed.
38099
38100 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
38101 abort.
38102
38103 * kern/i386/pc/startup.S (grub_exit): New function.
38104 (cold_reboot): New label.
38105
38106 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
38107 (grub_efi_init): Call grub_efidisk_init.
38108 (grub_efi_fini): Call grub_efidisk_fini.
38109
38110 * kern/efi/efi.c: Include grub/mm.h.
38111 (grub_efi_console_control_guid): Renamed to ...
38112 (console_control_guid): ... this.
38113 (grub_efi_loaded_image_guid): Renamed to ...
38114 (loaded_image_guid): ... this.
38115 (grub_efi_locate_handle): New function.
38116 (grub_efi_open_protocol): Likewise.
38117 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
38118 GRUB_EFI_CONSOLE_CONTROL_GUID.
38119 (grub_efi_exit): Removed.
38120 (grub_stop): Likewise.
38121 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
38122 (grub_exit): New function.
38123 (grub_print_device_path): Likewise.
38124
38125 * kern/rescue.c (grub_rescue_cmd_exit): New function.
38126 (grub_enter_rescue_mode): Register "exit".
38127
38128 * kern/misc.c (grub_real_dprintf): A cosmetic change.
38129 (grub_abort): New function.
38130
38131 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
38132
38133 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
38134
38135 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
38136
38137 * include/grub/efi/efi.h (grub_efi_exit): Removed.
38138 (grub_print_device_path): New prototype.
38139 (grub_efi_locate_handle): Likewise.
38140 (grub_efi_open_protocol): Likewise.
38141
38142 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
38143 * disk/efi/efidisk.c: Likewise.
38144
38145 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
38146
38147 * include/grub/efi/console_control.h
38148 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
38149
38150 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
38151 last 8 bytes as an array.
38152 (GRUB_EFI_DISK_IO_GUID): New macro.
38153 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
38154 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
38155 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
38156 grub_uint8_t.
38157 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
38158 (struct grub_efi_device_path): Rename the member "sub_type" to
38159 "subtype".
38160 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
38161 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
38162 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
38163 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
38164 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
38165 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
38166 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
38167 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
38168 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
38169 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
38170 (struct grub_efi_pci_device_path): New structure.
38171 (grub_efi_pci_device_path_t): New type.
38172 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
38173 (struct grub_efi_pccard_device_path): New structure.
38174 (grub_efi_pccard_device_path_t): New type.
38175 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
38176 (struct grub_efi_memory_mapped_device_path): New structure.
38177 (grub_efi_memory_mapped_device_path_t): New type.
38178 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
38179 (struct grub_efi_vendor_device_path): New structure.
38180 (grub_efi_vendor_device_path_t): New type.
38181 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
38182 (struct grub_efi_controller_device_path): New structure.
38183 (grub_efi_controller_device_path_t): New type.
38184 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
38185 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
38186 (struct grub_efi_acpi_device_path): New structure.
38187 (grub_efi_acpi_device_path_t): New type.
38188 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
38189 (struct grub_efi_expanded_acpi_device_path): New structure.
38190 (grub_efi_expanded_acpi_device_path_t): New type.
38191 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
38192 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
38193 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
38194 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
38195 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
38196 (struct grub_efi_atapi_device_path): New structure.
38197 (grub_efi_atapi_device_path_t): New type.
38198 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
38199 (struct grub_efi_fibre_channel_device_path): New structure.
38200 (grub_efi_fibre_channel_device_path_t): New type.
38201 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
38202 (struct grub_efi_1394_device_path): New structure.
38203 (grub_efi_1394_device_path_t): New type.
38204 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
38205 (struct grub_efi_usb_device_path): New structure.
38206 (grub_efi_usb_device_path_t): New type.
38207 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
38208 (struct grub_efi_usb_class_device_path): New structure.
38209 (grub_efi_usb_class_device_path_t): New type.
38210 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
38211 (struct grub_efi_i2o_device_path): New structure.
38212 (grub_efi_i2o_device_path_t): New type.
38213 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
38214 (struct grub_efi_mac_address_device_path): New structure.
38215 (grub_efi_mac_address_device_path_t): New type.
38216 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
38217 (struct grub_efi_ipv4_device_path): New structure.
38218 (grub_efi_ipv4_device_path_t): New type.
38219 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
38220 (struct grub_efi_ipv6_device_path): New structure.
38221 (grub_efi_ipv6_device_path_t): New type.
38222 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
38223 (struct grub_efi_infiniband_device_path): New structure.
38224 (grub_efi_infiniband_device_path_t): New type.
38225 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
38226 (struct grub_efi_uart_device_path): New structure.
38227 (grub_efi_uart_device_path_t): New type.
38228 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
38229 (struct grub_efi_vendor_messaging_device_path): New structure.
38230 (grub_efi_vendor_messaging_device_path_t): New type.
38231 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
38232 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
38233 (struct grub_efi_hard_drive_device_path): New structure.
38234 (grub_efi_hard_drive_device_path_t): New type.
38235 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
38236 (struct grub_efi_cdrom_device_path): New structure.
38237 (grub_efi_cdrom_device_path_t): New type.
38238 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
38239 (struct grub_efi_vendor_media_device_path): New structure.
38240 (grub_efi_vendor_media_device_path_t): New type.
38241 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
38242 (struct grub_efi_file_path_device_path): New structure.
38243 (grub_efi_file_path_device_path_t): New type.
38244 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
38245 (struct grub_efi_protocol_device_path): New structure.
38246 (grub_efi_protocol_device_path_t): New type.
38247 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
38248 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
38249 (struct grub_efi_bios_device_path): New structure.
38250 (grub_efi_bios_device_path_t): New type.
38251 (struct grub_efi_disk_io): New structure.
38252 (grub_efi_disk_io_t): New type.
38253 (struct grub_efi_block_io_media): New structure.
38254 (grub_efi_block_io_media_t): New type.
38255 (struct grub_efi_block_io): New structure.
38256 (grub_efi_block_io_t): New type.
38257
38258 * include/grub/misc.h (grub_stop): Removed.
38259 (grub_exit): New prototype.
38260 (grub_abort): Likewise.
38261
38262 * include/grub/disk.h (enum grub_disk_dev_id): Added
38263 GRUB_DISK_DEVICE_EFIDISK_ID.
38264
38265 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
38266 disk/efi/efidisk.c.
38267 (kernel_syms.lst): Remove the target if an error occurs.
38268
49986a9f 382692006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
38270
38271 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
38272 as it was simply too buggy.
38273
970d3b8a 382742006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
38275
38276 * kern/misc.c (grub_lltoa): New function.
38277 (grub_vsprintf): Added support for the long long suffix,
38278 i.e. "ll".
38279
ff04ec24 382802006-04-20 Hollis Blanchard <hollis@penguinppc.org>
38281
38282 * Makefile.in (LDFLAGS): Add variable.
38283 (LD): Remove variable.
38284 * configure.ac: Add -m32 to LDFLAGS.
38285 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
38286 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
38287 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
38288 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
38289 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
38290 variables.
38291 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
38292 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
38293 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
38294
37e5e1a4 382952006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
38296
38297 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
38298 length for unknown glyph.
38299
c352d8dd 383002006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
38301
2eab1c0d 38302 Add support for pre-loaded modules into the EFI port.
f19dbdb7 38303
2eab1c0d 38304 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
38305 completely. Accept one more argument DIR. The caller has changed.
38306
38307 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
38308
38309 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
38310 (grub_efi_loaded_image_guid): New variable.
38311 (grub_efi_get_loaded_image): New function.
38312 (grub_arch_modules_addr): Likewise.
38313
38314 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
38315 prototype.
38316
38317 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
38318 (struct grub_efi_loaded_image): New structure.
38319 (grub_efi_loaded_image_t): New type.
38320
383212006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38322
c352d8dd 38323 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
38324 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
38325 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
38326
6d01d6b4 383272006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
38328
38329 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
38330
976a4ea0 383312006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
38332
38333 * DISTLIST: Added include/grub/efi/console.h,
38334 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
38335 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
38336
38337 * include/grub/efi/console.h: New file.
38338 * include/grub/efi/time.h: Likewise.
38339 * include/grub/i386/efi/kernel.h: Likewise.
38340 * kern/efi/init.c: Likewise.
38341 * kern/efi/mm.c: Likewise.
38342 * term/efi/console.c: Likewise.
f19dbdb7 38343
976a4ea0 38344 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
38345 (grub_stop): Removed.
38346 (grub_get_rtc): Likewise.
38347 (grub_machine_init): Simply call grub_efi_init.
38348 (grub_machine_fini): Call grub_efi_fini.
38349
38350 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
38351 (grub_efi_output_string): Removed.
38352 (grub_efi_stall): New function.
38353 (grub_stop): Likewise.
38354 (grub_get_rtc): Likewise.
38355
38356 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
38357 (grub_efi_stall): New prototype.
38358 (grub_efi_allocate_pages): Likewise.
38359 (grub_efi_free_pages): Likewise.
38360 (grub_efi_get_memory_map): Likewise.
38361 (grub_efi_mm_init): Likewise.
38362 (grub_efi_mm_fini): Likewise.
38363 (grub_efi_init): Likewise.
38364 (grub_efi_fini): Likewise.
38365
38366 * include/grub/i386/efi/time.h: Do not include
38367 grub/symbol.h. Include grub/efi/time.h.
38368 (GRUB_TICKS_PER_SECOND): Removed.
38369 (grub_get_rtc): Likewise.
38370
38371 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
38372 Added padding. The EFI spec is buggy.
38373 (GRUB_EFI_BLACK): New macro.
38374 (GRUB_EFI_BLUE): Likewise.
38375 (GRUB_EFI_GREEN): Likewise.
38376 (GRUB_EFI_CYAN): Likewise.
38377 (GRUB_EFI_RED): Likewise.
38378 (GRUB_EFI_MAGENTA): Likewise.
38379 (GRUB_EFI_BROWN): Likewise.
38380 (GRUB_EFI_LIGHTGRAY): Likewise.
38381 (GRUB_EFI_BRIGHT): Likewise.
38382 (GRUB_EFI_DARKGRAY): Likewise.
38383 (GRUB_EFI_LIGHTBLUE): Likewise.
38384 (GRUB_EFI_LIGHTGREEN): Likewise.
38385 (GRUB_EFI_LIGHTCYAN): Likewise.
38386 (GRUB_EFI_LIGHTRED): Likewise.
38387 (GRUB_EFI_LIGHTMAGENTA): Likewise.
38388 (GRUB_EFI_YELLOW): Likewise.
38389 (GRUB_EFI_WHITE): Likewise.
38390 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
38391 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
38392 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
38393 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
38394 (GRUB_EFI_BACKGROUND_RED): Likewise.
38395 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
38396 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
38397 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
38398 (GRUB_EFI_TEXT_ATTR): Likewise.
38399
38400 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
38401 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
38402 (kernel_mod_HEADERS): Added efi/time.h.
38403
83709125 384042006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
38405
38406 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
38407 include/grub/efi/api.h, include/grub/efi/console_control.h,
38408 include/grub/efi/efi.h, include/grub/efi/pe32.h,
38409 include/grub/i386/efi/time.h, kern/efi/efi.c,
38410 kern/i386/efi/init.c, kern/i386/efi/startup.S,
38411 and util/i386/efi/grub-mkimage.c.
38412
38413 * Makefile.in (RMKFILES): Added i386-efi.rmk.
38414
38415 * genmk.rb (PModule#rule): Do not export symbols if
38416 #{prefix}_EXPORTS is set to "no".
38417
38418 * conf/i386-efi.mk: New file.
38419 * conf/i386-efi.rmk: Likewise.
38420 * include/grub/efi/api.h: Likewise.
38421 * include/grub/efi/console_control.h: Likewise.
38422 * include/grub/efi/efi.h: Likewise.
38423 * include/grub/efi/pe32.h: Likewise.
38424 * include/grub/i386/efi/time.h: Likewise.
38425 * kern/efi/efi.c: Likewise.
38426 * kern/i386/efi/init.c: Likewise.
38427 * kern/i386/efi/startup.S: Likewise.
38428 * util/i386/efi/grub-mkimage.c: Likewise.
38429
384302006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 38431
38432 * include/grub/script.h: Include <grub/parser.h> and
38433 "grub_script.tab.h".
38434 (struct grub_lexer_param): New struct.
38435 (struct grub_parser_param): Likewise.
38436 (grub_script_create_arglist): Pass the state in an argument.
38437 (grub_script_add_arglist): Likewise.
38438 (grub_script_create_cmdline): Likewise.
38439 (grub_script_create_cmdblock): Likewise.
38440 (grub_script_create_cmdif): Likewise.
38441 (grub_script_create_cmdmenu): Likewise.
38442 (grub_script_add_cmd): Likewise.
38443 (grub_script_arg_add): Likewise.
38444 (grub_script_lexer_ref): Likewise.
38445 (grub_script_lexer_deref): Likewise.
38446 (grub_script_lexer_record_start): Likewise.
38447 (grub_script_lexer_record_stop): Likewise.
38448 (grub_script_mem_record): Likewise.
38449 (grub_script_mem_record_stop): Likewise.
38450 (grub_script_malloc): Likewise.
38451 (grub_script_yylex): Likewise.
38452 (grub_script_yyparse): Likewise.
38453 (grub_script_yyerror): Likewise.
38454 (grub_script_yylex): Likewise.
38455 (grub_script_lexer_init): Return the state.
38456
38457 * normal/lexer.c (grub_script_lexer_state): Removed variable.
38458 (grub_script_lexer_done): Likewise.
38459 (grub_script_lexer_getline): Likewise.
38460 (grub_script_lexer_refs): Likewise.
38461 (script): Likewise.
38462 (newscript): Likewise.
38463 (record): Likewise.
38464 (recording): Likewise.
38465 (recordpos): Likewise.
38466 (recordlen): Likewise.
38467 (grub_script_lexer_init): Return the state instead of setting
38468 global variables.
38469 (grub_script_lexer_ref): Use the newly added argument for state
38470 instead of globals.
38471 (grub_script_lexer_deref): Likewise.
38472 (grub_script_lexer_record_start): Likewise.
38473 (grub_script_lexer_record_stop): Likewise.
38474 (recordchar): Likewise.
38475 (nextchar): Likewise.
38476 (grub_script_yylex2): Likewise.
38477 (grub_script_yylex): Likewise.
38478 (grub_script_yyerror): Likewise.
38479
38480 * normal/parser.y (func_mem): Removed variable.
38481 (menu_entry): Likewise.
38482 (err): Likewise.
38483 (%lex-param): New parser option.
38484 (%parse-param): Likewise.
38485 (script): Always return the AST.
38486 (argument): Pass the state around.
38487 (arguments): Likewise.
38488 (grubcmd): Likewise.
38489 (commands): Likewise.
38490 (function): Likewise.
38491 (menuentry): Likewise.
38492 (if_statement): Likewise.
38493 (if): Likewise.
38494
38495 * normal/script.c (grub_script_memused): Removed variable.
38496 (grub_script_parsed): Likewise.
38497 (grub_script_malloc): Added a state argument. Use that instead of
38498 global variables.
38499 (grub_script_mem_record): Likewise.
38500 (grub_script_mem_record_stop): Likewise.
38501 (grub_script_arg_add): Likewise.
38502 (grub_script_add_arglist): Likewise.
38503 (grub_script_create_cmdline): Likewise.
38504 (grub_script_create_cmdif): Likewise.
38505 (grub_script_create_cmdmenu): Likewise.
38506 (grub_script_add_cmd): Likewise.
38507 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 38508
e2a8c904 385092006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 38510
38511 * normal/command.c (grub_command_init): Remove the title command.
38512
38513 * normal/lexer.c (grub_script_yylex): Renamed from this...
38514 (grub_script_yylex2): ... to this.
38515 (grub_script_yylex): New function. Temporary
38516 introduced to filter some tokens.
38517 (grub_script_yyerror): Print a newline.
38518
38519 * normal/main.c (read_config_file): Output information about the
38520 lines that contain errors. Wait for a key after all lines have
38521 been processed. Don't return an empty menu.
38522
38523 * normal/parser.y (func_mem): Don't initialize.
38524 (menu_entry): Likewise.
38525 (err): New variable.
38526 (script): Don't return anything when an error was encountered.
38527 (ws, returns): Removed rules.
38528 (argument): Disabled concatenated variable support.
38529 (arguments): Remove explicit separators.
38530 (grubcmd): Likewise.
38531 (function): Likewise.
38532 (menuentry): Likewise.
38533 (if): Likewise.
38534 (commands): Likewise. Add error handling.
38535
38536 * normal/script.c (grub_script_create_cmdline): If
38537 `grub_script_parsed' is 0, assume the parser encountered an error.
38538
c9a86192 385392006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
38540
38541 * configure.ac: Add support for EFI. Fix the typo
38542 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
38543
70f3b243 385442006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38545
38546 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
38547 foreign multibyte characters should be shown correctly.
38548
65f201ad 385492006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38550
38551 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
38552 calculation.
38553 (read_config_file): Made it to close file before returning.
38554
b4b93674 385552006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
38556
38557 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
38558 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
38559 video/i386/pc/vbefill.c.
38560
38561 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
38562 video/i386/pc/vbefill.c.
38563
38564 * include/grub/video.h (grub_video_blit_format): New enum.
38565 (grub_video_mode_info): Added new member blit_format.
38566 (grub_video_get_blit_format): New function prototype.
38567
38568 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
38569 function prototype.
38570 (grub_video_vbe_map_rgb): Likewise.
38571 (grub_video_vbe_unmap_color): Likewise.
38572
38573 * include/grub/i386/pc/vbeblit.h: New file.
38574
38575 * include/grub/i386/pc/vbefill.h: New file.
38576
38577 * video/video.c (grub_video_get_blit_format): New function.
38578 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
38579 (grub_video_vbe_map_rgb): Likewise.
38580 (grub_video_vbe_unmap_color): Likewise.
38581
38582 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
38583 optimized fills.
38584 (grub_video_vbe_blit_render_target): Changed to use more optimized
38585 blits.
38586 (grub_video_vbe_setup): Added detection for optimized settings.
38587 (grub_video_vbe_create_render_target): Likewise.
38588
38589 * video/i386/pc/vbeblit.c: New file.
38590
38591 * video/i386/pc/vbefill.c: New file.
38592
c2379b9c 385932006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
38594
38595 * font/manager.c (grub_font_get_glyph): Removed font fixup from
38596 here...
38597
38598 * util/unifont2pff.rb: ... and moved it to here. Improved argument
38599 parsing to support both hex and dec ranges. If filename was missing
38600 show usage information.
38601
bd0d7896 386022006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
38603
38604 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
38605 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
38606
38607 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
38608 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
38609 (video_mod_SOURCES): Added.
38610 (video_mod_CFLAGS): Likewise.
38611 (video_mod_LDFLAGS): Likewise.
38612 (gfxterm_mod_SOURCES): Likewise.
38613 (gfxterm_mod_CFLAGS): Likewise.
38614 (gfxterm_mod_LDFLAGS): Likewise.
38615 (videotest_mod_SOURCES): Likewise.
38616 (videotest_mod_CFLAGS): Likewise.
38617 (videotest_mod_LDFLAGS): Likewise.
38618 (vesafb_mod_SOURCES): Removed.
38619 (vesafb_mod_CFLAGS): Likewise.
38620 (vesafb_mod_LDFLAGS): Likewise.
38621 (vga_mod_SOURCES): Likewise.
38622 (vga_mod_CFLAGS): Likewise.
38623 (vga_mod_LDFLAGS): Likewise.
38624
38625 * commands/videotest.c: New file.
38626
38627 * font/manager.c (fill_with_default_glyph): Modified to use
38628 grub_font_glyph.
38629 (grub_font_get_glyph): Likewise.
38630 (fontmanager): Renamed from this...
38631 (font_manager): ... to this.
38632
38633 * include/grub/font.h (grub_font_glyph): Added new structure.
38634 (grub_font_get_glyph): Modified to use grub_font_glyph.
38635
38636 * include/grub/misc.h (grub_abs): Added as inline function.
38637
38638 * include/grub/video.h: New file.
38639
38640 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
38641 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
38642 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
38643 (grub_vbe_get_controller_info): Renamed from this...
38644 (grub_vbe_bios_get_controller_info): ... to this.
38645 (grub_vbe_get_mode_info): Renamed from this...
38646 (grub_vbe_bios_get_mode_info): ... to this.
38647 (grub_vbe_set_mode): Renamed from this...
38648 (grub_vbe_bios_set_mode): ... to this.
38649 (grub_vbe_get_mode): Renamed from this...
38650 (grub_vbe_bios_get_mode): ... to this.
38651 (grub_vbe_set_memory_window): Renamed from this...
38652 (grub_vbe_bios_set_memory_window): ... to this.
38653 (grub_vbe_get_memory_window): Renamed from this...
38654 (grub_vbe_bios_get_memory_window): ... to this.
38655 (grub_vbe_set_scanline_length): Renamed from this...
38656 (grub_vbe_set_scanline_length): ... to this.
38657 (grub_vbe_get_scanline_length): Renamed from this...
38658 (grub_vbe_bios_get_scanline_length): ... to this.
38659 (grub_vbe_set_display_start): Renamed from this...
38660 (grub_vbe_bios_set_display_start): ... to this.
38661 (grub_vbe_get_display_start): Renamed from this...
38662 (grub_vbe_bios_get_display_start): ... to this.
38663 (grub_vbe_set_palette_data): Renamed from this...
38664 (grub_vbe_bios_set_palette_data): ... to this.
38665 (grub_vbe_set_pixel_rgb): Removed.
38666 (grub_vbe_set_pixel_index): Likewise.
38667
38668 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
38669 from this...
38670 (grub_vbe_bios_get_controller_info): ... to this.
38671 (grub_vbe_get_mode_info): Renamed from this...
38672 (grub_vbe_bios_get_mode_info): ... to this.
38673 (grub_vbe_set_mode): Renamed from this...
38674 (grub_vbe_bios_set_mode): ... to this.
38675 (grub_vbe_get_mode): Renamed from this...
38676 (grub_vbe_bios_get_mode): ... to this.
38677 (grub_vbe_set_memory_window): Renamed from this...
38678 (grub_vbe_bios_set_memory_window): ... to this.
38679 (grub_vbe_get_memory_window): Renamed from this...
38680 (grub_vbe_bios_get_memory_window): ... to this.
38681 (grub_vbe_set_scanline_length): Renamed from this...
38682 (grub_vbe_set_scanline_length): ... to this.
38683 (grub_vbe_get_scanline_length): Renamed from this...
38684 (grub_vbe_bios_get_scanline_length): ... to this.
38685 (grub_vbe_set_display_start): Renamed from this...
38686 (grub_vbe_bios_set_display_start): ... to this.
38687 (grub_vbe_get_display_start): Renamed from this...
38688 (grub_vbe_bios_get_display_start): ... to this.
38689 (grub_vbe_set_palette_data): Renamed from this...
38690 (grub_vbe_bios_set_palette_data): ... to this.
38691 (grub_vbe_bios_get_controller_info): Fixed problem with registers
38692 getting corrupted after calling it. Added more pushes and pops.
38693 (grub_vbe_bios_set_mode): Likewise.
38694 (grub_vbe_bios_get_mode): Likewise.
38695 (grub_vbe_bios_get_memory_window): Likewise.
38696 (grub_vbe_bios_set_scanline_length): Likewise.
38697 (grub_vbe_bios_get_scanline_length): Likewise.
38698 (grub_vbe_bios_get_display_start): Likewise.
38699 (grub_vbe_bios_set_palette_data): Likewise.
38700
38701 * normal/cmdline.c (cl_set_pos): Refresh the screen.
38702 (cl_insert): Likewise.
38703 (cl_delete): Likewise.
38704
38705 * term/gfxterm.c: New file.
38706
38707 * term/i386/pc/vesafb.c: Removed file.
38708
38709 * video/video.c: New file.
38710
38711 * video/i386/pc/vbe.c (real2pm): Added new function.
38712 (grub_video_vbe_draw_pixel): Likewise.
38713 (grub_video_vbe_get_video_ptr): Likewise.
38714 (grub_video_vbe_get_pixel): Likewise
38715 (grub_video_vbe_init): Likewise.
38716 (grub_video_vbe_fini): Likewise.
38717 (grub_video_vbe_setup): Likewise.
38718 (grub_video_vbe_get_info): Likewise.
38719 (grub_video_vbe_set_palette): Likewise.
38720 (grub_video_vbe_get_palette): Likewise.
38721 (grub_video_vbe_set_viewport): Likewise.
38722 (grub_video_vbe_get_viewport): Likewise.
38723 (grub_video_vbe_map_color): Likewise.
38724 (grub_video_vbe_map_rgb): Likewise.
38725 (grub_video_vbe_map_rgba): Likewise.
38726 (grub_video_vbe_unmap_color): Likewise.
38727 (grub_video_vbe_fill_rect): Likewise.
38728 (grub_video_vbe_blit_glyph): Likewise.
38729 (grub_video_vbe_blit_bitmap): Likewise.
38730 (grub_video_vbe_blit_render_target): Likewise.
38731 (grub_video_vbe_scroll): Likewise.
38732 (grub_video_vbe_swap_buffers): Likewise.
38733 (grub_video_vbe_create_render_target): Likewise.
38734 (grub_video_vbe_delete_render_target): Likewise.
38735 (grub_video_vbe_set_active_render_target): Likewise.
38736 (grub_vbe_set_pixel_rgb): Remove function.
38737 (grub_vbe_set_pixel_index): Likewise.
38738 (index_color_mode): Remove static variable.
38739 (active_mode): Likewise.
38740 (framebuffer): Likewise.
38741 (bytes_per_scan_line): Likewise.
38742 (grub_video_vbe_adapter): Added new static variable.
38743 (framebuffer): Likewise.
38744 (render_target): Likewise.
38745 (initial_mode): Likewise.
38746 (mode_in_use): Likewise.
38747 (mode_list): Likewise.
38748
5f97350b 387492006-03-10 Marco Gerards <marco@gnu.org>
38750
38751 * configure.ac (AC_INIT): Bumped to 1.93.
38752
38753 * DISTLIST: Added `include/grub/hfs.h'.
38754
a3c5c6f8 387552006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
38756
38757 * boot/i386/pc/boot.S (general_error): Before looping, try INT
38758 18H, which might help the BIOS falling back to next boot media.
38759
6de53d26 387602006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
38761
38762 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
38763 Poe Chen <poe.poechen@gmail.com>.
38764
77c4a393 387652006-01-17 Marco Gerards <marco@gnu.org>
38766
38767 * include/grub/normal.h: Include <grub/script.h>.
38768 (grub_command_list): Removed struct.
38769 (grub_command_list_t): Removed type.
38770 (grub_menu_entry): Remove members `num' and `command_list'. Add
38771 members `commands' and `sourcecode'.
38772 * include/grub/script.h: Add inclusion guards.
38773 (grub_script_cmd_menuentry): New struct.
38774 (grub_script_execute_menuentry): New prototype.
38775 (grub_script_lexer_record_start): Likewise.
38776 (grub_script_lexer_record_stop): Likewise.
38777 * normal/execute.c (grub_script_execute_menuentry): New function.
38778 * normal/lexer.c (record, recording, recordpos, recordlen): New
38779 variables.
38780 (grub_script_lexer_record_start): New function.
38781 (grub_script_lexer_record_stop): Likewise.
38782 (recordchar): Likewise.
38783 (nextchar): Likewise.
38784 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
38785 2048 as the buffer size. Add the tokens `menuentry' and `@'.
38786 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
38787 (current_menu): New variable.
38788 (free_menu): Mainly rewritten.
38789 (grub_normal_menu_addentry): New function.
38790 (read_config_file): Rewritten.
38791 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 38792 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 38793 the menu entry.
38794 (run): Mainly rewritten.
38795 * normal/parser.y (menu_entry): New variable.
38796 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
38797 (menuentry): New rule.
38798 (command): Add `menuentry'.
38799 (if_statement): Allow additional returns before `fi'.
38800 * normal/script.c (grub_script_create_cmdmenu): New function.
38801
144f1f98 388022006-01-03 Marco Gerards <marco@gnu.org>
38803
38804 * INSTALL: GNU Bison is required.
38805 * configure.ac: Rewritten the test to detect Bison.
38806 * Makefile.in (YACC): New variable. Reported by Xun Sun
38807 <xun.sun.cn@gmail.com>.
38808
af4b2d89 388092006-01-03 Marco Gerards <marco@gnu.org>
38810
38811 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
38812 the HFS+ filesystem to filesystem blocks.
38813 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
38814 GCC warning is silenced.
38815
15643b71 388162006-01-03 Marco Gerards <marco@gnu.org>
38817
38818 * partmap/apple.c (apple_partition_map_iterate): Convert the data
38819 read from disk from big endian to host byte order.
38820
00905879 388212006-01-03 Hollis Blanchard <hollis@penguinppc.org>
38822
38823 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
38824 documentation.
38825 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
38826 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
38827 embedded HFS+ filesystem.
38828 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
38829 (grub_hfs_sblock): Move from here...
38830 * include/grub/hfs.h: To here... New file.
38831 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
38832 documentation.
38833 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
38834 New macros.
38835 (grub_hfsplus_volheader): Change type of member `magic' to
38836 `grub_uint16_t'.
38837 (grub_hfsplus_data): Add new member `embedded_offset'.
38838 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
38839 returned block.
38840 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
38841 Calculate the offset.
38842
8899bc3e 388432005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38844
38845 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
38846 Removed.
38847 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
38848
ae8c0277 388492005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38850
38851 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
38852 ENV->NAME is NULL after allocating ENV->VALUE.
38853
07084456 388542005-12-25 Marco Gerards <marco@gnu.org>
38855
38856 * kern/env.c (grub_env_set): Rewritten the error handling code.
38857
4750f5f1 388582005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38859
38860 * geninit.sh: Made more robust, and more portable.
38861
50214199 388622005-12-25 Marco Gerards <marco@gnu.org>
38863
38864 Add support for Apple HFS+ filesystems.
f19dbdb7 38865
50214199 38866 * fs/hfsplus.c: New file.
38867
38868 * DISTLIST: Added `fs/hfsplus.c'.
38869
38870 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
38871 (hfsplus_mod_SOURCES): New variable.
38872 (hfsplus_mod_CFLAGS): Likewise.
38873 (hfsplus_mod_LDFLAGS): Likewise.
38874 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
38875 (grub_setup_SOURCES): Likewise.
38876 (grub_mkdevicemap_SOURCES): Likewise.
38877 (grub_emu_SOURCES): Likewise.
38878 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38879
38880 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
38881
38882 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
38883
befaed6c 388842005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38885
38886 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
38887 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
38888 include/grub/parser.h, include/grub/script.h, kern/parser.c,
38889 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
38890 normal/lexer.c, normal/parser.y, normal/script.c, and
38891 partmap/gpt.c.
38892 Removed kern/sparc64/cache.c.
38893
38894 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
38895 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
38896 grub_emu_init.c.
38897
38898 * configure.ac (AC_INIT): Bumped to 1.92.
38899
6a124103 389002005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
38901
38902 * kern/err.c (grub_error_push): Added new function to support error
38903 stacks.
38904 (grub_error_pop): Likewise.
38905 (grub_error_stack_items): New local variable to support error stacks.
38906 (grub_error_stack_pos): Likewise.
38907 (grub_error_stack_assert): Likewise.
38908 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
38909 stack depth.
38910 (grub_print_error): Added support to print errors from error stack.
38911
38912 * include/grub/err.h (grub_error_push): Added function prototype.
38913 (grub_error_pop): Likewise.
38914
be973c1b 389152005-12-09 Hollis Blanchard <hollis@penguinppc.org>
38916
38917 * configure.ac: Accept `powerpc64' as host_cpu.
38918 (amd64): Rename to `biarch32'.
38919
38920 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
38921 non-cacheline-aligned addresses.
38922
38923 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
38924 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
38925 if `size' is non-zero.
38926
b04216ab 389272005-12-03 Marco Gerards <mgerards@xs4all.nl>
38928
38929 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
38930 and `cd' to make sure the filename is not prefixed with a
38931 directory name.
38932 (pkgdata_MODULES): Add `gpt.mod'.
38933 (gpt_mod_SOURCES): New variable.
38934 (gpt_mod_CFLAGS): Likewise.
38935 (gpt_mod_LDFLAGS): Likewise.
38936
38937 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
38938
38939 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
38940 New macro.
38941
38942 * partmap/gpt.c: New file.
38943
38944 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
38945 GPT partition map is detected.
38946
41730ed9 389472005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
38948
38949 * commands/i386/pc/play.c: New file.
38950 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
38951 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
38952 macros.
f19dbdb7 38953
95dc3643 389542005-11-27 Marco Gerards <mgerards@xs4all.nl>
38955
38956 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
38957 ((unused))' to silence gcc warning.
38958
1569ec51 389592005-11-26 Hollis Blanchard <hollis@penguinppc.org>
38960
38961 * configure.ac: Correct `AC_PROG_YACC' test.
38962
9abde152 389632005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38964
38965 * util/powerpc/ieee1275/grub-install.in: Run the mount point
38966 check before installing files.
38967
44b83271 389682005-11-22 Mike Small <smallm@panix.com>
38969
38970 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
38971 number regex so multidigit numbers are recognized correctly.
38972
389732005-11-22 Mike Small <smallm@panix.com>
38974
38975 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
38976 debugging message before attempting to claim memory.
38977 (grub_rescue_cmd_initrd): Add a claim debugging message and try
38978 multiple addresses in case of failure.
38979
9c12956b 389802005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38981
38982 * term/tparm.c (get_space): Remove empty `if' statement.
38983
38984 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
38985
38986 * kern/parser.c (check_varstate): Rename `state' to 's'.
38987
aeaf81d9 389882005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38989
38990 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
38991 variable definitions to the beginning of each function. Sort stack
38992 variables by size.
38993 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
38994 `buf' argument to `char *'.
38995
79bbb63f 389962005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38997
38998 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
38999 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 39000 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 39001 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
39002 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
39003 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
39004 configfile.mod, search.mod, gzio.mod and test.mod.
39005 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
39006 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
39007 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
39008 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
39009 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
39010 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
39011 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
39012 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
39013 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
39014 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
39015 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39016 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39017 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
39018 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
39019 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
39020 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
39021 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39022 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
39023 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
39024 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
39025 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
39026 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
39027 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
39028
39029 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
39030 `grep --include'.
39031 (pkgdata_MODULES): Add test.mod.
39032
233b1628 390332005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39034
39035 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
39036 appending to variables with "+=".
39037 (PModule): Use full pathname to generate *.lst filenames.
39038
39039 * Makefile.in: Fixed list rules moved from genmk.rb.
39040 (.DELETE_ON_ERROR): New special target.
39041 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
39042
39043 * conf/i386-pc.rmk: Include conf/common.mk.
39044 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 39045 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 39046 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
39047 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
39048 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
39049 configfile.mod, search.mod, gzio.mod and test.mod.
39050 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
39051 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
39052 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
39053 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
39054 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
39055 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
39056 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
39057 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
39058 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
39059 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
39060 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39061 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39062 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
39063 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
39064 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
39065 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
39066 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39067 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
39068 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
39069 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
39070 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
39071 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
39072 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
39073 here...
39074 * conf/common.rmk: ... to here. New file.
39075
39076 * conf/common.mk: New file.
39077
16f820c8 390782005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
39079
39080 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
39081 (grub_script.tab.c): ... here.
39082
39083 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
39084 (grub_script.tab.c): ... here.
39085
39086 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
39087 (grub_script.tab.c): ... here.
39088
39089 * normal/command.c (grub_command_find): Fixed a memory leak of
39090 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
39091
63ba1554 390922005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39093
39094 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
39095 "@" which marks the start of a comment on ARM.
39096 (VARIABLE): Likewise.
39097
7f67dc13 390982005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39099
79bbb63f 39100 Add support for Linux/ADFS partition tables.
7f67dc13 39101
39102 * partmap/acorn.c: New file.
39103
39104 * include/grub/acorn_filecore.h: Likewise.
39105
39106 * DISTLIST: Added `partmap/acorn.c' and
39107 `include/grub/acorn_filecore.h'.
f19dbdb7 39108
7f67dc13 39109 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39110 `partmap/acorn.c'.
39111 (pkgdata_MODULES): Add `acorn.mod'.
39112 (acorn_mod_SOURCES): New variable.
39113 (acorn_mod_CFLAGS): Likewise.
39114
39115 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
39116 `partmap/acorn.c'.
39117 (pkgdata_MODULES): Add `acorn.mod'.
39118 (acorn_mod_SOURCES): New variable.
39119 (acorn_mod_CFLAGS): Likewise.
39120
39121 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
39122 (pkgdata_MODULES): Add `acorn.mod'.
39123 (acorn_mod_SOURCES): New variable.
39124 (acorn_mod_CFLAGS): Likewise.
39125 (acorn_mod_LDFLAGS): Likewise.
39126
39127 * include/types.h (grub_disk_addr_t): New typedef.
39128
6d099807 391292005-11-13 Marco Gerards <mgerards@xs4all.nl>
39130
39131 * geninit.sh: New file.
39132
39133 * geninitheader.sh: Likewise.
39134
39135 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
39136 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
39137 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
39138 * commands/configfile.c (grub_configfile_init)
39139 (grub_configfile_fini): Likewise.
39140 * commands/default.c (grub_default_init, grub_default_fini):
39141 Likewise.
39142 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
39143 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
39144 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
39145 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
39146 Likewise.
39147 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
39148 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
39149 Likewise.
39150 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 39151 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 39152 Likewise.
39153 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
39154 Likewise.
fe6b695a 39155 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 39156 Likewise.
39157 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
39158 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
39159 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
39160 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
39161 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
39162 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
39163 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
39164 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
39165 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
39166 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
39167 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
39168 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
39169 * partmap/amiga.c (grub_amiga_partition_map_init)
39170 (grub_amiga_partition_map_fini): Likewise.
39171 * partmap/apple.c (grub_apple_partition_map_init)
39172 (grub_apple_partition_map_fini): Likewise.
39173 * partmap/pc.c (grub_pc_partition_map_init)
39174 (grub_pc_partition_map_fini): Likewise.
39175 * partmap/sun.c (grub_sun_partition_map_init,
39176 grub_sun_partition_map_fini): Likewise.
39177 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
39178 Likewise.
39179
39180 * util/grub-emu.c: Include <grub_modules_init.h>.
39181 (main): Don't initialize and de-initialize any modules directly,
39182 use `grub_init_all' and `grub_fini_all' instead.
39183
39184 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
39185 `grub_vesafb_mod_init'.
39186 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
39187 all users.
39188 * term/i386/pc/vga.c (grub_vga_init): Renamed to
39189 `grub_vga_mod_init'. Updated all users.
39190 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 39191
6d099807 39192 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
39193 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
39194 rules.
39195
39196 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
39197 Generate a function to initialize the module in utilities.
39198 Updated all callers.
39199 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
39200 initialize the module in utilities. Updated all callers.
39201
9046bcf0 392022005-11-09 Hollis Blanchard <hollis@penguinppc.org>
39203
39204 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
39205 escape sequence and a literal ^L to clear the screen.
39206
39207 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
39208 when returning from Open Firmware.
39209
d13ea639 392102005-11-09 Hollis Blanchard <hollis@penguinppc.org>
39211
39212 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
39213 (grub_ofconsole_height): Likewise.
39214 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
39215 manually insert a '\n'.
39216 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
39217 `grub_ofconsole_height'. Return early if these are already set.
39218
a8fcf206 392192005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
39220
39221 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
39222 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
39223 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
39224 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
39225 and `normal/script.c'.
39226 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
39227 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
39228 (test_mod_SOURCES): New variable.
39229 (test_mod_CFLAGS): Likewise.
39230 (test_mod_LDFLAGS): Likewise.
39231 (pkgdata_MODULES): Add `test.mod'.
39232 (grub_script.tab.c): New rule.
39233 (grub_script.tab.h): Likewise.
39234
b6b32745 392352005-11-07 Marco Gerards <mgerards@xs4all.nl>
39236
39237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39238 `commands/test.c', `normal/execute.c', `normal/lexer.c',
39239 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
39240 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
39241 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
39242 (test_mod_SOURCES): New variable.
39243 (test_mod_CFLAGS): Likewise.
39244 (pkgdata_MODULES): Add `test.mod'.
39245 (grub_script.tab.c): New rule.
39246 (grub_script.tab.h): Likewise.
39247
daac212a 392482005-11-06 Marco Gerards <mgerards@xs4all.nl>
39249
39250 Add initial scripting support.
39251
39252 * commands/test.c: New file.
39253 * include/grub/script.h: Likewise.
39254 * normal/execute.c: Likewise.
39255 * normal/function.c: Likewise.
39256 * normal/lexer.c: Likewise.
39257 * normal/parser.y: Likewise.
39258 * normal/script.c: Likewise.
39259
39260 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 39261
daac212a 39262 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
39263 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
39264 `normal/function.c' and `normal/script.c'.
39265 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
39266 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 39267 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
39268 variables.
daac212a 39269 (pkgdata_MODULES): Add `test.mod'.
39270 (grub_script.tab.c): New rule.
39271 (grub_script.tab.h): Likewise.
39272
39273 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
39274
39275 * include/grub/normal.h (grub_test_init): New prototype.
39276 (grub_test_fini): Likewise.
f19dbdb7 39277
daac212a 39278 * normal/command.c: Include <grub/script.h>.
39279 (grub_command_execute): Rewritten.
f19dbdb7 39280
daac212a 39281 * util/grub-emu.c (main): Call `grub_test_init' and
39282 `grub_test_fini'.
39283
77500b2b 392842005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39285
39286 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
39287 to 0.
39288 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
39289 there are no pending characters.
39290
e45deb9e 392912005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39292
39293 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
39294 `grub_strndup' to drop device arguments. Replace unnecessary
39295 `grub_strndup' with `grub_strdup'.
39296
4ce32619 392972005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39298
39299 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
39300 `debug' environment variable has been set.
39301
393022005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 39303
4ce32619 39304 * Makefile.in (install-local): Use $(DATA).
39305 (uninstall): Likewise.
39306 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
39307 (sbin_UTILITIES): ... to here.
39308 (sbin_SCRIPTS): New variable.
39309 (grub_install_SOURCES): New variable.
39310 * util/powerpc/ieee1275/grub-install.in: New file.
39311 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
39312 variable.
39313 (add_segments): Call `grub_util_get_path'.
39314
25fe6f03 393152005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
39316
39317 From Timothy Baldwin:
39318 * commands/ls.c (grub_ls_list_files): Close FILE with
39319 grub_file_close.
39320 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
39321
04ccf3ec 393222005-10-24 Marco Gerards <mgerards@xs4all.nl>
39323
39324 * include/grub/parser.h: New file.
39325
39326 * kern/parser.c: Likewise.
39327
39328 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
39329 (grub_setup_SOURCES): Likewise.
39330 (grub_probefs_SOURCES): Likewise.
39331 (grub_emu_SOURCES): Likewise.
39332 (kernel_img_HEADERS): Add `parser.h'.
39333
39334 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
39335 (grub_emu_SOURCES): Add `kern/parser.c'.
39336 (grubof_SOURCES): Likewise.
39337
39338 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
39339 (grubof_SOURCES): Add `kern/parser.c'.
39340
39341 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
39342
39343 * kern/misc.c (grub_split_cmdline): Removed function.
39344
39345 * kern/rescue.c: Include <grub/parser.h>.
39346 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
39347 of `grub_split_cmdline'.
39348
39349 * normal/command.c: Include <grub/parser.h>.
39350 (grub_command_execute): Use `grub_parser_split_cmdline' instead
39351 of `grub_split_cmdline'.
39352
39353 * normal/completion.c: Include <grub/parser.h>.
39354 (cmdline_state): New variable.
39355 (iterate_dir): End the filename with a quote depending on the
39356 command line state.
39357 (get_state): new function.
39358 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
39359 split the arguments and determine the current argument. When the
39360 argument string is not quoted, escape all spaces.
39361
6d8f4b0e 393622005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39363
39364 * normal/sparc64/setjmp.S: New file.
39365
15cf03ed 393662005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39367
39368 * include/grub/sparc64/libgcc.h: New file.
39369 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
39370 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
39371 normal/sparc64/setjmp.c.
39372
03e8661a 393732005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
39374
39375 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
39376 * kern/sparc64/cache.S: New file.
39377 * kern/sparc64/cache.c: Removed.
39378 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
39379 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
39380 -mtune=ultrasparc.
39381 (COMMON_LDFLAGS): Add -melf64_sparc.
39382 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
39383 (grubof_SOURCES): Use cache.S instead of cache.c.
39384 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
39385 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
39386 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
39387 commented though.
39388 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
39389 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
39390 (linux_mod_CFLAGS): Commented out.
39391 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
39392 out because module isn't built.
39393 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
39394 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
39395 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
39396 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
39397 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
39398 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
39399 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
39400 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
39401 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
39402 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
39403 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39404 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39405 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
39406 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
39407
34eeec8a 394082005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
39409
39410 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
39411 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
39412 longer, because HFS should not be used on PC.
39413
708367a3 394142005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39415
39416 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
39417 consistently within the loop.
39418
6fa1251a 394192005-10-15 Marco Gerards <mgerards@xs4all.nl>
39420
39421 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
39422 directory can not be read.
39423
4801580b 394242005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39425
39426 * configure.ac (AC_INIT): Increase the version number to 1.91.
39427
39428 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
39429 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
39430 term/i386/pc/serial.c.
39431
219ad426 394322005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39433
39434 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
39435 file size must be permitted.
39436
39437 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
39438 between %ah and %al.
39439
688e5699 394402005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39441
39442 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
39443 grub_uint64_t.
39444 Call the hook with a NUL-terminated filename.
39445 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
39446 grub_cpu_to_be32.
39447
39448 * kern/term.c (cursor_state): New variable.
39449 (grub_term_set_current): Reset the cursor state on a new
39450 terminal.
39451 (grub_setcursor): Rewritten to use CURSOR_STATE.
39452 (grub_getcursor): New function.
39453
39454 * include/grub/term.h (grub_getcursor): New prototype.
39455
39456 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
39457 integers on ARM. Reported by Timothy Baldwin
39458 <T.E.Baldwin99@members.leeds.ac.uk>.
39459
bb34586c 394602005-10-11 Marco Gerards <mgerards@xs4all.nl>
39461
39462 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
39463 allocated.
39464 (grub_sfs_dir): Likewise.
39465
9a909877 394662005-10-09 Marco Gerards <mgerards@xs4all.nl>
39467
39468 Add support for the SFS filesystem.
39469
39470 * fs/sfs.c: New file.
39471
39472 * DISTLIST: Added `fs/sfs.c'.
39473
39474 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
39475 (grub_probefs_SOURCES): Likewise.
39476 (grub_emu_SOURCES): Likewise.
39477 (pkgdata_MODULES): Add `sfs.mod'.
39478 (sfs_mod_SOURCES): New variable.
39479 (sfs_mod_CFLAGS): Likewise.
39480 (sfs_mod_LDFLAGS): Likewise.
39481
39482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
39483 (pkgdata_MODULES): Add `sfs.mod'.
39484 (sfs_mod_SOURCES): New variable.
39485 (sfs_mod_CFLAGS): Likewise.
39486
39487 * util/grub-emu.c (main): Call `grub_sfs_init' and
39488 `grub_sfs_fini'.
39489
39490 * include/grub/fs.h (grub_sfs_init): New prototype.
39491 (grub_sfs_fini): Likewise.
39492
57bdbde3 394932005-10-07 Marco Gerards <mgerards@xs4all.nl>
39494
39495 Add support for the AFFS filesystem.
39496
39497 * fs/affs.c: New file.
39498
39499 * DISTLIST: Added `fs/affs.c'.
39500
39501 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
39502 (grub_probefs_SOURCES): Likewise.
39503 (grub_emu_SOURCES): Likewise.
39504 (pkgdata_MODULES): Add `affs.mod'.
39505 (affs_mod_SOURCES): New variable.
39506 (affs_mod_CFLAGS): Likewise.
39507 (affs_mod_LDFLAGS): Likewise.
39508
39509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
39510 (pkgdata_MODULES): Add `affs.mod'.
39511 (affs_mod_SOURCES): New variable.
39512 (affs_mod_CFLAGS): Likewise.
39513
39514 * util/grub-emu.c (main): Call `grub_affs_init' and
39515 `grub_affs_fini'.
39516
39517 * include/grub/fs.h (grub_affs_init): New prototype.
39518 (grub_affs_fini): Likewise.
39519
047b67e0 395202005-10-01 Marco Gerards <mgerards@xs4all.nl>
39521
39522 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
39523
59b8208a 395242005-10-01 Marco Gerards <mgerards@xs4all.nl>
39525
39526 * configure.ac: Accept `x86_64' as host_cpu. In that case add
39527 `-m32' to CFLAGS.
39528
39529 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
39530 linking.
f19dbdb7 39531
59b8208a 39532 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
39533 (COMMON_LDFLAGS): New variable.
39534 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
39535 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
39536 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
39537 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
39538 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
39539 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
39540 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
39541 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
39542 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
39543 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
39544 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
39545 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
39546 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
39547 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
39548 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
39549 variables.
39550 (normal_mod_ASFLAGS): Add `-m32'.
39551
39552 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
39553 (grub_host_size_t, grub_host_ssize_t): New types.
39554 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 39555 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 39556 `GRUB_HOST_SIZEOF_VOID_P'.
39557
39558 * include/grub/kernel.h (struct grub_module_header): Type of
39559 member offset changed to `grub_host_off_t'. Type of member size
39560 changed to `grub_host_size_t'.
39561 (struct grub_module_info): Type of member offset changed to
39562 `grub_host_off_t'. Type of member size changed to
39563 `grub_host_size_t'.
39564
b4093103 395652005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
39566
39567 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 39568
b4093103 39569 * kern/i386/pc/startup.S (multiboot_header): New label.
39570 (multiboot_entry): Likewise.
39571 (multiboot_trampoline): Likewise.
39572
39573 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39574 Increased to 0x4A0.
39575
39576 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
39577 put parentheses after a question mark.
39578 [!GRUB_UTIL] (my_mod): New variable.
39579
39580 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
39581
b2499b29 395822005-09-28 Marco Gerards <mgerards@xs4all.nl>
39583
39584 Adds support for the XFS filesystem. Btrees are not supported
39585 yet.
39586
39587 * fs/xfs.c: New file.
39588
39589 * DISTLIST: Added `fs/xfs.c'.
39590
39591 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
39592 (grub_probefs_SOURCES): Likewise.
39593 (grub_emu_SOURCES): Likewise.
39594 (pkgdata_MODULES): Add `xfs.mod'.
39595 (xfs_mod_SOURCES): New variable.
39596 (xfs_mod_CFLAGS): Likewise.
39597
39598 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
39599 (pkgdata_MODULES): Add `xfs.mod'.
39600 (xfs_mod_SOURCES): New variable.
39601 (xfs_mod_CFLAGS): Likewise.
39602
39603 * util/grub-emu.c (main): Call `grub_xfs_init' and
39604 `grub_xfs_fini'.
39605
39606 * include/grub/fs.h (grub_xfs_init): New prototype.
39607 (grub_xfs_fini): Likewise.
39608
f19dbdb7 39609
83d37a62 396102005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
39611
39612 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
39613 color modes, allow greater than 16 colors to be configured as
39614 a default palette.
39615
47d2d65e 396162005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39617
39618 * normal/completion.c (complete_arguments): Add the qualifier
39619 const into OPTIONS.
39620
39621 From Omniflux <omniflux+lists@omniflux.com>:
39622 * include/grub/terminfo.h: New file.
39623 * include/grub/tparm.h: Likewise.
39624 * include/grub/i386/pc/serial.h: Likewise.
39625 * term/terminfo.c: Likewise.
39626 * term/tparm.c: Likewise.
39627 * term/i386/pc/serial.c: Likewise.
39628 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
39629 serial.mod.
39630 (terminfo_mod_SOURCES): New variable.
39631 (terminfo_mod_CFLAGS): Likewise.
39632 (serial_mod_SOURCES): Likewise.
39633 (serial_mod_CFLAGS): Likewise.
39634
48b671ff 396352005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
39636
39637 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
39638 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
39639 and kern/powerpc/ieee1275/cmain.c, respectively.
39640
39641 * boot/powerpc/ieee1275/crt0.S: Moved to ...
39642 * kern/powerpc/ieee1275/crt0.S: ... here.
39643
39644 * boot/powerpc/ieee1275/cmain.c: Moved to ...
39645 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 39646
48b671ff 39647 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
39648 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
39649 instead of boot/powerpc/ieee1275/crt0.S and
39650 boot/powerpc/ieee1275/cmain.c, respectively.
39651
39652 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
39653 sectors. It was not used anyway.
39654
09fc77a7 396552005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39656
39657 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
39658 `unused parameter' warning.
39659
003789c7 396602005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39661
39662 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
39663 function.
39664 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
39665 getcharwidth.
39666
67f44c86 396672005-08-28 Marco Gerards <metgerards@student.han.nl>
39668
39669 * include/grub/normal.h (enum grub_completion_type): Added
39670 `GRUB_COMPLETION_TYPE_ARGUMENT'.
39671
39672 * normal/cmdline.c (print_completion): Handle
39673 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
39674 * normal/menu_entry.c (store_completion): Likewise.
39675
39676 * normal/completion.c (complete_arguments): New function.
39677 (grub_normal_do_completion): Call `complete_arguments' when the
39678 current words start with a dash.
39679
0b5abe02 396802005-08-27 Marco Gerards <metgerards@student.han.nl>
39681
39682 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
39683 `gzio.mod' instead of `io.mod').
39684
d9864ee1 396852005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
39686
39687 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
39688 (DISTDIRS): Added io and video.
39689 Rewrite the search routine to make an output consistently.
39690
39691 * DISTLIST: Added conf/sparc64-ieee1275.mk,
39692 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
39693 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
39694 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
39695 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
39696 util/powerpc/ieee1275/misc.c.
f19dbdb7 39697
d9864ee1 39698 * include/grub/gzio.h: New file.
39699 * io/gzio.c: Likewise.
f19dbdb7 39700
d9864ee1 39701 * kern/file.c (grub_file_close): Call grub_device_close only if
39702 FILE->DEVICE is not NULL.
39703
39704 * include/grub/mm.h [!NULL] (NULL): New macro.
39705
39706 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
39707
39708 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
39709 (pkgdata_MODULES): Added gzio.mod.
39710 (gzio_mod_SOURCES): New variable.
39711 (gzio_mod_CFLAGS): Likewise.
39712
39713 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
39714 (pkgdata_MODULES): Added gzio.mod.
39715 (gzio_mod_SOURCES): New variable.
39716 (gzio_mod_CFLAGS): Likewise.
39717
39718 * commands/cat.c: Include grub/gzio.h.
39719 (grub_cmd_cat): Use grub_gzfile_open instead of
39720 grub_file_open.
f19dbdb7 39721
d9864ee1 39722 * commands/cmp.c: Include grub/gzio.h.
39723 (grub_cmd_cmp): Use grub_gzfile_open instead of
39724 grub_file_open.
39725
39726 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
39727 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
39728 grub_file_open.
39729 (grub_rescue_cmd_module): Likewise.
39730
fa46f4b5 397312005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39732
39733 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
39734 kern/sparc64/ieee1275/init.c because it contains _start.
39735 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
39736
e9211b5d 397372005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39738
39739 * configure.ac: Add support for sparc64 host with ieee1275
39740 firmware.
39741 * configure: Generated from configure.ac.
39742 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
39743 instead of int.
39744 (grub_ofdisk_read): Likewise.
39745 (grub_ofdisk_open): Use %p to print pointer values, and cast the
39746 pointers as (void *) to remove a warning.
39747 (grub_ofdisk_close): Likewise.
39748 (grub_ofdisk_read): Likewise.
39749 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
39750 returns, so make it return void to remove a warning.
39751 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
39752 Corresponding prototype change.
39753 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
39754 values, and cast the pointers as (void *) to remove a warning.
39755 (grub_mm_dump): Likewise.
39756 * conf/sparc64-ieee1275.mk: New file.
39757 * conf/sparc64-ieee1275.rmk: Likewise.
39758 * include/grub/sparc64/setjmp.h: Likewise.
39759 * include/grub/sparc64/types.h: Likewise.
39760 * include/grub/sparc64/ieee1275/console.h: Likewise.
39761 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39762 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39763 * include/grub/sparc64/ieee1275/time.h: Likewise.
39764 * kern/sparc64/cache.c: Likewise.
39765 * kern/sparc64/dl.c: Likewise.
39766 * kern/sparc64/ieee1275/init.c: Likewise.
39767 * kern/sparc64/ieee1275/openfw.c: Likewise.
39768
385c6a92 397692005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39770
39771 * util/console.c (grub_ncurses_putchar): If C is greater than
39772 0x7f, set C to a question mark.
39773 (grub_ncurses_getcharwidth): New function.
39774 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
39775 getcharwidth.
39776
39777 * normal/menu.c (print_entry): Made aware of Unicode. First,
39778 convert TITLE to UCS-4, and predict the cursor position by
39779 grub_getcharwidth.
39780
39781 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
39782 const to SRC.
39783 * kern/misc.c (grub_utf16_to_utf8): Likewise.
39784
16ccb8b1 397852005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39786
39787 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
39788 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39789 grub_strcat.
39790
39791 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
39792 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39793 grub_strcpy and grub_strlen. Take it into account that a space
39794 character is inserted as a delimiter.
39795
6a85ce79 397962005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39797
39798 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 39799 invalid magic in the error.
6a85ce79 39800
39801 * commands/search.c: New file.
f19dbdb7 39802
6a85ce79 39803 * util/grub-emu.c (main): Call grub_search_init and
39804 grub_search_fini.
39805
39806 * kern/rescue.c (grub_rescue_print_disks): Removed.
39807 (grub_rescue_print_devices): New function.
39808 (grub_rescue_cmd_ls): Use grub_device_iterate with
39809 grub_rescue_print_devices instead of grub_disk_dev_iterate with
39810 grub_rescue_print_disks.
39811
39812 * kern/partition.c (grub_partition_iterate): Return the result of
39813 PARTMAP->ITERATE instead of GRUB_ERRNO.
39814
39815 * kern/device.c: Include grub/partition.h.
39816 (grub_device_iterate): New function.
39817
39818 * include/grub/partition.h (grub_partition_iterate): Return int
39819 instead of grub_err_t.
39820
39821 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
39822 prototype.
39823 [GRUB_UTIL] (grub_search_fini): Likewise.
39824
39825 * include/grub/device.h (grub_device_iterate): New prototype.
39826
39827 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39828 commands/search.c.
39829 (pkgdata_MODULES): Added search.mod.
39830 (search_mod_SOURCES): New variable.
39831 (search_mod_CFLAGS): Likewise.
39832
39833 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
39834 (pkgdata_MODULES): Added search.mod.
39835 (search_mod_SOURCES): New variable.
39836 (search_mod_CFLAGS): Likewise.
39837
39838 * commands/ls.c (grub_ls_list_disks): Renamed to ...
39839 (grub_ls_list_devices): ... this, and use grub_device_iterate.
39840 All callers changed.
39841
39842 * DISTLIST: Added commands/search.c.
39843
ef095434 398442005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39845
39846 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
39847 conversion.
39848 (grub_getcharwidth): New function.
39849
39850 * kern/misc.c (grub_utf8_to_ucs4): New function.
39851
39852 * include/grub/term.h (struct grub_term): Added a new member
39853 "getcharwidth".
39854 (grub_getcharwidth): New prototype.
39855
39856 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
39857
39858 * term/i386/pc/console.c (map_char): New function. Segregated from
39859 grub_console_putchar.
39860 (grub_console_putchar): Use map_char.
39861 (grub_console_getcharwidth): New function.
39862 (grub_console_term): Specified grub_console_getcharwidth as
39863 getcharwidth.
39864
39865 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
39866 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
39867
39868 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
39869 GRUB_ERRNO.
39870 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
39871 on grub_strtoul completely.
39872 (write_char): Declare local variables in the beginning of the
39873 function.
39874 (grub_vesafb_getcharwidth): New function.
39875 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
39876 getcharwidth.
39877
1f0a95e4 398782005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
39879
39880 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
39881 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
39882 commands/i386/pc/vbetest.c.
39883
39884 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
39885 call grub_vbe_get_controller_info again, because the returned
39886 information is volatile.
39887 (grub_vbe_set_video_mode): Mostly rewritten.
39888 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
39889 grub_vbe_status_t correctly.
39890 (grub_vbe_get_video_mode_info): Likewise.
39891 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
39892 several if statements.
39893
39894 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
39895 * commands/i386/pc/vbeinfo.c: ... this.
39896
39897 * commands/i386/pc/vbe_test.c: Renamed to ...
39898 * commands/i386/pc/vbetest.c: ... this.
39899
39900 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
39901 ...
39902 (grub_cmd_vbeinfo): ... this. Save video modes before
39903 iterating. Skip a video mode, if it is not available, not enough
39904 information is given or it is monochrome. Show the memory
39905 model. Leave the interpretation of MODEVAR to grub_strtoul
39906 completely.
39907 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
39908 (GRUB_MOD_FINI): Likewise.
39909
39910 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
39911 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
39912 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
39913 duplicated grub_env_get. Leave the interpretation of MODEVAR to
39914 grub_strtoul completely.
39915 (real2pm): Removed.
39916 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
39917 (GRUB_MOD_FINI): Likewise.
39918
39919 * normal/misc.c: Include grub/mm.h.
39920
39921 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
39922 vbe_list_modes with vbetest.mod and vbeinfo.mod.
39923 (vbe_list_modes_mod_SOURCES): Removed.
39924 (vbe_list_modes_mod_CFLAGS): Likewise.
39925 (vbe_test_mod_SOURCES): Likewise.
39926 (vbe_test_mod_CFLAGS): Likewise.
39927 (vbeinfo_mod_SOURCES): New variable.
39928 (vbeinfo_mod_CFLAGS): Likewise.
39929 (vbetest_mod_SOURCES): Likewise.
39930 (vbetest_mod_CFLAGS): Likewise.
39931
992ffbbe 399322005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
39933
39934 * normal/misc.c: New file.
39935
39936 * DISTLIST: Added normal/misc.c.
f19dbdb7 39937
992ffbbe 39938 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
39939 DISK to HOOK. Call HOOK with DISK.
39940 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39941 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39942 * partmap/sun.c (sun_partition_map_iterate): Likewise.
39943
39944 * normal/menu_entry.c (struct screen): Added a new member
39945 "completion_shown".
39946 (completion_buffer): New global variable.
39947 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
39948 (store_completion): New function.
39949 (complete): Likewise.
39950 (clear_completions): Likewise.
39951 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
39952 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
39953 a tab, call complete.
39954
39955 * normal/completion.c (disk_dev): Removed.
39956 (print_simple_completion): Likewise.
39957 (print_partition_completion): Likewise.
39958 (print_func): New global variable.
39959 (add_completion): Do not take the arguments WHAT or PRINT any
39960 longer. Added a new argument TYPE. Instead of printing directly,
39961 call PRINT_FUNC if not NULL.
39962 All callers changed.
39963 (complete_device): Use a local variable DEV instead of
39964 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
39965 (grub_normal_do_completion): Take a new argument HOOK. Do not
39966 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
39967 empty string, return NULL instead.
39968 All callers changed.
39969
39970 * normal/cmdline.c (print_completion): New function.
39971
39972 * kern/partition.c (grub_partition_iterate): Add an argument DISK
39973 to HOOK.
39974 All callers changed.
39975
39976 * kern/disk.c (grub_print_partinfo): Removed.
39977
39978 * include/grub/partition.h (struct grub_partition_map): Add a new
39979 argument DISK into HOOK of ITERATE.
39980 (grub_partition_iterate): Add a new argument DISK to HOOK.
39981
39982 * include/grub/normal.h (enum grub_completion_type): New enum.
39983 (grub_completion_type_t): New type.
39984 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
39985 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
39986 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
39987 (GRUB_COMPLETION_TYPE_FILE): Likewise.
39988 (grub_normal_do_completion): Added a new argument HOOK.
39989 (grub_normal_print_device_info): New prototype.
39990
39991 * include/grub/disk.h (grub_print_partinfo): Removed.
39992
39993 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
39994 (normal_mod_SOURCES): Likewise.
39995 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39996 (normal_mod_SOURCES): Likewise.
39997
39998 * commands/ls.c (grub_ls_list_disks): Use
39999 grub_normal_print_device_info instead of grub_print_partinfo. Free
40000 PNAME.
40001 (grub_ls_list_files): Use grub_normal_print_device_info instead of
40002 duplicating the code.
40003
0bd41162 400042005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40005
40006 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 40007 follow GCS more precisely.
40008 * commands/i386/pc/vbe_test.c: Likewise.
40009 * include/grub/i386/pc/vbe.h: Likewise.
40010 * term/i386/pc/vesafb.c: Likewise.
40011 * video/i386/pc/vbe.c: Likewise.
0bd41162 40012
6323696a 400132005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40014
40015 * DISTLIST: Added term/i386/pc/vesafb.c
40016 DISTLIST: Added video/i386/pc/vbe.c
40017 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
40018 DISTLIST: Added commands/i386/pc/vbe_test.c.
40019 * commands/i386/pc/vbe_list_modes.c: New file.
40020 * commands/i386/pc/vbe_test.c: Likewise.
40021 * term/i386/pc/vesafb.c: Likewise.
40022 * video/i386/pc/vbe.c: Likewise.
40023 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
40024 (grub_vbe_probe) Added prototype.
40025 (grub_vbe_set_video_mode) Likewise.
40026 (grub_vbe_get_video_mode) Likewise.
40027 (grub_vbe_get_video_mode_info) Likewise.
40028 (grub_vbe_set_pixel_rgb) Likewise.
40029 (grub_vbe_set_pixel_index) Likewise.
40030 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
40031 (pkgdata_MODULES): Added vesafb.mod.
40032 (pkgdata_MODULES): Added vbe_list_modes.mod.
40033 (pkgdata_MODULES): Added vbe_test.mod.
40034 (vbe_mod_SOURCES): Added.
40035 (vbe_mod_CFLAGS): Likewise.
40036 (vesafb_mod_SOURCES): Likewise.
40037 (vesafb_mod_CFLAGS): Likewise.
40038 (vbe_list_modes_mod_SOURCES): Likewise.
40039 (vbe_list_modes_mod_CFLAGS): Likewise.
40040 (vbe_test_mod_SOURCES): Likewise.
40041 (vbe_test_mod_CFLAGS): Likewise.
40042
0a74e62f 400432005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
40044
0a74e62f 40045 * normal/command.c (grub_command_execute): If INTERACTIVE is
40046 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
40047 CMDLINE. Disable the pager if INTERACTIVE is true.
40048 All callers are changed.
40049
40050 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
40051 before reading a config file.
40052 * normal/main.c (read_config_file): Even if a command is not
40053 found, register it if it is within an entry.
40054
40055 * util/grub-emu.c: Include sys/types.h and unistd.h.
40056 (options): Added --hold.
40057 (struct arguments): Added a new member "hold".
40058 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
40059 missing.
40060 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
40061 cleared by a debugger, if it is not zero.
40062
40063 * include/grub/normal.h (grub_command_execute): Add an argument
40064 INTERACTIVE.
40065
e51f85ae 400662005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
40067
40068 * DISTLIST: Added include/grub/i386/pc/vbe.h.
40069
e9c6f39b 400702005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
40071
40072 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
40073 program with another one, because the old one didn't detect a bug
40074 in gcc-3.4. Always use regparm 2, because the new test is still
40075 not enough for gcc-4.0. Someone must investigate a simple test
40076 case which detects a bug in gcc-4.0.
40077
8de3495c 400782005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
40079
40080 * DISTLIST: Added normal/completion.c.
40081
40082 * normal/completion.c: New file.
f19dbdb7 40083
8de3495c 40084 * term/i386/pc/console.c (grub_console_getwh): New function.
40085 (grub_console_term): Assign grub_console_getwh to getwh.
40086
40087 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
40088 function is defined in normal/completion.c as
40089 grub_normal_do_completion.
40090 (grub_cmdline_get): Use grub_normal_do_completion instead of
40091 grub_tab_complete.
40092
40093 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
40094 returns non-zero, otherwise return 0.
40095 (grub_partition_iterate): First, probe the partition map. Then,
40096 call ITERATE only for this partition map.
40097
40098 * kern/misc.c (grub_strncmp): Rewritten.
40099
40100 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
40101 returns non-zero. Otherwise return 0.
40102
40103 * include/grub/partition.h (grub_partition_map_iterate): Return
40104 int instead of void.
40105
40106 * include/grub/normal.h (grub_normal_do_completion): New prototype.
40107
40108 * include/grub/misc.h (grub_strncmp): Change the type of N to
40109 grub_size_t.
40110
40111 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
40112 of void.
40113
40114 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 40115 unsigned explicitly before comparing it with I.
8de3495c 40116
40117 * kern/main.c (grub_env_write_root): Add the attribute unused into
40118 VAR.
40119
40120 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40121 normal/completion.c.
40122 (normal_mod_SOURCES): Likewise.
40123 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40124 (normal_mod_SOURCES): Likewise.
40125
40126 * normal/command.c (grub_iterate_commands): If ITERATE returns
40127 non-zero, return one immediately.
40128
e85e144b 401292005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
40130
40131 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
40132 * kern/i386/pc/startup.S: Updated Global Descriptor table's
40133 descriptions.
40134 (grub_vbe_get_controller_info): New function.
40135 (grub_vbe_get_mode_info): Likewise.
40136 (grub_vbe_set_mode): Likewise.
40137 (grub_vbe_get_mode): Likewise.
40138 (grub_vbe_set_memory_window): Likewise.
40139 (grub_vbe_get_memory_window): Likewise.
40140 (grub_vbe_set_scanline_length): Likewise.
40141 (grub_vbe_get_scanline_length): Likewise.
40142 (grub_vbe_set_display_start): Likewise.
40143 (grub_vbe_get_display_start): Likewise.
40144 (grub_vbe_set_palette_data): Likewise.
40145 * include/grub/i386/pc/vbe.h: New file.
40146
c46153d2 401472005-08-08 Hollis Blanchard <hollis@penguinppc.org>
40148
40149 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
40150 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
40151 * DISTLIST: Likewise.
40152 * kern/ieee1275/of.c: Moved to ...
40153 * kern/ieee1275/ieee1275.c: ... here.
40154
0cb90c45 401552005-08-08 Hollis Blanchard <hollis@penguinppc.org>
40156
40157 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
40158 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
40159 Pass 0 as `end' parameter to grub_strtoul().
40160
a19fb360 401612005-08-08 Hollis Blanchard <hollis@penguinppc.org>
40162
40163 * include/grub/powerpc/ieee1275/console.h: Do not include
40164 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
40165 ifdef.
40166 (grub_console_cur_color): Remove i386-specific prototype.
40167 (grub_console_real_putchar): Likewise.
40168 (grub_console_checkkey): Likewise.
40169 (grub_console_getkey): Likewise.
40170 (grub_console_getxy): Likewise.
40171 (grub_console_gotoxy): Likewise.
40172 (grub_console_cls): Likewise.
40173 (grub_console_setcursor): Likewise.
40174 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
40175 Include <grub/machine/console.h>.
40176 * term/ieee1275/ofconsole.c: Likewise.
40177
4ac9bd04 401782005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
40179
40180 * Makefile.in (LIBLZO): New variable.
40181
40182 * configure.ac: Check for LZO version 2.
40183
40184 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
40185 lzo/lzo1x.h instead of lzo1x.h.
40186
40187 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
40188 of -llzo.
40189
40190 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
40191 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
40192
40193 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
40194 copying the data from PARTITION to P.
40195
f4917dfd 401962005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
40197
40198 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
40199 negative, unload the module.
40200
40201 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
40202 map is "pc_partition_map" but not "pc".
40203 (usage): Fix the description. The options are --boot-image and
40204 --core-image but not --boot-file or --core-file.
40205 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
40206 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
40207 DEFAULT_DIRECTORY.
40208
40209 * util/i386/pc/grub-install.in: Do not specify --boot-file or
40210 --core-file. Specify INSTALL_DEVICE as an argument.
40211
40212 * util/console.c: Include config.h.
40213 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
40214 [HAVE_NCURSES_H]: Include ncurses.h.
40215 [HAVE_CURSES_H]: Include curses.h.
40216 [!A_NORMAL] (A_NORMAL): Defined as zero.
40217 [!A_STANDOUT] (A_STANDOUT): Likewise.
40218
40219 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
40220 -lncurses.
40221 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
40222
40223 * configure.ac: Check for curses libraries and headers.
40224
40225 * Makefile.in (LIBCURSES): New variable.
40226
40227 * genmk.rb (Script::rule): Set the executable bits.
40228
40229 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
40230 name of the PC partition map is "pc_partition_map" but not "pc".
40231
0e143073 402322005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
40233
40234 * util/i386/pc/grub-install.in (grub_probefs): New variable.
40235 (modules): Likewise.
40236 (usage): Added descriptions for --modules and --grub-probefs.
40237 Handle --modules and --grub-probefs. Save the arguments in MODULES
40238 and GRUB_PROBEFS, respectively.
40239 Auto-detect a filesystem module against GRUBDIR. If the result is
40240 empty and modules are not specified explicitly, abort the
40241 installation. Add the result to MODULES.
40242
40243 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
40244 disk/powerpc/ieee1275/ofdisk.c,
40245 include/grub/powerpc/ieee1275/init.h and
40246 term/powerpc/ieee1275/ofconsole.c.
40247 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
40248 term/ieee1275/ofconsole.c.
40249
40250 * include/grub/powerpc/ieee1275/console.h: Resurrected.
40251
40252 * COPYING: Upgraded to the latest version. Only the address of the
40253 FSF office has changed.
f19dbdb7 40254
efd6e6d5 402552005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
40256
40257 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
40258 kern/ieee1275.c with kern/ieee1275/of.c.
40259
40260 * kern/ieee1275.c: Moved to ...
40261 * kern/ieee1275/of.c: ... here.
40262
8ceafda2 402632005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
40264
40265 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 40266 readability.
8ceafda2 40267
40268 * config.guess: Updated to the latest version from gnulib.
40269 * config.sub: Likewise.
40270 * install.sh: Likewise.
40271 * mkinstalldirs: Likewise.
40272
40273 * include/grub/console.h: Removed. This file is arch-specific. Do
40274 not put this in include/grub.
40275
40276 * include/grub/i386/pc/console.h: Resurrected.
40277
40278 * util/console.c: Include grub/machine/console.h instead of
40279 grub/console.h.
40280 * util/grub-emu.c: Likewise.
40281
267f6cd9 402822005-08-04 Marco Gerards <metgerards@student.han.nl>
40283
40284 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
40285 hardcoded value.
f19dbdb7 40286
267f6cd9 40287 From Vincent Pelletier <subdino2004@yahoo.fr>
40288 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
40289 Redefined to use grub_getwh.
40290 (grub_term): New member named getwh.
40291 (grub_getwh): New prototype.
40292 * kern/term.c (grub_getwh): New function.
40293 * term/i386/pc/console.c (grub_console_getwh): New function.
40294 (grub_console_term): New member `getwh'.
40295 * term/i386/pc/vga.c (grub_vga_getwh): New function.
40296 (grub_vga_term): New member `getwh'.
0b5abe02 40297 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 40298 grub_ssize_t.
40299 (grub_ofconsole_getw): New function.
40300 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
40301 (grub_ofconsole_term): New field named getwh and new initial
40302 value.
40303
3be7266d 403042005-08-03 Hollis Blanchard <hollis@penguinppc.org>
40305
40306 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
40307 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
40308 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
40309 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
40310 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
40311 of <grub/machine/ieee1275.h>.
40312 * commands/ieee1275/reboot.c: Likewise.
40313 * boot/powerpc/ieee1275/ieee1275.c: Move ...
40314 * kern/ieee1275.c: ... to here. All users updated. Change all
40315 parameter structs to use new type `grub_ieee1275_cell_t'.
40316 * term/powerpc/ieee1275/ofconsole.c: Move ...
40317 * term/ieee1275/ofconsole.c: ... to here. All users updated.
40318 * disk/powerpc/ieee1275/ofdisk.c: Move ...
40319 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
40320 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
40321 to return int.
40322 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
40323 Remove unused prototypes. All users updated.
40324 * include/grub/powerpc/ieee1275/console.h: Removed.
40325 * include/grub/powerpc/ieee1275/ieee1275.h: Define
40326 `grub_ieee1275_cell_t'.
40327 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
40328 Cast comparisons with -1 to the correct type.
40329 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
40330 type to match `grub_ieee1275_entry_fn'.
40331
8b5f3938 403322005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
40333
40334 * DISTLIST: Added util/i386/pc/grub-probefs.c.
40335
40336 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
40337 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
40338 partmap/sun.c.
40339 (grub_probefs_SOURCES): New variable.
40340
40341 * util/i386/pc/grub-probefs.c: New file.
40342
40343 * util/i386/pc/grub-setup.c (main): Call
40344 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
40345 grub_hfs_init and grub_jfs_init to initialize the system. Call
40346 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
40347 grub_pc_partition_map_fini to finish the system.
40348
ea409713 403492005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
40350
40351 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
40352 function.
40353 (grub_multiboot_load_elf32): Likewise.
40354 (grub_multiboot_is_elf64): Likewise.
40355 (grub_multiboot_load_elf64): Likewise.
40356 (grub_multiboot_load_elf): Likewise.
40357 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
40358 an ELF32 or ELF64 file.
40359 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
40360
40361 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
40362 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
40363 NULL before calling FS->LABEL.
40364 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
40365 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
40366 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
40367 before calling FS->LABEL.
40368
141a288b 403692005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
40370
40371 * util/i386/pc/grub-install.in (datadir): New variable.
40372 (libdir): Removed.
40373 (pkgdatadir): New variable.
40374 (pkglibdir): Removed.
40375
0d5f8a54 403762005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
40377
40378 * DISTLIST: Added util/i386/pc/grub-install.in.
40379
40380 * util/i386/pc/grub-install.in: New file.
40381
40382 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
40383 (grub_install_SOURCES): Likewise.
40384
40385 * genmk.rb: Added support for scripts.
40386 (Script): New class.
40387 (scripts): New variable.
40388
40389 * Makefile.in (install-local): Install sbin_SCRIPTS by
40390 INSTALL_SCRIPT.
40391 (uninstall): Remove sbin_SCRIPTS.
40392
40393 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
40394 device, try to get a GRUB device by
40395 grub_util_biosdisk_get_grub_dev.
40396 Free DEST_DEV.
40397
40398 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
40399 description for --device-map.
40400
5f968e1e 404012005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
40402
40403 Change the semantics of variable hooks. They now return strings
40404 instead of error values.
f19dbdb7 40405
5f968e1e 40406 * util/i386/pc/grub-setup.c: Include grub/env.h.
40407 (setup): Use grub_device_set_root instead of grub_env_set.
40408
40409 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
40410 grub_env_get instead of grub_device_set_root and
40411 grub_device_get_root, respectively.
40412
40413 * kern/main.c (grub_env_write_root): New function.
40414 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
40415 grub_env_set instead of grub_device_set_root.
40416
40417 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
40418 many variables.
40419 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
40420 rather than calling ENV->WRITE_HOOK afterwards.
40421 (grub_env_get): Return the result of ENV->READ_HOOK rather than
40422 passing a pointer of a pointer.
40423 (grub_register_variable_hook): Change the types of "read_hook" and
40424 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
40425 respectively.
40426 Allocate the default empty string on the heap, because this string
40427 may be freed later.
40428
40429 * kern/device.c: Include grub/env.h.
40430 (grub_device_set_root): Removed.
40431 (grub_device_get_root): Likewise.
40432 (grub_device_open): Use grub_env_get instead of
40433 grub_device_get_root.
40434
40435 * include/grub/env.h (grub_env_read_hook_t): New type.
40436 (grub_env_write_hook_t): Likewise.
40437 (grub_env_var): Change the types of "read_hook" and "write_hook"
40438 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
40439 (grub_register_variable_hook): Likewise.
40440
40441 * include/grub/device.h (grub_device_set_root): Removed.
40442 (grub_device_set_root): Likewise.
40443
40444 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
40445 make sure that DIRNAME terminates with '/', so that
40446 grub_fat_find_dir will fail if PATH is not a directory.
40447
40448 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
40449 from DIRNAME.
40450 Use the qualifier auto for print_files and print_files_long.
40451 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
40452 as a regular file.
40453 Put a newline only if there is no error.
40454 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
40455 used.
40456
896f0afd 404572005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
40458
40459 * kern/partition.c (grub_partition_probe): Initialize PART to
40460 NULL. Otherwise, when no partition map is registered, this returns
40461 a garbage.
40462
b28b81b2 404632005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
40464
40465 * partmap/apple.c (apple_partition_map_iterate): Check if POS
40466 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
40467 valid.
40468
5f3607e0 404692005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
40470
40471 * commands/ls.c (grub_ls_list_disks): Print the filesystem
40472 information on each device, if it does not have partitions. Print
40473 "Device" instead of "Disk", because this function is not specific
40474 to disk devices.
40475
40476 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
40477 static to ensure that it is put on the memory rather than a
40478 register.
40479
502c87e8 404802005-07-17 Yoshinori Okuji <okuji@enbug.org>
40481
40482 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
40483 (grub_cat_init): Likewise.
40484 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
40485 (options): Likewise.
40486 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
40487 (grub_configfile_init): Likewise.
40488 * font/manager.c (GRUB_MOD_INIT): Likewise.
40489 * commands/help.c (GRUB_MOD_INIT): Likewise.
40490 (grub_help_init): Likewise.
40491 * normal/command.c (grub_command_init): Likewise.
40492 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
40493 * disk/loopback.c (grub_loop_init): Likewise.
40494 (GRUB_MOD_INIT): Likewise.
40495 * commands/ls.c (grub_ls_init): Likewise.
40496 (GRUB_MOD_INIT): Likewise.
40497 (options): Likewise.
40498 * commands/boot.c (grub_boot_init): Likewise.
40499 (GRUB_MOD_INIT): Likewise.
40500 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
40501 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
40502 (GRUB_MOD_INIT): Likewise.
40503 * commands/cmp.c (grub_cmp_init): Likewise.
40504 (GRUB_MOD_INIT): Likewise.
40505
40506 * normal/arg.c: Use <> instead of "" to include header files.
40507 (SHORT_ARG_HELP): New macro.
40508 (SHORT_ARG_USAGE): Likewise.
40509 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
40510 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
40511 descriptions.
40512 (find_short): Check if C is 'h' or 'u' explicitly.
40513 (grub_arg_show_help): Use space characters instead of tabs. Treat
40514 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
40515 are shown with --help and --usage only if they are not used for
40516 the command itself.
40517 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
40518 'h' and 'u'.
40519
40520 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
40521 const into "longarg". Change the type of "shortarg" to int.
40522
f806d18e 405232005-07-17 Yoshinori Okuji <okuji@enbug.org>
40524
40525 * boot/i386/pc/boot.S (boot_drive_check): New label.
40526
40527 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
40528 macro.
40529
40530 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
40531 which do not pass a boot drive correctly. Copied from GRUB Legacy.
40532
e293232b 405332005-07-17 Yoshinori Okuji <okuji@enbug.org>
40534
40535 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
40536 When turning off Gate A20, skip the check and return immediately,
40537 because this is not fatal usually.
40538
ebedfd00 405392005-07-17 Yoshinori Okuji <okuji@enbug.org>
40540
40541 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
40542 be 0x7C00 instead of 0x8000.
40543
40544 * boot/i386/pc/pxeboot.S: Rewritten.
40545
40546 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
40547 EXT_C.
40548 (gate_a20_check_state): Read a byte from 0x108000. Invert the
40549 result.
40550
654fc59f 405512005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
40552
40553 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
40554 robustness. This routine now supports a BIOS call and System
40555 Control Port A to modify the gate A20.
40556
40557 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40558 Increased to 0x440.
40559
09f9923f 405602005-07-12 Hollis Blanchard <hollis@penguinppc.org>
40561
40562 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
40563 device path and resulting ihandle.
40564 (grub_ofdisk_close): dprintf the ihandle being closed.
40565 (grub_ofdisk_read): dprintf function parameters.
40566 * kern/mm.c (grub_mm_init_region): Likewise.
40567 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
40568 (grub_linux_boot): dprintf the Linux entry point, initrd address and
40569 size, and boot arguments.
40570 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
40571 before loading into memory.
40572 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
40573 before loading into memory.
40574
7ef504d8 405752005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
40576
40577 * kern/mm.c: Added much documentation.
40578 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
40579 8, set to 5 instead of 8.
40580
e0f050c2 405812005-07-10 Yoshinori Okuji <okuji@enbug.org>
40582
40583 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
40584
40585 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
40586 (grub_mkdevicemap_SOURCES): New variable.
40587
40588 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
40589 lib/device.c of GRUB Legacy.
40590
7224189a 405912005-07-10 Yoshinori Okuji <okuji@enbug.org>
40592
40593 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
40594 instead of PATH is NULL.
40595
68c864eb 405962005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
40597
40598 * commands/cmp.c (BUFFER_SIZE): New macro.
40599 (grub_cmd_cmp): Close the right file at the right time. Compare
40600 only data just read. Don't report files of different size as
40601 identical. Dynamically allocate buffers. Move variable
40602 declarations at the beginning of function.
40603
e6f3e614 406042005-07-09 Yoshinori Okuji <okuji@enbug.org>
40605
40606 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
40607 reverse.
40608
f8f1559a 406092004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
40610
40611 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
40612 when backspace is pressed at beginning of line.
40613
39c9d41d 406142005-07-03 Yoshinori Okuji <okuji@enbug.org>
40615
40616 * DISTLIST: Added genfslist.sh.
40617
40618 * normal/main.c (fs_module_list): New variable.
40619 (autoload_fs_module): New function.
40620 (read_fs_list): Likewise.
40621 (grub_normal_execute): Call read_fs_list.
40622
40623 * kern/fs.c (grub_fs_autoload_hook): New variable.
40624 (grub_fs_probe): Added support for auto-loading.
40625
40626 * include/grub/normal.h (struct grub_fs_module_list): New struct.
40627 (grub_fs_module_list_t): New type.
40628
40629 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
40630 (grub_fs_autoload_hook): New prototype.
40631
40632 * genfslist.sh: New file.
f19dbdb7 40633
39c9d41d 40634 * genmk.rb: Added a rule to generate a filesystem list.
40635
121c1d83 406362005-06-30 Marco Gerards <metgerards@student.han.nl>
40637
40638 * configure.ac: Fix the test for cross-compiling.
40639
40640 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
40641 define GRUB_UTIL anymore.
40642
40643 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
40644 so this function works on other systems than just big endian.
40645 (load_modules): Likewise.
40646 (add_segments): Likewise.
40647
e75d76e1 406482005-06-23 Hollis Blanchard <hollis@penguinppc.org>
40649
40650 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
40651 contains `l' modifier, get a long from va_arg().
40652
50b5a0a7 406532005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
40654
40655 * kern/mm.c (grub_free): If the next free block which is being
40656 merged is the first free block, set the first block to the block
40657 being freed.
40658 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
40659
89371b20 406602005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40661
40662 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
40663 `grub_ieee1275_chosen'.
40664
168d6e58 406652005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40666
40667 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
40668 (grub_ieee1275_chosen): New variable.
40669 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
40670 `chosen'.
40671 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
40672 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
40673 Rename first argument to `phandle' for consistency.
40674 (grub_ieee1275_get_property_length): Likewise.
40675 (grub_ieee1275_next_property): Likewise. Change type of first argument
40676 to grub_ieee1275_phandle_t.
40677 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
40678 Move export next to declaration.
40679 (grub_ieee1275_chosen): New variable.
40680 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
40681 Correct cosmetic typo.
40682 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
40683 `grub_ieee1275_chosen'.
40684 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
40685 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
40686 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
40687 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
40688 `grub_ieee1275_chosen'.
40689
ca5baa3f 406902005-05-10 Hollis Blanchard <hollis@penguinppc.org>
40691
40692 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
40693 /chosen/bootargs.
40694 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
40695 /chosen/bootargs as "variable=value" pairs.
40696
708b345f 406972005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
40698
40699 * include/grub/misc.h (grub_dprintf): New macro.
40700 (grub_real_dprintf): New prototype.
40701 (grub_strword): Likewise.
40702 (grub_iswordseparator): Likewise.
40703 * kern/misc.c (grub_real_dprintf): New function.
40704 (grub_strword): Likewise.
40705 (grub_iswordseparator): Likewise.
40706
f4c5e67c 407072005-04-30 Hollis Blanchard <hollis@penguinppc.org>
40708
40709 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
40710 (roundup): Remove macro.
40711 (grub_ieee1275_flags): Make static.
40712 (grub_ieee1275_realmode): Remove.
40713 (grub_ieee1275_test_flag): New function.
40714 (grub_ieee1275_set_flag): Likewise.
40715 (find_options): Rename to `grub_ieee1275_find_options'; update
40716 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
40717 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
40718 (cmain): New prototype.
40719 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
40720 `grub_ieee1275_flags' directly.
40721 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
40722 machine/biosdisk.h.
40723 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
40724 Don't include grub/machine/init.h.
40725 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
40726 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
40727 Remove prototype.
40728 (grub_ieee1275_realmode): Likewise.
40729 (grub_ieee1275_flag): New enum.
40730 (grub_ieee1275_test_flag): New prototype.
40731 (grub_ieee1275_set_flag): New prototype.
40732 * include/grub/powerpc/ieee1275/init.h: Remove file.
40733 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
40734 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
40735 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
40736 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
40737 comment.
40738 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
40739 `grub_ieee1275_test_flag'.
40740 (grub_ieee1275_encode_devname): Likewise.
40741
ed16607e 407422005-04-21 Hollis Blanchard <hollis@penguinppc.org>
40743
40744 * include/grub/powerpc/ieee1275/ieee1275.h
40745 (grub_ieee1275_encode_devname): New prototype.
40746 (grub_ieee1275_get_filename): Likewise.
40747 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
40748 function.
40749 (grub_set_prefix): Likewise.
40750 (grub_machine_init): Call grub_set_prefix.
40751 * kern/powerpc/ieee1275/openfw.c: Fix typos.
40752 (grub_parse_type): New enum.
40753 (grub_ieee1275_get_devargs): New function.
40754 (grub_ieee1275_get_devname): Likewise.
40755 (grub_ieee1275_parse_args): Likewise.
40756 (grub_ieee1275_get_filename): Likewise.
40757 (grub_ieee1275_encode_devname): Likewise.
40758
be369920 407592005-03-30 Marco Gerards <metgerards@student.han.nl>
40760
40761 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
40762 `grub_loader_unset'.
40763
a5ce3a4a 407642005-03-26 Hollis Blanchard <hollis@penguinppc.org>
40765
40766 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
40767 instead of grub_ieee1275_interpret.
40768 (grub_halt_init): New function.
40769 (grub_halt_fini): Likewise.
40770 (GRUB_MOD_INIT): Correct message grammar.
40771 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
40772 instead of grub_ieee1275_interpret.
40773 (grub_reboot_init): New function.
40774 (grub_reboot_fini): Likewise.
40775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
40776 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
40777 util/i386/pc/misc.c with commands/ieee1275/halt.c,
40778 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
40779 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
40780 function.
40781 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
40782 Add prototype.
40783 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
40784 prototype.
40785 (grub_halt): Likewise.
40786 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
40787 (cmain): Remove __attribute__((unused)).
40788 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
40789 (grub_heap_len): Likewise.
40790 (grub_machine_fini): New function.
40791 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
40792 (grub_halt): Likewise.
40793 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
40794 function.
40795 * util/powerpc/ieee1275/misc.c: New file.
40796
0058f771 407972005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40798
40799 * DISTLIST: New file.
40800 * gendistlist.sh: Likewise.
f19dbdb7 40801
0058f771 40802 * Makefile.in (COMMON_DISTFILES): Removed.
40803 (BOOT_DISTFILES): Likewise.
40804 (CONF_DISTFILES): Likewise.
40805 (DISK_DISTFILES): Likewise.
40806 (FS_DISTFILES): Likewise.
40807 (INCLUDE_DISTFILES): Likewise.
40808 (KERN_DISTFILES): Likewise.
40809 (LOADER_DISTFILES): Likewise.
40810 (TERM_DISTFILES): Likewise.
40811 (UTIL_DISTFILES): Likewise.
40812 (DISTFILES): Likewise.
40813 (uninstall): Uninstall files in $(pkgdata_DATA).
40814 (DISTLIST): New target.
40815 (distdir): Use the contents of the file DISTLIST to get a list of
40816 distributed files.
40817
46b3b8a5 408182005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40819
40820 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
40821 descriptor. This is ported from GRUB Legacy.
40822
40823 * gencmdlist.sh: Added an extra semicolon to make it work with
40824 old sed versions. Reported by Robert Bihlmeyer
40825 <robbe@orcus.priv.at>.
40826
5822ff87 408272005-03-08 Yoshinori Okuji <okuji@enbug.org>
40828
40829 Automatic loading of commands is supported.
f19dbdb7 40830
5822ff87 40831 * normal/main.c (read_command_list): New function.
40832 (grub_normal_execute): Call read_command_list.
40833
40834 * normal/command.c (grub_register_command): Return zero or CMD.
40835 Allocate CMD->NAME from the heap.
40836 Initialize CMD->MODULE_NAME to zero.
40837 Find the same name as well. If the same command is found and it is
40838 a dummy command, overwrite members. If it is not a dummy command,
40839 return zero.
40840 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
40841 (grub_command_find): If a dummy command is found, load a module
40842 and retry to find a command only once.
40843
40844 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
40845 make sure that each command is loaded.
40846
40847 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
40848 macro.
40849 (struct grub_command): Remove const from the member `name'.
40850 Add a new member `module_name'.
40851 (grub_register_command): Return grub_command_t.
40852
40853 * commands/help.c (grub_cmd_help): Call grub_command_find to make
40854 sure that each command is loaded.
40855
40856 * genmk.rb (PModule::rule): Specify a module name without the
40857 suffix ".mod" to gencmdlist.sh.
40858
7b1f4b57 408592005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40860
40861 * gencmdlist.sh: New file.
f19dbdb7 40862
7b1f4b57 40863 * genmk.rb (PModule::rule): Generate a rule for a command list.
40864 Clean command.lst.
40865 Generate command.lst from $(COMMANDFILES).
40866
40867 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
40868 (DATA): Added $(pkgdata_DATA).
40869 (install-local): Install files in $(pkgdata_DATA).
40870
062aaf39 408712005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40872
40873 * term/i386/pc/vga.c (debug_command): Removed.
40874 (GRUB_MOD_INIT): Do not register the command "debug".
40875
40876 From Hollis Blanchard:
40877 * commands/configfile.c: New file.
40878 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40879 commands/configfile.c.
40880 (pkgdata_MODULES): Added configfile.mod.
40881 (configfile_mod_SOURCES): New variable.
40882 (configfile_mod_CFLAGS): Likewise.
40883 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40884 commands/configfile.c.
40885 (pkgdata_MODULES): Added configfile.mod.
40886 (configfile_mod_SOURCES): New variable.
40887 (configfile_mod_CFLAGS): Likewise.
40888 * util/grub-emu.c (main): Call grub_configfile_init and
40889 grub_configfile_fini.
40890 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
40891 prototype.
40892 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 40893
cee01aa6 408942005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40895
40896 * normal/arg.c (grub_arg_show_help): Do not show the bug report
40897 address.
40898
40899 * commands/help.c (grub_cmd_help): Do not print newlines after
40900 the last command in print_command_help.
40901
93f3a1d8 409022005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40903
40904 * commands/default.h: New file.
40905 * commands/timeout.h: Likewise.
40906 * normal/context.c: Likewise.
f19dbdb7 40907
93f3a1d8 40908 * util/misc.c: Do not include sys/times.h.
40909 Include sys/time.h and grub/machine/time.h.
40910 (grub_get_rtc): Rewritten with gettimeofday.
40911
40912 * util/grub-emu.c (main): Call grub_default_init and
40913 grub_timeout_init before grub_normal_init, and call
40914 grub_timeout_fini and grub_default_fini after grub_main.
40915
40916 * util/console.c (grub_ncurses_checkkey): Return the read
40917 character or -1.
40918
40919 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
40920 timeouts.
40921
40922 * normal/main.c (read_config_file): Push MENU. If this fails,
40923 print an error and wait for a user input.
40924 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
40925 If a menu is empty or an error occurs, pop MENU.
40926 (grub_normal_execute): Pop and free MENU after grub_menu_run
40927 returns.
40928
40929 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
40930
40931 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
40932 include time.h.
40933 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40934 without GRUB_UTIL.
40935 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
40936 time.h.
40937 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40938 without GRUB_UTIL.
40939
40940 * include/grub/normal.h (struct grub_menu_list): New struct.
40941 (grub_menu_list_t): New type.
40942 (struct grub_context): New struct.
40943 (grub_context_t): New type.
40944 (grub_register_command): Got rid of EXPORT_FUNC.
40945 (grub_unregister_command): Likewise.
40946 (grub_context_get): New prototype.
40947 (grub_context_get_current_menu): Likewise.
40948 (grub_context_push_menu): Likewise.
40949 (grub_context_pop_menu): Likewise.
40950 [GRUB_UTIL] (grub_default_init): Likewise.
40951 [GRUB_UTIL] (grub_default_fini): Likewise.
40952 [GRUB_UTIL] (grub_timeout_init): Likewise.
40953 [GRUB_UTIL] (grub_timeout_fini): Likewise.
40954
40955 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
40956 commands/timeout.c and normal/context.c.
40957 (pkgdata_MODULES): Added default.mod and timeout.mod.
40958 (normal_mod_SOURCES): Added normal/context.c.
40959 (default_mod_SOURCES): New variable.
40960 (default_mod_CFLAGS): Likewise.
40961 (timeout_mod_SOURCES): Likewise.
40962 (timeout_mod_CFLAGS): Likewise.
40963 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
40964 conf/i386-pc.rmk.
40965 (pkgdata_MODULES): Added default.mod and timeout.mod.
40966 (normal_mod_SOURCES): Added normal/context.c.
40967 (default_mod_SOURCES): New variable.
40968 (default_mod_CFLAGS): Likewise.
40969 (timeout_mod_SOURCES): Likewise.
40970 (timeout_mod_CFLAGS): Likewise.
40971
40972 * Makefile.in (all-local): Added $(MKFILES).
40973
4ed2e1dd 409742005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
40975
40976 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
40977 (grub_emu_SOURCES): Likewise.
40978 (pkgdata_MODULES): Add `sun.mod'.
40979 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40981 `partmap/sun.c'.
40982 (pkgdata_MODULES): Add `sun.mod'.
40983 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40984 * include/grub/partition.h (grub_sun_partition_map_init): New
40985 prototype.
40986 (grub_sun_partition_map_fini): Likewise.
40987 * partmap/sun.c: New file.
40988 * util/grub-emu.c (main): Initialize and de-initialize the sun
40989 partitionmap support.
40990
4d4e372e 409912005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
40992
40993 This implements an Emacs-like menu entry editor.
f19dbdb7 40994
4d4e372e 40995 * normal/menu_entry.c: New file.
f19dbdb7 40996
4d4e372e 40997 * util/console.c (grub_ncurses_putchar): Translate some Unicode
40998 characters to ASCII.
40999 (saved_char): New variable.
41000 (grub_ncurses_checkkey): Rewritten completely.
41001 (grub_ncurses_getkey): Likewise.
41002 (grub_ncurses_init): Call raw instead of cbreak.
41003
41004 * normal/menu.c (print_entry): Do not put a space.
41005 (init_page): Renamed to ...
41006 (grub_menu_init_page): ... this. All callers changed.
41007 (edit_menu_entry): Removed.
41008 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
41009
41010 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
41011
41012 * kern/misc.c (grub_vprintf): Call grub_refresh.
41013
41014 * normal/menu.c (DISP_LEFT): Renamed to ...
41015 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
41016 * normal/menu.c (DISP_UP): Renamed to ...
41017 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
41018 * normal/menu.c (DISP_RIGHT): Renamed to ...
41019 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
41020 * normal/menu.c (DISP_DOWN): Renamed to ...
41021 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
41022 * normal/menu.c (DISP_HLINE): Renamed to ...
41023 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
41024 * normal/menu.c (DISP_VLINE): Renamed to ...
41025 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
41026 * normal/menu.c (DISP_UL): Renamed to ...
41027 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
41028 * normal/menu.c (DISP_UR): Renamed to ...
41029 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
41030 * normal/menu.c (DISP_LL): Renamed to ...
41031 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
41032 * normal/menu.c (DISP_LR): Renamed to ...
41033 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
41034 * normal/menu.c (TERM_WIDTH): Renamed to ...
41035 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
41036 * normal/menu.c (TERM_HEIGHT): Renamed to ...
41037 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
41038 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
41039 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
41040 * normal/menu.c (TERM_MARGIN): Renamed to ...
41041 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
41042 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
41043 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
41044 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
41045 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
41046 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
41047 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
41048 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
41049 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
41050 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
41051 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
41052 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
41053 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
41054 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
41055 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
41056 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
41057 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
41058 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
41059 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
41060 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
41061 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
41062 All callers changed.
41063
41064 * include/grub/normal.h: New prototype.
41065
41066 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41067 normal/menu_entry.c.
41068 (normal_mod_SOURCES): Likewise.
41069 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41070 (normal_mod_SOURCES): Likewise.
41071
e6b92c8a 410722005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
41073
41074 * include/grub/normal.h (grub_halt_init): New prototype.
41075 (grub_halt_fini): Likewise.
41076 (grub_reboot_init): Likewise.
41077 (grub_reboot_fini): Likewise.
41078
41079 * util/grub-emu.c: Include signal.h.
41080 (main_env): New global variable.
41081 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
41082 catch C-c.
41083 (grub_machine_fini): New function.
41084 (main): Call grub_halt_init and grub_reboot_init before
41085 grub_main, and grub_reboot_fini and grub_halt_fini after it.
41086 Call setjmp with MAIN_ENV to go back afterwards.
41087 Call grub_machine_fini right before return.
41088
41089 * include/grub/util/misc.h: Include setjmp.h.
41090 (main_env): New prototype.
41091
41092 * include/grub/kernel.h (grub_machine_fini): New prototype.
41093 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
41094 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
41095
41096 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
41097 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
41098 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 41099
e6b92c8a 41100 * util/i386/pc/misc.c: New file.
f19dbdb7 41101
e6b92c8a 41102 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41103 util/i386/pc/misc.c, commands/i386/pc/halt.c and
41104 commands/i386/pc/reboot.c.
41105
c642636f 411062005-02-14 Guillem Jover <guillem@hadrons.org>
41107
41108 * include/grub/dl.h (grub_dl_check_header): New prototype.
41109 (grub_arch_dl_check_header): Change return type to grub_err_t,
41110 remove size parameter and export function. Update all callers.
41111 * kern/dl.c (grub_dl_check_header): New function.
41112 (grub_dl_load_core): Use `grub_dl_check_header' instead of
41113 `grub_arch_dl_check_header'. Check ELF type. Check if sections
41114 are inside the core.
41115 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
41116 independent ELF header checks.
41117 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
41118 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
41119 `grub_dl_check_header' instead of explicit checks. Check for the
41120 ELF type.
41121 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
41122 `grub_dl_check_header' instead of explicit checks. Remove arch
41123 specific ELF header checks.
41124
e6b92c8a 41125 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
41126 argument SIZE.
41127
5eabe94b 411282005-02-13 Hollis Blanchard <hollis@penguinppc.org>
41129
41130 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
41131 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
41132
1b14a681 411332005-02-12 Hollis Blanchard <hollis@penguinppc.org>
41134
41135 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 41136 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 41137 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 41138 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 41139 * partmap/amiga.c (amiga_partition_map_iterate): Return
41140 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
41141 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41142
aca108aa 411432005-02-01 Guillem Jover <guillem@hadrons.org>
41144
41145 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
41146 help info.
41147
c9f9c556 411482005-01-31 Marco Gerards <metgerards@student.han.nl>
41149
41150 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
41151 Removed prototype.
41152 (grub_rescue_cmd_linux): New prototype.
41153 (grub_rescue_cmd_initrd): Likewise.
41154 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
41155 `bi_rec'.
41156 (grub_linux_release_mem): Release the memory for the initrd.
41157 (grub_load_linux): Renamed from this...
41158 (grub_rescue_cmd_linux): ...To this. Changed all callers.
41159 Changed `entry' not to be static. Loop over memory regions to
41160 find another one when the default fails.
41161 (grub_rescue_cmd_initrd): New function.
41162 (grub_linux_init): Remove function.
41163 (grub_linux_fini): Likewise.
41164 (GRUB_MOD_INIT): Register `initrd'.
41165 (GRUB_MOD_FINI): Unregister `initrd'.
41166 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
41167 Function removed.
41168 (grub_linux_normal_fini): Likewise.
41169 (GRUB_MOD_INIT): Register `initrd'.
41170 (GRUB_MOD_FINI): Unregister `initrd'.
41171
990cf3aa 411722005-01-31 Marco Gerards <metgerards@student.han.nl>
41173
41174 * commands/help.c: New file.
41175 * normal/arg.c (show_help): Renamed to...
41176 (grub_arg_show_help): ... this.
41177 * commands/i386/pc/halt.c: New file.
41178 * commands/i386/pc/reboot.c: Likewise.
41179 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
41180 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
41181 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
41182 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
41183 variables.
41184 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41185 `commands/help.c'.
41186 (pkgdata_MODULES): Add `help.mod'.
41187 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
41188 * grub/i386/pc/init.h (grub_reboot): New prototype.
41189 (grub_halt): Likewise.
41190 * include/grub/normal.h (grub_arg_show_help): New prototype.
41191 (grub_help_init): Likewise.
41192 (grub_help_fini): Likewise.
41193 * util/grub-emu.c (main): Initialize and deinitialize the help
41194 command.
41195
41196 * normal/cmdline.c (grub_cmdline_get): Doc fix.
41197
41198 * normal/command.c (grub_command_init): Fixed the description of
41199 the `set' and `unset' commands.
41200
412012005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 41202
41203 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
41204 function.
41205 * commands/ieee1275/halt.c: New file.
41206 * commands/ieee1275/reboot.c: Likewise.
41207 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
41208 `__attribute__ ((unused))'. Some GCS related fixed.
41209 (grub_suspend_init) [GRUB_UTIL]: Function removed.
41210 (grub_suspend_fini): Likewise.
41211 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
41212 and `halt.mod'.
41213 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
41214 (halt_mod_CFLAGS): New variables.
41215 * include/grub/powerpc/ieee1275/ieee1275.h
41216 (grub_ieee1275_interpret): New prototype.
41217
1ab09cc7 412182005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
41219
41220 * include/grub/misc.h (memmove): New prototype.
41221 (memcpy): Likewise.
41222
8b8cbdb2 412232005-01-22 Hollis Blanchard <hollis@penguinppc.org>
41224
41225 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
41226 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
41227
e3741a27 412282005-01-22 Marco Gerards <metgerards@student.han.nl>
41229
41230 * kern/misc.c (grub_strndup): Function rewritten.
41231
776bd780 412322005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
41233
41234 * normal/menu.c (TERM_WIDTH): Macro redefined.
41235 (TERM_TOP_BORDER_Y): Likewise.
41236 (draw_border): Replaced while-loop by a for-loop. Make the number
41237 of lines consistent with the number of lines displayed in
41238 print_entries. Added a margin below the rectangle.
41239 (print_entry): Make the entry fit in the rectangle.
41240 (print_entries): Display the scroll arrows next to the right
41241 border.
41242
78026bce 412432005-01-21 Marco Gerards <metgerards@student.han.nl>
41244
41245 * fs/minix.c (grub_minix_find_file): Reserve more space for
41246 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
41247 `grub_strncpy' to copy `path' into it.
41248
67bbaf0f 412492005-01-21 Marco Gerards <metgerards@student.han.nl>
41250
41251 Add the loopback device, a device via which files can be accessed
41252 as devices.
f19dbdb7 41253
67bbaf0f 41254 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
41255 (pkgdata_MODULES): Add loopback.mod.
41256 (loopback_mod_SOURCES): New variable.
41257 (loopback_mod_CFLAGS): Likewise.
41258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41259 `disk/loopback.c'.
41260 (pkgdata_MODULES): Add loopback.mod.
41261 (loopback_mod_SOURCES): New variable.
41262 (loopback_mod_CFLAGS): Likewise.
41263 * disk/loopback.c: new file.
41264 * include/grub/normal.h (grub_loop_init): New prototype.
41265 (grub_loop_fini): New prototype.
41266 * util/grub-emu.c (main): Initialize and de-initialize loopback
41267 support.
41268 * include/grub/disk.h (grub_disk_dev_id): Add
41269 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
41270
6f1c18bd 412712005-01-20 Hollis Blanchard <hollis@penguinppc.org>
41272
41273 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
41274 function.
41275 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
41276 (suspend_mod_SOURCES): New variable.
41277 (suspend_mod_CFLAGS): Likewise.
41278 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
41279 New prototype.
41280 * commands/ieee1275/suspend.c: New file.
41281
b38551da 412822005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41283
41284 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 41285 ((unused))' to `__attribute__ ((used))'.
b38551da 41286 (GRUB_MOD_FINI): Likewise.
41287 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
41288 * genmk.rb (PModule): Assign space to common symbols when linking
41289 modules.
41290
777aff39 412912005-01-20 Marco Gerards <metgerards@student.han.nl>
41292
41293 * include/grub/mm.h (grub_mm_init_region): Change the type of the
41294 `unsigned' arguments to `grub_size_t'.
41295 (grub_malloc): Likewise.
41296 (grub_realloc): Likewise.
41297 (grub_memalign): Likewise.
41298 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
41299 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
41300 * util/misc.c (grub_malloc): Likewise.
41301 (grub_realloc): Likewise.
41302 * kern/mm.c (get_header_from_pointer): Change the casts to
41303 `unsigned' into a cast to `grub_size_t'.
41304
41305 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
41306 point to `currnode' when `currnode' is changed.
41307
41308 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
41309 Schottelius <nico-linux@schottelius.org>.
41310
d0ff18e1 413112005-01-09 Hollis Blanchard <hollis@penguinppc.org>
41312
41313 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
41314 (note_path): Remove variable.
41315 (GRUB_IEEE1275_NOTE_NAME): New macro.
41316 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
41317 (grub_ieee1275_note_hdr): New structure.
41318 (grub_ieee1275_note_desc): Likewise.
41319 (grub_ieee1275_note): Likewise.
41320 (load_note): Remove `dir' argument. All callers updated. Remove
41321 `note_img' and `path'. Do not load a file from `note_path'.
41322 Initialize a struct grub_ieee1275_note and write that to `out'.
41323 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
41324
4ca7004c 413252005-01-05 Marco Gerards <metgerards@student.han.nl>
41326
41327 * util/misc.c (grub_util_read_image): Revert last change. It
41328 called `grub_util_read_at', which seeks from the beginning of the
41329 file.
41330
0b412211 413312005-01-04 Hollis Blanchard <hollis@penguinppc.org>
41332
41333 * TODO: Add note about endianness in grub-mkimage.
41334 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
41335 section.
41336 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
41337 (grub_mkimage_SOURCES): New target.
41338 * include/grub/kernel.h (grub_start_addr): Remove variable.
41339 (grub_end_addr): Likewise.
41340 (grub_total_module_size): Likewise.
41341 (grub_kernel_image_size): Likewise.
41342 (GRUB_MODULE_MAGIC): New constant.
41343 (grub_module_info): New structure.
41344 (grub_arch_modules_addr): New prototype.
41345 (grub_get_end_addr): Remove prototype.
41346 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
41347 * include/grub/powerpc/ieee1275/kernel.h: New file.
41348 * include/grub/util/misc.h (grub_util_get_fp_size): New
41349 prototype.
41350 (grub_util_read_at): Likewise.
41351 (grub_util_write_image_at): Likewise.
41352 * kern/main.c (grub_get_end_addr): Remove function.
41353 (grub_load_modules): Call grub_arch_modules_addr instead of using
41354 grub_end_addr. Look for a grub_module_info struct in memory. Use
41355 the grub_module_info fields instead of calling grub_get_end_addr
41356 as loop conditions. Move grub_add_unused_region code here.
41357 (grub_add_unused_region): Remove function.
41358 * kern/i386/pc/init.c: Include grub/cache.h.
41359 (grub_machine_init): Remove call to grub_get_end_addr. Remove
41360 one call to add_mem_region.
41361 (grub_arch_modules_addr): New function.
41362 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
41363 (grub_total_module_size): Likewise.
41364 Include grub/machine/kernel.h.
41365 (grub_arch_modules_addr): New function.
41366 * util/grub-emu.c (grub_end_addr): Remove variable.
41367 (grub_total_module_size): Likewise.
41368 (grub_arch_modules_addr): New function.
41369 * util/misc.c: Include unistd.h.
41370 (grub_util_get_fp_size): New function.
41371 (grub_util_read_at): Likewise.
41372 (grub_util_write_image_at): Likewise.
41373 (grub_util_read_image): Call grub_util_read_at.
41374 (grub_util_write_image): Call grub_util_write_image_at.
41375 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
41376 additional memory in kernel_img for a struct grub_module_info.
41377 Fill in that grub_module_info.
41378 * util/powerpc/ieee1275/grub-mkimage.c: New file.
41379
458786f8 413802005-01-03 Hollis Blanchard <hollis@penguinppc.org>
41381
41382 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
41383 New function.
41384 * include/grub/powerpc/ieee1275/ieee1275.h
41385 (grub_ieee1275_milliseconds): New prototype.
41386 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
41387 Change to 1000.
41388 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
41389 grub_ieee1275_milliseconds.
41390
ac507d1b 413912005-01-03 Hollis Blanchard <hollis@penguinppc.org>
41392
41393 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
41394 variable.
41395 (find_options): New function.
41396 (cmain): Call find_options.
41397 * include/grub/powerpc/ieee1275/ieee1275.h
41398 (grub_ieee1275_realmode): New extern variable.
41399 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
41400 grub_map if grub_ieee1275_realmode is false.
41401
6b8fd1c4 414022004-12-29 Marco Gerards <metgerards@student.han.nl>
41403
41404 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
41405 lines are inserted and make it work like readline. Reported by
41406 Vincent Pelletier <subdino2004@yahoo.fr>.
41407
8514a1e0 414082004-12-28 Marco Gerards <metgerards@student.han.nl>
41409
41410 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
41411
41412 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
41413 `kern/powerpc/cache.S'.
41414
924b6140 414152004-12-27 Marco Gerards <metgerards@student.han.nl>
41416
41417 * genmk.rb: Handle the `Program' class in the main loop. Written
41418 by Johan Rydberg <jrydberg@gnu.org>.
41419 (Program): New class.
41420 (programs): New variable.
41421 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
41422 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
41423 instead of "grub/kernel.h". Include <grub/machine/init.h>.
41424 (help_arch): Function removed.
41425 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
41426 `powerpc/libgcc.h' and `loader.h'.
41427 (pkgdata_PROGRAMS): New variable.
41428 (sbin_UTILITIES): Variable removed.
41429 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
41430 (grubof_SOURCES): Variable re-defined so it only includes the
41431 core functionality.
41432 (grubof_CFLAGS): Remove `-DGRUBOF'.
41433 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
41434 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
41435 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
41436 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
41437 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
41438 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
41439 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
41440 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
41441 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
41442 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
41443 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41444 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
41445 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
41446 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
41447 (pc_mod_CFLAGS): New variables.
41448 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
41449 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
41450 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
41451 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
41452 Moved from here...
41453 * include/grub/i386/pc/init.h (grub_os_area_addr)
41454 (rub_os_area_size): ... to here.
41455 * include/grub/powerpc/ieee1275/ieee1275.h
41456 (grub_ieee1275_entry_fn): Export symbol.
41457 * include/grub/powerpc/ieee1275/init.h: New file.
41458 * include/grub/powerpc/libgcc.h: Likewise.
41459 * include/grub/cache.h: Likewise.
41460 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
41461 <hollis@penguinppc.org>.
41462 * kern/dl.c: Include <grub/cache.h>.
41463 (grub_dl_flush_cache): New function.
41464 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
41465 for this module.
41466 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
41467 (grub_console_init): Removed prototypes.
41468 (grub_machine_init): Don't initialize the modules anymore.
41469 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
41470 static.
41471 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
41472 Macro undef removed.
41473 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
41474 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
41475 relocation `R_PPC_REL32'. Return an error when the relocation is
41476 unknown.
41477 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
41478 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
41479 * util/misc.c (grub_arch_sync_caches): Likewise.
41480
e4b47e0c 414812004-12-19 Marco Gerards <metgerards@student.han.nl>
41482
41483 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
41484 `symlist.c', add `grubof_symlist.c'.
41485 (symlist.c): Variable removed.
41486 (grubof_HEADERS): Variable added.
41487 (grubof_symlist.c): New target.
41488 (kernel_syms.lst): Use `grubof_HEADERS' instead of
41489 `kernel_img_HEADERS'.
41490 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
41491 * kern/powerpc/dl.c: New file.
41492 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
41493 Function removed.
41494 (grub_arch_dl_relocate_symbols): Likewise.
41495 (grub_register_exported_symbols): Likewise.
41496
4ceb3636 414972004-12-13 Marco Gerards <metgerards@student.han.nl>
41498
41499 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
41500 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
41501 to fail instead. Reported by Vincent Pelletier
41502 <subdino2004@yahoo.fr>.
41503
41504 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
41505 it is not allocated. Reported by Vincent Pelletier
41506 <subdino2004@yahoo.fr>.
41507
41508 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
41509 output so the output looks better.
f19dbdb7 41510
3f1578fe 415112004-12-04 Marco Gerards <metgerards@student.han.nl>
41512
41513 Modulize the partition map support and add support for the amiga
41514 partition map.
f19dbdb7 41515
3f1578fe 41516 * commands/ls.c: Include <grub/partition.h> instead of
41517 <grub/machine/partition.h>.
41518 * kern/disk.c: Likewise.
41519 * kern/rescue.c: Likewise.
41520 * loader/i386/pc/chainloader.c: Likewise.
41521 * normal/cmdline.c: Likewise.
41522 * kern/powerpc/ieee1275/init.c: Likewise.
41523 (grub_machine_init): Call `grub_pc_partition_map_init',
41524 `grub_amiga_partition_map_init' and
41525 `grub_apple_partition_map_init'.
41526 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
41527 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
41528 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
41529 `partition.h' and `pc_partition.h'.
41530 (grub_setup_SOURCES): Remove
41531 `disk/i386/pc/partition.c'. Add `kern/partition.c',
41532 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41533 (grub_emu_SOURCES): Likewise.
41534 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
41535 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
41536 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
41537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41538 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
41539 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41540 (grubof_SOURCES): Likewise.
41541 * disk/i386/pc/partition.c: File removed.
41542 * disk/powerpc/ieee1275/partition.c: Likewise.
41543 * include/grub/powerpc/ieee1275/partition.h: Likewise.
41544 * include/grub/i386/pc/partition.h: Likewise.
41545 * kern/partition.c: New file.
41546 * partmap/amiga.c: Likewise.
41547 * partmap/apple.c: Likewise.
41548 * partmap/pc.c: Likewise.
41549 * include/grub/partition.h: Likewise..
41550 * include/grub/pc_partition.h: Likewise.
41551 * util/grub-emu.c: Include <grub/partition.h> instead of
41552 <grub/machine/partition.h>.
41553 (main): Call `grub_pc_partition_map_init',
41554 `grub_amiga_partition_map_init' and
41555 `grub_apple_partition_map_init' and deinitialize afterwards.
41556 * util/i386/pc/biosdisk.c: Include `#include
41557 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41558 `<grub/machine/partition.h>'.
41559 * util/i386/pc/grub-setup.c: Likewise.
41560 * util/i386/pc/biosdisk.c: Likewise.
41561 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
41562 partition information in case of a PC partition.
41563 * util/i386/pc/grub-setup.c: Include `#include
41564 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41565 `<grub/machine/partition.h>'.
41566 (setup): Only access the PC specific partition information in case
41567 of a PC partition.
41568
0ef4ced9 415692004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 41570
0ef4ced9 41571 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
41572 (grub_longjmp): Likewise.
41573 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
41574 20.
41575 * normal/powerpc/setjmp.S: New file.
41576 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41577 `normal/powerpc/setjmp.S'.
41578 (grubof_CFLAGS): Add `-DGRUBOF'.
41579 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
41580 [GRUB_UTIL && !GRUBOF].
f19dbdb7 41581
19950e29 415822004-11-16 Marco Gerards <metgerards@student.han.nl>
41583
41584 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
41585 property named `name'. Correctly handle the error returned by
41586 `grub_ieee1275_finddevice' if a device can not be opened.
41587
a2fea427 415882004-11-02 Hollis Blanchard <hollis@penguinppc.org>
41589
41590 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
41591 `actual' for negativity.
41592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41593 kern/fshelp.c.
41594
41ea0ea3 415952004-11-01 Marco Gerards <metgerards@student.han.nl>
41596
41597 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
41598 (PAGE_OFFSET): New macro.
41599 (CRTC_ADDR_PORT): Likewise.
41600 (CRTC_DATA_PORT): Likewise.
41601 (START_ADDR_HIGH_REGISTER): Likewise.
41602 (START_ADDR_LOW_REGISTER): Likewise.
41603 (GRAPHICS_ADDR_PORT): Likewise.
41604 (GRAPHICS_DATA_PORT): Likewise.
41605 (READ_MAP_REGISTER): Likewise.
41606 (INPUT_STATUS1_REGISTER): Likewise.
41607 (INPUT_STATUS1_VERTR_BIT): Likewise.
41608 (page): New variable.
41609 (wait_vretrace): New function.
41610 (set_read_map): Likewise.
41611 (set_start_address): Likewise.
41612 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
41613 the right page.
41614 (check_vga_mem): Take the page into account.
41615 (write_char): Likewise.
41616 (write_cursor): Likewise.
41617 (scroll_up): Likewise. Copy the page to the page that is not
41618 shown and switch between both pages.
41619 (grub_vga_putchar): Fix off by one error.
41620 (grub_vga_cls): Wait for the vertical retrace. Take the page into
41621 account.
41622
ad0bd20b 416232004-11-01 Marco Gerards <metgerards@student.han.nl>
41624
41625 Add support for iso9660 (including rockridge).
f19dbdb7 41626
ad0bd20b 41627 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41628 (iso9660_mod_SOURCES): New variable.
41629 (iso9660_mod_CFLAGS): Likewise.
41630 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41631 * include/grub/fs.h (grub_iso9660_init): New prototype.
41632 * util/grub-emu.c (main): Call `grub_iso9660_init'.
41633 * fs/iso9660.c: New file.
41634
41635 * include/grub/misc.h (grub_strncat): New prototype.
41636 * kern/misc.c (grub_strncat): New function.
f19dbdb7 41637
ad0bd20b 41638 * fs/hfs.c (grub_hfs_mount): Translate the error
41639 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
41640 * fs/jfs.c (grub_jfs_mount): Likewise.
41641 * fs/ufs.c (grub_ufs_mount): Likewise.
41642
a5477a59 416432004-10-28 Hollis Blanchard <hollis@penguinppc.org>
41644
41645 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
41646 which initialized BAT registers.
41647 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
41648 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41649 Move from here...
41650 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
41651 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41652 ... to here.
41653 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
41654 (grub_mapclaim): Likewise.
41655 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
41656 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
41657 hand.
41658
9304c1f8 416592004-10-19 Hollis Blanchard <hollis@penguinppc.org>
41660
41661 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
41662 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
41663 -ffreestanding and -msoft-float.
41664
86f4ae25 416652004-10-15 Hollis Blanchard <hollis@penguinppc.org>
41666
41667 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
41668 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
41669 set in grub_ieee1275_flags.
41670
38912228 416712004-10-14 Hollis Blanchard <hollis@penguinppc.org>
41672
41673 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
41674 prototype.
41675 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
41676 grub_console_init first.
41677 Change the memory range used for grub_ieee1275_claim and
41678 grub_mm_init_region.
41679 Print an error message if the claim fails.
41680 Include <grub/misc.h>.
41681
d1923dc8 416822004-10-13 Hollis Blanchard <hollis@penguinppc.org>
41683
41684 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
41685 Call grub_children_iterate for device nodes of type `scsi',
41686 `ide', or `ata'.
41687 (grub_ofdisk_open): Remove manual device alias resolution.
41688 Fix memory leak when device cannot be opened.
f19dbdb7 41689 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 41690 (grub_children_iterate): New prototype.
41691 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
41692 New function.
41693 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41694 Return -1 if args.size was -1.
41695
4512e4f3 416962004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41697
41698 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
41699 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
41700 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
41701 Open Firmware's memory for it; claim memory from _start to _end.
41702 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
41703 (_end): New extern.
41704 (_start): Zero BSS from __bss_start to _end.
41705 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41706 New extern.
41707 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
41708
4d61feb0 417092004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41710
ad0bd20b 41711 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
41712 -1 if args.base was -1.
4d61feb0 41713
026fa2f9 417142004-10-08 Hollis Blanchard <hollis@penguinppc.org>
41715
41716 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
41717 escape sequence instead of a literal ^L. Also call
41718 grub_ofconsole_gotoxy.
41719
9f2220ef 417202004-10-03 Hollis Blanchard <hollis@penguinppc.org>
41721
41722 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
41723 void * arguments to grub_addr_t. All callers updated. Also make
41724 the `result' argument optional.
41725 (grub_ieee1275_release): change void * arguments to grub_addr_t.
41726 All callers updated.
41727
8a572cd7 417282004-09-22 Hollis Blanchard <hollis@penguinppc.org>
41729
41730 * commands/ls.c (grub_ls_list_files): Use the string following the
41731 initial ')', if present, as the filesystem path.
41732 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
41733
41734 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
41735
18aa81f2 417362004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
41737
41738 Make the source code of the menu interface more readable.
f19dbdb7 41739
18aa81f2 41740 * normal/menu.c: Include grub/mm.h.
41741 (TERM_WIDTH): New macro.
41742 (TERM_HEIGHT): Likewise.
41743 (TERM_INFO_HEIGHT): Likewise.
41744 (TERM_MARGIN): Likewise.
41745 (TERM_SCROLL_WIDTH): Likewise.
41746 (TERM_TOP_BORDER_Y): Likewise.
41747 (TERM_LEFT_BORDER_X): Likewise.
41748 (TERM_BORDER_WIDTH): Likewise.
41749 (TERM_MESSAGE_HEIGHT): Likewise.
41750 (TERM_BORDER_HEIGHT): Likewise.
41751 (TERM_NUM_ENTRIES): Likewise.
41752 (TERM_FIRST_ENTRY_Y): Likewise.
41753 (TERM_ENTRY_WIDTH): Likewise.
41754 (TERM_CURSOR_X): Likewise.
41755 (draw_border): Use macros instead of magic numbers.
41756 (print_entry): Likewise.
41757 (print_entries): Likewise.
41758 (run_menu): Likewise. Also, handle the key 'e'.
41759 (run_menu_entry): Ignore empty command lines.
41760 (print_message): Added a new argument EDIT. If EDIT is true,
41761 print a different message.
41762 (init_page): Likewise.
41763 (edit_menu_entry): New function. Not implemented yet.
41764
b47efe30 417652004-09-17 Marco Gerards <metgerards@student.han.nl>
41766
41767 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
41768 can be loaded from normal mode.
f19dbdb7 41769
b47efe30 41770 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
41771 `multiboot.mod'.
41772 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
41773 (multiboot_mod_CFLAGS): New variables.
41774 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 41775 * loader/i386/pc/multiboot_normal.c: Likewise.
41776
b47efe30 41777 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
41778 attribute `unused'.
f19dbdb7 41779
b47efe30 41780 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
41781 `fdiro' to read the mode information from instead of `diro'.
41782
41783 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
41784 looking up a symlink.
41785
41786 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
41787 macro.
41788 * normal/command.c (grub_command_execute): Don't parse the
41789 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
41790 flags of the command.
41791
41792 * normal/menu.c (grub_menu_run): Fix typo.
41793
da75ac71 417942004-09-14 Hollis Blanchard <hollis@penguinppc.org>
41795
41796 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
41797
41798 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
41799 `y + 1' instead of `y - 1'.
41800
41801 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 41802
062b24c2 418032004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
41804
41805 From Hollis Blanchard <hollis@penguinppc.org>:
41806 * kern/misc.c (memmove): New alias for grub_memmove.
41807 (memcmp): New alias for grub_memcmp.
41808 (memset): New alias for grub_memset.
f19dbdb7 41809 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 41810 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 41811 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 41812 (grub_ieee1275_get_property): Likewise.
f19dbdb7 41813
8ddad845 418142004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
41815
41816 Added normal mode command `chainloader' as module chain.mod, which
41817 depends on normal.mod and _chain.mod.
f19dbdb7 41818
8ddad845 41819 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
41820 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
41821 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
41822 Deleted prototype.
41823 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
41824 but arguments parsing moved to ...
41825 (grub_chainloader_cmd): ... here. New function.
41826 * include/grub/i386/pc/chainloader.h: New file.
41827 * loader/i386/pc/chainloader_normal.c: Likewise.
41828
2c1f4ce3 418292004-09-11 Marco Gerards <metgerards@student.han.nl>
41830
41831 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
41832 (grub_mkimage_LDFLAGS): Likewise.
41833 (grub_emu_SOURCES): Likewise.
41834 (kernel_img_HEADERS): Added fshelp.h.
41835 * fs/ext2.c: Include <grub/fshelp.h>.
41836 (FILETYPE_REG): New macro.
41837 (FILETYPE_INO_REG): Likewise.
41838 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
41839 Changed all users.
41840 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
41841 all users.
41842 (grub_fshelp_node): New struct.
41843 (grub_ext2_data): Added member `diropen'. Changed member `inode'
41844 to a pointer.
41845 (grub_ext2_get_file_block): Removed function.
41846 (grub_ext2_read_block): New function.
41847 (grub_ext2_read_file): Replaced parameter `data' by `node'.
41848 This function was written.
41849 (grub_ext2_mount): Read the root inode. Create a diropen struct.
41850 (grub_ext2_find_file): Removed function.
41851 (grub_ext2_read_symlink): New function.
41852 (grub_ext2_iterate_dir): Likewise.
41853 (grub_ext2_open): Rewritten.
41854 (grub_ext2_dir): Rewritten.
41855 * include/grub/fshelp.h: New file.
41856 * fs/fshelp.c: Likewise.
41857
3c52136a 418582004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
41859
41860 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
41861 (print_message): Add a missing newline.
41862 (run_menu): Added timeout support.
41863 (run_menu_entry): New local function.
41864 (grub_menu_run): Added support for booting.
41865
41866 * kern/loader.c (grub_loader_is_loaded): New function.
41867
41868 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
41869 (grub_get_rtc): Exported.
41870
41871 * include/grub/i386/pc/time.h: Include grub/symbol.h.
41872 (grub_get_rtc): Exported.
41873
41874 * include/grub/normal.h (struct grub_command_list): Remove
41875 constant from the member `command'.
41876
41877 * include/grub/loader.h (grub_loader_is_loaded): Declared.
41878
41879 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
41880
41881 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
41882
aa033560 418832004-08-28 Marco Gerards <metgerards@student.han.nl>
41884
41885 Add support for the JFS filesystem.
41886
41887 * fs/jfs.c: New file.
41888 * include/grub/fs.h (grub_jfs_init): New prototype.
41889 (grub_jfs_fini): New prototype.
41890 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
41891 (grub_emu_SOURCES): Likewise.
41892 (pkgdata_MODULES): Add jfs.mod.
41893 (jfs_mod_SOURCES): New variable.
41894 (jfs_mod_CFLAGS): Likewise.
41895 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
41896 (grubof_SOURCES): Likewise.
41897 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
41898
41899 * fs/fat.c (grub_fat_find_dir): Convert the filename little
41900 endian to the host endian.
41901 (grub_fat_utf16_to_utf8): Move function from there...
41902 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 41903 the endianness of the source string anymore.
aa033560 41904 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
41905
94bc45af 419062004-08-24 Marco Gerards <metgerards@student.han.nl>
41907
41908 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
41909 (grub_boot_fini) [GRUB_UTIL]: Likewise.
41910 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
41911 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 41912
94bc45af 41913 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
41914 (grub_hfs_iterate_dir): Make the function static. Add prototypes
41915 for `node_found' and `it_dir'.
41916 (grub_hfs_dir): Add prototype for `dir_hook'.
41917
41918 * fs/minix.c (grub_minix_get_file_block): Add prototype for
41919 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
41920 and `indir32' to silence a gcc warning.
41921
41922 * include/grub/fs.h (grub_hfs_init): New prototype.
41923 (grub_hfs_fini): Likewise.
f19dbdb7 41924
41925
97543f08 419262004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41927
41928 Each disk device has its own id now. This is useful to make use
41929 of multiple disk devices.
f19dbdb7 41930
97543f08 41931 * include/grub/disk.h (grub_disk_dev_id): New enum.
41932 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
41933 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
41934
41935 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
41936 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41937
41938 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
41939 GRUB_DISK_DEVICE_OFDISK_ID as an id.
41940
41941 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
41942 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41943
41944 * include/grub/disk.h (struct grub_disk_dev): Added a new member
41945 "id" which is used by the cache manager.
41946
41947 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
41948 of just "GRUB".
41949
64372eb4 419502004-08-18 Marco Gerards <metgerards@student.han.nl>
41951
41952 * fs/hfs.c: New file.
41953 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
41954 (grub_emu_SOURCES): Likewise.
41955 (pkgdata_MODULES): Add hfs.mod.
41956 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
41957 (grubof_SOURCES): Likewise.
41958 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
41959
41960 * include/grub/misc.h (grub_strncasecmp): Add prototype.
41961 * kern/misc.c (grub_strncasecmp): Add function.
41962
cc61b58f 419632004-08-14 Marco Gerards <metgerards@student.han.nl>
41964
41965 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
41966 with parentheses.
41967
41968 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
41969 (grub_ext2_dir): In case the directory entry type is unknown, read
41970 it from the inode.
41971
0ef123f6 419722004-08-02 Peter Bruin <pjbruin@dds.nl>
41973
41974 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
41975 grub_load_linux instead of grub_rescue_cmd_linux as second
41976 argument of grub_rescue_register_command.
41977
41978 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
41979
a447c5df 419802004-07-27 Marco Gerards <metgerards@student.han.nl>
41981
41982 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
41983 function.
41984 * commands/boot.c: Remove the check for `GRUB_UTIL'.
41985 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41986 `loader/powerpc/ieee1275/linux.c',
41987 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
41988 * include/grub/powerpc/ieee1275/ieee1275.h
41989 (grub_ieee1275_release): New prototype.
41990 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
41991 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
41992 normal, boot, linux and linux_normal.
41993 * loader/powerpc/ieee1275/linux.c: New file.
41994 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
41995
5a9e3546 419962004-07-12 Marco Gerards <metgerards@student.han.nl>
41997
41998 * normal/arg.c (grub_arg_parse): Correct error handling after
41999 reallocating the argumentlist (check if `argl' is not null instead
42000 of checking if `args' is not null).
42001 * kern/mm.c (grub_realloc): Return the same pointer when using the
42002 same region, instead of returning the header address.
42003
e15199cb 420042004-07-11 Marco Gerards <metgerards@student.han.nl>
42005
42006 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
42007 one block instead of two when looking for the initial partition.
42008 (grub_partition_probe): Initialize the local variable `p' with 0.
42009 Use base 10 for the grub_strtoul call.
42010 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
42011 need for one local variable.
42012 (grub_strtoul): Don't add the new value to `num', instead of that
42013 just assign it.
42014
020616c2 420152004-07-11 Marco Gerards <metgerards@student.han.nl>
42016
42017 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
42018 (pxeboot_img_SOURCES): New variable.
42019 (pxeboot_img_ASFLAGS): Likewise.
42020 (pxeboot_img_LDFLAGS): Likewise.
42021 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
42022 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
42023 <lode_leroy@hotmail.com>.
42024
6c51eb64 420252004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42026
42027 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
42028 there was no input.
42029
cfb12aff 420302004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42031
42032 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
42033 the history buffer logic.
42034
6eabba74 420352004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42036
42037 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
42038 (FILETYPE_INO_SYMLINK): New macros.
42039 (grub_ext2_find_file): Check if the node is a directory using the
42040 inode stat information instead of using the filetype in the
42041 dirent. Exclude the first character of an absolute symlink.
42042 (grub_ext2_dir): Mask out the filetype part of the mode member of
42043 the inode.
42044
66e19ef8 420452004-05-24 Marco Gerards <metgerards@student.han.nl>
42046
42047 Add support for UFS version 1 and 2. Add support for the minix
42048 filesystem version 1 and 2, both the variants with 14 and 30 long
42049 filenames.
f19dbdb7 42050
66e19ef8 42051 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
42052 fs/minix.c.
42053 (grub_emu_SOURCES): Likewise.
42054 (pkgdata_MODULES): Add ufs.mod and minix.mod.
42055 (ufs_mod_SOURCES): New variable.
42056 (ufs_mod_CFLAGS): Likewise.
42057 (minix_mod_SOURCES): Likewise.
42058 (minix_mod_CFLAGS): Likewise.
42059 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
42060 fs/minix.c.
42061 (grubof_SOURCES): Likewise.
42062 * fs/ufs.c: New file.
42063 * fs/minix.c: New file.
42064 * include/grub/fs.h (grub_ufs_init): New prototype.
42065 (grub_ufs_fini): Likewise.
42066 (grub_minix_init): Likewise.
42067 (grub_minix_fini): Likewise.
42068 * util/grub-emu.c (main): Initialize and deinitialize UFS and
42069 minix fs.
42070
cc2e748a 420712004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
42072
42073 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
42074 commands/ls.c, commands/terminal.c, commands/boot.c,
42075 commands/cmp.c and commands/cat.c.
42076 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
42077
42078 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
42079 "env.h"
42080
4b13b216 420812004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
42082
42083 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
42084 and grub_, respectively. Because the conversion is trivial and
42085 mechanical, I omit the details here. Please refer to the CVS
42086 if you need more information.
42087
6a142551 420882004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
42089
42090 * include/pupa: Renamed to ...
42091 * include/grub: ... this.
42092 * util/i386/pc/pupa-mkimage.c: Renamed to ...
42093 * util/i386/pc/grub-mkimage.c: ... this.
42094 * util/i386/pc/pupa-setup.c: Renamed to ...
42095 * util/i386/pc/grub-setup.c: ... this.
42096 * util/pupa-emu.c: Renamed to ...
42097 * util/grub-emu.c: ... this.
42098
e56cdf21 420992004-03-29 Marco Gerards <metgerards@student.han.nl>
42100
42101 Add support for the newworld apple macintosh (PPC). This has been
42102 tested on the powerbook 2000 only. It only adds support for
42103 generic ieee1275 functions, console and disk support. This should
42104 be easy to port to other architectures with support for Open
42105 Firmware.
f19dbdb7 42106
e56cdf21 42107 * configure.ac: Accept the powerpc as host_cpu. In the case of
42108 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
42109 specific tests are only executed while building for the i386.
42110 Inverse test for crosscompile.
42111 * genmk.rb (Utility): Allow assembler files.
42112 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
42113 * conf/powerpc-ieee1275.rmk: New file.
42114 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
42115 * disk/powerpc/ieee1275/partition.c: Likewise.
42116 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
42117 * include/pupa/powerpc/ieee1275/console.h: Likewise.
42118 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
42119 * include/pupa/powerpc/ieee1275/time.h: Likewise.
42120 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
42121 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
42122 * include/pupa/powerpc/ieee1275/loader.h
42123 * include/pupa/powerpc/setjmp.h: Likewise.
42124 * include/pupa/powerpc/types.h: Likewise.
42125 * kern/powerpc/ieee1275/init.c: Likewise.
42126 * kern/powerpc/ieee1275/openfw.c: Likewise.
42127 * term/powerpc/ieee1275/ofconsole.c: Likewise.
42128
42129 These files were written by Johan Rydberg
42130 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 42131
e56cdf21 42132 * boot/powerpc/ieee1275/cmain.c: New file.
42133 * boot/powerpc/ieee1275/crt0.S: Likewise.
42134 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
42135 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
42136
8c8cc205 421372004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
42138
42139 * Makefile.in: Update copyright.
42140 * genmodsrc.sh: Likewise.
42141 * gensymlist.sh: Likewise.
42142 * term/i386/pc/vga.c: Indent correctly.
42143
42144 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
42145 bugreporting address.
42146 * util/i386/pc/pupa-setup.c (usage): Likewise,
42147 (main): Call pupa_ext2_init and pupa_ext2_fini.
42148
f19dbdb7 42149 * fs/fat.c (log2): Renamed to ...
8c8cc205 42150 (fat_log2): ... this.
42151 All callers changed.
42152 * kern/misc.c (memcpy): Alias to pupa_memmove.
42153 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
42154 lvalue cast.
42155 * util/console.c (pupa_ncurses_fini): Return 0.
42156
42157 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
42158 Move fail label here.
42159 [__GNU__]: Don't warn when using stat.
42160 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
42161 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
42162 long int. Use strtol instead of strtoul.
f19dbdb7 42163
db1771cf 421642004-03-14 Marco Gerards <metgerards@student.han.nl>
42165
42166 * commands/boot.c: New file.
42167 * commands/cat.c: Likewise.
42168 * commands/cmp.c: Likewise.
42169 * commands/ls.c: Likewise.
42170 * commands/terminal.c: Likewise.
42171 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
42172 (pupa_register_command): Changed interface to match the new
42173 argument parser.
42174 (pupa_command_execute): Changed (almost rewritten) so it uses
42175 pupa_split_command. Added support for setting variables using the
42176 syntax `foo=bar'.
42177 (rescue_command): Changed to work with the new argument parser.
42178 (terminal_command): Moved from here to commands/terminal.c.
42179 (set_command): New function.
42180 (unset_command): New function.
42181 (insmod_command): New function.
42182 (rmmod_command): New function.
42183 (lsmod_command): New function.
42184 (pupa_command_init): Don't initialize the command terminal
42185 anymore. Initialize the commands set, unset, insmod, rmmod and
42186 lsmod.
42187 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
42188 (kernel_img_HEADERS): Add arg.h and env.h.
42189 (pupa_mkimage_LDFLAGS): Add kern/env.c.
42190 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
42191 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
42192 normal/arg.c.
42193 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
42194 terminal.mod.
42195 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
42196 (boot_mod_SOURCES): New variable.
42197 (terminal_mod_SOURCES): Likewise.
42198 (ls_mod_SOURCES): Likewise.
42199 (cmp_mod_SOURCES): Likewise.
42200 (cat_mod_SOURCES): Likewise.
42201
42202 * normal/arg.c: New file.
42203 * kern/env.c: Likewise.
42204 * include/pupa/arg.h: Likewise.
42205 * include/pupa/env.h: Likewise.
42206 * font/manager.c (font_command): Changed to match argument parsing
42207 interface changes.
42208 (PUPA_MOD_INIT): Likewise.
42209 * hello/hello.c (pupa_cmd_hello): Likewise.
42210 (PUPA_MOD_INIT): Likewise.
42211 * include/pupa/disk.h: Include <pupa/device.h>.
42212 (pupa_print_partinfo): New prototype.
42213 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
42214 (pupa_dl_get_prefix): Likewise.
42215 * include/pupa/misc.h: Include <pupa/err.h>.
42216 (pupa_isgraph): New prototype.
42217 (pupa_isdigit): Likewise.
42218 (pupa_split_cmdline): Likewise.
42219 * include/pupa/normal.h: Include <pupa/arg.h>.
42220 (pupa_command): Changed the prototype of the member `func' to
42221 match the argument parsing interface. Added member `options'.
42222 (pupa_register_command): Updated to match function.
42223 (pupa_arg_parse): New prototype.
42224 (pupa_hello_init) [PUPA_UTIL]: New prototype.
42225 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
42226 (pupa_ls_init) [PUPA_UTIL]: Likewise.
42227 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
42228 (pupa_cat_init) [PUPA_UTIL]: Likewise.
42229 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
42230 (pupa_boot_init) [PUPA_UTIL]: Likewise.
42231 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
42232 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
42233 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
42234 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
42235 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
42236 * kern/disk.c: Include <pupa/file.h>.
42237 (pupa_print_partinfo): New function.
42238 * kern/dl.c: Include <pupa/env.h>.
42239 (pupa_dl_dir): Variable removed.
42240 (pupa_dl_load): Use the environment variable `prefix' instead of
42241 the variable pupa_dl_dir.
42242 (pupa_dl_set_prefix): Function removed.
42243 (pupa_dl_get_prefix): Likewise.
42244 * kern/i386/pc/init.c: Include <pupa/env.h>.
42245 (pupa_machine_init): Use the environment variable `prefix' instead of
42246 using pupa_dl_set_prefix to set the prefix.
42247 * kern/main.c: Include <pupa/env.h>.
42248 (pupa_set_root_dev): Use the environment variable `prefix' instead of
42249 using pupa_dl_get_prefix to get the prefix.
42250 * kern/misc.c: Include <pupa/env.h>.
42251 (pupa_isdigit): New function.
42252 (pupa_isgraph): Likewise.
42253 (pupa_ftoa): Likewise.
42254 (pupa_vsprintf): Added support for printing values of the type
42255 `double'. Make it possible to format variable output when using
42256 formatting like `%1.2%f'.
42257 (pupa_split_cmdline): New function.
42258 * kern/rescue.c: Include <pupa/env.h>.
42259 (next_word): Removed function.
42260 (pupa_rescue_cmd_prefix): Likewise.
42261 (pupa_rescue_cmd_set): New function.
42262 (pupa_rescue_cmd_unset): New function.
42263 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
42264 split the command line instead of splitting it here. Added
42265 support for setting variables using the syntax `foo=bar'. Don't
42266 initialize the prefix command anymore. Initialized the set and
42267 unset commands.
42268 * normal/cmdline.c: Include <pupa/env.h>.
42269 (pupa_tab_complete): Added prototypes for print_simple_completion,
42270 print_partition_completion, add_completion, iterate_commands,
42271 iterate_dev, iterate_part and iterate_dir. Moved code to print
42272 partition information from here to kern/disk.c.
fe6b695a 42273 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 42274 * normal/main.c: Include <pupa/env.h>.
42275 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
42276 instead of using pupa_dl_get_prefix to get the prefix.
42277 * term/i386/pc/vga.c: Include <pupa/arg.h>.
42278 (check_vga_mem): Cast pointers to `void *' to silence a gcc
42279 warning.
42280 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
42281 (pupa_vga_setcolor): Declare unused variables with `__attribute__
42282 ((unused))' to silence a gcc warning.
42283 (pupa_vga_setcolor): Likewise.
42284 (debug_command): Changed to match argument parsing
42285 interface changes.
42286 * util/pupa-emu.c: Include <pupa/env.h>.
42287 (options): Added 0's for unused fields to silence a gcc warning.
42288 (argp): Likewise.
42289 (main): Use the environment variable `prefix' instead of using
42290 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
42291 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
42292 and terminal.
42293
42294 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
42295 * util/misc.c: Include <malloc.h>.
42296 (pupa_malloc): Rewritten so errors are correctly reported.
42297 (pupa_realloc): Likewise.
42298 (pupa_memalign): Likewise.
42299 (pupa_mm_init_region): Declare unused variables with
42300 `__attribute__ ((unused))' to silence a gcc warning.
42301 * normal/i386/setjmp.S: Remove tab at the end of the file to
42302 silence a gcc warning.
42303 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
42304 variables with `__attribute__ ((unused))' to silence a gcc
42305 warning.
42306 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
42307 local variable i unsigned to silence a gcc warning.
42308
42309 * kern/term.c: Include <pupa/misc.h>.
42310 (pupa_more_lines): New variable.
42311 (pupa_more): Likewise.
42312 (pupa_putcode): When the pager is active pause at the end of every
42313 screen.
42314 (pupa_set_more): New function.
42315 * include/pupa/term.h (pupa_set_more): New prototype.
42316
42317
3b1139cb 423182004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
42319
42320 Now this project is GRUB 2 rather than PUPA. The location of
42321 the CVS repository was moved to GRUB's.
f19dbdb7 42322
3b1139cb 42323 * configure.ac: Use bug-grub as the reporting address.
42324 Use GRUB instead of PUPA.
42325 Change the version number to 1.90.
42326
8367695c 423272004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
42328
42329 * genkernsyms.sh: Updated copyright information.
42330 * genmk.rb: Likewise.
42331 * genmodsrc.sh: Likewise.
42332 * gensymlist.sh: Likewise.
42333 * boot/i386/pc/boot.S: Likewise.
42334 * boot/i386/pc/diskboot.S: Likewise.
42335 * disk/i386/pc/biosdisk.c: Likewise.
42336 * disk/i386/pc/partition.c: Likewise.
42337 * font/manager.c: Likewise.
42338 * fs/ext2.c: Likewise.
42339 * fs/fat.c: Likewise.
42340 * include/pupa/boot.h: Likewise.
42341 * include/pupa/device.h: Likewise.
42342 * include/pupa/disk.h: Likewise.
42343 * include/pupa/dl.h: Likewise.
42344 * include/pupa/elf.h: Likewise.
42345 * include/pupa/err.h: Likewise.
42346 * include/pupa/file.h: Likewise.
42347 * include/pupa/font.h: Likewise.
42348 * include/pupa/fs.h: Likewise.
42349 * include/pupa/kernel.h: Likewise.
42350 * include/pupa/loader.h: Likewise.
42351 * include/pupa/misc.h: Likewise.
42352 * include/pupa/mm.h: Likewise.
42353 * include/pupa/net.h: Likewise.
42354 * include/pupa/normal.h: Likewise.
42355 * include/pupa/rescue.h: Likewise.
42356 * include/pupa/setjmp.h: Likewise.
42357 * include/pupa/symbol.h: Likewise.
42358 * include/pupa/term.h: Likewise.
42359 * include/pupa/types.h: Likewise.
42360 * include/pupa/i386/setjmp.h: Likewise.
42361 * include/pupa/i386/types.h: Likewise.
42362 * include/pupa/i386/pc/biosdisk.h: Likewise.
42363 * include/pupa/i386/pc/boot.h: Likewise.
42364 * include/pupa/i386/pc/console.h: Likewise.
42365 * include/pupa/i386/pc/init.h: Likewise.
42366 * include/pupa/i386/pc/kernel.h: Likewise.
42367 * include/pupa/i386/pc/linux.h: Likewise.
42368 * include/pupa/i386/pc/loader.h: Likewise.
42369 * include/pupa/i386/pc/memory.h: Likewise.
42370 * include/pupa/i386/pc/multiboot.h: Likewise.
42371 * include/pupa/i386/pc/partition.h: Likewise.
42372 * include/pupa/i386/pc/time.h: Likewise.
42373 * include/pupa/i386/pc/vga.h: Likewise.
42374 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
42375 * include/pupa/util/getroot.h: Likewise.
42376 * include/pupa/util/misc.h: Likewise.
42377 * include/pupa/util/resolve.h: Likewise.
42378 * kern/device.c: Likewise.
42379 * kern/disk.c: Likewise.
42380 * kern/dl.c: Likewise.
42381 * kern/err.c: Likewise.
42382 * kern/file.c: Likewise.
42383 * kern/fs.c: Likewise.
42384 * kern/loader.c: Likewise.
42385 * kern/main.c: Likewise.
42386 * kern/misc.c: Likewise.
42387 * kern/mm.c: Likewise.
42388 * kern/rescue.c: Likewise.
42389 * kern/term.c: Likewise.
42390 * kern/i386/dl.c: Likewise.
42391 * kern/i386/pc/init.c: Likewise.
42392 * kern/i386/pc/lzo1x.S: Likewise.
42393 * kern/i386/pc/startup.S: Likewise.
42394 * loader/i386/pc/chainloader.c: Likewise.
42395 * loader/i386/pc/linux.c: Likewise.
42396 * loader/i386/pc/multiboot.c: Likewise.
42397 * normal/cmdline.c: Likewise.
42398 * normal/command.c: Likewise.
42399 * normal/main.c: Likewise.
42400 * normal/menu.c: Likewise.
42401 * normal/i386/setjmp.S: Likewise.
42402 * term/i386/pc/console.c: Likewise.
42403 * term/i386/pc/vga.c: Likewise.
42404 * util/console.c: Likewise.
42405 * util/genmoddep.c: Likewise.
42406 * util/misc.c: Likewise.
42407 * util/pupa-emu.c: Likewise.
42408 * util/resolve.c: Likewise.
42409 * util/unifont2pff.rb: Likewise.
42410 * util/i386/pc/biosdisk.c: Likewise.
42411 * util/i386/pc/getroot.c: Likewise.
42412 * util/i386/pc/pupa-mkimage.c: Likewise.
42413 * util/i386/pc/pupa-setup.c: Likewise.
42414
e6eced71 424152004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
42416
42417 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
42418 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
42419 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
42420 reading and reset it after reading.
42421 (pupa_ext2_close): Return PUPA_ERR_NONE.
42422
42423 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
42424 Correct value.
42425 (struct linux_kernel_header): Add kernel_version and
42426 initrd_addr_max.
42427 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
42428 pupa_file_read succeeds.
42429 (pupa_rescue_cmd_initrd): Implement.
42430
5aded270 424312003-12-03 Marco Gerards <metgerards@student.han.nl>
42432
42433 * fs/ext2.c (pupa_ext2_label): New function.
42434 (pupa_ext2_fs): Added label.
42435 * fs/fat.c (pupa_fat_label): New function.
42436 (pupa_fat_fs): Added label.
42437 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
42438
42439 * kern/misc.c (pupa_strndup): New function.
42440 * include/pupa/misc.h (pupa_strndup): New prototype.
42441
42442 * include/pupa/normal.h: Include <pupa/err.h>.
42443 (pupa_set_history): New prototype.
42444 (pupa_iterate_commands): New prototype.
42445 * normal/cmdline.c: Include <pupa/machine/partition.h>,
42446 <pupa/disk.h>, <pupa/file.h>.
42447 (hist_size): New variable.
42448 (hist_lines): Likewise.
42449 (hist_end): Likewise.
42450 (hist_used): Likewise.
42451 (pupa_set_history): New function.
42452 (pupa_history_get): Likewise.
42453 (pupa_history_add): Likewise.
42454 (pupa_history_replace): Likewise.
42455 (pupa_tab_complete): Likewise.
42456 (pupa_cmdline_run): Added tab completion and history buffer. Tab
42457 completion shows partitionnames while completing partitions, this
42458 feature was suggested by Jeff Bailey.
42459 * normal/command.c (pupa_iterate_commands): New function.
42460 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
42461 (pupa_normal_init): Initialize history buffer.
42462 (PUPA_MOD_INIT): Likewise.
42463 (pupa_normal_fini): Free the history buffer.
42464 (PUPA_MOD_FINI): Likewise.
42465
42466 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
42467 key.
42468
42469 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
42470 * configure.ac [i386]: Check for regparam bug.
42471 (NESTED_FUNC_ATTR) [! i386]: Defined.
42472
1f7315a3 424732003-11-17 Marco Gerards <metgerards@student.han.nl>
42474
42475 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
42476 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
42477 (pupa_emu_SOURCES): New variable.
42478 (pupa_emu_LDFLAGS): Likewise.
42479 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
42480 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
42481 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
42482 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
42483 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
42484 (pupa_jmp_buf): New typedef.
42485 (pupa_setjmp) [PUPA_UTIL]: New macro.
42486 (pupa_longjmp) [PUPA_UTIL]: Likewise.
42487 * include/pupa/term.h (struct pupa_term): New member `refresh'.
42488 (pupa_refresh): New prototype.
42489 * include/pupa/util/getroot.h: New file.
42490 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
42491 it.
42492 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
42493 (pupa_rescue_cmd_cat): Likewise.
42494 (pupa_rescue_cmd_ls): Likewise.
42495 (pupa_rescue_cmd_testload): Likewise.
42496 (pupa_rescue_cmd_lsmod): Likewise.
42497 * normal/cmdline.c (pupa_cmdline_get): Likewise.
42498 * normal/menu.c (run_menu): Likewise.
42499 * kern/term.c (pupa_cls): Likewise.
42500 (pupa_refresh): New function.
42501 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
42502 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
42503 * util/console.c: New file.
f19dbdb7 42504
1f7315a3 42505 * util/i386/pc/getroot.c: New file.
42506 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
42507 (pupa_putchar): New function.
42508 (pupa_refresh): Likewise.
42509 (xgetcwd): Function moved to ...
42510 (strip_extra_slashes): Likewise.
42511 (get_prefix): Likewise.
f19dbdb7 42512 * util/i386/pc/getroot.c: ... here.
1f7315a3 42513 (find_root_device): Function moved and renamed to...
42514 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
42515 Changed all callers.
42516 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
42517 and renamed to...
42518 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
42519 Changed all callers.
42520 * util/misc.c (pupa_memalign): New function.
42521 (pupa_mm_init_region): Likewise.
42522 (pupa_register_exported_symbols): Likewise.
42523 (pupa_putchar): Function removed.
42524 * util/pupa-emu.c: New file.
42525
9a5c1ade 425262003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
42527
42528 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
42529 (_multiboot_mod_SOURCES): New variable.
42530 (_multiboot_mod_CFLAGS): Likewise.
42531 * loader/i386/pc/multiboot.c: New file.
42532 * include/pupa/i386/pc/multiboot.h: Likewise.
42533 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
42534 (pupa_multiboot_real_boot): New function.
42535 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
42536 (pupa_multiboot_real_boot): New prototype.
42537 (pupa_rescue_cmd_multiboot): Likewise
42538 (pupa_rescue_cmd_module): Likewise.
42539
42540 * kern/loader.c (pupa_loader_set): Continue when
42541 pupa_loader_unload_func() fails.
42542 (pupa_loader_unset): New function.
42543 * include/pupa/loader.h (pupa_loader_unset): New prototype.
42544
42545 * kern/misc.c (pupa_stpcpy): New function.
42546 * include/pupa/misc.h (pupa_stpcpy): New prototype.
42547
8e72a9c0 425482003-11-12 Marco Gerards <metgerards@student.han.nl>
42549
42550 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
42551 for available extensions.
42552
42553 * include/pupa/i386/pc/time.h: New file.
42554 * kern/disk.c: Include <pupa/machine/time.h>.
42555 (PUPA_CACHE_TIMEOUT): New macro.
42556 (pupa_last_time): New variable.
42557 (pupa_disk_open): Flush the cache when there was a timeout.
42558 (pupa_disk_close): Reset the timer.
42559 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
42560 pupa_currticks.
42561 * util/misc.c: Include <sys/times.h>
42562 (pupa_get_rtc): New function.
42563
c4adbd32 425642003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
42565
42566 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
42567 as blocks.
42568 (pupa_ext2_get_file_block): Use blocks member.
42569
42570 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
42571 first block. Return -1 instead of pupa_errno on error.
42572
bfd30f06 425732003-10-27 Marco Gerards <metgerards@student.han.nl>
42574
42575 * README: In the pupa-mkimage example use _chain instead of chain
42576 and ext2 instead of fat.
42577 * TODO: Replace ext2fs with jfs as an example. Add an item for
42578 adding journal playback for ext2fs.
42579 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
42580 (pkgdata_MODULES): Added ext2.mod.
42581 (ext2_mod_SOURCES): New variable.
42582 (ext2_mod_CFLAGS): Likewise.
42583 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
42584 * include/pupa/misc.h (pupa_strncpy): New prototype.
42585 (pupa_strcat): Likewise.
42586 (pupa_strncmp): Likewise.
42587 * kern/misc.c (pupa_strcat): Enable function.
42588 (pupa_strncpy): New function.
42589 (pupa_strncmp): Likewise.
42590 * fs/ext2.c: New file.
f19dbdb7 42591
bfd30f06 42592 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
42593 when the read failed before retrying.
42594 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
42595 (_FILE_OFFSET_BITS): Likewise.
42596 * configure.ac: Added AC_SYS_LARGEFILE.
42597
98d15063 425982003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42599
42600 * genmk.rb (PModule#rule): Make sure to get only symbol names
42601 from the output of nm.
59cad637 42602 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 42603
18d9c7cd 426042003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42605
42606 I forgot to check in these changes for a long time. This adds
42607 incomplete support for VGA console, and this is still very
42608 buggy. Also, a lot of consideration is required for I18N,
42609 UNICODE, and VGA font issues. Therefore, assume that this is
42610 such that "better than nothing".
f19dbdb7 42611
18d9c7cd 42612 * font/manager.c: New file.
42613 * include/pupa/font.h: Likewise.
42614 * include/pupa/i386/pc/vga.h: Likewise.
42615 * term/i386/pc/vga.c: Likewise.
42616 * util/unifont2pff.rb: Likewise.
42617
42618 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
42619 (pkgdata_MODULES): Added vga.mod and font.mod.
42620 (vga_mod_SOURCES): New variables.
42621 (vga_mod_CFLAGS): Likewise.
42622 (font_mod_SOURCES): Likewise.
42623 (font_mod_CFLAGS): Likewise.
42624
42625 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
42626
42627 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 42628 (struct pupa_term): Added init and fini.
18d9c7cd 42629 Changed the argument of putchar to pupa_uint32_t.
42630
42631 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
42632 (pupa_console_real_putchar): New prototype.
42633 (pupa_console_putchar): Removed.
42634 (pupa_console_checkkey): Exported.
42635 (pupa_console_getkey): Likewise.
42636
42637 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
42638 characters.
42639
42640 * kern/term.c (pupa_term_set_current): Rewritten.
42641 (pupa_putchar): Likewise.
42642 (pupa_putcode): New function.
42643
42644 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
42645 (pupa_console_real_putchar): ... this.
42646 (pupa_vga_set_mode): New function.
42647 (pupa_vga_get_font): Likewise.
42648
42649 * normal/command.c: Include pupa/term.h.
42650 (terminal_command): New function.
42651 (pupa_command_init): Register the command "terminal".
42652
42653 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
42654 (DISP_UP): Likewise.
42655 (DISP_RIGHT): Likewise.
42656 (DISP_DOWN): Likewise.
42657 (DISP_HLINE): Likewise.
42658 (DISP_VLINE): Likewise.
42659 (DISP_UL): Likewise.
42660 (DISP_UR): Likewise.
42661 (DISP_LL): Likewise.
42662 (DISP_LR): Likewise.
42663
42664 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 42665
977329f5 426662003-02-08 NIIBE Yutaka <gniibe@m17n.org>
42667
42668 * util/resolve.c (pupa_util_resolve_dependencies): BUG
42669 FIX. Reverse the path_list.
42670
42671 * include/pupa/normal.h: Export pupa_register_command and
42672 pupa_unregister_command.
42673
42674 * hello/hello.c (pupa_cmd_hello): New module.
42675 * conf/i386-pc.rmk: Added hello.mod.
42676
1f5ab428 426772003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
42678
42679 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 42680
1f5ab428 42681 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
42682 (compress_kernel): New variable.
42683 (generate_image): Heavily modified to support compressing a
42684 large part of the core image.
42685
42686 * util/misc.c (pupa_util_read_image): Fix a file descriptor
42687 leak.
42688 (pupa_util_load_image): New function.
42689
42690 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
42691 (pupa_compressed_size): New variable.
42692 (codestart): Enable Gate A20 here.
42693 Decompress the compressed part of the core image.
42694 Rearrange the code to put functions and variables which are
42695 required for initialization in the non-compressed part.
42696 Include lzo1x.S.
42697
42698 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
42699 here.
42700
42701 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
42702
f19dbdb7 42703 * include/pupa/i386/pc/kernel.h
1f5ab428 42704 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
42705 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
42706 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42707 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42708 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
42709
42710 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
42711
42712 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
42713 (Utility#rule): Likewise.
42714
42715 * configure.ac: Check if LZO is available.
42716
ce5bf700 427172003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
42718
42719 * include/pupa/normal.h: New file.
42720 * include/pupa/setjmp.h: Likewise.
42721 * include/pupa/i386/setjmp.h: Likewise.
42722 * normal/cmdline.c: Likewise.
42723 * normal/command.c: Likewise.
42724 * normal/main.c: Likewise.
42725 * normal/menu.c: Likewise.
42726 * normal/i386/setjmp.S: Likewise.
f19dbdb7 42727
ce5bf700 42728 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
42729 (pupa_rescue_cmd_initrd): Likewise.
42730
42731 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
42732 Likewise.
42733
42734 * kern/i386/pc/startup.S (translation_table): New variable.
42735 (translate_keycode): New function.
42736 (pupa_console_getkey): Call translate_keycode.
42737
42738 * kern/rescue.c (attempt_normal_mode): New function.
42739 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
42740 it failed, print a message.
42741
42742 * kern/mm.c (pupa_real_malloc): Print more information when a
42743 free magic is broken.
42744 (pupa_free): If the first free header is not free actually, set
42745 it to P.
42746
42747 * kern/main.c (pupa_load_normal_mode): Just load the module
42748 "normal".
42749 (pupa_main): Don't print the message
42750 "Entering into rescue mode..." here.
42751
42752 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
42753 Declared.
42754 (pupa_rescue_cmd_initrd): Likewise.
42755 (pupa_rescue_cmd_initrd): Likewise.
42756
42757 * include/pupa/symbol.h (FUNCTION): Specify the type.
42758 (VARIABLE): Likewise.
42759
42760 * include/pupa/err.h (pupa_err_t): Added
42761 PUPA_ERR_UNKNOWN_COMMAND.
42762
42763 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
42764 (pupa_dl_get_prefix): Likewise.
42765
42766 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
42767 Added _chain.mod and _linux.mod instead of chain.mod and
42768 linux.mod.
42769 (chain_mod_SOURCES): Renamed to ...
42770 (_chain_mod_SOURCES): ... this.
42771 (chain_mod_CFLAGS): Renamed to ...
42772 (_chain_mod_CFLAGS): ... this.
42773 (linux_mod_SOURCES): Renamed to ...
42774 (_linux_mod_SOURCES): ... this.
42775 (linux_mod_CFLAGS): Renamed to ...
42776 (_linux_mod_CFLAGS): ... this.
42777 (normal_mod_SOURCES): New variable.
42778 (normal_mod_CFLAGS): Likewise.
42779 (normal_mod_ASFLAGS): Likewise.
42780
427812003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
42782
42783 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
42784 possible.
42785
fe6b695a 42786 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 42787 recursively.
42788 (pupa_dl_unref): Unrefer depending modules recursively.
42789 Don't call pupa_dl_unload implicitly, because PUPA can crash if
42790 a module is unloaded before one depending on that module is
42791 unloaded.
42792 (pupa_dl_unload): Unload depending modules explicitly,
42793 if possible.
42794
c04da074 427952003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
42796
42797 * include/pupa/i386/pc/linux.h: New file.
42798 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 42799
c04da074 42800 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
42801 Removed.
42802 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
42803 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
42804 of PUPA_CHAINLOADER_BOOT_SECTOR.
42805
42806 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
42807 (pupa_linux_prot_size): New variable.
42808 (pupa_linux_tmp_addr): Likewise.
42809 (pupa_linux_real_addr): Likewise.
42810 (pupa_linux_boot_zimage): New function.
42811 (pupa_linux_boot_bzimage): Likewise.
42812
42813 * kern/i386/pc/init.c (struct mem_region): New structure.
42814 (MAX_REGIONS): New macro.
42815 (mem_regions): New variable.
42816 (num_regions): Likewise.
42817 (pupa_os_area_addr): Likewise.
42818 (pupa_os_area_size): Likewise.
42819 (pupa_lower_mem): Likewise.
42820 (pupa_upper_mem): Likewise.
42821 (add_mem_region): New function.
42822 (compact_mem_regions): Likewise.
42823 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
42824 the size of the conventional memory and that of so-called upper
42825 memory (before the first memory hole).
42826 Instead of adding each found region to free memory, use
42827 add_mem_region and add them after removing overlaps.
42828 Also, add only 1/4 of the upper memory to free memory. The rest
42829 is used for loading OS images. Maybe this is ad hoc, but this
42830 makes it much easier to relocate OS images when booting.
42831
42832 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
42833 (pupa_enter_rescue_mode): Don't register initrd and module.
42834
42835 * kern/mm.c: Include pupa/dl.h.
42836
42837 * kern/main.c: Include pupa/file.h and pupa/device.h.
42838
42839 * kern/loader.c (pupa_loader_load_module_func): Removed.
42840 (pupa_loader_load_module): Likewise.
42841
42842 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
42843 ``.o''.
42844
42845 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
42846 (pupa_linux_tmp_addr): Likewise.
42847 (pupa_linux_real_addr): Likewise.
42848 (pupa_linux_boot_zimage): Likewise.
42849 (pupa_linux_boot_bzimage): Likewise.
42850
42851 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
42852 (pupa_upper_mem): Likewise.
42853 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
42854 module is too dangerous.
42855
42856 * include/pupa/loader.h (pupa_os_area_addr): Declared.
42857 (pupa_os_area_size): Likewise.
42858 (pupa_loader_set): Remove the first argument. Loader doesn't
42859 manage modules or initrd any longer.
42860 (pupa_loader_load_module): Removed.
42861
42862 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
42863 (linux_mod_SOURCES): New variable.
42864 (linux_mod_CFLAGS): Likewise.
42865
a13f9237 428662003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
42867
42868 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
42869 the length of a blocklist correctly.
42870
42871 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
42872 Use ioctl only if the OS file is a block device.
42873 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
42874 not very useful for normal files.
42875
42876 * kern/main.c (pupa_set_root_dev): New function.
42877 (pupa_load_normal_mode): Likewise.
42878 (pupa_main): Call those above.
42879
42880 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
42881 pupa_uint16_t.
42882
42883 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
42884
a5ffe966 428852003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42886
42887 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
42888 (setup): Configure the installed partition information and the
42889 dl prefix.
42890
42891 * loader/i386/pc/chainloader.c (my_mod): New variable.
42892 (pupa_chainloader_unload): New function.
42893 (pupa_rescue_cmd_chainloader): Refer itself.
42894 (PUPA_MOD_INIT): Save its own module in MY_MOD.
42895
42896 * kern/i386/pc/startup.S (install_partition): Removed.
42897 (version_string): Likewise.
42898 (config_file): Likewise.
42899 (pupa_install_dos_part): New variable.
42900 (pupa_install_bsd_part): Likewise.
42901 (pupa_prefix): Likewise.
42902 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
42903
42904 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
42905 and pupa/misc.h.
42906 (make_install_device): New function.
42907 (pupa_machine_init): Set the dl prefix.
42908
42909 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
42910 (buf): Renamed to ...
42911 (linebuf): ... this.
42912 (pupa_rescue_cmd_prefix): New function.
42913 (pupa_rescue_cmd_insmod): Likewise.
42914 (pupa_rescue_cmd_rmmod): Likewise.
42915 (pupa_rescue_cmd_lsmod): Likewise.
42916 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
42917 rmmod and lsmod.
42918
42919 * kern/mm.c (pupa_memalign): If failed even after invalidating
42920 disk caches, unload unneeded modules and retry.
42921
42922 * kern/misc.c (pupa_memmove): New function.
42923 (pupa_memcpy): Removed.
42924 (pupa_strcpy): New function.
42925 (pupa_itoa): Made static.
42926
42927 * kern/dl.c (pupa_dl_iterate): New function.
42928 (pupa_dl_ref): Likewise.
42929 (pupa_dl_unref): Likewise.
42930 (pupa_dl_unload): Return if succeeded or not.
42931 (pupa_dl_unload_unneeded): New function.
42932 (pupa_dl_unload_all): Likewise.
42933 (pupa_dl_init): Renamed to ...
42934 (pupa_dl_set_prefix): ... this.
42935 (pupa_dl_get_prefix): New function.
42936
42937 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
42938 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
42939 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42940 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42941 (pupa_install_dos_part): Declared.
42942 (pupa_install_bsd_part): Likewise.
42943 (pupa_prefix): Likewise.
42944 (pupa_boot_drive): Likewise.
42945
42946 * include/pupa/types.h: Fix a typo.
42947
42948 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
42949 pupa_memmove.
42950 (pupa_memmove): Declared.
42951 (pupa_strcpy): Likewise.
42952
42953 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
42954 pupa_mod_init takes one argument, its own module.
42955 (pupa_dl_unload_unneeded): Declared.
42956 (pupa_dl_unload_all): Likewise.
42957 (pupa_dl_ref): Likewise.
42958 (pupa_dl_unref): Likewise.
42959 (pupa_dl_iterate): Likewise.
42960 (pupa_dl_init): Renamed to ...
42961 (pupa_dl_set_prefix): ... this.
42962 (pupa_dl_get_prefix): Declared.
42963
42964 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 42965 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 42966 unloaded.
42967 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
42968 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
42969
42970 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
42971 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
42972
012d7999 429732003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42974
42975 * util/i386/pc/pupa-setup.c (setup): Define the internal
42976 function find_first_partition_start at the top level, because GCC
42977 3.0.x cannot compile internal functions in deeper scopes
42978 correctly.
42979 (find_root_device): Use lstat instead of stat.
42980 Don't follow symbolic links.
42981 Fix the path-constructing code.
42982
42983 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
42984 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
42985 by a BLKGETSIZE ioctl first, because block devices don't fill
42986 the member st_mode of the structure stat on Linux.
42987 [__linux__] (linux_find_partition): Use a temporary buffer
42988 REAL_DEV for the working space. Copy it to DEV before returning.
42989 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
42990 buffer cache consistent.
42991 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
42992 strncmp. The previous value was merely wrong.
42993 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
42994
42995 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
42996 FAT size is 12. The previous value was merely wrong.
42997
42998 * kern/main.c (pupa_main): Don't split the starting message from
42999 newlines.
43000
43001 * kern/term.c (pupa_putchar): Put CR after LF instead of before
43002 LF, because BIOS goes crazy about character attributes in this
43003 case.
43004
1cc73a62 430052003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43006
43007 * include/i386/pc/util/biosdisk.h: New file.
43008 * util/i386/pc/biosdisk.c: Likewise.
43009 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 43010
1cc73a62 43011 * Makefile.in (INCLUDE_DISTFILES): Added
43012 include/pupa/i386/pc/util/biosdisk.h.
43013 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
43014 directory util/i386/pc.
43015 (install-local): Added a rule for sbin_UTILITIES.
43016 (uninstall): Likewise.
43017
43018 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
43019
43020 * util/misc.c (xrealloc): New function.
43021 (pupa_malloc): Likewise.
43022 (pupa_free): Likewise.
43023 (pupa_realloc): Likewise.
43024 (pupa_stop): Likewise.
43025 (pupa_putchar): Likewise.
43026
43027 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
43028
43029 * include/pupa/util/misc.h (xrealloc): Declared.
43030
43031 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
43032 macro.
43033 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
43034 (PUPA_BOOT_MACHINE_BPB_END): ... this.
43035
43036 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
43037 [PUPA_UTIL] (pupa_fat_fini): Likewise.
43038
43039 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
43040 way should be implemented.
43041 [PUPA_UTIL] (pupa_fat_fini): Likewise.
43042
43043 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
43044 the size of NAME for safety.
43045 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
43046 0x88.
43047
43048 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
43049 (pupa_setup_SOURCES): Likewise.
43050
43051 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
43052
08b70fe8 430532002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
43054
43055 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
43056 bunch of pushl's from pusha, because this destroys the return
43057 value.
43058
62ddcc8f 430592002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
43060
43061 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
43062 This means that any missing prototypes could be fatal. Also, you
43063 must take care when writing assembly code. See the comments at
43064 the beginning of startup.S, for more details.
f19dbdb7 43065
62ddcc8f 43066 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
43067 compilation mechanism.
43068 (pupa_chainloader_real_boot): Likewise.
43069 (pupa_biosdisk_rw_int13_extensions): Likewise.
43070 (pupa_biosdisk_rw_standard): Likewise.
43071 (pupa_biosdisk_check_int13_extensions): Likewise.
43072 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
43073 (pupa_biosdisk_get_diskinfo_standard): Likewise.
43074 (pupa_get_memsize): Likewise.
43075 (pupa_get_mmap_entry): Likewise.
43076 (pupa_console_putchar): Likewise.
43077 (pupa_console_setcursor): Likewise.
43078 (pupa_getrtsecs): Use pushl instead of push.
43079
43080 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
43081 memory instead of the stack for a mmap entry, because some
43082 BIOSes may ignore the maximum size and overflow.
43083
43084 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
43085
43086 * genmk.rb (PModule#rule): Compile automatically generated
43087 sources with module-specific CFLAGS as well as other sources.
43088
9962ed99 430892002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43090
43091 * configure.ac: Check ld.
43092 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
43093 respectively, before checking endianness and sizes.
43094
43095 * Makefile.in (LD): New variable.
f19dbdb7 43096
abdfc3c5 430972002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43098
43099 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
43100
6a161fa9 431012002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43102
43103 * Changelog: New file.
43104