]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Improve devmapper support
[grub2.git] / ChangeLog
CommitLineData
a2491e23
VS
12011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22011-05-18 Colin Watson <cjwatson@ubuntu.com>
3
4 Improve devmapper support
5
6 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
7 (grub_util_is_lvm): New function.
8 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
9 than lvm if not dmraid.
10 Handle mapped md nodes.
11 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
12 (grub_util_device_is_mapped): ... this. Make always available. All users
13 updated.
14 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
15 (convert_system_partition_to_system_disk): Handle lvm, mpath and
16 dmraid nodes.
17 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
18
6ad6223e
VS
192011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20
21 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
22
23 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
24 * grub-core/modinfo.sh.in: New file.
25 * grub-core/Makefile.core.def (modinfo.sh): New script.
26 * util/grub-mknetdir.in: Use modinfo.sh.
27 * util/grub-mkrescue.in: Likewise.
28
543a8f6e
VS
292011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
32 Fix potential usage of Elf32 instead of Elf64 when compiling on
33 32-bit architecture. Add endianness macros while on it.
34
4959e111
VS
352011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36
37 Use mipsel- rather than mips- in directories involving mipsel ports to
38 allow both endiannesses coexist.
39
40 * configure.ac: proparate target_cpu=mipsel rather than resetting to
41 mips. All conditions adjusted.
42 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
43 variable.
44 * util/grub-install.in: Adjust conditions to take renaming into account.
45 * util/grub-mkimage.c (image_targets): Likewise. New target
46 mips-qemu_mips-elf for bigendian mips.
47
35341bbc
VS
482011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
49
50 Avoid unnecessary copying on MIPS.
51
52 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
53 early if src == dest.
54 * util/grub-mkimage.c (generate_image): Arange for src == dest if
55 compression is none.
56
b772baed
VS
572011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
58
59 Reduce memory footprint on SGI by putting modules before the kernel
60 as opposed to after.
61
62 * grub-core/Makefile.core.def (kernel): Increase linking address.
63 (none_decompress): Likewise.
64 (xz_decompress): Likewise.
65 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
66 address.
67 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
68 layout change.
69 (grub_arch_modules_addr): New function.
70 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
71 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
72 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
73 here.
74 * grub-core/kern/mips/startup.S (total_size): Rename to ...
75 (grub_total_modules_size): ... this. Make global.
76 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
77 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
78 New definition.
79 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
80 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
81 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
82 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
83 * util/grub-mkimage.c (image_target_desc): New flag
84 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
85 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
86 (generate_image): Handle images with modules before kernel.
87
566a1917
VS
882011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
89
90 Prevent potential loss of memory map by overwrite on qemu-mips.
91
92 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
93 Save ram size in $s4.
94 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
95 All users changed to grub_arch_memsize.
96 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
97 Loongson.
98 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
99 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
100 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
101 external variable.
102
5d420cd9
CW
1032011-05-17 Colin Watson <cjwatson@ubuntu.com>
104
105 * .bzrignore: Remove grub-dumpbios.
106
d064b830
CW
1072011-05-17 Colin Watson <cjwatson@ubuntu.com>
108
109 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
110 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
111 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
112 existing options which append).
113 * docs/grub.texi (Simple configuration): Document new options.
114 Reported by: Ian Jackson. Fixes Debian bug #617538.
115
3ca2b466
CW
1162011-05-17 Colin Watson <cjwatson@ubuntu.com>
117
118 * util/grub-fstest.c (cmd_cat): New function.
119 (fstest): Handle CMD_CAT.
120 (options): Add cat.
121 (argp_parser): Handle cat.
122
24c9143a
CW
1232011-05-17 Colin Watson <cjwatson@ubuntu.com>
124
125 * Makefile.util.def (grub-bin2h): Don't install.
126 * docs/man/grub-bin2h.h2m: Remove.
127
90f7ac19
VS
1282011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
131 place.
132
8d4a5178
VS
1332011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
134
135 Reenable qemu-mips port.
136
137 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
138 Fix small arc bug while on it.
139 * gentpl.py: Handle qemu_mips.
140 * grub-core/Makefile.am: Likewise.
141 * grub-core/Makefile.core.def: Likewise.
142 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
143 inappropriate includes.
144 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
145 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
146 * grub-core/kern/main.c (grub_modules_get_end)
147 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
148 * grub-core/kern/mips/qemu-mips: Moved to ..
149 * grub-core/kern/mips/qemu_mips: ... this.
150 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
151 (grub_machine_init): Call terminfo_init and serial_init.
152 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
153 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
154 New variable.
155 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
156 parameter passing.
157 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
158 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
159 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
160 * include/grub/mips/qemu_mips/cmos.h: New file.
161 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
162 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
163 Removed.
164 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
165 Use correct mips-style address.
166 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
167 (GRUB_TICKS_PER_SECOND): Removed.
168 (grub_get_rtc): Likewise.
169 (grub_cpu_idle): Likewise.
170 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
171 New definition.
172 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
173 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
174 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
175 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
176 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
177 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
178 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
179 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
180
400b9371
VS
1812011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
182
183 SGI ARCS port.
184
185 * Makefile.util.def (libgrubmods.a): Add dvh.c.
186 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
187 platforms.
188 * configure.ac: New target mips-arc.
189 * gentpl.py: Likewise.
190 * grub-core/Makefile.am: Likewise.
191 * grub-core/Makefile.core.def: Likewise.
192 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
193 (none_decompress): Likewise.
194 (lsdev): New module.
195 (datetime): Use lib/arc/datetime.c on ARC.
196 (part_dvh): New module.
197 * grub-core/commands/arc/lsdev.c: New file.
198 * grub-core/disk/arc/arcdisk.c: Likewise.
199 * grub-core/kern/mips/arc/init.c: Likewise.
200 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
201 aligned addresses.
202 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
203 support.
204 (grub_arch_dl_relocate_symbols): Likewise.
205 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
206 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
207 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
208 platforms.
209 * grub-core/lib/arc/datetime.c: New file.
210 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
211 pci.h on non-loongson.
212 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
213 (grub_linux_boot): Set unused registers to 0.
214 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
215 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
216 * grub-core/mmap/mips/uppermem.c: ...here.
217 * grub-core/partmap/dvh.c: New file.
218 * grub-core/term/arc/console.c: Likewise.
219 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
220 (grub_terminfo_set_current): Add terminal "arc".
221 (grub_terminfo_readkey): Support ARC sequences.
222 * include/grub/arc/arc.h: New file.
223 * include/grub/arc/console.h: Likewise.
224 * include/grub/disk.h (grub_disk_dev_id): Add
225 GRUB_DISK_DEVICE_ARCDISK_ID.
226 * include/grub/mips/arc/kernel.h: New file.
227 * include/grub/mips/arc/memory.h: Likewise.
228 * include/grub/mips/arc/time.h: Likewise.
229 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
230 * include/grub/mips/kernel.h (grub_halt): ... here.
231 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
232 here...
233 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
234 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
235 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
236 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
237 proto.
238 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
239 from here ...
240 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
241 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
242 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
243 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
244 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
245 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
246 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
247 (grub_phys_addr_t): Moved from here ...
248 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
249 (grub_vtop): Moved from here ...
250 * include/grub/mips/memory.h (grub_vtop): ... here.
251 (grub_map_memory): Moved from here ...
252 * include/grub/mips/memory.h (grub_map_memory): ... here.
253 (grub_unmap_memory): Moved from here ...
254 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
255 (grub_machine_mmap_iterate): Moved from here ...
256 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
257 (grub_mmap_get_lower): Moved from here ...
258 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
259 (grub_mmap_get_upper): Moved from here ...
260 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
261 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
262 here ...
263 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
264 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
265 here ...
266 * include/grub/mips/time.h (grub_get_rtc): ... here.
267 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
268 here ...
269 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
270 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
271 here ...
272 * include/grub/mips/time.h (grub_cpu_idle): ... here.
273 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
274 definition.
275 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
276 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
277 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
278 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
279 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
280 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
281 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
282 (GRUB_MACHINE_LINK_ADDR): Likewise.
283 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
284 to 6.
285 * util/grub-install.in: Run dvhtool on ARC.
286 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 287 (generate_image): Handle ECOFF output for mips-arc.
400b9371 288
c8ecc840
VS
2892011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
292 blocks.
293
153a4b55
VS
2942011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
297 after enabling port.
298
ff44d107
VS
2992011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
300
301 Skip incorrect USB devices.
302
303 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
304 configcnt == 0.
305 * include/grub/usb.h (grub_usb_err_t): New enum value
306 GRUB_USB_ERR_BADDEVICE.
307
638dbe4f
VS
3082011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
309
310 Fuloong video init support.
311
312 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
313 well.
314 (grub_vga_read_arx): New function.
315 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
316 definition.
317 (framebuffer): New members io, mmioptr and mmiobase.
318 (read_sis_cmd): New function.
319 (write_sis_cmd): Likewise.
320 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
321 rather than 640x400.
322 * grub-core/video/sis315_init.c: New file.
323
c3fc520c
VS
3242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
327 non-loongson.
328 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
329 to grub_dl_register_symbol.
330
67b1e5c9
VS
3312011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
332
333 Fix compilation errors.
334
335 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
336 potentially unused.
337 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
338 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
339 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
340 to loongson machines.
341
b756f75f
VS
3422011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
343
344 Several FS mtime support.
345
346 * grub-core/fs/affs.c (grub_affs_time): New struct.
347 (grub_affs_file): New field mtime.
348 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
349 type. Removed 'size'. New field 'di'. All users updated.
350 (grub_affs_mount): Simplify checsum checking.
351 (grub_affs_iterate_dir): New helper grub_affs_create_node.
352 (grub_affs_dir): Handle mtime.
353 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
354 (grub_cpio_dir): Likewise.
355 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
356 (grub_hfs_filerec): New field mtime.
357 (grub_hfs_dir): Handle mtime.
358 (grub_hfs_mtime): New function.
359 (grub_hfs_fs): Register grub_hfs_mtime.
360 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
361 (grub_iso9660_dir): New field mtime.
362 (grub_fshelp_node): New field dirent.
363 (iso9660_to_unixtime): New function.
364 (iso9660_to_unixtime2): Likewise.
365 (grub_iso9660_read_symlink): Use node->dirent.
366 (grub_iso9660_iterate_dir): Likewise.
367 (grub_iso9660_dir): Set mtime.
368 (grub_iso9660_mtime): New function.
369 (grub_iso9660_fs): Register grub_iso9660_mtime.
370 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
371 (grub_jfs_inode): New fields atime, ctime and mtime.
372 (grub_jfs_dir): Set mtime.
373 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
374 * grub-core/fs/ntfs.c (list_file): Set mtime.
375 (grub_ntfs_dir): Likewise.
376 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
377 (grub_reiserfs_iterate_dir): Set mtime.
378 (grub_reiserfs_dir): Likewise.
379 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
380 (grub_fshelp_node): Likewise.
381 (grub_sfs_iterate_dir): Set mtime.
382 (grub_sfs_dir): Likewise.
383 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
384 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
385 (grub_xfs_inode): New fields atime, mtime, ctime.
386 (grub_xfs_dir): Set mtime.
387 * include/grub/datetime.h (grub_datetime2unixtime): New function.
388 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
389 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
390
391 Support UDF symlinks.
392
393 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
394 (grub_ufs_read_symlink): New function. All users updated.
395
396 Check amiga partmap checksum.
397
398 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
399 (grub_amiga_partition): Likewise.
400 (amiga_partition_map_checksum): New function.
401 (amiga_partition_map_iterate): Check checksum.
402
5470225d
VS
4032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
404
405 ROMFS support.
406
407 * Makefile.util.def (libgrubmods.a): Add romfs.
408 * grub-core/Makefile.core.def (romfs): New module.
409 * grub-core/fs/romfs.c: New file.
410
d4680a35
VS
4112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
412
413 Squashfs v4 support.
414
415 * Makefile.util.def (libgrubmods.a): Add squash4.
416 * grub-core/Makefile.core.def (squash4): New module.
417 * grub-core/fs/squash4.c: New file.
418 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
419 disk_input_start, disk_input.
420 (get_byte): Handle disk_input.
421 (grub_zlib_disk_read): New function.
422 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
423
bcb18e74
FZ
4242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4252011-05-15 Feiran Zheng <famcool@gmail.com>
426
427 * Makefile.util.def (libgrubmods.a): Add minix3.
428 * grub-core/Makefile.core.def (minix3): New module.
429 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
430 (GRUB_MINIX_BSIZE): Removed.
431 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
432 (grub_minix_ino_t): New type.
433 (grub_minix_le_to_cpu_ino): New macro.
434 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
435 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
436 (grub_minix_data): New field block_size.
437 (grub_minix_read_file): Handle 64-bit correctly.
438 * grub-core/fs/minix3.c: New file.
439
32297d5f
TG
4402011-05-15 Tristan Gingold <gingold@free.fr>
4412011-05-15 Robert Millan <rmh.grub@aybabtu.com>
4422011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
443
444 IA64 support.
445
446 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
447 * configure.ac: Add ia64-efi target.
448 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
449 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
450 * gentpl.py: Add ia64_efi platform.
451 Rename x86_efi to efi and Add ia64-efi. All users updated.
452 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
453 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
454 Remove kern/generic/rtc_get_time_ms.c on EFI.
455 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
456 kern/ia64/dl_helper.c on ia64-efi.
457 Add kern/emu/cache.c on emu.
458 (linux): Use on loader/ia64/efi/linux.c on ia64.
459 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
460 whether symbol is a function.
461 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
462 (grub_symbol): New field 'isfunc'.
463 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
464 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
465 (grub_dl_load_segments): Place all sections into the same region.
466 [__ia64__]: Create trampolines and got.
467 [GRUB_MACHINE_EMU]: Call mprotect.
468 (grub_dl_resolve_symbols): Resolve symbol type as well.
469 [__ia64__]: Create function descriptors.
470 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
471 (grub_rtc_get_time_ms): ... this. Expressions simplified.
472 (grub_get_rtc): New function.
473 * grub-core/kern/emu/cache.c [__ia64__]: New file.
474 * grub-core/kern/emu/cache.S: Renamed to ...
475 * grub-core/kern/emu/cache_s.S: ... this.
476 [__ia64__]: Add a nop.
477 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
478 [__ia64__]: New function.
479 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
480 * grub-core/kern/ia64/dl.c: New file.
481 * grub-core/kern/ia64/dl_helper.c: Likewise.
482 * grub-core/kern/ia64/efi/init.c: New file.
483 * grub-core/kern/ia64/efi/startup.S: Likewise.
484 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
485 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
486 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
487 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
488 * grub-core/loader/ia64/efi/linux.c: New file.
489 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
490 (GRUB_MOD_DEP): Likewise.
491 (grub_dl) [__ia64__]: New fields got and tramp.
492 (grub_dl): New field 'base'.
493 (grub_dl_register_symbol): New argument isfunc. All users updated.
494 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
495 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
496 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
497 (grub_ia64_dl_get_tramp_got_size): New proto.
498 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
499 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
500 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
501 * include/grub/efi/api.h: Skip call wrappers on ia64.
502 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
503 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
504 * include/grub/elf.h (ELF_ST_INFO): New definition.
505 * include/grub/ia64/efi/kernel.h: New file.
506 * include/grub/ia64/efi/memory.h: Likewise.
507 * include/grub/ia64/efi/time.h: Likewise.
508 * include/grub/ia64/kernel.h: Likewise.
509 * include/grub/ia64/setjmp.h: Likewise (from glibc).
510 * include/grub/ia64/time.h: New file.
511 * include/grub/ia64/types.h: Likewise.
512 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
513 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
514 New protos.
515 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
516 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
517 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
518 * util/grub-mkimage.c (image_target_desc): New field pe_target.
519 All users updated.
520 (EFI64_HEADER_SIZE): New definition. All users updated.
521 (image_targets): Add ia64-efi.
522 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
523 jumpers_addr. All users updated.
524 Create function descriptors.
525 (count_funcs): New function.
526 (unaligned_uint32): New struct.
527 (MASK20): New definition.
528 (MASK19): Likewise.
529 (MASKF21): Likewise.
530 (add_value_to_slot_20b): New function.
531 (add_value_to_slot_21_real): Likewise.
532 (add_value_to_slot_21): Likewise.
533 (ia64_kernel_trampoline): New struct.
534 (nopm): New variable.
535 (jump): Likewise.
536 (make_trampoline): New function.
537 (relocate_addresses): Handle ia64.
538 (make_reloc_section): Likewise.
539 (load_image): Likewise.
540
983b414d
VS
5412011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
544 warning. Move variables before code while on it.
545
5d063cdc
VS
5462011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
547
548 Fuloong support.
549
550 * configure.ac: Rename yeeloong platform to loongson. All users updated.
551 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
552 * grub-core/boot/mips/loongson/fuloong.S: New file.
553 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
554 Explicitly init CS5536.
555 [FULOONG]: Don't use serial until CS5536 is available.
556 Set GPIO based on dumps.
557 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
558 [FULOONG]: Handle GPIO and memory controller differences.
559 Parse machine type in $a2.
560 * grub-core/boot/mips/startup_raw.S: Determine and save the
561 architecture.
562 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
563 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
564 init on architecture type.
565 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
566 SIS315E. Don't init at_keyboard on fuloong.
567 (grub_halt): Support Fuloong.
568 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
569 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
570 (loongson_machtypes): New array.
571 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
572 type.
573 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
574 config. All users updated. Handle CS5536 serial.
575 * grub-core/term/serial.c (grub_serial_register): Conditionalise
576 default port on machine type. Register serial as inactive.
577 * grub-core/video/sis315pro.c: New file.
578 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
579 definition.
580 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
581 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
582 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
583 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
584 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
585 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
586 to ...
587 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
588 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
589 definition.
590 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
591 (grub_arch_machine): New extern var.
592 * include/grub/mips/loongson/serial.h
593 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
594 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
595 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
596 (GRUB_MACHINE_SERIAL_PORT0): ... this.
597 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
598 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
599 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
600 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
601 * include/grub/term.h (grub_term_register_input_inactive): New inline
602 function.
603 (grub_term_register_output_inactive): Likewise.
604 * include/grub/video.h (grub_video_driver_id): New value
605 GRUB_VIDEO_DRIVER_SIS315PRO.
606 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
607 New field "names". All users updated.
608 New field value IMAGE_FULOONG_FLASH.
609 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
610
6ada82d1
JU
6112011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
612
613 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
614 and add some clarification.
615
90c571a4
VS
6162011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
619 platforms if kernel is compressed.
620
de04eecf
VS
6212011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
624 unused modules since currently referrence counter isn't reliable and
625 there isn't much memory to recover there anyway.
626
57688121
VS
6272011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
630 rather than resetting it to allow modules to reference themselves
631 in init.
632
3d2c7e35
VS
6332011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
636 counter on dependencies since grub_dl_unref already handles this.
637
b25db218
VS
6382011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
639
640 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
641 on error if not already done.
642
25a45338
VS
6432011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
644
645 Fix few potential memory misusage.
646
647 * grub-core/font/font.c (load_font_index): Don't free char_index to
648 avoid double free.
b25db218
VS
649 (grub_font_load): Zero-fill font at alloc for safety.
650 Close file on error.
651 (free_font): Free bmp_idx.
25a45338 652
0cac83df
VS
6532011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * docs/grub.texi (Installation): Fix several outdated claims.
656
2217a143
VS
6572011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
658
659 Handle module_license on windows.
660
661 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
662 sections shifted.
663 (insert_string): Make argument const char * instead of char *.
664 (write_section_data): Handle long section names.
665 Handle module_license.
666
d4de6b01
VS
6672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
670 handle class-free menuentries.
671 (grub_normal_add_menu_entry): Add a check to be sure.
672
4c2a3b43
VS
6732011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
674
675 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
676 PgUp and PgDown.
677
85c6210f
VS
6782011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * configure.ac: Bump version to 1.99.
681
36084912
VS
6822011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
683
684 Give ATA device a bit more time on first try in order to allow disks
685 to spin up.
686
687 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
688 if dev->present is 1. Reset dev->present on failure.
689 (grub_ata_device_initialize): Set dev->present to 1.
690 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
691 (grub_ata_device): New member 'present'.
692
bda0e219
VS
6932011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * util/grub-mkimage.c (generate_image): Update hash.
696
19e1c41b
VS
6972011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
698
699 Flush caches on DMA memory.
700
701 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
702 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
703 (grub_dma_free): Likewise.
704 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
705
91bbcc0c
VS
7062011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
709 to avoid asm treating ld and sd as macros.
710
60ddfad3
VS
7112011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
714 decompressor.
715
a298aa04
VS
7162011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
719 grub_decompress_core since later would fail if grub_decompress_core
720 is too far.
721
9b44feca
VS
7222011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
725 R_MIPS_JALR since it's used by newer compiler.
726
56dbe7b4
VS
7272011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
730
52856af2
VS
7312011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
734 file_path to 0 for surety.
735 (grub_chainloader_boot): Set exit_data to NULL.
736 Unset the loader once done.
737 (grub_cmd_chainloader): Fix confusing error message if file is empty.
738
9c9bfc6d
VS
7392011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
742 unknown key into a dprintf.
743
dd94a3df
VS
7442011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
747 on first non-existant partition.
748
fa68d99c
VS
7492011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
752 openning fails.
753 Reported by: Mark Korenberg.
754
157effb7
VS
7552011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
758 overflow.
759
ea75312f
VS
7602011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * util/grub-mkimage.c (main): Explicitely flush and sync the output
763 before closing to ensure that it will be readable by grub-setup.
764
072b5d31
VS
7652011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
768 (devpath_1): Use MAKE_PIWG_PATH.
769 (devpath_2): Likewise.
770 (devpath_3): Likewise.
771 (devpath_4): Likewise.
772 (devpath_5): Likewise.
773 (devpath_6): Likewise.
774
775 The appleldr.mod was checked that to be binary identical to previous
776 version.
777
7fae0051
Z
7782011-05-05 Zach <mikezackles>
779
780 Support 2010 Macbooks.
781
782 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
783 (devs): Add devpath_6.
784
7c515bee
VS
7852011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
786
787 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
788 /dev/random. /dev/urandom is good enough for our purposes (salting).
789
ed660bd8
VS
7902011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
793
ee5614b7
VS
7942011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
797 hexadecimal.
798
664889a6
VS
7992011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
802 and not 0 on failure.
803
bd405bbc
CW
8042011-05-03 Colin Watson <cjwatson@ubuntu.com>
805
806 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
807 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
808 disk; otherwise grub_fs_probe will not fall back to the next
809 filesystem.
810 (grub_pxefs_open): Likewise, for consistency.
811 Reported and tested by: Ezekiel Grave.
812
4ebff753
CW
8132011-05-03 Colin Watson <cjwatson@ubuntu.com>
814
815 * tests/partmap_test.in: Don't hardcode path to parted.
816 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
817
8f942553
CW
8182011-05-01 Colin Watson <cjwatson@ubuntu.com>
819
820 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
821 of `ls' to find out which devices are available.
822
3c62402d
VS
8232011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
826 than source address for efi mmap buffer.
827
723f63f2
VS
8282011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
829
830 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
831 wrong action on non-detecting the magic.
832
68797f92
VS
8332011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
834
835 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
836 already supplied by another part of the module (fixes compilation on
837 FreeBSD).
838
6be8715d
VS
8392011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
842 match the one used by mdadm.
843
e91dba5b
CW
8442011-04-21 Colin Watson <cjwatson@ubuntu.com>
845
846 * po/README: Add instructions for creating po/LINGUAS.
847
c85140b3
CW
8482011-04-21 Colin Watson <cjwatson@ubuntu.com>
849
850 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
851 #551428.
852
853 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
854 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
855 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
856 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
857 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
858 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
859 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
860 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
861 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
862 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
863 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
864 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
865 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
866 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
867 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
868 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
869 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
870 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
871 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
872 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
873 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
874 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
875
92051871
CW
8762011-04-21 Colin Watson <cjwatson@ubuntu.com>
877
878 * grub-core/kern/emu/getroot.c
879 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
880 test that was incorrectly reintroduced in r3214.
881 Reported by: Ian Dall. Fixes Savannah bug #33133.
882
b13f79a4
CW
8832011-04-21 Colin Watson <cjwatson@ubuntu.com>
884
885 Fix stack pointer handling in 16-bit relocator.
886
887 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
888 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
889 Fixes Ubuntu bug #683904.
890
9b710a88
VS
8912011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * configure.ac: Bump version to 1.99~rc2.
894
d97e7b59
VS
8952011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
898 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
899 * grub-core/lib/x86_64/setjmp.S: Likewise.
900 * grub-core/lib/mips/setjmp.S: Likewise.
901 * grub-core/lib/powerpc/setjmp.S: Likewise.
902 * grub-core/lib/sparc64/setjmp.S: Likewise.
903
0624551c
VS
9042011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
907 * grub-core/lib/efi/datetime.c: Likewise.
908
e8f28d4c
VS
9092011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
912 New function.
913 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
914 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
915 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
916
bba79a15
VS
9172011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
920 bitmap.
921 (grub_gfxterm_term_init): Likewise.
922
abc474ef
VS
9232011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
924
925 Take into account the decorations the computing menu entry width.
926
927 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
928 (grub_gfxmenu_create_box): Register get_border_width.
929 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
930 if available.
931 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
932 get_border_width.
933
e74b3947
EP
9342011-04-18 Endres Puschner <code@e7p.de>
935
936 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
937 Don't skip first class.
938
34faa595
VS
9392011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
942 chunks.
943 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
944
93a777e3
VS
9452011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
946
947 Complete 64-bit division support.
948
949 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
950 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
951 * include/grub/misc.h (grub_divmod64): Rename to ...
952 (grub_divmod64_full): ... this.
953 (grub_divmod64): New inline function.
954
a5102d94
VS
9552011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * util/grub-mkimage.c (generate_image): Add forgotten comma.
958
f3fb7b36
VS
9592011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
962 performing the necessary test.
963
9ac718b0
VS
9642011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
967 (kfreebsd.elf): Likewise.
968 (pc-chainloader.elf): Likewise.
969 (ntldr.elf): Likewise.
970
50d2cc5a
VS
9712011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
972
973 Identify RAID by its UUID rather than (guessed) name.
974
975 * grub-core/disk/raid.c (ascii2hex): New function.
976 (grub_raid_open): Accept mduuid/%s specification.
977 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
978 (get_mdadm_uuid): ... this.
979 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
980
e03f7bea
VS
9812011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
984 to negative size.
985
e74c3112
CW
9862011-04-13 Colin Watson <cjwatson@ubuntu.com>
987
988 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
989 btrfs subvolume.
990 * util/grub.d/20_linux_xen.in: Likewise.
991
78fa584f
CW
9922011-04-13 Colin Watson <cjwatson@ubuntu.com>
993
994 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
995 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
996
997 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
998 Build a list of relevant visible mounts using the mnt_id and
999 parent_mnt_id fields, and then scan that list at the end.
1000
9d5f8162
CW
10012011-04-12 Colin Watson <cjwatson@ubuntu.com>
1002
1003 * docs/grub.texi (normal): New section.
1004 (normal_exit): New section.
1005 (Embedded configuration): Add reference to normal.
1006 (GRUB only offers a rescue shell): Likewise.
1007 * docs/grub-dev.texi (Error Handling): Fix typo.
1008
09a9d66f
CW
10092011-04-12 Colin Watson <cjwatson@ubuntu.com>
1010
1011 * NEWS: Drop obsolete entry about probe-only btrfs support.
1012
0c676933
CW
10132011-04-12 Colin Watson <cjwatson@ubuntu.com>
1014
1015 * util/import_gcry.py: Fix typo.
1016
ec9f5e0d
VS
10172011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * NEWS: Add btrfs support.
1020
fe6b2cba
VS
10212011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10222011-04-11 Colin Watson <cjwatson@ubuntu.com>
1023
1024 BtrFS support. Written by me (Vladimir) with important bugfixes and
1025 even more important testing by Colin.
1026
1027 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
1028 * grub-core/Makefile.core.def (btrfs): Add crc.c.
1029 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
1030 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
1031 mem_input_off and mem_input. All users updated to accept in-RAM input.
1032 (gzio_seek): New function.
1033 (test_zlib_header): Likewise.
1034 (grub_gzio_read): Likewise.
1035 (grub_zlib_decompress): Likewise.
1036 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
1037 Accept partial and non-virtual mounts.
1038 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
1039 avoid receiving /dev/dm-X as device.
1040 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
1041 Handle bind and partial mounts.
1042 * grub-core/lib/crc.c: New file.
1043 * include/grub/deflate.h: Likewise.
1044 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
1045 proto.
1046 * include/grub/lib/crc.h: New file.
1047
e745cf0c
VS
10482011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 Implement automatic module license checking according to new GNU
1051 guidelines.
1052
1053 * grub-core/kern/dl.c (grub_dl_check_license): New function.
1054 (grub_dl_load_core): Use grub_dl_check_license.
1055 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
1056 (GRUB_MOD_LICENSE): Likewise.
1057 (GRUB_MOD_DUAL_LICENSE): Likewise.
1058 All modules updated.
1059
2a9bc016
CW
10602011-04-11 Colin Watson <cjwatson@ubuntu.com>
1061
1062 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
1063 reserved_first_sector to 1. btrfs reserves plenty of space for boot
1064 loaders.
1065 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
1066
8a3bc88e
VS
10672011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
1070
af869a4a
VS
10712011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * util/grub-fstest.c (read_file): Report GRUB error if file opening
1074 failed.
1075
9ee8d94f
VS
10762011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * grub-core/kern/file.c (grub_file_open): Don't take into account the
1079 parenthesis in the middle of the filename.
1080
b01abe3e
VS
10812011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
1084 rather than trying to put initrd way too high.
1085 Reported by: Ryan Lortie <desrt@desrt.ca>
1086
335bda1e
VS
10872011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
1090 improperly removed string.
1091
5ca1a64d
VS
10922011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
1095 is_disk.
1096 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
1097 (open_device) Likewise.
1098 (grub_util_biosdisk_close): Likewise.
d8ce9995 1099 Reported by: Mark Korenberg.
5ca1a64d 1100
cbac5b1e
AK
11012011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
1102
1103 * util/grub-mkconfig_lib.in: Add missing quotes.
1104
088cdb65
CW
11052011-04-10 Colin Watson <cjwatson@ubuntu.com>
1106
1107 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
1108 is NULL.
1109
8b8a81fa
VS
11102011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 Dynamically count the number of lines for the lower banner.
1113
1114 * grub-core/normal/menu_entry.c (per_term_screen): New member
1115 num_entries.
1116 (print_down): Use num_entries.
1117 (update_screen): Likewise.
1118 (grub_menu_entry_run): Set num_entries.
1119 * grub-core/normal/menu_text.c (menu_viewer_data): New member
1120 num_entries.
1121 (grub_print_message_indented): Move real part to ...
1122 (grub_print_message_indented_real): ... here. Additional argument
1123 dry_run.
1124 (draw_border): Additional argument num_entries.
1125 (print_message): Additional argument dry_run.
1126 (print_entries): Receive menu viewer data.
1127 (grub_menu_init_page): New argment num_entries.
1128 (menu_text_set_chosen_entry): Use num_entries.
1129 (grub_menu_try_text): Likewise.
1130 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
1131 All users updated.
1132 (grub_ucs4_count_lines): New function.
1133 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
1134 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
1135 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
1136 (grub_term_border_height): Likewise.
1137 (grub_term_num_entries): Likewise.
1138
277f955b
VS
11392011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
1142 Remove now unused string.
1143
536ce85a
CW
11442011-04-09 Colin Watson <cjwatson@ubuntu.com>
1145
1146 * docs/grub-dev.texi (Finding your way around): Update for 1.99
1147 build system.
1148 (Getting started): GRUB is developed in Bazaar now, not Subversion.
1149
1150 (Comment): Fix typo.
1151 (Getting started): General copy-editing.
1152 (Typical Development Experience): Likewise.
1153 (Error Handling): Likewise.
1154 (Video API): Likewise.
1155
2cf09e32
CW
11562011-04-09 Colin Watson <cjwatson@ubuntu.com>
1157
1158 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
1159 throughout.
1160
1ec652f4
VS
11612011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * util/grub-mkimage.c (main): Handle special naming of yeeloong
1164 directory.
1165
2c583728
CW
11662011-04-08 Colin Watson <cjwatson@ubuntu.com>
1167
1168 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
1169 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
1170 "development".
1171
d7a565e9
VS
11722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
1175 grub_strcpy since the lines aren't necessarily 0-terminated.
1176
7c2e4909
VS
11772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
1180 root on legacy.
1181
34c09785
VS
11822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * grub-core/commands/probe.c (options): Argument to set isn't optional.
1185 (GRUB_MOD_INIT): DEVICE isn't optional.
1186
6a6f8058
VS
11872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
1190 word on new line if it's too long anyway. Fixes a hang.
1191
2e335e90
VS
11922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
1195 const.
1196 * util/grub-setup.c (main): Reuse md device name if available.
1197 * util/raid.c (grub_util_raid_getmembers): Receive device name and
1198 not GRUB name as argument.
1199 Based on patch by: Florian Wagner <fwagner>.
1200
10a7a867
VS
12012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1204 Place mbi on low memory for better compatibility.
1205
7a3d6cd9
VS
12062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
1209
18dd6b47
VS
12102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12112011-04-08 Colin Watson <cjwatson@ubuntu.com>
1212
1213 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 1214 * conf/Makefile.common: Likewise.
18dd6b47 1215
3c0e3f14
VS
12162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1217
f7148863
VS
1218 * grub-core/normal/menu.c: Add missing include.
1219
12202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 1223
6d1fa41f
MZ
12242011-04-08 Martin Zuther <mzuther@mzuther.de>
1225
1226 * util/grub-mkconfig.in: Ignore emacsen backup.
1227
478182a8
VS
12282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
1231 on open.
1232 (grub_util_biosdisk_close): Likewise.
1233
72a89a54
VS
12342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
1237 const attribute and use grub_isdigit.
1238
b5ebecfa
A
12392011-04-06 Andrey <dev_null@ukr.net>
1240
1241 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
1242 gcc warning.
1243
7755f66e
VS
12442011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
1247 useful grub_dprintf's.
1248
461121ff
VS
12492011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
1252
2a961775
VS
12532011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
1256
adf594cc
VS
12572011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 Output errors if theme loading failed.
1260
1261 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
1262 grub_gfxterm_fullscreen on error paths to ...
1263 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
1264 theme loading error.
1265
665900a3
VS
12662011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
1269 space for older compilers.
1270 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1271
a562b479
VS
12722011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
1275 and report them as not RAID members since they are useless for GRUB.
1276 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1277
850e9373
VS
12782011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 Increase LVM implementation robustness in order not to crash on
1281 configurations like pvmove. Previously code assumed that in some places
1282 only lvs or only pvs are used whereas it seems that they are used
1283 interchangeably.
1284
1285 * grub-core/disk/lvm.c (read_node): New function.
1286 (read_lv): Use read_node.
1287 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
1288 Match volumes only at the end when all lvs are found. Take both
1289 pvs (first) and lvs (second) into account.
1290 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
1291 mirror_* into node_*. All users updated.
1292 (grub_lvm_stripe): Merge this ...
1293 (grub_lvm_mirror): ... and this ...
1294 (grub_lvm_node): ... into this. All users updated.
1295
6f332153
VS
12962011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
1299 of function to allow further scanning for LVMs.
1300
829ea451
VS
13012011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
1304 on failed seek as it breaks open fd reusage.
1305
09ceb9a5
VS
13062011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * util/grub-install.in: Add a recommendation to use --recheck before
1309 reporting bugs.
1310
67e11623
VS
13112011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
1314 are obtained.
1315
caee5efd
VS
13162011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 GRUB developper manual based on existing Internals section and
1319 contributions by the various authors with active copyright assignment.
1320
1321 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
1322 * docs/font_char_metrics.png: New file.
1323 * docs/font_char_metrics.txt: Likewise.
1324 * docs/grub-dev.texi: Likewise.
1325 * docs/grub.texi (Internals): Move from here ...
1326 * docs/grub-dev.texi: ... here.
1327
2cccc747
CW
13282011-04-01 Colin Watson <cjwatson@ubuntu.com>
1329
1330 Store the loopback device as data on loopback grub_disk structures,
1331 rather than the file it points to. This fixes use of freed memory
1332 if an existing loopback device is replaced.
1333
1334 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
1335 disk->data, not dev->file.
1336 (grub_loopback_read): Adjust file assignment to match.
1337 Fixes Ubuntu bug #742967.
1338
186ae367
CW
13392011-04-01 Colin Watson <cjwatson@ubuntu.com>
1340
1341 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
1342 when replacing an existing device.
1343
cfed2ad0
VS
13442011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
1347 memory corruptions.
1348
1349 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
1350 unsigned.
1351 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
1352 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
1353 (grub_jfs_read_inode): Likewise.
1354 (grub_jfs_opendir): Likewise. Remove now useless casts.
1355 (grub_jfs_getent): Likewise.
1356 Make ino a grub_uint32_t rather than int.
1357 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
1358 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
1359 division and module with bit operations.
1360 (grub_jfs_find_file): Make ino a grub_uint32_t.
1361 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
1362
05d2ed32
CW
13632011-04-01 Colin Watson <cjwatson@ubuntu.com>
1364
1365 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
1366 warning. (This was in fact always initialised before use, but GCC
1367 wasn't smart enough to prove that.)
1368 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
1369
91dc6073
VS
13702011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
1373 stack alignment.
1374 (efi_wrap_1): Likewise.
1375 (efi_wrap_2): Likewise.
1376 (efi_wrap_3): Likewise.
1377 (efi_wrap_4): Likewise.
1378 (efi_wrap_5): Likewise.
1379 (efi_wrap_6): Likewise.
1380 (efi_wrap_10): Likewise.
1381 Based on information by: Red Hat/Peter Jones.
1382
a8afc1d1
CW
13832011-03-31 Colin Watson <cjwatson@ubuntu.com>
1384
1385 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
1386 set-but-not-used variable.
1387
a826cc7d
CW
13882011-03-31 Colin Watson <cjwatson@ubuntu.com>
1389
1390 * docs/grub.texi (Simple configuration): Be more explicit about
1391 GRUB_DEFAULT, and add an example.
1392 Reported by: Leslie Rhorer.
1393
875b67ba
CW
13942011-03-30 Colin Watson <cjwatson@ubuntu.com>
1395
1396 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
1397 shell".
1398
fd7cd914
AS
13992011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
1400
1401 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
1402 * util/grub.d/20_linux_xen.in: Likewise.
1403
090b1b6a
VS
14042011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * util/grub.d/10_linux.in: Try alternative config filenames where
1407 we parse config file.
1408 * util/grub.d/20_linux_xen.in: Likewise.
1409
baad885c
AS
14102011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
1411
1412 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
1413 * util/grub.d/20_linux_xen.in: Likewise.
1414
241e41f5
VS
14152011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * grub-core/disk/raid.c (insert_array): Add few potentially
1418 useful grub_util_info.
1419 (grub_raid_register): Likewise.
1420
56445fb2
VS
14212011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
1424 Preserve partition number in mdadm code path.
1425
c871b1c6
VS
14262011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
1429 few potentially useful grub_util_info.
1430
5e631b4f
CW
14312011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
1434
2d5d0333
CW
14352011-03-30 Colin Watson <cjwatson@ubuntu.com>
1436
1437 * docs/grub.texi (default): Use @example rather than nested
1438 itemized lists to avoid breaking gendocs.
1439
3d7ed04e
CW
14402011-03-30 Colin Watson <cjwatson@ubuntu.com>
1441
1442 * docs/grub.texi (Future): Update.
1443
abf04200 14442011-03-30 Colin Watson <cjwatson@ubuntu.com>
1445
1446 * docs/grub.texi (Environment): New chapter.
1447 (Changes from GRUB Legacy): Link to "Environment block" section for
1448 details of limitations.
1449 (Simple configuration): Likewise. Link to documentation of gfxmode
1450 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
1451 respectively.
1452 (Shell-like scripting): Note that normal variables are stored in the
1453 environment.
1454 (gettext): Link to documentation of lang and locale_dir.
1455 (list_env): New section.
1456 (load_env): New section.
1457 (save_env): New section.
1458
1459 (Reporting bugs): Fix typo.
1460
e1ad0edd
VS
14612011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
1464 the example.
1465
5d803174
VS
14662011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * grub-core/term/at_keyboard.c (set_scancodes)
1469 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
1470
2a2da1d0
CW
14712011-03-30 Colin Watson <cjwatson@ubuntu.com>
1472
1473 * docs/grub.texi (Menu-specific commands): Remove some semantics
1474 that were true in GRUB Legacy but not in GRUB 2.
1475 (submenu): New section.
1476 (false): New section.
1477 (read): New section.
1478 (true): New section.
1479
a7527639
CW
14802011-03-30 Colin Watson <cjwatson@ubuntu.com>
1481
1482 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
1483
14842011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
1485
1486 * docs/grub.texi (Simple configuration): Explain some of the
1487 current limitations of grub-mkconfig.
8a748df2 1488 Reported by: Leslie Rhorer.
e30af029 1489
fc858482
VS
14902011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 Old macs search for boot.efi rather than for bootia32.efi.
1493
1494 * util/grub-install.in: Copy bootia32.efi to boot.efi.
1495 * util/grub-mkrescue.in: Likewise.
1496 Suggested by: Peter Jones.
1497
e1eb511d
VS
14982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
1501
70e75364
VS
15022011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
1505 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
1506 (grub_lvm_mirror): New struct.
1507 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
1508 (grub_lvm_iterate): Iterate only visible volumes.
1509 (grub_lvm_read): Factor out to ..
1510 (read_lv): ... this. Support mirrors.
1511 (grub_lvm_read): New wrapper function.
1512 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
1513 stripped or mirrored.
1514
fc18f6a3
VS
15152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
1518
5c650f4c
CW
15192011-03-29 Colin Watson <cjwatson@ubuntu.com>
1520
1521 * docs/grub.texi (loopback): New section.
1522
61d7156b
CW
15232011-03-29 Colin Watson <cjwatson@ubuntu.com>
1524
1525 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
1526 removed -p option.
1527
994b8264
CW
15282011-03-29 Colin Watson <cjwatson@ubuntu.com>
1529
1530 * docs/grub.texi (BIOS installation): New section, partly based on
1531 previous text in other sections.
1532 (Installing GRUB using grub-install): Replace BIOS discussion with a
1533 cross-reference.
1534 (Images): Likewise.
1535
9e4d19e0
VS
15362011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * grub-core/kern/emu/hostdisk.c (find_partition_start)
1539 [HAVE_DIOCGDINFO]: Add safety checks.
1540
a307c0b2
VS
15412011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
1544 per default compiled in kernel and prior to 8.0 isn't shipped at all.
1545
b4db4f39
CW
15462011-03-29 Colin Watson <cjwatson@ubuntu.com>
1547
1548 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
1549 real_sb->size is zero (e.g. RAID-0), get the disk size from
1550 real_sb->data_size instead.
1551 Fixes Ubuntu bug #743136.
1552
35e5f84c
VS
15532011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
1556 printf clauses for printing size and start.
1557
d2e29d81
VS
15582011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
1561 Reported and tested by: Timothy Nikkel.
1562
ed5587af
VS
15632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
1566 (dirty_region_add_real): ... this.
1567 (dirty_region_add): Don't discard margin refresh when performing
1568 scheduled repaint.
1569
a1dc717c
VS
15702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 * grub-core/lib/relocator.c (allocate_regstart)
1573 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
1574 terminals are capabple of malloc-free operation.
1575 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
1576 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
1577
9f3677d3
VS
15782011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
1579
1580 * util/grub-setup.c: Copy the partition table zone if floppy support
1581 is disabled, even if no partition table is found.
1582
1583 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
1584 during POST if an invalid partition table is contained in the PBR
1585 of the active partition when GRUB is installed to a partition.
1586
24148725
CW
15872011-03-28 Colin Watson <cjwatson@debian.org>
1588
1589 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
1590 comment.
1591
f329eda7
CW
15922011-03-28 Colin Watson <cjwatson@debian.org>
1593
1594 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
1595 to be specific about what kind of RAID device we're scanning for.
1596
c482ad98
SG
15972011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
1598
1599 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
1600 return freed string.
1601
5ee04984
VS
16022011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
1605
f4727da9
VS
16062011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 Use libgeom on FreeBSD to detect partitions.
1609
1610 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
1611 (grub-mkrelpath): Likewise.
1612 (grub-script-check): Likewise.
1613 (grub-editenv): Likewise.
1614 (grub-mkpasswd-pbkdf2): Likewise.
1615 (grub-fstest): Likewise.
1616 (grub-mkfont): Likewise.
1617 (grub-mkdevicemap): Likewise.
1618 (grub-probe): Likewise.
1619 (grub-setup): Likewise.
1620 (grub-ofpathname): Likewise.
1621 (grub-mklayout): Likewise.
1622 (example_unit_test): Likewise.
1623 (grub-menulst2cfg): Likewise.
1624 * grub-core/Makefile.core.def (grub-emu): Likewise.
1625 (grub-emu-lite): Likewise.
1626 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
1627 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
1628 define HAVE_DIOCGDINFO.
1629 (follow_geom_up) [FreeBSD]: New function.
1630 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
1631 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
1632 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
1633 unconditionally of HAVE_DIOCGDINFO.
1634
82fe6c75
VS
16352011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 Fix FreeBSD compilation problem.
1638
1639 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
1640 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
1641
4c6c9431
CW
16422011-03-24 Colin Watson <cjwatson@ubuntu.com>
1643
1644 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
1645 Switch back to page zero before loading a kernel, since some kernel
1646 drivers expect that.
1647 Thanks to: Felix Kuehling.
1648
c7064d94
VS
16492011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
1652 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
1653 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
1654
3f71cded
VS
16552011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
1658 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
1659
ef6de21a
VS
16602011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
1663 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
1664 malloc is disabled.
1665
8bc66a2c
VS
16662011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
1669 for modules headers when counting the needed allocation size.
1670
5657722c
VS
16712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
1674 if no ASCII character is found to prevent crash.
1675
41a85f55
AK
16762011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
1677
1678 * grub-core/video/bitmap.c (match_extension): Ignore case.
1679
59e1e5f1
VS
16802011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
1683
bd4d051a
VS
16842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * grub-core/script/parser.y: Declare "time" as valid argument.
1687
bae7fcc1
PJ
16882011-03-23 Peter Jones <pjones@redhat.com>
1689
1690 Fix incorrect assert failure reporting.
1691
1692 * grub-core/tests/example_functional_test.c (example_test): Add
1693 a failure comment.
1694 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
1695 (failure_start): ...this. Check that malloc succeeded.
1696 Don't call xvasprintf. Return failure struct.
1697 (failure_append_vtext): New function.
1698 (failure_append_text): Likewise.
1699 (add_failure): Likewise.
1700 (grub_test_assert_helper): Likewise.
1701 * include/grub/test.h (grub_test_assert_helper): New declaration.
1702 (grub_test_assert): Macro rewritten.
1703
537dc9be
VS
17042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
1707
fa3e01bf
VS
17082011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
1711
b1d28404
VS
17122011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
1715 into GRUB-style one.
1716
2e3e2e09
VS
17172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
1720 error and not grub_errno.
1721 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1722
ed57e557
VS
17232011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
1726 GRUB_USB_SPEED_NONE in case of failure and not the error code.
1727
d1611f01
VS
17282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 * grub-core/efiemu/i386/pc/cfgtables.c
1731 (grub_machine_efiemu_init_tables): Make declaration a prototype.
1732 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
1733 (grub_xnu_unlock): Likewise.
1734 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
1735
7d4e39d6
VS
17362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
1739 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
1740 * grub-core/commands/hashsum.c (aliases): Likewise.
1741 * grub-core/commands/setpci.c (pci_registers): Likewise.
1742 * grub-core/disk/usbms.c (attach_hook): Likewise.
1743 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
1744 (zio_checksum_table): Likewise.
1745 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
1746 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
1747 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
1748 * grub-core/lib/relocator.c (leftovers): Likewise.
1749 (extra_blocks): Likewise.
1750 * grub-core/loader/i386/bsd.c (relocator): Likewise.
1751 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
1752 (modules_last): Likewise.
1753 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
1754 (devices): Likewise.
1755 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
1756 (modules_last): Likewise.
1757 * grub-core/normal/auth.c (users): Likewise.
1758 * grub-core/normal/context.c (initial_menu): Likewise.
1759 (current_menu): Likewise.
1760 * grub-core/normal/crypto.c (crypto_specs): Likewise.
1761 * grub-core/term/serial.c (grub_serial_ports): Likewise.
1762 (grub_serial_terminfo_input_template): Likewise.
1763 (grub_serial_terminfo_output_template): Likewise.
1764 (grub_serial_terminfo_input): Likewise.
1765 (grub_serial_terminfo_output): Likewise.
1766 (registered): Likewise.
1767 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
1768
40fc4659
VS
17692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
1772 grub_video_mode_type_t.
1773 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
1774 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
1775 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
1776
2da48d28
VS
17772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * util/grub-install.in: Correct the x86-64 name as x86_64.
1780
9b43bf39
CW
17812011-03-11 Colin Watson <cjwatson@ubuntu.com>
1782
1783 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
1784 initial chunk read from the kernel always includes GRUB's multiboot
1785 header, which is now outside the first sector.
1786
be1a7ce0
CW
17872011-03-09 Colin Watson <cjwatson@ubuntu.com>
1788
1789 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
1790 cached mmap_size, so that this works correctly when called multiple
1791 times.
1792 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
1793
83a3c48d
CW
17942011-03-09 Colin Watson <cjwatson@ubuntu.com>
1795
1796 * docs/grub.texi (Simple configuration): Tidy up formatting.
1797
57d75699
SJ
17982011-03-07 Szymon Janc <szymon@janc.net.pl>
1799
1800 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
1801 Set-but-not-used variable removed.
1802
028501a0
VS
18032011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 Workaround yet another IEEE1275 bug.
1806
1807 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1808 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
1809 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
1810 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
1811 is set.
1812 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1813 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
1814
d998657d
VS
18152011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
1818 error.
1819
fee7cdd4
CW
18202011-02-11 Colin Watson <cjwatson@ubuntu.com>
1821
1822 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
1823 empty, since in that case we can only generate either nothing or a
1824 syntactically invalid configuration file.
1825 Reported by: Michal Suchanek. Fixes Debian bug #612898.
1826
97286eb5
CW
18272011-02-09 Colin Watson <cjwatson@ubuntu.com>
1828
1829 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
1830 (Making a GRUB bootable CD-ROM): Likewise.
1831 (Invoking grub-mkrescue): New section.
1832 Reported by: Yann Dirson. Fixes Debian bug #612585.
1833
22b28eb3
CW
18342011-02-09 Colin Watson <cjwatson@ubuntu.com>
1835
1836 * util/grub-install.in: Remove unnecessary brackets from tr
1837 arguments.
1838 * util/grub.d/10_hurd.in: Likewise.
1839 * util/grub.d/10_kfreebsd.in: Likewise.
1840 * util/grub.d/10_linux.in: Likewise.
1841 * util/grub.d/20_linux_xen.in: Likewise.
1842 Reported by: Jamie Heilman. Fixes Debian bug #612564.
1843
7e735e43
CW
18442011-02-08 Colin Watson <cjwatson@ubuntu.com>
1845
1846 * include/grub/file.h (not_easly_seekable): Rename to ...
1847 (not_easily_seekable): ... this. Update all users.
1848
800f1881
CW
18492011-01-28 Colin Watson <cjwatson@ubuntu.com>
1850
1851 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
1852 grub-mkrescue.
1853
3281d3d6
VS
18542011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * util/grub-mkimage.c (generate_image): Refuse to create the images
1857 bigger than the actual flash (512K) in Loongson machines. 512K is also
1858 the biggest chip supported by them.
1859
3533413c
VS
18602011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
1863
73ae4f4f
VS
18642011-01-22 Anthony DeRobertis <anthony@derobert.net>
1865
1866 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
1867 super_offset field.
1868
37f4f608
VS
18692011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 * util/grub-install.in: Ignore install device on platforms
1872 where it doesn't make sense. Always use UUIDs except on pc, efi and
1873 sparc64.
1874 Reported by: Daniel Kahn Gillmor.
1875
03a4ccb5
VS
18762011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
1879
ffc8f4d8
VS
18802011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
1883 (iterate_real): Don't rely on partition being non-NULL.
1884
80f23be7
VS
18852011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
1888 supported platforms. Put a compile time assert for this rather than
1889 generate a warning with 32-bit shift.
1890
5d4f4dd5
VS
18912011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
1894 logical expression more readable.
1895
e489601a
VS
18962011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
1899 even if some elements have a name.
1900 Reported by: Alexander GQ Gerasiov.
1901
96e0a6ea
CW
19022011-01-22 Colin Watson <cjwatson@ubuntu.com>
1903
1904 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
1905 path unreadable if `grub-probe -t abstraction' fails, for example if
1906 memberlist fails on an LVM volume group.
1907 Reported by: Darius Jahandarie.
1908
81431e2b
CW
19092011-01-22 Colin Watson <cjwatson@ubuntu.com>
1910
1911 * docs/grub.texi (Simple configuration): Document
1912 GRUB_PRELOAD_MODULES.
1913
5e79d66a
CW
19142011-01-17 Colin Watson <cjwatson@ubuntu.com>
1915
1916 * .bzrignore: Remove nonexistent grub-pbkdf2.
1917
646ada34
VS
19182011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * configure.ac: Bump version to 1.99~rc1.
1921
04360337
VS
19222011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
1925 for safety.
1926
46c9db88
VS
19272011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
1930 module.
1931
19322011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
1933
1934 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
1935
4fbf1852
VS
19362011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
1939 diskdevid.
1940
f1632d4d
VS
19412011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 Fix compilation on cygwin.
1944
1945 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
1946 -R .drectve on cygwin.
1947 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
1948 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
1949 (COND_CYGWIN): New condition.
1950 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
1951 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
1952 not @TARGET_OBJ2ELF@.
1953 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
1954 type to determine whether aux is to be used.
1955
0b5e127b
VS
19562011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
1959 realpath'ed device string.
1960 Handle floppy (somewhat).
1961 Issue error in unknown case rather than garbage.
1962 Reported by: Axel Beckert.
1963
173b71e9
VS
19642011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 * util/grub.d/00_header.in (load_video): Handle the case when no video
1967 drivers available.
1968 Thanks to: Axel Beckert.
1969
f8f479db
VS
19702011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
1973 variable. Fixes problem on big endian platforms.
1974
8fc0a245
VS
19752011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
1978 It doesn't work well there.
1979
b8494fbe
VS
19802011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
1983 warning.
1984 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
1985 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
1986 counter.
1987
b44a558c
VS
19882011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 Use alias->path rather than buggy "canon".
1991
1992 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
1993 (ofdisk_hash_add): New argument curcan. All users updated.
1994
51fa856c
CW
19952011-01-11 Colin Watson <cjwatson@ubuntu.com>
1996
1997 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
1998
9da068a5
VS
19992011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
2002 loadmask before doing any calculations. Use correct type for offset.
2003 (grub_linux_load64): Likewise.
2004
86205c94
CW
20052011-01-11 Colin Watson <cjwatson@ubuntu.com>
2006
2007 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
2008 with NULL.
2009 (console_grub_equivalences_unshift): Likewise.
2010 Reported by: Daniel Dehennin.
2011
4531a206
VS
20122011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
2015 (set_env_limn_ro): Likewise.
2016 (GRUB_MOD_INIT): Likewise.
2017 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
2018 ARRAY_SIZE while on it.
2019 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
2020 * grub-core/normal/context.c (grub_env_export): Move from here ...
2021 * grub-core/kern/env.c (grub_env_export): ... here.
2022 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
2023 prefix.
2024 * grub-core/kern/main.c (grub_main): Export root and prefix.
2025 * include/grub/env.h (grub_env_export): Export.
2026 Reported by: Seth Goldberg.
2027
45146057
VS
20282011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
2031 Take into account space used by ELF sections and multiboot palette.
2032 Reported by: Grégoire Sutre.
2033
f093110b
VS
20342011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 * BUGS: New file.
2037
3395fe52
VS
20382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 Pass more appropriate video id to Linux.
2041
2042 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
2043 grub_video_get_driver_id and variable gfxpayloadforcelfb to
2044 fill have_vga.
2045 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
2046 shift params->lfb_size.
2047 * include/grub/i386/linux.h: Make an enume out of have_vga values.
2048
c2fa6cbb
VS
20492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * util/grub-menulst2cfg.c: Add missing include of misc.h.
2052
b3ff6ff0
VS
20532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
2056 separator and pass bootpath/devid even if only one of them is available.
2057 Reported by: Seth Goldberg.
2058
ae67942e
VS
20592011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
2062 implementations bug on them.
2063
2064 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
2065 memory.
2066 (filter_memory_map): Likewise.
2067
d570097a
VS
20682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
2071 Reported by: nebuchadnezzar.
2072
a508e776
VS
20732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
2076 Reported by: nebuchadnezzar.
2077
dcb883b1
VS
20782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 Submenu default support.
2081
2082 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
2083 auto_boot. All users updated.
2084 Declared static.
2085 Handle chosen and default with submenus.
2086 (grub_menu_execute_with_fallback): Declared static.
2087 Don't notify failure if autobooted. Upper level does it.
2088 (menuentry_eq): New function.
2089 (get_entry_number): Use menuentry_eq.
2090 (show_menu): New parameter "autobooted". All users updated.
2091 (grub_show_menu): Likewise.
2092 * include/grub/normal.h (grub_show_menu): Likewise.
2093 * include/grub/menu.h (grub_menu_execute_entry): Removed.
2094 (grub_menu_execute_with_fallback): Likewise.
2095
6fef99b4
VS
20962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * util/grub-mklayout.c (usage): Update help text.
2099
47a77af5
VS
21002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
2103
ce6bb3ee
VS
21042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * util/grub-menulst2cfg.c (main): Trim the line.
2107
db87be2a
VS
21082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
2111 (grub_machine_init): Don't check amount of low memory as reportedly
2112 INT 12h can be broken and if low memory is too low we wouldn't have
2113 gotten into grub_machine_init anyway.
2114
c49849cc
VS
21152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
2118 (grub_machine_mmap_iterate): Take low memory into account
2119
b1969b30
VS
21202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
2123 badfs.
2124 Reported by: TiCPU.
2125
cf0eaf13
VS
21262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2127
2128 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
2129 members errors.
2130
1f060f39
GS
21312011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
2132
2133 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
2134 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
2135
a21e5672
GS
21362011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
2137
2138 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
2139 openbsd and netbsd types being in part_bsd module.
2140
c88172fa
VS
21412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
2144 (_FILE_OFFSET_BITS): Likewise.
2145 Reported by: Seth Goldberg.
2146
53798c4b
GS
21472011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2148
2149 * configure.ac: Check for libdevmapper header.
2150
e7121b69
VS
21512011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
2154 avoid aliasing.
2155 (fzap_lookup): Likewise.
2156 (dnode_get): Likewise.
2157 (make_mdn): Likewise.
2158 (zfs_mount): Likewise.
2159 (fzap_iterate): Use temporary pointer to avoid aliasing.
2160 (grub_zfs_read): Likewise.
2161 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
2162 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
2163 pointers to avoid aliasing.
2164 (grub_cmd_xnu_kernel64): Likewise.
2165 (grub_xnu_load_driver): Likewise.
2166
fc836af9
VS
21672011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
2170 aliasing warning.
2171 (grub_cmd_terminal_output): Likewise.
2172 Reported and tested by: Grégoire Sutre.
2173
f9f37648
VS
21742011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
2177 warning.
2178 Reported and tested by: Grégoire Sutre.
2179
ec1dfd63
VS
21802011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 * configure.ac: Do CPU substitution even if it's specified explicitly.
2183 Reported and tested by: Alain Greppin.
2184
9462775a
VS
21852011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
2188 Reported and tested by: Alain Greppin.
2189
0fd48e35
VS
21902011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 Satisfy some bison versions need for inttypes.h.
2193
2194 * grub-core/lib/posix_wrap/inttypes.h: New file.
2195 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
2196 (int16_t): Likewise.
2197 (int32_t): Likewise.
2198 (int64_t): Likewise.
2199 Reported and tested by: Alain Greppin.
2200
43f1bc83
VS
22012011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
2204 Silence spurious warning.
2205 Reported and tested by: Alain Greppin.
2206
64d1f041
SJ
22072011-01-07 Szymon Janc <szymon@janc.net.pl>
2208
2209 * docs/grub.texi (Support automatic decompression): Update with xz
2210 decompression support.
2211
25953e10
SJ
22122011-01-07 Szymon Janc <szymon@janc.net.pl>
2213
2214 Improve loaders' kernel command line handling.
2215
2216 * grub-core/lib/cmdline.c: New file.
2217 * include/grub/lib/cmdline.h: Likewise.
2218 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
2219 grub_create_loader_cmdline to create kernel command line.
2220 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2221 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
2222 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
2223 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
2224 (linux): Add lib/cmdline.c on common.
2225
e72d259f
VS
22262011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
2229 inopos might be unaligned.
2230
c0cf26da
VS
22312011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
2234 endian transformations.
2235 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2236 Based on report by: Doug Nazar.
2237
0ca09e6c
DN
22382011-01-07 Doug Nazar <nazard.michi@gmail.com>
2239
2240 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
2241 array->members[i].start_sector.
2242 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
2243
014b6806
VS
22442011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
2247 Reported and tested by: Grégoire Sutre.
2248
415502c2
CW
22492011-01-06 Colin Watson <cjwatson@ubuntu.com>
2250
2251 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
2252 avoid causing test failures by clearing the screen.
2253
71b6a2b7
CW
22542011-01-06 Colin Watson <cjwatson@ubuntu.com>
2255
2256 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
2257 Fix prefix check to handle the case where dir ends with a slash
2258 (most significantly, "/" itself).
2259 Reported by: Michael Vogt.
2260
b3f8d28a
VS
22612011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 Run terminfo_cls on initing terminfo output to clear the screen and
2264 move the cursor to (0,0).
2265
2266 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
2267 Call grub_terminfo_output_init.
2268 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
2269 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
2270 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
2271
4c3e4f37
VS
22722011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2273
2274 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
2275 only when needed.
2276
488f71f1
VS
22772011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
2280 CTRL.
2281
18a38098
VS
22822011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 The E820 type 5 is BADRAM, not EXEC_CODE.
2285
2286 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
2287 (GRUB_E820_BADRAM): New define.
2288 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
2289 into reserved. Propagate BADRAM.
2290 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
2291 (GRUB_E820_BADRAM): New define.
2292
9eae2084
VS
22932011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
2296 Ignore the memory post-4G.
2297 (grub_relocator_firmware_alloc_region): Additional debug statement.
2298
ebc71d28
VS
22992011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
2302 names.
2303 Reported by: David Pravec.
2304
446fa400
VS
23052011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
2308 BIOSes.
2309
a0159f37
VS
23102011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
2313 Prevent overflow.
2314 (grub_reed_solomon_recover): Likewise.
2315
e5146ca1
VS
23162011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2317
2318 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
2319
23202011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
2321
2322 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
2323 variable.
2324
5b1bdf12
CW
23252011-01-04 Colin Watson <cjwatson@ubuntu.com>
2326
2327 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
2328 descriptions of extract_legacy_entries_source and
2329 extract_legacy_entries_configfile.
2330 Reported by: Seung Soo, Ha.
2331
99d925aa
CW
23322011-01-03 Colin Watson <cjwatson@ubuntu.com>
2333
2334 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
2335 on devices that do not implement function 0.
2336
4af0504b
DV
23372011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
2338
2339 * grub-core/fs/hfsplus.c: Make parent unsigned.
2340 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
2341 overflows.
2342 (grub_hfsplus_cmp_extkey): Likewise
2343
469ee10a
VS
23442011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * util/grub-install.in: Correctly use bootloader_id and not
2347 GRUB_DISTRIBUTOR on efibootmgr line.
2348
323a8e9c
VS
23492011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
2352
1b394975
IC
23532010-12-31 Ian Campbell <ijc@hellion.org.uk>
2354
2355 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
2356 Xen and reorder menu item wording to make it clearer that this entry
2357 will launch Xen. Print separate messages when loading Xen and
2358 Linux.
2359
275bff5f
VS
23602010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
2363 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
2364 loop in case of incorrect amiga partmap.
2365
307806cb
VS
23662010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
2369 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
2370 Reported by:EHeM.
2371
b12b923e
VS
23722010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
2375 spurious warning.
2376 Reported by: crocket
2377
14b48a19
VS
23782010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
2381 Preload EFIemu.
2382 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
2383
693db2df
VS
23842010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
2387 is loaded
2388 (grub_cmd_xnu_kextdir): Likewise.
2389 (grub_cmd_xnu_splash): Likewise.
2390
c7638645
VS
23912010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 Avoid using Reed-Solomon with 0 redundancy.
2394
2395 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
2396 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
2397 or 0 redundancy.
2398 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
2399 (grub_reed_solomon_recover): Likewise.
2400
25dd4780
VS
24012010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 Don't use disk subsystem in freebsd_boot.
2404
2405 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
2406 (freebsd_biosdev): Likewise.
2407 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
2408 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
2409
0b2db943
VS
24102010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 Handling of files of unknown size is currently limited. They can't be
2413 used e.g. for initrd or modules. Moreover gzip handling of not
2414 easily seekable files is buggy. Disable unknown file size for now. May
2415 be inefficient but works.
2416
2417 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
2418 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
2419
5c408d0f
MP
24202010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
2421
2422 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
2423 floppy probe.
2424
190a011a
JD
24252010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
2426
2427 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
2428
022d01b8
SL
24292010-12-25 Shea Levy <shlevy>
2430
2431 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
2432
c4855fdc
VS
24332010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
2436 Windows Server 2008.
2437 Reported by: Devin Giddings.
2438
0354b867
VS
24392010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
2442 writing an error message because of async power management.
2443 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
2444 (grub_reboot): Likewise.
2445
ab66c69f
JU
24462010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
2447
2448 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
2449 keep unit tests from failing when they shouldn't.
2450
1426ef35
CW
24512010-12-21 Colin Watson <cjwatson@ubuntu.com>
2452
2453 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
2454 previous patch increased the size of the RS code by 20 bytes (at
2455 least with gcc-4.4), so increase this by 20 bytes to match.
2456 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2457
20641b6b
CW
24582010-12-21 Colin Watson <cjwatson@ubuntu.com>
2459
2460 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
2461 scratch area. Make sure to initialise chosen in standalone mode as
2462 well as non-standalone.
2463 Reported by: Robert Hooker and Andy Whitcroft.
2464 Tested by: Andy Whitcroft.
2465
d060ad60
CW
24662010-12-21 Colin Watson <cjwatson@ubuntu.com>
2467
2468 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
2469 constructing a new unescaped string and passing it to grub_xputs in
2470 one go, rather than passing characters to grub_printf one at a time.
2471
b889cfad
CW
24722010-12-21 Colin Watson <cjwatson@ubuntu.com>
2473
2474 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
2475 initialising utf16.
2476
4e01b6c8
CW
24772010-12-21 Colin Watson <cjwatson@ubuntu.com>
2478
2479 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
2480 comment. Add an extra layer of quotation, requiring the output of
2481 this function to be used in a printf format string.
2482 (gettext_printf): New function.
2483 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
2484 Extract translatable strings from here-documents and use a temporary
2485 variable instead, so that xgettext can find them.
2486 * util/grub.d/10_kfreebsd.in: Likewise.
2487 * util/grub.d/10_linux.in: Likewise.
2488 * util/grub.d/20_linux_xen.in: Likewise.
2489
2490 * po/grub.d.sed: New file.
2491 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
2492 arguments. Set c-format flags on all strings extracted from
2493 util/grub.d/ (xgettext refuses to include these itself for strings
2494 it extracted from a shell file, but these really are c-format).
2495
5318fe98
VS
24962010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
2499 Avoid next pointing to nowhere.
2500
6c85b743
VS
25012010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
2504 rather than assuming than rootblock is exactly in the middle.
2505 (grub_affs_label): Likewise.
2506
a2a08a35
VS
25072010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
2510 reserved_first_sector to 0.
2511 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
2512 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
2513 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
2514
7059d1ec
VS
25152010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 Fix handling of UTF-16 UDF labels.
2518
2519 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
2520 (read_string): .. here.
2521 (grub_udf_label): Use read_string.
2522
30aff4cb
BC
25232010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
2524
2525 * grub-core/normal/menu_entry.c (run): Execute commands from menu
2526 editor under argument scope.
2527 Reported by: Jordan Uggla
2528
5cf86f4b
VS
25292010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
2532
32570200
CW
25332010-12-18 Colin Watson <cjwatson@ubuntu.com>
2534
2535 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
2536 line, and other keys scroll an entire page (previous handling was
2537 for \r and \n to scroll a page and other keys to scroll two lines).
2538
e1dffcf2
VS
25392010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
2542 Set ptrdest to correct get_physical_target_address rather than
2543 incorrect get_virtual_current_address.
2544
b04298cf 25452010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
2546
2547 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
2548 correct cat to grub_uint8_t * rather than grub_uint32_t *.
2549
5367ecd3
CW
25502010-12-10 Colin Watson <cjwatson@ubuntu.com>
2551
2552 * .bzrignore: Ignore grub-core/rs_decoder.S.
2553
1fb430f8
CW
25542010-12-10 Colin Watson <cjwatson@ubuntu.com>
2555
2556 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
2557 .mo/.mo.gz opening sequence to ...
2558 (grub_mofile_open_lang): ... here.
2559 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
2560 * util/grub.d/00_header.in (grub_lang): Include country part of
2561 locale.
2562 Reported by: Mario Limonciello.
2563
a94a6671
RM
25642010-12-09 Robert Millan <rmh@gnu.org>
2565
2566 * NEWS: Document addition of ZFS support.
2567
24b7938b
CW
25682010-12-04 Colin Watson <cjwatson@ubuntu.com>
2569
2570 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
2571 rather than `/ 2', as the latter requires -Wa,--divide which would
2572 require bumping our minimum binutils version.
2573
bddc3ef6
BC
25742010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
2575
2576 * util/grub-script-check.c (main): Print script line number on
2577 error.
2578
bf78d5b2
RM
25792010-12-01 Robert Millan <rmh@gnu.org>
2580
2581 * grub-core/fs/zfs/zfs.c: New file.
2582 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
2583 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
2584 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
2585 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2586
2587 * include/grub/zfs/dmu.h: Likewise.
2588 * include/grub/zfs/dmu_objset.h: Likewise.
2589 * include/grub/zfs/dnode.h: Likewise.
2590 * include/grub/zfs/dsl_dataset.h: Likewise.
2591 * include/grub/zfs/dsl_dir.h: Likewise.
2592 * include/grub/zfs/sa_impl.h: Likewise.
2593 * include/grub/zfs/spa.h: Likewise.
2594 * include/grub/zfs/uberblock_impl.h: Likewise.
2595 * include/grub/zfs/vdev_impl.h: Likewise.
2596 * include/grub/zfs/zap_impl.h: Likewise.
2597 * include/grub/zfs/zap_leaf.h: Likewise.
2598 * include/grub/zfs/zfs.h: Likewise.
2599 * include/grub/zfs/zfs_acl.h: Likewise.
2600 * include/grub/zfs/zfs_znode.h: Likewise.
2601 * include/grub/zfs/zil.h: Likewise.
2602 * include/grub/zfs/zio.h: Likewise.
2603 * include/grub/zfs/zio_checksum.h: Likewise.
2604
2605 * Makefile.util.def: Build ZFS into libgrubmods.
2606 * grub-core/Makefile.core.def: Build zfs.mod.
2607
3f0f3831
SJ
26082010-11-30 Szymon Janc <szymon@janc.net.pl>
2609
2610 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
2611 variable.
2612 * grub-core/commands/wildcard.c (match_files): Likewise.
2613
3a4253b2
RM
26142010-11-30 Robert Millan <rmh@gnu.org>
2615
2616 * grub-core/loader/i386/bsd.c
2617 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
2618 whether kernel is loaded using grub_loader_is_loaded(), rather
2619 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
2620 certain error conditions.
2621
8c317b27
RM
26222010-11-30 Robert Millan <rmh@gnu.org>
2623
c5c9cd3e
RM
2624 * grub-core/commands/echo.c: Include `<grub/term.h>'.
2625 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 2626
49d3ab46
VS
26272010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 Avoid using tricks for initialising endian variables.
2630
2631 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
2632 Make const.
2633 (GRUB_MOD_INIT): Don't byte-swap.
2634 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
2635 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
2636 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
2637 (grub_swap_bytes32_compile_time): Likewise.
2638 (grub_cpu_to_le32_compile_time): Likewise.
2639 (grub_cpu_to_le16_compile_time): Likewise.
2640
f420a804
VS
26412010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * util/grub-setup.c (setup): Stop recommending --force. People who
2644 understand the dangers of blocklists are able to find this option
2645 anyway and the ones who don't shouldn't use it anyway.
2646
4e7db17b
RM
26472010-11-26 Robert Millan <rmh@gnu.org>
2648
2649 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
2650 Update all users.
2651
9be57a0d
CW
26522010-11-26 Colin Watson <cjwatson@ubuntu.com>
2653
2654 Fix LVM-on-RAID probing.
2655
2656 * util/grub-probe.c (probe): Remember which disk was detected as
2657 RAID (perhaps an LVM physical volume). Use that disk's raidname
2658 rather than that of the top-level disk.
2659
2c7859b3 26602010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 2661
d7647bb6
BC
2662 Fix cmdline argument quotes for setparams command of menuentry
2663 definitions.
7e623b0d
BC
2664
2665 * grub-core/commands/menuentry.c (setparams_prefix): Use single
2666 quotes for arguments.
f866fe80 2667 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 2668 grub_strchrsub function instead.
f866fe80 2669
7955bea0 2670 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 2671
74f72a64
CW
26722010-11-24 Colin Watson <cjwatson@ubuntu.com>
2673
2674 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
2675 effort by skipping "." and ".." entries up-front.
2676 Suggested by: Michael Lazarev.
2677
5a407278
CW
26782010-11-24 Colin Watson <cjwatson@ubuntu.com>
2679
2680 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
2681 ldflags to ldadd, to fix link line ordering.
2682 (none_decompress): Likewise.
2683
3030d8ec
CW
26842010-11-24 Colin Watson <cjwatson@ubuntu.com>
2685
2686 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
2687 platforms.
2688 (grub-emu-lite): Remove kern/emu/cache.S.
2689
b7fbac12
CW
26902010-11-23 Colin Watson <cjwatson@ubuntu.com>
2691
2692 * util/deviceiter.c (compare_devices): If the by-id link for a
2693 device couldn't be resolved, fall back to sorting by the by-id link
2694 rather than segfaulting.
2695 Reported and tested by: Daniel Mierswa.
2696
5225f328
CW
26972010-11-23 Colin Watson <cjwatson@ubuntu.com>
2698
2699 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
2700 ldflags, to fix link line ordering.
2701
038b3ce8
CW
27022010-11-23 Colin Watson <cjwatson@ubuntu.com>
2703
2704 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
2705 linkers are picky about this.
2706
bf16e98e
CW
27072010-11-23 Colin Watson <cjwatson@ubuntu.com>
2708
2709 * grub-core/Makefile.am (command.lst): Adjust sed expression
2710 ordering so that extended and priority commands aren't treated as
2711 ordinary commands.
2712
7242bab6
CW
27132010-11-23 Colin Watson <cjwatson@ubuntu.com>
2714
2715 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
2716 Remove byte-swapping function calls, which are not valid in
2717 structure initialisers.
2718 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
2719 non-const.
2720 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
2721 grub_gpt_partition_type_bios_boot.
2722
14e8b279
CW
27232010-11-22 Colin Watson <cjwatson@ubuntu.com>
2724
2725 Fix test program build on GNU/kFreeBSD.
2726
2727 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
2728 $(LIBNVPAIR)' library dependencies.
2729
e6f63338 27302010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
2731
2732 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
2733
cf8ffc38
CW
27342010-11-22 Colin Watson <cjwatson@ubuntu.com>
2735
2736 * util/grub-install.in: Remove excessive quoting that broke
2737 installations to RAID devices.
2738
7f8b0fd7
VS
27392010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
2742 bootloader version instead of 0.
2743
dfd240b1
VS
27442010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
2747 warning.
2748
7b61e609
VS
27492010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
2752 retrieve the metadat sector if size isn't known.
2753 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2754
9dfe92d0
RM
27552010-11-18 Robert Millan <rmh@gnu.org>
2756
2757 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
2758 with grub_memcmp().
2759
41cc919e
VS
27602010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
2763 arrow.
2764 Reported by: Jordan Uggla.
2765
1afcc914
VS
27662010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 Make better UTF compliant.
2769
2770 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
2771 sequences as incorrect.
2772 (grub_is_valid_utf8): Likewise.
2773 (grub_utf8_to_ucs4): Likewise.
2774 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
2775 (grub_ucs4_to_utf8_alloc): Likewise.
2776 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
2777
f1808884
VS
27782010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 Make legacy_source behave like source.
2781
2782 * grub-core/commands/legacycfg.c (legacy_file): Don't call
2783 grub_show_menu.
2784 (grub_cmd_legacy_source): Call grub_show_menu if needed.
2785
24ec575b
CW
27862010-11-16 Colin Watson <cjwatson@debian.org>
2787
2788 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
2789 (-Wunused implies -Wunused-parameter, but not vice versa).
2790
72b7c7aa
CW
27912010-11-16 Colin Watson <cjwatson@ubuntu.com>
2792
2793 * configure.ac: Make error messages less confusing by testing for
2794 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
2795 accepted, but produces a diagnostic if something else is wrong).
2796
e98937aa
VS
27972010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
2800 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
2801 (now unused).
2802 (grub_keyboard_controller_init)
2803 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
2804 read the initial state since controller isn't inited yet.
2805
f6bbabc3
VS
28062010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
2809 allocate_regbeg may need to create new chunk header.
2810
22e7dbb2
VS
28112010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 Fix quoting in legacy parser.
2814
2815 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
2816 single quotes.
2817 (grub_legacy_parse): Likewise.
2818 Reported by: Jordan Uggla.
2819 Tested by: Jordan Uggla.
2820
03f80960
VS
28212010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 Don't add -lgcc on i386 and x86_64.
2824
2825 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
2826 * conf/Makefile.common (LDADD_KERNEL): Likewise.
2827 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
2828
779dc15b
VS
28292010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * configure.ac: Add -Wno-trampolines when supported.
2832
d20a3b37
MV
28332010-11-14 Modestas Vainius <modax@debian.org>
2834
2835 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
2836 fakeraid.
2837
e5360933
GC
28382010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2839
2840 Add generic logical block size support for UDF.
2841
2842 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
2843 (GRUB_UDF_BLKSZ): Removed.
2844 (struct grub_udf_data): New field "lbshift" to hold the logical block
2845 size of the file system in log2 format. All users updated.
2846 (sblocklist): Change type to unsigned.
2847 (grub_udf_mount): Change type of "sblklist" to unsigned.
2848 Move AVDP search before VRS recognition, because the latter requires
2849 knowledge of the logical block size, which is detected during the
2850 former.
2851 Detect and validate logical block size during AVDP search, adding
2852 support for block sizes 512, 1024 and 4096.
2853 Make VRS recognition independent of block size.
2854
cb0229c5
GC
28552010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2856
2857 Properly handle deleted files on UDF.
2858
2859 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
2860 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
2861 set.
2862
406858a8
GC
28632010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2864
2865 Support reading files larger than 2 GiB.
2866
2867 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
2868 "offset" to grub_off_t.
2869 (grub_udf_read_file): Likewise for parameter "pos".
2870
130da6a7
VS
28712010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
2874 unavailable.
2875 (Simple configuration): Refer to Changes from GRUB Legacy about
2876 save_env availability.
2877
65e93f6b
VS
28782010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * util/grub-install.in: Ignore empty partition table detection
2881 instead of trying to include part_ module.
2882
1fd08bf1
VS
28832010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
2886 LVM on RAID support.
2887
de1a024f
VS
28882010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 Properly define WORDS_BIGENDIAN in wrapped environments.
2891
2892 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
2893 definition.
2894 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
2895
2896 Reported by: Manoel Rebelo Abranches.
2897 Tested by: Manoel Rebelo Abranches.
2898
bc5dd0b9
VS
28992010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * util/grub-mkconfig.in: Fix quoting.
2902
58c184be
VS
29032010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 Support big ext2 files.
2906
2907 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
2908 (grub_ext2_read_block): Support triple indirect blocks.
2909 (grub_ext2_read_file): Use 64-bit types and read size_high.
2910 (grub_ext2_open): Read size_high.
2911 Reported by: Ximin Luo.
2912 Tested by: Manoel Rebelo Abranches.
2913
5f0c02b3
VS
29142010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * util/grub-install.in: Handle filenames containing spaces.
2917 Reported by: Jordan Uggla.
2918 Tested by: Jordan Uggla.
2919
4417aae6
VS
29202010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * util/grub-mkconfig.in (grub_script_check): New variable.
2923 Use grub_script_check instead of grub-script-check.
2924 Reported by: Barry Jackson.
2925
7625a68e
VS
29262010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * docs/grub.texi (menu): Correct the order.
2929 Reported by: D. Hugh Redelmeier.
2930
10001ac5
VS
29312010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
2934 jump.
2935
9c4cf53b
MRA
29362010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2937
10001ac5
VS
2938 * include/grub/elfload.h (grub_elf32_size): New parameter.
2939 All users updated.
9c4cf53b
MRA
2940 Return maximum segments alignment.
2941 (grub_elf64_size): Likewise.
2942 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
2943 Return maximum segments alignment.
2944 (grub_elf64_size): Likewise.
2945 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
2946 (grub_linux_claimmap_iterate): New function. Uses the
2947 "available" property in the "memory" node for memory allocation
2948 for kernel in the PowerPC loader.
9c4cf53b
MRA
2949 (grub_linux_load32): Correctly find linux entry point offset.
2950 (grub_linux_load64): Likewise.
2951
d2bf06bf
RM
29522010-11-07 Robert Millan <rmh@gnu.org>
2953
2954 On mips-yeeloong, build with -march=loongson2f when this flag is
2955 available (GCC >= 4.4).
2956 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
2957 `-march=mips3'.
2958 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
2959 or otherwise add -march=mips3.
2960
898c99a2
BC
29612010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
2962
87220a68
BC
2963 Suppress shell expansion on echo '*' and echo "*" like cases.
2964 Reported by: Jordan Uggla.
898c99a2
BC
2965
2966 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
2967 string arguments before shell expansion.
2968 * tests/grub_cmd_echo.in: New testcases.
2969
4f9b406a
RM
29702010-11-07 Robert Millan <rmh@gnu.org>
2971
2972 * conf/mips-qemu-mips.rmk: Remove stale file from previous
2973 transition.
2974
80c6d25e
VS
29752010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * grub-core/kern/emu/hostdisk.c
2978 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
2979
4a1a0153
VS
29802010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
2983 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
2984 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
2985
34706ddc
VS
29862010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
2989
6972dea9
VS
29902010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * util/grub-install.in: Replace useless recomendation to pass
2993 --modules with a recomendation to report a bug.
2994
9c693bd6
VS
29952010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 Properly register serial terminfo.
2998 Reported by: Jordan Uggla
2999
3000 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
3001 const.
3002 (grub_serial_terminfo_output_template): Likewise.
3003 (grub_cmd_serial): Register "serial" with terminfo.
3004 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
3005 grub_serial_terminfo_output.
3006
6c9e4c0c
RM
30072010-11-05 Robert Millan <rmh@gnu.org>
3008
3009 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
3010 needed).
3011
b9b3839f
RM
30122010-11-05 Robert Millan <rmh@gnu.org>
3013
3014 On Yeeloong, pass machine type information to Linux.
3015
3016 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
3017 (LOONGSON_MACHTYPE): New macro, set to
3018 "machtype=lemote-yeeloong-2f-8.9inches".
3019 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
3020 additional argument to Linux.
3021
1a3aaff4
RM
30222010-11-04 Robert Millan <rmh@gnu.org>
3023
3024 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
3025 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
3026 (its SATA disks are detected as slaveless IDE master drives on
3027 kFreeBSD).
3028 Reported by Carsten Aulbert.
3029
a75f4f62
CW
30302010-11-02 Colin Watson <cjwatson@ubuntu.com>
3031
3032 * util/bin2h.c (main): Fix spelling error in generated output.
3033
33b4b0c6
GS
30342010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
3035
3036 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
3037
2b36fbf4
VS
30382010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
3041 vga= option is supplied.
3042
74aaf558
VS
30432010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
3046 * util/grub.d/10_kfreebsd.in: Likewise.
3047 * util/grub.d/10_linux.in: Likewise.
3048 * util/grub.d/20_linux_xen.in: Likewise.
3049
6428dec3
VS
30502010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
3053 argument as an argument to no-argument option.
3054
f8729d98
VS
30552010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * util/grub.d/10_linux.in: Add missing load_video with explicit
3058 GRUB_GFXPAYLOAD_LINUX.
3059
89d68fa6
VS
30602010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
3063
3a1197cd
VS
30642010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
3067 elements with invlid index.
3068 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3069 * grub-core/disk/raid.c (insert_array): Automatically reallocate
3070 members.
3071 * include/grub/raid.h (grub_raid_member): New struct.
3072 (grub_raid_array): Transform devices and start_sector into usage of
3073 grub_raid_member. All users updated
3074 (allocated_devs): New member.
3075
71574288
VS
30762010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
3079 is modified
3080
8d40ec65
BC
30812010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
3082
3083 NetBSD build fix for getline function conflict from gnulib.
3084
3085 * Makefile.util.def (libgrubkern.a): New library for grub kernel
3086 components that depend on gnulib headers.
3087 (libgrubmods.a): Renamed from earlier libgrub.a.
3088 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
3089
95b9257e
VS
30902010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
3093 install rather than creating a broken install.
3094
26c53dc6
VS
30952010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * util/grub-setup.c (argp): Remove misleading example of installing to
3098 a partition.
3099
4171b3c5
VS
31002010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * util/grub-setup.c (setup): Clarify the error message.
3103
18568d18
VS
31042010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
3107
4f6a2e21
VS
31082010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/kern/emu/misc.c
3111 (grub_make_system_path_relative_to_its_root)
3112 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
3113
31142010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
3115
3116 * grub-core/kern/emu/misc.c
3117 (grub_make_system_path_relative_to_its_root): Revert r2882.
3118
e138c458
VS
31192010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
3122 useless field head. All users updated.
3123 (free_subchunk): Correct handling of IN_REGION subchunk.
3124
0cbcdf0e
CW
31252010-10-22 Colin Watson <cjwatson@ubuntu.com>
3126
3127 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
3128 (Supported kernels): Likewise.
3129
b65ea155
GS
31302010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
3131
3132 Make mktemp invocations portable.
3133
3134 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
3135 exit if mktemp fails.
3136 * tests/grub_script_blockarg.in: Likewise.
3137 * tests/partmap_test.in: Likewise.
3138 * tests/util/grub-shell-tester.in: Likewise.
3139 * tests/util/grub-shell.in: Likewise.
3140 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3141 * Makefile.am: Likewise, and chain shell commands with `&&'
3142 instead of ';'.
3143 * util/grub-mkrescue.in: Use the same explicit template as above, and
3144 exit if mktemp fails.
3145
05f43cdd
BC
31462010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
3147
3148 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
3149 Linux kernel, reported by Dennis Schridde.
3150
800e6a9b
SJ
31512010-10-17 Szymon Janc <szymon@janc.net.pl>
3152
3153 * grub-core/normal/auth.c (grub_auth_check_authentication):
3154 Set-but-not-used variable removed.
3155
d82df574
VS
31562010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * docs/grub.texi (GNU/Linux): Document APM unavailability with
3159 32-bit linux protocol.
3160
7bced458
VS
31612010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
3164 cursor shape for sanity.
3165
5b027690
VS
31662010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * docs/grub.texi (Installation): Document buggy BIOS install.
3169
ba5f65cf
VS
31702010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * docs/grub.texi (Installation): Indent.
3173
fdf2ec9c
VS
31742010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 * util/grub-setup.c (setup): New parameter allow_floppy.
3177 (arguments): New member allow_floppy.
3178 (argp_parser): Handle --allow-floppy.
3179 (main): Pass allow_floppy.
3180 * util/grub-install.in: New option --allow-floppy passed though to
3181 grub-setup.
3182
861dfd4c
VS
31832010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * util/grub-install.in: Handle partitionless disks.
3186
f77a8c24
VS
31872010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * util/grub-setup.c (setup): Don't clean blocklists before readability
3190 verfification.
3191
27d9ee32
VS
31922010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 * docs/grub.texi (Installation): Document embedding zone. Remove
3195 obsolete grub-install example.
3196
6bdda8f8
SJ
31972010-10-16 Szymon Janc <szymon@janc.net.pl>
3198
3199 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
3200 Set-but-not-used variable ifdef'ed.
3201 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
3202 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
3203 variable removed.
3204 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
3205 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
3206 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
3207 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
3208 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
3209 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
3210 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
3211 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
3212 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
3213 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
3214 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
3215 Likewise.
3216
e19b016b
VS
32172010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
3220 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
3221 enum value.
3222
6c8d3002
VS
32232010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
3226 synonym to _S5_. Needed for some DSDTs.
3227
c32b51c9
VS
32282010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3229
3230 Userspace ACPI parser debugging.
3231
3232 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
3233 headers and add relevant defines. Don't include standard headers.
3234 (main) [GRUB_DSDT_TEST]: New function.
3235 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
3236 Don't declare functions.
3237
fbfbeb39
VS
32382010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 Remove dead grub_efi_mm_fini.
3241
3242 * grub-core/kern/efi/mm.c (allocated_page): Removed.
3243 (ALLOCATED_PAGES_SIZE): Likewise.
3244 (MAX_ALLOCATED_PAGES): Likewise.
3245 (allocated_pages): Likewise.
3246 (grub_efi_allocate_pages): Don't record allocated pages.
3247 (grub_efi_free_pages): Likewise.
3248 (grub_efi_mm_init): Likewise.
3249 (grub_efi_mm_fini): Removed.
3250
65f7ed7c
VS
32512010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
3254 (grub_efi_mm_init): Take into account the memory map size increase.
3255
24977b44
VS
32562010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
3259 (serial_hw_put): Wait based on real time rather than port reads. Don't
3260 roken ports.
3261 * include/grub/serial.h (grub_serial_port): New field broken.
3262
1eb01cd2
RM
32632010-10-16 Robert Millan <rmh@gnu.org>
3264
3265 * grub-core/kern/emu/misc.c
3266 (grub_make_system_path_relative_to_its_root): Fix premature return
3267 when processing non-root ZFS filesystems.
5f8b440b 3268 Reported by Sergio Talens-Oliag.
1eb01cd2 3269
2d5fed60
RM
32702010-10-15 Robert Millan <rmh@gnu.org>
3271
3272 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
3273 guarantee compressed ones are processed first.
3274
d0f4c1ea
VS
32752010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
3278 grub_efiemu_autocore.
3279
d87c681f
VS
32802010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
3283 rather than 0x1b.
3284 (grub_console_getkey): Use correct jae opcode rather than ja.
3285
219b3564
RM
32862010-10-12 Robert Millan <rmh@gnu.org>
3287
3288 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
3289 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
3290 variable. All references updated.
3291
3292 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
3293
20c6bb7e
VS
32942010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 Correctly distinguish mdraid flavours.
3297
3298 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
3299 (insert_array): New argument raid.
3300 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
3301 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
3302 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
3303
74baff84
VS
33042010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
3307 handling of special keys.
3308
3ef068df 33092010-10-02 Aleš Nesrsta <starous@volny.cz>
3310
c7980ad9
VS
3311 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
3312 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 3313
a9455194 33142010-10-02 Aleš Nesrsta <starous@volny.cz>
3315
c7980ad9
VS
3316 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
3317 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
3318 users updated.
a9455194 3319 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 3320 Use right endpoint when querying descriptor.
a9455194 3321
441cfe65
VS
33222010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 Clear out 0x80 color bit on EFI.
3325 Tested by: decoder
3326 Reported by: decoder and meta tech.
3327
3328 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
3329 (grub_console_setcolorstate): Clear out 0x80 bit.
3330 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
3331 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
3332 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
3333
bf26bcc4
VS
33342010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
3337 Set to "auto".
3338
6e3c515d
VS
33392010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
3342 mo_file after freeing.
3343
e6d983ba
VS
33442010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
3347
74ccb5b5
VS
33482010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
3351 flags.
3352
17821956
VS
33532010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
3356 usage.
3357
ee74fa48
VS
33582010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 Put terminfo into core on ieee1275 and yeeloong (needed for console).
3361
3362 * gentpl.py: New groups terminfoinkernel and terminfomodule.
3363 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
3364 and terminfo.h when needed.
3365 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
3366 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
3367 (terminfo): Enable only on terminfokernel.
3368 (extcmd): Likewise.
3369 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
3370 * include/grub/lib/arg.h: Likewise.
3371 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
3372 incorrect usage of ->.
3373
aa438e68
VS
33742010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
3377 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
3378
57994012
VS
33792010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 Fix coreboot compilation.
3382
3383 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3384 Take VBE info into account even if only text is supported.
3385 (fill_vbe_info): Take into account the case when only VGA text
3386 is supported.
3387 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
3388 on coreboot, multiboot and qemu.
3389
2a406611
VS
33902010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
3393 debug messages.
3394 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
3395
d33613fc
VS
33962010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
3399 parameters.
3400
44a1b432
VS
34012010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
3404 if they were BSD-style.
3405
edde54e6
VS
34062010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * grub-core/boot/i386/pc/lnxboot.S: Replace
3409 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
3410 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
3411
b65830fa
VS
34122010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 Write embedding zone using Reed-Solomon.
3415
3416 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
3417 * grub-core/Makefile.am (rs_decoder.S): New target.
3418 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
3419 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
3420 (multiboot): Move to RS part.
3421 (post_reed_solomon): New label.
3422 (grub_boot_drive): Move to non-RS part since it's modified in memory
3423 on boot.
3424 Include rs_decoder.S.
3425 * grub-core/lib/reed_solomon.c: New file.
3426 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
3427 New definition.
3428 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
3429 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
3430 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
3431 * include/grub/partition.h (grub_partition_map): Change prototype of
3432 embed to allow returning additional sectors.
3433 * include/grub/reed_solomon.h: New file.
3434 * util/grub-setup.c (setup): Handle Reed-Solomon.
3435
0b4b227f
CW
34362010-09-28 Colin Watson <cjwatson@ubuntu.com>
3437
3438 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
3439 i386 and x86-64 definedness tests.
3440
f772623b
YB
34412010-09-27 Yves Blusseau <blusseau@zetam.org>
3442
3443 Fix generation of kernel_syms.lst
3444
3445 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
3446 ASM_PREFIX
3447
8e57a6ca
RM
34482010-09-26 Robert Millan <rmh@gnu.org>
3449
3450 Support degraded ZFS arrays in "grub-probe -t device" resolution.
3451
3452 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
3453 the pool is an array of devices, iterate through it and return the
3454 first device that passes a stat() test (instead of blindly returning
3455 the first one).
3456
f9130836
RM
34572010-09-26 Robert Millan <rmh@gnu.org>
3458
3459 Build fixes for GNU/kFreeBSD.
3460
3461 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
3462 to programs that require ZFS conversion.
3463 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
3464 kernels that don't have FLOPPY_MAJOR.
3465
96510faf
BC
34662010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
3467
3468 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
3469
449333eb
BC
34702010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
3471
3472 Fix grub-emu build.
3473
3474 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
3475 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
3476 mdraid09 and mdraid1x.
3477
e1fd1939
CW
34782010-09-24 Colin Watson <cjwatson@ubuntu.com>
3479
3480 Re-enable grub-extras.
3481
3482 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
3483 avoid confusing Automake. Run autogen only twice, once for the top
3484 level and once for grub-core. Add Makefile.util.def and
3485 Makefile.core.def from extra modules to the appropriate autogen
3486 invocations. If Makefile.common exists in an extra module, include
3487 it in both Makefile.util.am and grub-core/Makefile.core.am;
3488 similarly, include any Makefile.util.common file in Makefile.util.am
3489 and any Makefile.core.common file in grub-core/Makefile.core.am.
3490 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
3491 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
3492 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
3493 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
3494
3495 * gentpl.py (gvar_add): Turn GVARS into a set.
3496 (global_variable_initializers): Sort global variables on output.
3497 (vars_init): New function.
3498 (first_time): Likewise.
3499 (library): Ensure that non-global variable initialisations are
3500 emitted before the first time we emit code for a library block.
3501 Append to variables rather than setting them. Only emit
3502 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
3503 each conditional path.
3504 (program): installdir() emits an Autogen macro, so must be passed to
3505 var_add rather than gvar_add.
3506 (data): Likewise.
3507 (script): Likewise.
3508 (rules): New function, centralising handling for different target
3509 types. Set up Guile association lists for first_time and vars_init,
3510 and send most output to a diversion so that variable initialisations
3511 can be emitted first.
3512 (module_rules): Use new rules function.
3513 (kernel_rules): Likewise.
3514 (image_rules): Likewise.
3515 (library_rules): Likewise.
3516 (program_rules): Likewise.
3517 (script_rules): Likewise.
3518 (data_rules): Likewise.
3519
3520 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
3521
3522 * .bzrignore: Add contrib and grub-core/contrib. Remove
3523 grub-core/Makefile.gcry.am.
3524
1d12cf29
YB
35252010-09-24 Yves Blusseau <blusseau@zetam.org>
3526
3527 * grub-core/lib/LzFind.c: Add missing include.
3528 * grub-core/lib/LzmaEnc.c: Likewise.
3529 * grub-core/script/lexer.c: Likewise.
3530 * grub-core/script/yylex.l: Likewise.
3531 * util/grub-macho2img.c: Likewise.
3532 * util/grub-menulst2cfg.c: Likewise.
3533 * util/grub-mklayout.c: Likewise.
3534 * util/grub-mkpasswd-pbkdf2.c
3535 * util/grub-mkrelpath.c: Likewise.
3536 * util/resolve.c: Likewise.
3537
dd363028
BC
35382010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
3539
3540 * Makefile.util.def (example_unit_test): Add
3541 grub-core/gnulib/libgnu.a.
3542
f5a109e2
GS
35432010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
3544
3545 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
3546
6d0fa83c
VS
35472010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 Support xz compression on yeeloong.
3550
3551 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
3552 * configure.ac: Check for LZMA.
3553 * grub-core/Makefile.core.def (xz_decompress): New target.
3554 (none_decompress): Likewise.
3555 * grub-core/boot/decompressor/minilib.c: New file.
3556 * grub-core/boot/decompressor/none.c: Likewise.
3557 * grub-core/boot/decompressor/xz.c: Likewise.
3558 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
3559 * grub-core/kern/mips/cache_flush.S: Likewise.
3560 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
3561 * grub-core/kern/mips/startup.S: Move first stage to ...
3562 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
3563 nomacro.
3564 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
3565 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
3566 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
3567 Allocate statically.
3568 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
3569 Allocate statically or use scratch. Don't check CRC32.
3570 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
3571 Allocate statically. Don't check CRC32.
3572 * include/grub/decompressor.h: New file.
3573 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
3574 Removed.
3575 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
3576 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
3577 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
3578 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
3579 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
3580 * util/grub-mkimage.c (grub_compression_t): New type.
3581 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
3582 (image_target_desc): New field default_compression.
3583 (image_targets): Adjust yeeloong targets.
3584 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
3585 (compress_kernel): New parameter comp.
3586 (generate_image): Likewise. Handle new compression case.
3587 (options): New option --compression
3588 (help): Likewise.
3589 (main): Handle new option.
3590
1b655af6
GS
35912010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
3592
3593 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
3594
8f03f0b5
CW
35952010-09-22 Colin Watson <cjwatson@ubuntu.com>
3596
3597 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
3598 typo in __i386__ conditional.
3599
7835dfd3
VS
36002010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
3603 include.
3604
e255597e
VS
36052010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3606
6d0fa83c 3607 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
3608
3609 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
3610 new tags as supported.
3611 (acpiv2_size): New function.
3612 (grub_multiboot_get_mbi_size): Take new tags into account.
3613 (grub_multiboot_make_mbi): Add new tags.
3614 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 3615
6cc14051 36162010-09-21 Aleš Nesrsta <starous@volny.cz>
3617
3618 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
3619 Added missing configuration of USB device.
3620
df7769d8
CW
36212010-09-21 Colin Watson <cjwatson@ubuntu.com>
3622
3623 * grub-core/normal/menu_entry.c (run): Make sure we always return
3624 a value.
3625
b031012d
CW
36262010-09-21 Colin Watson <cjwatson@ubuntu.com>
3627
3628 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
3629 NumberOfPages is UINT64 according to the UEFI specification, not
3630 UINTN. Fix printf format.
3631
174de8f3
CW
36322010-09-21 Colin Watson <cjwatson@ubuntu.com>
3633
3634 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
3635 `err' to grub_usb_err_t.
3636 Reported and tested by: KESHAV P.R.
3637
d7dbe923
CW
36382010-09-21 Colin Watson <cjwatson@ubuntu.com>
3639
3640 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
3641 tpart non-const, so that we can assign to it. (Since this is a
3642 typedef, the constness refers to the pointer rather than what it
3643 points to.)
3644
8d5e2af3
CW
36452010-09-21 Colin Watson <cjwatson@ubuntu.com>
3646
3647 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
3648 $(top_srcdir)/grub-core/gnulib as well as
3649 $(top_builddir)/grub-core/gnulib.
3650 Reported by: KESHAV P.R.
3651
5c527783
CW
36522010-09-21 Colin Watson <cjwatson@ubuntu.com>
3653
3654 * util/grub-install.in: Fix the bootloader ID option to be
3655 consistently --bootloader-id, not --bootloader_id.
3656 Reported by: KESHAV P.R.
3657
d309a16e
CW
36582010-09-21 Colin Watson <cjwatson@ubuntu.com>
3659
3660 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
3661 check hash checksum." consistently translatable.
3662
b830cd16
YB
36632010-09-21 Yves Blusseau <blusseau@zetam.org>
3664
3665 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
3666 $(top_builddir).
3667
c4fe27a8
CW
36682010-09-21 Colin Watson <cjwatson@ubuntu.com>
3669
3670 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
3671 (GRUB_MOD_INIT): Register sha1sum command.
3672 (GRUB_MOD_FINI): Unregister sha1sum command.
3673
a4c1d277
YB
36742010-09-21 Yves Blusseau <blusseau@zetam.org>
3675
3676 Keep boot and grub directory names in sync with utils scripts
3677
3678 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
3679 * config.h.in: Add previous macros.
3680 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
3681 * util/grub-install.in: Use $bootdir and $grubdir variables.
3682
4eff79d2
CW
36832010-09-21 Colin Watson <cjwatson@ubuntu.com>
3684
3685 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
3686 convert partition names to disk names if the new `convert' parameter
3687 is set.
3688 (grub_util_biosdisk_get_grub_dev): If opening the disk device
3689 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
3690 disk in its own right. This can happen with Xen disk images.
3691
934d7e44
YB
36922010-09-21 Yves Blusseau <blusseau@zetam.org>
3693
3694 * util/grub-editenv.c: Update strings to avoid warnings when generating
3695 grub.pot file.
3696 * util/grub-setup.c: Likewise.
934d7e44 3697
df3367cc
VS
36982010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
3699
3700 * configure.ac: Change version to 1.99~beta0.
3701
77a94e98
VS
37022010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
3705 Add BADRAM.
3706 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
3707 Likewise.
3708 * include/multiboot.h: Resynced with specification.
3709 * include/multiboot2.h: Likewise.
3710
269004c1
CW
37112010-09-21 Colin Watson <cjwatson@ubuntu.com>
3712
3713 Fix po directory handling.
3714
3715 * configure.ac: Create po/Makefile.in rather than po/Makefile.
3716 * grub-core/gnulib/Makefile.am: Import gettext module.
3717 * m4/gnulib-cache.m4: Likewise.
3718 * m4/gnulib-comp.m4: Likewise.
3719 * m4/gettext.m4: New file, from gnulib.
3720 * m4/glibc2.m4: Likewise.
3721 * m4/iconv.m4: Likewise.
3722 * m4/intdiv0.m4: Likewise.
3723 * m4/intl.m4: Likewise.
3724 * m4/intldir.m4: Likewise.
3725 * m4/intlmacosx.m4: Likewise.
3726 * m4/intmax.m4: Likewise.
3727 * m4/inttypes-pri.m4: Likewise.
3728 * m4/lcmessage.m4: Likewise.
3729 * m4/lib-ld.m4: Likewise.
3730 * m4/lib-link.m4: Likewise.
3731 * m4/lib-prefix.m4: Likewise.
3732 * m4/lock.m4: Likewise.
3733 * m4/nls.m4: Likewise.
3734 * m4/po.m4: Likewise.
3735 * m4/printf-posix.m4: Likewise.
3736 * m4/progtest.m4: Likewise.
3737 * m4/threadlib.m4: Likewise.
3738 * m4/uintmax_t.m4: Likewise.
3739 * m4/visibility.m4: Likewise.
3740 * po/Makefile.am: Remove.
3741 * po/Makefile.in.in: New file, from gettext.
3742 ($(DOMAIN).pot-update): Support POTFILES-shell.
3743 * po/Makevars: New file.
3744 * po/POTFILES-shell: Rename to ...
3745 * po/POTFILES-shell.in: ... this. Update.
3746 * po/POTFILES: Rename to ...
3747 * po/POTFILES.in: ... this. Update.
3748 * po/Rules-quot: New file, from gettext.
3749 * po/boldquot.sed: Likewise.
3750 * po/en@boldquot.header: Likewise.
3751 * po/en@quot.header: Likewise.
3752 * po/insert-header.sin: Likewise.
3753 * po/quot.sed: Likewise.
3754 * po/remove-potcdate.sin: Likewise.
3755
3e0fa5d0
VS
37562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
3759
ade9bd66
VS
37602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * util/grub.d/20_linux_xen.in: Use submenus.
3763
fc55cc4c
VS
37642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 Support submenus.
3767
3768 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
3769 parameter submenu. All users updated.
3770 * grub-core/normal/main.c (free_menu): Rename to ...
3771 (grub_normal_free_menu): ... this. Made global.
3772 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
3773 if requested.
3774 * grub-core/normal/menu_entry.c (screen): New field submenu.
3775 (make_screen): Set submenu.
3776 (run): Open new context if requested.
3777 * include/grub/menu.h (grub_menu_entry): New field submenu.
3778 * include/grub/normal.h (grub_normal_free_menu): New proto.
3779
600cedf7
VS
37802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 Menu entries extractor.
3783
3784 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
3785 variants.
3786 (GRUB_MOD_INIT): Register new variants.
3787 (GRUB_MOD_FINI): Unregister new variants.
3788 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
3789 into grub_cmd_legacy_source.
3790 (grub_cmd_legacy_source): Implement extractor variants.
3791 (GRUB_MOD_INIT): Register new variants.
3792 (GRUB_MOD_FINI): Unregister new variants.
3793 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
3794 as an extractor.
3795 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
3796 search as an extractor.
3797 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
3798 test as an extractor.
3799 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
3800 as an extractor.
3801 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
3802 (grub_env_new_context): New function.
3803 (grub_env_context_open): Likewise.
3804 (grub_env_extractor_open): Likewise.
3805 (grub_env_extractor_close): Likewise.
3806 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
3807 grub_extractor_level.
3808 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
3809 * include/grub/env.h (grub_env_extractor_open): New proto.
3810 (grub_env_extractor_close): Likewise.
3811 * include/grub/normal.h (grub_extractor_level): New external variable.
3812
7bda3a87
VS
38132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 Make cutmem accept a region specification.
3816 Suggested by: Samuel Thibault
3817
3818 * grub-core/mmap/mmap.c (parsemem): New function.
3819 (grub_cmd_cutmem): Handle new arguments.
3820
2ea57f88
VS
38212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 New command cutmem.
3824
3825 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
3826 (GRUB_MOD_INIT): Register new command.
3827 (GRUB_MOD_FINI): Unregister new command.
3828
74342e31
VS
38292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 Support some annoying BSD and Minix subpartitions.
3832
3833 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
3834 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3835 Properly handle concatenation.
3836 * grub-core/kern/device.c (grub_device_iterate): Likewise.
3837 * grub-core/normal/completion.c (iterate_partition): Likewise.
3838 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
3839 contain partition. All users updated.
3840 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
3841 struct.
3842 (grub_openbsdlabel_partition_map): Likewise.
3843 (bsdlabel_partition_map_iterate): Rename to ..
3844 (iterate_real): ... this. New arguments sector, freebsd and pmap.
3845 (bsdlabel_partition_map_iterate): New function.
3846 (netopenbsdlabel_partition_map_iterate): Likewise.
3847 (netbsdlabel_partition_map_iterate): Likewise.
3848 (openbsdlabel_partition_map_iterate): Likewise.
3849 (GRUB_MOD_INIT): Register new partmaps.
3850 (GRUB_MOD_FINI): Unregister new partmaps.
3851 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
3852 (grub_partition_msdos_iterate): ... this. All users updated.
3853 Don't support embedding other than in a minix partition.
3854 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
3855 proto.
3856 * include/grub/partition.h (grub_partition): New field msdostype.
3857 * util/grub-install.in: Handle openbsd and netbsd types being in
3858 part_bsd module.
3859
1e8d555b
VS
38602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3861
3862 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
3863
3864 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
3865 * grub-core/Makefile.core.def (mdraid): Renamed to ...
3866 (mdraid09): ... this.
3867 (mdraid1x): New module.
3868 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
3869 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
3870
899d8af4
VS
38712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
3874 vsprintf.
3875
40901acd
CW
38762010-09-20 Colin Watson <cjwatson@ubuntu.com>
3877
3878 * grub-core/commands/efi/lsefimmap.c: Correct header.
3879 * NEWS: Update.
3880
dfe3b247
CW
38812010-09-20 Colin Watson <cjwatson@ubuntu.com>
3882
3883 * util/grub-editenv.c (argp_parser): Don't pass translated strings
3884 as printf format strings; the translations might contain '%' which
3885 could cause a crash.
3886 (main): Likewise.
3887 * util/grub-fstest.c (argp_parser): Likewise.
3888 * util/grub-setup.c (argp_parser): Likewise.
3889 (main): Likewise.
3890
3286a4b4
VS
38912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 Use argp in grub-fstest.
3894
3895 * util/grub-fstest.c: Don't include getopt.h.
3896 Include argp.h.
3897 (root): New variable.
3898 (args_count): Likewise.
3899 (nparm): Likewise.
3900 (num_disks): Likewise.
3901 (images): Likewise.
3902 (cmd): Likewise.
3903 (debug_str): Likewise.
3904 (args): Likewise.
3905 (options): Transformed to argp.
3906 (usage): Removed.
3907 (main): Split argument parsing into ...
3908 (argp_parser): ... this. Changed to argp format.
3909 (argp): New variable.
3910 (main): Use argp_parse.
3911
3dccbe4b
TG
39122010-09-20 Tristan Gingold <gingold@free.fr>
39132010-09-20 Robert Millan <rmh.grub@aybabtu.com>
39142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3915
3916 * grub-core/commands/efi/lsefimmap.c: New file.
3917 * grub-core/Makefile.core.def (lsefimmap): New module.
3918 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
3919
38c259a7
VS
39202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 Pause the execution (10s max) if any errors are displayed so the user
3923 has a chance to see them.
3924
3925 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
3926 (grub_print_error): Increment grub_err_printed_errors.
3927 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
3928 execution if any errors were displayed.
3929 (show_menu): Remove old code for pause.
3930 * grub-core/normal/menu_entry.c (run): Likewise.
3931 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
3932 users updated.
3933 (grub_normal_get_char_counter): Likewise.
3934 * include/grub/err.h (grub_err_printed_errors): New external variable.
3935 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
3936
f218b09c
VS
39372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 Support multiboot VBE info.
3940
3941 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3942 Take VBE info into account.
3943 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
3944 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3945 Call fill_vbe_info when appropriate.
3946 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
3947 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
3948 as supported.
3949 (grub_multiboot_get_mbi_size): Take new tags into account.
3950 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
3951 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3952 Call fill_vbe_tag when appropriate.
3953 (grub_multiboot_make_mbi): Properly align tags.
3954 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
3955 function.
3956 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
3957 proto.
3958 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
3959
a9cc5438
VS
39602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 Suport manual terminal geometry specification.
3963
3964 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
3965 Save state in grub_ofconsole_terminfo_output.
3966 (grub_ofconsole_term): Use grub_terminfo_getwh.
3967 (grub_ofconsole_getwh): Removed.
3968 * grub-core/term/serial.c (grub_serial_getwh): Removed.
3969 (grub_serial_term): Use grub_terminfo_getwh.
3970 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
3971 (options): New struct.
3972 (OPTION_*): New enum.
3973 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
3974 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
3975 width and height.
3976 (grub_terminfo_getwh): New proto.
3977 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
3978
1a8fed20
VS
39792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 Handle legacy "terminal" command.
3982
3983 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
3984 and FLAG_TERMINAL.
3985 (legacy_commands): Add terminal and title.
3986 (grub_legacy_parse): Handle terminal. Simplify title handling.
3987
41e9c57d
VS
39882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
3991 parameters overflow.
3992
61c874c5
CW
39932010-09-20 Colin Watson <cjwatson@ubuntu.com>
3994
3995 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
3996 widthspec.h.
3997
3998 * docs/grub.texi (Shell-like scripting): Document `!'.
3999 (Network): Simplify using new i386-pc-pxe format. Mention
4000 grub-mknetdir.
4001
4002 * NEWS: Update.
4003
943682b4
CW
40042010-09-20 Colin Watson <cjwatson@ubuntu.com>
4005
4006 * Makefile.am (SUBDIRS): Restore "."; it's important to force
4007 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
4008 when needed.
4009
6d3d698d
CW
40102010-09-20 Colin Watson <cjwatson@ubuntu.com>
4011
4012 * grub-core/commands/efi/lsefisystab.c: Correct header.
4013 * grub-core/commands/efi/lssal.c: Likewise.
4014 * grub-core/commands/testload.c: Likewise.
4015
c982589f
CW
40162010-09-20 Colin Watson <cjwatson@ubuntu.com>
4017
4018 * util/grub-mkrescue.in: Add explicit root argument to --set to
4019 prevent the UUID being interpreted as an argument to --set (matches
4020 previous change to prepare_grub_to_access_device).
4021
a63c31b6
CW
40222010-09-20 Colin Watson <cjwatson@ubuntu.com>
4023
4024 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
4025 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
4026 the verbosity of later #ifs.
4027 (find_partition_start): Define this function on FreeBSD too.
4028 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
4029 function.
4030 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
4031 on FreeBSD.
4032
6439b8ee
YB
40332010-09-20 Yves Blusseau <blusseau@zetam.org>
4034
4035 * util/grub-editenv.c: Use argp instead of getopt.
4036
c5930ec8
YB
40372010-09-20 Yves Blusseau <blusseau@zetam.org>
4038
4039 * util/grub-setup.c: Use argp instead of getopt.
4040
15c69261
YB
40412010-09-20 Yves Blusseau <blusseau@zetam.org>
4042
4043 Use gnulib-tool to create gnulib source files.
4044
4045 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
4046 grub-core/gnulib directories
4047 * .bzignore: Add **/.deps and autogenerated gnulib files
4048 * configure.ac: Assign auxiliary directory to build-aux, add invocation
4049 of gnulib macros, add grub-core/gnulib/Makefile
4050 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
4051 include m4 directory to aclocal.
4052 * Makefile.util.def: Remove direct compilation of gnulib source files
4053 and use the new grub-core/gnulib/libgnu.a.
4054 * build-aux/config.rpath: move config.rpath from top directory to
4055 build-aux
4056 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
4057 in gnulib headers
4058 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
4059 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
4060 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
4061 header.
4062 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
4063 string.
4064
e511c9f5
YB
40652010-09-20 Yves Blusseau <blusseau@zetam.org>
4066
4067 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
4068 grub-core/genmod.sh and grub-core/gensyminfo.sh
4069
c2dede05
BC
40702010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
4071
4072 Add a test for echo command options.
4073
4074 * tests/grub_cmd_echo.in: New test.
4075 * Makefile.util.def: Rules for new test.
4076
c55f5018
SJ
40772010-09-20 Szymon Janc <szymon@janc.net.pl>
4078
4079 Remove crc.mod and move crc command to hashsum.mod.
4080 Remove lib/crc.c - users updated to use gcrypt implementation.
4081
4082 * grub-core/commands/crc.c: Removed.
4083 * grub-core/Makefile.core.def (crc): Module removed.
4084 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
4085 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
4086 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
4087 * grub-core/lib/crc.c: Removed.
4088 * include/grub/lib/crc.h: Removed.
4089 * Makefile.util.def (crc): Remove lib/crc.c
4090 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
4091 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
4092 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
4093 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
4094 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
4095 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
4096
e0337366
VS
40972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
4100
742f9232
VS
41012010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 Split config.h for util and core.
4104
4105 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
4106 (ADDR32): Likewise.
4107 (DATA32): Likewise.
4108 (BSS_START_SYMBOL): Likewise.
4109 (END_SYMBOL): Likewise.
4110 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
4111 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
4112 * config.h.in: New file.
4113 * configure.ac: Use config-util.h as config define file.
4114 Rename MACHINE into GRUB_MACHINE. All users updated.
4115 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
4116 updated.
4117 (NESTED_FUNC_ATTR): Likewise.
4118 Substitue new variables.
4119 (COND_HAVE_ASM_USCORE): New conditional.
4120 * grub-core/Makefile.am (ASM_PREFIX): New variable.
4121 (kernel_syms.lst): Use ASM_PREFIX.
4122 * grub-core/kern/emu/console.c: Include config-util.h.
4123 * grub-core/kern/emu/misc.c: Likewise.
4124 * grub-core/kern/emu/mm.c: Likewise.
4125 * include/grub/emu/misc.h: Likewise.
4126 * include/grub/libgcc.h: Likewise.
4127
39feb0e8
VS
41282010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
4131 constants usage.
4132 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
4133 Fix GRUB_TERM_KEY_* constants usage.
4134 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
4135
9af6dac3
VS
41362010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
4139 print pointer.
4140 * grub-core/bus/usb/uhci.c: Remove empty define.
4141 (grub_uhci_check_transfer): Add missing cast.
4142 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
4143 print pointer.
4144 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
4145 PRIuGRUB_SIZE.
4146 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
4147
d6d94820
VS
41482010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * grub-core/Makefile.core.def (legacycfg): Add
4151 lib/i386/pc/vesa_modes_table.c on emu.
4152
3572f2b6
BC
41532010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
4154
4155 Reduce number of temporary files generated by build system.
4156
4157 * grub-core/gencmdlist.sh: Removed.
4158 * grub-core/genfslist.sh: Removed.
4159 * grub-core/genhandlerlist.sh: Removed.
4160 * grub-core/genmodsrc.sh: Removed.
4161 * grub-core/genpartmaplist.sh: Removed.
4162 * grub-core/genparttoollist.sh: Removed.
4163 * grub-core/gentermiinallist.sh: Removed.
4164 * grub-core/genvideolist.sh: Removed.
4165
4166 * grub-core/genmod.sh.in: New file.
4167 * grub-core/gensyminfo.sh.in: New file.
4168
4169 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
4170 * conf/Makefile.extra-dist: Update with new files.
4171 * gentpl.py: Remove rules related to unnecessary temporary files.
4172 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
4173 and und-* files.
4174 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
4175 genmod.sh scripts.
4176 * grub-core/bus/usb/uhci.c: Remove empty #define.
4177 * grub-core/genmoddep.awk: Updated with new syminfo format.
4178 * util/bash-completion.d/Makefile.am: Add config.log to
4179 CLEANFILES.
4180
c836b030
YB
41812010-09-19 Yves Blusseau <blusseau@zetam.org>
4182
4183 * Makefile.util.def: Add forgotten $(LIBINTL) library.
4184
2f4e8053
BC
41852010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
4186
4187 * util/grub-mkconfig.in: Check the config script for syntax errors
4188 before saving.
4189
75831c34
CW
41902010-09-19 Colin Watson <cjwatson@ubuntu.com>
41912010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 * Makefile.util.def (grub-install): Use util/grub-install.in on all
4194 platforms.
4195 * util/grub-install.in: Add EFI and IEEE1275 support.
4196 * util/i386/efi/grub-install.in: Removed.
4197 * util/ieee1275/grub-install.in: Likewise.
4198
eaf41b25
VS
41992010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
4202 (grub_cmd_cmosclean): Likewise.
4203 (GRUB_MOD_INIT): Register command cmosclean.
4204 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
4205 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
4206
1a9130dd
CPE
42072010-09-18 Carles Pina i Estany <carles@pina.cat>
42082010-09-18 Aleš Nesrsta <starous@volny.cz>
42092010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 Add keyboard layouts support.
4212
4213 * Makefile.util.def (grub-mklayout): New file.
4214 (grub-kbdcomp): New script.
4215 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
4216 Add keyboard_layouts.h.
4217 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
4218 commands/boot.c on yeeloong.
4219 (keylayouts): New module.
4220 * grub-core/bus/usb/ohci.c
4221 * grub-core/bus/usb/uhci.c
4222 * grub-core/bus/usb/usbhub.c (rescan): New variable.
4223 (grub_usb_add_hub): Poll interrupt pipe for device handling.
4224 (attach_root_port): Likewise.
4225 (poll_nonroot_hub): Likewise.
4226 (grub_usb_poll_devices): Likewise.
4227 (detach_device): Close transfer.
4228 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
4229 function.
4230 (grub_usb_bulk_setup_readwrite): Likewise.
4231 (grub_usb_bulk_finish_readwrite): Likewise.
4232 * grub-core/commands/keylayouts.c: New file.
4233 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
4234 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
4235 aliases.
4236 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
4237 support scancode 2.
4238 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
4239 * include/grub/keyboard_layouts.h: New file.
4240 * util/grub-mklayout.c: New file.
4241 * util/grub-kbdcomp.in: Likewise.
4242
a1d84a5e
VS
42432010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 Unify memory types.
4246
4247 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
4248 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
4249 types.
4250 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
4251 (grub_upper_mem): Likewise.
4252 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
4253 * include/grub/memory.h (grub_memory_type_t): New enum.
4254 All users updated.
4255
9696382e
VS
42562010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * grub-core/Makefile.core.def (lsapm): New module.
4259 * grub-core/commands/i386/pc/lsapm.c: New file.
4260 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
4261 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
4262 Likewise.
4263 * include/grub/i386/pc/apm.h: New file.
4264 * include/multiboot.h (multiboot_apm_info): New struct.
4265
42662010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 GRUB-legacy configuration file support.
4269
4270 * Makefile.util.def (grub-menulst2cfg): New util.
4271 * docs/man/grub-menulst2cfg.h2m: New file.
4272 * grub-core/Makefile.core.def (legacycfg): New module.
4273 * grub-core/commands/legacycfg.c: New file.
4274 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
4275 (grub_normal_add_menu_entry): ... this.
4276 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
4277 (grub_normal_set_password): ...this.
4278 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
4279 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
4280 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
4281 * grub-core/lib/legacy_parse.c: New file.
4282 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
4283 * include/grub/i386/pc/vesa_modes_table.h: New file.
4284 * include/grub/legacy_parse.h: Likewise.
4285 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
4286 * util/grub-menulst2cfg.c: New file.
4287
bf8d1338
CW
42882010-09-17 Colin Watson <cjwatson@ubuntu.com>
4289
4290 * grub-core/kern/emu/hostdisk.c
4291 (convert_system_partition_to_system_disk): Initialise node.
4292
9c0bad2e
CW
42932010-09-17 Colin Watson <cjwatson@ubuntu.com>
4294
4295 * grub-core/kern/emu/hostdisk.c
4296 (convert_system_partition_to_system_disk): Fix devmapper memory pool
4297 leak.
4298 Reported and based on patch by: Modestas Vainius.
4299
a939d135
CW
43002010-09-17 Colin Watson <cjwatson@ubuntu.com>
4301
4302 Fix DM-RAID probing with recent versions of device-mapper udev
4303 rules.
4304
4305 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
4306 canonicalise device paths under /dev/mapper/.
4307 (convert_system_partition_to_system_disk): Compare the
4308 uncanonicalised path to /dev/mapper/ rather than the canonicalised
4309 path, since device nodes under /dev/mapper/ are often symlinks.
4310
0f7ee3c9
YB
43112010-09-17 Yves Blusseau <blusseau@zetam.org>
4312
4313 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
4314
10854d0d
YB
43152010-09-16 Yves Blusseau <blusseau@zetam.org>
4316
4317 * configure.ac: Avoid some annoying error messages if freetype-config
4318 program is not found.
4319
108538d8
CW
43202010-09-16 Colin Watson <cjwatson@ubuntu.com>
4321
4322 Support RAID on virtio devices, and others.
4323
4324 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
4325 Rename to ...
4326 [__MINGW32__] (grub_find_device): ... this.
4327 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
4328 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
4329 reasonable default if dir is NULL.
4330 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
4331 ...
4332 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
4333 (grub_guess_root_device): Update callers.
4334 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
4335
4336 * util/raid.c (grub_util_getdiskname): Remove.
4337 (grub_util_raid_getmembers): Use grub_find_device rather than
4338 grub_util_getdiskname.
4339
e5bfc130
CW
43402010-09-16 Colin Watson <cjwatson@ubuntu.com>
4341
4342 * docs/grub.texi (serial): Remove obsolete comment about GRUB
4343 needing to be compiled with serial support.
4344 (ls): Indicate that multiple files are accepted.
4345 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
4346 indicate that multiple files are accepted.
4347
be458ae2
CW
43482010-09-16 Colin Watson <cjwatson@ubuntu.com>
4349
4350 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
4351 libgrub_a_init.c, and util/bash-completion.d/grub.
4352
cb731b5e
VS
43532010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 * util/grub-setup.c (setup): Fix incorrect container semantics.
4356
35139e8a
VS
43572010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
4360 misusage.
4361 Reported by: J. Nick Terry
4362
e50fca4a
VS
43632010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 Move embedding routines to partmap sources files.
4366
4367 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
4368 [GRUB_UTIL]: New variable.
4369 (gpt_partition_map_iterate): Set part.parent.
4370 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
4371 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
4372 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
4373 New function.
4374 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
4375 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
4376 (grub_partition_map) [GRUB_UTIL]: New field embed.
4377 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
4378 (setup): Use ->embed.
4379
f00478b7
VS
43802010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
4383 function.
4384 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
4385 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
4386
2b94e3ff
YB
43872010-09-15 Yves Blusseau <blusseau@zetam.org>
4388
4389 Add function to get completions from usage.
4390
4391 * util/bash-completion.d/grub-completion.bash.in: Add function to get
4392 completions from usage. Use LC_ALL=C to get options properly.
4393
2e04a006
VS
43942010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 * grub-core/gnulib/basename-lgpl.c: Imported.
4397 * grub-core/gnulib/basename.c: Likewise.
4398 * grub-core/gnulib/dirname-lgpl.c: Likewise.
4399 * grub-core/gnulib/dirname.c: Likewise.
4400 * grub-core/gnulib/dirname.h: Likewise.
4401 * grub-core/gnulib/stripslash.c: Likewise.
4402
5dcdf93a
VS
44032010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * grub-core/gnulib/error.c: Resynced.
4406 * grub-core/gnulib/getopt.c: Likewise.
4407 * grub-core/gnulib/getopt_int.h: Likewise.
4408 * grub-core/gnulib/regex.h: Likewise.
4409 * grub-core/gnulib/regex_internal.c: Likewise.
4410 * grub-core/gnulib/regex_internal.h: Likewise.
4411
014f47b7
SJ
44122010-09-15 Szymon Janc <szymon@janc.net.pl>
4413
4414 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
4415 CRC calculations and validity checks.
4416 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
4417 calculations.
4418
dd521a4a
SJ
44192010-09-15 Szymon Janc <szymon@janc.net.pl>
4420
4421 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
4422
79c4eeb9
VS
44232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 Fix incorrect echo options handling.
4426 Reported by: Yves Blusseau.
4427
4428 * include/grub/command.h (grub_command_flags_t): New flags
4429 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
4430 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
4431 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
4432
ed80f7d5
VS
44332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
4436 users updated.
4437 (GRUB_COMMAND_FLAG_MENU): Likewise.
4438 (GRUB_COMMAND_FLAG_BOTH): Likewise.
4439 (GRUB_COMMAND_FLAG_TITLE): Removed.
4440 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
4441 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
4442 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
4443 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
4444 (grub_command_flags_t): New enum. All users updated.
4445
5fe7620a
SG
44462010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
4447
4448 Fix solaris compilation.
4449
4450 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
4451 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
4452 (grub-emu-list): Likewise.
4453
545b752f
VS
44542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 Remove deprecated root command.
4457
4458 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
4459 updated.
4460
6c1a338c
VS
44612010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * util/i386/pc/grub-setup.c: Merge this ...
4464 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
4465 * util/grub-setup.c: ... into this.
4466 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
4467 New struct.
4468
44692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
4472 possible.
4473
d2ea4551
VS
44742010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
4477 allocate p.
4478
3c3b5040
VS
44792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
4482 explicit root argument to set to prevent UUID to be interpreted as
4483 argument to set.
4484
b71c3fae
VS
44852010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
4488
275433e6
VS
44892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4490
4491 Don't export grub_gate_a20.
4492
4493 * grub-core/kern/i386/pc/init.c: Remove leftovers.
4494 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
4495 to ...
4496 (grub_gate_a20): ... this. All users updated.
4497 * include/grub/i386/pc/init.h: Removed. All users updated.
4498
a5dbb1f1
VS
44992010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 Create euro.pf2 which supports most European languages.
4502
4503 * Makefile.am (grubdata_DATA): Add euro.pf2.
4504 (euro.pf2): New target.
4505 (CLEANFILES): Add euro.pf2.
4506
62a747cb
VS
45072010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * configure.ac: Disable emu-usb by default to prevent inadvertent
4510 device takeover.
4511
608e43b1
VS
45122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 Disable usbserial on grub-emu since our libusb code isn't good enough
4515 yet.
4516
4517 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
4518 (usbserial_pl2303): Likewise.
4519 (usbserial_ftdi): Likewise.
4520
94564f81
VS
45212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 * include/grub/disk.h (grub_disk): Remove has_partitions.
4524 All users updated.
4525 * disk/loopback.c (grub_loopback): Remove has_partitions.
4526 All users updated.
4527 (options): Remove partitions. All users updated.
4528 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
4529 * util/i386/pc/grub-setup.c (setup): copy partition table only when
4530 actual partition table is found.
4531
3352800b
VS
45322010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 Remove readability checks (too many false negatives).
4535
4536 * util/grub-install.in: Remove readability checks.
4537 * util/grub-mkconfig.in: Likewise.
4538 * util/grub.d/10_hurd.in: Likewise.
4539 * util/grub.d/10_kfreebsd.in: Likewise.
4540 * util/grub.d/10_linux.in: Likewise.
4541 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
4542 way.
4543
2419f17a
VS
45442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 Enable acpi shutdown on all ACPI platforms.
4547
4548 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
4549 on coreboo, multiboot and EFI.
4550 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
4551 (grub_acpi_halt): Likewise.
4552 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
4553 (grub_cmd_halt): Don't call grub_acpi_halt directly.
4554 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
4555 * grub-core/lib/i386/halt.c (grub_halt)
4556 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
4557
0575c7c3
VS
45582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
4561 context.
4562
54ac3cd1
VS
45632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * grub-core/video/efi_gop.c: Fix over-80-chars line.
4566 * grub-core/video/efi_uga.c: Likewise.
4567
b2a30ac5
VS
45682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 Filter devaliases and never open same device twice.
4571
4572 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
4573 (last_ihandle): Likewise.
4574 (ofdisk_hash_ent): New member shortest.
4575 (ofdisk_hash_add): Add canonical path too.
4576 (scan): New function.
4577 (grub_ofdisk_iterate): Iterate over hashed entries.
4578 (compute_dev_path): Don't add :0.
4579 (grub_ofdisk_open): Don't really open the disk.
4580 (grub_ofdisk_close): Avoid closing unrelated disk.
4581 (grub_ofdisk_read): Implement reopen logic.
4582 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
4583 New function.
4584 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
4585 New proto.
4586
fb53b340
VS
45872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 Fix sparc64.
4590
4591 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
4592 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
4593 right address. Add sparc64_ieee1275_ldflags.
4594 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
4595 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
4596 to grub_host_to_target_addr
4597 (load_image): Likewise.
4598
f452b040
VS
45992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * grub-core/normal/completion.c (complete_file): Handle device
4602 containing slash.
4603 Fix based on patch by Doug Nazar.
4604
9b5b2541
VS
46052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 grub-mknetdir script.
4608
4609 * Makefile.util.def (grub-mknetdir): New module.
4610 * tests/util/grub-shell.in: Support boot=net
4611 * util/grub-mknetdir.in: New file.
4612
9d2be652
VS
46132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 videoinfo on non-vbe.
4616
4617 * grub-core/Makefile.core.def (vbeinfo): Removed.
4618 (vbetest): Removed.
4619 (videoinfo): New module.
4620 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
4621 * grub-core/commands/i386/pc/vbetest.c: Removed.
4622 * grub-core/commands/videoinfo.c: New file.
4623 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
4624 specification.
4625 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
4626 as vbetest.
4627 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
4628 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
4629 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
4630 mode_number. New parameter mode. All users updated.
4631 (grub_video_gop_iterate): New function.
4632 (grub_video_efi_gop): New member iterate.
4633 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
4634 (grub_vbe_set_video_mode): Remove setting useless fields.
4635 (vbe2videoinfo): New function.
4636 (grub_video_vbe_iterate): Likewise.
4637 (grub_video_vbe_setup): Use vbe2videoinfo.
4638 (grub_video_vbe_print_adapter_specific_info): New function.
4639 (grub_video_vbe_adapter): New fields iterate and
4640 print_adapter_specific_info.
4641 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
4642 All users updated.
4643 (grub_video_mode_info): New field mode_number.
4644 (grub_video_adapter): New fields iterate and
4645 print_adapter_specific_info.
4646
179503f5
TG
46472010-09-13 Tristan Gingold <gingold@free.fr>
46482010-09-13 Robert Millan <rmh.grub@aybabtu.com>
46492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * grub-core/commands/efi/lsefisystab.c: New file.
4652 * grub-core/commands/efi/lssal.c: Likewise.
4653 * grub-core/Makefile.core.def (lsacpi): New module.
4654 (lsefisystab): Likewise.
4655 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
4656 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
4657 (grub_efi_sal_system_table): New struct.
4658 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
4659 (grub_efi_sal_system_table_memory_descriptor): Likewise.
4660 (grub_efi_sal_system_table_platform_features): Likewise.
4661 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
4662 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
4663 (grub_efi_sal_system_table_ap_wakeup): Likewise.
4664 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
4665
cf9827de
VS
46662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 Support explicit user claim that a device is BIOS-visible.
4669
4670 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
4671 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
4672 * grub-core/kern/emu/hostdisk.c
4673 (convert_system_partition_to_system_disk): Support mdX.
4674 (find_system_device): New parameter add. All users updated.
4675 (grub_util_biosdisk_is_present): New function.
4676 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
4677 proto.
4678
53f0eb1f
VS
46792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 Search hints support.
4682
4683 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
4684 All users updated.
4685
b23ffd70
YB
46862010-09-13 Yves Blusseau <blusseau@zetam.org>
4687
4688 Bash completion script for util commands
4689
4690 * Makefile.am: Add util/bash-completion.d directory
4691 * configure.ac: Likewise.
4692 * util/bash-completion.d/Makefile.am: New file.
4693 * util/bash-completion.d/grub-completion.bash.in: Likewise.
4694
d547dc28
VS
46952010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
4698 (print_backlog): set backlog_ucs4 and backlog_glyphs.
4699 Reported by: Yves Blusseau.
4700
2fc8ccb9
VS
47012010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
4704 partition size and offset.
4705
d8a84076
VS
47062010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
4709
84fb3b3d
VS
47102010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
4713
768ec2e2
VS
47142010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
4717 (grub_xvasprintf): Likewise.
4718
4870900f
VS
47192010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
4722
faca6bec
VS
47232010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
4726 args ending with NULL.
4727
47282010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
4729
4730 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
4731 pointer.
4732
3c70f225
SJ
47332010-09-11 Szymon Janc <szymon@janc.net.pl>
4734
4735 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
4736
4df7996d
VS
47372010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 Shutdown using ACPI.
4740
4741 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
4742 * grub-core/commands/acpihalt.c: New file.
4743 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
4744 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
4745 (grub_acpi_halt): New proto.
4746 (GRUB_ACPI_SLP_EN): New const.
4747 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
4748 (GRUB_ACPI_OPCODE_*): New enum.
4749 (GRUB_ACPI_EXTOPCODE_*): Likewise.
4750
126b4c32
TG
47512010-09-11 Tristan Gingold <gingold@free.fr>
47522010-09-11 Robert Millan <rmh.grub@aybabtu.com>
47532010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * commands/lsacpi.c: New file.
4756 * grub-core/Makefile.core.def (lsacpi): New module.
4757 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
4758 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
4759 (grub_acpi_madt_entry_header): New struct.
4760 (grub_acpi_madt): Likewise.
4761 (grub_acpi_madt_entry_interrupt_override): Likewise.
4762 (grub_acpi_madt_entry_sapic): Likewise.
4763 (grub_acpi_madt_entry_lsapic): Likewise.
4764 (grub_acpi_madt_entry_platform_int_source): Likewise.
4765 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
4766 (PRIuGRUB_UINT32_T): Likewise.
4767 (PRIxGRUB_UINT64_T): Likewise.
4768
1aa4fe88
VS
47692010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 Implement loading palette on ieee1275_fb.
4772
4773 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
4774 (have_setcolors): Likewise.
4775 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
4776 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
4777 (grub_video_ieee1275_set_palette): Implement.
4778
25761e13
VS
47792010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
47802010-09-11 Colin Watson <cjwatson@ubuntu.com>
4781
4782 * util/grub-install.in (grub_partition): New variable.
4783 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
4784 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
4785 Fixes a bug reported by Yves Blusseau.
4786
050abaea
VS
47872010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 Fix emu on mipsel.
4790
4791 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
4792 =grub_cpu_flush_cache on all mips and not only yeeloong.
4793 * configure.ac (COND_mips): New conditional.
4794 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
4795 platforms.
4796 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
4797 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
4798 [GRUB_LINKER_HAVE_INIT]: New function.
4799 (grub_emu_post_init): Likewise.
4800 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
4801 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
4802 * include/grub/cache.h (_mips): Include mips/cache.h.
4803 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
4804 LVM and RAID prototypes.
4805 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
4806 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
4807 function.
4808
5ed7d816
CW
48092010-09-10 Colin Watson <cjwatson@ubuntu.com>
4810
4811 * util/grub-install.in: Don't try to verify core.img until after
4812 running grub-mkimage to create it.
4813
90367e04
RM
48142010-09-10 Robert Millan <rmh@gnu.org>
4815
4816 * util/grub.d/10_hurd.in: Add misc readability checks.
4817 * util/grub.d/10_kfreebsd.in: Likewise.
4818 * util/grub.d/10_linux.in: Likewise.
4819
c452fa66
CW
48202010-09-10 Colin Watson <cjwatson@ubuntu.com>
4821
4822 * util/grub-install.in: ${imgext} won't be defined here until the
4823 install branch is merged. For the meantime, only verify core.img on
4824 i386-pc and sparc64-ieee1275 platforms.
4825
c38fe9f4
RM
48262010-09-10 Robert Millan <rmh@gnu.org>
4827
4828 Solaris support in grub_find_zpool_from_dir(). Thanks
4829 Seth Goldberg for referring to getextmntent() facility.
4830
4831 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
4832 `sys/mkdev.h'.
4833 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
4834 `<sys/mnttab.h>'.
4835 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
4836 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
4837 method for finding zpool name.
4838
905f7773
CW
48392010-09-10 Colin Watson <cjwatson@ubuntu.com>
4840
4841 grub-fstest needs the host and hostfs modules while other utilities
4842 actively require those modules to be absent, so grub-fstest needs
4843 its own initialisation and finalisation code.
4844
4845 * Makefile.am (grub_fstest.pp): New target.
4846 (grub_fstest_init.lst): Likewise.
4847 (grub_fstest_init.c): Likewise.
4848 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
4849
fb90b546
RM
48502010-09-10 Robert Millan <rmh@gnu.org>
4851
4852 * configure.ac: Check for `struct statfs.f_fstypename' and
4853 `struct statfs.f_mntfromname'.
4854
4855 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
4856 kFreeBSD-specific code.
4857
66d4bea5
RM
48582010-09-10 Robert Millan <rmh@gnu.org>
4859
4860 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
4861 on ZFS. Now non-main filesystems are supported as / too.
4862
b6a690ee
CW
48632010-09-09 Colin Watson <cjwatson@ubuntu.com>
4864
4865 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
4866 and grub-core/disk/host.c to ...
4867 (grub-fstest): ... here. Having the host disk implementation
4868 present confuses grub-probe and other utility programs.
4869
4870 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
4871 when writing to a file, not when writing to stdout.
4872
8901b00c 48732010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
4874
4875 * tests/partmap_test.in: New test for partitions.
4876 * Makefile.util.def: Rules for new test.
4877
7bf45fdd
RM
48782010-09-09 Robert Millan <rmh@gnu.org>
4879
4880 * util/grub-probe.c (probe): Fix a pair of unhandled error
4881 conditions.
4882
4dfbc574
RM
48832010-09-09 Robert Millan <rmh@gnu.org>
4884
4885 Basic Btrfs support (detection and UUID).
4886
4887 * grub-core/fs/btrfs.c: New file.
4888 * Makefile.util.def (library): Register btrfs.c.
4889 * grub-core/Makefile.core.def: Likewise.
4890
6b8e78ae
RM
48912010-09-08 Robert Millan <rmh@gnu.org>
4892
4893 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
4894 with (optional) parameters to specify device and relative path.
4895 * util/grub-install.in: Use is_path_readable_by_grub() to
4896 verify readability of a few critical files.
4897 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
4898 verify readability of grub.cfg.new.
4899
27f21a8b
VS
49002010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 Split minix.mod into minix.mod and minix2.mod.
4903
4904 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
4905 * grub-core/Makefile.core.def (minix2): New module.
4906 * grub-core/fs/minix.c: Use definitions instead of runtime version
4907 checking.
4908 * grub-core/fs/minix2.c: New file.
4909
c0e53ea5
YB
49102010-09-08 Yves Blusseau <blusseau@zetam.org>
4911
4912 Add new --boot-directory option to replace --root-directory
4913
4914 * util/grub-install.in: Add new --boot-directory option
4915 * util/grub-reboot.in: Likewise.
4916 * util/grub-set-default.in: Likewise.
4917
b9fe6ea2
YB
49182010-09-08 Yves Blusseau <blusseau@zetam.org>
4919
4920 * util/grub-mkconfig.in: Use new variable.
4921
d87aedff
YB
49222010-09-08 Yves Blusseau <blusseau@zetam.org>
4923
4924 * configure.ac: Define some useful variables.
4925
e55e8495
VS
49262010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4929 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
4930 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
4931 Use terminfo and don't use cursor-on/cursor-off unless it's known
4932 to work.
4933 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
4934 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
4935
6fa6d675
CW
49362010-09-08 Colin Watson <cjwatson@ubuntu.com>
4937
4938 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
4939 starts with "(,", fill the drive containing the loaded image in
4940 between those two characters, but expect that a full partition
4941 specification including partition map names will follow.
4942
92f2aef0
RM
49432010-09-08 Robert Millan <rmh@gnu.org>
4944
4945 * configure.ac: Remove `--enable-grub-fstest' option.
4946 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
4947
4948 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
4949 `grub-fstest' instead of `grub-probe' for readability verification.
4950 * util/grub-probe.c (probe): Remove readability verification kludge.
4951
99fd620d
RM
49522010-09-08 Robert Millan <rmh@gnu.org>
4953
4954 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
4955 initializing `GRUB_FS'.
4956
058e30ac 49572010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
4958
4959 Not command (!) support to GRUB script.
4960
4961 * tests/grub_script_not.in: New test.
4962 * Makefile.util.def: Rules for new test.
4963
4964 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
4965 ! command as a special case.
4966 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
4967
b61d05ed 49682010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4969
058e30ac 4970 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
4971 grub_free.
b61d05ed 4972
4d69c786 49732010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4974
4975 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
4976
aa3119c4 49772010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4978
4979 * docs/grub.texi (Shell-like scripting): Documentation for break,
4980 continue, shift and return commands.
4981
db0f7e3d
VS
49822010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
4983
4984 Rename CD-ROM to cd on BIOS.
4985
4986 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
4987 "cd".
4988 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
4989
88b87c93
VS
49902010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
4993 * util/grub-probe.c (main): Likewise.
4994 * util/i386/pc/grub-setup.c (main): Likewise.
4995 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
4996 Reported and debugged by: alexxy
4997
294f324d
VS
49982010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
5001 diagnostic info.
5002
d7ee3441
JS
50032010-09-05 Jo Shields <directhex@apebox.org>
5004
5005 * util/grub.d/30_os-prober.in: Add missing classes.
5006
d7e06c1f
VS
50072010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5008
5009 * docs/grub.texi (Theme file format): Document new position format.
5010
fc157e53
VS
50112010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
5014 a table. Use @code instead of @verbatim.
5015
506e9a1c
CB
50162010-09-05 Colin D Bennett <colin@gibibit.com>
5017
5018 Gfxmenu documentation.
5019
5020 * docs/grub.texi (Theme file format): New chapter.
5021
f0aff67c
SJ
50222010-09-05 Szymon Janc <szymon@janc.net.pl>
5023
5024 * grub-core/Makefile.core.def (xzio): New module.
5025 * grub-core/io/xzio.c: New file.
5026 * grub-core/lib/xzembed/xz.h: New file (from xembed).
5027 * grub-core/lib/xzembed/xz_config.h: Likewise.
5028 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
5029 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
5030 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
5031 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
5032 * grub-core/lib/xzembed/xz_private.h: Likewise.
5033 * grub-core/lib/xzembed/xz_stream.h: Likewise.
5034 * include/grub/file.h (grub_file_filter_id): New compression filter
5035 GRUB_FILE_FILTER_XZIO.
5036
82a85062
VS
50372010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
5040 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
5041 size.
5042
3579415d
VS
50432010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5044
5045 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
5046 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
5047
5124ae6d
VS
50482010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5049
5050 Uncompressed checksum support.
5051
5052 * grub-core/commands/hashsum.c (options): Add option --uncompress.
5053 (check_list): New parameter uncompress.
5054 (grub_cmd_hashsum): Handle --uncompress.
5055
9aadb3d1
VS
50562010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 Reintroduce testload.
5059
5060 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
5061 from here ...
5062 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
5063 (GRUB_MOD_INIT): New function.
5064 (GRUB_MOD_FINI): Likewise.
5065 * grub-core/Makefile.core.def (testload): New module.
5066
a17792c3
SJ
50672010-09-05 Szymon Janc <szymon@janc.net.pl>
5068
5069 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
5070 (uint8_t): New type.
5071 (uint16_t): Likewise.
5072 (uint32_t): Likewise.
5073 (uint64_t): Likewise.
5074
b81e40a3
SJ
50752010-09-05 Szymon Janc <szymon@janc.net.pl>
5076
5077 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
5078
fc2ef117
VS
50792010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
5082 Made static.
5083 (grub_gzfile_open): Removed. All users updated.
5084 (GRUB_MOD_INIT): New function.
5085 (GRUB_MOD_FINI): Likewise.
5086 * grub-core/kern/file.c (grub_file_filters_all): New variable.
5087 (grub_file_filters_enabled): Likewise.
5088 (grub_file_open): Handle filters.
5089 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
5090 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
5091 * include/grub/file.h (grub_file_filter_id_t): New type.
5092 (grub_file_filter_t): Likewise.
5093 (grub_file_filters_all): New extern variable.
5094 (grub_file_filters_enabled): Likewise.
5095 (grub_file_filter_register): New inline function.
5096 (grub_file_filter_unregister): Likewise.
5097 (grub_file_filter_disable): Likewise.
5098 (grub_file_filter_disable_compression): Likewise.
5099 * include/grub/gzio.h: Removed.
5100
35ee15e0
BC
51012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
5102
5103 Filename expansion support for wildcards in GRUB script.
5104
5105 * tests/grub_script_expansion.in: New test.
5106 * Makefile.util.def: Rule for new test.
5107
5108 * grub-core/commands/wildcard.c: New file, implements filename
5109 expansion support for GRUB script.
5110 * grub-core/Makefile.core.def: Rule update for regexp.mod.
5111 * grub-core/script/argv.c: Cosmetic changes.
5112 * grub-core/script/execute.c (grub_script_arglist_to_argv):
5113 Refactored to perform wildcard expansion on arguments.
5114 * include/grub/script_sh.h (grub_script_wildcard_translator): New
5115 struct.
5116
5117 * tests/util/grub-shell.in: Fix quoting for read input.
5118
5f0c4aca
BC
51192010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
5120
5121 Support for updating environment variables with matched substrings
5122 of regexp.
5123
5124 * tests/grub_cmd_regexp.in: New test.
5125 * Makefile.util.def: Rule for new test.
5126
5127 * grub-core/commands/regexp.c: New option -s to update environment
5128 variables with regexp matches.
5129
3759a35f
SJ
51302010-09-04 Szymon Janc <szymon@janc.net.pl>
5131
5132 * include/grub/file.h (grub_file): New member not_easly_seekable.
5133 (grub_file_seekable): New inline function.
5134 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
5135 easily seekable.
5136 (grub_gzio_open): Set not_easly_seekable.
5137 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
5138 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
5139
ed8c6dec
BC
51402010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
5141
5142 Support for options to appear multiple times on cmdline.
5143
5144 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
5145 * grub-core/commands/extcmd.c: Support for repeatable option.
5146 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
5147 repeatable option support.
5148
5149 Refactor menuentry into a regular command.
5150
5151 * grub-core/commands/menuentry.c: New file, menuentry command
5152 implementation.
5153 * grub-core/Makefile.core.def: Rule update for normal.mod.
5154 * grub-core/normal/main.c: Moved menuentry creation to
5155 grub-core/commands/menuentry.c.
5156 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
5157 (grub_menu_execute_entry_real): Removed.
5158 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
5159 function.
5160 (grub_script_execute_menuentry): Removed.
5161 * grub-core/script/parser.y (menuentry): Removed.
5162 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
5163 * grub-core/script/yylex.l (menuentry): Removed.
5164 * include/grub/menu.h (grub_menu_init): New prototype.
5165 (grub_menu_fini): New prototype.
5166 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
5167 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
5168 (grub_script_execute_sourcecode): New prototype.
5169
dacd0cf0
BC
51702010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
5171
5172 "return" command for GRUB script functions.
5173
5174 * tests/grub_script_return.in: New test.
5175 * Makefile.util.def: Rules for new test.
5176
5177 * grub-core/script/execute.c (grub_script_return): New function.
5178 * grub-core/script/main.c: Register/unregister return commaond.
5179 * include/grub/script_sh.h (grub_script_return): New prototype.
5180
52e72f9d
BC
51812010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
5182
5183 "setparams" command to update positional parameters.
5184
5185 * tests/grub_script_setparams.in: New test.
5186 * Makefile.util.def: Rules for new test.
5187
5188 * grub-core/script/argv.c (grub_script_argv_make): New function.
5189 * grub-core/script/execute.c (replace_scope): New function.
5190 (grub_script_setparams): New function.
5191 * grub-core/script/lexer.c: Remove unused variables.
5192 * grub-core/script/main.c: Register/unregister setparams command.
5193 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
5194 (grub_script_setparams): New prototype.
5195
25b60c91
BC
51962010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
5197
5198 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
5199 grub_free order.
5200
37e7bf68
BC
52012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
5202
5203 Support for passing block of commands as an argument to extcmds.
5204
5205 * Makefile.util.def: Rules for new test.
5206 * tests/grub_script_blockarg.in: New test.
5207 * grub-core/tests/test_blockarg.c: New file, block argument
5208 command used in the test.
5209
5210 * include/grub/extcmd.h (grub_extcmd_context): New struct.
5211 (grub_register_extcmd_prio): New function prototype.
5212 (grub_extcmd_dispatcher): New function prototype.
5213 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
5214 type.
5215 * include/grub/script_sh.h (struct grub_script): New members
5216 `children', `next_siblings' and `refcnt' for block arguments and
5217 reference counting.
5218 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
5219 (grub_script_arg): New member `script' for block argument.
5220 (grub_script_argv): New member `script' for block argument.
5221 (grub_parser_param): New member `scripts' for block argument.
5222 (grub_script_mem_free): New extern function prototype.
5223 (grub_script_ref): New function prototype.
5224 (grub_script_unref): New function prototype.
5225
5226 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
5227 extcmd form to support block arguments.
5228 * grub-core/script/argv.c: Block arguments support.
5229 * grub-core/script/execute.c: Likewise.
5230 * grub-core/script/lexer.c: Likewise.
5231 * grub-core/script/main.c: Likewise.
5232 * grub-core/script/script.c: Likewise.
5233 * grub-core/script/parser.y: Likewise. New `block' and `block0'
5234 non-terminals.
5235
5236 * grub-core/commands/acpi.c: Update extcmd implementations with
5237 grub_extcmd_context_t.
5238 * grub-core/commands/cat.c: Likewise.
5239 * grub-core/commands/echo.c: Likewise.
5240 * grub-core/commands/extcmd.c: Likewise.
5241 * grub-core/commands/hashsum.c: Likewise.
5242 * grub-core/commands/hdparm.c: Likewise.
5243 * grub-core/commands/help.c: Likewise.
5244 * grub-core/commands/hexdump.c: Likewise.
5245 * grub-core/commands/i386/cpuid.c: Likewise.
5246 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5247 * grub-core/commands/i386/pc/halt.c: Likewise.
5248 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5249 * grub-core/commands/iorw.c: Likewise.
5250 * grub-core/commands/keystatus.c: Likewise.
5251 * grub-core/commands/loadenv.c: Likewise.
5252 * grub-core/commands/ls.c: Likewise.
5253 * grub-core/commands/lspci.c: Likewise.
5254 * grub-core/commands/memrw.c: Likewise.
5255 * grub-core/commands/probe.c: Likewise.
5256 * grub-core/commands/search_wrap.c: Likewise.
5257 * grub-core/commands/setpci.c: Likewise.
5258 * grub-core/commands/sleep.c: Likewise.
5259 * grub-core/disk/loopback.c: Likewise.
5260 * grub-core/hello/hello.c: Likewise.
5261 * grub-core/loader/i386/bsd.c: Likewise.
5262 * grub-core/loader/xnu.c: Likewise.
5263 * grub-core/term/gfxterm.c: Likewise.
5264 * grub-core/term/serial.c: Likewise.
5265 * grub-core/tests/lib/functional_test.c: Likewise.
5266
888d1500
BC
52672010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
5268
5269 Multi-line quoted strings support.
5270
5271 * grub-core/script/lexer.c (append_newline): Removed.
5272 (grub_script_lexer_yywrap): Refactored.
5273 (grub_script_lexer_init): Refactored.
5274 * grub-core/script/yylex.l (yywrap): New function.
5275 (grub_lexer_resplit): New function.
5276 (grub_lexer_unput): New function.
5277 * include/grub/script_sh.h (grub_lexer_param): New members, unput
5278 and resplit.
5279 * tests/grub_script_echo1.in: Added few more testcases.
5280
dda060dd
VS
52812010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 * grub-core/kern/misc.c: Don't add abort alias in utils.
5284 Reported by: echoline.
5285
6556eba9
BC
52862010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
5287
5288 Add missing files into "make dist" tarball for other platforms.
5289
5290 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
5291 * conf/Makefile.common (dist_noinst_DATA): New variable.
5292 * conf/Makefile.extra-dist: Added missing make dist files.
5293 * grub-core/Makefile.core.def: Likewise.
5294
c8e7bf5f
VS
52952010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 Compress grub_prefix.
5298
5299 * grub-core/boot/i386/pc/lnxboot.S: Use
5300 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
5301 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
5302 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
5303 GRUB_MACHINE_PREFIX_END. All users updated.
5304 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
5305 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
5306 + 0x40.
5307 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
5308 * util/grub-mkimage.c (image_target_desc): Change data_end to
5309 prefix_end. All users updated.
5310
a7c00cdb
VS
53112010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
5314 value.
5315 (grub_openbsd_boot): Likewise.
5316 (grub_netbsd_boot): Likewise.
5317 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
5318 (grub_xnu_boot): Likewise.
5319
9f915872
VS
53202010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * configure.ac: Clean LIBS variable after tests.
5323
efa1bee7
CW
53242010-09-02 Colin Watson <cjwatson@ubuntu.com>
5325
5326 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
5327
61d720e5
VS
53282010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
5331 echo if libdevmapper will be used.
5332
ef8e0ec8
IT
53332010-09-02 Ian Turner <Ian.Turner@deshaw.com>
5334
5335 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
5336 constant for the same file.
5337
03e261d8
VS
53382010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
5341
c2a4eba6
CW
53422010-09-02 Colin Watson <cjwatson@ubuntu.com>
5343
5344 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
5345 grub-core/*.pp.
5346
9056cbf3
CW
53472010-09-02 Colin Watson <cjwatson@ubuntu.com>
5348
5349 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
5350 required by the boot protocol.
5351
5352 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
5353 ebp and edi members.
5354 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
5355 state.ebp and state.edi.
5356 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
5357 %ebp and %edi according to grub_relocator32_ebp and
5358 grub_relocator32_edi respectively.
5359 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
5360 and state.edi.
5361
529cc99a
VS
53622010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 Add i386-pc-pxe image target.
5365
5366 * util/grub-mkimage.c (image_target_desc): New enum value
5367 IMAGE_I386_PC_PXE.
5368 (image_targets): New target i386-pc-pxe.
5369 (generate_image): Handle i386-pc-pxe image.
5370
9a093920
VS
53712010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 Fix grub_pxe_scan.
5374
5375 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
5376 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
5377 All users updated.
5378 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
5379 (grub_pxe_pxenv): Correct type.
5380
f9cefc4e
CW
53812010-09-01 Colin Watson <cjwatson@ubuntu.com>
5382
5383 * NEWS: Document most of the important changes since 1.98.
5384
4066f57f
CW
53852010-09-01 Colin Watson <cjwatson@ubuntu.com>
5386
5387 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
5388 generated manual page) a little.
5389
da2891f9
CW
53902010-09-01 Colin Watson <cjwatson@ubuntu.com>
5391
5392 * docs/grub.texi: Add myself as an author.
5393
ad717fae
VS
53942010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * Makefile.util.def (libgrub.a): Add missing sunpc.
5397 Reported by: Seth Goldberg.
5398
eefe8abd
VS
53992010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 Interrupt wrapping and code simplifications.
5402
9494ef9a
VS
5403 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
5404 x86_noieee1275 which are functionaly equivalent in this case.
5405 (grub-install): Make source on each platform explicit. Enable on
5406 all noemu.
5407 * gentpl.py (x86_efi_pc): Removed group.
5408 (x86_noefi): Likewise.
5409 (i386_noefi): Likewise.
5410 (x86_noieee1275): Likewise.
5411 (i386_noieee1275): Likewise.
5412 (i386_noefi_noieee1275): Likewise.
5413 (i386_pc_qemu_coreboot): Likewise.
5414 (i386_coreboot_multiboot): Likewise.
5415 (i386_pc_coreboot_multiboot_qemu): Likewise.
5416 (x86_noefi_mips): Likewise.
5417 (noieee1275): Likewise.
5418 (ieee1275_mips): Likewise.
5419 (noemu_noieee1275): Likewise.
5420 (cmos): New group.
5421 (usb): Likewise.
5422 (videoinkernel): Likewise.
5423 (videomodules): Likewise.
eefe8abd 5424 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
5425 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
5426 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
5427 include/grub/loader.h, include/grub/msdos_partition.h,
5428 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
5429 include/grub/machine/console.h, include/grub/machine/vga.h,
5430 include/grub/machine/vbe.h, include/grub/machine/init.h,
5431 include/grub/machine/kernel.h, include/grub/cpu/time.h,
5432 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 5433 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
5434 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
5435 * grub-core/Makefile.core.def (kernel): Explicit the source for
5436 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
5437 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
5438 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
5439 Use videoinkernel tag.
5440 (usb): Enable on all usb.
5441 (usbserial_common): Likewise.
5442 (usbserial_pl2303): Likewise.
5443 (usbserial_ftdi): Likewise.
5444 (uhci): Enable on all x86.
5445 (ohci): Enable on all pci.
5446 (cmostest): Enable on all CMOS.
5447 (acpi): Include commands/acpi.c on all platforms.
5448 (halt): Add relevant lib/*/halt.c.
5449 (hdparm): Enable on all pci.
5450 (lspci): Likewise.
5451 (usbtest): Enable on all usb.
5452 (ata): Enable on all pci.
5453 (ata_pthru): Likewise.
5454 (usbms): Enable on all usb.
5455 (usb_keyboard): Likewise.
5456 (font): Use tag videomodules.
5457 (bufio): Likewise.
5458 (datetime): Use tag cmos. Enable on all noemu.
5459 (mmap): Use tags common and x86.
5460 (gfxterm): Use tag videomodules.
5461 (bitmap): Likewise.
5462 (bitmap_scale): Likewise.
5463 (video_fb): Likewise.
5464 (video): Likewise.
5465 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
5466 adjust padding accordingly. All users updated.
5467 (grub_ohci_transaction): Fix bad format specification.
5468 (GRUB_MOD_INIT): Add asserts for struct size.
5469 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
5470 (grub_alloc_td): Likewise.
5471 (grub_free_queue): Likewise.
5472 (grub_uhci_transfer): Likewise.
5473 (grub_uhci_transaction): Fix bad format specification.
5474 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
5475 (grub_usb_bulk_readwrite): Likewise.
5476 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
5477 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
5478 Made static.
5479 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
5480 Made static.
5481 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
5482 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
5483 Transformed into C.
5484 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
5485 Moved from here ...
5486 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
5487 ... here. Transformed into C. Made static.
5488 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
5489 Moved from here ...
5490 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
5491 ... here. Transformed into C. Made static.
5492 * grub-core/kern/i386/pc/startup.S
5493 (grub_biosdisk_check_int13_extensions): Moved from here ...
5494 * grub-core/disk/i386/pc/biosdisk.c
5495 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
5496 Made static.
5497 * grub-core/kern/i386/pc/startup.S
5498 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
5499 * grub-core/disk/i386/pc/biosdisk.c
5500 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
5501 Transformed into C. Made static.
5502 * grub-core/kern/i386/pc/startup.S
5503 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
5504 * grub-core/disk/i386/pc/biosdisk.c
5505 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
5506 Transformed into C. Made static.
5507 * grub-core/kern/i386/pc/startup.S
5508 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
5509 * grub-core/disk/i386/pc/biosdisk.c
5510 (grub_biosdisk_get_diskinfo_standard): ... here.
5511 Transformed into C. Made static.
5512 * grub-core/kern/i386/pc/startup.S
5513 (grub_biosdisk_get_num_floppies): Moved from here ...
5514 * grub-core/disk/i386/pc/biosdisk.c
5515 (grub_biosdisk_get_num_floppies): ... here.
5516 Transformed into C. Made static.
5517 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
5518 New function.
5519 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
5520 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
5521 Transformed into C. Made static.
5522 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
5523 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
5524 Transformed into C. Made static.
5525 * grub-core/kern/i386/ieee1275/init.c: Removed.
5526 * grub-core/kern/i386/misc.S: Likewise.
5527 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
5528 Splitted from here ...
5529 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
5530 Transformed into C. Made static. All users updated.
5531 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
5532 Transformed into C. Made static. All users updated.
5533 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
5534 Moved from here...
5535 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
5536 Transformed into C. Made static. All users updated.
5537 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
5538 Moved from here...
5539 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
5540 Transformed into C. Made static. All users updated.
5541 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
5542 Removed (replaced by C version).
5543 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
5544 Moved from here...
5545 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
5546 Transformed into C. Made static.
5547 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
5548 Moved from here...
5549 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
5550 ... here. Transformed into C.
5551 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
5552 Moved from here...
5553 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
5554 ... here. Transformed into C.
5555 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
5556 Moved from here...
5557 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
5558 ... here. Transformed into C. Made static.
5559 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
5560 Moved from here...
5561 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
5562 ... here. Transformed into C.
21ed554b
VS
5563 * grub-core/kern/i386/pc/startup.S
5564 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
5565 * grub-core/video/i386/pc/vbe.c
5566 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
5567 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
5568 Moved from here...
5569 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
5570 ... here. Transformed into C.
5571 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
5572 Moved from here...
5573 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
5574 ... here. Transformed into C.
5575 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
5576 Moved from here...
5577 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
5578 ... here. Transformed into C.
5579 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
5580 Moved from here...
5581 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
5582 ... here. Transformed into C.
5583 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
5584 Moved from here...
5585 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
5586 ... here. Transformed into C. Made static.
5587 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
5588 Moved from here...
5589 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
5590 ... here. Transformed into C. Made static.
5591 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
5592 Moved from here...
5593 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
5594 ... here. Transformed into C. Made static.
5595 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
5596 pxe_rm_entry as third argument.
5597 (grub_bios_interrupt): New function.
5598 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
5599 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
5600 of calling grub_stop.
5601 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
5602 * grub-core/lib/efi/halt.c (grub_halt): ...here.
5603 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
5604 * grub-core/lib/emu/halt.c (grub_halt): ... here.
5605 * grub-core/lib/i386/halt.c: Moved from here ...
5606 * grub-core/lib/i386/halt.c: ... here.
5607 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
5608 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
5609 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
5610 grub_stop_floppy.
5611 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
5612 * include/grub/i386/coreboot/init.h: Removed.
5613 * include/grub/i386/multiboot/init.h: Likewise.
5614 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
5615 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
5616 * include/grub/i386/pc/int.h: New file.
5617 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
5618 (grub_pxe_scan): Removed.
5619 (grub_pxe_call): Update prototype.
5620 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
5621 prototypes.
5622 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
5623 * include/grub/i386/qemu/init.h: Removed.
5624 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
5625 noreturn.
5626 (grub_halt): Likewise.
5627 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
5628 (grub_reboot): Likewise.
5629 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
5630 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
5631 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
5632
215dd471
RM
56332010-08-30 Robert Millan <rmh@gnu.org>
5634
5635 * NEWS: Document addition of ZFS support in `grub-install' and
5636 `grub-mkconfig'.
5637
ebd65b82
BC
56382010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
5639
5640 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
5641 dprintf output.
5642
11721d19
VS
56432010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 Remove leftover embedding of font objects.
5646
5647 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
5648 * util/grub-install.in (font): Removed.
5649 * util/grub-mkimage.c (generate_image): Remove font support. All users
5650 updated.
5651
37837d4e
VS
56522010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 Remove leftover embedding of font objects.
5655
5656 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
5657 * util/grub-install.in (font): Removed.
5658 * util/grub-mkimage.c (generate_image): Remove font support. All users
5659 updated.
5660
b4c1aae0
VS
56612010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 5664 Reported by: Ian Turner
b4c1aae0 5665
8920a08d
VS
56662010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
5669 timeout to avoid indefinite boot stalling.
5670
f21db033
VS
56712010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5672
5673 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
5674 (grub_env_write_color_highlight): Likewise.
5675
9a9de209
VS
56762010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * grub-core/normal/term.c (print_more): Return to normal and not
5679 to standard state after printing "---MORE---".
5680
3dca01d7
VS
56812010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
5684 Mask out the bit 0x80 since it has other meaning that specifiing color.
5685
0b986c40
VS
56862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 New relocator. Allows for more kernel support and more straightforward
5689 loader writing.
5690
5691 * Makefile.am (BOOTTARGET): New variable.
5692 (QEMU32): Likewise.
5693 (linux.init.x86_64): New target.
5694 (linux.init.i386): Likewise.
5695 (multiboot.elf): Likewise.
5696 (kfreebsd.elf): Likewise.
5697 (kfreebsd.aout): Likewise.
5698 (pc-chainloader.elf): Likewise.
5699 (pc-chainloader.bin): Likewise.
5700 (ntldr.elf): Likewise.
5701 (ntldr.bin): Likewise.
5702 (multiboot2.elf): Likewise.
5703 (kfreebsd.init.x86_64): Likewise.
5704 (kfreebsd.init.i386): Likewise.
5705 (knetbsd.init.i386): Likewise.
5706 (kopenbsd.init.i386): Likewise.
5707 (knetbsd.init.x86_64): Likewise.
5708 (kopenbsd.init.x86_64): Likewise.
5709 (linux-initramfs.i386): Likewise.
5710 (linux-initramfs.x86_64): Likewise.
5711 (kfreebsd-mfsroot.i386.img): Likewise.
5712 (knetbsd.image.i386): Likewise.
5713 (kopenbsd.image.i386): Likewise.
5714 (kopenbsd.image.x86_64): Likewise.
5715 (knetbsd.miniroot-image.i386.img): Likewise.
5716 (kfreebsd-mfsroot.x86_64.img): Likewise.
5717 (knetbsd.image.x86_64): Likewise.
5718 (knetbsd.miniroot-image.x86_64.img): Likewise.
5719 (kfreebsd-mfsroot.i386.gz): Likewise.
5720 (bootcheck-kfreebsd-i386): Likewise.
5721 (kfreebsd-mfsroot.x86_64.gz): Likewise.
5722 (bootcheck-kfreebsd-x86_64): Likewise.
5723 (knetbsd.miniroot-image.i386.gz): Likewise.
5724 (bootcheck-knetbsd-i386): Likewise.
5725 (bootcheck-kopenbsd-i386): Likewise.
5726 (bootcheck-kopenbsd-x86_64): Likewise.
5727 (knetbsd.miniroot-image.x86_64.gz): Likewise.
5728 (bootcheck-knetbsd-x86_64): Likewise.
5729 (bootcheck-linux-i386): Likewise.
5730 (bootcheck-linux-x86_64): Likewise.
5731 (bootcheck-linux16-i386): Likewise.
5732 (bootcheck-linux16-x86_64): Likewise.
5733 (bootcheck-multiboot): Likewise.
5734 (bootcheck-multiboot2): Likewise.
5735 (bootcheck-kfreebsd-aout): Likewise.
5736 (bootcheck-pc-chainloader): Likewise.
5737 (bootcheck-ntldr): Likewise.
5738 (CLEANFILES): Add new targets.
5739 (BOOTCHECKS): New variable.
5740 (.PHONY): Add bootchecks.
5741 (SUCCESSFUL_BOOT_STRING): New variable.
5742 (BOOTCHECK_TIMEOUT): Likewise.
5743 (bootcheck): New target
5744 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
5745 * configure.ac: Correct efiemu excuse.
5746 * docs/grub.texi (Supported kernels): New chapter.
5747 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
5748 include/grub/mm_private.h. Simplify inclusion of
5749 include/grub/boot.h, include/grub/loader.h
5750 and include/grub/msdos_partition.h
5751 (KERNEL_HEADER_FILES) [i386_coreboot]:
5752 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
5753 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
5754 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
5755 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
5756 include/grub/machine/loader.h.
5757 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
5758 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
5759 extra_dist.
5760 (pci.mod): Enable on i386-multiboot.
5761 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
5762 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
5763 i386-qemu.
5764 (relocator.mod): Rewritten.
5765 (aout.mod): Enable on all x86.
5766 (bsd.mod): Likewise.
5767 (ntldr.mod): New module.
5768 (linux.mod): Use loader/i386/linux.c on all x86.
5769 (xnu.mod): Enable on all x86.
5770 (vga_text.mod): disable on EFI and QEMU.
5771 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
5772 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
5773 * grub-core/efiemu/loadcore.c: Likewise.
5774 * grub-core/efiemu/main.c: Likewise.
5775 (grub_efiemu_exit_boot_services): Removed.
5776 (grub_efiemu_finish_boot_services): Likewise.
5777 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
5778 function.
5779 * grub-core/efiemu/i386/nocfgtables.c: New file.
5780 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
5781 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
5782 (grub_efi_finish_boot_services): Moved from here ...
5783 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
5784 Fille finish memory map and related data.
5785 (finish_mmap_buf): New variable.
5786 (grub_efi_uintn_t finish_mmap_size): Likewise.
5787 (grub_efi_uintn_t finish_key): Likewise.
5788 (grub_efi_uintn_t finish_desc_size): Likewise.
5789 (grub_efi_uint32_t finish_desc_version): Likewise.
5790 (grub_efi_is_finished): Likewise.
5791 (grub_efi_get_memory_map): Use saved memory map if EFI is already
5792 finished.
5793 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
5794 (grub_elf64_phdr_iterate): Likewise.
5795 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
5796 (grub_os_area_size): Likewise.
5797 (grub_machine_init): Don't reserve os area.
5798 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
5799 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
5800 * grub-core/kern/i386/loader.S: Removed.
5801 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
5802 (grub_os_area_size): Likewise.
5803 (grub_machine_init): Don't reserve os area.
5804 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5805 Don't call grub_dl_unload_all.
5806 Don't include loader.S.
5807 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5808 Declare the memory after _end as available.
5809 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 5810 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 5811 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
5812 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
5813 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
5814 * include/grub/mm_private.h (grub_mm_header): ... here.
5815 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
5816 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
5817 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
5818 (grub_mm_region): ..here. Removed addr. Added pre_size.
5819 All users updated.
5820 * grub-core/kern/mm.c (base): Renamed to ...
5821 (grub_mm_base): ... this. Made global.
5822 (grub_real_malloc): Alloc from end of region.
5823 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
5824 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
5825 * grub-core/kern/powerpc/cache_flush.S: ... here.
5826 * grub-core/lib/efi/relocator.c: New file.
5827 * grub-core/lib/i386/relocator.c: Rewritten.
5828 * grub-core/lib/i386/relocator16.S: New file.
5829 * grub-core/lib/i386/relocator32.S: Likewise.
5830 * grub-core/lib/i386/relocator64.S: Likewise.
5831 * grub-core/lib/i386/relocator_asm.S: Rewritten.
5832 * grub-core/lib/i386/relocator_common.S: New file.
5833 * grub-core/lib/ieee1275/relocator.c: Likewise.
5834 * grub-core/lib/mips/relocator.c: Rewritten.
5835 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
5836 stylistic adjustments.
5837 * grub-core/lib/powerpc/relocator.c: New file.
5838 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
5839 * grub-core/lib/relocator.c: Rewritten.
5840 * grub-core/lib/x86_64/relocator_asm.S: New file.
5841 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
5842 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
5843 (bsd_tag): New struct.
5844 (tags): New variable.
5845 (tags_last): Likewise.
5846 (netbsd_module): New struct.
5847 (netbsd_mods): New variable.
5848 (netbsd_mods_last): Likewise.
5849 (openbsd_opts): New parameter "serial".
5850 (OPENBSD_SERIAL_ARG): New definition.
5851 (netbsd_opts): New parameter "serial".
5852 (NETBSD_SERIAL_ARG): New definition.
5853 (grub_freebsd_add_meta): Reorganised into ...
5854 (grub_bsd_add_meta): ...this. All users updated.
5855 (grub_freebsd_add_mmap): Reorganised into ...
5856 (generate_e820_mmap): ...this...
5857 (grub_bsd_add_mmap): ...and this. All users updated.
5858 (grub_freebsd_list_modules): Use tags.
5859 (grub_netbsd_add_meta_module): New function.
5860 (grub_netbsd_list_modules): Likewise.
5861 (grub_freebsd_boot): Use relocator and finish EFI.
5862 (grub_openbsd_boot): Likewise.
5863 (grub_netbsd_setup_video): New function.
5864 (grub_netbsd_add_modules): Likewise.
5865 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
5866 and finish EFI.
5867 (grub_bsd_unload): Unload tags.
5868 (grub_bsd_load_aout): Use relocator.
5869 (grub_bsd_elf32_size_hook): New function.
5870 (grub_bsd_elf32_hook): Use relocator.
5871 (grub_bsd_elf64_size_hook): New function.
5872 (grub_bsd_elf64_hook): Use relocator.
5873 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
5874 (grub_bsd_load): Zero-out openbsd_ramdisk.
5875 (grub_bsd_load): Use relocator.
5876 (grub_cmd_openbsd): Support serial.
5877 (grub_cmd_netbsd): Support modules.
5878 (grub_cmd_freebsd_module): Use relocator.
5879 (grub_netbsd_module_load): New function.
5880 (grub_cmd_netbsd_module): Likewise.
5881 (grub_cmd_openbsd_ramdisk): Likewise.
5882 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
5883 kopenbsd_ramdisk.
5884 (GRUB_MOD_FINI): Unregister new commands.
5885 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
5886 (grub_freebsd_load_elfmodule_obj): Use relocator.
5887 (grub_freebsd_load_elfmodule): Likewise.
5888 (grub_freebsd_load_elf_meta): Likewise.
5889 (grub_netbsd_load_elf_meta): New function.
5890 (grub_openbsd_find_ramdisk): Likewise.
5891 * grub-core/loader/i386/bsd_helper.S: Removed.
5892 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
5893 * grub-core/loader/i386/bsd_trampoline.S: Removed.
5894 * grub-core/loader/i386/efi/linux.c: Likewise.
5895 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
5896 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
5897 (DEFAULT_VIDEO_MODE): Likewise.
5898 (real_mode_target): New variable.
5899 (prot_mode_target): Likewise.
5900 (initrd_mem_target): Likewise.
5901 (relocator): Likewise.
5902 (efi_mmap_buf): Likewise.
5903 (efi_mmap_size): Likewise.
5904 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
5905 (free_pages): Use relocator.
5906 (allocate_pages): Account for efi_mmap and use relocator. Return error.
5907 (grub_linux_setup_video): Return error.
5908 (grub_linux_trampoline_start): Removed.
5909 (grub_linux_trampoline_end): Likewise.
5910 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
5911 andd video parameters depending on firmware.
5912 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
5913 [GRUB_MACHINE_EFI]: Pass EFI parameters.
5914 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
5915 (grub_cmd_initrd): Use relocator.
5916 * grub-core/loader/i386/linux_trampoline.S: Removed.
5917 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
5918 (elf_sec_entsize): Likewise.
5919 (elf_sec_shstrndx): Likewise.
5920 (elf_sections): Likewise.
5921 (grub_multiboot_load): Use relocator.
5922 (grub_multiboot_get_mbi_size): Account for sections.
5923 (grub_multiboot_make_mbi): Use relocator and support sections.
5924 (grub_multiboot_add_elfsyms): New function.
5925 (grub_multiboot_free_mbi): Free sections.
5926 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
5927 (grub_linux_real_target): Likewise.
5928 (grub_linux_real_chunk): Likewise.
5929 (grub_linux16_prot_size): Likewise.
5930 (grub_linux16_boot): Use relocator.
5931 (grub_linux_unload): Unload relocator.
5932 (grub_cmd_linux): Use relocator.
5933 (grub_cmd_initrd): Likewise.
5934 * grub-core/loader/i386/pc/ntldr.c: New file.
5935 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
5936 Don't try to guess CPU frequency.
5937 (grub_xnu_set_video): Stretch bitmap.
5938 (grub_xnu_boot): Use relocator.
5939 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
5940 (grub_linux_unload): Free relocator.
5941 (grub_linux_load32): Use relocator.
5942 (grub_linux_load64): Likewise.
5943 (grub_cmd_initrd): Likewise.
5944 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
5945 (grub_multiboot_unload): Unload relocator.
5946 (grub_cmd_multiboot): Use relocator.
5947 (grub_cmd_module): Likewise.
5948 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
5949 Use relocator and support sections.
5950 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
5951 (elf_sec_entsize): Likewise.
5952 (elf_sec_shstrndx): Likewise.
5953 (elf_sections): Likewise.
5954 (grub_multiboot_load): Use relocator.
5955 (grub_multiboot_get_mbi_size): Account for sections.
5956 (grub_multiboot_make_mbi): Use relocator and support sections.
5957 (grub_multiboot_add_elfsyms): New function.
5958 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
5959 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
5960 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
5961 Prototype changed. All users updated.
5962 (grub_xnu_align_heap): Simplified.
5963 (grub_xnu_writetree_toheap): Likewise.
5964 (grub_xnu_unload): Unload relocator.
5965 (grub_cmd_xnu_kernel): Use relocator.
5966 (grub_cmd_xnu_kernel64): Likewise.
5967 (grub_xnu_register_memory): Simplified.
5968 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
5969 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
5970 EFI is finished.
5971 (grub_console_checkkey): Likewise.
5972 (grub_console_getkey): Likewise.
5973 (grub_console_getwh): Likewise.
5974 (grub_console_getxy): Likewise.
5975 (grub_console_gotoxy): Likewise.
5976 (grub_console_cls): Likewise.
5977 (grub_console_setcolorstate): Likewise.
5978 (grub_console_setcursor): Likewise.
5979 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
5980 * grub-core/tests/boot/kbsd.init-i386.S: New file.
5981 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
5982 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
5983 * grub-core/tests/boot/kernel-8086.S: Likewise.
5984 * grub-core/tests/boot/kernel-i386.S: Likewise.
5985 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
5986 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
5987 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
5988 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
5989 * grub-core/tests/boot/knetbsd.cfg: Likewise.
5990 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
5991 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
5992 * grub-core/tests/boot/linux.cfg: Likewise.
5993 * grub-core/tests/boot/linux.init-i386.S: Likewise.
5994 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
5995 * grub-core/tests/boot/linux16.cfg: Likewise.
5996 * grub-core/tests/boot/multiboot.cfg: Likewise.
5997 * grub-core/tests/boot/multiboot2.cfg: Likewise.
5998 * grub-core/tests/boot/ntldr.cfg: Likewise.
5999 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
6000 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
6001 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
6002 New definition.
6003 * include/grub/dl.h (grub_dl_unload_all): Removed.
6004 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
6005 (grub_efi_finish_boot_services): Change prototype.
6006 (grub_efi_is_finished): New variable.
6007 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
6008 Changed prototype.
6009 (grub_efiemu_finish_boot_services): Removed.
6010 (grub_machine_efiemu_init_tables): New prototype.
6011 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
6012 (grub_elf64_phdr_iterate): Likewise.
6013 * include/grub/i386/bsd.h: Include relocator.h.
6014 (freebsd_tag_header): New struct.
6015 (grub_openbsd_bios_mmap): Removed.
6016 (grub_unix_real_boot): Removed.
6017 (grub_freebsd_load_elfmodule32): Changed prototype.
6018 (grub_freebsd_load_elfmodule_obj64): Likewise.
6019 (grub_freebsd_load_elf_meta32): Likewise.
6020 (grub_freebsd_load_elf_meta64): Likewise.
6021 (grub_freebsd_add_meta): Removed.
6022 (grub_netbsd_load_elf_meta32): New prototype.
6023 (grub_netbsd_load_elf_meta64): Likewise.
6024 (grub_bsd_add_meta): Likewise.
6025 (grub_openbsd_ramdisk_descriptor): New struct.
6026 (grub_openbsd_find_ramdisk32): New prototype.
6027 (grub_openbsd_find_ramdisk64): Likewise.
6028 * include/grub/i386/coreboot/loader.h: Removed.
6029 * include/grub/i386/efi/loader.h: Likewise.
6030 * include/grub/i386/ieee1275/loader.h: Likewise.
6031 * include/grub/i386/linux.h (linux_kernel_header): Change void *
6032 to grub_uint32_t.
6033 * include/grub/i386/loader.h: Removed.
6034 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
6035 value.
6036 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
6037 (grub_phys_addr_t): New type.
6038 (grub_vtop): New inline function.
6039 (grub_map_memory): Likewise.
6040 (grub_unmap_memory): Likewise.
6041 * include/grub/i386/multiboot/loader.h: Removed.
6042 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
6043 (NETBSD_BTINFO_CONSOLE): New definition.
6044 (NETBSD_BTINFO_SYMTAB): Likewise.
6045 (NETBSD_BTINFO_MODULES): Likewise.
6046 (NETBSD_BTINFO_FRAMEBUF): Likewise.
6047 (grub_netbsd_bootinfo): New struct.
6048 (grub_netbsd_btinfo_common): Use explicit bitsize.
6049 (grub_netbsd_btinfo_mmap_entry): Removed.
6050 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
6051 (grub_netbsd_btinfo_bootdisk): New struct.
6052 (grub_netbsd_btinfo_symtab): Likewise.
6053 (grub_netbsd_btinfo_serial): Likewise.
6054 (grub_netbsd_btinfo_modules): Likewise.
6055 (grub_netbsd_btinfo_framebuf): Likewise.
6056 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
6057 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
6058 Likewise.
6059 (grub_openbsd_bootargs): Use explicit bitsize.
6060 (grub_openbsd_bootarg_console): New struct.
6061 (GRUB_OPENBSD_COM_MAJOR): New definition.
6062 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
6063 * include/grub/i386/pc/efiemu.h: Removed.
6064 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
6065 * include/grub/i386/qemu/loader.h: Removed.
6066 * include/grub/i386/relocator.h: Rewritten.
6067 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
6068 * include/grub/mips/memory.h: New file.
6069 * include/grub/mips/multiboot.h: Rewritten.
6070 * include/grub/mips/relocator.h: Rewritten.
6071 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
6072 (grub_vtop): New function.
6073 (grub_map_memory): Likewise.
6074 (grub_unmap_memory): Likewise.
6075 * include/grub/misc.h (ALIGN_DOWN): New definition.
6076 * include/grub/mm.h (grub_mm_check_real): New proto.
6077 (GRUB_MM_CHECK): New definition.
6078 * include/grub/mm_private.h: New file.
6079 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
6080 (grub_multiboot_get_mbi_size): Removed.
6081 (grub_multiboot_make_mbi): Change prottype.
6082 (grub_multiboot_set_accepts_video): New proto.
6083 (grub_multiboot_add_elfsyms): Likewise.
6084 (grub_multiboot_payload_eip): New variable.
6085 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
6086 New prototype.
6087 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
6088 New definition.
6089 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
6090 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
6091 * include/grub/powerpc/ieee1275/loader.h: Removed.
6092 * include/grub/powerpc/memory.h: New file.
6093 * include/grub/powerpc/relocator.h: Likewise.
6094 * include/grub/relocator.h: Likewise.
6095 * include/grub/relocator_private.h: Likewise.
6096 * include/grub/sparc64/ieee1275/loader.h: Removed.
6097 * include/grub/x86_64/memory.h: New file.
6098 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
6099 (grub_xnu_heap_malloc): Likewise.
6100 (grub_xnu_heap_real_start): Removed.
6101 (grub_xnu_heap_start): Likewise.
6102 (grub_xnu_relocator): New variable.
6103 (grub_xnu_heap_target_start): Likewise.
6104 * tests/util/grub-shell.in: Support non-pc.
6105 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 6106
5303b85d
VS
61072010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
6108
6109 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
6110 on malloc error.
6111 (grub_bidi_logical_to_visual): Check that malloc succeded.
6112 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
6113 puts.
6114 (grub_xputs_normal): Likewise.
6115
d768d159
VS
61162010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
6119 extra_dist.
6120
61212010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 * grub-core/efiemu/runtime/efiemu.sh: Removed.
6124
5bf84df4
VS
61252010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
6128
3626810e
VS
61292010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
6132 dprintf.
6133
a7363f53
BC
61342010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
6135
6136 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
6137
902f75f6
VS
61382010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 * grub-core/normal/term.c (print_more): Fix a memory leak.
6141 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
6142 (grub_xputs_normal): Likewise.
6143
3c707967
VS
61442010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
6147 the begining of the string
6148
2053cc07
VS
61492010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 * grub-core/script/script.c (grub_script_parse): Free parsed on
6152 failure.
6153
46422ebf
VS
61542010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6155
6156 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
6157 on failure.
6158
9e0fa3f6
VS
61592010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6160
6161 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
6162 return.
6163
3393cf16
VS
61642010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
6167 (scroll_up): Fix a memory leak.
6168
b17540cb
VS
61692010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6170
6171 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
6172 errors.
6173
67140446
VS
61742010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 Handle USB pendrives exposed as floppies.
6177
6178 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
6179 floppy.
6180 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
6181 Check for partitions on all devices.
6182
e35e46fc
VS
61832010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
6186 (readkey): Likewise.
6187
d24c6190
BC
61882010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
6189
6190 Multiple variable names support to "export" command.
6191
6192 * normal/context.c (grub_cmd_export): "export" command supports
6193 multiple variable names.
6194
04ddcc6a
ST
61952010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
6196
6197 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
6198 --target=drive output to Mach device name.
6199
0c8b61d8
BC
62002010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
6201
6202 New Automake based build system for GRUB.
6203
6204 * ABOUT-NLS: New file.
6205 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
6206 in Makefile.util.def file.
6207 * Makefile.util.def: New file. Autogen build definitions file for
6208 GRUB host utils.
6209 * conf/Makefile.common: New file. Common variables for GRUB host
6210 utils and target modules.
6211 * conf/Makefile.extra-dist: New file. Extra files for make dist.
6212 * docs/Makefile.am: New file. Automake file for docs.
6213 * gentpl.py: New file. Python script to generate Autogen
6214 template.
6215 * grub-core/Makefile.am: New file. GRUB target modules' rules
6216 that doesn't fit in Makefile.core.def file.
6217 * grub-core/Makefile.core.def: New file. Autogen build
6218 definitions file for GRUB target modules.
6219 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
6220 specific setjmp.S file.
6221 * po/Makefile.am: New file.
6222
6223 * .bzrignore: New ignores.
6224 * INSTALL: New requirements, without Ruby.
6225 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
6226 * autogen.sh: Updated to invoke autogen as necessary.
6227 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
6228 and defines for Automake conditionals.
6229 * geninit.sh: Refactoring.
6230
6231 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
6232 necessary.
6233 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
6234 New prototype.
6235
6236 * include/grub/test.h: Fix functional test modules' naming.
6237 * grub-core/tests/example_functional_test.c: Fix test module name.
6238
6239 * util/misc.c: Hosted versions' of grub functions for libgrub.a
6240 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
6241 * util/grub-editenv.c: Likewise.
6242 * util/grub-fstest.c: Likewise.
6243 * util/grub-mkdevicemap.c: Likewise.
6244 * util/grub-mkfont.c: Likewise.
6245 * util/grub-mkimage.c: Likewise.
6246 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6247 * util/grub-probe.c: Likewise.
6248 * util/grub-script-check.c: Likewise.
6249 * util/i386/pc/grub-setup.c: Likewise.
6250 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6251
6252 * tests/util/grub-shell.in: Fix override directory path.
6253 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
6254 * util/import_gcry.py: Create Makefile.gcry.def file instead.
6255
6256 * util/lvm.c: Update #includes.
6257 * util/raid.c: Likewise.
6258 * util/resolve.c: Likewise.
6259 * grub-core/bus/emu/pci.c: Likewise.
6260 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
6261 * grub-core/lib/posix_wrap/string.h: Likewise.
6262 * grub-core/kern/emu/main.c: Likewise.
6263
6264 * grub-core/gensymlist.sh: New file. Script for generating kernel
6265 symbols file.
6266 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
6267
6268 * grub-core/gentrigtables.c: Fix unused variable warnings.
6269
6270 * Makefile.in: Removed.
6271 * conf/any-emu.rmk: Removed.
6272 * conf/common.rmk: Removed.
6273 * conf/i386-coreboot.rmk: Removed.
6274 * conf/i386-efi.rmk: Removed.
6275 * conf/i386-ieee1275.rmk: Removed.
6276 * conf/i386-multiboot.rmk: Removed.
6277 * conf/i386-pc.rmk: Removed.
6278 * conf/i386-qemu.rmk: Removed.
6279 * conf/i386.rmk: Removed.
6280 * conf/mips-yeeloong.rmk: Removed.
6281 * conf/mips.rmk: Removed.
6282 * conf/powerpc-ieee1275.rmk: Removed.
6283 * conf/sparc64-ieee1275.rmk: Removed.
6284 * conf/tests.rmk: Removed.
6285 * conf/x86-efi.rmk: Removed.
6286 * conf/x86_64-efi.rmk: Removed.
6287 * gendistlist.sh: Removed.
6288 * geninitheader.sh: Removed.
6289 * genkernsyms.sh.in: Removed.
6290 * genmk.rb: Removed.
6291 * gensymlist.sh.in: Removed.
6292 * mkinstalldirs: Removed.
6293 * boot: Moved ...
6294 * grub-core/boot: ... to here.
6295 * bus: Moved ...
6296 * grub-core/bus: ... to here.
6297 * commands: Moved ...
6298 * grub-core/commands: ... to here.
6299 * disk: Moved ...
6300 * grub-core/disk: ... to here.
6301 * efiemu: Moved ...
6302 * grub-core/efiemu: ... to here.
6303 * font: Moved ...
6304 * grub-core/font: ... to here.
6305 * fs: Moved ...
6306 * grub-core/fs: ... to here.
6307 * gencmdlist.sh: Moved ...
6308 * grub-core/gencmdlist.sh: ... to here.
6309 * genemuinit.sh: Moved ...
6310 * grub-core/genemuinit.sh: ... to here.
6311 * genemuinitheader.sh: Moved ...
6312 * grub-core/genemuinitheader.sh: ... to here.
6313 * genfslist.sh: Moved ...
6314 * grub-core/genfslist.sh: ... to here.
6315 * genhandlerlist.sh: Moved ...
6316 * grub-core/genhandlerlist.sh: ... to here.
6317 * genmoddep.awk: Moved ...
6318 * grub-core/genmoddep.awk: ... to here.
6319 * genmodsrc.sh: Moved ...
6320 * grub-core/genmodsrc.sh: ... to here.
6321 * genpartmaplist.sh: Moved ...
6322 * grub-core/genpartmaplist.sh: ... to here.
6323 * genparttoollist.sh: Moved ...
6324 * grub-core/genparttoollist.sh: ... to here.
6325 * genterminallist.sh: Moved ...
6326 * grub-core/genterminallist.sh: ... to here.
6327 * gentrigtables.c: Moved ...
6328 * grub-core/gentrigtables.c: ... to here.
6329 * genvideolist.sh: Moved ...
6330 * grub-core/genvideolist.sh: ... to here.
6331 * gettext: Moved ...
6332 * grub-core/gettext: ... to here.
6333 * gfxmenu: Moved ...
6334 * grub-core/gfxmenu: ... to here.
6335 * gnulib: Moved ...
6336 * grub-core/gnulib: ... to here.
6337 * hello: Moved ...
6338 * grub-core/hello: ... to here.
6339 * hook: Moved ...
6340 * grub-core/hook: ... to here.
6341 * io: Moved ...
6342 * grub-core/io: ... to here.
6343 * kern: Moved ...
6344 * grub-core/kern: ... to here.
6345 * lib: Moved ...
6346 * grub-core/lib: ... to here.
6347 * loader: Moved ...
6348 * grub-core/loader: ... to here.
6349 * mmap: Moved ...
6350 * grub-core/mmap: ... to here.
6351 * normal: Moved ...
6352 * grub-core/normal: ... to here.
6353 * partmap: Moved ...
6354 * grub-core/partmap: ... to here.
6355 * parttool: Moved ...
6356 * grub-core/parttool: ... to here.
6357 * script: Moved ...
6358 * grub-core/script: ... to here.
6359 * term: Moved ...
6360 * grub-core/term: ... to here
6361 * tests/example_functional_test.c: Moved ...
6362 * grub-core/tests/example_functional_test.c: ... to here.
6363 * tests/lib/functional_test.c: Moved ...
6364 * grub-core/tests/lib/functional_test.c: ... to here.
6365 * tests/lib/test.c: Moved ...
6366 * grub-core/tests/lib/test.c: ... to here.
6367 * video: Moved ...
6368 * grub-core/video: ... to here.
6369
645586e6
BC
63702010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
6371
6372 Replace --enable-grub-emu-modules with grub-emu-lite.
6373
6374 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
6375 cache.S.
6376
6377 * include/grub/emu/misc.h (grub_emu_init): New prototype.
6378 * kern/emu/full.c: New file. For grub-emu specific initialization.
6379 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
6380 * kern/emu/main.c: Call initialization function grub_emu_init.
6381
6382 * Makefile.in: Include grub-emu-lite in install.
6383 * commands/parttool.c: Use grub_no_autoload to differentiate
6384 between grub-emu and grub-emu-lite.
6385 * include/grub/misc.h: New variable grub_no_autoload.
6386
6387 * conf/any-emu.rmk: New rules for grub-emu-lite.
6388 * configure.ac: Remove --enable-grub-emu-modules.
6389 * genmk.rb: Cleanup unnecessary rules.
6390 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
6391
6392 * normal/main.c: Don't load list files on grub-emu-lite.
6393 * util/misc.c (grub_arch_sync_caches): Removed.
6394
f86a4030
CW
63952010-08-23 Colin Watson <cjwatson@ubuntu.com>
6396
6397 * kern/mips/startup.S (grub_prefix): Update comment to refer to
6398 grub-mkimage rather than grub-mkelfimage.
6399 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
6400
06776944
VS
64012010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
6402
6403 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
6404 a key after CapsLock or NumLock. It's just a qemu bug.
6405
df262419
VS
64062010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
6407
6408 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
6409 needed by libusb wrapper.
6410
b40ea81b
ST
64112010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
6412
6413 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
6414
dee50575
VS
64152010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
6418 --nounzip is passed.
6419
fb1d7b79
VS
64202010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 USB hotunplugging and USB serial support.
6423
6424 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
6425 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
6426 (grub_uhci_transfer): Respect timeout and set *actual.
6427 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
6428 non-standard length.
6429 (grub_usb_device_attach): Autoload modules.
6430 (GRUB_MOD_INIT): Set grub_term_poll_usb.
6431 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
6432 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
6433 users updated.
6434 (grub_usb_add_hub): Fill nports and children.
6435 (attach_root_port): Receive hub instead of controller.
6436 All users updated. Fill hub->devices.
6437 (grub_usb_root_hub): Allocate hub->devices.
6438 (detach_device): New function.
6439 (poll_nonroot_hub): Fill children and detach devices.
6440 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
6441 actual arguments. All users updated.
6442 (grub_usb_bulk_read_extended): New function.
6443 * bus/usb/serial/common.c: New file.
6444 * bus/usb/serial/ftdi.c: Likewise.
6445 * bus/usb/serial/pl2303.c: Likewise.
6446 * commands/terminal.c (handle_command): Support wildcard.
6447 * commands/usbtest.c: Output "Unknown" instead of empty string.
6448 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
6449 (usbserial_common_mod_SOURCES): New variable.
6450 (usbserial_common_mod_CFLAGS): Likewise.
6451 (usbserial_common_mod_LDFLAGS): Likewise.
6452 (pkglib_MODULES): Add usbserial_pl2303.mod.
6453 (usbserial_pl2303_mod_SOURCES): New variable.
6454 (usbserial_pl2303_mod_CFLAGS): Likewise.
6455 (usbserial_pl2303_mod_LDFLAGS): Likewise.
6456 (pkglib_MODULES): Add usbserial_ftdi.mod.
6457 (usbserial_ftdi_mod_SOURCES): New variable.
6458 (usbserial_ftdi_mod_CFLAGS): Likewise.
6459 (usbserial_ftdi_mod_LDFLAGS): Likewise.
6460 (pkglib_MODULES): Add serial.mod.
6461 (serial_mod_SOURCES): New variable.
6462 (serial_mod_CFLAGS): Likewise.
6463 (serial_mod_LDFLAGS): Likewise.
6464 * conf/i386-pc.rmk: Likewise.
6465 * conf/mips-yeeloong.rmk: Likewise.
6466 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
6467 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
6468 * disk/usbms.c (first_available_slot): New variable.
6469 (grub_usbms_attach): Don't reuse free slots due to potential cache
6470 problems.
6471 * include/grub/serial.h: Moved to ..
6472 * include/grub/ns8250.h: ...this.
6473 * include/grub/serial.h: New file.
6474 * include/grub/term.h (grub_term_poll_usb): New variable.
6475 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
6476 readkey. All users updated.
6477 (grub_terminfo_output_state): Pass term to put.
6478 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
6479 (grub_usb_controller_dev): Add timeout and actual arguments to
6480 transfer. All users updated.
6481 (grub_usb_interface): New field detach_data.
6482 (grub_usb_device): New fields children and nports.
6483 (grub_usb_ep_type_t): New type.
6484 (grub_usb_get_ep_type): New function.
6485 (grub_usb_bulk_read_extended): Likewise.
6486 * include/grub/usbdesc.h (grub_usb_desc): New type.
6487 * include/grub/usbserial.h: New file.
6488 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
6489 * kern/term.c (grub_term_poll_usb): New variable.
6490 (grub_getkey): Call grub_term_poll_usb if set.
6491 (grub_checkkey): Likewise.
6492 (grub_getkeystatus): Likewise.
6493 * term/serial.c: Moved controller-specific parts to ...
6494 * term/ns8250.c: ... here.
6495 * term/serial.c: Mostly rewritten.
6496 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
6497 according to spec.
6498
21a313de
RM
64992010-08-20 Robert Millan <rmh@gnu.org>
6500
6501 Make kFreeBSD code more generic to support ext2fs as root, ufs as
6502 a separate module and maybe other interesting combinations.
6503
6504 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
6505 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
6506 (kfreebsd_entry): Add generic filesystem module load routine.
6507 Map GRUB `ext2' to kFreeBSD `ext2fs'.
6508
63c734a6
CW
65092010-08-20 Colin Watson <cjwatson@ubuntu.com>
6510
6511 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
6512 "numcenter" (I misunderstood the purpose of this entry).
6513 * docs/grub.texi (sendkey): Likewise.
6514
c4d16542
CW
65152010-08-20 Colin Watson <cjwatson@ubuntu.com>
6516
6517 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
6518 status flag options; simply omitting the option is equivalent and
6519 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
6520 (keysym_table): Rename "num5numlock" to "numlock".
6521 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
6522 can uniformly say that only the last of multiple `sendkey'
6523 invocations has any effect.
6524 * docs/grub.texi (sendkey): New section.
6525
93541d66
CW
65262010-08-19 Colin Watson <cjwatson@ubuntu.com>
6527
6528 * commands/i386/pc/sendkey.c (options): Fix three typos.
6529
b4ece5e1
VS
65302010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 Implement sendkey support.
6533
6534 * commands/i386/pc/sendkey.c: New file.
6535 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
6536 (sendkey_mod_SOURCES): New variable.
6537 (sendkey_mod_CFLAGS): Likewise.
6538 (sendkey_mod_LDFLAGS): Likewise.
6539
51f1f5af
CW
65402010-08-18 Colin Watson <cjwatson@ubuntu.com>
6541
6542 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
6543 fix warnings from Autoconf.
6544
9da94e05
CW
65452010-08-18 Colin Watson <cjwatson@ubuntu.com>
6546
6547 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
6548 to avoid false positives with some assemblers that output things
6549 like "someprefix_func" as part of their output.
6550
729a0f2e
RM
65512010-08-15 Robert Millan <rmh@gnu.org>
6552
6553 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
6554 errors.
6555 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
6556 grub_get_libzfs_handle() errors.
6557
f3710e08
RM
65582010-08-14 Robert Millan <rmh@gnu.org>
6559
6560 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
6561 filesystem is not ZFS.
6562
7a3c13de
BC
65632010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
6564
6565 Fix for misspelled color names defaulting to black/black (bug
6566 reported by Doug Nazar)
6567
6568 * include/grub/normal.h (grub_parse_color_name_pair): Add return
6569 status to prototype.
6570 * normal/color.c (grub_parse_color_name_pair): Return failure
6571 status.
6572 (grub_env_write_color_normal): Ignore bad color names.
6573 (grub_env_write_color_highlight): Likewise.
6574 * normal/main.c (GRUB_MOD_INIT): Set default color names.
6575
ab8ba50d
BC
65762010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
6577
6578 "shift" command support to GRUB script.
6579
6580 * include/grub/script_sh.h (grub_script_shift): New prototype.
6581 * script/execute.c (grub_script_shift): New function.
6582 * script/main.c (grub_script_init): Register shift command.
6583 (grub_script_fini): Unregister shift command.
6584 * util/grub-script-check.c (grub_script_cmd_shift): New function.
6585
6586 * tests/grub_script_shift.in: New testcase.
6587 * conf/tests.rmk: Rules for new testcase.
6588
4d61999e
BC
65892010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
6590
6591 "continue" command support to GRUB script.
6592
6593 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
6594 (grub_script_break): Continue support.
6595 * script/main.c (grub_script_init): Register continue command.
6596 (grub_script_fini): Unregister continue command.
6597
6598 * tests/grub_script_continue.in: New testcase.
6599 * conf/tests.rmk: Rules for new testcase.
6600
4df51e00
BC
66012010-08-12 BVK Chaitanya <bvk@dbook>
6602
6603 "break" command support to GRUB script.
6604
6605 * conf/common.rmk: Rule updates to grub-script-check.
6606 * include/grub/misc.h (grub_min): New function.
6607 * include/grub/script_sh.h (grub_script_init): New prototype.
6608 (grub_script_fini): New prototype.
6609 (grub_script_break): New prototype.
6610 * script/main.c (grub_script_init): New function.
6611 (grub_script_fini): New function.
6612 * script/execute.c (grub_script_break): New function.
6613 * normal/main.c: Calls to grub_script_{init,fini}.
6614 * util/grub-script-check.c (grub_script_break): New function.
6615
6616 * tests/grub_script_break.in: New testcase.
6617 * conf/tests.rmk: Rules for new test case.
6618
f12c8420
BC
66192010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
6620
6621 Function parameters support to GRUB script.
6622
6623 * script/yylex.l (VARIABLE): Regular expression update.
6624 * script/function.c (grub_script_function_call): Moved ...
6625 * script/execute.c (grub_script_function_call): ... to here.
6626 (grub_script_execute_arglist_to_argv): Removed.
6627 (grub_script_arglist_to_argv): New function.
6628 * script/argv.c: New file.
6629 (grub_script_argv_free): New function.
6630 (grub_script_argv_next): Likewise.
6631 (grub_script_argv_append): Likewise.
6632 (grub_script_argv_split_append): Likewise.
6633 * include/grub/script_sh.h (grub_script_argv): New struct.
6634 (grub_script_argv_free): New function.
6635 (grub_script_argv_next): Likewise.
6636 (grub_script_argv_append): Likewise.
6637 (grub_script_argv_split_append): Likewise.
6638
6639 * conf/common.rmk (normal.mod): New source script/argv.c.
6640
6641 * tests/grub_script_echo1.in: More tests.
6642 * tests/grub_script_vars1.in: Likewise.
6643 * tests/grub_script_functions.in: New test case.
6644 * conf/tests.rmk: Rules for new testcase.
6645
8022b748
BC
66462010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
6647
6648 Remove grub_script_cmdblock struct.
6649
6650 * include/grub/script_sh.h: Remove grub_script_cmdblock.
6651 * script/parser.y: Likewise.
6652 * script/execute.c: Rename cmdblock suffix to cmdlist.
6653 * script/script.c: Likewise.
6654 * util/grub-script-check.c: Likewise.
6655
79a6ba61
YB
66562010-08-11 Yves Blusseau <blusseau@zetam.org>
6657
6658 * .bzrignore: add grub-macho2img
6659
d04b9414
VS
66602010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
6661
6662 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
6663
f947ab49
VS
66642010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 Remove the dump of sm712 initialisation sequence.
6667
6668 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
6669 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
6670 (GRUB_VGA_IO_MISC_WRITE): Likewise.
6671 (GRUB_VGA_CR_*): Added many registers.
6672 (GRUB_VGA_SR_*): Likewise.
6673 (GRUB_VGA_GR_*): Likewise.
6674 (grub_vga_write_arx): New function.
6675 (grub_video_hw_config): New struct.
6676 (grub_vga_set_geometry): New function.
6677 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
6678 GRUB_PCI_CLASS_SUBCLASS_VGA.
6679 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
6680 * video/sm712.c (grub_sm712_write_reg): New function
6681 (grub_sm712_read_reg): Likewise.
6682 (grub_sm712_sr_write): Likewise.
6683 (grub_sm712_gr_write): Likewise.
6684 (grub_sm712_cr_write): Likewise.
6685 (grub_sm712_write_arx): Likewise.
6686 (grub_sm712_cr_shadow_write): Likewise.
6687 (grub_sm712_write_dda_lookup): Likewise.
6688 (grub_video_sm712_setup): Initialise the video rather then
6689 blindly replay the dump.
6690 (main) [TEST]: Add a routine to be able to compile as standalone for
6691 tests.
6692 * video/sm712_init.c (sm712_init): Removed.
6693 (sm712_sr_seq1): New array.
6694 (sm712_sr_seq2): Likewise.
6695
f0206638
VS
66962010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 * include/grub/vga.h: Add missing grub/pci.h include.
6699
2764da3b
YB
67002010-08-10 Yves Blusseau <blusseau@zetam.org>
6701
6702 * util/grub-macho2img.c (main): fix typo
6703
cf0c775e
VS
67042010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
6705
6706 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
6707 (grub_vga_gr_read): Likewise.
6708 (grub_vga_cr_write): Likewise.
6709 (grub_vga_cr_read): Likewise.
6710 (grub_vga_sr_write): Likewise.
6711 (grub_vga_sr_read): Likewise.
6712 (grub_vga_palette_read): Likewise.
6713 (grub_vga_palette_write): Likewise.
6714 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
6715 (grub_sm712_sr_read): New function.
6716 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
6717 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
6718
07f360e9
RM
67192010-08-09 Robert Millan <rmh@gnu.org>
6720
6721 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
6722 out unused variables on non-ZFS build.
6723
346c2072
RM
67242010-08-08 Robert Millan <rmh@gnu.org>
6725
6726 Fix path generation for sub-filesystems in ZFS.
6727
6728 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
6729 missing slash.
6730
71175420
RM
67312010-08-08 Robert Millan <rmh@gnu.org>
6732
6733 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
6734
0d8286f3
RM
67352010-08-08 Robert Millan <rmh@gnu.org>
6736
6737 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
6738 exist, issue a proper error message (rely on `ls' for translated
6739 strings).
6740
55dd2924
RM
67412010-08-08 Robert Millan <rmh@gnu.org>
6742
6743 Fix grub-probe invocation.
6744
6745 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
6746
d3dd9e80
RM
67472010-08-04 Robert Millan <rmh@gnu.org>
6748
6749 * configure.ac: Remove checks for getfsstat() and getmntany().
6750 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
6751 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
6752 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
6753 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
6754 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
6755 function.
6756 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
6757 via find_mount_point_from_dir() and getfsstat() / getmntany().
6758
0de22aa9
RM
67592010-08-04 Robert Millan <rmh@gnu.org>
6760
6761 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6762 (grub_find_zpool_from_mount_point): Merge into ...
6763 (grub_find_zpool_from_dir): ... this.
6764 * kern/emu/misc.c: Likewise.
6765
6766 * kern/emu/misc.c
6767 (grub_make_system_path_relative_to_its_root): Replace
6768 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
6769 with grub_find_zpool_from_dir().
6770 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
6771
62858144
RM
67722010-08-04 Robert Millan <rmh@gnu.org>
6773
6774 Support OpenSolaris in ZFS device resolution.
6775
6776 * configure.ac: Check for getmntany().
6777 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
6778 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
6779 support.
6780
9dd6fd50
RM
67812010-08-03 Robert Millan <rmh@gnu.org>
6782
6783 Fix grub-emu build.
6784
6785 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
6786 * include/grub/emu/misc.h: ... here.
6787
6788 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
6789 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
6790
6791 * util/misc.c: Remove `<grub/util/libzfs.h>'.
6792 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
6793 (grub_get_libzfs_handle): Move to ...
6794 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
6795 (grub_get_libzfs_handle): ... here.
6796
c9f7ff97
BC
67972010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
6798
6799 * script/execute.c (grub_script_execute_cmdline): Check for NULL
6800 as command name case.
6801
a870a783
CW
68022010-08-02 Colin Watson <cjwatson@ubuntu.com>
6803
6804 * disk/raid.c (insert_array): Select unique numbers for named arrays
6805 as well, for use as keys in the disk cache.
6806
c7db243b
RM
68072010-08-01 Robert Millan <rmh@gnu.org>
6808
6809 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
6810 kFreeBSD device name, except on ZFS where the filesystem label is
6811 used.
6812 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
6813 `/boot/zfs/zpool.cache'.
6814 Set mountfrom kernel variable using ${kfreebsd_device}.
6815
f7abdefb
RM
68162010-08-01 Robert Millan <rmh@gnu.org>
6817
6818 Make it even harder to use uninitialized `libzfs_handle' (and
6819 make the interface a bit simpler).
6820
6821 * include/grub/util/misc.h (grub_util_init_libzfs)
6822 (libzfs_handle): Remove.
6823 (grub_get_libzfs_handle): New prototype.
6824
6825 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
6826 attribute.
6827 (grub_util_init_libzfs): Remove.
6828 (grub_get_libzfs_handle): New function.
6829
6830 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
6831 grub_get_libzfs_handle() to obtain a libzfs handle instead of
6832 accessing `libzfs_handle' directly.
6833
c882acc0
RM
68342010-08-01 Robert Millan <rmh@gnu.org>
6835
6836 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6837 (grub_find_zpool_from_mount_point): New function prototypes.
6838
6839 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6840 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6841
6842 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6843 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6844 `static' attribute.
6845
6846 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6847 finding zpool from mount point into ...
6848 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6849
6850 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6851 requested path is part of a ZFS pool, use
6852 grub_find_zpool_from_mount_point() to detect its filesystem name,
6853 and generate a path with `/fsname@path' syntax.
6854
8bfe31d8
CW
68552010-08-01 Colin Watson <cjwatson@ubuntu.com>
6856
6857 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
6858 (void) rather than () so that this is a proper prototype.
6859
553df63d
VS
68602010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
6863
8687cf07
VS
68642010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6865
6866 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
6867 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
6868
ea9be8ea
CW
68692010-08-01 Colin Watson <cjwatson@ubuntu.com>
6870
6871 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
6872
6eea041a
CW
68732010-08-01 Colin Watson <cjwatson@ubuntu.com>
6874
6875 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
6876
2cfb45df
CW
68772010-08-01 Colin Watson <cjwatson@ubuntu.com>
6878
6879 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
6880 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
6881 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
6882 disable gfxpayload.
6883 (Shell-like scripting): Add real content.
6884 (Serial terminal): Suggest `terminal_input serial; terminal_output
6885 serial' rather than putting the two commands on separate lines,
6886 since console input will be inoperative after the first command.
6887 (menuentry): Document --class, --users, and --hotkey options.
6888 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
6889 Vladimir Serbinenko).
6890
7decd202
VS
68912010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
68922010-08-01 Colin Watson <cjwatson@ubuntu.com>
6893
6894 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
6895
c882acc0
RM
68962010-08-01 Robert Millan <rmh@gnu.org>
6897
6898 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6899 (grub_find_zpool_from_mount_point): New function prototypes.
6900
6901 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6902 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6903
6904 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6905 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6906 `static' attribute.
6907
6908 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6909 finding zpool from mount point into ...
6910 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6911
6912 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6913 requested path is part of a ZFS pool, use
6914 grub_find_zpool_from_mount_point() to detect its filesystem name,
6915 and generate a path with `/fsname@path' syntax.
6916
deb0caa3
RM
69172010-08-01 Robert Millan <rmh@gnu.org>
6918
6919 Prevent accidental use of uninitialized libzfs_handle.
6920
6921 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
6922 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
6923 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
6924
ce04ef47
CW
69252010-08-01 Colin Watson <cjwatson@ubuntu.com>
6926
6927 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
6928 util/grub.d/10_linux.in). Fixes Debian bug #591093.
6929
ebf53056
RM
69302010-08-01 Robert Millan <rmh@gnu.org>
6931
6932 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 6933
3710bb6b
RM
69342010-07-31 Robert Millan <rmh@gnu.org>
6935
6936 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
6937
8072efeb
RM
69382010-07-31 Robert Millan <rmh@gnu.org>
6939
6940 * kern/emu/misc.c: Add missing license header.
6941
3169f4c7
RM
69422010-07-31 Robert Millan <rmh@gnu.org>
6943
6944 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
6945
6946 * include/grub/util/libnvpair.h: Include `<config.h>'.
6947 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
6948 declaring libnvpair prototypes ourselves.
6949 * include/grub/util/libzfs.h: Include `<config.h>'.
6950 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
6951 declaring libzfs prototypes ourselves.
6952
6953 (libzfs_handle): Moved to ...
6954 * include/grub/util/misc.h (libzfs_handle): ... here.
6955 Include `<grub/util/libzfs.h>'.
6956
c9a00aee
RM
69572010-07-30 Robert Millan <rmh@gnu.org>
6958
6959 * include/grub/emu/misc.h: Add missing license header.
6960
a184f9c8
RM
69612010-07-30 Robert Millan <rmh@gnu.org>
6962
6963 Enable `grub-probe -t device' resolution on ZFS.
6964
6965 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
6966 * include/grub/util/libnvpair.h: New file.
6967 * include/grub/util/libzfs.h: New file.
6968
6969 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
6970 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
6971 `<grub/util/libnvpair.h>'.
6972 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
6973
6974 (find_mount_point_from_dir): New static function.
6975 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
6976 function.
6977 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
6978 find_root_device_from_libzfs() before ressorting to find_root_device().
6979
6980 * include/grub/util/misc.h (grub_util_init_libzfs): New function
6981 prototype.
6982 * util/misc.c: Include `<grub/util/libzfs.h>'.
6983 (grub_util_init_libzfs): New function.
6984 [HAVE_LIBZFS] (libzfs_handle): New global variable.
6985 [HAVE_LIBZFS] (fini_libzfs): New static function.
6986 (grub_util_init_libzfs): New function.
6987 * util/grub-probe.c (main): Call grub_util_init_libzfs().
6988
f7790cdd
RM
69892010-07-30 Robert Millan <rmh@gnu.org>
6990
6991 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
6992 (xmalloc, xrealloc, xstrdup, xasprintf): Add
6993 `warn_unused_result' attribute.
6994 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
6995 (grub_xasprintf, grub_xvasprintf): Likewise.
6996 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
6997
0806b63c
RM
69982010-07-29 Robert Millan <rmh@gnu.org>
6999
7000 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
7001 (probe): Handle `PRINT_FS_LABEL'.
7002 (main): Handle `-t fs_label'.
7003
9f841f5c
RM
70042010-07-29 Robert Millan <rmh@gnu.org>
7005
7006 * configure.ac: Remove grub-mkisofs checks.
7007
46371121
VS
70082010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * util/ieee1275/grub-install.in: Don't use empty grub_device.
7011 Reported by: Lennart Sorensen.
7012
70132010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
7016 prior to terminal_input/terminal_output separation. It's been over 1.5
7017 years and those versions weren't widely deployed.
7018
a9600892
CW
70192010-07-22 Colin Watson <cjwatson@ubuntu.com>
7020
7021 * disk/raid.c (insert_array): Don't count named arrays when looking
7022 for unused array numbers.
697e053c 7023 Reported and tested by: Michael Guntsche.
a9600892 7024
c03507df
CW
70252010-07-20 Colin Watson <cjwatson@ubuntu.com>
7026
7027 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
7028 implementation of this so that grub-emu links again, with a note
7029 that this should support hotplugging in the future.
7030
b26f1c11
CW
70312010-07-20 Colin Watson <cjwatson@ubuntu.com>
7032
7033 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
7034
efc9d7f1
CW
70352010-07-20 Colin Watson <cjwatson@ubuntu.com>
7036
7037 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
7038 handle on failure.
7039 (grub_loopback_close): Remove empty function.
7040 (grub_loopback_dev): Remove close method.
7041
dd8ff5c9
CW
70422010-07-20 Colin Watson <cjwatson@ubuntu.com>
7043
7044 Disable EFI cursor when the EFI console becomes inactive.
7045
7046 * term/efi/console.c (grub_efi_console_init): New function.
7047 (grub_efi_console_fini): New function.
7048 (grub_console_term_output): Register init and fini methods.
7049
5e3bec67
VS
70502010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * tests/util/grub-shell-tester.in: Remove bashism and declare as
7053 sh script.
7054
afaec079
VS
70552010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * disk/loopback.c (grub_loopback): Replace filename with file.
7058 (delete_loopback): Handle new semantics.
7059 (grub_cmd_loopback): Likewise.
7060 (grub_loopback_iterate): Likewise.
7061 (grub_loopback_close): Likewise.
7062
a6a11f3c
VS
70632010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7064
7065 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
7066 with -p "".
7067 Reported by: Tito Keitel.
7068
64a638b0
VS
70692010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 * docs/grub.texi (Naming convention): Document new naming convention.
7072
ab8ba957
VS
70732010-07-20 Vadim Solomin <vadic052@gmail.com>
70742010-07-20 Colin Watson <cjwatson@ubuntu.com>
7075
7076 Generate device.map in something closer to the old ordering.
7077
7078 * util/deviceiter.c (struct device): New declaration.
7079 (compare_file_names): Rename to ...
7080 (compare_devices): ... this. Sort by kernel name in preference to
7081 the stable by-id name, but keep the latter as a fallback comparison.
7082 Update header comment.
7083 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
7084 of `struct device' rather than of plain file names.
7085
a29d6a4b
TF
70862010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
7087
7088 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
7089 on i386.
7090
39d824e8
VS
70912010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 * commands/acpi.c (setup_common_tables): Use sizeof instead of
7094 hardcoding size.
7095 (setv1table): Likewise.
7096
f058276b
FZ
70972010-07-20 Colin Watson <cjwatson@ubuntu.com>
7098
7099 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
7100 removing the homehost if present.
7101 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
7102 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
7103 removing the homehost if present.
7104 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
7105 if possible.
7106 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
7107
7108 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
7109 parameter. Set its pointer target to 0.
7110 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
7111 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
7112 `data_offset' value from the superblock for 1.x metadata.
7113 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
7114 data on the device.
7115 (insert_array): Record the start sector of data on the device.
7116 (grub_raid_register): Pass start_sector parameters to
7117 grub_raid_list->detect and insert_array.
7118 * include/grub/raid.h (struct grub_raid_array): Add start_sector
7119 member.
7120 (struct grub_raid): Add start_sector parameter to `detect'.
7121
7122 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
7123 __attribute__ ((packed)), leaving a comment.
7124 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
7125 (grub_mdraid_detect_09): ... here and ...
7126 (grub_mdraid_detect_1x): ... here.
7127
71282010-07-20 Peter Henn <peter.henn@web.de>
7129
7130 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
7131 chunk size and disk size, which are already given as sector counts
7132 as distinct from the 0.90 units. Fetch the correct device number
7133 from the role table instead of using the table index.
7134
71352010-07-20 Felix Zielcke <fzielcke@z-51.de>
7136
7137 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
7138 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
7139 (WriteMostly1): New macro.
7140 Set array->name to NULL for metadata format 0.90. Add support for
7141 metadata 1.x. Fix some comments.
7142 * disk/raid.c (): Add support for name based RAID arrays. Fix a
7143 few comments.
7144 * util/getroot.c (grub_util_get_grub_dev): Add support for
7145 /dev/md/name style devices.
7146
4b761da9
CW
71472010-07-20 Colin Watson <cjwatson@ubuntu.com>
7148
7149 * .bzrignore: Ignore 20_linux_xen.
7150
5771289a
CW
71512010-07-17 Colin Watson <cjwatson@ubuntu.com>
7152
7153 * util/import_unicode.py: Remove unnecessary imports.
7154
5dab68df
AN
71552010-07-17 Aleš Nesrsta <starous@volny.cz>
7156
7157 Hotplugging and USB hub support.
7158
7159 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
7160 (grub_ohci): Likewise.
7161 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
7162 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
7163 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
7164 (GRUB_OHCI_CTRL_EDS): Likewise.
7165 (GRUB_OHCI_BULK_EDS): Likewise.
7166 (GRUB_OHCI_TDS): Likewise.
7167 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
7168 (grub_ohci_ed_phys2virt): New function.
7169 (grub_ohci_virt_to_phys): Likewise.
7170 (grub_ohci_td_phys2virt): Likewise.
7171 (grub_ohci_td_virt2phys): Likewise.
7172 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
7173 attachment.
7174 (grub_ohci_find_ed): New function.
7175 (grub_ohci_alloc_td): Likewise.
7176 (grub_ohci_free_td): Likewise.
7177 (grub_ohci_free_tds): Likewise.
7178 (grub_ohci_transfer): Use previously allocated memory.
7179 (grub_ohci_portstatus): Reset status changed bit.
7180 (grub_ohci_detect_dev): Supply status changed.
7181 (grub_ohci_fini_hw): Free memory.
7182 (grub_ohci_restore_hw): Reallocate memory.
7183 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
7184 Reset status change.
7185 (grub_uhci_detect_dev): Supply status_change.
7186 * bus/usb/usb.c (attach_hooks): New var.
7187 (grub_usb_device_attach): New function.
7188 (grub_usb_register_attach_hook_class): Likewise.
7189 (grub_usb_unregister_attach_hook_class): Likewise.
7190 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
7191 (grub_usb_add_hub): Reset connection changed bit.
7192 (attach_root_port): New function.
7193 (grub_usb_root_hub): Likewise.
7194 (poll_nonroot_hub): Likewise.
7195 (grub_usb_poll_devices): Likewise.
7196 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
7197 * disk/usbms.c (grub_usbms_open): Use device hooks.
7198 (grub_usbms_iterate) :Poll devices.
7199 (grub_usbms_finddevs): Split into ...
7200 (grub_usbms_attach): ... this ...
7201 (grub_usbms_attach): ... and this.
7202 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
7203 in detect_dev.
7204 (grub_usb_interface): New fields attached and detach_hook.
7205 (grub_usb_attach_hook_class): New type.
7206 (grub_usb_attach_desc): New struct.
7207 (grub_usb_register_attach_hook_class): New function.
7208 (grub_usb_unregister_attach_hook_class): Likewise.
7209 (grub_usb_poll_devices): Likewise.
7210 (grub_usb_device_attach): Likewise.
7211 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
7212 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
7213
3222efaf
VS
72142010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
7217 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
7218 delta determination style. Works with most NetBSD partitions too.
7219
139b714a
VS
72202010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
7223 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
7224
986aad56
VS
72252010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
7228
99be513c
AB
72292010-07-14 Anton Blanchard <anton@samba.org>
7230
7231 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
7232 ET_DYN files.
7233
18075f62
GS
72342010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7235
7236 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
7237
8d9a5b15
GS
72382010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7239
7240 * kern/partition.c (grub_partition_check_containment): New function to
7241 check that a partition is physically contained in a parent. Since
7242 offsets are relative (and non-negative), this reduces to checking that
7243 the partition ends before its parent.
7244 (grub_partition_map_probe): Discard out-of-range sub-partitions.
7245 (grub_partition_iterate): Likewise.
7246 * include/grub/partition.h (grub_partition_map): Slightly more detailed
7247 comments.
7248 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
7249 partitions that start before their parent, and add debug printfs.
7250
19563c25
CW
72512010-07-13 Colin Watson <cjwatson@ubuntu.com>
7252
7253 * Makefile.in (.SUFFIX): Spell correctly, as ...
7254 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
7255 bare module name without `.mod', e.g. `test') tried to invoke a
7256 Modula-2 compiler.
7257
1a1f1e67
CW
72582010-07-13 Colin Watson <cjwatson@ubuntu.com>
7259
7260 * README: Point to the Info manual.
7261
811b0dca
JS
72622010-07-13 Jiro SEKIBA <jir@unicus.jp>
7263
7264 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
7265 2nd superblock position from partition size.
7266
e4f4eafc
CW
72672010-07-10 Colin Watson <cjwatson@ubuntu.com>
7268
7269 * Makefile.in (MAINTAINER_CLEANFILES): Remove
7270 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
7271 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
7272 outputs.
7273
4274c30f
VS
72742010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 Restructure SCSI .id handling.
7277 Reported and tested by: Aleš Nesrsta.
7278
7279 * disk/ata.c (grub_atapi_close): Removed. All users updated.
7280 (grub_atapi_dev): Changed .name to "ata". New field .id.
7281 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
7282 (grub_usbms_dev): New field .id.
7283 * disk/scsi.c (grub_scsi_iterate): Generate name.
7284 (grub_scsi_open): Parse name.
7285 * include/grub/scsi.h (grub_make_scsi_id): New function.
7286 (grub_scsi_dev): Change iterate and open to number instead of naming
7287 busses. All users updated.
7288 (grub_scsi): Remove name. Add .bus.
7289
5bc24388
VS
72902010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 * commands/help.c (grub_cmd_help): Fix a typo.
7293
249975ba
VS
72942010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
7297 Reported and tested by: Colin Watson.
7298
3eaac1a1
VS
72992010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
7302 in this context.
7303
becce1b1
VS
73042010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
7307
f7bf0918
CW
73082010-07-07 Colin Watson <cjwatson@ubuntu.com>
7309
7310 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
7311 indentation.
7312
0b0f9620
CW
73132010-07-06 Colin Watson <cjwatson@ubuntu.com>
7314
7315 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
7316 and disk/raid6_recover.c.
7317 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
7318 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
7319
1e545469
CW
73202010-07-06 Colin Watson <cjwatson@ubuntu.com>
7321
7322 * term/gfxterm.c (repaint_schedulded): Rename to ...
7323 (repaint_scheduled): ... this. Update all callers.
7324 (repaint_was_schedulded): Rename to ...
7325 (repaint_was_scheduled): ... this. Update all callers.
7326
5357687a
CW
73272010-07-06 Colin Watson <cjwatson@ubuntu.com>
7328
7329 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
7330 which we expect to be handled by upper layers.
7331
29d7e783
BC
73322010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
7333
7334 * bus/usb/usbhub.c: #include time.h header.
7335
37582066
CW
73362010-07-06 Colin Watson <cjwatson@ubuntu.com>
7337
7338 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
7339 entry_name also for entries without stat blocks (e.g. ".."); fixes
7340 corruption of the first entry in a directory.
7341
c8c06953
CW
73422010-07-06 Colin Watson <cjwatson@ubuntu.com>
7343
7344 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
7345 after setting gfxterm as the active terminal. GRUB_BACKGROUND
7346 doesn't work otherwise.
7347
e75056f1
CW
73482010-07-05 Colin Watson <cjwatson@ubuntu.com>
7349
7350 * docs/grub.texi (Features): Update list of supported file systems.
7351 (GNU/Linux): Update for GRUB 2.
7352 (Serial terminal): Remove mention of --disable-serial, which was a
7353 GRUB Legacy configure option. Update instructions to use
7354 `terminal_input' and `terminal_output' rather than `terminal'.
7355 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
7356 configuration' and `Installing GRUB using grub-install'.
7357 (Menu entry editor): Update for GRUB 2.
7358 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
7359 Document new -a, -u, and -v options.
7360 (initrd): New section.
7361 (initrd16): New section.
7362 (linux): New section.
7363 (linux16): New section.
7364 (search): The `var' argument to `--set' is optional.
7365 (GRUB only offers a rescue shell): Go into a little more detail on
7366 drive ordering.
7367
5cf69151
CW
73682010-07-05 Colin Watson <cjwatson@ubuntu.com>
7369
7370 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
7371
e3f90044
CW
73722010-07-05 Colin Watson <cjwatson@ubuntu.com>
7373
7374 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
7375 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
7376
38d8f4f3
CW
73772010-07-05 Colin Watson <cjwatson@ubuntu.com>
7378
7379 * util/i386/pc/grub-setup.c (setup): Rename prefix to
7380 install_prefix, in line with install_dos_part and install_bsd_part.
7381 Add new prefix variable, which is copied to install_prefix after
7382 comparing core.img in memory with the one read from disk in the
7383 no-embedding case, and use that rather than overwriting
7384 install_prefix immediately when installing to a partition.
7385 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
7386 Bicakci.
7387
57ebd41e
GS
73882010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
7389
7390 * configure.ac: Avoid == in test command, it's not portable.
7391 * util/grub.d/30_os-prober.in: Likewise.
7392
cb7f64b2
CW
73932010-07-04 Colin Watson <cjwatson@ubuntu.com>
7394
7395 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
7396
6b654bb0
GS
73972010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
7398
7399 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
7400 multiple (top-level) partmaps.
7401
72a2026d
VS
74022010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 7405 Reported by: Tino Keitel.
72a2026d 7406
df3eb88f
VS
74072010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 Bidi and diacritics support.
7410
7411 * Makefile.in (widthspec.bin): New target.
7412 (widthspec.h): Likewise.
7413 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
7414 * autogen.sh: Generate unidata.c.
7415 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
7416 * commands/ls.c (grub_ls_list_devices): Likewise.
7417 (grub_ls_list_files): Likewise.
7418 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
7419 (grub_mini_cmd_lsmod): Likewise.
7420 * commands/read.c: Likewise.
7421 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
7422 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
7423 * lib/arg.c (grub_arg_show_help): Likewise.
7424 * lib/crypto.c (grub_password_get): Likewise.
7425 * normal/auth.c (grub_username_get): Likewise.
7426 * normal/misc.c (grub_normal_print_device_info): Likewise.
7427 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
7428 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
7429 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
7430 (normal/charset.c_DEPENDENCIES): New variable.
7431 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
7432 (pkglib_MODULES): Remove charset.mod.
7433 (charset_mod_SOURCES): Removed.
7434 (charset_mod_CFLAGS): Likewise.
7435 (charset_mod_LDFLAGS): Likewise.
7436 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
7437 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
7438 and term/tparm.c.
7439 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7440 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7441 (kernel_img_HEADERS): Add terminfo.h.
7442 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
7443 Fill ->font. Reverse ascii bitmaps.
7444 (grub_font_get_xheight): New function.
7445 * font/font.c (grub_font_get_string_width): Moved from here ...
7446 * gfxmenu/font.c (grub_font_get_string_width): ... here.
7447 * font/font.c (grub_font_draw_string): Moved from here ...
7448 * gfxmenu/font.c (grub_font_draw_string): ... here.
7449 * font/font.c (grub_font_dup_glyph): New function.
7450 (grub_font_blit_glyph): Likewise.
7451 (grub_font_blit_glyph_mirror): Likewise.
7452 (blit_comb): Likewise.
7453 (grub_font_construct_dry_run): Likewise.
7454 (grub_font_get_constructed_device_width): Likewise.
7455 (grub_font_construct_glyph): Likewise.
7456 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
7457 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
7458 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
7459 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
7460 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
7461 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
7462 (grub_font_get_xheight): New proto.
7463 (grub_font_get_constructed_device_width): Likewise.
7464 (grub_font_construct_glyph): Likewise.
7465 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
7466 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
7467 * include/grub/font.h (grub_font_draw_string): Moved from here ...
7468 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
7469 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
7470 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
7471 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
7472 (grub_console_getcharwidth): Likewise.
7473 * include/grub/misc.h (grub_xputs): New proto.
7474 (grub_puts): Inlined.
7475 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
7476 (grub_normal_get_line_counter): Removed.
7477 (grub_install_newline_hook): Likewise.
7478 (grub_normal_get_char_counter): New proto.
7479 (grub_normal_reset_more): Likewise.
7480 (grub_xputs_normal): Likewise.
7481 * include/grub/powerpc/ieee1275/console.h: Removed.
7482 * include/grub/sparc64/ieee1275/console.h: Likewise.
7483 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
7484 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
7485 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
7486 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
7487 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
7488 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
7489 (grub_term_input): Pass reference to self. All users updated.
7490 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
7491 Pass reference to self. New fields normal_color, highlight_color and
7492 data. All users updated.
7493 (grub_putchar): Removed.
7494 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
7495 (grub_unicode_estimate_width): New function.
7496 (grub_term_getcharwidth): Add defaults.
7497 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
7498 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
7499 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
7500 (grub_cls): Remove EXPORT_FUNC.
7501 (grub_setcolorstate): Inline.
7502 (grub_newline_hook): Removed.
7503 * include/grub/terminfo.h: Rewritten. All users updated.
7504 * include/grub/unicode.h: New file.
7505 * include/grub/video.h (grub_video_signed_rect): New type.
7506 * kern/emu/console.c (grub_console_highlight_color): Removed.
7507 (grub_console_normal_color): Likewise.
7508 (grub_console_standard_color): Made static.
7509 (grub_ncurses_putchar): Remove mapping.
7510 (grub_ncurses_getcharwidth): Removed.
7511 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
7512 (grub_ncurses_setcolor): Removed.
7513 (grub_ncurses_getcolor): Likewise.
7514 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
7515 (grub_console_putchar): ... this.
7516 (grub_console_putchar): Handle argument difference.
7517 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
7518 console_init_early and console_init_lately.
7519 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
7520 * kern/misc.c (grub_puts): Removed.
7521 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
7522 (grub_vsnprintf_real): Remove str = NULL support.
7523 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
7524 * normal/charset.c (grub_utf8_to_ucs4): ... here.
7525 * kern/term.c (grub_putcode): Renamed to ...
7526 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
7527 (grub_putchar): Removed.
7528 (grub_xputs_dumb): New function.
7529 (grub_xputs): New variable.
7530 * lib/charset.c: Move from here ...
7531 * normal/charset.c: ... to here.
7532 (grub_ucs4_to_utf8): New function.
7533 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
7534 (join_types): New variable.
7535 (unpack_join): New function.
7536 (bidi_types): New variable.
7537 (unpack_bidi): New function.
7538 (get_bidi_type): Likewise.
7539 (get_join_type): Likewise.
7540 (is_mirrored): Likewise.
7541 (grub_unicode_get_comb_type): Likewise.
7542 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
7543 (is_type_after): Likewise.
7544 (grub_unicode_aglomerate_comb): Likewise.
7545 (bidi_line_wrap): Likewise.
7546 (grub_bidi_line_logical_to_visual): Likewise.
7547 (grub_bidi_logical_to_visual): Likewise.
7548 (grub_unicode_mirror_code): Likewise.
7549 (grub_unicode_shape_code): Likewise.
7550 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
7551 Don't use grub_putchar.
7552 * normal/main.c (grub_normal_init_page): Use grub_putcode.
7553 (grub_normal_reader_init): Likewise.
7554 (grub_xputs_saved): New variable.
7555 (GRUB_MOD_INIT): Set grub_xputs.
7556 (GRUB_MOD_FINI): Restore grub_xputs.
7557 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
7558 (menu_init): Avoid printing gfxmenu error.
7559 (show_menu): Use grub_normal_get_char_counter.
7560 * normal/menu_entry.c (update_screen): Fix out-of-array.
7561 (complete): Avoid NULL dereferencing.
7562 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
7563 * normal/menu_text.c (print_spaces): Removed.
7564 (grub_print_ucs4): Likewise.
7565 (grub_print_message_indented): Use grub_print_ucs4.
7566 (print_message): Use grub_putcode.
7567 (print_entry): Hanlde diacritics.
7568 * normal/term.c (term_state): New type.
7569 (grub_more_lines): Removed.
7570 (term_states): New variable.
7571 (grub_normal_line_counter): Renamed to ..
7572 (grub_normal_char_counter): ...this. All users updated.
7573 (grub_normal_get_line_counter): Renamed to ...
7574 (grub_normal_get_char_counter): ... this.
7575 (grub_normal_reset_more): New function.
7576 (process_newline): Removed.
7577 (print_more): New function.
7578 (grub_install_newline_hook): Removed.
7579 (map_code): New function.
7580 (grub_puts_terminal): Use grub_print_ucs4.
7581 (putglyph): New function.
7582 (putcode_real): Likewise.
7583 (grub_putcode): Use putcode_real.
7584 (get_maxwidth): New function.
7585 (get_startwidth): Likewise.
7586 (print_ucs4_terminal): Likewise.
7587 (find_term_state): Likewise.
7588 (put_glyphs_terminal): Likewise.
7589 (print_backlog): Likewise.
7590 (print_ucs4_real): Likewise.
7591 (grub_print_ucs4): Likewise.
7592 (grub_xputs_normal): Likewise.
7593 * term/efi/console.c (grub_console_putchar): Output diacritics.
7594 (grub_console_getcharwidth): Removed.
7595 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
7596 * term/gfxterm.c (clear_char): Free chars.
7597 (scroll_up): Avoid leaking memory.
7598 (grub_gfxterm_putchar): Support diacritics.
7599 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
7600 * term/i386/pc/console.c (grub_console_term_output): Declare as
7601 GRUB_TERM_CODE_TYPE_VGA.
7602 * term/i386/pc/vga.c (grub_vga_term): Declare as
7603 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
7604 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
7605 GRUB_TERM_CODE_TYPE_VGA.
7606 * term/i386/vga_common.c (map_char): Removed.
7607 (grub_console_putchar): Likewise.
7608 (grub_console_getcharwidth): Likewise.
7609 * term/ieee1275/ofconsole.c: Simplify using terminfo.
7610 (colors): Reordered to match terminfo.
7611 (grub_ofconsole_normal_color): Removed.
7612 (grub_ofconsole_writeesc): Likewise.
7613 (grub_ofconsole_highlight_color): Likewise.
7614 (grub_ofconsole_getcharwidth): Likewise.
7615 (grub_ofconsole_setcolorstate): Likewise.
7616 (grub_ofconsole_setcolor): Likewise.
7617 (grub_ofconsole_getcolor): Likewise.
7618 (grub_ofconsole_readkey): Renamed to ...
7619 (readkey): ... this. Remove escape sequence handling. Return -1 on no
7620 key.
7621 (grub_ofconsole_checkkey): Removed.
7622 (grub_ofconsole_getkey): Likewise.
7623 (grub_ofconsole_getxy): Likewise.
7624 (grub_ofconsole_gotoxy): Likewise.
7625 (grub_ofconsole_cls): Likewise.
7626 (grub_ofconsole_refresh): Likewise.
7627 (grub_ofconsole_terminfo_input): New struct.
7628 (grub_ofconsole_terminfo_output): Likewise.
7629 (grub_ofconsole_term_input): Use terminfo.
7630 (grub_ofconsole_term_output): Likewise.
7631 (grub_console_init): Split into ...
7632 (grub_console_init_early): ...this and ...
7633 (grub_console_init_lately): ...this. Use terminfo.
7634 (grub_ofconsole_putchar): Renamed to ...
7635 (put): ... this. Remove mapping.
7636 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
7637 * term/serial.c: Simplify using terminfo.
7638 (xpos): Removed.
7639 (ypos): Likewise.
7640 (keep_track): Likewise.
7641 (registered): Likewise.
7642 (input_buf): Likewise.
7643 (npending): Likewise.
7644 (serial_translate_key_sequence): Likewise.
7645 (fill_input_buf): Likewise.
7646 (grub_serial_checkkey): Likewise.
7647 (grub_serial_getkey): Likewise.
7648 (grub_serial_getxy): Likewise.
7649 (grub_serial_gotoxy): Likewise.
7650 (grub_serial_putchar): Likewise.
7651 (grub_serial_cls): Likewise.
7652 (grub_serial_setcolorstate): Likewise.
7653 (grub_serial_setcursor): Likewise.
7654 (serial_hw_init): Use serial_hw_fetch.
7655 (grub_serial_terminfo_input): New variable.
7656 (grub_serial_terminfo_output): Likewise.
7657 (grub_serial_term_input): Use terminfo.
7658 (grub_serial_term_output): Likewise.
7659 * term/terminfo.c (putstr): Use put.
7660 (grub_terminfo_all_free): New function
7661 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
7662 (grub_terminfo_output_register): New function.
7663 (grub_terminfo_output_unregister): Likewise.
7664 (grub_terminfo_getxy): Likewise.
7665 (grub_terminfo_readkey): Likewise.
7666 (grub_terminfo_checkkey): Likewise.
7667 (grub_terminfo_getkey): Likewise.
7668 (grub_terminfo_input_init): Likewise.
7669 (print_terminfo): Likewise.
7670 (grub_cmd_terminfo): Handle encoding.
7671 (grub_terminfo_gotoxy): Track position.
7672 (grub_terminfo_cls): Likewise.
7673 (grub_terminfo_putchar): Likewise.
7674 (grub_terminfo_setcolorstate): Handle colors
7675 (grub_terminfo_cursor_on): This ...
7676 (grub_terminfo_cursor_off): ... and this merged into ...
7677 (grub_terminfo_setcursor): ... this.
7678 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
7679 * unicode/ArabicShaping.txt: New file (imported from Unicode).
7680 * unicode/BidiMirroring.txt: Likewise.
7681 * unicode/UnicodeData.txt: Likewise.
7682 * unicode/COPYING: Likewise.
7683 * util/grub-editenv.c (grub_putchar): Removed.
7684 (grub_xputs_real): New function.
7685 (grub_xputs): New variable.
7686 * util/grub-fstest.c (grub_putchar): Removed.
7687 (grub_xputs_real): New function.
7688 (grub_xputs): New variable.
7689 * util/grub-mkdevicemap.c (grub_putchar): Removed.
7690 (grub_xputs_real): New function.
7691 (grub_xputs): New variable.
7692 * util/grub-probe.c (grub_putchar): Removed.
7693 (grub_xputs_real): New function.
7694 (grub_xputs): New variable.
7695 * util/grub-script-check.c (grub_putchar): Removed.
7696 (grub_xputs_real): New function.
7697 (grub_xputs): New variable.
7698 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
7699 (grub_xputs_real): New function.
7700 (grub_xputs): New variable.
7701 * util/import_unicode.py: New file.
7702 * util/grub-mkfont.c (ft_errmsgs): New array.
7703 (grub_glyph_info): Make bitmap a pointer.
7704 (file_formats): New type WIDTH_SPEC.
7705 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
7706 (options): Add width-spec.
7707 (help): Likewise.
7708 (add_char): Renamed to ...
7709 (add_glyph): ... this.
7710 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
7711 (glyph_replace): New type.
7712 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
7713 (add_char): New function.
7714 (add_subst): Likewise.
7715 (process_cursive): Likewise.
7716 (add_font): Handle GSUB.
7717 (write_font_width_spec): New function.
7718 (main): Sort glyphs.
7719 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
7720 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
7721 * kern/term.c (grub_cls): Moved from here...
7722 * normal/term.c (grub_cls): ... here.
7723
50f0bcda
CW
77242010-07-02 Colin Watson <cjwatson@ubuntu.com>
7725
7726 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
7727 suitable for using within the format argument of printf when
7728 converting grub_size_t.
7729 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
7730 "x" to convert grub_size_t arguments.
7731
40372103
VS
77322010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
7735 too long captions.
7736 (list_get_minimal_size): Take selection box into account.
7737
942a10c7
VS
77382010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
7741 NULL font.
7742
2bdb2892
CW
77432010-07-02 Colin Watson <cjwatson@ubuntu.com>
7744
7745 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
7746 devices when iterating over /dev/disk/by-id; they will be handled
7747 later if appropriate, which they aren't always (e.g. LVM).
7748
e03ed6c1
CW
77492010-07-02 Colin Watson <cjwatson@ubuntu.com>
7750
7751 * include/grub/misc.h (grub_reboot): Declare as noreturn.
7752 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
7753 fails.
7754 (grub_halt): Likewise.
7755 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
7756 reset-all fails.
7757 (grub_halt): Don't return, even if all of shut-down, power-off, and
7758 poweroff fail.
7759
47695765
CW
77602010-07-02 Colin Watson <cjwatson@ubuntu.com>
7761
7762 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
7763 arguments, not three.
7764
507736c8
CW
77652010-07-02 Colin Watson <cjwatson@ubuntu.com>
7766
7767 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
7768 * util/grub.d/10_linux.in: Use it to check for LVM, so that
7769 LVM-on-RAID is handled correctly.
7770
e3c8cd37
CW
77712010-07-02 Colin Watson <cjwatson@ubuntu.com>
7772
7773 * docs/grub.texi (Changes from GRUB Legacy): New section.
7774 (Future): Fix typo.
7775
8d4a2fec
CW
77762010-07-02 Colin Watson <cjwatson@ubuntu.com>
7777
7778 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
7779 grub.d/README accidentally ends up executable for one reason or
7780 another. Ignore it.
7781
1c4827be
VS
77822010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
7785 (gpt_partition_map_iterate): Support non-512B sectors.
7786
d9a0c941
VS
77872010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 * kern/efi/init.c (grub_efi_init): Disable watchdog.
7790 Tested by: Seth Goldberg.
7791
48f27e87
VS
77922010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
7795 Properly align mbi.
7796 Reported by: Seth Goldberg.
7797
b0c4f956
VS
77982010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7799
7800 * util/grub-mkrescue.in: Avoid module duplication.
7801
105a2e8c
SF
78022010-07-01 Sean Finney <seanius@seanius.net>
7803
7804 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
7805
5944958c
SF
78062010-07-01 Sean Finney <seanius@seanius.net>
7807
7808 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
7809
78102010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 * disk/lvm.c (grub_lvm_checkvalue): New function.
7813 (grub_lvm_check_flag): Likewise.
7814
b79889ba
RM
78152010-07-01 Robert Millan <rmh@gnu.org>
7816
7817 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
7818 Support 'p' as partition separator on kernel of FreeBSD (used
7819 with GPT labels).
7820 (grub_util_biosdisk_get_grub_dev): Likewise.
7821
ec1d04f1
VS
78222010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 Yeeloong firmware port.
7825
7826 * boot/mips/yeeloong/fwstart.S: New file.
7827 * bus/cs5536.c (gpiodump): New const.
7828 (set_io_space): New function.
7829 (set_iod): Likewise.
7830 (set_p2d): Likewise.
7831 (grub_cs5536_init_geode): Likewise.
7832 * commands/mips/yeeloong/lsspd.c: New file.
7833 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
7834 (serial_mod_SOURCES): New variable.
7835 (serial_mod_CFLAGS): Likewise.
7836 (serial_mod_LDFLAGS): Likewise.
7837 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
7838 term/terminfo.c and term/tparm.c.
7839 (pkglib_IMAGES): Add fwstart.img.
7840 (fwstart_img_SOURCES): New variable.
7841 (fwstart_img_CFLAGS): Likewise.
7842 (fwstart_img_ASFLAGS): Likewise.
7843 (fwstart_img_LDFLAGS): Likewise.
7844 (fwstart_img_FORMAT): Likewise.
7845 (pkglib_MODULES): Add lsspd.mod.
7846 (lsspd_mod_SOURCES): New variable.
7847 (lsspd_mod_CFLAGS): Likewise.
7848 (lsspd_mod_LDFLAGS): Likewise.
7849 (pkglib_MODULES): Add halt.mod.
7850 (halt_mod_SOURCES): New variable.
7851 (halt_mod_CFLAGS): Likewise.
7852 (halt_mod_LDFLAGS): Likewise.
7853 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
7854 (serial_mod_SOURCES): Removed.
7855 (serial_mod_CFLAGS): Likewise.
7856 (serial_mod_LDFLAGS): Likewise.
7857 * disk/ata.c (check_device): New function.
7858 (grub_ata_device_initialize): Use check_device.
7859 (grub_ata_iterate): Recheck devices.
7860 (grub_ata_open): Likewise.
7861 (grub_atapi_iterate): Likewise.
7862 (grub_atapi_open): Likewise.
7863 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
7864 (GRUB_ATA_CH1_PORT1): Likewise.
7865 (GRUB_ATA_CH0_PORT2): Likewise.
7866 (GRUB_ATA_CH1_PORT2): Likewise.
7867 * include/grub/mips/loongson.h: New file.
7868 * include/grub/mips/yeeloong/ec.h: Likewise.
7869 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
7870 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
7871 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
7872 * include/grub/misc.h (grub_halt): Declare as noreturn.
7873 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
7874 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
7875 (UART_ENABLE_FIFO_TRIGGER1): New definition.
7876 (UART_ENABLE_DTRRTS): Likewise.
7877 (UART_ENABLE_MODEM): Removed.
7878 (UART_ENABLE_OUT2): New const.
7879 * include/grub/term.h (grub_term_register_input_active): New function.
7880 (grub_term_register_output_active): Likewise.
7881 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
7882 argument.
7883 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
7884 (init_pci): New function.
7885 (grub_machine_init): Execute platform init when firmware. Init serial.
7886 (grub_halt): Implement.
7887 (grub_exit): Likewise.
7888 (grub_reboot): Likewise.
7889 * term/serial.c (serial_hw_init): Update macros.
7890 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
7891 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
7892 (image_targets): New target mipsel-yeeloong-flash.
7893 (generate_image): Support IMAGE_YEELOONG_FLASH.
7894 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
7895 (grub_video_sm712_setup): Init card.
7896 (grub_video_sm712_set_palette): Removed.
7897 * video/sm712_init.c: New file.
7898
ff4a70d2
CW
78992010-06-30 Colin Watson <cjwatson@ubuntu.com>
7900
7901 * Makefile.in (install-local): Temporarily prepend $(builddir) to
7902 PATH when running help2man and then run it on the unadorned
7903 executable names, rather than passing $(builddir)/* paths to
7904 help2man. This avoids the build directory ending up in generated
7905 manual pages.
7906
1246efeb
CW
79072010-06-29 Colin Watson <cjwatson@ubuntu.com>
7908
7909 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
7910 to avoid accidents when debugging with 'sh -x'.
7911 * util/grub-mkrescue.in: Likewise.
7912 * util/grub.d/00_header.in: Likewise.
7913 * util/grub.d/10_hurd.in: Likewise.
7914 * util/grub.d/10_kfreebsd.in: Likewise.
7915 * util/grub.d/10_linux.in: Likewise.
7916 * util/grub.d/10_netbsd.in: Likewise.
7917 * util/grub.d/10_windows.in: Likewise.
7918 * util/grub.d/20_linux_xen.in: Likewise.
7919 * util/grub.d/30_os-prober.in: Likewise.
7920 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7921
1ba9b889
CW
79222010-06-29 Colin Watson <cjwatson@ubuntu.com>
7923
7924 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
7925 last character in the buffer.
7926 Reported by: Vladimir Serbinenko.
7927
dccaf99d
RM
79282010-06-29 Robert Millan <rmh@gnu.org>
7929
7930 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
7931 (Command-line and menu entry commands): Document `badram' command.
7932
d500ed12
RM
79332010-06-28 Robert Millan <rmh@gnu.org>
7934
7935 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
7936 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
7937 command using ${GRUB_BADRAM} as parameter.
7938
20bc84a6
CW
79392010-06-28 Colin Watson <cjwatson@ubuntu.com>
7940
7941 * docs/grub.texi (Device map): New section.
7942 (Themes): New section (stub).
7943 * Makefile.in (docs/grub.info): The info documentation now builds
7944 without errors. Make sure it stays that way.
7945
4045dee1
VS
79462010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7947
7948 Use normal parser for menu entries.
7949 Reported by: Thomas Frauendorfer
7950
7951 * include/grub/parser.h (grub_parser_execute): Don't export.
7952 * normal/menu.c (grub_menu_execute_entry_real): New function.
7953 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
7954
bca58c7b
CW
79552010-06-28 Colin Watson <cjwatson@ubuntu.com>
7956
7957 * docs/grub.texi (Embedded configuration): New section (replacing
7958 old "Preset Menu" stub).
7959 (Images): New section.
7960 (configfile): Note that any menu entries defined in `file' are shown
7961 immediately.
7962
dec53e63
JT
79632010-06-28 Josh Triplett <josh@joshtriplett.org>
7964
7965 * mmap/i386/pc/mmap_helper.S: Set CF on return.
7966
c06e40f7
CW
79672010-06-28 Colin Watson <cjwatson@ubuntu.com>
7968
7969 * util/grub-install.in: Add --debug-image= option.
7970
cb88052b
CW
79712010-06-28 Colin Watson <cjwatson@ubuntu.com>
7972
7973 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
7974 possible on Linux.
7975
7976 * util/deviceiter.c (check_device): Rename to ...
7977 (check_device_readable_unique): ... this. Update all callers.
7978 Maintain and check a list of which devices (by canonicalized name)
7979 have already been seen.
7980 (clear_seen_devices): New function.
7981 (compare_file_names) [__linux__]: New function.
7982 (grub_util_iterate_devices): Clear the list of seen devices on exit
7983 and (just in case) on entry.
7984 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
7985 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
7986 seen-devices list, superseded by general code in check_device.
7987
bbe34652
CW
79882010-06-28 Colin Watson <cjwatson@ubuntu.com>
7989
7990 * commands/cat.c (options): New variable.
7991 (grub_cmd_cat): Parse options. If the --dos option is given, print
7992 DOS-style "\r\n" line endings as simple newlines (Debian bug
7993 #586358).
7994 (GRUB_MOD_INIT): Use extcmd.
7995 (GRUB_MOD_FINI): Likewise.
7996 * docs/grub.texi (cat): Document --dos.
7997
412e09f3
VS
79982010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 XEN with Linux grub-mkconfig support.
8001
8002 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
8003 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
8004 GRUB_CMDLINE_XEN_DEFAULT.
8005 * util/grub.d/20_linux_xen.in: New file.
8006
53f3ef38 80072010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
8008
8009 Initialise VGA video on qemu ourselves.
8010
8011 * boot/i386/qemu/boot.S: Don't call 0xc000.
8012 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
8013 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
8014 (kernel_img_HEADERS): Add pci.h.
8015 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
8016 * configure.ac: Force unifont on qemu and yeeloong.
8017 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
8018 (grub_vga_palette_write): Use correct register.
8019 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
8020 Call grub_qemu_init_cirrus.
8021 * kern/i386/qemu/init.c: New file.
8022 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
8023
8024 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
8025
c75be4fb
PR
80262010-06-26 Pavel Roskin <proski@gnu.org>
8027
8028 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
8029 13.
8030
d8034603
CW
80312010-06-26 Colin Watson <cjwatson@ubuntu.com>
8032
8033 * docs/grub.texi (Simple configuration): Explain that
8034 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
8035 set to `true' to disable their respective recovery entries, not
8036 merely set.
8037
3fa06487
CW
80382010-06-26 Colin Watson <cjwatson@ubuntu.com>
8039
8040 Make the `source' command slightly faster.
8041
8042 * normal/main.c (grub_normal_execute): Don't re-read list files when
8043 nested.
8044
e9b29642
CW
80452010-06-23 Colin Watson <cjwatson@ubuntu.com>
8046
8047 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
8048 field position and mask size to red fields from mode_info, not
8049 green.
8050 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
8051 Remove redundant tag->common.framebuffer_type assignment.
8052 Reported by: Seth Goldberg.
8053
e726542f
CW
80542010-06-23 Colin Watson <cjwatson@ubuntu.com>
8055
8056 Sync up other versions of the Linux loader with Robert Millan's
8057 change of 2010-01-09, "Make loader output a bit more user-friendly".
8058
8059 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
8060 grub_dprintf().
8061 (grub_cmd_linux): Likewise.
8062 (grub_cmd_initrd): Likewise.
8063 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
8064 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8065
d6e98a17
CW
80662010-06-21 Colin Watson <cjwatson@ubuntu.com>
8067
8068 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
8069 larger than MEMORY_MAP_SIZE.
8070
14d3f08e
BC
80712010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
8072
8073 Fix parallel build.
8074
8075 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
8076 dependency.
8077 * script/parser.y: #include grub_script.tab.h header.
8078
4f9613a3
VS
80792010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8080
8081 Support >3GiB and <16MiB RAM in i386-qemu.
8082
8083 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
8084 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
8085 (grub_lower_mem): Removed.
8086 (grub_upper_mem): Likewise.
8087 (mem_size): Made static.
8088 (above_4g): New variable.
8089 (grub_machine_mmap_init): Detect small mem_size and above_4g.
8090 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
8091 support.
8092
05e51879
VS
80932010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 Cirrus 5446 and Bochs video cards support.
8096
8097 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
8098 video_bochs.mod
8099 (video_cirrus_mod_SOURCES): New variable.
8100 (video_cirrus_mod_CFLAGS): Likewise.
8101 (video_cirrus_mod_LDFLAGS): Likewise.
8102 (video_bochs_mod_SOURCES): Likewise.
8103 (video_bochs_mod_CFLAGS): Likewise.
8104 (video_bochs_mod_LDFLAGS): Likewise.
8105 * include/grub/vga.h: New file.
8106 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
8107 (grub_video_fb_set_page_t): New type.
8108 (grub_video_fb_setup): New prototype.
8109 (grub_video_fb_swap_buffers): Likewise.
8110 (grub_video_fb_get_info_and_fini): Likewise.
8111 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
8112 (CRTC_DATA_PORT): Likewise.
8113 (CRTC_CURSOR): Likewise.
8114 (CRTC_CURSOR_ADDR_HIGH): Likewise.
8115 (CRTC_CURSOR_ADDR_LOW): Likewise.
8116 (CRTC_CURSOR_DISABLE): Likewise.
8117 (update_cursor): Use grub_vga_cr_write.
8118 (grub_vga_text_setcursor): Likewise.
8119 * video/bochs.c: New file.
8120 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
8121 (palette): Likewise.
8122 (palette_size): Likewise.
8123 (framebuffer): New variable.
8124 (grub_video_fb_init): Use 'framebuffer'.
8125 (grub_video_fb_fini): Likewise.
8126 (grub_video_fb_get_info): Likewise.
8127 (grub_video_fb_get_palette): Likewise.
8128 (grub_video_fb_set_palette): Likewise.
8129 (grub_video_fb_set_viewport): Likewise.
8130 (grub_video_fb_get_viewport): Likewise.
8131 (grub_video_fb_map_color): Likewise.
8132 (grub_video_fb_map_rgb): Likewise.
8133 (grub_video_fb_map_rgba): Likewise.
8134 (grub_video_fb_unmap_color): Likewise.
8135 (grub_video_fb_unmap_color_int): Likewise.
8136 (grub_video_fb_fill_rect): Likewise.
8137 (grub_video_fb_blit_bitmap): Likewise.
8138 (grub_video_fb_blit_render_target): Likewise.
8139 (grub_video_fb_scroll): Likewise.
8140 (grub_video_fb_create_render_target): Likewise.
8141 (grub_video_fb_doublebuf_blit_init): Likewise.
8142 (grub_video_fb_set_active_render_target): Handle doublebuffering.
8143 (doublebuf_pageflipping_update_screen): New function.
8144 (doublebuf_pageflipping_init): Likewise.
8145 (grub_video_fb_setup): Likewise.
8146 (grub_video_fb_swap_buffers): Likewise.
8147 (grub_video_fb_get_info_and_fini): Likewise.
8148 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
8149 All users updated.
8150 (doublebuf_pageflipping_commit): Restructured into ...
8151 (doublebuf_pageflipping_set_page): ... this.
8152 (doublebuf_pageflipping_update_screen): Removed.
8153 (doublebuf_pageflipping_init): Likewise.
8154 (double_buffering_init): Likewise.
8155 (grub_video_vbe_setup): Use grub_video_fb_setup.
8156 (grub_video_vbe_swap_buffers): Removed.
8157 (grub_video_vbe_set_active_render_target): Likewise.
8158 (grub_video_vbe_get_active_render_target): Likewise.
8159 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
8160 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
8161 grub_video_fb_set_active_render_target and
8162 grub_video_fb_get_active_render_target.
8163 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
8164 (SEQUENCER_DATA_PORT): Likewise.
8165 (MAP_MASK_REGISTER): Likewise.
8166 (CRTC_ADDR_PORT): Likewise.
8167 (CRTC_DATA_PORT): Likewise.
8168 (START_ADDR_HIGH_REGISTER): Likewise.
8169 (START_ADDR_LOW_REGISTER): Likewise.
8170 (GRAPHICS_ADDR_PORT): Likewise.
8171 (GRAPHICS_DATA_PORT): Likewise.
8172 (READ_MAP_REGISTER): Likewise.
8173 (INPUT_STATUS1_REGISTER): Likewise.
8174 (INPUT_STATUS1_VERTR_BIT): Likewise.
8175 (get_map_mask): Use grub_vga_sr_read.
8176 (set_map_mask): Use grub_vga_sr_write.
8177 (set_read_map): Use grub_vga_gr_write.
8178 (set_start_address): Use grub_vga_cr_write.
8179 * video/sm712.c (framebuffer): Remove leftover fields.
8180
4321c64a
CW
81812010-06-20 Colin Watson <cjwatson@ubuntu.com>
8182
8183 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
8184 setting GRUB_VIDEO_BACKEND. Make it available as a user override
8185 instead. Replace the gfxterm backend check with a check that
8186 ${GRUB_PREFIX}/video.lst is non-empty.
8187 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
8188 again.
8189 (load_video): New generated function. Call it before loading
8190 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
8191 * util/grub.d/10_linux.in (linux_entry): Call load_video.
8192 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
8193 * docs/grub.texi (Simple configuration): Document
8194 GRUB_VIDEO_BACKEND.
8195
81962010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 Use video functions in linux and xnu loaders.
8199
8200 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
8201 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
8202 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
8203 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
8204 loader/i386/pc/linux.c.
8205 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
8206 (find_line_len): Removed.
8207 (find_framebuf): Likewise.
8208 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
8209 * loader/i386/efi/xnu.c: Removed.
8210 * loader/i386/pc/xnu.c: Moved from here...
8211 * loader/i386/xnu.c: ...here.
8212
8213 Enable priorities in video drivers.
8214
8215 * include/grub/video.h (grub_video_adapter_prio_t): New type.
8216 (grub_video_adapter): New field prio.
8217 (grub_video_register): Respect prio when inserting.
8218 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
8219 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
8220 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
8221 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
8222 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
8223 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
8224 * video/sm712.c (grub_video_sm712_adapter): Likewise.
8225
8226 Fix SDL driver ID.
8227
8228 * include/grub/video.h (grub_video_driver_id_t): New value
8229 GRUB_VIDEO_DRIVER_SDL.
8230 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
8231
7d24e434
CW
82322010-06-17 Colin Watson <cjwatson@ubuntu.com>
8233
8234 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
8235 argument to printf.
8236 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
8237
c88a83f6
CW
82382010-06-17 Colin Watson <cjwatson@ubuntu.com>
8239
8240 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
8241 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
8242
094dfb69
CW
82432010-06-17 Colin Watson <cjwatson@ubuntu.com>
8244
8245 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
8246 directly, and recommend grub-install instead.
8247 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
8248
2164da6b
CW
82492010-06-17 Colin Watson <cjwatson@ubuntu.com>
8250
8251 Fix i386-pc prefix handling with nested partitions (Debian bug
8252 #585068). Note that the case where the core image is booted using
8253 multiboot and relocated from its original location still requires
8254 more work.
8255
8256 * kern/i386/pc/init.c (make_install_device): If the prefix starts
8257 with "(,", fill the boot drive in between those two characters, but
8258 expect that a full partition specification including partition map
8259 names will follow.
8260 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
8261 specified, write a prefix without the drive name but including a
8262 full partition specification.
8263
044e2e60
CW
82642010-06-16 Colin Watson <cjwatson@ubuntu.com>
8265
8266 * util/grub-mkconfig.in: Ignore non-option arguments, for
8267 compatibility with older versions (before 2010-06-12) which did the
8268 same. In particular, this makes it easier to ship an update-grub
8269 wrapper which is compatible with that used with GRUB Legacy (Debian
8270 bug #586056).
8271
5591324f
GS
82722010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
8273
8274 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
8275 for manual page generation.
8276
662e24d5
GS
82772010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
8278
8279 * po/POTFILES: Remove leftover commands/handler.c.
8280
8d70754e
CW
82812010-06-14 Colin Watson <cjwatson@ubuntu.com>
8282
8283 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
8284 left this script non-functional.
8285
41160e2e
CW
82862010-06-14 Colin Watson <cjwatson@ubuntu.com>
8287
8288 * docs/man/grub-emu.h2m: New file.
8289
b5309cc1
CW
82902010-06-13 Colin Watson <cjwatson@ubuntu.com>
8291
8292 * docs/grub.texi (Commands): Document reduced command set in rescue
8293 mode.
8294 (cpuid): New section.
8295
fcb2d090
GS
82962010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
8297
8298 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
8299 new partition naming style.
8300 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
8301
96e5c556
BC
83022010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
8303
8304 Add "-o grub.iso" like cmdline options support.
8305
8306 * util/grub-install.in: Improve cmdline option parsing.
8307 * util/grub-mkconfig.in: Likewise.
8308 * util/grub-mkrescue.in: Likewise.
8309 * util/grub-reboot.in: Likewise.
8310 * util/grub-set-default.in: Likewise.
8311 * util/i386/efi/grub-install.in: Likewise.
8312 * util/ieee1275/grub-install.in: Likewise.
8313 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8314
c16be99b
CW
83152010-06-12 Colin Watson <cjwatson@ubuntu.com>
8316
8317 * .bzrignore: Ignore 41_custom.
8318
ce08a9fb
TS
83192010-06-12 Thomas Schmitt <scdbackup@gmx.net>
8320
8321 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
8322
7beac90c
CW
83232010-06-12 Colin Watson <cjwatson@ubuntu.com>
8324
8325 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
8326 prototype declarations.
8327
8328 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
8329 generating fs, partmap, and video lists.
8330 * include/grub/fs.h (grub_fs_register): Omit prototype if
8331 GRUB_LST_GENERATOR is defined.
8332 * include/grub/partition.h (grub_partition_map_register): Likewise.
8333 * include/grub/video.h (grub_video_register): Likewise.
8334
1c8f0f8d
JM
83352010-06-12 Javier Martín <lordhabbit@gmail.com>
8336
8337 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
8338
a6085973
TS
83392010-06-12 Thomas Schmitt <scdbackup@gmx.net>
8340
8341 * util/grub-mkrescue.in: Support --xorriso argument.
8342
25c56d29
VS
83432010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
8346 Suggested by: Thomas Schmitt.
8347
e03e4b24
VS
83482010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
8351 Suggested by: Thomas Schmitt.
8352
57711df6
VS
83532010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 custom.cfg support.
8356
8357 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
8358 * util/grub.d/41_custom.in: New file.
8359
ee62c427
CW
83602010-06-12 Colin Watson <cjwatson@ubuntu.com>
8361
8362 * util/grub-mkrescue.in (make_image): Remove sh module, which has
8363 been merged back into normal.
8364
283af07a
CW
83652010-06-11 Colin Watson <cjwatson@ubuntu.com>
8366
8367 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
8368 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
8369
56a0d956
CW
83702010-06-11 Colin Watson <cjwatson@ubuntu.com>
8371
8372 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
8373 when generating manual pages.
8374 * docs/man/grub-bin2h.h2m: New file.
8375 * docs/man/grub-editenv.h2m: New file.
8376 * docs/man/grub-fstest.h2m: New file.
8377 * docs/man/grub-install.h2m: New file.
8378 * docs/man/grub-macho2img.h2m: New file.
8379 * docs/man/grub-mkconfig.h2m: New file.
8380 * docs/man/grub-mkdevicemap.h2m: New file.
8381 * docs/man/grub-mkfont.h2m: New file.
8382 * docs/man/grub-mkimage.h2m: New file.
8383 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
8384 * docs/man/grub-mkrelpath.h2m: New file.
8385 * docs/man/grub-mkrescue.h2m: New file.
8386 * docs/man/grub-ofpathname.h2m: New file.
8387 * docs/man/grub-pe2elf.h2m: New file.
8388 * docs/man/grub-probe.h2m: New file.
8389 * docs/man/grub-reboot.h2m: New file.
8390 * docs/man/grub-script-check.h2m: New file.
8391 * docs/man/grub-set-default.h2m: New file.
8392 * docs/man/grub-setup.h2m: New file.
8393
3a37e322
VS
83942010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
8395
8396 Use FOR_* macros instead of *_iterate whenever possible.
8397
8398 * commands/handler.c: Removed.
8399 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
8400 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
8401 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
8402 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
8403 (grub_probe_SOURCES): Remove kern/parser.c.
8404 (util/grub-script-check.c_DEPENDENCIES): Removed.
8405 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
8406 and grub_script_check_init.c.
8407 (grub_script_check_init.lst): Removed.
8408 (grub_script_check_init.h): Likewise.
8409 (grub_script_check_init.c): Likewise.
8410 (pkglib_MODULES): Remove handler.mod and sh.mod.
8411 (handler_mod_SOURCES): Removed.
8412 (handler_mod_CFLAGS): Likewise.
8413 (handler_mod_LDFLAGS): Likewise.
8414 (normal_mod_SOURCES): Remove normal/handler.c.
8415 Add script/main.c, script/script.c, script/execute.c,
8416 script/function.c, script/lexer.c, grub_script.tab.c
8417 and grub_script.yy.c.
8418 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
8419 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8420 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
8421 (grub_setup_SOURCES): Remove kern/parser.c.
8422 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
8423 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
8424 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
8425 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8426 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8427 (grub_setup_SOURCES): Remove kern/parser.c.
8428 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
8429 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
8430 * include/grub/command.h (grub_command_iterate): Removed.
8431 (FOR_COMMANDS): New macro.
8432 * include/grub/dl.h (grub_dl): New member next.
8433 (grub_dl_iterate): Removed.
8434 (grub_dl_head): New variable declaration.
8435 (FOR_DL_MODULES): New macro.
8436 * include/grub/fs.h: Include list.h.
8437 (grub_fs): Make next first element.
8438 (grub_fs_list): New variable declaration.
8439 (grub_fs_register): Make inline.
8440 (grub_fs_unregister): Likewise.
8441 (grub_fs_iterate): Removed.
8442 (FOR_FILESYSTEMS): New macro.
8443 * include/grub/handler.h: Removed.
8444 * include/grub/list.h (grub_list_hook_t): Removed.
8445 (grub_list_test_t): Likewise.
8446 (grub_list_pop): Likewise.
8447 (grub_list_iterate): Likewise.
8448 (grub_list_insert): Likewise.
8449 (FOR_LIST_ELEMENTS): New macro.
8450 * include/grub/parser.h (grub_parser_class): Removed.
8451 (grub_parser_register): Likewise.
8452 (grub_parser_unregister): Likewise.
8453 (grub_parser_get_current): Likewise.
8454 (grub_parser_set_current): Likewise.
8455 (grub_register_rescue_parser): Likewise.
8456 (grub_rescue_parse_line): New function.
8457 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
8458 * include/grub/script_sh.h (grub_script_function_list): New variable
8459 declaration.
8460 (FOR_SCRIPT_FUNCTIONS): New macro.
8461 (grub_script_function_iterate): Removed.
8462 (grub_normal_parse_line): New prototype.
8463 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
8464 (FOR_DISABLED_TERM_INPUTS): Likewise.
8465 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
8466 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
8467 * include/grub/video.h (grub_video_adapter): Move 'next' to first
8468 element.
8469 (grub_video_register): Inline.
8470 (grub_video_unregister): Likewise.
8471 (grub_video_adapter_list): New variable declaration.
8472 (grub_video_iterate): Removed.
8473 (FOR_VIDEO_ADAPTERS): New macro.
8474 * kern/dl.c (grub_dl_list): Removed. All users updated.
8475 (grub_dl_iterate): Removed.
8476 * kern/fs.c (grub_fs_list): Make global.
8477 (grub_fs_register): Removed.
8478 (grub_fs_unregister): Likewise.
8479 (grub_fs_iterate): Likewise.
8480 * kern/handler.c: Removed.
8481 * kern/list.c (grub_list_pop): Removed.
8482 (grub_list_iterate): Likewise.
8483 (grub_list_insert): Likewise.
8484 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
8485 (grub_prio_list_insert): Don't use grub_list_insert.
8486 * kern/main.c (grub_register_rescue_parser): Don't call
8487 grub_register_rescue_parser.
8488 * kern/parser.c (grub_parser_class): Removed.
8489 (grub_parser_execute): Use grub_rescue_parse_line.
8490 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
8491 (grub_rescue_parser): Removed.
8492 (grub_register_rescue_parser): Likewise.
8493 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
8494 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
8495 (grub_auth_check_authentication): Likewise.
8496 * normal/completion.c (iterate_command): Removed.
8497 (grub_normal_do_completion): Use FOR_COMMANDS.
8498 * normal/handler.c: Removed.
8499 * normal/main.c (read_config_file): Remove parser changing.
8500 (grub_normal_execute): Don't call read_handler_list.
8501 (grub_normal_read_line_real): Statically allocate prompt.
8502 (grub_cmdline_run): Use grub_normal_parse_line.
8503 (GRUB_MOD_FINI): Don't call free_handler_list.
8504 * normal/menu_entry.c (run): Likewise.
8505 * script/function.c (grub_script_function_list): Make global.
8506 (grub_script_function_iterate): Removed.
8507 * script/main.c (grub_normal_parse_line): Make global.
8508 (grub_sh_parser): Removed.
8509 (GRUB_MOD_INIT): Likewise.
8510 (GRUB_MOD_FINI): Likewise.
8511 * tests/lib/functional_test.c (grub_functional_test): Use
8512 FOR_LIST_ELEMENTS.
8513 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
8514 (grub_test_run): Use FOR_LIST_ELEMENTS.
8515 * tests/lib/unit_test.c (main): Likewise.
8516 * util/deviceiter.c (grub_util_iterate_devices): Don't use
8517 grub_list_pop.
8518 * util/grub-fstest.c (grub_term_input_class): Removed.
8519 (grub_term_output_class): Likewise.
8520 * util/grub-probe.c: Likewise.
8521 * util/i386/pc/grub-setup.c: Likewise.
8522 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8523 * util/grub-script-check.c (main): Don't call grub_init_all and
8524 grub_fini_all.
8525 * video/video.c (grub_video_adapter_list): Make global.
8526 (grub_video_register): Removed.
8527 (grub_video_unregister): Likewise.
8528 (grub_video_iterate): Likewise.
8529
6289c3a7
VS
85302010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8531
8532 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
8533 reported by Henrique Ferreiro.
8534
91460247
RM
85352010-06-09 Robert Millan <rmh@gnu.org>
8536
8537 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
8538 ones, when both are available.
8539
0ea7c4f9
GS
85402010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8541
8542 Make --version uniform and avoid hard-coded program name.
8543
8544 * util/grub-mkimage.c (main): Use `program_name' instead of
8545 hard-coded string.
8546 * util/i386/pc/grub-setup.c (main): Likewise.
8547 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
8548 * util/grub-install.in: Save the basename of $0 in $self, and use the
8549 latter in informational messages. Use the same format for --version
8550 as the binary programs.
8551 * util/grub-mkconfig.in: Likewise.
8552 * util/grub-mkrescue.in: Likewise.
8553 * util/grub-reboot.in: Likewise.
8554 * util/grub-set-default.in: Likewise.
8555 * util/i386/efi/grub-install.in: Likewise.
8556 * util/ieee1275/grub-install.in: Likewise.
8557 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8558
e8a6f3b6
GS
85592010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8560
8561 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
8562 embedding area. Use <= instead of == when checking for non-emptiness.
8563
f4d095d7
GS
85642010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8565
8566 * configure.ac: Add `.' to the directories searched for unifont.
8567
50e532ca
CW
85682010-06-08 Colin Watson <cjwatson@ubuntu.com>
8569
8570 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
8571 grub_script.yy.h.
8572
d39f3dec
CW
85732010-06-08 Colin Watson <cjwatson@ubuntu.com>
8574
8575 * docs/grub.texi (History): Expand to cover GRUB 2.
8576 (Serial terminal): Refer to `terminal_input' and `terminal_output'
8577 commands, not `terminal'.
8578 (serial): Likewise.
8579 (terminal_input): New section.
8580 (terminal_output): New section.
8581 (uppermem): New section (stub).
8582 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
8583
6ef0ddb4
CW
85842010-06-08 Colin Watson <cjwatson@ubuntu.com>
8585
8586 * docs/grub.texi (Security): Menu entries are unrestricted by
8587 default, not restricted to superusers as I had previously thought.
8588 Reword to account for this.
8589
e0f4c438
CW
85902010-06-07 Colin Watson <cjwatson@ubuntu.com>
8591
8592 * kern/emu/misc.c (device_mapper_null_log): New function.
8593 (grub_device_mapper_supported): New function.
8594 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
8595 prototype.
8596 * kern/emu/hostdisk.c (find_partition_start): Check whether
8597 device-mapper is supported before trying to use it.
8598 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
8599
da908200
CW
86002010-06-07 Colin Watson <cjwatson@ubuntu.com>
8601
8602 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
8603 (File name syntax): Likewise.
8604 (help): --all is no longer supported in GRUB 2. Be more precise
8605 about pattern matching.
8606
fb55c3ac
CW
86072010-06-07 Colin Watson <cjwatson@ubuntu.com>
8608
8609 * normal/completion.c (grub_normal_do_completion): When completing
8610 arguments to "set" and the current word contains an equals sign,
8611 skip to after the equals sign before starting completion.
8612
258c2573
CW
86132010-06-07 Colin Watson <cjwatson@ubuntu.com>
8614
8615 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
8616
ee75515e
CW
86172010-06-07 Colin Watson <cjwatson@ubuntu.com>
8618
8619 * docs/grub.texi (Network): New section.
8620 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
8621 `(nd)' as in GRUB Legacy.
8622 (pxe_unload): New section.
8623
a6a700aa
CW
86242010-06-07 Colin Watson <cjwatson@ubuntu.com>
8625
8626 * docs/grub.texi (Troubleshooting): `echo' is not usually available
8627 in the rescue shell, so recommend using `set' instead. Thanks,
8628 Jordan Uggla.
8629
4003dd38
CW
86302010-06-07 Colin Watson <cjwatson@ubuntu.com>
8631
8632 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
8633 (password): New section.
8634 (password_pbkdf2): New section.
8635 (search): New section.
8636 (Security): New section.
8637 (Troubleshooting): New section, currently very incomplete.
8638 (Invoking grub-mkpasswd-pbkdf2): New section.
8639 (Internals): New section, currently very incomplete.
8640
e1cbcc40
CW
86412010-06-07 Colin Watson <cjwatson@ubuntu.com>
8642
8643 * util/grub.d/00_header.in: Add some more quoting (of
8644 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
8645 work again.
8646 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
8647
db8fa1ad
CW
86482010-06-07 Colin Watson <cjwatson@ubuntu.com>
8649
8650 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
8651 to `count', fixing variable shadowing that broke the -c option.
8652
86532010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
8654
8655 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
8656 in case they contain spaces.
8657
f28a9212
CW
86582010-06-04 Colin Watson <cjwatson@ubuntu.com>
8659
8660 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
8661 "part_" to partmap module names, in line with grub-install.
8662 Reported by: Jindřich Makovička (Debian bug #584426).
8663
9cdfe32f
CW
86642010-06-04 Colin Watson <cjwatson@ubuntu.com>
8665
8666 * util/grub-mkimage.c: Make target-related error messages slightly
8667 more helpful; -O talks about "format". Explicitly point to the use
8668 of -O if no target is specified.
8669 Reported by: Didier Raboud (Debian bug #584415).
8670
795b593a
CW
86712010-06-03 Colin Watson <cjwatson@ubuntu.com>
8672
8673 * INSTALL: Document several build requirements for optional features
8674 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
8675
9d9b5833
GS
86762010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
8677
8678 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
8679 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
8680 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
8681
0819fec8
CW
86822010-06-02 Colin Watson <cjwatson@ubuntu.com>
8683
8684 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
8685 Thanks to Jordan Uggla for spotting this.
8686
49396b4f
VS
86872010-06-02 Aleš Nesrsta <starous@volny.cz>
8688
8689 Finally make USB usable.
8690
8691 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
8692 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
8693 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
8694 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
8695 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
8696 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
8697 (GRUB_OHCI_FSMPS): Likewise.
8698 (GRUB_OHCI_PERIODIC_START): Likewise.
8699 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
8700 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
8701 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
8702 (GRUB_OHCI_SET_PORT_RESET): Likewise.
8703 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
8704 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
8705 (grub_ohci_transaction): Likewise.
8706 (grub_ohci_transfer): Improve condition detection algorithms.
8707 Handle toggle property. Program the transactions correctly.
8708 Improve error handling. Various important fixups.
8709 (grub_ohci_portstatus): Put register writes in right order.
8710 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
8711 (grub_uhci_transfer): Don't show "failed" message on success.
8712 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
8713 array.
8714 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
8715 determine its size.
8716 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
8717 before initialization is completed. Use IN direction for empty
8718 transfers. Use last_trans and compute toggle.
8719 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
8720 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
8721 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
8722 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
8723 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
8724 (grub_usb_device): Increase toggle to 256.
8725 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
8726 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
8727 GRUB_USBMS_SUBCLASS_SFF8070.
8728 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
8729 (grub_scsi_inquiry): New member page and alloc_length.
8730 (grub_scsi_request_sense): New structure.
8731 (grub_scsi_request_sense_data): Likewise.
8732 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
8733 control.
8734 * disk/scsi.c (grub_scsi_request_sense): New function.
8735 (grub_scsi_test_unit_ready): Likewise.
8736 (grub_scsi_inquiry): Fill new fields.
8737 (grub_scsi_read_capacity): Likewise.
8738 (grub_scsi_read10): Add request sense at the end.
8739 (grub_scsi_read12): Likewise.
8740 (grub_scsi_write10): Likewise.
8741 (grub_scsi_write12): Likewise.
8742 (grub_scsi_open): Add Test Unit Ready.
8743 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
8744 Support additional subclasses. Con't clear halt yet. Activate the
8745 proper config. Calculate LUNs correctly.
8746 (grub_usbms_transfer): Various important fixups.
8747
87482010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
8751 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
8752 (grub_ohci_fini_hw): New function.
8753 (grub_ohci_restore_hw): Likewise.
8754 (GRUB_MOD_INIT(ohci)): Register preboot hook.
8755 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
8756 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
8757
87582010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 Dedicated DMA allocations.
8761
8762 * bus/pci.c (grub_memalign_dma32): New function
8763 (grub_dma_free): Likewise.
8764 (grub_dma_get_virt): Likewise.
8765 (grub_dma_get_phys): Likewise.
8766 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
8767 (grub_ohci_pci_iter): Use dma32_alloc.
8768 (grub_ohci_transfer): Likewise.
8769 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
8770 (grub_usb_bulk_readwrite): Likewise.
8771 * include/grub/pci.h: Add declarations.
8772
87732010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8774
8775 CS5536 support.
8776
8777 * bus/cs5536.c: New file.
8778 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
8779 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
8780 (cs5536_mod_SOURCES): New variable.
8781 (cs5536_mod_CFLAGS): Likewise.
8782 (cs5536_mod_LDFLAGS): Likewise.
8783 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
8784 machine/pci.h.
8785 (kernel_img_SOURCES): Add bus/cs5536.c.
8786 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
8787 usb_keyboard.mod.
8788 (usb_mod_SOURCES): New variable.
8789 (usb_mod_CFLAGS): New variable.
8790 (usb_mod_LDFLAGS): New variable.
8791 (usbtest_mod_SOURCES): New variable.
8792 (usbtest_mod_CFLAGS): New variable.
8793 (usbtest_mod_LDFLAGS): New variable.
8794 (ohci_mod_SOURCES): New variable.
8795 (ohci_mod_CFLAGS): New variable.
8796 (ohci_mod_LDFLAGS): New variable.
8797 (usbms_mod_SOURCES): New variable.
8798 (usbms_mod_CFLAGS): New variable.
8799 (usbms_mod_LDFLAGS): New variable.
8800 (usb_keyboard_mod_SOURCES): New variable.
8801 (usb_keyboard_mod_CFLAGS): New variable.
8802 (usb_keyboard_mod_LDFLAGS): New variable.
8803 * include/grub/smbus.h: New file.
8804 * include/grub/cs5536.h: New file.
8805
0b35b2a9
CW
88062010-06-02 Colin Watson <cjwatson@ubuntu.com>
8807
8808 * util/grub.d/00_header.in: Add safety check to make sure that
8809 ${locale_dir} exists before trying to probe it.
8810
ca0afd5b
CW
88112010-06-02 Colin Watson <cjwatson@ubuntu.com>
8812
8813 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
8814 per the GNU Coding Standards; this is now too obscure to be worth
8815 documenting.
8816 (QNX): Likewise.
8817 (chainloader): Remove cross-reference to `SCO UnixWare'.
8818
1c41aa78
CW
88192010-06-02 Colin Watson <cjwatson@ubuntu.com>
8820
8821 * docs/grub.texi (Chain-loading): New section.
8822 (DOS/Windows): New section, borrowed from GRUB Legacy with details
8823 adjusted for GRUB 2.
8824 (SCO UnixWare): Likewise.
8825 (QNX): Likewise.
8826 (chainloader): Add reference to `Block list syntax'.
8827 (drivemap): New section.
8828 (parttool): New section.
8829
bb8ea0f5
CW
88302010-06-02 Colin Watson <cjwatson@ubuntu.com>
8831
8832 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
8833 the grub shell'.
8834 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
8835 (Installing GRUB using grub-install): Remove reference to the grub
8836 shell; mention `grub-mkimage' and `grub-setup' instead.
8837 (Invoking grub-install): Likewise.
8838 (Interface): Add reference to `Menu entry editor'.
8839 (serial): Remove `--device' option.
8840
288dd6ed
CW
88412010-06-02 Colin Watson <cjwatson@ubuntu.com>
8842
8843 * docs/grub.texi (Configuration): New section, documenting
8844 configuration file generation using grub-mkconfig. I've left a slot
8845 for documenting the full shell scripting format but have not yet
8846 started on writing that up.
8847 (Invoking grub-mkconfig): New section.
8848
34c9f0e9
CW
88492010-06-02 Colin Watson <cjwatson@ubuntu.com>
8850
8851 * docs/grub.texi (direntry): Remove grub-terminfo reference.
8852 (GNU GRUB manual): Likewise.
8853 (General commands): Update description of `terminfo' for GRUB 2.
8854
9121567e
CW
88552010-06-02 Colin Watson <cjwatson@ubuntu.com>
8856
8857 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
8858 (GRUB_MOD_INIT): Fix capitalisation.
8859 * docs/grub.texi (Command-line and menu entry commands): Document
8860 gettext and gptsync commands.
8861
ab631611
CW
88622010-06-02 Colin Watson <cjwatson@ubuntu.com>
8863
8864 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
8865 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
8866
bde4a9ac
CW
88672010-06-01 Colin Watson <cjwatson@ubuntu.com>
8868
8869 Add btrfs probing support, currently only in the single-device case.
8870
8871 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
8872 function.
8873 (grub_guess_root_device): Call find_root_device_from_mountinfo
8874 before looking in /dev.
8875
b1d17e10
VS
88762010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
8879 GRUB_DISK_SIZE_UNKNOWN.
8880 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
8881
dfbfe004
JS
88822010-05-31 Jiro SEKIBA <jir@unicus.jp>
8883
8884 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
8885 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
8886 corrupted or not synced properly.
8887
c2ffc8e9
VS
88882010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
8891 Reported by: Seth Goldberg.
8892
56293166
VS
88932010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
8896 addition of dest.
8897 Reported by: Seth Goldberg.
8898
7620e7de
VS
88992010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
8902 Reported by: Seth Goldberg.
8903
c837af3f
VS
89042010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
8907 64-bit address as signed on MIPS.
8908
c7c75cf4
CW
89092010-05-28 Colin Watson <cjwatson@ubuntu.com>
8910
8911 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
8912 to the empty string.
8913
fa4b8490
BC
89142010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
8915
8916 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
8917
8918 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
8919 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
8920 * kern/misc.c (__enable_execute_stack): Disable on
8921 GRUB_MACHINE_EMU.
8922
a33075b9
CW
89232010-05-28 Colin Watson <cjwatson@ubuntu.com>
8924
8925 Make grub-probe work with symbolic links under /dev/mapper as well
8926 as with real block devices. The Linux world seems to be (at best)
8927 in transition here, and GRUB shouldn't get caught in the middle.
8928
8929 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
8930 /dev/mapper.
8931
d8708134
CW
89322010-05-27 Colin Watson <cjwatson@ubuntu.com>
8933
8934 * util/grub-script-check.c (main): Ensure defined behaviour on empty
8935 input files (in which case exit zero).
8936
db2102a0
CW
89372010-05-27 Colin Watson <cjwatson@ubuntu.com>
8938
8939 * kern/emu/misc.c (canonicalize_file_name): realpath can still
8940 return NULL for various reasons even if it has a maximum-length
8941 buffer: for example, there might be a symlink loop, or the path
8942 might exceed PATH_MAX. If this happens, return NULL.
8943
5fdba519
RM
89442010-05-27 Robert Millan <rmh@gnu.org>
8945
8946 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
8947 partmap module to handle cross-partmap setups.
8948 Reported by Orestes Mas. Gràcies!
8949
d1d368e4
CW
89502010-05-27 Colin Watson <cjwatson@ubuntu.com>
8951
8952 * util/grub-mkrescue.in: Initialise override_dir rather than
8953 assuming that it's unset or empty in the environment.
8954
95ac3c73
GS
89552010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
8956
8957 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
8958 variable index into p_index to suppress a warning with -Wshadow.
8959
7d8c0213
BC
89602010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
8961
8962 * INSTALL: Added flex >= 2.5.35 requirement.
8963
db4d5813
VS
89642010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
8967
f24f4300
VS
89682010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 cmostest support.
8971
8972 * commands/i386/cmostest.c: New file.
8973 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
8974 (cmostest_mod_SOURCES): New variable.
8975 (cmostest_mod_CFLAGS): Likewise.
8976 (cmostest_mod_LDFLAGS): Likewise.
8977 * conf/i386-pc.rmk: Likewise.
8978 * docs/grub.texi (Vendor power-on keys): New section.
8979 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
8980 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
8981 and GRUB_BUTTON_CMOS_ADDRESS.
8982 * util/grub.d/00_header.in: Handle powering-on by separate button.
8983
ad603f61
VS
89842010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8985
8986 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
8987 Removed drawing_scrollbar argument. All users updated
8988 Fixes #29792.
8989 Reported by Jo Shields
8990
3ecb080a
VS
89912010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8992
8993 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
8994 buffer since gfxterm handles double repaint.
8995
5f2316c1
VS
89962010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8997
8998 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
8999 * term/gfxterm.c (real_scroll): Likewise.
9000
9a25f885
VS
90012010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9002
9003 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
9004 before calling BIOS.
9005
39fbb79a
VS
90062010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 * include/grub/i18n.h: Always enable grub_gettext.
9009
228cfa97
VS
90102010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9011
9012 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
9013 partition naming style.
9014
21717c8f
CW
90152010-05-21 Colin Watson <cjwatson@ubuntu.com>
9016
9017 * util/grub-mkconfig.in: Fix handling of -o so that it works when
9018 not the first option.
9019
c0f48e65
CW
90202010-05-20 Colin Watson <cjwatson@ubuntu.com>
9021
9022 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
9023
96779aec
CW
90242010-05-20 Colin Watson <cjwatson@ubuntu.com>
9025
9026 * util/misc.c: Move inclusion of <limits.h> to ...
9027 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
9028
fa9d256e
GS
90292010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
9030
9031 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
9032 Fix merge error in NetBSD code.
9033 (find_partition_start) [__NetBSD__]: Likewise.
9034
123b7a85
BC
90352010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
9036
9037 Fix grub-mkrescue usage unit testing.
9038
9039 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
9040
74276c0d
CF
90412010-05-18 Christian Franke <franke@computer.org>
9042
9043 * util/grub.d/10_windows.in: Use path names instead of
9044 drive letters to prevent warning from Cygwin 1.7.
9045 Add drivemap command to menuentry if needed.
9046
c4f7b523
ST
90472010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
9048
9049 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
9050 gnumach and gnumach.gz.
9051
95b97950
VS
90522010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 * include/grub/i18n.h (gettext): Inline instead of using #define.
9055 (grub_gettext): Likewise.
9056 (_): Likewise.
9057
01b8d2d7
VS
90582010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9059
9060 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
9061 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
9062 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
9063 (main): Add a slash after pkglibdirroot.
9064
654e1d1e
VS
90652010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 * util/grub-install.in: Add missing "in" keyword.
9068
26966aeb
VS
90692010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
9072 Reported by: Seth Goldberg.
9073
75006747
VS
90742010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
9077
74cbf5bd
CW
90782010-05-18 Colin Watson <cjwatson@ubuntu.com>
9079
9080 * configure.ac: Check for Linux device-mapper support.
9081
9082 * util/hostdisk.c (device_is_mapped): New function.
9083 (find_partition_start): New function, partly broken out from
9084 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
9085 device-mapper support added.
9086 (linux_find_partition): Use find_partition_start.
9087 (convert_system_partition_to_system_disk): Add `st' argument.
9088 Support Linux /dev/mapper/* devices if device-mapper support is
9089 available; only DM-RAID devices are understood at present.
9090 (find_system_device): Add `st' argument. Pass it to
9091 convert_system_partition_to_system_disk.
9092 (grub_util_biosdisk_get_grub_dev): Pass stat result to
9093 find_system_device and convert_system_partition_to_system_disk. Use
9094 find_partition_start.
9095
9096 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
9097 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
9098 * util/deviceiter.c [__linux__]: Define MINOR.
9099 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
9100 * util/mkdevicemap.c (grub_putchar): New function.
9101 (grub_getkey): New function.
9102 (grub_refresh): New function.
9103 (main): Set debug=all if -v -v is used.
9104
355b51e9
CW
91052010-05-18 Colin Watson <cjwatson@ubuntu.com>
9106
9107 Fix build with non-GNU libcs.
9108
9109 * util/misc.c (canonicalize_file_name): Move to ...
9110 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
9111 grub_make_system_path_relative_to_its_root.
9112
7fb5c25f
CW
91132010-05-18 Colin Watson <cjwatson@ubuntu.com>
9114
9115 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
9116 we handle finding grub-mkimage. Default to finding grub-mkimage in
9117 ${bindir} with program_transform_name applied, and provide a
9118 --grub-mkimage option to override this.
9119
1d3293d6
VS
91202010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9121
9122 Remove grub-mkisofs.
9123
9124 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
9125 (grub_mkisofs_SOURCES): Removed.
9126 (grub_mkisofs_CFLAGS): Removed.
9127 * util/mkisofs/defaults.h: Removed.
9128 * util/mkisofs/eltorito.c: Likewise.
9129 * util/mkisofs/exclude.h: Likewise.
9130 * util/mkisofs/hash.c: Likewise.
9131 * util/mkisofs/include/: Likewise.
9132 * util/mkisofs/include/fctldefs.h: Likewise.
9133 * util/mkisofs/include/mconfig.h: Likewise.
9134 * util/mkisofs/include/prototyp.h: Likewise.
9135 * util/mkisofs/include/statdefs.h: Likewise.
9136 * util/mkisofs/iso9660.h: Likewise.
9137 * util/mkisofs/joliet.c: Likewise.
9138 * util/mkisofs/match.c: Likewise.
9139 * util/mkisofs/match.h: Likewise.
9140 * util/mkisofs/mkisofs.c: Likewise.
9141 * util/mkisofs/mkisofs.h: Likewise.
9142 * util/mkisofs/msdos_partition.h: Likewise.
9143 * util/mkisofs/multi.c: Likewise.
9144 * util/mkisofs/name.c: Likewise.
9145 * util/mkisofs/rock.c: Likewise.
9146 * util/mkisofs/tree.c: Likewise.
9147 * util/mkisofs/write.c: Likewise.
9148
5dde9afe
VS
91492010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9150
9151 Unify grub-mkimage accross platforms.
9152
9153 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
9154 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
9155 (grub_mkelfimage_SOURCES): Removed.
9156 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
9157 (util/grub-mkimage.c_DEPENDENCIES): .. this.
9158 (bin_UTILITIES): Add grub-mkimage.
9159 (grub_mkimage_SOURCES): New variable.
9160 (kernel_img_HEADERS): Remove machine/kernel.h.
9161 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
9162 (pkglib_PROGRAMS): Add kernel.img.
9163 (kernel_img_HEADERS): Add machine/kernel.h.
9164 (kernel_img_FORMAT): Removed.
9165 (bin_UTILITIES): Remove grub-mkimage.
9166 (grub_mkimage_SOURCES): Removed.
9167 (grub_mkimage_CFLAGS): Likewise.
9168 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
9169 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
9170 (pkglib_PROGRAMS): Add kernel.img.
9171 (bin_UTILITIES): Remove grub-mkimage.
9172 (grub_mkimage_SOURCES): Removed.
9173 (grub_mkimage_CFLAGS): Likewise.
9174 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
9175 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
9176 (pkglib_PROGRAMS): Add kernel.img.
9177 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
9178 (pkglib_PROGRAMS): Add kernel.img.
9179 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
9180 (grub_mkimage_SOURCES): Removed.
9181 (grub_mkimage_CFLAGS): Likewise.
9182 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
9183 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
9184 (pkglib_PROGRAMS): Add kernel.img.
9185 (bin_UTILITIES): Remove grub-mkimage.
9186 (grub_mkimage_SOURCES): Removed.
9187 (grub_mkimage_CFLAGS): Likewise.
9188 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
9189 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
9190 (grub_mkimage_SOURCES): Removed.
9191 (grub_mkimage_CFLAGS): Likewise.
9192 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
9193 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
9194 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
9195 (grub_pe32_optional_header): ... this.
9196 (grub_pe64_optional_header): ... and this. All users updated.
9197 (GRUB_PE32_PE32_MAGIC): Split into ..
9198 (GRUB_PE32_PE32_MAGIC): .. this.
9199 (GRUB_PE32_PE64_MAGIC): .. and this.
9200 (GRUB_PE32_SIGNATURE_SIZE): New definition.
9201 * include/grub/elf.h (PT_GNU_STACK): New definition.
9202 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
9203 * include/grub/i386/efi/kernel.h: Likewise.
9204 * include/grub/i386/kernel.h: Likewise.
9205 * include/grub/i386/pc/kernel.h: Likewise.
9206 * include/grub/i386/qemu/boot.h: Likewise.
9207 * include/grub/mips/kernel.h: Likewise.
9208 * include/grub/mips/qemu-mips/kernel.h: Likewise.
9209 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
9210 * include/grub/powerpc/kernel.h: Likewise.
9211 * include/grub/sparc64/ieee1275/boot.h: Likewise.
9212 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
9213 * include/grub/sparc64/kernel.h: Likewise.
9214 * include/grub/x86_64/efi/kernel.h: Likewise.
9215 * include/grub/x86_64/kernel.h: Likewise.
9216 * include/grub/offsets.h: New file.
9217 * include/grub/kernel.h (grub_module_info): Split into ...
9218 (grub_module_info32): ... this.
9219 (grub_module_info64): ... and this.
9220 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
9221 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
9222 (grub_boot_blocklist): Moved from here ...
9223 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
9224 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
9225 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
9226 * include/grub/types.h (grub_target_to_host16): Removed.
9227 (grub_target_to_host32): Likewise.
9228 (grub_target_to_host64): Likewise.
9229 (grub_host_to_target16): Likewise.
9230 (grub_host_to_target32): Likewise.
9231 (grub_host_to_target64): Likewise.
9232 (grub_host_to_target_addr): Likewise.
9233
9234 Support grub-mkrescue for efi, coreboot and qemu.
9235
9236 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
9237 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
9238 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
9239 * util/grub-mkrawimage.c: Moved from here ...
9240 * util/grub-mkimage.c: ... here. All users updated.
9241 (ALIGN_ADDR): Use image_target.
9242 (TARGET_NO_FIELD): New const.
9243 (image_target_desc): New type.
9244 (image_targets): New array.
9245 (grub_target_to_host64): Use image_target.
9246 (grub_target_to_host32): Likewise.
9247 (grub_target_to_host16): Likewise.
9248 (grub_host_to_target64): Likewise.
9249 (grub_host_to_target32): Likewise.
9250 (grub_host_to_target16): Likewise.
9251 (grub_host_to_target_addr): Likewise.
9252 (generate_image): Handle multiimage.
9253 (main): Require -O parameter. All users updated.
9254 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
9255 util/efi/grub-mkimage.c
9256 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
9257 New option --rom-directory.
9258 Use xorriso.
9259 * util/i386/efi/grub-mkimage.c: Removed.
9260 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
9261 (grub_target_to_host32): Likewise.
9262 (grub_target_to_host64): Likewise.
9263 (grub_host_to_target16): Likewise.
9264 (grub_host_to_target32): Likewise.
9265 (grub_host_to_target64): Likewise.
9266 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
9267 (grub_target_to_host32): Likewise.
9268 (grub_target_to_host64): Likewise.
9269 (grub_host_to_target16): Likewise.
9270 (grub_host_to_target32): Likewise.
9271 (grub_host_to_target64): Likewise.
9272
f4fc97d0
BC
92732010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
9274
9275 Source tree is reorganized for emu build.
9276
9277 * include/grub/util/console.h: Move from here...
9278 * include/grub/emu/console.h: ...to here.
9279 * include/grub/util/getroot.h: Move from here...
9280 * include/grub/emu/getroot.h: ...to here.
9281 * include/grub/util/hostdisk.h: Move from here...
9282 * include/grub/emu/hostdisk.h: ...to here.
9283 * util/console.c: Move from here...
9284 * kern/emu/console.c: ...to here.
9285 * util/getroot.c: Move from here...
9286 * kern/emu/getroot.c: ...to here.
9287 * util/grub-emu.c: Move from here...
9288 * kern/emu/main.c: ...to here.
9289 * util/hostdisk.c: Move from here...
9290 * kern/emu/hostdisk.c: ...to here.
9291 * util/hostfs.c: Move from here...
9292 * kern/emu/hostfs.c: ...to here.
9293 * util/mm.c: Move from here...
9294 * kern/emu/mm.c: ...to here.
9295 * util/pci.c: Move from here...
9296 * bus/emu/pci.c: ...to here.
9297 * util/sdl.c: Move from here...
9298 * video/emu/sdl.c: ...to here.
9299 * util/time.c: Move from here...
9300 * kern/emu/time.c: ...to here.
9301 * util/usb.c: Move from here...
9302 * bus/usb/emu/usb.c: ...to here.
9303
9304 * include/grub/emu/misc.h: New header for grub-emu functions.
9305 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
9306
9307 * conf/any-emu.rmk: Rule updates for above renames.
9308 * conf/common.rmk: Likewise.
9309 * conf/i386-pc.rmk: Likewise.
9310 * conf/i386-qemu.rmk: Likewise.
9311 * conf/mips.rmk: Likewise.
9312 * conf/sparc64-ieee1275.rmk: Likewise.
9313 * conf/x86-efi.rmk: Likewise.
9314
9315 * disk/lvm.h: #include updates for above renames.
9316 * util/grub-mkrelpath.c: Likewise.
9317 * util/grub-probe.c: Likewise.
9318 * util/i386/pc/grub-setup.c: Likewise.
9319 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9320 * kern/emu/console.c: Likewise.
9321 * kern/emu/getroot.c: Likewise.
9322 * kern/emu/hostdisk.c: Likewise.
9323 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
9324
9325 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
9326 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
9327 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
9328 * util/misc.c: Remove grub-emu functions.
9329
cced9145
VS
93302010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9331
9332 Fix gfxmenu crash.
9333 Reported by: Thorsten Grützmacher.
9334
9335 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
9336 timeout hook.
9337 (circprog_set_property): Register and unregister timeout hook.
9338 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
9339 (label_destroy): Free template. and unregister hook.
9340 (label_set_state): New function.
9341 (label_set_property): Handle templates and hooks.
9342 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
9343 timeout hook.
9344 (progress_bar_set_property): Register and unregister timeout hook.
9345 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
9346 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
9347 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
9348 (update_timeout_visit): Removed.
9349 (update_timeouts): New function.
9350 (redraw_timeouts): Likewise.
9351 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
9352 (grub_gfxmenu_clear_timeout): Likewise.
9353 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
9354 (grub_gfxmenu_timeout_notify): Likewise.
9355 (grub_gfxmenu_timeout_notifications): New external variable.
9356 (grub_gfxmenu_timeout_register): New function.
9357 (grub_gfxmenu_timeout_unregister): Likewise.
9358
c6e5caab
VS
93592010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 Transform (broken) vga terminal into (working) vga video driver.
9362
9363 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
9364 video/i386/pc/vga.c.
9365 * include/grub/video.h (grub_video_driver_id):
9366 Add GRUB_VIDEO_DRIVER_VGA.
9367 * term/i386/pc/vga.c: Renamed to ...
9368 * video/i386/pc/vga.c: ...this
9369 (DEBUG_VGA): Removed.
9370 (CHAR_WIDTH): Likewise.
9371 (CHAR_HEIGHT): Likewise.
9372 (TEXT_WIDTH): Likewise.
9373 (TEXT_HEIGHT): Likewise.
9374 (DEFAULT_FG_COLOR): Likewise.
9375 (DEFAULT_BG_COLOR): Likewise.
9376 (colored_char): Likewise.
9377 (xpos): Likewise.
9378 (ypos): Likewise.
9379 (cursor_state): Likewise.
9380 (fg_color): Likewise.
9381 (bg_color): Likewise.
9382 (text_buf): Likewise.
9383 (page): Likewise.
9384 (font): Likewise.
9385 (framebuffer): New variable.
9386 (set_read_map): Disabled.
9387 (setup): New variable.
9388 (is_target): Likewise.
9389 (grub_vga_mod_init): Likewise.
9390 (grub_vga_mod_fini): Likewise.
9391 (check_vga_mem): Likewise.
9392 (write_char): Likewise.
9393 (write_cursor): Likewise.
9394 (scroll_up): Likewise.
9395 (grub_vga_putchar): Likewise.
9396 (grub_vga_getcharwidth): Likewise.
9397 (grub_vga_getwh): Likewise.
9398 (grub_vga_getxy): Likewise.
9399 (grub_vga_gotoxy): Likewise.
9400 (grub_vga_cls): Likewise.
9401 (grub_vga_setcolorstate): Likewise.
9402 (grub_vga_setcursor): Likewise.
9403 (grub_video_vga_init): New function.
9404 (grub_video_vga_setup): Likewise.
9405 (grub_video_vga_fini): Likewise.
9406 (update_target): Likewise.
9407 (grub_video_vga_blit_bitmap): Likewise.
9408 (grub_video_vga_blit_render_target): Likewise.
9409 (grub_video_vga_set_active_render_target): Likewise.
9410 (grub_video_vga_get_active_render_target): Likewise.
9411 (grub_video_vga_swap_buffers): Likewise.
9412 (grub_video_vga_set_palette): Likewise.
9413 (grub_video_vga_get_info_and_fini): Likewise.
9414 (grub_vga_term): Removed.
9415 (grub_video_vga_adapter): New variable.
9416 (GRUB_MOD_INIT): Register a video driver instead of terminal.
9417 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
9418
2bf61a98
VS
94192010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 * video/readers/jpeg.c: Indented.
9422
09ddcd11
VS
94232010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 Various jpeg cleanups.
9426
9427 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
9428 (grub_jpeg_decode_quan_table): Use sizeof.
9429 (grub_jpeg_decode_du): Use ARRAY_SIZE.
9430
e5507505
PH
94312010-05-05 Peter Hurley <No e-mail available> (tiny change)
9432
9433 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
9434 tables. Ignore non-last ac bit.
9435 (grub_jpeg_decode_quan_table): Likewise.
9436
7e720a9b
VS
94372010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
9440 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
9441 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9442 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
9443 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
9444 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
9445
a7fc080b
VS
94462010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
9449 error.
9450
2bf6012d
VS
94512010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
9454
265d68cd
VS
94552010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9456
9457 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
9458 condition.
9459
94602010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
9461
9462 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
9463 part.
9464
265d68cd 94652010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
9466
9467 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
9468 pointers.
9469
265d68cd 94702010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
9471
9472 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
9473
d1b61374
CF
94742010-05-01 Christian Franke <franke@computer.org>
9475
9476 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
9477 Remove broken Cygwin path conversion.
9478 * util/misc.c: [__CYGWIN__] Add include and define.
9479 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
9480 for Cygwin 1.7.
9481 (make_system_path_relative_to_its_root): Simplify loop, replace early
9482 return by break.
9483 [__CYGWIN__] Add conversion to win32 path.
9484 Include "/" case in trailing slash removal.
9485
3558c6e9
VS
94862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 * kern/main.c (grub_load_config): Fix copy-pasted comment.
9489 Reported by: Seth Goldberg
9490
f5f3ff93
VS
94912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 * commands/help.c (grub_cmd_help): Fix a typo.
9494 Reported by: Seth Goldberg
9495
d8b5cd40
VS
94962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
9499 name and add N_.
9500 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
9501 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
9502 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
9503 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
9504 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
9505 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
9506 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
9507 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
9508 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
9509 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
9510 * normal/context.c (GRUB_MOD_INIT): Likewise.
9511 * normal/main.c (GRUB_MOD_INIT): Likewise.
9512 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
9513 * term/serial.c (GRUB_MOD_INIT): Likewise.
9514 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
9515
88c14915
VS
95162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
9519 extra == 0.
9520
165134bc
VS
95212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 * commands/iorw.c: New file.
9524 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
9525 (iorw_mod_SOURCES): New variable.
9526 (iorw_mod_CFLAGS): Likewise.
9527 (iorw_mod_LDFLAGS): Likewise.
9528
c5ac9b32
VS
95292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 Hotkey support
9532
9533 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
9534 * normal/main.c (hotkey_aliases): New variable.
9535 (grub_normal_add_menu_entry): Parse "--hotkey".
9536 * normal/menu_text.c (run_menu): Handle hotkeys.
9537
ce60689c
VS
95382010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 * kern/i386/coreboot/init.c (grub_machine_init): Call
9541 grub_machine_mmap_init on qemu.
9542
0359d006
VS
95432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9544
9545 * boot/i386/qemu/boot.S: Add a missing .code16.
9546
7819a456
VS
95472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 Use LBIO on coreboot.
9550
9551 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
9552 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
9553 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
9554 New declaration.
9555 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
9556 grub_machine_mmap_init on coreboot.
9557 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
9558 GRUB_LINUXBIOS_MEMBER_LINK.
9559 (grub_machine_mmap_iterate): Fix declaration.
9560 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
9561
7210dca9
VS
95622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 Split coreboot and multiboot ports.
9565
9566 * conf/i386-multiboot.rmk: New file.
9567 * configure.ac: Add multiboot port.
9568 * include/grub/i386/multiboot/boot.h: New file.
9569 * include/grub/i386/multiboot/console.h: Likewise.
9570 * include/grub/i386/multiboot/init.h: Likewise.
9571 * include/grub/i386/multiboot/kernel.h: Likewise.
9572 * include/grub/i386/multiboot/loader.h: Likewise.
9573 * include/grub/i386/multiboot/memory.h: Likewise.
9574 * include/grub/i386/multiboot/serial.h: Likewise.
9575 * include/grub/i386/multiboot/time.h: Likewise.
9576 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
9577 * loader/multiboot.c: Likewise.
9578 * loader/multiboot_mbi2.c: Likewise.
9579 * util/grub-mkrescue.in: Generate multiboot rescue.
9580
6f8aaf68
VS
95812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9582
3080f7a7
VS
9583 * kern/parser.c (grub_parser_execute): Cope with read-only config.
9584
95852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9586
9587 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
9588
9589 * commands/terminal.c (abstract_terminal): New struct.
9590 (handle_command): New function. Based on grub_cmd_terminal_input.
9591 (grub_cmd_terminal_input): Use handle_command.
9592 (grub_cmd_terminal_output): Use handle_command.
9593
a8ebb841
BC
95942010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
9595
9596 Fix comment handling.
9597
9598 * tests/grub_script_comments.in: New testcase.
9599 * conf/tests.rmk: Rules for new testcase.
9600 * script/yylex.l: Updated flex rules.
9601
bb06ba08
ST
96022010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
9603
9604 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
9605 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
9606 if argc is 1.
bb06ba08 9607
cc9d2425
VS
96082010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
9609
9610 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
9611 autogen issues.
9612
460d8402
CF
96132010-04-26 Christian Franke <franke@computer.org>
9614
9615 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
9616 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
9617 (grub_get_prefix): Remove function.
9618 * util/grub-emu.c (main): Replace grub_get_prefix () call by
9619 make_system_path_relative_to_its_root ().
9620 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
9621
553c01f9
CF
96222010-04-24 Christian Franke <franke@computer.org>
9623
9624 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
9625 (kernel_img_LDFLAGS): Remove -static-libgcc.
9626
2aec1692
CF
96272010-04-24 Christian Franke <franke@computer.org>
9628
9629 * configure.ac: Do not CHECK_BSS_START_SYMBOL
9630 and CHECK_END_SYMBOL if grub-emu is built.
9631 Unset TARGET_OBJ2ELF if grub-emu is built
9632 without module support.
9633
f67dc308
JS
96342010-04-24 Jiro SEKIBA <jir@unicus.jp>
9635
9636 Nilfs2 support.
9637
9638 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
9639 (grub_fstest_SOURCES): Likewise.
9640 (pkglib_MODULES): Add nilfs2.mod.
9641 (nilfs2_mod_SOURCES): New variable.
9642 (nilfs2_mod_CFLAGS): Likewise.
9643 (nilfs2_mod_LDFLAGS): Likewise.
9644 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
9645 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
9646 * fs/nilfs2.c: New file.
9647
4ba8d354
VS
96482010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
9651 is not supported.
9652
0d2c20c6
GS
96532010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
9654
9655 Add grub-mkconfig support for NetBSD.
9656
9657 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
9658 * util/grub-mkconfig.in: export new NetBSD specific variables.
9659 * po/POTFILES-shell: added 10_netbsd.in.
9660 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
9661
bc4a2d83
BC
96622010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
9663
9664 Fix emu build with grub-emu-pci and grub-emu-modules.
9665
9666 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
9667 functions.
9668 * include/grub/libpciaccess.h: New file.
9669 * conf/any-emu.rmk: Update kernel headers for emu build.
9670
f48c87aa
VS
96712010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9672
9673 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
9674
18959385
VS
96752010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
9678
0037de3f
VS
96792010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
9682 Retrieve chosen/bootpath if bootpath isn't hardcoded.
9683 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
9684 util/ieee1275/ofpath.c.
9685 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
9686 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
9687 * include/grub/sparc64/ieee1275/boot.h
9688 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
9689 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
9690 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
9691 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
9692 const char *.
9693 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
9694 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
9695 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
9696 install.
9697
38e55e90
GS
96982010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
9699
9700 * util/grub-mkconfig.in: Corrected two == equality tests.
9701 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
9702 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
9703 expect a number appended to it.
9704 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
9705 expects a number appended to it.
9706
a9e6ff28
VS
97072010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9708
9709 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
9710
0b830b8f
VS
97112010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9712
9713 * util/hostdisk.c (make_device_name): Change to new partition naming.
9714
0973daeb
VS
97152010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
9718
460d8402 97192010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
9720
9721 * Makefile.in: Add missing localedir setting.
9722
0b456309
CW
97232010-04-14 Colin Watson <cjwatson@ubuntu.com>
9724
9725 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
9726 mistake in r2156. Noticed by Anthony Fok.
9727
9728 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
9729 @localedir@.
9730 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
9731
08f46d62
BC
97322010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
9733
9734 Fix a spurious, uninitialized variable warning.
9735
9736 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
9737 Initialize variable, shdr.
9738 (grub_freebsd_load_elfmodule): Likewise.
9739 (grub_freebsd_load_elf_meta): Likewise.
9740
8c4a72d4
BC
97412010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
9742
9743 Fix for escaped dollar in double quoted strings.
9744
9745 * script/yylex.l: Updated flex rules.
9746 * conf/tests.rmk: Rule for new testcase.
9747 * tests/grub_script_dollar.in: New testcase.
9748
ce44826e
CPE
97492010-04-13 Carles Pina i Estany <carles@pina.cat>
97502010-04-13 Colin Watson <cjwatson@ubuntu.com>
9751
9752 Enclose all translated strings in grub.cfg in single quotes, and
9753 escape them appropriately (Ubuntu bug #552921).
9754
9755 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
9756 * util/grub.d/10_hurd.in: Use it.
9757 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
9758 * util/grub.d/10_linux.in (linux_entry): Likewise.
9759
4b0cd8f8
VS
97602010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9761
9762 Fix cygwin compilation.
9763
9764 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
9765 * include/grub/misc.h (__register_frame_info)
9766 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
9767 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
9768 * kern/misc.c (__register_frame_info)
9769 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
9770 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
9771
01fcf061
VS
97722010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9773
9774 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
9775
5d04b11e
VS
97762010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9777
9778 Unify libgcc processing.
9779
9780 * Makefile.in (kernel_img_LDFLAGS): New variable.
9781 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
9782 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
9783 overwriting.
9784 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
9785 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
9786 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
9787 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
9788 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
9789 overwriting. Remove -lgcc and -static-libgcc
9790 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
9791 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
9792 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
9793 (kernel_img_LDFLAGS): Append instead of overwriting.
9794 Remove -lgcc and -static-libgcc
9795 * conf/sparc64-ieee1275.rmk: Likewise.
9796 * include/grub/powerpc/libgcc.h: Move to ...
9797 * include/grub/libgcc.h: .. this.
9798 * include/grub/libgcc.h: Don't export most of the function on x86.
9799 (__bswapsi2): New export.
9800 (__bswapdi2): Likewise.
9801 * include/grub/mips/libgcc.h: Removed.
9802 * include/grub/sparc64/libgcc.h: Likewise.
9803
b7f3ac29
VS
98042010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
9807 disk_info_msg (conflicts with gettexting into languages with cases).
9808
2c7031b1
GS
98092010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9810
9811 Add grub-probe support for NetBSD.
9812
9813 * util/getroot.c (find_root_device): Convert block device to
9814 character device on NetBSD.
9815 * util/probe.c (probe): Require character device on NetBSD.
9816 * util/hostdisk.c: NetBSD specific headers.
9817 (configure_device_driver): new function to tune device driver
9818 parameters (currently only for NetBSD floppy driver).
9819 (grub_util_biosdisk_open): NetBSD specific code (get disk size
9820 via disklabel ioctl).
9821 (open_device): call configure_device_driver on NetBSD.
9822 (convert_system_partition_to_system_disk): NetBSD specific code.
9823 (device_is_wholedisk): Likewise.
9824 (grub_util_biosdisk_get_grub_dev): Likewise.
9825 (make_device_name): Fixed a typo in bsd_part_str.
9826 * configure.ac: check for opendisk() and getrawpartition() on
9827 NetBSD and set LIBUTIL.
9828 * Makefile.in: add LIBUTIL to LIBS.
9829
f516290c
BC
98302010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9831
9832 Documentation fix.
9833
9834 * util/grub-script-check.c: Better help message.
9835
d8dcc0df
BC
98362010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9837
9838 Fix FreeBSD build.
9839
9840 * configure.ac: Flex version check.
9841 * conf/common.rmk: Add -Wno-error to sh.mod.
9842 * script/yylex.l: Remove all #pragma.
9843
6734334a
VS
98442010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9845
9846 * include/grub/util/misc.h (canonicalise_file_name): Add missing
9847 prototype.
9848 Reported by: Seth Goldberg.
9849
daea6abd
VS
98502010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9851
9852 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
9853 Rename "module" to "module2".
9854 Reported by: Seth Goldberg.
9855
f2fd9d2b
VS
98562010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9857
9858 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
9859 EXPORT_FUNC.
9860 Reported by: Seth Goldberg.
9861
be124579
VS
98622010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9863
9864 * lib/posix_wrap/locale.h: Add missing file.
9865 Reported by: Seth Goldberg.
9866
ef5da797
VS
98672010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 grub-emu module load support.
9870
9871 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
9872 NO_DYNAMIC_MODULES switched to this.
9873 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
9874 (CFLAGS): Likewise.
9875 * conf/any-emu.rmk: Generate symlist.
9876 (kernel_img_HEADERS): Add util/datetime.h.
9877 (kernel_img_HEADERS) [sdl]: Add sdl.h.
9878 (kernel_img_HEADERS) [libusb]: Add libusb.h.
9879 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
9880 kern/$(target_cpu)/cache.S.
9881 * configure.ac (grub-emu-modules): New option.
9882 * genmk.rb: Handle multiple source lists.
9883 * include/grub/sdl.h: New file.
9884 * include/grub/libusb.h: Likewise.
9885 * util/grub-emu.c (main): Hanle (host) root.
9886 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
9887 GRUB_ERR_UNKNOWN_DEVICE.
9888 * util/misc.c: Move mm functions to ...
9889 * util/mm.c: ... here. All users updated.
9890
47822096
VS
98912010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9892
9893 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
9894 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
9895 missing files.
9896 (maintainer-clean): Remove libgcrypt-grub.
9897
5d7e7445
VS
98982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
9901
25f4e252
EC
99022010-04-09 EFI Coder <eficoder@hotmail.com>
9903
9904 * normal/menu_text.c (print_message): Clean up the message and show
9905 the Fn information when on EFI
9906 * term/efi/console.c (grub_console_checkkey): Add F4 support.
9907
027de555
VS
99082010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9909
9910 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
9911 All users updated.
9912 * normal/crypto.c (read_crypto_list): Likewise.
9913 * normal/dyncmd.c (read_command_list): Likewise.
9914 * normal/term.c (read_terminal_list): Likewise.
9915 * normal/main.c (read_lists): Use explicit prefix.
9916 (read_lists_hook): Use read_lists.
9917 (grub_normal_execute): Likewise.
9918
47779711
VS
99192010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
9922 Reported by: Thomas Schmitt.
9923 Add -no-emul-boot to grub-mkisofs parameters.
9924
1118c32e
VS
99252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * font/font.c: Indented.
9928
7d652447
BC
99292010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9930
9931 Elif support to GRUB script (by Deepak Vankadaru).
9932
9933 * tests/grub_script_if.in: New testcase.
9934 * conf/tests.rmk: Rule for new testcase.
9935 * script/parser.y: Grammar rules for elif.
9936
34bb22df
BC
99372010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9938
9939 While and until loops support to GRUB script.
9940
9941 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
9942 (grub_script_create_cmdwhile): New function prototype.
9943 (grub_script_execute_cmdwhile): New function prototype.
9944 * script/execute.c (grub_script_execute_cmdwhile): New function.
9945 * script/parser.y (command): New commands.
9946 (whilecmd): New grammar rule.
9947 (untilcmd): New grammar rule.
9948 * script/script.c (grub_script_create_cmdwhile): New function.
9949 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
9950 function.
9951
9952 * tests/grub_script_while1.in: New testcase.
9953 * conf/tests.rmk: Rule for new testcase.
9954
e215d8e0
VS
99552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
9958 as *.jpg.
9959
d7c43ba1
MV
99602010-04-09 Mario Vazquez <mariovazq@gmail.com>
9961
9962 GRUB_BACKGROUND support.
9963
9964 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
9965 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
9966
d64795c0
VS
99672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 9970 Idea by: Mario Vazquez
d64795c0
VS
9971
9972 * util/grub.d/00_header.in: Load pf2 and image modules.
9973
f267f83a
VS
99742010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 grub-mkconfig multiple terminal support.
9977
9978 * util/grub-mkconfig.in: Handle multiple terminals correctly.
9979 * util/grub.d/00_header.in: Likewise.
9980
b7841ceb
VS
99812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9982
9983 * Makefile.in: Specify files explicitly instead of using $< and $@ since
9984 we use cd $(srcdir).
9985
df60998c
CW
99862010-04-08 Colin Watson <cjwatson@ubuntu.com>
9987
9988 * util/grub.d/10_linux.in: Only use the first word of
9989 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
9990 spaces in GRUB_DISTRIBUTOR.
9991 * util/grub.d/10_kfreebsd.in: Likewise.
9992 * util/grub.d/10_hurd.in: Likewise.
9993
fa09c82e
BC
99942010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
9995
14e18ae3 9996 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
9997
9998 * tests/util/grub-shell.in: Remove -serial stdio option.
9999
daf892b3
BC
100002010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 POSIX header file wrappers.
10003
10004 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
10005 equivalents.
10006 * lib/posix_wrap/ctype.h: Likewise.
10007 * lib/posix_wrap/errno.h: Likewise.
10008 * lib/posix_wrap/langinfo.h: Likewise.
10009 * lib/posix_wrap/limits.h: Likewise.
10010 * lib/posix_wrap/localcharset.h: Likewise.
10011 * lib/posix_wrap/stdint.h: Likewise.
10012 * lib/posix_wrap/stdio.h: Likewise.
10013 * lib/posix_wrap/stdlib.h: Likewise.
10014 * lib/posix_wrap/string.h: Likewise.
10015 * lib/posix_wrap/sys/types.h: Likewise.
10016 * lib/posix_wrap/unistd.h: Likewise.
10017 * lib/posix_wrap/wchar.h: Likewise.
10018 * lib/posix_wrap/wctype.h: Likewise.
10019 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
10020 (grub_script.yy.h): Likewise.
10021 * script/yylex.l: Remove POSIX emulation #defines.
10022 * Makefile.in (POSIX_CFLAGS): New variable.
10023 (GNULIB_UTIL_CFLAGS): Likewise.
10024
10025 Regexp support.
10026
10027 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
10028 (regexp_mod_SOURCES): New variable.
10029 (regexp_mod_CFLAGS): Likewise.
10030 (regexp_mod_LDFLAGS): Likewise.
10031 * commands/regexp.c: New file.
10032 * gnulib/regcomp.c: New file. Imported from gnulib.
10033 * gnulib/regex.c: Likewise.
10034 * gnulib/regex_internal.c: Likewise.
10035 * gnulib/regex_internal.h: Likewise.
10036 * gnulib/regexec.c: Likewise.
10037 * gnulib/regex.h: Likewise.
10038
974ac4f7
VS
100392010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
10042 unsupported video mode types.
10043
2622c3ff
VS
100442010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
10045
10046 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
10047
064cb524
VS
100482010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
10049
10050 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
10051 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
10052
a8c3b552
VS
100532010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10054
10055 Remove unused grub_vga_get_font.
10056
10057 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
10058 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
10059
187bbe3d
GS
100602010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10061
10062 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
10063 * include/grub/misc.h: Likewise.
10064
b9396631
GS
100652010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10066
10067 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
10068 for which failure is fatal.
10069
50479feb
GS
100702010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10071
10072 * util/grub-install.in: Use mkdir -p to create grub directory.
10073 * util/i386/efi/grub-install.in: Likewise.
10074 * util/ieee1275/grub-install.in: Likewise.
10075
b1654fdf
GS
100762010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10077
10078 * Makefile.in (LEX): new variable.
10079
bd5a6415
GS
100802010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10081
10082 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
10083 `=' and added double quotes on operands of this equality test.
10084
3db3a82b
VS
100852010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
10086
10087 * Makefile.in (uninstall): Remove a leftover debug echo.
10088 Reported by: Grégoire Sutre
10089
38023412
VS
100902010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
10091
10092 MIPS multiboot2 support.
10093
10094 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
10095 (multiboot2_mod_SOURCES): New variable.
10096 (multiboot2_mod_CFLAGS): Likewise.
10097 (multiboot2_mod_LDFLAGS): Likewise.
10098 (multiboot2_mod_ASFLAGS): Likewise.
10099 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
10100 definition.
10101 (MULTIBOOT_ENTRY_REGISTER): Likewise.
10102 (MULTIBOOT_MBI_REGISTER): Likewise.
10103 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
10104 (MULTIBOOT_ELF32_MACHINE): Likewise.
10105 (MULTIBOOT_ELF64_MACHINE): Likewise.
10106 * include/grub/mips/multiboot.h: New file.
10107 * include/grub/video.h (grub_video_driver_id): New type
10108 GRUB_VIDEO_DRIVER_SM712.
10109 (grub_video_get_info_and_fini): Export.
10110 (grub_video_get_palette): Likewise.
10111 (grub_video_get_driver_id): Likewise.
10112 * include/multiboot2.h: Resynced with spec.
10113 * loader/i386/multiboot.c: Moved from here ...
10114 * loader/multiboot.c: ... here. All users updated.
10115 (grub_multiboot_boot): Use platform-specific macros.
10116 * loader/i386/multiboot_elfxx.c: Moved from here ...
10117 * loader/multiboot_elfxx.c: ... here. All users updated.
10118 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
10119 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
10120 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
10121
47674667
VS
101222010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 Import gnulib argp module.
10125
10126 * gnulib/argp-ba.c: New file.
10127 * gnulib/argp-eexst.c: Likewise.
10128 * gnulib/argp-fmtstream.c: Likewise.
10129 * gnulib/argp-fmtstream.h: Likewise.
10130 * gnulib/argp-fs-xinl.c: Likewise.
10131 * gnulib/argp-help.c: Likewise.
10132 * gnulib/argp-namefrob.h: Likewise.
10133 * gnulib/argp-parse.c: Likewise.
10134 * gnulib/argp-pin.c: Likewise.
10135 * gnulib/argp-pv.c: Likewise.
10136 * gnulib/argp-pvh.c: Likewise.
10137 * gnulib/argp-version-etc.c: Likewise.
10138 * gnulib/argp-version-etc.h: Likewise.
10139 * gnulib/argp-xinl.c: Likewise.
10140 * gnulib/argp.h: Likewise.
10141
495442ed
VS
101422010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10143
10144 * kern/device.c (grub_device_iterate): Clear errors after failed
10145 opening device.
10146
f9fd65df
VS
101472010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
10150 returned by firmware.
10151
af09641e
VS
101522010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
10155 compilation on coreboot and qemu
10156
016883a5
VS
101572010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10158
10159 * include/multiboot2.h: Resync with spec.
10160
f97e1f7d
VS
101612010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 Multiboot2 tag support
10164
10165 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
10166 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
10167 Remove loader/multiboot_loader.c.
10168 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
10169 (grub_multiboot2_real_boot): Likewise.
10170 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
10171 (grub_get_multiboot_mmap_count): New proto.
10172 (grub_fill_multiboot_mmap): Likewise.
10173 (grub_multiboot_set_video_mode): Likewise.
10174 (grub_multiboot_set_console): Likewise.
10175 (grub_multiboot_load): Likewise.
10176 (grub_multiboot_load_elf): Likewise.
10177 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
10178 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
10179 * include/multiboot.h: Resynced with specification.
10180 * include/multiboot2.h: Resynced with specification.
10181 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
10182 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
10183 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
10184 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
10185 users updated.
10186 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
10187 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
10188 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
10189 Removed.
10190 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
10191 Moved from here...
10192 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
10193 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
10194 Moved from here...
10195 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
10196 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
10197 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
10198 All users updated.
10199 * loader/i386/multiboot_mbi2.c: New file.
10200
3506b90b
VS
102012010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
10202
10203 Resync with gnulib.
10204
10205 * Makefile.in (GNULIB_CFLAGS): New variable.
10206 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
10207 (grub_script_check_CFLAGS): New variable.
10208 * gnulib/alloca.h: Resync with gnulib.
10209 * gnulib/error.c: Likewise.
10210 * gnulib/error.h: Likewise.
10211 * gnulib/fnmatch.c: Likewise.
10212 * gnulib/fnmatch_loop.c: Likewise.
10213 * gnulib/getdelim.c: Likewise.
10214 * gnulib/getline.c: Likewise.
10215 * gnulib/getopt.c: Likewise.
10216 * gnulib/getopt1.c: Likewise.
10217 * gnulib/getopt_int.h: Likewise.
10218 * gnulib/gettext.h: Likewise.
10219 * gnulib/progname.c: Likewise.
10220 * gnulib/progname.h: Likewise.
10221
394a3120
GS
102222010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
10223
10224 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
10225 which is the case with --disabled-nls.
10226
10227 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
10228 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
10229 * util/misc.c: Likewise.
10230 * util/mkisofs/mkisofs.c: Likewise.
10231 * util/mkisofs/mkisofs.h: Likewise.
10232
969d1c78
VS
102332010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
10234
10235 Simplify Apple CC support.
10236
10237 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
10238 Add 0 byte at the end not to have a symbol with empty target.
10239 * mmap/i386/pc/mmap_helper.S: Likewise.
10240 * genmk.rb: Ignore errors 2030 and 2050.
10241 * kern/i386/pc/startup.S: Use LOCAL when possible.
10242
8d2977bb
BC
102432010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
10244
10245 Testcase and the fix for final semicolon on cmdline.
10246
10247 * tests/grub_script_final_semicolon.in: New testcase.
10248 * conf/tests.rmk: Rules for the new testcase.
10249 * script/parser.y: Grammar fix.
10250
a7bd6915
BC
102512010-03-26 BVK Chaitanya <bvk@localhost>
10252
10253 Blank lines testcase for GRUB script.
10254
10255 * tests/grub_script_blanklines.in: New testcase.
10256 * conf/tests.rmk: Rules for the new testcase.
10257
e4ff6628
VS
102582010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10259
10260 Don't use __FILE__.
10261
10262 * genmk.rb: Add -DGRUB_FILE to all C targets.
10263 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
10264 * include/grub/list.h: Likewise.
10265 * include/grub/misc.h: Likewise.
10266 * include/grub/mm.h: Likewise.
10267 * include/grub/test.h: Likewise.
10268 * kern/mm.c: Likewise.
10269 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
10270
6a5cf6b6
VS
102712010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 Sunpc partitions support.
10274
10275 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
10276 (grub_fstest_SOURCES): Likewise.
10277 (pkglib_MODULES): Add part_sunpc.mod.
10278 (part_sunpc_mod_SOURCES): New variable.
10279 (part_sunpc_mod_CFLAGS): Likewise.
10280 (part_sunpc_mod_LDFLAGS): Likewise.
10281 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
10282 * partmap/sunpc.c: New file.
10283
746d9045
BC
102842010-03-26 BVK Chaitanya <bvk@localhost>
10285
10286 For loop support to GRUB script.
10287
10288 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
10289 (grub_script_create_cmdfor): New function prototype.
10290 (grub_script_execute_cmdfor): New function prototype.
10291 * script/execute.c (grub_script_execute_cmdfor): New function.
10292 * script/parser.y (command): New for command.
10293 (forcmd): New grammar rule.
10294 * script/script.c (grub_script_create_cmdfor): New function.
10295 * util/grub-script-check.c (grub_script_execute_cmdfor): New
10296 function.
10297 * tests/grub_script_for1.in: New testcase.
10298 * conf/tests.rmk: Rules for new testcase.
10299
18486b18
VS
103002010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10301
10302 Nested partitions
10303
10304 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
10305 'partition' is NULL, grub_partition_get_start already does that.
10306 * commands/loadenv.c (check_blocklists): Likewise.
10307 (write_blocklists): Likewise.
10308 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
10309 (grub_fstest_SOURCES): Likewise.
10310 (pkglib_MODULES): Add part_bsd.mod.
10311 (part_bsd_mod_SOURCES): New variable.
10312 (part_bsd_mod_CFLAGS): Likewise.
10313 (part_bsd_mod_LDFLAGS): Likewise.
10314 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
10315 (grub_emu_SOURCES): Likewise.
10316 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10317 * include/grub/bsdlabel.h: New file.
10318 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
10319 'get_name'.
10320 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
10321 (grub_partition_map_list): New variable.
10322 (grub_partition_map_register): Inline.
10323 (grub_partition_map_unregister): Likewise.
10324 (FOR_PARTITION_MAPS): New macro.
10325 (grub_partition_map_iterate): Removed.
10326 (grub_partition_get_start): Handle nested partitions.
10327 * include/grub/msdos_partition.h: Remove bsd-related entries.
10328 (grub_pc_partition): Remove.
10329 * kern/disk.c (grub_disk_close): Free partition data.
10330 (grub_disk_adjust_range): Handle nested partitions.
10331 * kern/partition.c (grub_partition_map_probe): New function.
10332 (grub_partition_probe): Parse name to number, handle subpartitions.
10333 (get_partmap): New function.
10334 (grub_partition_iterate): Handle subpartitions.
10335 (grub_partition_get_name): Likewise.
10336 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
10337 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
10338 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
10339 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
10340 Set 'number'.
10341 (acorn_partition_map_probe): Remove.
10342 (acorn_partition_map_get_name): Likewise.
10343 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
10344 Set 'number'.
10345 Set 'index' to 0 since there can be only one partition entry per sector.
10346 (amiga_partition_map_probe): Remove.
10347 (amiga_partition_map_get_name): Likewise.
10348 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
10349 Set 'number'.
10350 Set 'offset' and 'index' to real positions of partitions.
10351 (apple_partition_map_probe): Remove.
10352 (apple_partition_map_get_name): Likewise.
10353 * partmap/bsdlabel.c: New file.
10354 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
10355 Set 'number'.
10356 Allocate 'data' so it can be correctly freed.
10357 Set 'index' to offset inside sector.
10358 (gpt_partition_map_probe): Remove.
10359 (gpt_partition_map_get_name): Likewise.
10360 * partmap/msdos.c (grub_partition_parse): Remove.
10361 (pc_partition_map_iterate): Don't force raw access.
10362 Set 'number'.
10363 Make 'ext_offset' a local variable.
10364 (pc_partition_map_probe): Remove.
10365 (pc_partition_map_get_name): Remove.
10366 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
10367 Set 'number'.
10368 (sun_partition_map_probe): Remove.
10369 (sun_partition_map_get_name): Likewise.
10370 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
10371 (grub_pcpart_type): Likewise.
10372 * util/hostdisk.c (open_device): Handle new numbering scheme.
10373 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
10374 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
10375 * util/grub-probe.c (probe_partmap): Handle nested paritions.
10376 * util/grub-install.in: Insert all subpartition modules.
10377 * util/ieee1275/grub-install.in: Likewise.
10378
a3940f88
AG
103792010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
10380
10381 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
10382 grammar.
10383
21b99926 103842010-03-24 Colin Watson <cjwatson@ubuntu.com>
10385
10386 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
10387
bed1d352
CW
103882010-03-21 Colin Watson <cjwatson@ubuntu.com>
10389
10390 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
10391 match where 'make install' puts them.
10392 * util/i386/efi/grub-install.in: Likewise.
10393
c9f58427
CW
103942010-03-19 Colin Watson <cjwatson@ubuntu.com>
10395
10396 * .bzrignore: Add gentrigtables, grub-script-check,
10397 grub_script_check_init.c, grub_script_check_init.h, and
10398 trigtables.c.
10399
f84afb27
VS
104002010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
10401
10402 * kern/parser.c: Indented.
10403
ed0e3d30
VS
104042010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
10405
10406 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
10407
0ea81d98
VS
104082010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
10411 alpha_mask_size == 0 case.
10412
0cdc2a09
BC
104132010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
10414
10415 GRUB shell lexer and parser improvements.
10416
10417 * conf/any-emu.rmk: Build rule updates.
10418 * conf/common.rmk: Likewise.
10419 * conf/i386-coreboot.rmk: Likewise.
10420 * conf/i386-efi.rmk: Likewise.
10421 * conf/i386-ieee1275.rmk: Likewise.
10422 * conf/i386-pc.rmk: Likewise.
10423 * conf/powerpc-ieee1275.rmk: Likewise.
10424 * conf/x86_64-efi.rmk: Likewise.
10425
10426 * configure.ac: Configure check for flex.
10427
10428 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
10429 types.
10430 (grub_lexer_param): Struct member updates.
10431 (grub_parser_param): Likewise.
10432 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
10433 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
10434 (grub_script_lexer_init): Prototype update.
10435 (grub_script_lexer_record_start): Likewise.
10436 (grub_script_lexer_record_stop): Likewise.
10437 (grub_script_lexer_yywrap): New function prototype.
10438 (grub_script_lexer_fini): Likewise.
10439 (grub_script_execute_argument_to_string): Removed by...
10440 (grub_script_execute_argument_to_argv): ...better version.
10441
10442 * script/execute.c (ROUND_UPTO): New macro.
10443 (grub_script_execute_cmdline): Out of memory fixes.
10444 (grub_script_execute_menuentry): Likewise.
10445 (grub_script_execute_argument_to_string): Removed. Update all
10446 users by...
10447 (grub_script_execute_argument_to_argv): ...better version.
10448 * script/function.c (grub_script_function_create): Use
10449 grub_script_execute_argument_to_argv instead of
10450 grub_script_execute_argument_to_string.
10451
10452 * script/lexer.c (check_varstate): Removed.
10453 (check_textstate): Removed.
10454 (grub_script_lexer_record_start): Likewise.
10455 (grub_script_lexer_record_stop): Likewise.
10456 (recordchar): Replaced with...
10457 (grub_script_lexer_record): ...new function.
10458 (nextchar): Removed.
10459 (grub_script_lexer_init): Rewritten.
10460 (grub_script_yylex): Rewritten.
10461 (append_newline): New function.
10462 (grub_script_lexer_yywrap): New function.
10463 (grub_script_lexer_fini): New function.
10464 (grub_script_yyerror): Sets error flag.
10465
10466 * script/yylex.l: New file.
10467 (grub_lexer_yyfree): Wrapper for flex yyffre.
10468 (grub_lexer_yyalloc): Likewise.
10469 (grub_lexer_yyrealloc): Likewise.
10470 * script/parser.y: Refactored.
10471
10472 * script/script.c (grub_script_arg_add): Out of memory fixes.
10473 (grub_script_add_arglist): Likewise.
10474 (grub_script_create_cmdline): Likewise.
10475 (grub_script_create_cmdmenu): Likewise.
10476 (grub_script_add_cmd): Likewise.
10477 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
10478 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
10479 unnecessary code.
10480
10481 * tests/grub_script_echo1.in: New testcase.
10482 * tests/grub_script_vars1.in: New testcase.
10483 * tests/grub_script_echo_keywords.in: New testcase.
10484
1d63a066
VS
104852010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10486
10487 Remove some redundancy in build system.
10488
10489 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
10490 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
10491 (TARGET_LDFLAGS): Add -nostdlib.
10492 (TARGET_IMG_LDFLAGS): Likewise.
10493 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
10494 anything since mmap isn't available.
10495 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
10496 Add util/time.c.
10497 (pkglib_MODULES): Remove reboot.mod.
10498 (reboot_mod_SOURCES): Removed.
10499 (reboot_mod_CFLAGS): Likewise.
10500 (reboot_mod_LDFLAGS): Likewise.
10501 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
10502 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
10503 (DEFSYMFILES): Add kernel_syms.lst.
10504 (kernel_img_HEADERS): Add common headers.
10505 (symlist.c): New target.
10506 (kernel_syms.lst): Likewise.
10507 (pkglib_MODULES): Add memdisk.mod.
10508 (memdisk_mod_SOURCES): New variable.
10509 (memdisk_mod_CFLAGS): Likewise.
10510 (memdisk_mod_LDFLAGS): Likewise.
10511 (pkglib_MODULES): Add reboot.mod.
10512 (reboot_mod_SOURCES): New variable.
10513 (reboot_mod_CFLAGS): Likewise.
10514 (reboot_mod_LDFLAGS): Likewise.
10515 (pkglib_MODULES): Add date.mod.
10516 (date_mod_SOURCES): New variable.
10517 (date_mod_CFLAGS): Likewise.
10518 (date_mod_LDFLAGS): Likewise.
10519 (pkglib_MODULES): Add datehook.mod.
10520 (datehook_mod_SOURCES): New variable.
10521 (datehook_mod_CFLAGS): Likewise.
10522 (datehook_mod_LDFLAGS): Likewise.
10523 (pkglib_MODULES): Add lsmmap.mod.
10524 (lsmmap_mod_SOURCES): New variable.
10525 (lsmmap_mod_CFLAGS): Likewise.
10526 (lsmmap_mod_LDFLAGS): Likewise.
10527 (pkglib_MODULES): Add boot.mod.
10528 (boot_mod_SOURCES): New variable.
10529 (boot_mod_CFLAGS): Likewise.
10530 (boot_mod_LDFLAGS): Likewise.
10531 * conf/i386-coreboot.rmk: Removed redundant parts.
10532 * conf/i386-ieee1275.rmk: Likewise.
10533 * conf/i386-pc.rmk: Likewise.
10534 * conf/mips-yeeloong.rmk: Likewise.
10535 * conf/mips.rmk: Likewise.
10536 * conf/powerpc-ieee1275.rmk: Likewise.
10537 * conf/sparc64-ieee1275.rmk: Likewise.
10538 * conf/x86_64-efi.rmk: Likewise.
10539 * conf/i386-coreboot.rmk: Moved qemu parts ..
10540 * conf/i386-qemu.rmk: ... here
10541 * conf/i386-efi.rmk: Moved common parts to...
10542 * conf/x86-efi.rmk: ... here.
10543 * conf/i386.rmk: Added modules common to all x86 variants.
10544 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
10545 * disk/memdisk.c: Remove grub/machine/kernel.h.
10546 * gensymlist.sh.in: Include symbol.h.
10547 * hook/datehook.c: Correct module name.
10548 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
10549 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
10550 * include/grub/i386/efi/serial.h: New file.
10551 * include/grub/x86_64/efi/serial.h: Likewise.
10552 * util/time.c: Likewise.
10553 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
10554
463ac55f
CK
105552010-03-14 Colin King <colin.king@ubuntu.com>
105562010-03-14 Colin Watson <cjwatson@ubuntu.com>
10557
10558 Shrink the pre-partition-table part of boot.img by eight bytes.
10559
10560 * boot/i386/pc/boot.S (ERR): New macro.
10561 (chs_mode): Use ERR.
10562 (geometry_error): Likewise.
10563 (hd_probe_error): Remove. This is only used once, so we wrwite
10564 it inline instead.
10565 (read_error): Instead of printing read_error_string, just set up
10566 %si and fall through to ...
10567 (error_message): ... this new function, also used by ERR.
10568
08e46ede
CW
105692010-03-14 Colin Watson <cjwatson@ubuntu.com>
10570
10571 Speed up consecutive hostdisk operations on the same device.
10572
10573 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
10574 (grub_util_biosdisk_open): Initialise disk->data.
10575 (struct linux_partition_cache): New structure.
10576 (linux_find_partition): Cache partition start positions; these are
10577 expensive to compute on every read and write.
10578 (open_device): Cache open file descriptor in disk->data, so that we
10579 don't have to reopen it and flush the buffer cache for consecutive
10580 operations on the same device.
10581 (grub_util_biosdisk_close): New function.
10582 (grub_util_biosdisk_dev): Set `close' member.
10583
10584 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
10585 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
10586 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10587 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
10588 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
10589
4a6d2d06
VS
105902010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10591
10592 Compile parts of grub-emu as modules.
10593
10594 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
10595 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
10596 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
10597 (all-local): Add $(GRUB_EMU).
10598 (install-local): Install $(GRUB_EMU).
10599 (uninstall): Uninstall $(GRUB_EMU).
10600 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
10601 * kern/dl.c: Likewise.
10602 * commands/sleep.c: Not include machine/time.h.
10603 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
10604 (COMMON_CFLAGS): Likewise.
10605 (sbin_UTILITIES): Remove grub-emu.
10606 (grub_emu_SOURCES): Removed.
10607 (kernel_img_RELOCATABLE): New variable.
10608 (pkglib_PROGRAMS): Add kernel.img.
10609 (kernel_img_SOURCES): New variable
10610 (kernel_img_CFLAGS): Likewise.
10611 (kernel_img_LDFLAGS): Likewise.
10612 (TARGET_NO_STRIP): Likewise.
10613 (TARGET_NO_DYNAMIC_MODULES): Likewise.
10614 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
10615 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
10616 (grub-emu): New target.
10617 (GRUB_EMU): New variable.
10618 * configure.ac: Whitelist -emu as possible x86_64 architecture.
10619 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
10620 * loader/xnu.c: Likewise.
10621 * include/grub/pci.h: Likewise.
10622 * genemuinit.sh: New file.
10623 * genemuinitheader.sh: Likewise.
10624 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
10625 Support TARGET_NO_DYNAMIC_MODULES.
10626 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
10627 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
10628 * disk/loopback.c: Likewise.
10629 * font/font_cmd.c: Likewise.
10630 * partmap/acorn.c: Likewise.
10631 * partmap/amiga.c: Likewise.
10632 * partmap/apple.c: Likewise.
10633 * partmap/gpt.c: Likewise.
10634 * partmap/msdos.c: Likewise.
10635 * partmap/sun.c: Likewise.
10636 * parttool/msdospart.c: Likewise.
10637 * term/gfxterm.c: Likewise.
10638 * video/bitmap.c: Likewise.
10639 * video/readers/jpeg.c: Likewise.
10640 * video/readers/png.c: Likewise.
10641 * video/readers/tga.c: Likewise.
10642 * video/video.c: Likewise.
10643 * util/grub-emu.c (read_command_list): Removed.
10644 (main): Don't call util_init_nls.
10645 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
10646 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
10647
91fdd2ed
VS
106482010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
10651 date.mod, datehook.mod.
10652 (datetime_mod_SOURCES): New variable.
10653 (datetime_mod_CFLAGS): Likewise.
10654 (datetime_mod_LDFLAGS): Likewise.
10655 (date_mod_SOURCES): Likewise.
10656 (date_mod_CFLAGS): Likewise.
10657 (date_mod_LDFLAGS): Likewise.
10658 (datehook_mod_SOURCES): Likewise.
10659 (datehook_mod_CFLAGS): Likewise.
10660 (datehook_mod_LDFLAGS): Likewise.
10661 * conf/sparc64-ieee1275.rmk: Likewise.
10662 * lib/ieee1275/datetime.c: New file.
10663
873ccae6
VS
106642010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
10667 (ieee1275_fb_mod_SOURCES): New variable.
10668 (ieee1275_fb_mod_CFLAGS): Likewise.
10669 (ieee1275_fb_mod_LDFLAGS): Likewise.
10670 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
10671 New proto.
10672 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
10673 (HEAP_MAX_ADDR): Likewise.
10674 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
10675 type.
10676 Correct stop condition.
10677 (grub_ieee1275_devices_iterate): New function.
10678 * video/ieee1275.c: New file.
10679
601c97c0
VS
106802010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10681
10682 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
10683
10684 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
10685 as scratch.
10686 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
10687 SCRATCH_PAD_DISKBOOT as scratch.
10688 (bootit): Pass Openfirmware pointer in %o4.
10689 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
10690 of 0x200000.
10691 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
10692 with util/grub-mkrawimage.c.
10693 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
10694 * include/grub/aout.h (AOUT_MID_SUN): New definition.
10695 (grub_aout_get_type) [GRUB_UTIL]: Removed.
10696 (grub_aout_load) [GRUB_UTIL]: Likewise.
10697 * include/grub/kernel.h (grub_modules_get_end): New proto.
10698 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
10699 (SCRATCH_PAD_BOOT): New definition.
10700 (SCRATCH_PAD_DISKBOOT): Likewise.
10701 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
10702 * include/grub/sparc64/ieee1275/ieee1275.h
10703 (grub_ieee1275_original_stack): New variable
10704 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
10705 New definition
10706 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
10707 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
10708 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
10709 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
10710 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
10711 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
10712 (grub_platform_image_format_t): New type.
10713 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
10714 * kern/main.c (grub_modules_get_end)
10715 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
10716 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
10717 (codestart): Switch stacks.
10718 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
10719 variable.
10720 (grub_heap_init): Use grub_modules_get_end.
10721 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
10722 stack.
10723 * util/grub-mkrawimage.c (generate_image): Support sparc64.
10724 (main): Likewise.
10725 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
10726
d68b491e
TG
107272010-03-14 Thorsten Glaser <tg@mirbsd.org>
10728
10729 * util/grub-mkrescue.in: Base ISO UUID on UTC.
10730
4e02ed50
MK
107312010-03-08 Matt Kraai <kraai@ftbfs.org>
10732
10733 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
10734 bug #559005).
10735
1f15fc1e
VS
107362010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
10737
10738 * genmoddep.awk: Output all missing symbols and not only first.
10739
fce5d8ff
VS
107402010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10741
10742 * NEWS: Put the date of 1.98 release.
10743
d1e8a02f
VS
107442010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10745
10746 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
10747 ft2build.h.
10748
696fd607
VS
107492010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10750
10751 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
10752 completition in the middle of string.
10753
33e2e6f3
VS
107542010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10755
10756 * util/grub-mkrescue.in: Use mktemp with explicit template.
10757
b1f6d291
VS
107582010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
10761
2ac227c7
VS
107622010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10763
10764 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
10765 right pointer.
10766
8f9a632b
VS
107672010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 Fix FreeBSD compilation.
10770
10771 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
10772 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
10773
60b03859
VS
107742010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
10777
48a5a769
VS
107782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10779
10780 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
10781
3ab4bd77
VS
107822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10783
10784 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
10785
d116e0d8
RM
107862010-03-04 Robert Millan <rmh.grub@aybabtu.com>
10787
10788 Support relative image path in theme file.
10789
10790 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
10791 (image_set_property): Handle theme_dir and relative path.
10792
c7ef54aa
VS
107932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10794
10795 * configure.ac: Alias amd64 to x86_64.
10796
fcee14ed
VS
107972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 * NEWS: mention multiboot on EFI.
10800
d0780363
VS
108012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 * kern/main.c (grub_load_modules): Handle errors from init functions of
10804 embeded modules.
10805
41168ea4
VS
108062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 * normal/autofs.c (autoload_fs_module): Handle errors.
10809
b54d93ac
VS
108102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10811
10812 Disable linux.mod on qemu-mips since it's not functional and leads
10813 to compilation failure.
10814
10815 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
10816 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
10817 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
10818 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
10819 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
10820 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
10821 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
10822 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
10823 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
10824 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
10825 Reported by: BVK Chaitanya
10826
fc8345da
JU
108272010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
10828
10829 * INSTALL: Add gettext as a dependency and add qemu to a new section
10830 "Prerequisites for make-check".
10831
4760f979
CF
108322010-03-04 Christian Franke <franke@computer.org>
10833
10834 * util/grub-pe2elf.c: Add missing include "progname.h".
10835
f209b5b2
VS
108362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10837
10838 * normal/crypto.c (read_crypto_list): Fix a typo.
10839 Reported by: Seth Goldberg.
10840
b4b7be98
VS
108412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 10844 Reported by: Seth Goldberg.
b4b7be98 10845
c0ee0385
VS
108462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10847
10848 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
10849 ascii.bitmaps.
10850
a8efbf64
VS
108512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 10854 Reported by: Seth Goldberg.
a8efbf64 10855
08dcd913
VS
108562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10857
10858 * util/i386/efi/grub-install.in: Copy gettext files.
10859
c4d0b332
VS
108602010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
10863
c6f2fe52
VS
108642010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10865
10866 Wait for user entry basing on presence of output rather than on errors.
10867
10868 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
10869 (grub_install_newline_hook): Likewise.
10870 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
10871 * normal/menu.c (show_menu): Check line_counter to determine presence
10872 of output.
10873 * normal/term.c (grub_normal_line_counter): New variable.
10874 (grub_normal_get_line_counter): New function.
10875 (grub_install_newline_hook): Likewise.
10876
5382b1e4
VS
108772010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
10880
5519963b
VS
108812010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10882
10883 * configure.ac: Update version to 1.98.
10884
72b28631
VS
108852010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10886
10887 * util/grub.d/10_linux.in (linux_entry): Don't default to
10888 gfxpayload=keep if Linux doesn't support video handover.
10889
c140a180
VS
108902010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10891
10892 Don't compile video modules on yeeloong since video subsystem is part
10893 of kernel.
10894
10895 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
10896 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
10897 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
10898 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
10899 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
10900 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
10901 * include/grub/bitmap_scale.h: Likewise.
10902 * include/grub/bufio.h: Likewise.
10903 * include/grub/font.h: Likewise.
10904 * include/grub/gfxterm.h: Likewise.
10905 * include/grub/video.h: Likewise.
10906 * include/grub/vbe.h: Don't include video_fb.h.
10907 * video/i386/pc/vbe.c: Include video_fb.h.
10908 * commands/i386/pc/vbetest.c: Include video.h.
10909
a0ca21c2
CW
109102010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
10911
10912 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
10913 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
10914 default entry if GRUB_SAVEDEFAULT=true. This allows using
10915 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
10916 saving a new default on every boot.
10917
4a8a763c
VS
109182010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10919
10920 * normal/crypto.c (read_crypto_list): Fix a memory leak.
10921 * normal/term.c (read_terminal_list): Likewise.
10922 * normal/main.c (grub_normal_init_page): Likewise.
10923 (grub_normal_read_line_real): Likewise.
10924
607ffde2
VS
109252010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10926
10927 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
10928 memory leak.
10929 Reported by: Seth Goldberg.
10930
2b8fa975
CW
109312010-02-24 Joey Korkames <joey+lists@kidfixit.com>
10932
10933 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
10934 duplicate declaration of `start'.
10935
618307dd
VS
109362010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10937
10938 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
10939 filename.
10940 Reported by: Georgy Buranov
10941
7dd05b96 109422010-02-20 Carles Pina i Estany <carles@pina.cat>
10943
10944 * util/grub-mkrawimage.c (usage): Change string formatting to
10945 improve gettext.
10946
d1484a42
MRA
109472010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
10948
10949 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
10950 backspace keys.
10951
42b1d186
VS
109522010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10953
10954 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
10955 Reported by: Michael Suchanek.
10956
109572010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
10958
10959 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
10960 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
10961
d9f31a41
VS
109622010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 Remove any reference to non-free fonts.
10965
10966 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
10967 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
10968 uses non-free components.
10969 * font/font.c (grub_font_get_name): Remove example name.
10970 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
10971 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
10972 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
10973 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
10974
2793c71e
GB
109752010-02-16 Georgy Buranov <gburanov@gmail.com>
10976
10977 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
10978
402e3779
VS
109792010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
10982 Double divisor.
10983 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
10984 features.
10985 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
10986
0dd1e0dd
VS
109872010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 * gensymlist.sh.in: Use TARGET_CC instead of CC.
10990
6fa7cfce
ST
109912010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10992
10993 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
10994 * docs/grub.texi (Command-line and menu entry commands): Document play
10995 command.
10996
37c8483b
ST
109972010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10998
10999 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
11000 parse arguments as inline tempo and notes. Move code for playing notes
11001 to...
11002 (play): ... new function.
11003
14da0fb7
ST
110042010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
11005
11006 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
11007 grub_uint16_t instead of short.
11008 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
11009 disk from little endian to cpu endianness.
11010
04459e70
ST
110112010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
11012
11013 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
11014 GRUB_TICKS_PER_SECOND instead of 120.
11015
a0876943
VS
110162010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
11017
11018 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
11019 escape sequence after \e.
11020
e29f95dc
VS
110212010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
11022
11023 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
11024 non-ASCII characters.
11025
d27859b2
VS
110262010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
11027
11028 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
11029 set root in single quotes to prevent \, from being unescaped.
11030
bc028f2f
VS
110312010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 Prevent unknown commands from stopping menuentry execution.
11034
11035 * script/execute.c (grub_script_execute_cmdline): Print error after
11036 unknown command.
11037
095f5f82
VS
110382010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
11039
11040 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
11041 Reported by: Pavel Pisa.
11042
8c717950
VS
110432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11044
11045 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
11046
904935c3
VS
110472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 Merge grub_ieee1275_map_physical into grub_map and rename to
11050 grub_ieee1275_map
11051
11052 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
11053 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
11054 Remove.
11055 * kern/ieee1275/openfw.c (grub_map): Rename to ...
11056 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
11057 necessary.
11058 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
11059
5b59a4e3
VS
110602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
11063 opening and not after.
11064
69e137e8
VS
110652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11066
11067 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
11068 constants.
11069
2c0fcc36
VS
110702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11071
11072 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
11073 (alloc_phys): Use ALIGN_UP instead of align_addr.
11074
8c6052ce
VS
110752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11076
11077 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
11078
17cec782
VS
110792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
11082
e0128bbd
VS
110832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11084
11085 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
11086 verbose dprintf.
11087
ca62070b
VS
110882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 Fix over-4GiB seek on sparc64.
11091
11092 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
11093 Replace pos_i and pos_lo with pos. All users updated.
11094 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
11095 New constant.
11096 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
11097 Likewise.
11098 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
11099 and pos_lo.
11100
bdca2607
VS
111012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11102
11103 * util/grub-mkrawimage.c (main): Call set_program_name.
11104
da278c4d
VS
111052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 Properly align 64-bit targets.
11108
11109 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
11110 (generate_image): Use ALIGN_ADDR.
11111
b274d734
VS
111122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11113
11114 Properly create cross-endian images.
11115
11116 * include/grub/types.h (grub_host_to_target_addr): New macro
11117 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
11118
82da2062
VS
111192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11120
11121 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
11122
7cae4377
VS
111232010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11124
11125 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
11126
11127 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
11128 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
11129 (grub_linux_boot): Divide by 64K when on VESA.
11130
65a533e7
VS
111312010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 Support GRUB_GFXPAYLOAD_LINUX.
11134
11135 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
11136 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
11137
dd01d397
VS
111382010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11139
11140 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
11141 to show messages instead of discarding them.
11142 Process errors after executing command and not before. Keep old method
11143 too as precaution.
11144
660960d6
VS
111452010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11146
11147 * configure.ac: Check for ft2build.h.
11148
62509f04
VS
111492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11150
11151 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
11152
473df63d
VS
111532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11154
11155 * genkernsyms.sh.in: Use TARGET_CC.
11156
c98d2a13
CW
111572010-02-07 Colin Watson <cjwatson@ubuntu.com>
11158
11159 * NEWS: Update.
11160
6e14234c
VS
111612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11162
11163 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
11164 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
11165 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 11166
b255e9cf
YB
111672010-02-07 Yves Blusseau <blusseau@zetam.org>
11168
6e14234c 11169 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 11170
98e6959d
VS
111712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11172
11173 Fix warnings in grub-emu when compiling with maximum warning options.
11174
11175 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
11176 (grub_arch_modules_addr): Return 0 and not NULL.
11177 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 11178 (xstrdup): Use newstr instead of dup.
f88d801b
VS
11179 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
11180 of disk to dsk to avoid shadowing.
74e4934e
VS
11181 (find_free_slot): Fix prototype.
11182 * util/getroot.c (grub_util_is_dmraid): Make static.
11183 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
11184 Add missing prototype.
11185 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 11186
74e31b5c
VS
111872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11188
11189 * loader/i386/linux.c (grub_linux_setup_video): Handle error
11190 appropriately.
11191
6b2ad14b
VS
111922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
11195 code out.
11196
8f891adc
VS
111972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
11200 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
11201 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
11202 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
11203 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
11204 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
11205
74b45184
VS
112062010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 * include/grub/err.h (grub_err_printf): Don't export.
11209
a4bced77
VS
112102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11211
11212 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
11213
007d0695
VS
112142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 * include/grub/i18n.h (grub_gettext_dummy): Removed.
11217 * kern/misc.c (grub_gettext_dummy): Make static.
11218
b6c0d9c2
VS
112192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11220
11221 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
11222 by non-valid ones.
11223 * kern/term.c (grub_putchar): Likewise.
11224
f51a90d0
VS
112252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11226
11227 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
11228 buggy hook call and memory leak.
11229
6846cec5
VS
112302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11231
11232 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
11233
468d69fe
VS
112342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11235
11236 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
11237
51906b8c
VS
112382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11239
11240 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
11241 modevar.
11242 Return grub_errno on allocation error.
11243
09706ce5
VS
112442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11245
11246 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
11247
911df80c
YB
112482010-02-06 Yves Blusseau <blusseau@zetam.org>
11249
11250 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
11251 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
11252
3746a6bc
VS
112532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11254
11255 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
11256 non-pxe disk.
11257 (grub_pxefs_open): Likewise.
11258
09706ce5
VS
112592010-02-06 Robert Millan <rmh.grub@aybabtu.com>
11260
11261 * util/grub.d/10_hurd.in: Add --class information to menuentries.
11262 * util/grub.d/10_kfreebsd.in: Likewise.
11263 * util/grub.d/10_linux.in: Likewise.
11264
7cc192d9
VS
112652010-02-06 Colin D Bennett <colin@gibibit.com>
11266
11267 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
11268 (gfxmenu_mod_SOURCES): New variable.
11269 (gfxmenu_mod_CFLAGS): Likewise.
11270 (gfxmenu_mod_LDFLAGS): Likewise.
11271 * include/grub/term.h (grub_term_set_current_output): Declare
11272 argument as const.
11273 * docs/gfxmenu-theme-example.txt: New file.
11274 * gfxmenu/gfxmenu.c: Likewise.
11275 * gfxmenu/gui_box.c: Likewise.
11276 * gfxmenu/gui_canvas.c: Likewise.
11277 * gfxmenu/gui_circular_progress.c: Likewise.
11278 * gfxmenu/gui_image.c: Likewise.
11279 * gfxmenu/gui_label.c: Likewise.
11280 * gfxmenu/gui_list.c: Likewise.
11281 * gfxmenu/gui_progress_bar.c: Likewise.
11282 * gfxmenu/gui_string_util.c: Likewise.
11283 * gfxmenu/gui_util.c: Likewise.
11284 * gfxmenu/icon_manager.c: Likewise.
11285 * gfxmenu/model.c: Likewise.
11286 * gfxmenu/named_colors.c: Likewise.
11287 * gfxmenu/theme_loader.c: Likewise.
11288 * gfxmenu/view.c: Likewise.
11289 * gfxmenu/widget-box.c: Likewise.
11290 * include/grub/gfxmenu_model.h: Likewise.
11291 * include/grub/gfxmenu_view.h: Likewise.
11292 * include/grub/gfxwidgets.h: Likewise.
11293 * include/grub/gui.h: Likewise.
11294 * include/grub/gui_string_util.h: Likewise.
11295 * include/grub/icon_manager.h: Likewise.
11296
112972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11298
11299 Agglomerate scrolling in gfxterm.
11300
11301 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
11302 (grub_virtual_screen_setup): Initialise 'total_screen'.
11303 (write_char): Split to ...
11304 (paint_char): ... this ...
11305 (write_char): ... and this.
11306 (paint_char): Handle delayed scrolling.
11307 (draw_cursor): Likewise.
11308 (scroll_up): Split to ...
11309 (real_scroll): ... this ...
11310 (scroll_up): ... and this.
11311 (real_scroll): Handle multi-line scroll and draw below-the-bottom
11312 characters.
11313 (grub_gfxterm_refresh): Call real_scroll.
11314
113152010-02-06 Colin D Bennett <colin@gibibit.com>
11316
11317 * include/grub/misc.h (grub_iscntrl): New inline function.
11318 (grub_isalnum): Likewise.
11319 (grub_strtol): Likewise.
11320
113212010-02-06 Colin D Bennett <colin@gibibit.com>
11322
11323 * normal/menu_text.c (get_entry_number): Move from here ...
11324 * normal/menu.c (get_entry_number): ... moved here.
11325 * include/grub/menu.h (grub_menu_get_default_entry_index):
11326 New prototype.
11327 * normal/menu.c (grub_menu_get_default_entry_index): New function.
11328 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
11329 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
11330 (grub_menu_viewer_should_return): Likewise.
11331 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
11332 * normal/menu_text.c (run_menu): Enable menu switching.
11333 * normal/menu_viewer.c (should_return): New variable.
11334 (menu_viewer_changed): Likewise.
11335 (grub_menu_viewer_show_menu): Handle menu viewer changes.
11336 (grub_menu_viewer_should_return): New function.
11337 (menuviewer_write_hook): Likewise.
11338 (grub_menu_viewer_init): Likewise.
11339
113402010-02-06 Colin D Bennet <colin@gibibit.com>
113412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11342
11343 Support for gfxterm in a window.
11344
11345 * include/grub/gfxterm.h: New file.
11346 * include/grub/video.h (struct grub_video_rect): New declaration.
11347 (grub_video_rect_t): Likewise.
11348 * term/gfxterm.c (struct grub_gfxterm_window): New type.
11349 (refcount): New variable.
11350 (render_target): Likewise.
11351 (window): Likewise.
11352 (repaint_callback): Likewise.
11353 (grub_virtual_screen_setup): Use 'render_target'.
11354 (init_window): New function.
11355 (grub_gfxterm_init_window): Likewise.
11356 (grub_gfxterm_init): Check reference counter.
11357 Use init_window.
11358 (destroy_window): New function.
11359 (grub_gfxterm_destroy_window): Likewise.
11360 (grub_gfxterm_fini): Check reference counter.
11361 Use destroy_window.
11362 (redraw_screen_rect): Restore viewport.
11363 Use 'render_target' and 'window'.
11364 Call 'repaint_callback'.
11365 (write_char): Use 'render_target'.
11366 (draw_cursor): Likewise.
11367 (scroll_up): Restore viewport.
11368 Use 'render_target' and 'window'.
11369 Call 'repaint_callback'.
11370 (grub_gfxterm_cls): Likewise.
11371 (grub_gfxterm_refresh): Use 'window'.
11372 (grub_gfxterm_set_repaint_callback): New function.
11373 (grub_gfxterm_background_image_cmd): Use 'window'.
11374 (grub_gfxterm_get_term): New function.
11375 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
11376
113772010-02-06 Colin D Bennett <colin@gibibit.com>
11378
11379 Bitmap scaling support.
11380
11381 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
11382 (bitmap_scale_mod_SOURCES): New variable.
11383 (bitmap_scale_mod_CFLAGS): Likewise.
11384 (bitmap_scale_mod_LDFLAGS): Likewise.
11385 * include/grub/bitmap_scale.h: New file.
11386 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
11387 (background_image_cmd_options): New variable.
11388 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
11389 (cmd): Rename and change type to ...
11390 (background_image_cmd_handle): ... this. All users updated.
11391 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
11392 * video/bitmap_scale.c: New file.
11393
113942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11395
11396 SDL support.
11397
11398 * Makefile.in (LIBSDL): New variable.
11399 (enable_grub_emu_sdl): Likewise.
11400 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
11401 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
11402 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
11403 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
11404 * util/sdl.c: New file.
11405
114062010-02-06 Colin D Bennett <colin@gibibit.com>
114072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11408
11409 Double buffering support.
11410
11411 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
11412 * include/grub/video.h: Update comment.
11413 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
11414 New type.
11415 (grub_video_fb_doublebuf_blit_init): New prototype.
11416 * term/gfxterm.c (scroll_up): Support double buffering.
11417 (grub_gfxterm_refresh): Likewise.
11418 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
11419 (grub_video_fb_doublebuf_blit_init): Likewise.
11420 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
11421 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
11422 'displayed_page', 'render_page' and 'update_screen'.
11423 (grub_video_vbe_fini): Free offscreen buffer.
11424 (doublebuf_pageflipping_commit): New function.
11425 (doublebuf_pageflipping_update_screen): Likewise.
11426 (doublebuf_pageflipping_init): Likewise.
11427 (double_buffering_init): Likewise.
11428 (grub_video_vbe_setup): Enable doublebuffering.
11429 (grub_video_vbe_swap_buffers): Implement.
11430 (grub_video_vbe_set_active_render_target): Handle double buffering.
11431 (grub_video_vbe_get_active_render_target): Likewise.
11432 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
11433 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
11434 (grub_video_vbe_enable_double_buffering): Likewise.
11435 (grub_video_vbe_swap_buffers): Use update_screen.
11436 (grub_video_set_mode): Use double buffering.
11437
114382010-02-06 Robert Millan <rmh.grub@aybabtu.com>
11439
11440 * maintainance/gentrigtables.py: Remove.
11441 * lib/trig.c: Likewise.
11442
11443 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
11444
11445 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
11446 `trigtables.c'.
11447 (trigtables.c): New rule.
11448 (gentrigtables): Likewise.
11449 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
11450
114512010-02-06 Robert Millan <rmh.grub@aybabtu.com>
11452
11453 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
11454 integer constants.
11455
114562010-02-06 Colin D Bennet <colin@gibibit.com>
11457
11458 Trigonometry support.
11459
11460 * include/grub/trig.h: New file.
11461 * lib/trig.c: Likewise.
11462 * maintainance/gentrigtables.py: Likewise.
11463 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
11464 (trig_mod_SOURCES): New variable.
11465 (trig_mod_CFLAGS): Likewise.
11466 (trig_mod_LDFLAGS): Likewise.
11467
5562834e
VS
114682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11469
11470 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
11471 disk devices.
11472
4f8528fc
VS
114732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11474
11475 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
11476 error.
11477
2b4068e9
VS
114782010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 * util/hostdisk.c (open_device): Don't use partition device when reading
11481 before the partition.
11482 (grub_util_biosdisk_read): Don't read from partition and before the
11483 partition in single operation.
11484 (grub_util_biosdisk_write): Don't write to partition and before the
11485 partition in single operation.
11486
399f6e4d
TL
114872010-02-03 Torsten Landschoff <torsten@debian.org>
11488
11489 * kern/disk.c (grub_disk_read): Fix offset computation when reading
11490 last sectors.
11491
996649b0
VS
114922010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11493
11494 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
11495 CDROM reads.
11496 (grub_biosdisk_write): Refuse to write to CDROM.
11497
3b205d4d
VS
114982010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
11501
61e89d9d
VS
115022010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11503
11504 * font/font.c (find_glyph): Check that bmp_idx is available before
11505 using it.
11506 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
11507 with (font == NULL).
11508
bf7fcba2
CS
115092010-01-28 Christian Schmitt <chris@ilovelinux.de>
11510
11511 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
11512
f45d2663
BC
115132010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
11514
11515 * include/grub/script_sh.h (sourcecode): Add const qualifier.
11516 * util/grub-script-check.c (getline): Fix empty lines case.
11517
ec1444e6
RM
115182010-01-28 Robert Millan <rmh.grub@aybabtu.com>
11519
11520 * Makefile.in (check): Exit with fail status when one of the tests
11521 fails.
11522 * tests/example_functional_test.c (example_test): Fix reversed assert.
11523 * tests/example_unit_test.c (example_test): Likewise.
11524
2e1cb9bb
CW
115252010-01-28 Colin Watson <cjwatson@ubuntu.com>
11526
11527 * util/grub.d/10_linux.in: This script does not use any of the
11528 contents of gettext.sh, only the external command `gettext', so stop
11529 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
11530 the same prefix as GRUB.)
11531 * util/grub.d/10_kfreebsd.in: Likewise.
11532
63533ab0
VS
115332010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11534
11535 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
11536 of the line.
11537
989e1f93
VS
115382010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11539
11540 * kern/disk.c (grub_disk_read): Fix offset computation when reading
11541 last sectors.
11542
e709ebe2
VS
115432010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11544
11545 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
11546 having a 4KiB and not 32KiB buffer size.
11547
27dea7ed
RM
115482010-01-27 Robert Millan <rmh.grub@aybabtu.com>
11549
11550 * util/hostfs.c: Include `<errno.h>'.
11551 (grub_hostfs_read): Handle errors from fseeko() and fread().
11552
67667b9c
RM
115532010-01-27 Robert Millan <rmh.grub@aybabtu.com>
11554
11555 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
11556 loop when using read hooks on files whose size isn't sector-aligned.
11557
c294d9d8
RM
115582010-01-27 Robert Millan <rmh.grub@aybabtu.com>
11559
11560 Remove unused parameter.
11561
11562 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
11563 (grub_iso9660_open): Remove initialization of `data->length'.
11564
af75a9f1
RM
115652010-01-27 Robert Millan <rmh.grub@aybabtu.com>
11566
11567 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
11568 memleak conditions.
11569
254e2ce5 115702010-01-27 Carles Pina i Estany <carles@pina.cat>
11571
11572 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
11573 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
11574
b510928c 115752010-01-26 Carles Pina i Estany <carles@pina.cat>
11576
11577 * util/bin2h.c (usage): Fix warning (space after backslash).
11578
aa2f9dd2 115792010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 11580
11581 * font/font.c: Include `grub/fontformat.h.
11582 Remove font file format constants.
11583 (grub_font_load): Use the new macros.
11584 * include/grub/fontformat.h: New file.
11585 * util/grub-mkfont.c: Include `grub/fontformat.c'.
11586 (write_font_pf2): Use the new macros.
11587
94e7e712
RM
115882010-01-26 Robert Millan <rmh.grub@aybabtu.com>
11589
11590 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
11591 does.
11592
3973a59a
RM
115932010-01-26 Robert Millan <rmh.grub@aybabtu.com>
11594
11595 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
11596
11597 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
11598 (_start): Macroify `0x7F'.
11599
11600 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
11601 (make_install_device): Use "(pxe)" as fallback prefix when booting
11602 via PXE.
11603
42e0cba3
GS
116042010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
11605
11606 * configure.ac: Reset LIBS after check for libgcc symbols.
11607
847effd8
CW
116082010-01-25 Colin Watson <cjwatson@ubuntu.com>
11609
11610 * util/hostdisk.c (open_device): Add trailing newline to debug
11611 message.
11612
ea4a7e35
GS
116132010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
11614
11615 * configure.ac: Check for `limits.h'.
11616 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
11617
67951a53
RM
116182010-01-24 Robert Millan <rmh.grub@aybabtu.com>
11619
11620 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
11621 capitalize error strings.
11622
c273d4ce
ST
116232010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
11624
11625 * util/grub.d/10_hurd.in: Add a recovery mode.
11626
69be5b74
VS
116272010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
11628
11629 * configure.ac: Check for libgcc symbols with -nostdlib.
11630
fc9e5810
BC
116312010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
11632
11633 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
11634
4b358c0a
VS
116352010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11636
11637 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
11638 stack since heap may be unavailable at that point.
11639 (grub_ofconsole_gotoxy): Likewise.
11640
454fcd1c
VS
116412010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11642
11643 * configure.ac: Check for _restgpr_14_x.
11644 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
11645 and _savegpr_* prototypes.
11646
566863ca
RM
116472010-01-22 Robert Millan <rmh.grub@aybabtu.com>
11648
11649 Use generic grub_reboot() for i386-efi.
11650
11651 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
11652 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
11653 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
11654
bf86e59a
VS
116552010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11656
11657 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
11658 presence of "prefix" variable as it breaks when normal.mod is
11659 embedded.
11660
d645e0f8
VS
116612010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
11664 stack since heap is unavailable at that point.
11665
f9ab2e25
VS
116662010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
11667
11668 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
11669 (grub_freebsd_bootinfo): Rewritten.
11670 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
11671
01fc7054
VS
116722010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
11673
11674 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
11675
caab4fd6
RM
116762010-01-21 Robert Millan <rmh.grub@aybabtu.com>
11677
11678 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
11679 domain now.
11680
67eb1427
FZ
116812010-01-20 Felix Zielcke <fzielcke@z-51.de>
11682
11683 * util/misc.c (make_system_path_relative_to_its_root): Change the work
11684 around for handling "/" to the correct fix. Fix a memory leak. Use
11685 xstrdup instead of strdup.
11686
a9ed4ff3
VS
116872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11688
11689 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
11690
116912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
11692
11693 Optimise glyph lookup by Basic Multilingual Plane lookup array.
11694
11695 * font/font.c (struct grub_font): New member 'bmp_idx'.
11696 (font_init): Initialise 'bmp_idx'.
11697 (load_font_index): Fill 'bmp_idx'.
11698 (find_glyph): Make inline. Use bmp_idx for BMP characters.
11699
48209f4f
VS
117002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
11703 unnecessary calls.
11704
9f0a4bb7
VS
117052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 Move context handling out of the kernel.
11708
11709 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
11710 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
11711 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
11712 * conf/i386-efi.rmk: Likewise.
11713 * conf/i386-ieee1275.rmk: Likewise.
11714 * conf/i386-pc.rmk: Likewise.
11715 * conf/powerpc-ieee1275.rmk: Likewise.
11716 * conf/sparc64-ieee1275.rmk: Likewise.
11717 * conf/x86_64-efi.rmk: Likewise.
11718 * include/grub/env.h: Include grub/menu.h.
11719 (grub_env_var_type): Removed.
11720 (grub_env_var): Replaced field 'type' with 'global'.
11721 (grub_env_find): New prototype.
11722 (grub_env_context_open): Remove EXPORT_FUNC.
11723 (grub_env_context_close): Likewise.
11724 (grub_env_export): Likewise.
11725 (grub_env_set_data_slot): Removed.
11726 (grub_env_get_data_slot): Likewise.
11727 (grub_env_unset_data_slot): Likewise.
11728 (grub_env_unset_menu): New prototype.
11729 (grub_env_set_menu): Likewise.
11730 (grub_env_get_menu): Likewise.
11731 * include/grub/env_private.h: New file.
11732 * include/grub/normal.h (grub_context_init): New prototype.
11733 (grub_context_fini): Likewise.
11734 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
11735 * normal/context.c (grub_cmd_export): ... to here.
11736 * kern/env.c: Include env_private.h.
11737 (HASHSZ): Moved to include/grub/env_private.h.
11738 (grub_env_context): Likewise.
11739 (grub_env_sorted_var): Likewise.
11740 (current_context): Renamed from this ...
11741 (grub_current_context): ...to this. 'static' removed. All users updated.
11742 (grub_env_find): Removed 'static'.
11743 (grub_env_context_open): Moved to normal/context.c.
11744 (grub_env_context_close): Likewise.
11745 (grub_env_export): Likewise.
11746 (mangle_data_slot_name): Removed.
11747 (grub_env_set_data_slot): Likewise.
11748 (grub_env_get_data_slot): Likewise.
11749 (grub_env_unset_data_slot): Likewise.
11750 * kern/main.c (grub_set_root_dev): Don't export root.
11751 It will be done later.
11752 (grub_main): Don't export prefix.
11753 It will be done later.
11754 * normal/context.c: New file.
11755 * normal/main.c (free_menu): Use grub_env_unset_menu.
11756 (grub_normal_add_menu_entry): Use grub_env_get_menu.
11757 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
11758 (GRUB_MOD_INIT(normal)): Call grub_context_init.
11759 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
11760
8dd35b8c
VS
117612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11762
11763 setpci support.
11764
11765 * commands/setpci.c: New file.
11766 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
11767 (setpci_mod_SOURCES): New variable.
11768 (setpci_mod_CFLAGS): Likewise.
11769 (setpci_mod_LDFLAGS): Likewise.
11770
449193d5
VS
117712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11772
11773 Byte-addressable PCI configuration space.
11774
11775 * bus/pci.c (grub_pci_make_address): Use byte address instead of
11776 dword address.
11777 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
11778 GRUB_PCI_REG_CACHELINE.
11779 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
11780 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
11781 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
11782 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
11783 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
11784 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
11785 grub_pci_make_address.
11786 (lock_rom_area): Likewise.
11787 * commands/lspci.c (grub_lspci_iter): Use macroses
11788 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
11789 of grub_pci_make_address.
11790 * disk/ata.c (grub_ata_pciinit): Likewise.
11791 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
11792 (GRUB_PCI_REG_VENDOR): Likewise.
11793 (GRUB_PCI_REG_DEVICE): Likewise.
11794 (GRUB_PCI_REG_COMMAND): Likewise.
11795 (GRUB_PCI_REG_STATUS): Likewise.
11796 (GRUB_PCI_REG_REVISION): Likewise.
11797 (GRUB_PCI_REG_CLASS): Likewise.
11798 (GRUB_PCI_REG_CACHELINE): Likewise.
11799 (GRUB_PCI_REG_LAT_TIMER): Likewise.
11800 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
11801 (GRUB_PCI_REG_BIST): Likewise.
11802 (GRUB_PCI_REG_ADDRESSES): Likewise.
11803 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11804 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11805 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11806 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11807 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11808 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11809 (GRUB_PCI_REG_CIS_POINTER): Likewise.
11810 (GRUB_PCI_REG_SUBVENDOR): Likewise.
11811 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
11812 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
11813 (GRUB_PCI_REG_CAP_POINTER): Likewise.
11814 (GRUB_PCI_REG_IRQ_LINE): Likewise.
11815 (GRUB_PCI_REG_IRQ_PIN): Likewise.
11816 (GRUB_PCI_REG_MIN_GNT): Likewise.
11817 (GRUB_PCI_REG_MAX_LAT): Likewise.
11818 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
11819 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
11820 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 11821 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
11822 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
11823 space.
11824
96d73208
RM
118252010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11826
11827 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
11828 can be reliably determined to be supported.
11829
d4484482
RM
118302010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11831
11832 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
11833 that VESA is supported.
11834 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
11835 supported.
11836
00308ecf
VS
118372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11838
11839 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
11840
f66924a4
RM
118412010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11842
11843 * util/misc.c (make_system_path_relative_to_its_root): Work around
11844 special-casing of "/", as previous incarnation of this routine did.
11845
cbca0ada
VS
118462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11847
11848 Fix any-emu compilation.
11849
11850 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
11851 * grub_bin2h_SOURCES: New variable.
11852
34a66d99
RM
118532010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11854
11855 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
11856
94fabf58
RM
118572010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11858
11859 * util/grub.d/00_header.in: Fix handling of locale_dir.
11860
02cf98ca
VS
118612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11862
11863 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
11864 as possible unifont location (Gentoo).
11865 Reported by: Alexander Brüning
11866
327dbcd7
VS
118672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11868
11869 Don't try to generate lists for kernel.img.
11870
11871 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
11872 (pkglib_MODULES): Remove kernel.img.
11873 (kernel_img_EXPORTS): Removed.
11874 (kernel_img_RELOCATABLE): New variable.
11875 * conf/x86_64-efi.rmk: Likewise.
11876 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
11877
ca467290
VS
118782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11879
11880 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
11881 grub_xasprintf or grub_snprintf.
11882 (grub_vsprintf): Likewise.
11883 (grub_snprintf): New proto.
11884 (grub_vsnprintf): Likewise.
11885 (grub_xasprintf): Likewise.
11886 (grub_xvasprintf): Likewise.
11887 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
11888 (grub_sprintf): Removed.
11889 (grub_vsnprintf): New function.
11890 (grub_snprintf): Likewise.
11891 (grub_xvasprintf): Likewise.
11892 (grub_xasprintf): Likewise.
11893 (grub_vsprintf): Renamed to ...
11894 (grub_vsnprintf_real): ...this. New argument max_len.
11895
aca655fd
BC
118962010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
11897
11898 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
11899 fix grub-script-check warning.
11900
7ee92c32
VS
119012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11902
11903 * include/grub/font.h (grub_font_load): Fix prototype.
11904
f80927ca
VS
119052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11906
11907 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
11908
119c50ea
VS
119092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 * include/grub/x86_64/at_keyboard.h: New file.
11912
47d5f3c1
VS
119132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11914
11915 * loader/mips/linux.c: Include missing grub/i18n.h.
11916
55ff5266
RM
119172009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11918
11919 * normal/menu.c (notify_execution_failure): Clarify error message.
11920
c893cc87
RM
119212009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11922
11923 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
11924 return value (and revert all return statements). Update users.
11925
917dd370
CW
119262010-01-20 Dan Merillat <debian@dan.merillat.org>
11927
11928 * kern/device.c (grub_device_iterate): Allocate new part_ent
11929 structure based on sizeof (*p) rather than sizeof (p->next), to
11930 account for structure padding.
11931
11932 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
11933 disk is NULL, which might happen for LVM physical volumes with no
11934 LVM signature.
11935
d4a4ee57
RM
119362009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11937
11938 * loader/mips/linux.c (grub_cmd_initrd)
11939 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
11940
119412009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11942
11943 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
11944 (grub_video_video_init, grub_video_bitmap_init)
11945 (grub_font_manager_init, grub_term_gfxterm_init)
11946 (grub_at_keyboard_init): New extern declarations.
11947 (grub_machine_init): Initialize gfxterm and at_keyboard.
11948
11949 * kern/main.c (grub_main): Revert grub_printf delay kludge.
11950
11951 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
11952 `gfxterm.mod' into core image.
11953
11954 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11955 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11956 (kernel_img_FORMAT): Copy to ...
11957
11958 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11959 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11960 (kernel_img_FORMAT): ... here, and ...
11961
11962 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11963 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11964 (kernel_img_FORMAT): ... here.
11965
11966 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
11967 and input (at_keyboard) terminals in kernel.
11968 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
11969
11970 (pkglib_MODULES): Remove `pci.mod'.
11971 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
11972 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
11973 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11974 (at_keyboard_mod_LDFLAGS): Remove variables.
11975
119762010-01-11 Felix Zielcke <fzielcke@z-51.de>
11977
11978 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
11979
119802009-12-10 Robert Millan <rmh.grub@aybabtu.com>
11981
11982 * include/grub/mips/libgcc.h: Only export symbols for functions
11983 that libgcc provides.
11984
119852009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
11986
11987 MIPS support.
11988
11989 * bus/bonito.c: New file.
11990 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
11991 GRUB_PCI_NUM_DEVICES.
11992 * term/i386/pc/serial.c: Move to ...
11993 * term/serial.c: ... here. All users updated.
11994 * util/i386/pc/grub-mkimage.c: Move to ...
11995 * util/grub-mkrawimage.c: ... here. All users updated.
11996 * term/i386/pc/at_keyboard.c: Move to ...
11997 * term/at_keyboard.c: ... here. All users updated.
11998 * conf/mips-qemu-mips.rmk: New file.
11999 * conf/mips-yeeloong.rmk: Likewise.
12000 * conf/mips.rmk: Likewise.
12001 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
12002 mipsel-qemu-mips.
12003 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
12004 to port addresses.
12005 (grub_ata_pciinit): Support CS5536.
12006 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
12007 * font/font_cmd.c (loadfont_command): Open file before passing it to
12008 grub_font_load.
12009 (pseudo_file_read): New function.
12010 (pseudo_file_close): Likewise.
12011 (pseudo_fs): New structure.
12012 (load_font_module): New function.
12013 (GRUB_MOD_INIT(font_manager)): Load embedded font.
12014 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
12015 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
12016 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
12017 * include/grub/i386/at_keyboard.h: Split into ...
12018 * include/grub/at_keyboard.h: ... this ...
12019 * include/grub/i386/at_keyboard.h: ... and this.
12020 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
12021 New prototype.
12022 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
12023 updated.
12024 (grub_elf64_size): Likewise.
12025 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
12026 filename.
12027 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
12028 * include/grub/i386/coreboot/serial.h: Rewritten.
12029 * include/grub/i386/ieee1275/serial.h: Include
12030 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
12031 * include/grub/i386/pc/serial.h: Moved from here ...
12032 * include/grub/serial.h: ... to here. All users updated.
12033 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
12034 (GRUB_PCI_NUM_BUS): Likewise.
12035 (GRUB_PCI_NUM_DEVICES): Likewise.
12036 (grub_pci_device_map_range): Add missing volatile keyword.
12037 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
12038 * include/grub/mips/at_keyboard.h: New file.
12039 * include/grub/mips/cache.h: Likewise.
12040 * include/grub/mips/io.h: Likewise.
12041 * include/grub/mips/kernel.h: Likewise.
12042 * include/grub/mips/libgcc.h: Likewise.
12043 * include/grub/mips/pci.h: Likewise.
12044 * include/grub/mips/qemu-mips/boot.h: Likewise.
12045 * include/grub/mips/qemu-mips/kernel.h: Likewise.
12046 * include/grub/mips/qemu-mips/loader.h: Likewise.
12047 * include/grub/mips/qemu-mips/memory.h: Likewise.
12048 * include/grub/mips/qemu-mips/serial.h: Likewise.
12049 * include/grub/mips/qemu-mips/time.h: Likewise.
12050 * include/grub/mips/relocator.h: Likewise.
12051 * include/grub/mips/time.h: Likewise.
12052 * include/grub/mips/types.h: Likewise.
12053 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
12054 * include/grub/mips/yeeloong/boot.h: Likewise.
12055 * include/grub/mips/yeeloong/kernel.h: Likewise.
12056 * include/grub/mips/yeeloong/loader.h: Likewise.
12057 * include/grub/mips/yeeloong/memory.h: Likewise.
12058 * include/grub/mips/yeeloong/pci.h: Likewise.
12059 * include/grub/mips/yeeloong/serial.h: Likewise.
12060 * include/grub/mips/yeeloong/time.h: Likewise.
12061 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
12062 * kern/elf.c (grub_elf32_size): New parameter. All users
12063 updated.
12064 (grub_elf64_size): Likewise.
12065 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
12066 Load modules before saying "Welcome to GRUB!".
12067 Call grub_refresh after saying "Welcome to GRUB!".
12068 * kern/mips/cache.S: New file.
12069 * kern/mips/cache_flush.S: Likewise.
12070 * kern/mips/dl.c: Likewise.
12071 * kern/mips/init.c: Likewise.
12072 * kern/mips/qemu-mips/init.c: Likewise.
12073 * kern/mips/startup.S: Likewise.
12074 * kern/mips/yeeloong/init.c: Likewise.
12075 * kern/term.c (grub_putcode): Handle NULL terminal.
12076 (grub_getcharwidth): Likewise.
12077 (grub_getkey): Likewise.
12078 (grub_checkkey): Likewise.
12079 (grub_getkeystatus): Likewise.
12080 (grub_getxy): Likewise.
12081 (grub_getwh): Likewise.
12082 (grub_gotoxy): Likewise.
12083 (grub_cls): Likewise.
12084 (grub_setcolorstate): Likewise.
12085 (grub_setcolor): Likewise.
12086 (grub_getcolor): Likewise.
12087 (grub_refresh): Likewise.
12088 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
12089 (write_jump): Add hatch nop.
12090 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
12091 * lib/mips/setjmp.S: New file.
12092 * loader/mips/linux.c: Likewise.
12093 * term/i386/pc/at_keyboard.c: Move from here ...
12094 * term/at_keyboard.c: ... to here.
12095 * term/i386/pc/serial.c: Moved from here ...
12096 * term/serial.c: ... to here. All users updated.
12097 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
12098 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
12099 (serial_translate_key_sequence): Avoid deadlock.
12100 (grub_serial_getkey): Handle backspace.
12101 (grub_serial_putchar): Fix newline handling.
12102 * util/i386/pc/grub-mkimage.c: Move from here ...
12103 * util/grub-mkrawimage.c: ... to here. All users updated.
12104 (generate_image): New parameters 'font_path' and 'format'.
12105 Support embedding font.
12106 Use grub_host_to_target* instead of grub_cpu_to_le*.
12107 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
12108 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
12109 (options): New option "--font".
12110 (usage): Likewise.
12111 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
12112 (main): Handle "--font".
12113 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
12114 (grub_virtual_screen_setup): Set bg_color_display.
12115 (redraw_screen_rect): Use bg_color_display instead of incorrect
12116 bg_color.
12117 (grub_gfxterm_cls): Likewise.
12118 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
12119 Support embedding config file.
12120 (add_segments): Likewise.
12121 (options): New option "--config".
12122 (main): Handle "--config".
12123 * video/sm712.c: New file.
12124
25c2b5b3
RM
121252010-01-18 Robert Millan <rmh.grub@aybabtu.com>
12126
12127 Fix parallel builds.
12128
12129 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
12130 font.c depend on ascii.h).
12131
121322010-01-12 Carles Pina i Estany <carles@pina.cat>
12133
12134 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
12135
121362010-01-11 Carles Pina i Estany <carles@pina.cat>
12137
12138 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
12139 By default: disabled.
12140 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
12141 parameter.
12142
121432010-01-10 Carles Pina i Estany <carles@pina.cat>
12144
12145 * font/font.c: Update copyright years.
12146 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
12147
121482010-01-10 Carles Pina i Estany <carles@pina.cat>
12149
12150 * font/font.c: Include `ascii.h'.
12151 (ASCII_BITMAP_SIZE): New macro.
12152 (ascii_font_glyph): Define.
12153 (ascii_glyph_lookup): New function.
12154 (grub_font_get_string_width): Change comment. If glyph not found, use
12155 ascii_glyph_lookup.
12156 (grub_font_get_glyph_with_fallback): If glyph not available returns
12157 ascii_glyph_lookup.
12158 * util/grub-mkfont.c (file_formats): New enum.
12159 (options): Add `ascii-bitmaps' new option.
12160 (usage): Add `asii-bitmaps' new option.
12161 (write_font_ascii_bitmap): New function.
12162 (write_font): Rename to ...
12163 (write_font_p2): ... this. Remove print_glyphs call.
12164 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
12165 used. Call print_glyphs.
12166 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
12167
121682010-01-14 Robert Millan <rmh.grub@aybabtu.com>
12169
12170 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
12171 (grub_bin2h_SOURCES): New variable.
12172 * util/bin2h.c: New file.
12173
915fc1b8
VS
121742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 * include/multiboot.h: Resynced with spec.
12177 * include/multiboot2.h: Likewise.
12178 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
12179 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
12180
9444b678
RM
121812010-01-18 Robert Millan <rmh.grub@aybabtu.com>
12182
12183 * include/grub/term.h (grub_term_register_input,
12184 grub_term_register_output): Check return of terminal init()
12185 routines, and abort if errors are raised.
12186
12187 * commands/terminal.c: Update copyright year.
12188
cba98e8d
RM
121892010-01-18 Robert Millan <rmh.grub@aybabtu.com>
12190
12191 * commands/terminal.c (grub_cmd_terminal_input)
12192 (grub_cmd_terminal_output): Check return of terminal init()
12193 routines, and abort if errors are raised.
12194
6f7db5d6
VS
121952010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12196
12197 * include/grub/i386/bsd.h: Fix include pathes.
12198
262bff8d
VS
121992010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 Add missing *BSD copyright headers.
12202
12203 * include/grub/aout.h: Add BSD licence.
12204 * include/grub/i386/bsd.h: Parts under different licences moved to ...
12205 * include/grub/i386/freebsd_linker.h: ... here,
12206 * include/grub/i386/freebsd_reboot.h: ... here,
12207 * include/grub/i386/netbsd_bootinfo.h: ... here,
12208 * include/grub/i386/netbsd_reboot.h: ... here,
12209 * include/grub/i386/openbsd_bootarg.h: ... here,
12210 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
12211 licence to each file.
12212
b2cab848
RM
122132010-01-18 Robert Millan <rmh.grub@aybabtu.com>
12214
12215 * acinclude.m4: Remove `nop' assembly instruction; it's not
12216 implemented by all architectures.
12217
2cb6be4b
RM
122182010-01-18 Robert Millan <rmh.grub@aybabtu.com>
12219
12220 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
12221 ELILO. This is no longer necessary.
12222
a2eaee15
BC
122232010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
12224
12225 Added new tool, grub-scrit-check to verify grub.cfg syntax.
12226
12227 * util/grub-script-check.c: grub-script-check tool.
12228 * conf/common.rmk: Make rules for grub-script-check.
12229
88d17012
RM
122302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
12231
12232 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
12233 spotting it back in 2008. Shame on me for forgetting he did.
12234
12235 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
12236
8040619d
RM
122372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
12238
12239 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
12240 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
12241 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
12242 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
12243 (GRUB_VIDEO_TYPE_EFI): Rename to ...
12244 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
12245
a0c2a0f6
RM
122462010-01-17 Robert Millan <rmh.grub@aybabtu.com>
12247
12248 * include/grub/test.h: Add license header.
12249 * tests/example_functional_test.c: Likewise.
12250 * tests/example_unit_test.c: Likewise.
12251 * tests/lib/functional_test.c: Likewise.
12252 * tests/lib/test.c: Likewise.
12253 * tests/lib/unit_test.c: Likewise.
12254
b0b13907
VS
122552010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
12256
12257 Use flag-based instead of hook-based video mode selection and "auto"
12258 keyword.
12259
12260 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
12261 (grub_video_set_mode): Changed prototype. All users updated.
12262 (grub_video_check_mode_flag): New inline function.
12263 * video/video.c (parse_modespec): New function.
12264 (grub_video_set_mode): Parse flags and keywords.
12265
ea379330 122662010-01-17 Carles Pina i Estany <carles@pina.cat>
12267
12268 * util/misc.c (grub_util_info): Fix the order of the parameters in a
12269 fprintf call.
12270
e15c215e
FZ
122712010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
12272
12273 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
12274
409ae1c9 122752010-01-16 Carles Pina i Estany <carles@pina.cat>
12276
12277 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
12278 string.
12279 * util/grub-emu.c (usage): Likewise.
12280 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
12281 * util/i386/efi/grub-mkimage.c (usage): Likewise.
12282 * util/i386/pc/grub-mkimage.c (usage): Likewise.
12283 * util/i386/pc/grub-setup.c (usage): Likewise.
12284
70a14d3d 122852010-01-16 Carles Pina i Estany <carles@pina.cat>
12286
12287 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
12288 the message.
12289 (grub_util_info): Likewise.
12290 (grub_util_error): Likewise.
12291 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
12292 and/or new lines in `grub_util_warna', `grub_util_info',
12293 `grub_util_error' calls.
12294 * util/getroot.c: Likewise.
12295 * util/grub-editenv.c: Likewise.
12296 * util/grub-emu.c: Likewise.
12297 * util/grub-fstest.c: Likewise.
12298 * util/grub-mkdevicemap.c: Likewise.
12299 * util/grub-mkfont.c: Likewise.
12300 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12301 * util/grub-mkrelpath.c: Likewise.
12302 * util/grub-pe2elf.c: Likewise.
12303 * util/grub-probe.c: Likewise.
12304 * util/hostdisk.c: Likewise.
12305 * util/i386/efi/grub-mkimage.c: Likewise.
12306 * util/i386/pc/grub-mkimage.c: Likewise.
12307 * util/i386/pc/grub-setup.c: Likewise.
12308 * util/ieee1275/ofpath.c: Likewise.
12309 * util/mkisofs/eltorito.c: Likewise.
12310 * util/mkisofs/rock.c: Likewise.
12311 * util/mkisofs/write.c: Likewise.
12312 * util/raid.c: Likewise.
12313 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
12314 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12315
a0b766fc
VS
123162010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 Enable multiboot on non-pc.
12319
12320 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
12321 multiboot.mod and multiboot2.mod to ...
12322 * conf/i386.rmk (pkglib_MODULES): ... here.
12323 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
12324 Moved to ...
12325 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
12326 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
12327 Moved to ...
12328 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
12329 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
12330 Moved to ...
12331 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
12332 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
12333 Moved to ...
12334 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
12335 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
12336 relocator.mod.
12337 (ata_mod_SOURCES): Removed.
12338 (ata_mod_CFLAGS): Likewise.
12339 (ata_mod_LDFLAGS): Likewise.
12340 (relocator_mod_SOURCES): Removed.
12341 (relocator_mod_CFLAGS): Likewise.
12342 (relocator_mod_ASFLAGS): Likewise.
12343 (relocator_mod_LDFLAGS): Likewise.
12344 Include i386.mk.
12345 * include/grub/x86_64/multiboot.h: New file.
12346 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
12347 Terminate EFI.
12348
884ade56
VS
123492010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12350
12351 Video multiboot support.
12352
12353 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
12354 New prototype.
12355 * include/multiboot.h: Resynced with multiboot specification.
12356 * include/multiboot2.h: Likewise.
12357 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
12358 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
12359 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
12360 (HAS_VGA_TEXT): Likewise.
12361 (accepts_video): New variable.
12362 (grub_multiboot_set_accepts_video): New function.
12363 (grub_multiboot_get_mbi_size): Account for video structures.
12364 (set_video_mode): New function.
12365 (retrieve_video_parameters): Likewise.
12366 (grub_multiboot_make_mbi): Fill video fields.
12367
0d90e8a6
VS
123682010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 Video driver ids.
12371
12372 * include/grub/video.h (grub_video_driver_id): New type.
12373 (grub_video_adapter): New member 'id'. All users updated.
12374 (grub_video_get_driver_id): New proto.
12375 * video/video.c (grub_video_get_driver_id): New function.
12376
5c71db1b 123772010-01-14 Carles Pina i Estany <carles@pina.cat>
12378
12379 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
12380 `var=val'.
12381
cca15b52 123822010-01-14 Carles Pina i Estany <carles@pina.cat>
12383
12384 * normal/cmdline.c (print_completion): Gettextizze.
12385
c586fbb2 123862001-01-14 Carles Pina i Estany <carles@pina.cat>
12387
12388 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
12389
ba2f6848 123902010-01-14 Carles Pina i Estany <carles@pina.cat>
12391
12392 * gettext/gettext.c (grub_gettext_translate): Push and pop
12393 grub_errno.
12394 (grub_gettext_delete_list): Change comment style.
12395 * kern/err.c (grub_error): Gettextizze.
12396 (grub_fatal): Gettextizze.
12397
0a46429a
RM
123982010-01-14 Robert Millan <rmh.grub@aybabtu.com>
12399
12400 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
12401 (grub_linux16_real_boot): ... this.
12402 * kern/i386/loader.S: Likewise.
12403 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
12404 (grub_linux16_boot): New function. Switches to text mode and calls
12405 grub_linux16_real_boot().
12406
12407 * loader/i386/bsd.c: Include `<grub/video.h>'.
12408 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
12409 text mode before calling grub_unix_real_boot().
12410
12411 * loader/i386/multiboot.c: Include `<grub/video.h>'.
12412 (grub_multiboot_boot): Switch to text mode before calling
12413 grub_relocator32_boot().
12414
12415 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
12416 (grub_chainloader_boot): Switch to text mode before calling
12417 grub_chainloader_real_boot().
12418
d6f93a66
RM
124192010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
124202010-01-05 Colin Watson <cjwatson@ubuntu.com>
12421
12422 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
12423 non-empty value.
12424
124252010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
124262010-01-05 Colin Watson <cjwatson@ubuntu.com>
12427
12428 * util/grub.d/00_header.in: Define a "savedefault" function for use
12429 in menu entries.
12430 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
12431
124322010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
124332010-01-05 Colin Watson <cjwatson@ubuntu.com>
12434
12435 * util/grub-mkconfig_lib.in (save_default_entry): Only set
12436 saved_entry if boot_once is unset.
12437 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
12438 previous saved entry (i.e. grub-reboot).
12439
124402009-12-08 Colin Watson <cjwatson@ubuntu.com>
12441
12442 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
12443
124442009-12-08 Colin Watson <cjwatson@ubuntu.com>
12445
12446 * util/grub.d/00_header.in: Use `set var=val' rather than plain
12447 `var=val'.
12448 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
12449
124502009-12-08 Colin Watson <cjwatson@ubuntu.com>
12451
12452 * util/grub-reboot.in: Fix --version output.
12453 * util/grub-set-default.in: Likewise.
12454
124552009-12-08 Colin Watson <cjwatson@ubuntu.com>
12456
12457 * util/grub.d/00_header.in: Silently ignore zero-sized environment
12458 blocks.
12459
124602009-12-08 Colin Watson <cjwatson@ubuntu.com>
12461
12462 * util/grub.d/00_header.in: Quote the value assigned to `default',
12463 in case it contains spaces.
12464
124652009-12-08 Colin Watson <cjwatson@ubuntu.com>
12466
12467 * util/grub.d/30_os-prober.in: Fix merge error that moved a
12468 `save_default_entry' call from the macosx case to the linux case.
12469
124702009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
124712009-10-25 Colin Watson <cjwatson@ubuntu.com>
12472
12473 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
12474 in `chosen' environment variable.
12475 * normal/menu_text.c (get_entry_number): Check if the variable
12476 matches the title of a menu entry.
12477 (run_menu): Pass menu to get_entry_number.
12478
12479 * util/grub-reboot.in: New file.
12480 * util/grub-set-default.in: New file.
12481 * conf/common.rmk (grub-reboot): New utility.
12482 (grub-set-default): New utility.
12483
12484 * util/grub-mkconfig_lib.in (save_default_entry): New function.
12485 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
12486 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
12487 move it to `saved_entry' for the next boot. Load environment on
12488 initialisation.
12489 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
12490 * util/grub.d/10_hurd.in: Likewise.
12491 * util/grub.d/10_linux.in (linux_entry): Likewise.
12492 * util/grub.d/10_windows.in: Likewise.
12493 * util/grub.d/30_os-prober.in: Likewise.
12494
12495 * util/grub-install.in: Create environment block.
12496 * util/i386/efi/grub-install.in: Likewise.
12497 * util/ieee1275/grub-install.in: Likewise.
12498 * util/sparc64/ieee1275/grub-install.in: Likewise.
12499
0934d184
BC
125002010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
12501
12502 Unit testing framework for GRUB.
12503
12504 * Makefile.in: Test framework build rules for 'make check'.
12505 * conf/tests.rmk: Build rules for individual tests and framework.
12506
12507 * include/grub/test.h: Header file for whitebox tests.
12508 * tests/lib/functional_test.c: Framework support for whitebox
12509 functional tests.
12510 * tests/lib/test.c: Common whitebox testing code for unit and
12511 functional tests.
12512 * tests/lib/unit_test.c: Framework support for whitebox unit
12513 tests.
12514
12515 * tests/util/grub-shell-tester.in: Support utility for grub-script
12516 tests.
12517 * tests/util/grub-shell.in: Utility to execute grub-script
12518 commands in a Qemu instance.
12519
12520 * tests/example_functional_test.c: Example whitebox functional
12521 test.
12522 * tests/example_grub_script_test.in: Example grub-script test.
12523 * tests/example_scripted_test.in: Example scripted test.
12524 * tests/example_unit_test.c: Example whitebox unit test.
12525
9c4ffeeb
VS
125262010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12527
12528 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
12529 Add loader/i386/multiboot_mbi.c.
12530 (multiboot2_mod_SOURCES): Likewise.
12531 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
12532 (multiboot2_mod_SOURCES): Likewise.
12533 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
12534 (grub_multiboot_make_mbi): Likewise.
12535 (grub_multiboot_free_mbi): Likewise.
12536 (grub_multiboot_init_mbi): Likewise.
12537 (grub_multiboot_add_module): Likewise.
12538 (grub_multiboot_set_bootdev): Likewise.
12539 * loader/i386/multiboot.c (mbi): Removed.
12540 (mbi_dest): Likewise.
12541 (alloc_mbi): New variable.
12542 (grub_multiboot_payload_size): Removed. All users updated.
12543 (grub_multiboot_pure_size): New variable.
12544 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
12545 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
12546 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
12547 (grub_fill_multiboot_mmap): Likewise.
12548 (grub_multiboot_get_bootdev): Likewise.
12549 (grub_multiboot): Use multiboot_mbi functions.
12550 * loader/i386/multiboot_mbi.c: New file.
12551
17383dfe
VS
125522010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12553
12554 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
12555 it would result in module crash.
12556
c1f28820
VS
125572010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12558
12559 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
12560 (grub_ofconsole_getwh): Split to ...
12561 (grub_ofconsole_getwh): ... this.
12562 (grub_ofconsole_dimensions): ...and this.
12563 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
12564
58655a16
RM
125652010-01-13 Robert Millan <rmh.grub@aybabtu.com>
12566
12567 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
12568
10891398
VS
125692010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12570
12571 * loader/i386/pc/multiboot2.c: Removed stalled file.
12572
0b8a223c
VS
125732010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12574
12575 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
12576 Reported by: Grégoire Sutre
12577
92ab12b0
RM
125782010-01-11 Robert Millan <rmh.grub@aybabtu.com>
12579
12580 * util/misc.c (canonicalize_file_name): New function.
12581 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
12582 instead of realpath().
12583
a788afb6
CW
125842010-01-11 Colin Watson <cjwatson@ubuntu.com>
12585
12586 * util/grub-install.in (usage): Clarify meaning of --root-directory,
12587 and make it clearer that it's optional. Based on confusion
12588 witnessed on IRC.
12589
ffa8e3d2
VS
125902010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12591
12592 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
12593 in premature implicit newline.
12594
e9060a9d
VS
125952010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12596
12597 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
12598 which resulted in garbled command line at the end of screen.
12599
f0d0c0b7
RM
126002010-01-10 Robert Millan <rmh.grub@aybabtu.com>
12601
12602 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
12603 initialization with similar approach as with other Linux loaders.
12604
0e60bae7
RM
126052010-01-10 Robert Millan <rmh.grub@aybabtu.com>
12606
12607 Fix i386-ieee1275 build.
12608
12609 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
12610 and grub_term_height() for video_{width,height} initialization.
12611
126122010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
12613
12614 Fix grub-emu build.
12615
12616 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
12617
cdb3f378
RM
126182010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
126192010-01-09 Robert Millan <rmh.grub@aybabtu.com>
12620
12621 Support for multiple terminals.
12622
12623 * Makefile.in (pkglib_DATA): terminal.lst.
12624 (terminal.lst): New target.
12625 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
12626 (GRUB_MOD_INIT(handler)): Likewise.
12627 (GRUB_MOD_FINI(handler)): Likewise.
12628 * commands/help.c (grub_cmd_help): Handle multiple terminals.
12629 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
12630 * commands/sleep.c (do_print): Use grub_term_restore_pos.
12631 (grub_cmd_sleep): Use grub_term_save_pos.
12632 * commands/terminal.c: New file.
12633 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
12634 commands/terminal.c and lib/charset.c.
12635 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
12636 (pkglib_MODULES): Add terminal.mod.
12637 (terminal_mod_SOURCES): New variable.
12638 (terminal_mod_CFLAGS): Likewise.
12639 (terminal_mod_LDFLAGS): Likewise.
12640 * genhandlerlist.sh: Don't handle terminals.
12641 * genmk.rb: Generate terminal-*.lst.
12642 * genterminallist.sh: New file.
12643 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
12644 (grub_is_valid_utf8): Likewise.
12645 (grub_utf8_to_ucs4_alloc): Likewise.
12646 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
12647 (grub_menu_register_viewer): Changed argument.
12648 (grub_menu_try_text): New proto.
12649 (grub_gfxmenu_try_hook): New declaration.
12650 * include/grub/normal.h (grub_normal_exit_level): New declaration.
12651 (grub_menu_init_page): Additional argument term.
12652 (grub_normal_init_page): Likewise.
12653 (grub_cmdline_get): Arguments simplified.
12654 (grub_utf8_to_ucs4_alloc): Removed.
12655 (grub_print_ucs4): Additional argument term.
12656 (grub_getstringwidth): Likewise.
12657 (grub_print_message_indented): Likewise.
12658 (grub_menu_text_register_instances): New proto.
12659 (grub_show_menu): Likewise.
12660 (read_terminal_list): Likewise.
12661 (grub_set_more): Likewise.
12662 * include/grub/parser.h: Include handler.h.
12663 * include/grub/reader.h: Rewritten.
12664 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
12665 (GRUB_TERM_WIDTH): Changed to function.
12666 (GRUB_TERM_HEIGHT): Likewise.
12667 (GRUB_TERM_BORDER_WIDTH): Likewise.
12668 (GRUB_TERM_BORDER_HEIGHT): Likewise.
12669 (GRUB_TERM_NUM_ENTRIES): Likewise.
12670 (GRUB_TERM_ENTRY_WIDTH): Likewise.
12671 (GRUB_TERM_CURSOR_X): Likewise.
12672 (grub_term_input_class): Likewise.
12673 (grub_term_output_class): Likewise.
12674 (grub_term_outputs_disabled): New declaration.
12675 (grub_term_inputs_disabled): Likewise.
12676 (grub_term_outputs): Likewise.
12677 (grub_term_inputs): Likewise.
12678 (grub_term_register_input): Rewritten.
12679 (grub_term_register_output): Likewise.
12680 (grub_term_unregister_input): Likewise.
12681 (grub_term_unregister_output): Likewise.
12682 (FOR_ACTIVE_TERM_INPUTS): New macro.
12683 (FOR_DISABLED_TERM_INPUTS): Likewise.
12684 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
12685 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
12686 * include/grub/terminfo.h: Add oterm argument to all protypes.
12687 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
12688 Use grub_rescue_run.
12689 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
12690 All users updated.
12691 * kern/reader.c: Removed. All users updated.
12692 * kern/rescue_reader.c (grub_rescue_init): Removed.
12693 (grub_rescue_reader): Likewise.
12694 (grub_register_rescue_reader): Likewise.
12695 (grub_rescue_run): New function based on kern/reader.c.
12696 * kern/term.c: Adapted for multiterm.
12697 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
12698 (grub_is_valid_utf8): Likewise.
12699 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
12700 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
12701 right terminal.
12702 * loader/i386/linux.c (grub_linux_boot): Likewise.
12703 * normal/auth.c (grub_username_get): New function.
12704 (grub_auth_check_authentication): Use grub_username_get.
12705 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
12706 * normal/color.c: Adapt for multiterm.
12707 * normal/main.c (read_config_file): Don't use grub_reader_loop.
12708 (grub_normal_init_page): Additional argument term.
12709 (read_lists): Call read_terminal_lists.
12710 (grub_enter_normal_mode): Call grub_cmdline_run.
12711 Handle grub_normal_exit_level.
12712 (grub_cmd_normal): Make reentrant.
12713 (grub_cmd_normal_exit): New function.
12714 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
12715 * normal/menu.c: Adapt for multiterm.
12716 * normal/menu_entry.c: Likewise.
12717 * normal/menu_text.c: Likewise.
12718 * normal/menu_viewer.c: Removed. All users updated.
12719 * normal/term.c: New file.
12720 * util/console.c: Change order of includes to workaround a bug in
12721 ncurses headers.
12722 * term/terminfo.c: New argument oterm on all exported functions.
12723 All users updated.
12724 * util/grub-editenv.c (grub_term_input_class): Removed.
12725 (grub_term_output_class): Likewise.
12726
1a064917
RM
127272010-01-09 Robert Millan <rmh.grub@aybabtu.com>
12728
12729 Make loader output a bit more user-friendly.
12730
12731 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
12732 is being loaded. Likewise for the Hurd.
12733
12734 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
12735 that kernel of FreeBSD ${version} is being loaded.
12736
12737 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
12738 grub_dprintf().
12739 (grub_cmd_initrd): Likewise.
12740 * util/grub.d/10_linux.in (linux_entry): Print message indicating
12741 that Linux ${version} is being loaded. Likewise for initrd.
12742
5ce0a83a 127432010-01-09 Carles Pina i Estany <carles@pina.cat>
12744
12745 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
12746
809bbfeb 127472010-01-08 Carles Pina i Estany <carles@pina.cat>
12748
12749 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
12750 (GRUB_MOD_INIT): Gettextizze.
12751 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
12752 (GRUB_MOD_INIT): Gettextizze.
12753 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
12754 (grub_cmd_linux): Capitalise Linux.
12755 (GRUB_MOD_INIT): Gettextizze.
12756 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
12757 (grub_cmd_linux): Capitalise Linux.
12758 (GRUB_MOD_INIT): Gettextizze.
12759 * loader/i386/linux.c: Include `<grub/i18n.h>'.
12760 (grub_cmd_linux): Capitalise Linux.
12761 (GRUB_MOD_INIT): Gettextizze.
12762 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
12763 (GRUB_MOD_INIT): Gettextizze.
12764 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
12765 (grub_cmd_linux): Capitalise Linux.
12766 (GRUB_MOD_INIT): Gettextizze.
12767 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
12768 (grub_cpu_xnu_init): Gettextizze.
12769 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
12770 (GRUB_MOD_INIT): Gettextizze.
12771 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
12772 (GRUB_MOD_INIT): Gettextizze.
12773 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
12774 (grub_linux_load64): Capitalise Linux.
12775 (GRUB_MOD_INIT): Gettextizze.
12776 * loader/xnu.c: Include `<grub/i18n.h>'.
12777 (GRUB_MOD_INIT): Gettextizze.
12778 * po/POTFILES: Add `loader/efi/appleloader.c',
12779 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
12780 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
12781 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
12782 `loader/i386/xnu.c', `loader/multiboot_loader.c',
12783 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
12784 and `loader/xnu.c'.
12785
b394b2ca
RM
127862010-01-08 Robert Millan <rmh.grub@aybabtu.com>
12787
12788 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
12789
127902010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
12791
12792 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
12793 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
12794 * util/mkisofs/mkisofs.c (main): Readjust --version output.
12795
bc8b32b3
RM
127962010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12797
12798 Reset Multiboot 2 support. New loader implements the draft in
12799 /branches/multiboot2 and shares as much code as possible with the
12800 production Multiboot 1 implementation.
12801
12802 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
12803 * loader/multiboot2.c: Likewise.
12804 * loader/i386/multiboot_helper.S: Likewise.
12805 * include/multiboot2.h: Replace with latest version from the draft
12806 in /branches/multiboot2.
12807
12808 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
12809 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
12810 and `loader/multiboot2.c'.
12811 (pkglib_MODULES): Add `multiboot2.mod'.
12812 (multiboot2_mod_SOURCES): New variable.
12813 (multiboot2_mod_LDFLAGS): Likewise.
12814 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
12815
12816 * conf/i386-pc.rmk: Likewise.
12817
12818 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12819 (multiboot_mod_SOURCES): Remove variable.
12820 (multiboot_mod_LDFLAGS): Likewise.
12821 (multiboot_mod_CFLAGS): Likewise.
12822
12823 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
12824 `<multiboot2.h>' instead of `<multiboot.h>'.
12825 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
12826 (MULTIBOOT_HEADER_MAGIC): New macros.
12827
12828 * loader/multiboot_loader.c (module_version_status): Remove variable.
12829 (find_multi_boot2_header): Remove function.
12830 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
12831 logic. Always check for the Multiboot version we're compiling for.
12832 (grub_cmd_module_loader): Likewise.
12833 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
12834 command instead of `multiboot'.
12835
5d2c52b8
RM
128362010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12837
12838 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
12839 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
12840 all users.
12841
53108d92
RM
128422010-01-07 Robert Millan <rmh.grub@aybabtu.com>
128432010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 Fix breakage introduced with previous commit.
12846
12847 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
12848 commands.
12849 * normal/handler.c (read_handler_list): Revert part of previous commit
12850 affecting this file.
12851 * normal/main.c (read_lists): Move read_handler_list() call back to ...
12852 (grub_normal_execute): ... here.
12853
e2e936b2
RM
128542010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12855
12856 Merge prefix-redefinition-fix branch.
12857
12858 * normal/autofs.c (read_fs_list): Make function capable of being
12859 run multiple times, gracefuly replacing the previous data
12860 structures.
12861 * normal/dyncmd.c (read_command_list): Likewise.
12862 * normal/handler.c (read_handler_list): Likewise.
12863 * normal/main.c (read_lists): New function. Calls all the
12864 list reading functions.
12865 (grub_normal_execute): Use read_lists() instead of calling all
12866 list reading functions explicitly. Register read_lists() as a
12867 variable hook attached to ${prefix}.
12868
607a3701
VS
128692010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12870
12871 Merge crypto branch.
12872
12873 * Makefile.in (pkglib_DATA): Add crypto.lst.
12874 (crypto.lst): New target.
12875 * commands/hashsum.c: New file.
12876 * commands/password.c (check_password): Use grub_crypto_memcmp.
12877 * commands/password_pbkdf2.c: New file.
12878 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
12879 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
12880 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
12881 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
12882 -I$(srcdir)/lib/libgcrypt_wrap.
12883 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
12884 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
12885 password_pbkdf2.mod.
12886 (crypto_mod_SOURCES): New variable.
12887 (crypto_mod_CFLAGS): Likewise.
12888 (crypto_mod_LDFLAGS): Likewise.
12889 (hashsum_mod_SOURCES): New variable.
12890 (hashsum_mod_CFLAGS): Likewise.
12891 (hashsum_mod_LDFLAGS): Likewise.
12892 (pbkdf2_mod_SOURCES): New variable.
12893 (pbkdf2_mod_CFLAGS): Likewise.
12894 (pbkdf2_mod_LDFLAGS): Likewise.
12895 (password_pbkdf2_mod_SOURCES): New variable.
12896 (password_pbkdf2_mod_CFLAGS): Likewise.
12897 (password_pbkdf2_mod_LDFLAGS): Likewise.
12898 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
12899 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
12900 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
12901 Include conf/gcry.rmk.
12902 * include/grub/auth.h: Rewritten.
12903 * include/grub/crypto.h: New file.
12904 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
12905 * include/grub/normal.h (read_crypto_list): New prototype.
12906 * lib/crypto.c: New file.
12907 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12908 * lib/pbkdf2.c: Likewise.
12909 * normal/auth.c (grub_auth_strcmp): Removed.
12910 (grub_iswordseparator): Likewise.
12911 (grub_auth_strword): Likewise.
12912 (is_authenticated): Use grub_strword.
12913 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
12914 and grub_strword. Pass entered password to authentication callback.
12915 * normal/crypto.c: New file.
12916 * normal/main.c: Call read_crypto_list.
12917 * util/grub-mkpasswd-pbkdf2.c: New file.
12918 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
12919
42841caa
VS
129202010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
12921
12922 Fix descent and ascent calculation.
12923
12924 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
12925 (options): New option "asce".
12926 (usage): Likewise.
12927 (add_char): Ignore invalid glyphs for descent calculation.
12928 Calculate ascent from actual content.
12929 (print_glyphs): Use 'asce'.
12930 (write_font): Likewise. Allow ascent override.
12931 (main): Handle "asce" option.
12932
e7730de7 129332010-01-06 Carles Pina i Estany <carles@pina.cat>
12934
12935 * kern/err.c: Include `<grub/i18n.h>'.
12936 (grub_print_error): Add full stop. Gettextizze.
12937 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
12938 (grub_bsd_load_elf): Capitalise ELF.
12939 (grub_cmd_freebsd_loadenv): Add `s' in error string.
12940 (grub_cmd_freebsd_module): Likewise.
12941 (grub_cmd_freebsd_module_elf): Likewise.
12942 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
12943
40e3a41f 129442010-01-06 Carles Pina i Estany <carles@pina.cat>
12945
12946 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
12947 * commands/search_file.c (HELP_MESSAGE): New macro.
12948 * commands/search_label.c (HELP_MESSAGE): Likewise.
12949 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
12950 * po/POTFILES: Add `commands/search_file.c',
12951 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
12952 `commands/search.c'.
12953
83507e68
RM
129542010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12955
12956 * config.rpath: Update from Gnulib.
12957
465c787b
YB
129582010-01-05 Yves Blusseau <blusseau@zetam.org>
12959
12960 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
12961
6581dd3a
YB
129622010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
12963
12964 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
12965
3bff18c5
CW
129662010-01-05 Colin Watson <cjwatson@ubuntu.com>
12967
12968 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
12969 arguments to fread so that we get a return value in bytes, rather
12970 than something that will normally be rounded down to 0.
12971 Adjust error handling to avoid producing garbage when size_t is not
12972 the same size as long long.
12973
a1368118
CW
129742010-01-05 Colin Watson <cjwatson@ubuntu.com>
12975
12976 * util/mkisofs/write.c (padblock_write): Check return value of
12977 fread.
12978
7c302978
RM
129792010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12980
12981 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
12982 floppy images now.
12983
12984 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
12985
e33ace06
RM
129862010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12987
12988 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
12989 instead of manual alignment.
12990 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
12991 verbose). Avoid attempts to read past end of the device
12992 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
12993 but GRUB_DISK_CACHE_SIZE may exceed that).
12994
4b856776
RM
129952010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12996
12997 * commands/crc.c (grub_cmd_crc): Abort on read errors.
12998 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
12999 it to upper layer.
13000
52c2d97f
VS
130012010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13002
13003 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
13004 New constant.
13005 (grub_efi_piwg_device_path): New structure
13006 (grub_efi_piwg_device_path_t): New type.
13007 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
13008 (devpath_1): Transform to a structure. All users updated.
13009 (devpath_2): Likewise.
13010 (devpath_3): Likewise.
13011 (devpath_4): Likewise.
13012 (devpath_5): Likewise.
13013
98ff6a54
VS
130142010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13015
13016 * loader/efi/appleloader.c: Restored. Update all users.
13017
3a73dcb6
RM
130182010-01-03 Robert Millan <rmh.grub@aybabtu.com>
13019
13020 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
13021
13022 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
13023 (struct boot_blocklist): Move from here ...
13024 * include/grub/i386/pc/boot.h [ASM_FILE]
13025 (struct grub_boot_blocklist): ... to here. Update all users.
13026 (setup): Only initialize `start' member of `first_block'
13027 structure. Add assert() calls to verify the other members.
13028
13029 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
13030 (generate_image): Fix broken blocklist length initialization.
13031 Add assert() call to verify blocklist `segment' field.
13032
ab0eeb0c
RM
130332010-01-03 Robert Millan <rmh.grub@aybabtu.com>
13034
13035 * loader/efi/appleloader.c: Remove. Update all users.
13036
58bc8bd5
RM
130372010-01-03 Robert Millan <rmh.grub@aybabtu.com>
13038
13039 * boot/i386/pc/boot.S: Update copyright year.
13040 * boot/i386/pc/cdboot.S: Likewise.
13041 * boot/i386/pc/diskboot.S: Likewise.
13042 * boot/i386/pc/lnxboot.S: Likewise.
13043 * boot/i386/pc/pxeboot.S: Likewise.
13044 * bus/pci.c: Likewise.
13045 * commands/cmp.c: Likewise.
13046 * commands/help.c: Likewise.
13047 * commands/hexdump.c: Likewise.
13048 * commands/i386/pc/halt.c: Likewise.
13049 * commands/i386/pc/play.c: Likewise.
13050 * commands/i386/pc/vbeinfo.c: Likewise.
13051 * commands/ls.c: Likewise.
13052 * commands/test.c: Likewise.
13053 * disk/dmraid_nvidia.c: Likewise.
13054 * disk/i386/pc/biosdisk.c: Likewise.
13055 * disk/ieee1275/nand.c: Likewise.
13056 * disk/ieee1275/ofdisk.c: Likewise.
13057 * disk/lvm.c: Likewise.
13058 * disk/raid.c: Likewise.
13059 * disk/raid6_recover.c: Likewise.
13060 * disk/scsi.c: Likewise.
13061 * fs/affs.c: Likewise.
13062 * fs/cpio.c: Likewise.
13063 * fs/ext2.c: Likewise.
13064 * fs/hfs.c: Likewise.
13065 * fs/iso9660.c: Likewise.
13066 * fs/ntfs.c: Likewise.
13067 * fs/sfs.c: Likewise.
13068 * fs/udf.c: Likewise.
13069 * fs/ufs.c: Likewise.
13070 * fs/xfs.c: Likewise.
13071 * gencmdlist.sh: Likewise.
13072 * genmk.rb: Likewise.
13073 * include/grub/disk.h: Likewise.
13074 * include/grub/efi/api.h: Likewise.
13075 * include/grub/efi/efi.h: Likewise.
13076 * include/grub/efi/pe32.h: Likewise.
13077 * include/grub/elf.h: Likewise.
13078 * include/grub/fs.h: Likewise.
13079 * include/grub/i386/at_keyboard.h: Likewise.
13080 * include/grub/i386/pc/memory.h: Likewise.
13081 * include/grub/i386/pc/vbe.h: Likewise.
13082 * include/grub/i386/pci.h: Likewise.
13083 * include/grub/i386/tsc.h: Likewise.
13084 * include/grub/ieee1275/ieee1275.h: Likewise.
13085 * include/grub/ntfs.h: Likewise.
13086 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
13087 * include/grub/sparc64/libgcc.h: Likewise.
13088 * include/grub/symbol.h: Likewise.
13089 * include/grub/types.h: Likewise.
13090 * include/multiboot2.h: Likewise.
13091 * io/gzio.c: Likewise.
13092 * kern/device.c: Likewise.
13093 * kern/disk.c: Likewise.
13094 * kern/efi/efi.c: Likewise.
13095 * kern/efi/mm.c: Likewise.
13096 * kern/elf.c: Likewise.
13097 * kern/file.c: Likewise.
13098 * kern/i386/dl.c: Likewise.
13099 * kern/i386/pc/init.c: Likewise.
13100 * kern/i386/pc/startup.S: Likewise.
13101 * kern/ieee1275/ieee1275.c: Likewise.
13102 * kern/ieee1275/init.c: Likewise.
13103 * kern/main.c: Likewise.
13104 * kern/mm.c: Likewise.
13105 * kern/powerpc/dl.c: Likewise.
13106 * kern/sparc64/dl.c: Likewise.
13107 * kern/x86_64/dl.c: Likewise.
13108 * lib/hexdump.c: Likewise.
13109 * loader/efi/appleloader.c: Likewise.
13110 * loader/i386/ieee1275/linux.c: Likewise.
13111 * loader/i386/pc/chainloader.c: Likewise.
13112 * loader/i386/pc/linux.c: Likewise.
13113 * loader/i386/pc/multiboot2.c: Likewise.
13114 * loader/ieee1275/multiboot2.c: Likewise.
13115 * loader/multiboot2.c: Likewise.
13116 * loader/multiboot_loader.c: Likewise.
13117 * loader/powerpc/ieee1275/linux.c: Likewise.
13118 * normal/completion.c: Likewise.
13119 * normal/menu_entry.c: Likewise.
13120 * partmap/apple.c: Likewise.
13121 * util/grub.d/10_hurd.in: Likewise.
13122 * util/hostfs.c: Likewise.
13123 * video/readers/png.c: Likewise.
13124
e2d70b5c
CW
131252010-01-03 Colin Watson <cjwatson@ubuntu.com>
13126
13127 * include/grub/misc.h (GNUC_PREREQ): New macro.
13128 (ATTRIBUTE_ERROR): New macro.
13129 * include/grub/list.h (grub_bad_type_cast_real): Use
13130 ATTRIBUTE_ERROR.
13131
a173283f 131322010-01-03 Carles Pina i Estany <carles@pina.cat>
13133
13134 * normal/menu_text.c (print_message): Change messages.
13135
7fa7ff74 131362010-01-03 Carles Pina i Estany <carles@pina.cat>
13137
13138 * normal/menu_entry.c (store_completion): Gettextizze.
13139
136d24f6 131402010-01-03 Carles Pina i Estany <carles@pina.cat>
13141
13142 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
13143
f936862e 131442010-01-03 Carles Pina i Estany <carles@pina.cat>
13145
13146 * po/POTFILES: Sort correctly.
13147
29c44ad1 131482010-01-03 Carles Pina i Estany <carles@pina.cat>
13149
13150 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
13151 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
13152 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
13153 full stop.
13154 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
13155 summary. Gettextizze the strings.
13156 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
13157 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
13158 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
13159 full stop.
13160 (GRUB_MOD_INIT): Remove command name from summary.
13161 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
13162 summary.
13163 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
13164 * term/i386/pc/serial.c (options): Add full stops.
13165 (GRUB_MOD_INIT): Remove command name from the summary.
13166
77a79592 131672010-01-03 Carles Pina i Estany <carles@pina.cat>
13168
13169 * commands/acpi.c: Gettextizze help strings and/or options. Include
13170 `grub/i18n.h' if needed.
13171 * commands/blocklist.c: Likewise.
13172 * commands/boot.c: Likewise.
13173 * commands/cat.c: Likewise.
13174 * commands/cmp.c: Likewise.
13175 * commands/configfile.c: Likewise.
13176 * commands/crc.c: Likewise.
13177 * commands/date.c: Likewise.
13178 * commands/echo.c: Likewise.
13179 * commands/efi/fixvideo.c: Likewise.
13180 * commands/efi/loadbios.c: Likewise.
13181 * commands/gptsync.c: Likewise.
13182 * commands/halt.c: Likewise.
13183 * commands/handler.c: Likewise.
13184 * commands/hdparm.c: Likewise.
13185 * commands/hexdump.c: Likewise.
13186 * commands/i386/cpuid.c: Likewise.
13187 * commands/i386/pc/drivemap.c: Likewise.
13188 * commands/i386/pc/halt.c: Likewise.
13189 * commands/i386/pc/pxecmd.c: Likewise.
13190 * commands/i386/pc/vbeinfo.c: Likewise.
13191 * commands/i386/pc/vbetest.c: Likewise.
13192 * commands/ieee1275/suspend.c: Likewise.
13193 * commands/keystatus.c: Likewise.
13194 * commands/loadenv.c: Likewise.
13195 * commands/ls.c: Likewise.
13196 * commands/lsmmap.c: Likewise.
13197 * commands/lspci.c: Likewise.
13198 * commands/memrw.c: Likewise.
13199 * commands/minicmd.c: Likewise.
13200 * commands/parttool.c: Likewise.
13201 * commands/password.c: Likewise.
13202 * commands/probe.c: Likewise.
13203 * commands/read.c: Likewise.
13204 * commands/reboot.c: Likewise.
13205 * commands/search.c: Likewise.
13206 * commands/sleep.c: Likewise.
13207 * commands/test.c: Likewise.
13208 * commands/true.c: Likewise.
13209 * commands/usbtest.c: Likewise.
13210 * commands/videotest.c: Likewise.
13211 * commands/xnu_uuid.c: Likewise.
13212 * disk/loopback.c: Likewise.
13213 * hello/hello.c: Likewise.
13214 * loader/i386/bsd.c: Likewise.
13215 * term/i386/pc/serial.c: Likewise.
13216 * po/POTFILES: Add new files.
13217
da8d5c53
CW
132182010-01-02 Colin Watson <cjwatson@ubuntu.com>
13219
13220 * term/i386/pc/at_keyboard.c
13221 (keyboard_controller_wait_untill_ready): Rename to ...
13222 (keyboard_controller_wait_until_ready): ... this. Update all users.
13223
33937904 132242010-01-01 Carles Pina i Estany <carles@pina.cat>
13225
13226 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
13227 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
13228 string using string width.
13229 * normal/menu_text.c (grub_print_message_indented): Use
13230 grub_print_spaces and not print_spaces.
13231 (print_timeout): Likewise.
13232 (print_spaces): Move to...
13233 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
13234
3fd3b8d8
RM
132352010-01-01 Robert Millan <rmh.grub@aybabtu.com>
13236
13237 Import from Gnulib.
13238
13239 * gnulib/getdelim.c: New file.
13240 * gnulib/getline.c: Likewise.
13241
33433555
VS
132422009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
13243
13244 * include/grub/list.h (grub_assert_fail): Removed.
13245 (grub_bad_type_cast_real): New function.
13246 (grub_bad_type_cast): New macro.
13247 (GRUB_AS_LIST): Use grub_bad_type_cast.
13248 (GRUB_AS_LIST_P): Likewise.
e44721e8 13249 (GRUB_AS_NAMED_LIST): Likewise.
33433555 13250 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 13251 (GRUB_AS_PRIO_LIST): Likewise.
33433555 13252 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 13253 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 13254
f5a51306
VS
132552009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
13256
13257 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
13258 Fix syntax error.
13259
90d1e879
RM
132602009-12-29 Robert Millan <rmh.grub@aybabtu.com>
13261
13262 * configure.ac: Check for TARGET_CFLAGS initialization before we
13263 initialize it ourselves (sigh).
13264 Move a few modifications to TARGET_CFLAGS to be unconditional
13265 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
13266 eh_frame)
13267
13268 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
13269 * term/i386/pc/at_keyboard.c
13270 (keyboard_controller_wait_untill_ready): Likewise.
13271 (keyboard_controller_led): Rename `led_status' paramter to avoid
13272 name conflict.
13273
465b5a81 132742009-12-28 Carles Pina i Estany <carles@pina.cat>
13275
13276 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
13277 quotes.
13278
c181849b
VS
132792009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
13282
9c8739a4
VS
132832009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13284
13285 * normal/menu_text.c (grub_print_message_indented): Prevent
13286 past-the-end-of-array dereference.
13287
3e74249c
VS
132882009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13289
13290 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
13291 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
13292
64fd18ed 132932009-12-27 Carles Pina i Estany <carles@pina.cat>
13294
13295 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
13296 * normal/main.c (grub_normal_read_line): Remove a space from the
13297 default prompt.
13298
714af9b9 132992009-12-27 Carles Pina i Estany <carles@pina.cat>
13300
13301 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
13302 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
13303 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
13304 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
13305 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
13306 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
13307 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
13308
82f3e412 133092009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 13310
13311 * video/readers/jpeg.c (cmd): Declare.
13312 (grub_cmd_jpegtest): Use `grub_command_t' type.
13313 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
13314 Assign to `cmd'.
13315 (GRUB_MOD_FINI): Use `cmd' to unregister.
13316 * video/readers/png.c (cmd): Declare.
13317 (grub_cmd_pngtest): Use `grub_command_t' type.
13318 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
13319 Assign to `cmd'.
13320 (GRUB_MOD_FINI): Use `cmd' to unregister.
13321 * video/readers/tga.c (cmd): Declare.
13322 (grub_cmd_tgatest): Use `grub_command_t' type.
13323 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
13324 Assign to `cmd'.
13325 (GRUB_MOD_FINI): Use `cmd' to unregister.
13326
82f3e412 133272009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 13328
13329 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
13330 stops.
13331 * kern/corecmd.c (grub_register_core_commands): Likewise.
13332 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
13333 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
13334 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
13335 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
13336 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
13337 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
13338 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
13339 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
13340 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
13341 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
13342 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
13343 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
13344 * normal/handler.c (insert_handler): Likewise.
13345 * normal/main.c (GRUB_MOD_INIT): Likewise.
13346 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
13347
fdcdbb66 133482009-12-26 Carles Pina i Estany <carles@pina.cat>
13349
13350 * commands/help.c (grub_cmd_help): Print the command name before the
13351 summary.
13352 (GRUB_MOD_INIT): Remove command name from the summary.
13353 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 13354 string as summary.
fdcdbb66 13355 * lib/arg.c (find_long): Print the command name before the summary.
13356 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
13357 summary.
13358 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
13359 * commands/cat.c (GRUB_MOD_INIT): Likewise.
13360 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
13361 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
13362 * commands/crc.c (GRUB_MOD_INIT): Likewise.
13363 * commands/date.c (GRUB_MOD_INIT): Likewise.
13364 * commands/echo.c (GRUB_MOD_INIT): Likewise.
13365 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
13366 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
13367 * commands/handler.c (GRUB_MOD_INIT): Likewise.
13368 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
13369 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
13370 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
13371 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
13372 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
13373 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
13374 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
13375 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
13376 * commands/ls.c (GRUB_MOD_INIT): Likewise.
13377 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
13378 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
13379 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
13380 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
13381 * commands/password.c (GRUB_MOD_INIT): Likewise.
13382 * commands/probe.c (GRUB_MOD_INIT): Likewise.
13383 * commands/read.c (GRUB_MOD_INIT): Likewise.
13384 * commands/search.c (GRUB_MOD_INIT): Likewise.
13385 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
13386 * commands/test.c (GRUB_MOD_INIT): Likewise.
13387 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
13388 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
13389 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
13390 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
13391 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
13392 * lib/arg.c (GRUB_MOD_INIT): Likewise.
13393 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
13394 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
13395 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
13396 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
13397 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
13398 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
13399 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
13400 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
13401
9c288be2
VS
134022009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13403
13404 Use search command for preliminar UUID search.
13405
13406 * commands/search.c: Split into ...
13407 * commands/search_wrap.c: ...this
13408 * commands/search.c: ...and this.
13409 * commands/search_file.c: New file.
13410 * commands/search_label.c: New file.
13411 * commands/search_uuid.c: New file.
13412 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
13413 Add commands/search_wrap.c, commands/search_file.c,
13414 commands/search_label.c and commands/search_uuid.c.
13415 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
13416 (search_mod_SOURCES): Set to commands/search_wrap.c.
13417 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
13418 search_label.mod.
13419 (search_fs_file_mod_SOURCES): New variable.
13420 (search_fs_file_mod_CFLAGS): Likewise.
13421 (search_fs_file_mod_LDFLAGS): Likewise.
13422 (search_label_mod_SOURCES): Likewise.
13423 (search_label_mod_CFLAGS): Likewise.
13424 (search_label_mod_LDFLAGS): Likewise.
13425 (search_fs_uuid_mod_SOURCES): New variable.
13426 (search_fs_uuid_mod_CFLAGS): Likewise.
13427 (search_fs_uuid_mod_LDFLAGS): Likewise.
13428 (fs_file_mod_SOURCES): Removed.
13429 (fs_file_mod_CFLAGS): Likewise.
13430 (fs_file_mod_LDFLAGS): Likewise.
13431 (fs_uuid_mod_SOURCES): Removed.
13432 (fs_uuid_mod_CFLAGS): Likewise.
13433 (fs_uuid_mod_LDFLAGS): Likewise.
13434 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
13435 Set to util/grub-install.in.
13436 * disk/fs_file.c: Removed.
13437 * disk/fs_uuid.c: Likewise.
13438 * include/grub/search.h: New file.
13439 * util/grub-install.in: Handle sparc64.
13440 Create and use load.cfg.
13441 * util/sparc64/ieee1275/grub-install.in: Removed.
13442
db943399
VS
134432009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13444
13445 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
13446 Ignore return status if CF is cleared.
13447 (grub_biosdisk_get_diskinfo_standard): Likewise.
13448
3fdae612
RM
134492009-12-25 Robert Millan <rmh.grub@aybabtu.com>
13450
13451 * term/i386/pc/at_keyboard.c
13452 (keyboard_controller_wait_untill_ready): New function.
13453 (grub_keyboard_controller_write, grub_keyboard_controller_read)
13454 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
13455 for keyboard polling, rather than duplicate the same loop. This
13456 saves a few bytes in code size.
13457
7ebaa2b4
VS
134582009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13459
13460 Support for (pxe[:server[:gateway]]) syntax and
13461 use environment variable for PXE.
13462
13463 * commands/i386/pc/pxecmd.c (options): Removed.
13464 (print_ip): Removed.
13465 (grub_cmd_pxe): Removed
13466 (grub_cmd_pxe_unload): New function.
13467 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
13468 (grub_pxe_your_ip): Made static.
13469 (grub_pxe_default_server_ip): Likewise.
13470 (grub_pxe_default_gateway_ip): Likewise.
13471 (grub_pxe_blksize): Likewise.
13472 (parse_ip): New function.
13473 (grub_pxe_open): Support server and gateway specification.
13474 (grub_pxe_close): Free disk->data.
13475 (grub_pxefs_open): Use disk->data.
13476 (grub_pxefs_read): Likewise.
13477 (grub_env_write_readonly): New function.
13478 (set_mac_env): Likewise.
13479 (set_env_limn_ro): Likewise.
13480 (parse_dhcp_vendor): Likewise.
13481 (grub_pxe_detect): Set the environment variables.
13482 (set_ip_env): New function.
13483 (write_ip_env): Likewise.
13484 (grub_env_write_pxe_default_server): Likewise.
13485 (grub_env_write_pxe_default_gateway): Likewise.
13486 (grub_env_write_pxe_blocksize): Likewise.
13487 (GRUB_MOD_INIT(pxe)): Set environment variables.
13488 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
13489 (grub_pxe_mac_addr_t): ... this. All users updated.
13490 (grub_pxe_your_ip): Removed.
13491 (grub_pxe_server_ip): Likewise.
13492 (grub_pxe_gateway_ip): Likewise.
13493 (grub_pxe_blksize): Likewise.
13494
ec5f98ab 134952009-12-25 Carles Pina i Estany <carles@pina.cat>
13496
13497 * commands/help.c: Include `<grub/i18n.h>'.
13498 (grub_cmd_help): Gettextizze.
13499 (GRUB_MOD_INIT): Likewise.
13500 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
13501 (GRUB_MOD_INIT): Gettextizze.
13502 * commands/search.c: Include `<grub/i18n.h>'.
13503 (options): Gettextizze.
13504 (GRUB_MOD_INIT): Gettextizze.
13505 * lib/arg.c: Include `<grub/i18n.h>'.
13506 (help_options): Gettextizze.
13507 (find_long): Likewise.
13508 (grub_arg_show_help): Likewise.
13509 * normal/dyncmd.c: Include `<grub/i18n.h>'.
13510 (read_command_list): Gettextizze.
13511 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 13512 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 13513
22815526
RM
135142009-12-25 Robert Millan <rmh.grub@aybabtu.com>
13515
13516 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
13517 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
13518 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
13519 (led_status): New variable.
13520 (keyboard_controller_led): New function.
13521 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
13522 update led status for caps lock, num lock and scroll lock.
13523
0ad46fd7
FZ
135242009-12-25 Felix Zielcke <fzielcke@z-51.de>
13525
13526 * util/hostdisk.c (open_device): Fix a comment.
13527
d0e158c2
RM
135282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13529
13530 * util/grub-install.in (host_os): New variable.
13531 * util/i386/efi/grub-install.in (host_os): Likewise.
13532
401c0ad6
RM
135332009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13534
13535 * util/mkisofs/write.c (padblock_write): Abort when given an
13536 excedingly large embed image, instead of silently truncating it.
13537
d14d3370
RM
135382009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13539
13540 * include/multiboot.h: Indentation fixes.
13541
eeed10b4
RM
135422009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13543
13544 * include/multiboot.h (struct multiboot_aout_symbol_table)
13545 (struct multiboot_elf_section_header_table): New structure
13546 declarations (stolen from GRUB Legacy).
13547 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
13548 table information.
13549
13550 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
13551 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
13552 type aliases.
13553
681c70ab
RM
135542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13555
13556 * include/multiboot.h: Make comments src2texi-friendly.
13557
e4d47d8d
RM
135582009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13559
13560 For consistency with [multiboot]/docs/boot.S.
13561
13562 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
13563 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
13564 (MULTIBOOT_MAGIC2): Rename from this ...
13565 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
13566
a0b70bda
RM
135672009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13568
13569 * include/multiboot.h: Remove `<grub/types.h>'.
13570 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
13571 types. Update all users.
13572
61ba42be 135732009-12-25 Carles Pina i Estany <carles@pina.cat>
13574
13575 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
13576 `couldn't' and `can not' by `cannot'.
13577 * commands/i386/pc/drivemap.c: Likewise.
13578 * disk/ata.c: Likewise.
13579 * disk/ieee1275/nand.c: Likewise.
13580 * fs/affs.c: Likewise.
13581 * fs/fat.c: Likewise.
13582 * fs/hfs.c: Likewise.
13583 * fs/hfsplus.c: Likewise.
13584 * fs/iso9660.c: Likewise.
13585 * fs/jfs.c: Likewise.
13586 * fs/minix.c: Likewise.
13587 * fs/reiserfs.c: Likewise.
13588 * fs/sfs.c: Likewise.
13589 * fs/udf.c: Likewise.
13590 * fs/ufs.c: Likewise.
13591 * fs/xfs.c: Likewise.
13592 * loader/powerpc/ieee1275/linux.c: Likewise.
13593 * loader/sparc64/ieee1275/linux.c: Likewise.
13594 * util/grub-probe.c: Likewise.
13595 * util/misc.c: Likewise.
13596
7fd0baee 135972009-12-24 Carles Pina i Estany <carles@pina.cat>
13598
13599 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
13600 grub_errno calls.
13601 * commands/acpi.c: Likewise.
13602 * commands/blocklist.c: Likewise.
13603 * commands/efi/loadbios.c: Likewise.
13604 * commands/i386/pc/drivemap.c: Likewise.
13605 * commands/loadenv.c: Likewise.
13606 * commands/memrw.c: Likewise.
13607 * commands/password.c: Likewise.
13608 * commands/videotest.c: Likewise.
13609 * disk/ata.c: Likewise.
13610 * disk/ata_pthru.c: Likewise.
13611 * disk/dmraid_nvidia.c: Likewise.
13612 * disk/ieee1275/nand.c: Likewise.
13613 * disk/ieee1275/ofdisk.c: Likewise.
13614 * disk/loopback.c: Likewise.
13615 * disk/lvm.c: Likewise.
13616 * disk/mdraid_linux.c: Likewise.
13617 * disk/raid.c: Likewise.
13618 * disk/raid6_recover.c: Likewise.
13619 * disk/scsi.c: Likewise.
13620 * efiemu/main.c: Likewise.
13621 * efiemu/mm.c: Likewise.
13622 * efiemu/pnvram.c: Likewise.
13623 * efiemu/symbols.c: Likewise.
13624 * font/font.c: Likewise.
13625 * fs/cpio.c: Likewise.
13626 * fs/hfsplus.c: Likewise.
13627 * fs/iso9660.c: Likewise.
13628 * fs/jfs.c: Likewise.
13629 * fs/minix.c: Likewise.
13630 * fs/ntfs.c: Likewise.
13631 * fs/ntfscomp.c: Likewise.
13632 * fs/reiserfs.c: Likewise.
13633 * fs/ufs.c: Likewise.
13634 * fs/xfs.c: Likewise.
13635 * gettext/gettext.c: Likewise.
13636 * include/grub/auth.h: Likewise.
13637 * kern/elf.c: Likewise.
13638 * kern/file.c: Likewise.
13639 * kern/ieee1275/init.c: Likewise.
13640 * kern/ieee1275/mmap.c: Likewise.
13641 * kern/ieee1275/openfw.c: Likewise.
13642 * kern/powerpc/dl.c: Likewise.
13643 * kern/sparc64/dl.c: Likewise.
13644 * lib/arg.c: Likewise.
13645 * loader/i386/bsd.c: Likewise.
13646 * loader/i386/bsdXX.c: Likewise.
13647 * loader/i386/efi/linux.c: Likewise.
13648 * loader/i386/efi/xnu.c: Likewise.
13649 * loader/i386/ieee1275/linux.c: Likewise.
13650 * loader/i386/linux.c: Likewise.
13651 * loader/i386/multiboot.c: Likewise.
13652 * loader/i386/pc/linux.c: Likewise.
13653 * loader/i386/pc/multiboot2.c: Likewise.
13654 * loader/i386/xnu.c: Likewise.
13655 * loader/ieee1275/multiboot2.c: Likewise.
13656 * loader/macho.c: Likewise.
13657 * loader/machoXX.c: Likewise.
13658 * loader/multiboot2.c: Likewise.
13659 * loader/multiboot_loader.c: Likewise.
13660 * loader/powerpc/ieee1275/linux.c: Likewise.
13661 * loader/sparc64/ieee1275/linux.c: Likewise.
13662 * loader/xnu.c: Likewise.
13663 * loader/xnu_resume.c: Likewise.
13664 * mmap/i386/pc/mmap.c: Likewise.
13665 * normal/menu_viewer.c: Likewise.
13666 * partmap/acorn.c: Likewise.
13667 * partmap/amiga.c: Likewise.
13668 * partmap/apple.c: Likewise.
13669 * script/lexer.c: Likewise.
13670 * term/gfxterm.c: Likewise.
13671 * term/i386/pc/serial.c: Likewise.
13672 * term/i386/pc/vga.c: Likewise.
13673 * term/ieee1275/ofconsole.c: Likewise.
13674 * term/terminfo.c: Likewise.
13675 * video/bitmap.c: Likewise.
13676 * video/efi_gop.c: Likewise.
13677 * video/efi_uga.c: Likewise.
13678 * video/fb/video_fb.c: Likewise.
13679 * video/i386/pc/vbe.c: Likewise.
13680 * video/readers/tga.c: Likewise.
13681 * video/video.c: Likewise.
13682
0ad46fd7 136832009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
13684
13685 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
13686 * commands/lspci.c: Likewise.
13687 * commands/probe.c: Likewise.
13688 * commands/xnu_uuid.c: Likewise.
13689 * conf/i386-coreboot.rmk: Likewise.
13690 * conf/i386-efi.rmk: Likewise.
13691 * conf/i386-ieee1275.rmk: Likewise.
13692 * conf/i386-pc.rmk: Likewise.
13693 * conf/powerpc-ieee1275.rmk: Likewise.
13694 * conf/sparc64-ieee1275.rmk: Likewise.
13695 * conf/x86_64-efi.rmk: Likewise.
13696 * fs/i386/pc/pxe.c: Likewise.
13697 * gettext/gettext.c: Likewise.
13698 * include/grub/efi/graphics_output.h: Likewise.
13699 * include/grub/i386/pc/memory.h: Likewise.
13700 * kern/env.c: Likewise.
13701 * kern/i386/qemu/startup.S: Likewise.
13702 * lib/i386/pc/biosnum.c: Likewise.
13703 * lib/i386/relocator.c: Likewise.
13704 * lib/i386/relocator_asm.S: Likewise.
13705 * lib/relocator.c: Likewise.
13706 * loader/i386/bsd.c: Likewise.
13707 * loader/i386/multiboot.c: Likewise.
13708 * loader/i386/pc/chainloader.c: Likewise.
13709 * loader/i386/xnu.c: Likewise.
13710 * loader/xnu.c: Likewise.
13711 * normal/main.c: Likewise.
13712 * normal/menu_text.c: Likewise.
13713 * util/getroot.c: Likewise.
13714 * util/grub-mkconfig_lib.in: Likewise.
13715 * util/grub.d/00_header.in: Likewise.
13716 * util/i386/pc/grub-mkimage.c: Likewise.
13717 * util/mkisofs/eltorito.c: Likewise.
13718 * util/mkisofs/exclude.h: Likewise.
13719 * util/mkisofs/hash.c: Likewise.
13720 * util/mkisofs/iso9660.h: Likewise.
13721 * util/mkisofs/joliet.c: Likewise.
13722 * util/mkisofs/mkisofs.c: Likewise.
13723 * util/mkisofs/mkisofs.h: Likewise.
13724 * util/mkisofs/multi.c: Likewise.
13725 * util/mkisofs/name.c: Likewise.
13726 * util/mkisofs/rock.c: Likewise.
13727 * util/mkisofs/tree.c: Likewise.
13728 * util/mkisofs/write.c: Likewise.
13729 * video/efi_gop.c: Likewise.
13730
009ec743
VS
137312009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13732
13733 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
13734 size counting.
13735
0ad46fd7 137362009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
13737
13738 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
13739 * genmk.rb (class SCRIPT): Modify the target file instead of source.
13740
d3d30ea0
VS
137412009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
13744 (GRUB_MOD_INIT(memrw)): Update help line.
13745
a34f5c70
VS
137462009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13747
13748 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
13749 Use grub_extcmd_t. All users updated.
13750 (options): New variable.
13751 (grub_cmd_read): Restructure for readability. Support "-v" option.
13752 (grub_cmd_write): Restructure for readability.
13753
0ad46fd7 137542009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
13755
13756 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
13757
0ad46fd7 137582009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
13759
13760 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
13761 with the actual contents of the correspondending make variable.
13762 * util/grub-mkrescue.in (pkglib_DATA): New variable.
13763 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
13764 specifying `*.lst' and `efiemu??.o'
13765
0ad46fd7 137662009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
13767
13768 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
13769 after function name.
13770 Noticed by Rene Engelhard <rene@debian.org>.
13771
dc77a799
VS
137722009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13773
13774 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
13775 (options): New variable.
13776 (iospace): Likewise.
13777 (grub_lspci_iter): List IO spaces if "-i" was given.
13778 (grub_cmd_lspci): Parse options.
13779 (GRUB_MOD_INIT(lspci)): Use extcmd.
13780 (GRUB_MOD_FINI(lspci)): Likewise.
13781
0ad46fd7 137822009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
13783
13784 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
13785 `function' keyword.
13786 Patch by Tony Mancill <tmancill@debian.org>.
13787
b5d5993b
VS
137882009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13789
13790 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
13791 (grub_uhci_portstatus): Likewise.
13792 (grub_uhci_portstatus): Add necessary delay.
11d18281 13793 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 13794
941903f2 137952009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 13796
941903f2 13797 * commands/acpi.c (options): Fix capitalizations and/or full stops.
13798 (GRUB_MOD_INIT): Likewise.
13799 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 13800 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
13801 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 13802 * commands/efi/loadbios.c (enable_rom_area): Likewise.
13803 (enable_rom_area): Likewise.
13804 (GRUB_MOD_INIT): Likewise.
13805 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
13806 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
13807 * commands/handler.c (GRUB_MOD_INIT): Likewise.
13808 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
13809 * commands/hexdump.c (options): Likewise.
13810 * commands/i386/cpuid.c (options): Likewise.
13811 (GRUB_MOD_INIT): Likewise.
13812 * commands/i386/pc/drivemap.c (options): Likewise.
13813 (GRUB_MOD_INIT): Likewise.
13814 * commands/i386/pc/halt (options): Likewise.
13815 (GRUB_MOD_INIT): Likewise.
13816 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
13817 * commands/i386/pc/pxecmd.c (options): Likewise.
13818 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
13819 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
13820 * commands/keystatus.c (options): Likewise.
13821 (GRUB_MOD_INIT): Likewise.
13822 * commands/loadenv.c (options): Likewise.
13823 * commands/ls.c (options): Likewise.
13824 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
13825 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
13826 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
13827 * commands/parttool.c (helpmsg): Likewise.
13828 * commands/probe.c (options): Likewise.
13829 * commands/read.c (GRUB_MOD_INIT): Likewise.
13830 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
13831 * commands/search.c (options): Likewise.
13832 * commands/sleep.c (options): Likewise.
13833 * commands/test.c (GRUB_MOD_INIT): Likewise.
13834 * commands/true.c (GRUB_MOD_INIT): Likewise.
13835 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
13836 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
13837 * lib/arg.c (help_options): Likewise.
e9bbb4e7 13838 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
13839 `$(XGETTEXT)'.
98a50553 13840 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 13841
0ad46fd7 138422009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 13843
ef3c2c3a 13844 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
13845 instead of specifying them explicit.
13846
7922f68b
RM
138472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13848
13849 * NEWS: Add grub-probe support for GNU/Hurd.
13850
537ce47f
RM
138512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13852
13853 * NEWS: gettext was added after 1.97.
13854
9b214e3a
RM
138552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13856
13857 * util/mkisofs/msdos_partition.h: New file (based on
13858 include/grub/msdos_partition.h).
13859 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
13860 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
13861 (ld_options, main): Recognize --protective-msdos-label.
13862 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
13863 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
13864 (padblock_write): If `use_protective_msdos_label' is set, patch a
13865 protective DOS-style label in the output image.
13866
13867 * util/grub-mkrescue.in: Use --protective-msdos-label.
13868
e9309813
RM
138692009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13870
13871 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
13872 boot.
13873
0ae56929
RM
138742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13875
13876 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
13877 variables.
13878 (ld_options, main): Recognize `--embedded-boot'.
13879 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
13880 declarations.
13881 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
13882 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
13883 (padblock_write): Likewise. Rewrite to support embedded boot image.
13884
13885 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
13886 for BIOS-based disk boot instead of only ElTorito.
13887
b15937b1
RM
138882009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13889
13890 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
13891 build (not needed for bootstrap).
13892
52cc3ce0
RM
138932009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13894
13895 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
13896 from i386-pc build (not needed for bootstrap).
13897 Rewrite a pair of strings.
13898
36f5ff04
RM
138992009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13900
13901 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
13902
973c6c85 139032009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
13904
13905 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
13906
05d21547
AB
139072009-12-21 Andreas Born <futur.andy@googlemail.com>
13908
13909 * kern/env.c (grub_env_context_open): Mark exported variable for
13910 reexport.
13911
0175d51f
AB
139122009-12-21 Andreas Born <futur.andy@googlemail.com>
13913
13914 * kern/env.c (grub_env_export): Create nonexistent variables before
13915 exporting.
13916
7f39d92f 139172009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 13918
7f39d92f 13919 * include/grub/auth.h: Include `<grub/i18n.h>'.
13920 (GRUB_GET_PASSWORD): Gettextizze string.
13921 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
13922 menu_text.c.
13923 (grub_utf8_to_ucs4_alloc): Fix indentation.
13924 (grub_print_ucs4): Likewise.
13925 (grub_getstringwidth): Likewise.
13926 (print_message_indented): New declaration.
13927 * normal/auth.c: Include `<grub/i18n.h>'.
13928 (grub_auth_check_authentication): Gettexttize string.
13929 * normal/cmdline.c: Include `<grub/i18n.h>'.
13930 (grub_cmdline_get): Gettextizze.
13931 * normal/color.c: Include `<grub/i18n.h>'.
13932 (grub_parse_color_name_pair): Gettexttize strings.
13933 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
13934 string (use `print_message_indented').
13935 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
13936 `include/grub/normal.h'.
13937 (print_message_indented): Renamed to ...
13938 (grub_print_message_indented): ... this. Remove `static' qualifer (now
13939 used in normal/main.c).
13940 (print_message): Use `grub_print_message_indented' instead of
13941 `print_message_indented'.
13942 (print_timeout): Likewise.
13943 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
13944 (grub_normal_print_device_info): Gettexttize strings.
13945 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
13946
3041d898
VS
139472009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13948
13949 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
13950 of arguments. Return number of tokens and not arguments. All users
13951 updated.
13952
de15bf8e
VS
139532009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13954
13955 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
13956 non-MSDOS paritions.
13957
e0a6ca52
VS
139582009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 * include/grub/types.h (UNUSED): Removed since it conflicts with
13961 NetBSD headers. All users changed to direct __attribute__ ((unused)).
13962 Reported by Grégoire Sutre.
13963
b99518d1 139642009-12-19 Carles Pina i Estany <carles@pina.cat>
13965
13966 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
13967 (grub_print_ucs4_alloc): Likewise.
13968 (grub_getstringwidth): Likewise.
13969 * normal/main.c (grub_normal_init_page): Gettextize version string.
13970 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
13971 (getstringwidth): Renamed to ...
13972 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
13973 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
13974 (grub_print_ucs4): Remove `static' qualifer (now used in
13975 normal/main.c).
13976 * po/POTFILES: Add normal/main.c.
13977
bfd5e52b 139782009-12-19 Carles Pina i Estany <carles@pina.cat>
13979
13980 * normal/menu_text.c (STANDARD_MARGIN): New macro.
13981 (print_message_indented): Add `margin_left' and `margin_right'
13982 parameters.
13983 (print_message): Update `print_message_indented' calls. Adds '\n' to the
13984 strings.
13985 (print_timeout): Use `print_message_indented' to print the message.
13986 Deletes `second_stage' parameter.
13987 (run_menu): Update `print_timeout' calls.
13988
5a1ad2b9
VS
139892009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13990
13991 Fix console palette on OpenFirmware.
13992
13993 * term/ieee1275/ofconsole.c (MAX): Removed.
13994 (colors): Redone based on VGA palette.
13995 (grub_ofconsole_setcolor): Discard brightness bit since only 8
13996 colors are supported.
13997 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
13998
b045f00a
VS
139992009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14000
14001 Fix potential EfiEmu double prepare.
14002
14003 * efiemu/main.c (prepared): New variable
14004 (grub_efiemu_unload): Set prepare to '0'.
14005 (grub_efiemu_prepare): Return if already prepared. Set prepared.
14006
14007 set_virtual_address_map support.
14008
14009 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
14010 prototype.
14011 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
14012 prototype.
14013 (grub_efiemu_crc32): Likewise.
14014 (grub_efiemu_crc64): Likewise.
14015 (grub_efiemu_set_virtual_address_map): Likewise.
14016 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
14017 New definition.
14018 (grub_autoefi_set_virtual_address_map): Likewise.
14019 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
14020 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
14021 Restructure flow to accomodate it.
14022 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
14023 (grub_efiemu_crc): Recompute CRC32.
14024 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
14025 (efiemu_ptv_relocated): ... this. Made global. All users updated.
14026 * efiemu/symbols.c (relocated_handle): New variable.
14027 (grub_efiemu_free_syms): Free relocated_handle.
14028 (grub_efiemu_alloc_syms): Allocate relocated_handle.
14029 (grub_efiemu_write_sym_markers): New function.
14030 (grub_efiemu_set_virtual_address_map): Likewise.
14031
14032 Newer XNU parameters.
14033
14034 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
14035 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
14036 (grub_xnu_fill_devicetree): New prototype.
14037 (grub_xnu_heap_real_start): New variable.
14038 * loader/xnu.c (get_name_ptr): New function.
14039 (grub_xnu_load_driver): Fill namelen and name.
14040
14041 64-bit xnu support.
14042
14043 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
14044 and 'loader/macho64.c'.
14045 * conf/i386-pc.rmk: Likewise.
14046 * conf/x86_64-efi.rmk: Likewise.
14047 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
14048 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
14049 * include/grub/macho.h (grub_macho_segment64): New structure.
14050 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
14051 (grub_macho_size32): ... to this.
14052 (grub_macho32_get_entry_point): Renamed from ...
14053 (grub_macho_get_entry_point32): ... to this.
14054 (grub_macho_contains_macho64): New prototype.
14055 (grub_macho_size64): Likewise.
14056 (grub_macho_get_entry_point64): Likewise.
14057 (grub_macho32_load): Renamed from ...
14058 (grub_macho_load32): ... to this.
14059 (grub_macho32_filesize): Renamed from ...
14060 (grub_macho_filesize32): ... to this.
14061 (grub_macho32_readfile): Renamed from ...
14062 (grub_macho_readfile32): ... to this.
14063 (grub_macho_filesize64): New prototype.
14064 (grub_macho_readfile64): Likewise.
14065 (grub_macho_parse32): Likewise.
14066 (grub_macho_parse64): Likewise.
14067 * loader/macho.c: Split into ...
14068 * loader/machoXX.c: ... and this. Replace 32 with XX.
14069 * loader/macho32.c: New file.
14070 * loader/macho64.c: Likewise.
14071 * loader/xnu.c (grub_xnu_is_64bit): New variable.
14072 (grub_cmd_xnu_kernel): Make 32-bit only.
14073 (grub_cmd_xnu_kernel64): New function.
14074 (grub_xnu_load_driver): Support Mach-O 64.
14075 (grub_cmd_xnu_mkext): Likewise.
14076 * util/grub.d/30_os-prober.in (osx_entry): New function.
14077 Generate entries for 64-bit boot too.
14078
14079 Eliminate ad-hoc tree format in XNU and EfiEmu.
14080
14081 * efiemu/main.c (grub_efiemu_prepare): Update comment.
14082 * efiemu/pnvram.c: Rewritten to use environment variables.
14083 All users updated.
14084
14085 Inline utf16_to_utf8.
14086
14087 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
14088 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
14089 All users updated.
14090 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
14091
14092 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
14093 * commands/usbtest.c (grub_usb_get_string): ... move here.
14094 (usb_print_str): Fix error handling.
14095 * include/grub/usb.h (grub_usb_get_string): Remove.
14096
14097 UTF-8 to UTF-16 transformation.
14098
14099 * conf/common.rmk (pkglib_MODULES): Add charset.mod
14100 (charset_mod_SOURCES): New variable.
14101 (charset_mod_CFLAGS): Likewise.
14102 (charset_mod_LDFLAGS): Likewise.
14103 * include/grub/utf.h: New file.
14104 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
14105
14106 Support for device properties.
14107
14108 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
14109 (grub_xnu_devprop_device_header): Likewise.
14110 (grub_xnu_devprop_device_descriptor): Likewise.
14111 (grub_xnu_devprop_add_device): New prototype.
14112 (grub_xnu_devprop_remove_device): Likewise.
14113 (grub_xnu_devprop_remove_property): Likewise.
14114 (grub_xnu_devprop_add_property_utf8): Likewise.
14115 (grub_xnu_devprop_add_property_utf16): Likewise.
14116 (grub_cpu_xnu_init): Likewise.
14117 (grub_cpu_xnu_fini): Likewise.
14118 (grub_cpu_xnu_unload): Likewise.
14119 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
14120 (property_descriptor): Likewise.
14121 (devices): New variable.
14122 (grub_xnu_devprop_remove_property): New function.
14123 (grub_xnu_devprop_add_device): Likewise.
14124 (grub_xnu_devprop_remove_device): Likewise.
14125 (grub_xnu_devprop_add_property): Likewise.
14126 (grub_xnu_devprop_add_property_utf8): Likewise.
14127 (grub_xnu_devprop_add_property_utf16): Likewise.
14128 (hextoval): Likewise.
14129 (grub_cpu_xnu_fill_devprop): Likewise.
14130 (grub_cmd_devprop_load): Likewise.
14131 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
14132 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
14133 (cmd_devprop_load): New variable.
14134 (grub_cpu_xnu_init): New function.
14135 (grub_cpu_xnu_fini): Likewise.
14136 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
14137 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
14138 (grub_cmd_xnu_devtree): Likewise.
14139 (hextoval): New function.
14140 (unescape): Likewise.
14141 (grub_xnu_fill_devicetree): Likewise.
14142
14143 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
14144 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
14145
0945f181
VS
141462009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14147
14148 Workaround for broken ATI VBE.
14149
14150 * video/i386/pc/vbe.c (last_set_mode): New variable.
14151 (grub_vbe_set_video_mode): Set 'last_set_mode'.
14152 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
14153 (grub_video_vbe_setup): Don't check for reserved flag.
14154
0ad46fd7 141552009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
14156
14157 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
14158 the `find' command.
14159
c179ebe4
VS
141602009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
14161
14162 UUID support for HFS.
14163
14164 * fs/hfs.c (grub_hfs_uuid): New function.
14165 (grub_hfs_fs): New value .uuid.
14166 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
14167
0ad46fd7 141682009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
14169
14170 Fix a segfault with parsing unknown long options.
14171
14172 * util/grub-mkrelpath.c (options): Zero terminate it.
14173
c4a3e41a
CPE
141742009-12-13 Carles Pina i Estany <carles@pina.cat>
14175
14176 * include/grub/misc.h (grub_puts): New declaration.
14177 (grub_puts_): Likewise.
a22008a6 14178 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
14179 (grub_puts_): Likewise.
14180
2e8a7602
RM
141812009-12-13 Robert Millan <rmh.grub@aybabtu.com>
14182
14183 * util/grub-probe.c (probe): Improve error message.
14184
b50b77b9
RM
141852009-12-13 Robert Millan <rmh.grub@aybabtu.com>
14186
14187 * loader/i386/multiboot_elfxx.c
14188 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
14189 initialization.
14190
141912009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 Relocator framework
14194
14195 * loader/i386/xnu_helper.S: Removed. All users updated.
14196 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
14197 (relocator_mod_SOURCES): New variable.
14198 (relocator_mod_CFLAGS): Likewise.
14199 (relocator_mod_LDFLAGS): Likewise.
14200 (relocator_mod_ASFLAGS): Likewise.
14201 * conf/x86_64.rmk: Likewise.
14202 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
14203 (grub_multiboot_payload_entry_offset): Likewise.
14204 (grub_multiboot_forward_relocator): Likewise.
14205 (grub_multiboot_forward_relocator_end): Likewise.
14206 (grub_multiboot_backward_relocator): Likewise.
14207 (grub_multiboot_backward_relocator_end): Likewise.
14208 (grub_multiboot_payload_eip): New variable.
14209 (grub_multiboot_payload_orig): Likewise.
14210 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
14211 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
14212 * include/grub/i386/memory.h
14213 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
14214 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
14215 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
14216 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
14217 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
14218 * include/grub/i386/relocator.h: New file.
14219 * include/grub/x86_64/relocator.h: Likewise.
14220 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
14221 (XNU_RELOCATOR): New macro.
14222 (grub_xnu_launcher_start): Remove.
14223 (grub_xnu_launcher_end): Likewise.
14224 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
14225 (grub_xnu_heap_real_start): Remove.
14226 (grub_xnu_heap_start): Change to void *. All users updated.
14227 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
14228 * lib/i386/relocator.c: New file.
14229 * lib/i386/relocator_asm.S: Likewise.
14230 * lib/i386/relocator_backward.S: Likewise.
14231 * lib/mips/relocator.c: Likewise.
14232 * lib/mips/relocator_asm.S: Likewise.
14233 * lib/relocator.c: Likewise.
14234 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
14235 (entry): Removed.
14236 (playground): Likewise.
14237 (grub_multiboot_payload_orig): New variable.
14238 (grub_multiboot_payload_dest): Likewise.
14239 (grub_multiboot_payload_size): Likewise.
14240 (grub_multiboot_payload_eip): Likewise.
14241 (grub_multiboot_payload_esp): Likewise.
14242 (grub_multiboot_boot): Use grub_relocator32_boot.
14243 (grub_multiboot_unload): Free relocators.
14244 (grub_multiboot): Setup stack. Use relocators.
14245 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
14246 (grub_multiboot_load_elfXX): Use relocators.
14247 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
14248 (grub_multiboot_payload_size): Likewise.
14249 (grub_multiboot_payload_dest): Likewise.
14250 (grub_multiboot_payload_entry_offset): Likewise.
14251 (grub_multiboot_forward_relocator): Likewise.
14252 (grub_multiboot_backward_relocator): Likewise.
14253 (grub_multiboot_real_boot): Likewise.
14254 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
14255 (grub_xnu_entry_point): Likewise.
14256 (grub_xnu_arg1): Likewise.
14257 (grub_xnu_stack): Likewise.
14258 (grub_xnu_launch): Removed.
14259 (grub_xnu_boot_resume): New function.
14260 (grub_xnu_boot): Use relocators.
14261 * loader/i386/xnu_helper.S: Removed.
14262 * loader/xnu.c (grub_xnu_heap_start): New variable.
14263 (grub_xnu_heap_size): Likewise.
14264 (grub_xnu_heap_malloc): Use relocators.
14265 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
14266
29eb90c6
VS
142672009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14268
14269 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
14270 anything.
14271
31027430
CPE
142722009-12-13 Carles Pina i Estany <carles@pina.cat>
14273
14274 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
14275 GRUB_ERR_NONE before calling grub_env_set.
14276
dc0c71d9
RM
142772009-12-12 Robert Millan <rmh@aybabtu.com>
14278
14279 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
14280 * genmk.rb (video): New variable.
14281 (CLEANFILES, VIDEOFILES): Add #{video}.
14282 (#{video}): New target rule.
14283 * genvideolist.sh: New file.
14284 * Makefile.in (pkglib_DATA): Add video.lst.
14285 (video.lst): New target rule.
14286 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
14287 `video.lst'.
14288 * util/grub.d/30_os-prober.in: Replace `vbe' with
14289 ${GRUB_VIDEO_BACKEND}.
14290
2a4bfcf0
RM
142912009-12-11 Robert Millan <rmh.grub@aybabtu.com>
14292
14293 * THANKS: Add David Miller.
14294
2a3aa4d5
RM
142952009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
14296
14297 libpciaccess support.
14298
14299 * Makefile.in (LIBPCIACCESS): New variable.
14300 (enable_grub_emu_pci): Likewise.
14301 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
14302 util/pci.c and commands/lspci.c.
14303 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
14304 * configure.ac (grub-emu-pci): New option.
14305 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
14306 (grub_pci_device_unmap_range): Likewise.
14307 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
14308 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
14309 (grub_pci_address_t) [!GRUB_UTIL]: New type.
14310 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
14311 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
14312 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
14313 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
14314 * include/grub/pciutils.h: New file.
14315 * util/pci.c: Likewise.
14316
0ad46fd7 143172009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
14318
14319 * util/misc.c: Don't include <errno.h> twice.
14320
0ad46fd7 143212009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
14322
14323 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
14324 name in an error message.
14325 (grub_biosdisk_rw): Likewise.
14326
2e59983c
VS
143272009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 Eliminate NTFS 4Gib barrier.
14330
14331 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
14332 (read_run_data): Likewise.
14333 (grub_ntfs_read_run_list): Likewise.
14334 (grub_ntfs_read_block): Likewise.
14335 (grub_ntfs_iterate_dir): Likewise.
14336 (read_mft): Likewise.
14337 (read_data): Likewise.
14338 Use COM_LOG_LEN.
14339 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
14340 to avoid 64-bit division
14341 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
14342 (grub_ntfs_rlst): Use grub_disk_addr_t.
14343
71ee178a
VS
143442009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
14345
14346 Eliminate grub-fstest 4Gib barrier.
14347
14348 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
14349 (read_file): Fix error reporting.
14350
2520d4b8
VS
143512009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
14352
14353 Eliminate hexdump 4Gib barrier.
14354
14355 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
14356 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
14357
e1f27065
VS
143582009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
14359
14360 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
14361 Fixes amarsh bug.
14362
1a0f7f45
RM
143632009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
14364
14365 Remove miscellaneous files in distclean target.
14366
14367 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
14368
c631d9fb
CW
143692009-12-09 Colin Watson <cjwatson@ubuntu.com>
14370
14371 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
14372 if they're already set. This resolves the conflict between my
14373 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
14374 fixing the --grub-probe option again.
14375 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
14376 change on 2009-10-06, so that we now once again source
14377 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
14378
7c7b6106
RM
143792009-12-08 Robert Millan <rmh.grub@aybabtu.com>
14380
14381 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
14382 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
14383 `util/devicemap.c'.
14384
e3069ec1
CPE
143852009-12-08 Carles Pina i Estany <carles@pina.cat>
14386
14387 * include/grub/misc.h (grub_printf_): New declaration.
14388 * kern/misc.c (grub_printf_): New definition.
14389 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
14390 instead of `grub_printf' and `_'.
14391 * normal/menu_entry.c (store_completion): Likewise.
14392 (run): Likewise.
14393 (grub_menu_entry_run): Likewise.
14394 * normal/menu_text.c (grub_wait_after_message): Likewise.
14395 (notify_booting): Likewise.
14396 (notify_fallback): Likewise.
14397 (notify_execution_failure): Likewise.
14398
d6ceebf1
CW
143992009-12-07 Colin Watson <cjwatson@ubuntu.com>
14400
14401 * configure.ac: Check for vasprintf.
14402 * util/misc.c (asprintf): Move allocation from here ...
14403 (vasprintf): ... to here. New function.
14404 (xasprintf): New function.
14405 * include/grub/util/misc.h (vasprintf, xasprintf): Add
14406 prototypes.
14407 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
14408 * util/grub-mkfont.c (write_font): Likewise.
14409 * util/grub-probe.c (probe): Likewise.
14410 * util/hostdisk.c (make_device_name): Likewise.
14411
de6daa8b
DM
144122009-12-06 David S. Miller <davem@sunset.davemloft.net>
14413
14414 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
14415 anything even prefixed with 'cdrom' as a cdrom.
14416
0ad46fd7 144172009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
14418
14419 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
14420 mount points.
14421
98d3dc02
CPE
144222009-12-05 Carles Pina i Estany <carles@pina.cat>
14423
14424 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
14425 grub_gettext_msg_list.
14426 (grub_gettext_gettranslation_from_position): Return const char *
14427 and not char *.
a2c1332b 14428 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
14429 returns from the list if existing there.
14430 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
14431 (grub_gettext_delete_list): Delete the list.
14432 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
14433 lang environment variable is changed.
14434 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
14435
b283f108
VS
144362009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
14437
14438 Rename kernel.mod to kernel.img.
14439
14440 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
14441 (kernel_mod_EXPORTS): Rename to ...
14442 (kernel_img_EXPORTS): ... this.
14443 (kernel_mod_SOURCES): Rename to ...
14444 (kernel_img_SOURCES): ... this.
14445 (kernel_mod_HEADERS): Rename to ...
14446 (kernel_img_HEADERS): ... this. All users updated.
14447 (kernel_mod_CFLAGS): Rename to ...
14448 (kernel_img_CFLAGS): ... this.
14449 (kernel_mod_ASFLAGS): Rename to ...
14450 (kernel_img_ASFLAGS): ... this.
14451 (kernel_mod_LDFLAGS): Rename to ...
14452 (kernel_img_LDFLAGS): ... this.
14453 * conf/x86_64-efi.rmk: Likewise.
14454 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
14455 (read_kernel_image): ... this. All users updated.
14456 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
14457
69055f8a
CPE
144582009-12-05 Carles Pina i Estany <carles@pina.cat>
14459
14460 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
14461 (print_spaces): New function.
14462 (grub_print_ucs4): New function.
14463 (getstringwidth): New function.
14464 (print_message_indented): New function.
14465 (print_message): Gettexttize strings using print_message_indented.
14466 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
14467 width.
14468 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 14469 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
14470 Gettextize.
14471 * normal/menu_entry.c (store_completion): Cleanup the gettextized
14472 string.
14473 (run): Likewise.
14474 (grub_menu_entry_run): Likewise.
14475 * PO/POTFILES: Add normal/menu_entry.c.
14476
f616f51c
VS
144772009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
14478
14479 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
14480
57bbe3be
CPE
144812009-12-05 Carles Pina i Estany <carles@pina.cat>
14482
14483 * util/grub-install.in: Install gettext .mo files.
14484 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
14485
013d67a1
CPE
144862009-12-05 Carles Pina i Estany <carles@pina.cat>
14487
14488 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
14489 grub_dprintf.
14490
fb954db0
RM
144912009-12-05 Robert Millan <rmh.grub@aybabtu.com>
14492
14493 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
14494 non-firmware-dependant one in realmode.S takes precedence.
14495
6b8474f8
RM
144962009-12-04 Robert Millan <rmh.grub@aybabtu.com>
14497
14498 * commands/halt.c: Replace misc arch-specific headers with
14499 `<grub/misc.h>'.
14500 * commands/reboot.c: Likewise.
14501 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
14502 `<grub/misc.h>'.
14503 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
14504 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
14505 (kernel_img_SOURCES): ... to here.
14506
14507 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
14508 * include/grub/i386/pc/init.h: Likewise.
14509 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
14510 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
14511
14512 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
14513
14514 * include/grub/i386/halt.h: Remove.
14515 * include/grub/i386/reboot.h: Likewise.
14516
14517 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
14518
4b2e6ca2
DM
145192009-12-03 David S. Miller <davem@sunset.davemloft.net>
14520
14521 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
14522 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
14523 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
14524 "progname.h"
14525 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
14526 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14527 (usage): Add missing comma in printf.
14528
5239348f
RM
145292009-12-02 Robert Millan <rmh.grub@aybabtu.com>
14530
14531 Use the same reboot approach on i386 coreboot and qemu as we do on
14532 BIOS.
14533
14534 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
14535 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
14536 * kern/i386/reboot.c: Remove.
14537 * include/grub/i386/reboot.h (grub_reboot): Export function.
14538 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
14539 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
14540 0xf000:0xfff0 instead of 0xffff:0x0000.
14541 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
14542 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
14543
ef34cbd4
RM
145442009-11-30 Robert Millan <rmh.grub@aybabtu.com>
14545
14546 Fix $srcdir != $objdir build.
14547
14548 * Makefile.in (po/%.po): Rewrite as ...
14549 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
14550
dc9837ea
ST
145512009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
14552
14553 Fix GNU/Hurd grub-install crash.
14554 * util/grub-probe.c (probe): Try to access `path' only when it is not
14555 NULL.
14556
2f857f98
VS
145572009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
14558
14559 Correct module naming.
14560
14561 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
14562 (GRUB_MOD_INIT(efi_uga)): ... to this
14563 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
14564 (GRUB_MOD_FINI(efi_uga)): ... to this
14565 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
14566 (GRUB_MOD_INIT(efi_gop)): ... to this
14567 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
14568 (GRUB_MOD_FINI(efi_gop)): ... to this
14569
c5448046
RM
145702009-11-28 Robert Millan <rmh.grub@aybabtu.com>
14571
14572 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
14573 translatable.
14574 (usage): Translate `arg' strings using gettext().
14575 Thanks to Jordi Mallach for the suggestion.
14576
c85184ad
VS
145772009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
14578
14579 GOP support. Based on patch from Bean
14580 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
14581
14582 * video/efi_gop.c: New file.
14583 * include/grub/efi/graphics_output.h: Likewise.
14584 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
14585 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
14586 variables.
14587 * conf/x86_64-efi.rmk: Likewise.
14588
8a4c48d8
VS
145892009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
14590
14591 Rename efi_fb to efi_uga.
14592
14593 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
14594 'efi_uga.mod'.
14595 (efi_fb_mod_SOURCES): Rename this ...
14596 (efi_uga_mod_SOURCES): ... to this.
14597 (efi_fb_mod_CFLAGS): Rename this ...
14598 (efi_uga_mod_CFLAGS): ... to this.
14599 (efi_fb_mod_LDFLAGS): Rename this ...
14600 (efi_uga_mod_LDFLAGS): ... to this.
14601 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
14602 'efi_uga.mod'.
14603 (efi_fb_mod_SOURCES): Rename this ...
14604 (efi_uga_mod_SOURCES): ... to this.
14605 (efi_fb_mod_CFLAGS): Rename this ...
14606 (efi_uga_mod_CFLAGS): ... to this.
14607 (efi_fb_mod_LDFLAGS): Rename this ...
14608 (efi_uga_mod_LDFLAGS): ... to this.
14609 * video/efi_fb.c: Move this ...
14610 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
14611
fb6c1a7b
RM
146122009-11-27 Robert Millan <rmh.grub@aybabtu.com>
14613
14614 * po/README: New file. Explain our PO file workflow.
14615
3bc7896c
RM
146162009-11-27 Robert Millan <rmh.grub@aybabtu.com>
14617
14618 * po/ChangeLog: Remove. Move relevant entries back to ...
14619 * ChangeLog: ... here.
14620 * po/ca.po: Remove (now handled by TLP).
14621 * po/id.po: Likewise.
14622 * po/zh_CN.po: Likewise.
14623 * Makefile.in (LINGUAS): Initialize in a way that supports
14624 empty set.
14625
9ed4841d
RM
146262009-11-27 Robert Millan <rmh.grub@aybabtu.com>
14627
14628 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
14629 reliing on po/LINGUAS.
14630 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
14631 (po/%.po): ... this.
14632
0ad46fd7 146332009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
14634
14635 * util/i386/efi/grub-mkimage.c: Include "progname.h".
14636 (main): Use `program_name' instead of nonexistent `progname'.
14637
e30dd392
FZ
146382009-11-26 Felix Zielcke <fzielcke@z-51.de>
14639
14640 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14641 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
14642
7656de4f
RM
146432009-11-26 Robert Millan <rmh.grub@aybabtu.com>
14644
14645 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
14646 commit.
14647 * conf/i386-efi.rmk: Likewise.
14648 * conf/i386-ieee1275.rmk: Likewise.
14649 * conf/powerpc-ieee1275.rmk: Likewise.
14650 * conf/sparc64-ieee1275.rmk: Likewise.
14651 * conf/x86_64-efi.rmk: Likewise.
14652
db77c4d4
FZ
146532009-11-26 Felix Zielcke <fzielcke@z-51.de>
14654
14655 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
14656
a755bb04
FZ
146572009-11-26 Felix Zielcke <fzielcke@z-51.de>
14658
14659 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
14660
8a4c07fd
RM
146612009-11-26 Robert Millan <rmh.grub@aybabtu.com>
14662
14663 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
14664 (grub_mkdevicemap_SOURCES): New variable.
14665 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
14666 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
14667 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
14668 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
14669 (grub_mkdevicemap_SOURCES): Remove.
14670 * conf/i386-efi.rmk: Likewise.
14671 * conf/i386-ieee1275.rmk: Likewise.
14672 * conf/i386-pc.rmk: Likewise.
14673 * conf/powerpc-ieee1275.rmk: Likewise.
14674 * conf/sparc64-ieee1275.rmk: Likewise.
14675 * conf/x86_64-efi.rmk: Likewise.
14676 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
14677 (usage): Fix strings to use `program_name'.
14678 (main): Initialize gettext.
14679 * util/grub-editenv.c: Likewise.
14680 * util/grub-emu.c: Likewise.
14681 * util/grub-fstest.c: Likewise.
14682 * util/grub-mkdevicemap.c: Likewise.
14683 * util/grub-mkfont.c: Likewise.
14684 * util/grub-mkrelpath.c: Likewise.
14685 * util/grub-pe2elf.c: Likewise.
14686 * util/grub-probe.c: Likewise.
14687 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
14688 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
14689 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14690
14691 * util/misc.c: Include `"progname.h"'.
14692 (progname): Remove variable.
14693 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
14694
6f61ed55
FZ
146952009-11-25 Felix Zielcke <fzielcke@z-51.de>
14696
14697 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
14698 printf and print a newline after the menuentry header line.
14699 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14700
f022876b
FZ
147012009-11-25 Felix Zielcke <fzielcke@z-51.de>
14702
14703 autoconf >= 2.60 support $(localedir).
14704
14705 * INSTALL: Note that autoconf 2.60 is required.
14706 * configure.ac (AC_PREREQ): Bump to 2.60.
14707 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
14708 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14709
6717926e
YB
147102009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
14711
14712 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
14713 aclocal is run.
14714
08806a54
RM
147152009-11-25 Robert Millan <rmh.grub@aybabtu.com>
14716
14717 * normal/main.c (grub_normal_read_line): Fix off-by-one
14718 buffer overflow.
14719
13b33fba
RM
147202009-11-25 Robert Millan <rmh.grub@aybabtu.com>
14721
14722 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
14723 "parser.grub" in grub_command_execute() call.
14724
4a8572e9
CPE
147252009-11-24 Carles Pina i Estany <carles@pina.cat>
14726
14727 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
14728 * conf/i386-efi.rmk: Likewise.
14729 * conf/i386-ieee1275.rmk: Likewise.
14730 * conf/i386-pc.rmk: Likewise.
14731 * conf/powerpc-ieee1275.rmk: Likewise.
14732 * conf/sparc64-ieee1275.rmk: Likewise.
14733 * conf/x86_64-efi.rmk: Likewise.
14734 * gettext/gettex.c: Include <grub/i18n.h>.
14735 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
14736 here ...
14737 * include/grub/i18n.h: ... to here
14738 * include/grub/i18n.h: ... to here.
14739 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 14740 (grub_gettext_dummy): Move above user.
4a8572e9 14741
bee48093
FZ
147422009-11-24 Felix Zielcke <fzielcke@z-51.de>
14743
14744 * util/Makefile.in (install-local): Convert a `for' into a normal
14745 shell expansion.
14746
a031e91c
RM
147472009-11-24 Robert Millan <rmh.grub@aybabtu.com>
14748
14749 * autogen.sh: Add automake call.
14750 * config.guess: Remove.
14751 * config.sub: Likewise.
14752 * install-sh: Likewise.
14753
26bec39d
FZ
147542009-11-24 Felix Zielcke <fzielcke@z-51.de>
14755
14756 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
14757
8e2532fd
FZ
147582009-11-24 Felix Zielcke <fzielcke@z-51.de>
14759
14760 * util/Makefile.in (install-local): Convert a make `$(foreach)'
14761 function to a normal shell `for'.
14762
fefa1b7d
FZ
147632009-11-24 Felix Zielcke <fzielcke@z-51.de>
14764
14765 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14766
4501250b
FZ
147672009-11-24 Felix Zielcke <fzielcke@z-51.de>
14768
14769 * util/grub-mkrelpath.c: New file.
14770 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
14771 (grub_mkrelpath_SOURCES): New variable.
14772 * include/grub/util/misc.h: New function prototype.
14773 * util/misc.c (make_system_path_relative_to_its_root): New function.
14774
14775 * util/grub-mkconfig_lib.in (bindir): New variable.
14776 (grub_mkrelpath): Likewise.
14777 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
14778
14779 * util/probe.c (probe): Make the file path relative to its root.
14780 Change a info message to use the GRUB path. Enable again the
14781 check if we can read the file with GRUB facilities.
14782
14783 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
14784 to its root.
14785
11d9778b
FZ
147862009-11-24 Felix Zielcke <fzielcke@z-51.de>
14787
14788 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
14789 platform.
14790
4465287d
FZ
147912009-11-24 Felix Zielcke <fzielcke@z-51.de>
14792
14793 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
14794 strncmp().
14795
62b47f22
FZ
147962009-11-24 Felix Zielcke <fzielcke@z-51.de>
14797
14798 * util/getroot.c (grub_util_is_dmraid): New function.
14799 (grub_util_get_dev_abstraction): Treat dmraid and multipath
14800 devices as normal ones, not as LVM.
14801
1eafb9b9 148022009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
14803
14804 * conf/common.rmk: Add grub-gettext_lib target and updates
14805 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
14806 LDFLAGS.
14807 * gettext/gettext.c: New file. (Reads mo files).
14808 * include/grub/file.h (grub_file_pread): New prototype.
14809 * include/grub/i18n.h (_): New prototype.
14810 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
14811 prototypes.
14812 * kern/misc.c (grub_gettext_dummy): New function.
14813 * normal/menu_text.c: Include <grub/i18n.h>.
14814 * normal/menu_text.c (print_timeout): Gettexttize string.
14815 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
14816 * po/POTFILES: Add `normal/menu_text.c'.
14817 * po/ca.po: Add new translations.
c3ea6bd4
CPE
14818 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
14819 gettext module and defines locale_dir and lang in grub.cfg.
14820 * NEWS: Add gettext support.
14821
0fdb2568
RM
148222009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14823
14824 * util/hostdisk.c: Include `<grub/i18n.h>'.
14825 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
14826 (make_device_name): Rewrite using asprintf.
14827 (convert_system_partition_to_system_disk): Replace 0 with NULL.
14828 (find_system_device): If a device is not found, generate one just
14829 by reusing the OS path name.
14830 (read_device_map): Make it permissible for device.map not to exist.
14831
f515aa62
RM
148322009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14833
14834 * script/sh/execute.c: Move from here ...
14835 * script/execute.c: ... to here. Update all users.
14836 * script/sh/function.c: Move from here ...
14837 * script/function.c: ... to here. Update all users.
14838 * script/sh/lexer.c: Move from here ...
14839 * script/lexer.c: ... to here. Update all users.
14840 * script/sh/main.c: Move from here ...
14841 * script/main.c: ... to here. Update all users.
14842 * script/sh/parser.y: Move from here ...
14843 * script/parser.y: ... to here. Update all users.
14844 * script/sh/script.c: Move from here ...
14845 * script/script.c: ... to here. Update all users.
14846
f84b481b
RM
148472009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14848
14849 * configure.ac: Detect all `emu' platforms. Define
14850 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
14851 --enable-grub-emu logic. Disable include/grub/machine
14852 symlink on `emu' platforms.
14853
14854 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
14855 * gensymlist.sh.in: Likewise.
14856
14857 * include/grub/i386/coreboot/machine.h: Remove file.
14858 * include/grub/i386/efi/machine.h: Likewise.
14859 * include/grub/i386/ieee1275/machine.h: Likewise.
14860 * include/grub/i386/pc/machine.h: Likewise.
14861 * include/grub/i386/qemu/machine.h: Likewise.
14862 * include/grub/powerpc/ieee1275/machine.h: Likewise.
14863 * include/grub/sparc64/ieee1275/machine.h: Likewise.
14864 * include/grub/x86_64/efi/machine.h: Likewise.
14865
14866 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
14867 * commands/halt.c: Likewise.
14868 * commands/reboot.c: Likewise.
14869 * include/grub/autoefi.h: Likewise.
14870 * include/grub/i386/at_keyboard.h: Likewise.
14871 * include/grub/i386/kernel.h: Likewise.
14872 * include/grub/i386/loader.h: Likewise.
14873 * include/grub/i386/pc/memory.h: Likewise.
14874 * kern/dl.c: Likewise.
14875 * kern/i386/coreboot/init.c: Likewise.
14876 * loader/i386/bsd.c: Likewise.
14877 * loader/i386/linux.c: Likewise.
14878 * loader/multiboot_loader.c: Likewise.
14879 * term/i386/pc/serial.c: Likewise.
14880 * term/usb_keyboard.c: Likewise.
14881
14882 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
14883 `<grub/machine/machine.h>'
14884 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
14885 * util/misc.c: Remove `<grub/machine/machine.h>' and
14886 `<grub/machine/time.h>'.
14887
14888 * Makefile.in (enable_grub_emu): Remove variable.
14889 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
14890
14891 * conf/any-emu.rmk: New file.
14892 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
14893 (grub_emu_init.c): Move from here ...
14894 * conf/any-emu.rmk: ... to here.
14895
14896 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
14897 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
14898 * conf/any-emu.rmk: ... to here.
14899
4efeab03
RM
149002009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14901
14902 * include/grub/parser.h (grub_parser_register): Document need
14903 of `name' parameter.
14904 * normal/main.c (grub_normal_read_line): Simplify prompt string.
14905 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
14906 "sh" to "grub".
14907
ea1dd8bf
RM
149082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14909
14910 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
14911 `$(XGETTEXT)'.
14912 * include/grub/i18n.h (N_): New macro.
14913 * util/mkisofs/mkisofs.h: Likewise.
14914 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
14915 around N_().
14916 (usage): Use gettext() to translate help strings when printing them.
14917
0c140626
RM
149182009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14919
14920 Based on patch from Bean
14921 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
14922
14923 * video/efi_fb.c: New file.
14924 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
14925 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
14926 variables.
14927 * conf/x86_64-efi.rmk: Likewise.
14928
87d58298
RM
149292009-11-22 Robert Millan <rmh.grub@aybabtu.com>
14930
14931 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
14932 * util/i386/pc/grub-setup.c: Likewise.
14933
994cc3a3
ST
149342009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14935
14936 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
14937 <hurd/fs.h>
14938 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
14939 file_get_storage_info to implement grub_guess_root_device.
14940
26a61d6a
FZ
149412009-11-21 Felix Zielcke <fzielcke@z-51.de>
14942
14943 * Makefile.in (target): Use make's builtin $(shell) function
14944 instead of calling directly $(SHELL) to create the locale directories,
14945 inside the $(foreach) function.
14946
74ff1dd5
FZ
149472009-11-21 Felix Zielcke <fzielcke@z-51.de>
14948
14949 * util/grub-mkrescue.in: Print an error and usage if output option
14950 has not been given.
14951
0b787d0e
FZ
149522009-11-21 Felix Zielcke <fzielcke@z-51.de>
14953
14954 Patch from Loïc Minier <loic.minier@ubuntu.com>.
14955 * util/grub.d/30_os-prober.in: Cope with Linux entries where
14956 root and /boot are on different devices.
14957
1164b270
RM
149582009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14959
14960 Fix build for srcdir != objdir.
14961
14962 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
14963 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
14964 $(srcdir).
14965 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
14966 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
14967 reference for input.
14968
13774a2f
RM
149692009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14970
14971 * util/grub-mkrescue.in: Use source directory direcly (without copiing
14972 or hardlinking it). Remove -J option, Joliet is not compatible with
14973 multiple source directories.
14974
efda854e
RM
149752009-11-21 Carles Pina i Estany <carles@pina.cat>
149762009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14977
14978 * util/grub-mkrescue.in: Recognize `--override-directory' option.
14979 (process_input_dir): New function. Process an arbitrary input
14980 directory.
14981 Misc adjustments to support both "override mode" and system-wide mode.
14982
6c09890c
FZ
149832009-11-20 Felix Zielcke <fzielcke@z-51.de>
14984
14985 * configure.ac (UNIFONT_BDF): Rename to ...
14986 (FONT_SOURCE): ... this. Update all users.
14987
a797824f
FZ
149882009-11-20 Felix Zielcke <fzielcke@z-51.de>
14989
14990 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
14991 to the list of unifont files to look for.
14992
cd4f42b0
RM
149932009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14994
14995 Patch from Joe Auricchio <jauricchio@gmail.com>
14996 * commands/minicmd.c (grub_mini_cmd_clear): New function.
14997 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
14998 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
14999
393c783d
FZ
150002009-11-19 Felix Zielcke <fzielcke@z-51.de>
15001
15002 * Makefile.in (install-local): Add a missing backslash.
15003
b2f1e327
FZ
150042009-11-19 Felix Zielcke <fzielcke@z-51.de>
15005
15006 * include/grub/x86_64/io.h: New file.
15007
f577f7a0
RM
150082009-11-19 Robert Millan <rmh.grub@aybabtu.com>
15009
15010 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
15011 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
15012 Include `"progname.h"'.
15013 (main): Initialize gettext.
15014 * util/i386/pc/grub-setup.c: Gettexttize.
15015 * util/i386/pc/grub-mkimage.c: Likewise.
15016
15017 * Makefile.in (po/*.po): Redefine as ...
15018 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
15019
3bc7896c
RM
15020 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
15021
c37943b6
RM
150222009-11-19 Robert Millan <rmh.grub@aybabtu.com>
15023
15024 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
15025 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
15026 (program_name): Remove.
15027 (main): Initialize gettext support.
6323f705
RM
15028 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
15029 Include `<libintl.h>'.
15030 (_): New macro.
c37943b6
RM
15031
15032 * util/mkisofs/eltorito.c: Gettexttize.
15033 * util/mkisofs/joliet.c: Likewise.
15034 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
15035 * util/mkisofs/multi.c: Likewise.
15036 * util/mkisofs/rock.c: Likewise.
15037 * util/mkisofs/tree.c: Likewise.
15038 * util/mkisofs/write.c: Likewise.
15039
3bc7896c
RM
15040 * po/POTFILES: Update with new files.
15041
5ce77c6e
RM
150422009-11-18 Robert Millan <rmh.grub@aybabtu.com>
15043
15044 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
15045 * util/mkisofs/iso9660.h: Likewise.
15046 * util/mkisofs/joliet.c: Likewise.
15047 * util/mkisofs/mkisofs.c: Likewise.
15048 * util/mkisofs/mkisofs.h: Likewise.
15049 * util/mkisofs/rock.c: Likewise.
15050 * util/mkisofs/tree.c: Likewise.
15051 * util/mkisofs/write.c: Likewise.
15052
15053 * util/mkisofs/eltorito.c (rcsid): Remove.
15054 * util/mkisofs/hash.c: Likewise.
15055 * util/mkisofs/joliet.c: Likewise.
15056 * util/mkisofs/name.c: Likewise.
15057 * util/mkisofs/rock.c: Likewise.
15058 * util/mkisofs/tree.c: Likewise.
15059 * util/mkisofs/write.c: Likewise.
15060
1dabbc77
RM
150612009-11-18 Robert Millan <rmh.grub@aybabtu.com>
15062
15063 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
15064 instead of static allocation.
15065 * util/mkisofs/match.h: Likewise.
15066
633877cb
RM
150672009-11-18 Robert Millan <rmh.grub@aybabtu.com>
15068
3bc7896c
RM
15069 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
15070 and `util/grub.d/10_linux.in'.
633877cb
RM
15071 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
15072 translatable Shell files.
15073
af1c0c85
RM
150742009-11-18 Robert Millan <rmh.grub@aybabtu.com>
15075
15076 * Makefile.in ($(srcdir)/aclocal.m4): New target.
15077
769ae37b
RM
150782009-11-17 Robert Millan <rmh.grub@aybabtu.com>
15079
15080 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 15081 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
15082 * util/grub.d/10_kfreebsd.in (bindir): New variable.
15083 Add gettext initialization.
15084 (kfreebsd_entry): Make menuentry output translatable.
15085
150862009-11-17 Robert Millan <rmh.grub@aybabtu.com>
15087
15088 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
15089 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
15090 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
15091 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
15092 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 15093 * po/LINGUAS: New file.
769ae37b
RM
15094
150952009-11-17 Robert Millan <rmh.grub@aybabtu.com>
15096
15097 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
15098 other things).
15099 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
15100 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
15101 bindtextdomain() calls for gettext initialization.
15102
151032009-11-17 Robert Millan <rmh.grub@aybabtu.com>
15104
15105 * gnulib/progname.c: New file (imported from Gnulib).
15106 * gnulib/progname.h: Likewise.
15107 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
15108 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
15109 (usage): Replace `progname' with `program_name'.
15110 (main): Use set_program_name() for program name initialization.
15111
151122009-11-17 Robert Millan <rmh.grub@aybabtu.com>
15113
15114 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
15115 from here ...
15116 * Makefile.in (CPPFLAGS): ... to here.
15117
151182009-11-16 Robert Millan <rmh.grub@aybabtu.com>
15119
15120 * aclocal.m4: Move from here ...
15121 * acinclude.m4: ... to here.
15122 * autogen.sh: Add call to `aclocal'.
15123 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
15124
151252009-11-16 Robert Millan <rmh.grub@aybabtu.com>
15126
15127 * Makefile.in (CLEANFILES): Add `po/*.mo'.
15128 (LINGUAS): New variable.
15129 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
15130 (install-local): Install MO files.
15131 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
15132 * include/grub/i18n.h: New file.
3bc7896c
RM
15133 * po/POTFILES: New file.
15134 * po/ca.po: New file.
769ae37b
RM
15135 * util/grub.d/10_linux.in (bindir): New variable.
15136 Add gettext initialization.
15137 (linux_entry): Make menuentry output translatable.
15138 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
15139 (usage): Make --help output translatable.
15140 (main): Initialize gettext.
15141
02c0a6ad
RM
151422009-11-17 Robert Millan <rmh.grub@aybabtu.com>
15143
15144 * import_gcry.py: New file (written by Vladimir with minor
15145 adjustments).
15146 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
15147 ciphers.
15148 * INSTALL: Document that Python is required for bootstrap.
15149
151502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
15151
15152 Import ciphers from libgcrypt 1.4.4.
15153
15154 * lib/libgcrypt/cipher/ChangeLog
15155 * lib/libgcrypt/cipher/ac.c
15156 * lib/libgcrypt/cipher/arcfour.c
15157 * lib/libgcrypt/cipher/bithelp.h
15158 * lib/libgcrypt/cipher/blowfish.c
15159 * lib/libgcrypt/cipher/camellia-glue.c
15160 * lib/libgcrypt/cipher/camellia.c
15161 * lib/libgcrypt/cipher/camellia.h
15162 * lib/libgcrypt/cipher/cast5.c
15163 * lib/libgcrypt/cipher/cipher.c
15164 * lib/libgcrypt/cipher/crc.c
15165 * lib/libgcrypt/cipher/des.c
15166 * lib/libgcrypt/cipher/dsa.c
15167 * lib/libgcrypt/cipher/ecc.c
15168 * lib/libgcrypt/cipher/elgamal.c
15169 * lib/libgcrypt/cipher/hash-common.c
15170 * lib/libgcrypt/cipher/hash-common.h
15171 * lib/libgcrypt/cipher/hmac-tests.c
15172 * lib/libgcrypt/cipher/md.c
15173 * lib/libgcrypt/cipher/md4.c
15174 * lib/libgcrypt/cipher/md5.c
15175 * lib/libgcrypt/cipher/primegen.c
15176 * lib/libgcrypt/cipher/pubkey.c
15177 * lib/libgcrypt/cipher/rfc2268.c
15178 * lib/libgcrypt/cipher/rijndael-tables.h
15179 * lib/libgcrypt/cipher/rijndael.c
15180 * lib/libgcrypt/cipher/rmd.h
15181 * lib/libgcrypt/cipher/rmd160.c
15182 * lib/libgcrypt/cipher/rsa.c
15183 * lib/libgcrypt/cipher/seed.c
15184 * lib/libgcrypt/cipher/serpent.c
15185 * lib/libgcrypt/cipher/sha1.c
15186 * lib/libgcrypt/cipher/sha256.c
15187 * lib/libgcrypt/cipher/sha512.c
15188 * lib/libgcrypt/cipher/tiger.c
15189 * lib/libgcrypt/cipher/twofish.c
15190 * lib/libgcrypt/cipher/whirlpool.c
15191
af2f93ac
RM
151922009-11-16 Robert Millan <rmh.grub@aybabtu.com>
15193
15194 Fix build for systems without error().
15195
15196 * gnulib/error.c: New file (imported from Gnulib).
15197 * gnulib/error.h: Likewise.
15198 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
15199 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
15200 (this variable is now used by error()).
15201
73fb3dd5
FZ
152022009-11-16 Felix Zielcke <fzielcke@z-51.de>
15203
814f5e96
FZ
15204 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
15205 instead of relying that char is signed.
73fb3dd5 15206
a691ca33
VS
152072009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15208
15209 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
15210 blocksize different from specified.
15211 (grub_pxefs_read): Likewise.
15212
2af8f0f4
FZ
152132009-11-16 Felix Zielcke <fzielcke@z-51.de>
15214
15215 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
15216
15217 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
15218 (grub_ata_readwrite): Likewise. Update 2 format strings.
15219 (grub_atapi_read): Likewise.
15220
15221 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
15222 * conf/i386.rmk (pkglib_MODULES): ... to here ...
15223 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
15224 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
15225 (ata_mod_LDFLAGS): Move from here ...
15226 * conf/i386.rmk: ... to here ...
15227 * conf/x86_64-efi.rmk: ... and here.
15228 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
15229 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
15230
83bdecaf
RM
152312009-11-16 Robert Millan <rmh.grub@aybabtu.com>
15232
15233 Relicense multiboot.h, with RMS' blessing.
15234
15235 * include/multiboot.h: Change to X11 license.
15236
fd6fd3d7
RM
152372009-11-15 Robert Millan <rmh.grub@aybabtu.com>
15238
15239 Support --version in grub-mkisofs.
15240
15241 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
15242 (OPTION_VERSION): New macro.
15243 (ld_options): Recognize --version.
15244 (usage): Move `program_name' from here ...
15245 (program_name): ... to here. Add `static' qualifier.
15246 (main): Recognize `OPTION_VERSION'.
15247
16a88c49
FZ
152482009-11-15 Felix Zielcke <fzielcke@z-51.de>
15249
15250 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
15251 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
15252
a4158476
RM
152532009-11-14 Robert Millan <rmh.grub@aybabtu.com>
15254
15255 Fix help2man generation for mkisofs.
15256
15257 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
15258 (usage): Send output to stdout (rather than stderr).
15259
fc2208b0
RM
152602009-11-14 Robert Millan <rmh.grub@aybabtu.com>
15261
15262 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
15263 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
15264 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
15265 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
15266 (bin_SCRIPTS): Add `grub-mkfloppy'.
15267 (grub_mkfloppy_SOURCES): New variable.
15268
15269 * util/grub-mkrescue.in: New file.
15270 * util/i386/pc/grub-mkfloppy.in: New file.
15271
15272 * util/i386/coreboot/grub-mkrescue.in: Remove.
15273 * util/i386/pc/grub-mkrescue.in: Remove.
15274
8d0edf4a
RM
152752009-11-13 Robert Millan <rmh.grub@aybabtu.com>
15276
15277 * include/grub/multiboot.h (struct grub_multiboot_header): Move
15278 from here ...
15279 * include/multiboot.h (struct multiboot_header): ... to here. Update
15280 all users.
15281 * include/grub/multiboot.h (struct grub_multiboot_info): Move
15282 from here ...
15283 * include/multiboot.h (struct multiboot_info): ... to here. Update
15284 all users.
15285 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
15286 from here ...
15287 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
15288 Update all users.
15289 * include/grub/multiboot.h (struct grub_mod_list): Move
15290 from here ...
15291 * include/multiboot.h (struct multiboot_mod_list): ... to here.
15292 Update all users.
15293
a73f5969
RM
152942009-11-13 Robert Millan <rmh.grub@aybabtu.com>
15295
15296 * include/multiboot2.h (multiboot_word): Rename from this ...
15297 (multiboot2_word): ... to this. Update all users.
15298 (multiboot_header): Rename from this ...
15299 (multiboot2_header): ... to this. Update all users.
15300 (multiboot_tag_header): Rename from this ...
15301 (multiboot2_tag_header): ... to this. Update all users.
15302 (multiboot_tag_start): Rename from this ...
15303 (multiboot2_tag_start): ... to this. Update all users.
15304 (multiboot_tag_name): Rename from this ...
15305 (multiboot2_tag_name): ... to this. Update all users.
15306 (multiboot_tag_module): Rename from this ...
15307 (multiboot2_tag_module): ... to this. Update all users.
15308 (multiboot_tag_memory): Rename from this ...
15309 (multiboot2_tag_memory): ... to this. Update all users.
15310 (multiboot_tag_unused): Rename from this ...
15311 (multiboot2_tag_unused): ... to this. Update all users.
15312 (multiboot_tag_end): Rename from this ...
15313 (multiboot2_tag_end): ... to this. Update all users.
15314
1c8927f0
RM
153152009-11-13 Robert Millan <rmh.grub@aybabtu.com>
15316
15317 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
15318 this platform we should support Multiboot1 first.
15319
15320 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
15321 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
15322 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
15323
6e1e0d89
RM
153242009-11-12 Robert Millan <rmh.grub@aybabtu.com>
15325
15326 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
15327 of write calls (converting them to fwrite() if they aren't already).
15328 (get_torito_desc): Likewise.
15329 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
15330
7f2b34d8
RM
153312009-11-12 Robert Millan <rmh.grub@aybabtu.com>
15332
15333 * util/i386/pc/grub-install.in: Move from here ...
15334 * util/grub-install.in: ... to here. Update all users.
15335
c0ef3311
CW
153362009-11-11 Colin Watson <cjwatson@ubuntu.com>
15337
15338 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
15339
e1f240ff
RM
153402009-11-11 Robert Millan <rmh.grub@aybabtu.com>
15341
15342 Support for El Torito without floppy emulation.
15343
15344 * util/mkisofs/eltorito.c: Include `<errno.h>'.
15345 (init_boot_catalog): Improve error handling.
15346 (get_torito_desc): Don't use floppy emulation unless requested by
15347 user. Patch boot information table when requested via
15348 `-boot-info-table'.
15349 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
15350 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
15351 (use_boot_info_table): New variables.
15352 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
15353 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
15354 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
15355 `--eltorito-emul-floppy'.
15356 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
15357 and `OPTION_ELTORITO_EMUL_FLOPPY'.
15358 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
15359 (use_boot_info_table, get_731): New prototypes.
15360 * util/mkisofs/write.c (get_731): New function.
15361
af7d4de5
FZ
153622009-11-11 Felix Zielcke <fzielcke@z-51.de>
15363
15364 Fix the generation of the man page.
15365
15366 * util/pc/i386/grub-install.in: Source
15367 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
15368
2c55dbc0
RM
153692009-11-11 Robert Millan <rmh.grub@aybabtu.com>
15370
15371 Large file support for grub-mkisofs.
15372
15373 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
15374 * util/mkisofs/mkisofs.c (next_extent, last_extent)
15375 (session_start): Upgrade type to `uint64_t'. Update all users.
15376 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
15377 (struct directory_entry): Upgrade type of `starting_block' and
15378 `size' to `uint64_t'. Update all users.
15379 (struct deferred): Remove unused structure.
15380 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
15381 Update all users.
15382 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
15383 file is larger than `UINT32_MAX'.
15384 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
15385 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
15386 return value.
15387 (struct deferred_write): Upgrade type of `extent' and `size' to
15388 `uint64_t'. Update all users.
15389 (last_extent_written): Upgrade type to `uint64_t'. Update all
15390 users.
15391 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
15392 Update all users. Upgrade type of `remain' to `int64_t' and
15393 `use' to `size_t'. Use error() to handle fread() errors.
15394 (write_files): Rely on write_one_file() rather than calling
15395 xfwrite() directly.
15396
6a9cead5
FZ
153972009-11-09 Felix Zielcke <fzielcke@z-51.de>
15398
15399 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
15400
4825d790
RM
154012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15402
15403 * util/mkisofs/fnmatch.c: Remove.
15404 * util/mkisofs/getopt1.c: Likewise.
15405 * util/mkisofs/getopt.c: Likewise.
15406 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
15407 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
15408 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
15409 `gnulib/getopt1.c' and `gnulib/getopt.c'.
15410 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
15411
15412 * configure.ac: Detect `mingw32msvc' host_os.
15413 Check for lstat(), getuid() and getgid().
15414
15415 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
15416 instances of `u_char' with `uint8_t'.
15417
15418 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
15419 [!HAVE_GETUID] (getuid): New function (stub).
15420 [!HAVE_GETGID] (getgid): Likewise.
15421 [!HAVE_LSTAT] (lstat): Likewise.
15422 [!S_IROTH] (S_IROTH): New macro (dummy).
15423 [!S_IRGRP] (S_IRGRP): Likewise.
15424
84b860d8
RM
154252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15426
15427 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
15428 conditional expression).
15429
66e9b712
RM
154302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15431
15432 Import from Gnulib.
15433
15434 * gnulib/fnmatch.c: New file.
15435 * gnulib/fnmatch.h: Likewise.
15436 * gnulib/fnmatch_loop.c: Likewise.
15437 * gnulib/getopt.c: Likewise.
15438 * gnulib/getopt.h: Likewise.
15439 * gnulib/getopt1.c: Likewise.
15440 * gnulib/getopt_int.h: Likewise.
15441 * gnulib/gettext.h: Likewise.
15442
34f4a5b0
RM
154432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15444
15445 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
15446 * normal/handler.c (read_handler_list): Likewise.
15447
ac451143
RM
154482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15449
15450 Misc cleanup.
15451
15452 * kern/command.c (grub_register_command_prio): Use
15453 grub_zalloc() instead of explicitly zeroing data.
15454 * kern/list.c: Include `<grub/mm.h>'.
15455 (grub_named_list_find): Replace `0' with `NULL'.
15456 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
15457 (fs_module_list): Change type to `grub_named_list_t'. Update all
15458 users.
15459 * normal/dyncmd.c (read_command_list): Add space between function
15460 call and parenthesis.
15461 * normal/handler.c (read_handler_list): Likewise.
15462
4089b167
RM
154632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15464
15465 * normal/auth.c (punishment_delay): Moved from here ...
15466 (grub_auth_strcmp): ... to here (inside function).
15467
325f5037
RM
154682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15469
15470 * include/grub/list.h (struct grub_named_list): Remove `const'
15471 qualifier from `name'.
15472 (struct grub_prio_list): Likewise.
15473
7aea29a3
RM
154742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15475
15476 * normal/auth.c: Include `<grub/time.h>'.
15477 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
15478
3fd6f044
RM
154792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15480
15481 * normal/auth.c (punishment_delay): New variable.
15482 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
15483 (grub_auth_check_authentication): Punish failed login attempts with
15484 an incremental (2^N) delay.
15485
a4cd68e4
RM
154862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15487
15488 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
15489 path with $(srcdir).
15490
7ad12f43
VS
154912009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15492
15493 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
15494
c1129f03
RM
154952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15496
15497 * util/i386/coreboot/grub-mkrescue.in: New file.
15498 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
15499 variables.
15500
15501 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
15502 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
15503 * configure.ac: Add header and function checks to satisfy grub-mkisofs
15504 requirements.
15505 * util/mkisofs/defaults.h: New file.
15506 * util/mkisofs/eltorito.c: Likewise.
15507 * util/mkisofs/exclude.h: Likewise.
15508 * util/mkisofs/fnmatch.c: Likewise.
15509 * util/mkisofs/getopt.c: Likewise.
15510 * util/mkisofs/getopt1.c: Likewise.
15511 * util/mkisofs/hash.c: Likewise.
15512 * util/mkisofs/include/fctldefs.h: Likewise.
15513 * util/mkisofs/include/mconfig.h: Likewise.
15514 * util/mkisofs/include/prototyp.h: Likewise.
15515 * util/mkisofs/include/statdefs.h: Likewise.
15516 * util/mkisofs/iso9660.h: Likewise.
15517 * util/mkisofs/joliet.c: Likewise.
15518 * util/mkisofs/match.c: Likewise.
15519 * util/mkisofs/match.h: Likewise.
15520 * util/mkisofs/mkisofs.c: Likewise.
15521 * util/mkisofs/mkisofs.h: Likewise.
15522 * util/mkisofs/multi.c: Likewise.
15523 * util/mkisofs/name.c: Likewise.
15524 * util/mkisofs/rock.c: Likewise.
15525 * util/mkisofs/tree.c: Likewise.
15526 * util/mkisofs/write.c: Likewise.
15527
ec8bb77d
VS
155282009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15529
15530 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
15531 being insecure.
15532
3716b12c
RM
155332009-11-08 Robert Millan <rmh.grub@aybabtu.com>
15534
15535 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
15536 `grub-mkimage' (and use $0 when possible).
15537
b97b7b91
RM
155382009-11-08 Robert Millan <rmh.grub@aybabtu.com>
15539
15540 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
15541 error message for excessively large memory map.
15542
04114812
RM
155432009-11-08 Robert Millan <rmh.grub@aybabtu.com>
15544
15545 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
15546 executable bit.
15547
e4eb2373
RM
155482009-11-08 Robert Millan <rmh.grub@aybabtu.com>
15549
15550 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
15551 message for coreboot users.
15552
c926e1d5 155532009-11-07 Robert Millan <rmh.grub@aybabtu.com>
15554
15555 Fix build with GNU gold.
15556
15557 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
15558 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
15559 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
15560 link addresses.
15561 * aclocal.m4: Likewise.
15562
86e5b1db 155632009-11-04 Felix Zielcke <fzielcke@z-51.de>
15564
15565 * configure.ac (AC_PREREQ): Bump to 2.59d.
15566 * INSTALL: Make it more clear when Autoconf and Ruby are
15567 needed and when to run `./autogen.sh'.
15568
246cd78f 155692009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
15570
15571 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
15572 OSes.
15573
4f9dfb37 155742009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
15575
15576 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
15577
b82bd5e1 155782009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
15579
15580 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
15581 giving it to GNU Mach.
15582
ff1a9bca 155832009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
15584
15585 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
15586 GNU partition number to get internal GRUB partition number.
15587
61697d9c 155882009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
15589
15590 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
15591 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
15592
a50569e1 155932009-11-01 Robert Millan <rmh.grub@aybabtu.com>
15594
15595 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
15596 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
15597 case.
15598
5b153867 155992009-11-01 Felix Zielcke <fzielcke@z-51.de>
15600
15601 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
15602
d9e2cd70 156032009-10-30 Robert Millan <rmh.grub@aybabtu.com>
15604
15605 Fix build problem.
15606
15607 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
15608 `-isystem=$(srcdir)/include'.
15609
805111a4 156102009-10-30 Robert Millan <rmh.grub@aybabtu.com>
15611
15612 * util/i386/pc/grub-install.in: Remove hint that device.map should be
15613 checked (grub-install doesn't currently rely on it).
15614
fa6e945f 156152009-10-29 Robert Millan <rmh.grub@aybabtu.com>
15616
15617 Revert SVN r2660.
15618
15619 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
15620 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
15621 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
15622 * conf/i386-ieee1275.rmk: Likewise.
15623 * conf/i386-pc.rmk: Likewise.
15624 * conf/powerpc-ieee1275.rmk: Likewise.
15625 * conf/sparc64-ieee1275.rmk: Likewise.
15626 * conf/x86_64-efi.rmk: Likewise.
15627
cee15086 156282009-10-28 Robert Millan <rmh.grub@aybabtu.com>
15629
15630 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
15631
95b9239e 156322009-10-28 Robert Millan <rmh.grub@aybabtu.com>
15633
15634 * include/grub/misc.h: Stop checking for APPLE_CC.
15635
2ed19dfd 156362009-10-28 Robert Millan <rmh.grub@aybabtu.com>
15637
15638 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
15639 doesn't cause an infinite call loop.
15640
fdcdde19 156412009-10-28 Felix Zielcke <fzielcke@z-51.de>
15642
15643 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
15644 strings.
15645
cefabfe1 156462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15647
15648 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
15649 variable.
15650 * Makefile.in: Likewise.
15651
ed96ab6d 156522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15653
15654 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
15655
0579b753 156562009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15657
15658 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
15659
478df409 156602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15661
15662 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
15663
083d1679 156642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15665
15666 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
15667 from here ...
15668 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
15669
5947ae32 156702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15671
15672 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
15673 in $(MAKEINFO) invocation. This makes it clear in output that
15674 errors are being ignored.
15675
94180ff6 156762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15677
15678 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
15679 from here ...
15680 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
15681 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
15682 * conf/i386-ieee1275.rmk: Likewise.
15683 * conf/i386-pc.rmk: Likewise.
15684 * conf/powerpc-ieee1275.rmk: Likewise.
15685 * conf/sparc64-ieee1275.rmk: Likewise.
15686 * conf/x86_64-efi.rmk: Likewise.
15687
9031b03a 156882009-10-26 Colin Watson <cjwatson@ubuntu.com>
15689
15690 * util/grub-editenv.c (main): If only a command is given, use
15691 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
15692 (usage): FILENAME is now optional and has a default.
15693
e4f6809b 156942009-10-26 Colin Watson <cjwatson@ubuntu.com>
15695
15696 Improve grub-mkconfig performance when there are several menu
15697 entries on a single filesystem.
15698
15699 * util/grub.d/10_linux.in (linux_entry): Cache the output of
15700 prepare_grub_to_access_device.
15701 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
15702 * util/grub.d/30_os-prober.in: Likewise.
15703
67937d4d 157042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15705
15706 * util/grub.d/10_freebsd.in: Remove.
15707 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
15708 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
15709
ee3756cc 157102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
15711
5c35048e 15712 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 15713
4dea1c6f 157142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15715
15716 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
15717 grub_util_error() call.
15718
042484d7 157192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15720
15721 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
15722 `reserved_first_sector' member.
15723 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
15724 `reserved_first_sector' to 1.
15725 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
15726 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
15727 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
15728 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
15729 filesystems which begin at first sector.
15730 (options): New option --skip-fs-probe.
15731 (main): Handle --skip-fs-probe and pass it to setup().
15732
d64448a7 157332009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15734
15735 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
15736 (memset): Fix function prototype.
15737
508d42ec 157382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
157392009-10-25 Vasily Averin <vvs@parallels.com>
15740
15741 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
15742 `dirent.direntlen == 0'.
15743
b240e30c 157442009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15745
15746 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
15747 `cpio'.
15748 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
15749
346e7fbe 157502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15751
15752 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
15753 `__trampoline_setup' and `__ucmpdi2'.
15754 * include/grub/powerpc/libgcc.h: Only export symbols for functions
15755 that libgcc provides.
15756
cdb308b0 157572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15758
15759 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
15760 * include/grub/sparc64/libgcc.h (memset): Likewise.
15761 * include/grub/misc.h (memset, memcmp): New function prototypes.
15762
fb26abc2 157632009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15764
15765 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
15766 `cpio'.
15767 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
15768
f6693890 157692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15770
15771 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
15772 * docs/grub.cfg: Compensate for recent change in multiboot
15773 loader (since 2009-08-14 it won't pass filename to payload).
15774 * util/grub.d/10_hurd.in: Likewise.
15775
0933cdc0 157762009-10-21 Felix Zielcke <fzielcke@z-51.de>
15777
15778 * config.guess: Update to latest version from config git
15779 repository.
15780 * config.sub: Likewise.
15781
3b2fe8c2 157822009-10-20 Robert Millan <rmh.grub@aybabtu.com>
15783
15784 Fix build on sparc64.
15785
15786 * configure.ac: Perform checks for libgcc symbols before
15787 adding `-nostdlib' to LDFLAGS.
15788
46695a62 157892009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15790
15791 Let user specify OpenBSD root device.
15792
15793 * loader/i386/bsd.c (openbsd_root): New variable.
15794 (openbsd_opts): New option 'root'.
15795 (OPENBSD_ROOT_ARG): New macro.
15796 (grub_openbsd_boot): Use 'openbsd_root'.
15797 (grub_cmd_openbsd): Fill 'openbsd_root'.
15798
d2b6b7fc 157992009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15800
15801 * NEWS: Misc adjustments.
15802
421bd7ac 158032009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
15806
f1d29d87 158072009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15808
15809 * configure.ac: Bump version to 1.97.
15810
6f3cd880 158112009-10-16 Colin Watson <cjwatson@ubuntu.com>
15812
15813 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
15814 -mno-3dnow on x86 architectures. Some toolchains enable these
15815 features by default, but they rely on registers that aren't enabled
15816 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
15817
035f7122 158182009-10-15 Robert Millan <rmh.grub@aybabtu.com>
15819
15820 Make entry text a bit more readable.
15821
15822 * util/grub.d/10_linux.in: Add `with' before `Linux'.
15823
44998e58 158242009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15825
15826 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
15827
cd2851b3 158282009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15829
15830 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
15831 operations.
15832
c6f3b249 158332009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15834
15835 * configure.ac: Add missing dollar.
15836
6b5886ba 158372009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15838
15839 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
15840
15841 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
15842 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
15843 exports.
15844 * include/grub/sparc64/libgcc.h: Likewise. Use
15845 preprocessor conditionals.
15846
e9d66f6d 158472009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15848
15849 * conf/common.rmk (grub-dumpbios): Remove rule.
15850 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
15851 * util/grub-dumpbios.in: Remove file.
15852
9155bc17 158532009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15854
15855 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
15856 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
15857
15858 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
15859 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
15860 users.
15861
15862 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
15863 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
15864 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
15865 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
15866 users.
15867
bf7f7a18 158682009-10-12 Robert Millan <rmh.grub@aybabtu.com>
15869
15870 * term/tparm.c: Switch to GPLv3.
15871
86564c26 158722009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15873
15874 * include/grub/i386/cpuid.h: Add header protection.
15875
5c936493 158762009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15877
15878 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
15879
15880 * include/grub/i386/cpuid.h: New file.
15881 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
15882 (has_longmode): Rename to ...
15883 (grub_cpuid_has_longmode): ... this. Update all users. Remove
15884 `static' attribute.
15885 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
15886 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
15887 on a CPU that doesn't implement AMD64 instruction set.
15888
186e7cf2 158892009-10-06 Colin Watson <cjwatson@ubuntu.com>
15890
15891 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
15892 that version.texi is rebuilt on version number changes.
15893
83b65c4a 158942009-10-06 Colin Watson <cjwatson@ubuntu.com>
15895
15896 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
15897 Fixes bug #27602.
15898
d244281c 158992009-10-06 Colin Watson <cjwatson@ubuntu.com>
15900
15901 * util/i386/pc/grub-install.in: Source
15902 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
15903 that the --grub-probe option will work.
15904 * util/sparc64/ieee1275/grub-install.in: Likewise.
15905
da25306d 159062009-10-05 Robert Millan <rmh.grub@aybabtu.com>
15907
15908 * configure.ac: Bump version to 1.97~beta4.
15909
e8ee83c0 159102009-10-03 Robert Millan <rmh.grub@aybabtu.com>
15911
15912 Resync grub-mkdevicemap in x86_64-efi.
15913
15914 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
15915 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
15916 `util/devicemap.c'.
15917
50dcabcf 159182009-10-01 Colin Watson <cjwatson@ubuntu.com>
15919
15920 * util/grub-editenv.c (create_envblk_file): Write new block with a
15921 .new suffix and then rename it into place, to ensure atomic
15922 creation.
15923
0e51c3a7 159242009-09-28 Robert Millan <rmh.grub@aybabtu.com>
15925
15926 Do not automatically install headers.
15927
15928 * Makefile.in (include_DATA): Remove. Update all users.
15929
31299a95 159302009-09-26 Robert Millan <rmh.grub@aybabtu.com>
15931
15932 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
15933 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
15934
15935 * util/osdetect.lua: Remove.
15936 * script/lua/lauxlib.c: Likewise.
15937 * script/lua/ldebug.c: Likewise.
15938 * script/lua/grub_main.c: Likewise.
15939 * script/lua/lauxlib.h: Likewise.
15940 * script/lua/ldebug.h: Likewise.
15941 * script/lua/ltablib.c: Likewise.
15942 * script/lua/liolib.c: Likewise.
15943 * script/lua/lstrlib.c: Likewise.
15944 * script/lua/lualib.h: Likewise.
15945 * script/lua/ldo.c: Likewise.
15946 * script/lua/ldump.c: Likewise.
15947 * script/lua/ldo.h: Likewise.
15948 * script/lua/loslib.c: Likewise.
15949 * script/lua/lundump.c: Likewise.
15950 * script/lua/grub_lib.c: Likewise.
15951 * script/lua/ldblib.c: Likewise.
15952 * script/lua/lundump.h: Likewise.
15953 * script/lua/lmem.c: Likewise.
15954 * script/lua/grub_lib.h: Likewise.
15955 * script/lua/lmathlib.c: Likewise.
15956 * script/lua/lstate.c: Likewise.
15957 * script/lua/ltm.c: Likewise.
15958 * script/lua/lvm.c: Likewise.
15959 * script/lua/lmem.h: Likewise.
15960 * script/lua/lstate.h: Likewise.
15961 * script/lua/ltm.h: Likewise.
15962 * script/lua/ltable.c: Likewise.
15963 * script/lua/lvm.h: Likewise.
15964 * script/lua/llex.c: Likewise.
15965 * script/lua/lgc.c: Likewise.
15966 * script/lua/grub_lua.h: Likewise.
15967 * script/lua/loadlib.c: Likewise.
15968 * script/lua/lfunc.c: Likewise.
15969 * script/lua/lopcodes.c: Likewise.
15970 * script/lua/lparser.c: Likewise.
15971 * script/lua/ltable.h: Likewise.
15972 * script/lua/llex.h: Likewise.
15973 * script/lua/lgc.h: Likewise.
15974 * script/lua/lfunc.h: Likewise.
15975 * script/lua/lbaselib.c: Likewise.
15976 * script/lua/lopcodes.h: Likewise.
15977 * script/lua/lparser.h: Likewise.
15978 * script/lua/lzio.c: Likewise.
15979 * script/lua/linit.c: Likewise.
15980 * script/lua/lobject.c: Likewise.
15981 * script/lua/llimits.h: Likewise.
15982 * script/lua/lstring.c: Likewise.
15983 * script/lua/lzio.h: Likewise.
15984 * script/lua/lapi.c: Likewise.
15985 * script/lua/lcode.c: Likewise.
15986 * script/lua/lua.h: Likewise.
15987 * script/lua/lobject.h: Likewise.
15988 * script/lua/lstring.h: Likewise.
15989 * script/lua/lapi.h: Likewise.
15990 * script/lua/lcode.h: Likewise.
15991 * script/lua/luaconf.h: Likewise.
15992
cb8a2c38 159932009-09-26 Colin Watson <cjwatson@ubuntu.com>
15994
15995 * docs/grub.texi (Command-line and menu entry commands): Document
15996 date and echo commands.
15997
6b9b6276 159982009-09-24 Pavel Roskin <proski@gnu.org>
15999
16000 * include/grub/kernel.h (struct grub_module_header): Remove
16001 `grub_module_header_types'. Make `type' unsigned. Make `size'
16002 32-bit on all platforms.
16003 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
16004 8-bit field. Use grub_host_to_target32() for `size'.
16005 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
16006 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
16007 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
16008
4e5a02a7 160092009-09-24 Robert Millan <rmh.grub@aybabtu.com>
16010
16011 Fix "lost keypress" bug in at_keyboard.
16012
16013 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
16014 Checks for readyness of input buffer (without flushing it).
16015 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
16016 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
16017
c6dcedf6 160182009-09-24 Robert Millan <rmh.grub@aybabtu.com>
16019
16020 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
16021 size check within GRUB_MACHINE_PCBIOS section.
16022
74c958b1 160232009-09-24 Robert Millan <rmh.grub@aybabtu.com>
16024
16025 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
16026 return value.
16027 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
16028 KEYBOARD_ISREADY check.
16029 (grub_at_keyboard_checkkey): Rename to ...
16030 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
16031 Remove gratuitous cast.
16032
ff420223 160332009-09-23 Colin Watson <cjwatson@ubuntu.com>
16034
16035 * configure.ac: Call AC_PROG_MKDIR_P.
16036 * Makefile.in (docs/stamp-vti): Create docs directory. Create
16037 version.texi in $(builddir) rather than $(srcdir).
16038 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
16039 to makeinfo's @include search path.
16040
d96875df 160412009-09-23 Felix Zielcke <fzielcke@z-51.de>
16042
16043 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
16044
9b3f8365 160452009-09-23 Felix Zielcke <fzielcke@z-51.de>
16046
16047 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
16048 for `*.dpkg-new'.
16049
c44c90db 160502009-09-21 Colin Watson <cjwatson@ubuntu.com>
16051
16052 Build info documentation. Some code borrowed from Automake.
16053
16054 * configure.ac: Check for makeinfo.
16055 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
16056 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
16057 docs/version.texi.
16058 (MOSTLYCLEANFILES): Add vti.tmp.
16059 (docs/version.texi, docs/stamp-vti): Update automatically.
16060 (docs/grub.info): Build info documentation. Use --force and ignore
16061 errors for now.
16062 (all-local): Add $(INFOS).
16063 (install-local): Install info files.
16064 (uninstall): Uninstall info files.
16065 * docs/version.texi: Remove from revision control. This file is
16066 automatically generated on build now.
16067 * gendistlist.sh: Add `*.info'.
16068
e0b37bb5 160692009-09-21 Felix Zielcke <fzielcke@z-51.de>
16070
16071 * kern/term.c: Fix indentation.
16072
5a78865b 160732009-09-21 Felix Zielcke <fzielcke@z-51.de>
16074
16075 * util/hostdisk.c: Fix a comment.
16076
dace7e8a 160772009-09-20 Robert Millan <rmh.grub@aybabtu.com>
16078
16079 Fix regression introduced in r2539.
16080
16081 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
16082 to 0xA1.
16083
a83d079b 160842009-09-19 Colin Watson <cjwatson@ubuntu.com>
16085
16086 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 16087 os-prober. Under normal operation, it does not print anything to
16088 stderr; if it does, we need to debug it, and throwing away stderr
16089 makes that excessively difficult.
a83d079b 16090
be94a509 160912009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
16092
16093 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
16094
63f745e8 160952009-09-16 Robert Millan <rmh.grub@aybabtu.com>
16096
16097 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
16098 AC_LANG_PROGRAM from autoconf.
16099 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
16100 prototypes (fixes warning).
16101
16102 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
16103 `--disable-werror' was used.
16104
bbb2a70f 161052009-09-16 Robert Millan <rmh.grub@aybabtu.com>
16106
16107 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
16108 uninitialized `lastaddr'.
16109
77c24f1d 161102009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16111
0f0b8c87 16112 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 16113
07197f23 161142009-09-14 Colin Watson <cjwatson@ubuntu.com>
16115
16116 * commands/test.c (get_fileinfo): Return immediately if
16117 grub_fs_probe fails.
16118
dabf1798 161192009-09-14 José Martínez <xosemp@gmail.com>
16120
16121 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
16122
d52109a7 161232009-09-14 Colin Watson <cjwatson@ubuntu.com>
16124
16125 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
16126 output.
16127
56532179 161282009-09-13 Robert Millan <rmh.grub@aybabtu.com>
16129
16130 * configure.ac: Remove --enable-grub-pe2elf. Only build
16131 grub-pe2elf when needed by the build system itself.
16132 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
16133
8ef070f5 161342009-09-12 Robert Millan <rmh.grub@aybabtu.com>
16135
16136 * configure.ac: Bump version to 1.97~beta3.
16137 * docs/version.texi: Likewise.
16138
61229557 161392009-09-12 Robert Millan <rmh.grub@aybabtu.com>
16140
16141 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
16142 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
16143 from here ...
16144 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
16145 (grub_linux_setup_video): ... to here (with some adjustments).
16146
5c9f8d84 161472009-09-12 Robert Millan <rmh.grub@aybabtu.com>
16148
16149 Fix memory corruption issue (spotted by Colin Watson).
16150
16151 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
16152 causing returned size to be stored in an incorrect memory location.
16153 Fix use of uninitialized value when storing the returned size.
16154
e8f5d6e9 161552009-09-12 Yves Blusseau <blusseau@zetam.org>
16156
16157 Change clean rules to properly remove files
16158
16159 * genmk.rb: add new clean rules
16160 * Makefile.in (clean): add the new targets
16161 (mostlyclean): likewise
16162
cda2a409 161632009-09-11 Colin Watson <cjwatson@ubuntu.com>
16164
16165 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
16166 to grub_uint64_t.
16167 * fs/ntfs.c (init_file): Understand 64-bit sizes for
16168 non-resident files.
16169
86695375 161702009-09-11 Colin Watson <cjwatson@ubuntu.com>
16171
16172 * configure.ac: Don't look for help2man when cross-compiling. Fixes
16173 part of bug #27349.
16174
8aa1541a 161752009-09-10 Felix Zielcke <fzielcke@z-51.de>
16176
16177 * util/grub-mkconfig.in: Make the created config mode 400 and
16178 print a warning if it fails.
16179
48d9bb0a 161802009-09-10 Robert Millan <rmh.grub@aybabtu.com>
16181
16182 * util/grub.d/40_custom.in: Ask user to type custom entries below
16183 comment, rather than below 'exec tail' line.
16184
3b0521be 161852009-09-10 Colin Watson <cjwatson@ubuntu.com>
16186
16187 * util/grub.d/40_custom.in: Make sure that the explanatory text is
16188 visible in grub.cfg.
16189
50051d55 161902009-09-10 Colin Watson <cjwatson@ubuntu.com>
16191
16192 * util/grub.d/40_custom.in: Make it a little clearer how to use this
16193 file.
16194
c0d34387 161952009-09-10 Felix Zielcke <fzielcke@z-51.de>
16196
16197 * docs/grub.cfg: Add an example menu entry for memtest86+.
16198
80a608f3 161992009-09-09 Felix Zielcke <fzielcke@z-51.de>
16200
a2094832 16201 * config.guess: Update to latest version from config git.
80a608f3 16202 * config.sub: Likewise.
16203
99423078 162042009-09-08 Colin Watson <cjwatson@ubuntu.com>
16205
16206 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
16207 unknown-command case. Fixes bug #27320.
16208
44454e4c 162092009-09-08 Felix Zielcke <fzielcke@z-51.de>
16210
16211 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
16212 `help' if the command exists.
16213
e30d87ad 162142009-09-06 Robert Millan <rmh.grub@aybabtu.com>
16215
16216 * INSTALL: Require GCC 4.1.3 or later.
16217
9a86f1ec 162182009-09-06 Yves Blusseau <blusseau@zetam.org>
16219
16220 * Makefile.in (RMKFILES): add i386-qemu.rmk
16221 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
16222 $(srcdir)/stamp-h.in
16223
7f26d466 162242009-09-05 Robert Millan <rmh.grub@aybabtu.com>
16225
16226 * util/grub-probe.c (probe): Comment out buggy codepath, which
16227 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
16228 should be re-enabled after 1.97.
16229
3a613259 162302009-09-05 Felix Zielcke <fzielcke@z-51.de>
16231
16232 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
16233 find searches for.
16234
197f76c7 162352009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16236
16237 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
16238 unnecessary calls to grub_error.
16239
70ba68ce 162402009-09-04 Colin Watson <cjwatson@ubuntu.com>
16241
16242 * NEWS: Mention `keystatus' and Unicode fonts.
16243
4ff0d7a4 162442009-09-04 Robert Millan <rmh.grub@aybabtu.com>
16245
16246 * configure.ac: Bump version to 1.97~beta2.
16247 * docs/version.texi: Likewise.
16248
77c55a87 162492009-09-03 Colin Watson <cjwatson@ubuntu.com>
16250
16251 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
16252 containing unwind information in some cases where it previously did
16253 not. Use -fno-dwarf2-cfi-asm if available to restore the old
16254 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
16255 discussion.
16256
f79572cd 162572009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
16258
16259 Embedding loadenv module into grub-emu
16260
16261 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
16262 commands/loadenv.c
16263 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
16264 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
16265 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
16266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
16267 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
16268 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
16269
93a81088 162702009-09-03 Magnus Granberg <zorry@ume.nu>
16271
16272 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
16273 include -fPIE in the default specs.
16274 * configure.ac: Check if pie_possible is yes and add -fno-PIE
16275 to TARGET_CFLAGS.
16276
160034b2 162772009-09-03 Felix Zielcke <fzielcke@z-51.de>
16278
16279 * INSTALL: Note that GNU Bison 2.3 or later is required.
16280
087c07c4 162812009-09-03 Colin Watson <cjwatson@ubuntu.com>
16282
16283 * kern/i386/pc/startup.S: Fix typo.
16284
cbf978c0 162852009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16286
16287 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
16288 according to GCS.
16289
162902009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 16291
16292 * docs/grub.texi (Naming convention): Describe one-based partition
16293 numbering.
16294 (Device syntax): Likewise.
16295 (File name syntax): Likewise.
16296 (Block list syntax): Likewise.
16297 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
16298 menu.lst.
16299 (File name syntax): Likewise.
16300 (Command-line and menu entry commands): Document acpi, blocklist,
16301 crc, export, insmod, keystatus, ls, set, and unset commands.
16302
f3e8cdfd 163032009-09-02 Colin Watson <cjwatson@ubuntu.com>
16304
16305 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
16306 to avoid implying that only one of --shift, --ctrl, or --alt may be
16307 used.
16308
c0bc232b 163092009-09-02 Colin Watson <cjwatson@ubuntu.com>
16310
16311 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
16312 rather than comparing against S_IFREG, which will almost never work.
16313
aa0f752d 163142009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16315
16316 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
16317 (write_blocklists): Likewise.
16318
ecb3166a 163192009-09-01 Colin Watson <cjwatson@ubuntu.com>
16320
16321 * script/lua/grub_lua.h (fputs): Supply a format string as the first
16322 argument to grub_printf.
16323
c403a125 163242009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 16325
16326 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 16327 non GNU test.
31aba781 16328
b5e7312c 163292009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16330
16331 * kern/file.c (grub_file_read): Spelling fix
16332
fe00f472 163332009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16334
16335 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
16336 loading of headers in some cases.
16337
cc55302e 163382009-08-30 Robert Millan <rmh.grub@aybabtu.com>
16339
16340 * configure.ac: Bump version to 1.97~beta1.
16341 * docs/version.texi: Likewise.
16342
5c90cdd2 163432009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 16344
16345 * include/grub/i386/xnu.h: Add license header.
16346 include grub/err.h explicitly.
16347
c90edae4 163482009-08-29 Robert Millan <rmh.grub@aybabtu.com>
16349
16350 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
16351 to `ufs' in the vfs.root.mountfrom kernel parameter.
16352
d8888b5c 163532009-08-29 Robert Millan <rmh.grub@aybabtu.com>
16354
16355 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
16356
16357 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
16358 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
16359
16360 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
16361 `ARRAY_SIZE' macro.
16362
6f07b921 163632009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16364
16365 * kern/file.c (grub_file_read): Check offset.
16366 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
16367 * fs/jfs.c (grub_jfs_read_file): Likewise.
16368 * fs/ntfs.c (grub_ntfs_read): Likewise.
16369 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
16370 * fs/minix.c (grub_minix_read_file): Correct offset check.
16371 * fs/ufs.c (grub_ufs_read_file): Likewise.
16372
b4f34077 163732009-08-28 Colin Watson <cjwatson@ubuntu.com>
16374
16375 * term/i386/pc/console.c (bios_data_area): Cast
16376 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
16377
e7c69859 163782009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16379
16380 1-bit optimised blitters.
16381
16382 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
16383 prototype.
16384 (grub_video_fbblit_replace_24bit_1bit): Likewise.
16385 (grub_video_fbblit_replace_16bit_1bit): Likewise.
16386 (grub_video_fbblit_replace_8bit_1bit): Likewise.
16387 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
16388 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
16389 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
16390 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
16391 function.
16392 (grub_video_fbblit_replace_24bit_1bit): Likewise.
16393 (grub_video_fbblit_replace_16bit_1bit): Likewise.
16394 (grub_video_fbblit_replace_8bit_1bit): Likewise.
16395 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
16396 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
16397 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
16398 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
16399 when possible.
16400 * video/video.c (grub_video_get_blit_format): Return
16401 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
16402
a57da43f 164032009-08-28 Colin Watson <cjwatson@ubuntu.com>
16404
16405 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
16406 the first argument to grub_printf.
16407
4cbe67e5 164082009-08-28 Colin Watson <cjwatson@ubuntu.com>
164092009-08-28 Robert Millan <rmh.grub@aybabtu.com>
16410
16411 Add `getkeystatus' terminal method. Add a new `keystatus' command
16412 to query it.
16413
16414 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
16415 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
16416 modifier key bitmasks.
16417 (struct grub_term_input): Add `getkeystatus' member.
16418 (grub_getkeystatus): Add prototype.
16419 * kern/term.c (grub_getkeystatus): New function.
16420
16421 * include/grub/i386/pc/memory.h
16422 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
16423 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
16424 Data Area layout.
16425 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
16426 (grub_console_term_input): Set `getkeystatus' member.
16427 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
16428 constants.
16429 (grub_usb_keyboard_getreport): Likewise.
16430 (grub_usb_keyboard_checkkey): Likewise.
16431 (grub_usb_keyboard_getkeystatus): New function.
16432 (grub_usb_keyboard_term): Set `getkeystatus' member.
16433
16434 * commands/keystatus.c: New file.
16435 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
16436 (keystatus_mod_SOURCES): New variable.
16437 (keystatus_mod_CFLAGS): Likewise.
16438 (keystatus_mod_LDFLAGS): Likewise.
16439 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
16440 commands/keystatus.c.
16441 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16442 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16443 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16444 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16445 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16446 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 16447
6e2a9085 164482009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16449
16450 Split befs.mod and afs.mod into *_be.mod and *.mod
16451
16452 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
16453 (grub_fstest_SOURCES): Likewise.
16454 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
16455 (afs_be_mod_SOURCES): New variable.
16456 (afs_be_mod_CFLAGS): Likewise.
16457 (afs_be_mod_LDFLAGS): Likewise.
16458 (befs_be_mod_SOURCES): Likewise.
16459 (befs_be_mod_CFLAGS): Likewise.
16460 (befs_be_mod_LDFLAGS): Likewise.
16461 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
16462 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16463 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16464 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16465 (grub_emu_SOURCES): Likewise.
16466 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16467 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16468 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16469 * fs/afs_be.c: New file.
16470 * fs/befs_be.c: New file.
16471 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
16472 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
16473 (U16): Replaced with ...
16474 (grub_afs_to_cpu16): ...this. All users updated.
16475 (U32): Replaced with ...
16476 (grub_afs_to_cpu32): ...this. All users updated.
16477 (U64): Replaced with ...
16478 (grub_afs_to_cpu64): ...this. All users updated.
16479 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
16480 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 16481 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 16482 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
16483 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
16484 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
16485 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
16486 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
16487 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
16488 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
16489 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
16490
32a71655 164912009-08-26 Bean <bean123ch@gmail.com>
16492
16493 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
16494 64-bit number.
16495 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
16496 (grub_xfs_inode_block): Change return type to grub_uint64_t.
16497 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
16498
552bf6c5 164992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16500
16501 NetBSD memory map support.
16502
16503 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
16504 (grub_netbsd_btinfo_mmap_header): New structure.
16505 (grub_netbsd_btinfo_mmap_entry): Likewise.
16506 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
16507
1ae2078c 165082009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16509
16510 Enable bsd.mod on coreboot.
16511
16512 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
16513 (bsd_mod_SOURCES): New variable.
16514 (bsd_mod_CFLAGS): Likewise.
16515 (bsd_mod_LDFLAGS): Likewise.
16516 (bsd_mod_ASFLAGS): Likewise.
16517 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
16518 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
16519
beefc598 165202009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16521
16522 Cleanup NetBSD root support.
16523
16524 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
16525 grub_bsd_get_device.
16526 Fix typo.
16527
3b76e68b 165282009-08-25 Felix Zielcke <fzielcke@z-51.de>
16529
16530 * util/grub.d/00_header.in: Move check for the video backend of
16531 gfxterm from here ...
16532 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
16533 a suitable video backend.
16534
aea664ea 165352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16536
16537 Fix breakage in grub-setup.
16538
16539 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
16540 "msdos_partition_map".
16541
ff747d50 165422009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16543
16544 Fix breakage in normal/auth.c.
16545
16546 * normal/auth.c (grub_iswordseparator): New function.
16547
e7e1f93f 165482009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16549
16550 Authentication support.
16551
16552 * commands/password.c: New file.
16553 * conf/common.rmk (pkglib_MODULES): Add password.mod.
16554 (password_mod_SOURCES): New variable.
16555 (password_mod_CFLAGS): Likewise.
16556 (password_mod_LDFLAGS): Likewise.
16557 (normal_mod_SOURCES): Add normal/auth.c.
16558 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
16559 normal/auth.c.
16560 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16561 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16562 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16564 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16565 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16566 * include/grub/auth.h: New file.
16567 * include/grub/err.h (grub_err_t): New enum value
16568 GRUB_ERR_ACCESS_DENIED.
16569 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
16570 'users'.
16571 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
16572 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
16573 users updated.
16574 * normal/auth.c: New file.
16575 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
16576 (grub_cmdline_run): Don't allow to go to command line without
16577 authentication.
16578 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
16579 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
16580 menuentry without superuser rights.
16581 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
16582 user isn't a superuser.
16583
70f1161d 165842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16585
16586 Save space by inlining misc.c functions.
16587
16588 * kern/misc.c (grub_iswordseparator): Made static.
16589 * kern/misc.c (grub_strcat): Moved from here ...
16590 * include/grub/misc.h (grub_strcat): ... here. Inlined.
16591 * kern/misc.c (grub_strncat): Moved from here ...
16592 * include/grub/misc.h (grub_strncat): ... here. Inlined.
16593 * kern/misc.c (grub_strcasecmp): Moved from here ...
16594 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
16595 * kern/misc.c (grub_strncasecmp): Moved from here ...
16596 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
16597 * kern/misc.c (grub_isalpha): Moved from here ...
16598 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
16599 * kern/misc.c (grub_isdigit): Moved from here ...
16600 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
16601 * kern/misc.c (grub_isgraph): Moved from here ...
16602 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
16603 * kern/misc.c (grub_tolower): Moved from here ...
16604 * include/grub/misc.h (grub_tolower): ... here. Inlined.
16605
48e40bff 166062009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16607
16608 * script/sh/function.c (grub_script_function_find): Cut error message
16609 not to flood terminal.
16610 * script/sh/lexer.c (grub_script_yylex): Remove command line length
16611 limit.
16612 * script/sh/script.c (grub_script_arg_add): Duplicate string.
16613
c385bfc3 166142009-08-24 Colin Watson <cjwatson@ubuntu.com>
16615
16616 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
16617 `report' grub_uint8_t *.
16618 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
16619 Use a 50-millisecond timeout rather than just repeating
16620 grub_usb_keyboard_getreport 50 times.
16621 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
16622
2d21e3e8 166232009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16624
16625 Rename *_partition_map to part_*
16626
16627 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
16628 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
16629 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
16630 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
16631 All users updated.
16632 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
16633 All users updated.
16634 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
16635 * util/grub-probe.c (probe_partmap): Don't transform partition name
16636 to get module name.
16637
dd103c4e 166382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16639
16640 Fix OpenBSD and NetBSD support.
16641
16642 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
16643 memory address conflict.
16644 (OPENBSD_MMAP_ACPI): New definition.
16645 (OPENBSD_MMAP_NVS): Likewise.
16646 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
16647 and OPENBSD_MMAP_NVS.
16648 Add memory map terminator
16649 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 16650 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 16651
16c84d74 166522009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16653
16654 Let user specify NetBSD root device.
16655
16656 * loader/i386/bsd.c (netbsd_root): New variable.
16657 (netbsd_opts): New option 'root'.
16658 (NETBSD_ROOT_ARG): New macro.
16659 (grub_netbsd_boot): Use 'netbsd_root'.
16660 (grub_bsd_unload): Free 'netbsd_root'.
16661 (grub_cmd_netbsd): Fill 'netbsd_root'.
16662
adb29902 166632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16664
16665 Support for 64-bit NetBSD.
16666
16667 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
16668 point when booting non-FreeBSD.
16669
f5ae9f74 166702009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
16671
16672 Support --no-smp and --no-acpi for NetBSD.
16673
16674 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
16675 (NETBSD_AB_NOACPI): Likewise.
16676 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
16677 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
16678
de74f136 166792009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16680
16681 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
16682 errors.
16683 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
16684 errors. Call grub_error when needed.
16685
e9a925da 166862009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16687
16688 * commands/search.c (search_fs): Try searching without autoload first.
16689 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16690 filesystem module explicitly for faster booting.
16691
5174302b 166922009-08-23 Colin Watson <cjwatson@ubuntu.com>
16693
16694 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
16695
c8c80635 166962009-08-23 Colin Watson <cjwatson@ubuntu.com>
16697
16698 * util/grub.d/30_os-prober.in: Disable os-prober if
16699 `GRUB_DISABLE_OS_PROBER' was set to true.
16700
71acf5e5 167012009-08-23 Robert Millan <rmh.grub@aybabtu.com>
16702
16703 * partmap/pc.c: Rename to ...
16704 * partmap/msdos.c: ... this. Update all users.
16705 (grub_pc_partition_map): Rename to ...
16706 (grub_msdos_partition_map): ... this. Update all users.
16707
16708 * parttool/pcpart.c: Rename to ...
16709 * parttool/msdospart.c: ... this. Update all users.
16710
16711 * include/grub/pc_partition.h: Rename to ...
16712 * include/grub/msdos_partition.h: ... this. Update all users.
16713 (grub_pc_partition_bsd_entry): Rename to ...
16714 (grub_msdos_partition_bsd_entry): ... this. Update all users.
16715 (grub_pc_partition_disk_label): Rename to ...
16716 (grub_msdos_partition_disk_label): ... this. Update all users.
16717 (grub_pc_partition_entry): Rename to ...
16718 (grub_msdos_partition_entry): ... this. Update all users.
16719 (grub_pc_partition_mbr): Rename to ...
16720 (grub_msdos_partition_mbr): ... this. Update all users.
16721 (grub_pc_partition): Rename to ...
16722 (grub_msdos_partition): ... this. Update all users.
16723 (grub_pc_partition_is_empty): Rename to ...
16724 (grub_msdos_partition_is_empty): ... this. Update all users.
16725 (grub_pc_partition_is_extended): Rename to ...
16726 (grub_msdos_partition_is_extended): ... this. Update all users.
16727 (grub_pc_partition_is_bsd): Rename to ...
16728 (grub_msdos_partition_is_bsd): ... this. Update all users.
16729
16730 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
16731 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
16732 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
16733 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
16734 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
16735 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
16736 (gpt_mod_LDFLAGS): Rename to ...
16737 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
16738 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
16739 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
16740 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
16741 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
16742 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
16743 (part_gpt_mod_LDFLAGS): ... this.
16744 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
16745 `pcpart.mod' to `msdospart.mod'.
16746 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
16747 to ...
16748 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
16749 (msdospart_mod_LDFLAGS): ... this.
16750
c11fded5 167512009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16752
16753 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
16754 (openbsd_opts): Likewise.
16755 (netbsd_opts): Likewise.
16756 (freebsd_flags): Added 0 terminator.
16757 (openbsd_flags): Likewise.
16758 (netbsd_flags): Likewise.
16759 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
16760 (grub_cmd_freebsd): Transformed into extended command.
16761 (grub_cmd_openbsd): Likewise.
16762 (grub_cmd_netbsd): Likewise.
16763 (cmd_freebsd): Changed type to grub_extcmd_t.
16764 (cmd_openbsd): Likewise.
16765 (cmd_netbsd): Likewise.
16766 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
16767 grub_cmd_openbsd as extended commands.
16768 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
16769 cmd_netbsd and cmd_openbsd
16770
11d1c769 167712009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
16772
16773 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
16774
7a9094e5 167752009-08-21 Pavel Roskin <proski@gnu.org>
16776
5496c37e 16777 * Makefile.in (install-local): When checking if a file is in the
16778 build directory, use "test -e" to detect symlinks.
16779
7a9094e5 16780 * Makefile.in (install-local): Remove all files in
16781 $(DESTDIR)$(pkglibdir) before installing new files there.
16782
e53cea11 167832009-08-18 Felix Zielcke <fzielcke@z-51.de>
16784
16785 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
16786 grub-mkelfimage.
16787
9aced544 167882009-08-18 Felix Zielcke <fzielcke@z-51.de>
16789
16790 * util/grub-mkconfig.in: Don't use gfxterm by default if not
16791 explicitly specified by the user.
16792
b7da6bab 167932009-08-18 Pavel Roskin <proski@gnu.org>
16794
16795 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
16796 grub_uint8_t pointer for data.
16797 * include/grub/fbutil.h (struct grub_video_fbblit_info):
16798 Likewise.
16799 * video/fb/fbutil.c: Remove unnecessary casts.
16800
19f1b335 168012009-08-17 Michal Suchanek <hramrach@centrum.cz>
16802
16803 VBE cleanup.
16804
16805 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
16806 (grub_vbe_set_video_mode): Save active mode info
16807 only after setting the mode.
16808 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
16809 second argument.
16810
2f467aa9 168112009-08-17 Michal Suchanek <hramrach@centrum.cz>
16812
16813 Rename variables for clarity.
16814
16815 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
16816 (active_vbe_mode_info): ... this. All users updated.
16817 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
16818 All users updated.
16819 (initial_mode): Rename to ...
16820 (initial_vbe_mode): ... this. All users updated.
16821 (mode_in_use): Rename to ..
16822 (vbe_mode_in_use): ... this. All users updated.
16823 (mode_list): Rename to ..
16824 (vbe_mode_list): ... this. All users updated.
16825 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
16826 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
16827 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
16828 'mode_list_size' to 'vbe_mode_list_size'.
16829 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
16830 'best_mode_info' to 'best_vbe_mode_info' and
16831 'best_mode' to 'best_vbe_mode'
16832
6025fcd7 168332009-08-17 Michal Suchanek <hramrach@centrum.cz>
16834
16835 Remove duplicate grub_video_fb_get_video_ptr.
16836
16837 * include/grub/fbutil.h (get_data_ptr): Rename to ...
16838 (grub_video_fb_get_video_ptr): ... this.
16839 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
16840 * video/fb/fbutil.c: Add comment about addressing.
16841 (get_data_ptr): Rename to ...
16842 (grub_video_fb_get_video_ptr): ... this. All users updated.
16843 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
16844
cc8c6faf 168452009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16846
16847 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
16848 grub_dprintf() that was just added.
16849
08aa61f0 168502009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16851
16852 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
16853 (DEFAULT_VIDEO_MODE): Remove macros.
16854 (grub_linux_boot): Remove assumption that Linux has FB support,
16855 and use "text" as default video mode.
16856
7cef4f75 168572009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
16858
16859 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
16860 grub_dprintf.
16861 * fs/fat.c (grub_fat_read_data): Likewise.
16862
e1f39873 168632009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16864
16865 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
16866 payload.
16867 (grub_module): Likewise.
16868
c166d79e 168692009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16870
16871 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
16872 mbi->cmdline but free playground.
16873
c60cee8e 168742009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16875
16876 Handle group offset on UFS1.
16877
16878 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
16879 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
16880
c0d8b5d4 168812009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16882
16883 Split ufs.mod into ufs1.mod and ufs2.mod.
16884
16885 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
16886 (grub_fstest_SOURCES): Likewise.
16887 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
16888 (ufs_mod_SOURCES): Remove.
16889 (ufs_mod_CFLAGS): Likewise.
16890 (ufs_mod_LDFLAGS): Likewise.
16891 (ufs1_mod_SOURCES): New variable.
16892 (ufs1_mod_CFLAGS): Likewise.
16893 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 16894 (ufs2_mod_SOURCES): New variable.
16895 (ufs2_mod_CFLAGS): Likewise.
16896 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 16897 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
16898 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16899 Likewise.
16900 (grub_emu_SOURCES): Likewise.
16901 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16902 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16903 (grub_setup_SOURCES): Likewise.
16904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16905 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
16906 (grub_setup_SOURCES): Likewise.
16907 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16908 Likewise.
16909 * fs/ufs2.c: New file.
16910 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
16911
d3539132 169122009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16913
16914 Framebuffer split.
16915
16916 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
16917 subsystem at the end.
16918 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
16919 (video_fb_mod_SOURCES): New variable.
16920 (video_fb_mod_CFLAGS): Likewise.
16921 (video_fb_mod_LDFLAGS): Likewise.
16922 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
16923 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
16924 * video/i386/pc/vbeblit.c: Moved from here ...
16925 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
16926 * video/i386/pc/vbefill.c: Moved from here ...
16927 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
16928 * video/i386/pc/vbeutil.c: Moved from here ...
16929 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
16930 * include/grub/i386/pc/vbeblit.h: Moved from here ...
16931 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
16932 * include/grub/i386/pc/vbefill.h: Moved from here ...
16933 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
16934 * include/grub/i386/pc/vbeutil.h: Moved from here ...
16935 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
16936 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
16937 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
16938 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
16939 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
16940 (grub_video_adapter): Added 'get_info_and_fini'.
16941 (grub_video_get_info_and_fini): New prototype.
16942 (grub_video_set_mode): make modestring const char *.
16943 * loader/i386/linux.c (grub_linux_setup_video): Use
16944 grub_video_get_info_and_fini.
16945 (grub_linux_boot): Move modesetting just before booting.
16946 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
16947 grub_video_get_info_and_fini.
16948 * video/i386/pc/vbe.c: Moved framebuffer part ...
16949 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
16950 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
16951 grub_video_fbstd_colors and grub_video_fb_set_palette.
16952 (grub_video_vbe_init): Clear 'framebuffer' variable and use
16953 grub_video_fb_init.
16954 (grub_video_vbe_fini): Use grub_video_fb_fini.
16955 (grub_video_vbe_setup): Use framebuffer.render_target instead of
16956 render_target and use grub_video_fb_set_active_render_target and
16957 grub_video_fb_set_palette.
16958 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
16959 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
16960 (grub_video_vbe_adapter): Use framebuffer.
16961 * video/video.c (grub_video_get_info_and_fini): New function.
16962 (grub_video_set_mode): Make modestring const char *.
16963 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
16964 values are already initialised.
16965
d404ee56 169662009-08-14 Pavel Roskin <proski@gnu.org>
16967
16968 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
16969 ABS and APPLE_CC.
16970 * boot/i386/pc/diskboot.S: Likewise.
16971 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
16972 sectors allow compilation on MacOSX.
16973 * conf/i386-pc.rmk: Enable unconditional compilation of
16974 lnxboot.img.
16975
9a10df16 169762009-08-13 Colin Watson <cjwatson@ubuntu.com>
16977
16978 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
16979 * util/grub.d/00_header.in: Enter interruptible sleep if
16980 GRUB_HIDDEN_TIMEOUT is set.
16981
be3c9ca7 169822009-08-13 Yves Blusseau <blusseau@zetam.org>
16983
16984 * include/grub/symbol.h: Add the LOCAL macro.
16985 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
16986 starting with "L_".
16987
1f9e557e 169882009-08-13 Pavel Roskin <proski@gnu.org>
16989
9ca62843 16990 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
16991 any modern compilers we support.
16992
1f9e557e 16993 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
16994 Use local labels starting with "L_" so that Apple assembler
16995 knows they are local.
16996
81623db6 169972009-08-10 Robert Millan <rmh.grub@aybabtu.com>
16998
16999 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
17000 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
17001 (bsd_kernel_types): ... this enum.
17002
17003 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
17004 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
17005 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
17006
17007 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
17008 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
17009 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
17010 messages.
17011
f5d35e7a 170122009-08-08 Robert Millan <rmh.grub@aybabtu.com>
17013
17014 * util/grub-dumpdevtree: Moved from here ...
17015 * util/i386/efi/grub-dumpdevtree: ... to here.
17016 (hexify): New function. Converts a string to its hex version.
17017 Generate hex versions of "efi" and "device-properties" by calling
17018 hexify() on the ASCII strings rather than by hardcoding numbers.
17019
d1e1d527 170202009-08-08 Robert Millan <rmh.grub@aybabtu.com>
17021
17022 * fs/jfs.c: Update copyright year.
17023
1ebbe064 170242009-08-08 Felix Zielcke <fzielcke@z-51.de>
17025
17026 * util/grub.d/00_header.in: Fix a comment.
17027 * util/grub.d/10_linux.in: Likewise.
17028 * util/grub.d/10_windows.in: Likewise.
17029 * util/grub.d/10_hurd.in: Likewise.
17030
a78c8d24 170312009-08-08 Felix Zielcke <fzielcke@z-51.de>
17032
17033 * util/grub-mkconfig.in: Allow the user to specify the used font
17034 with GRUB_FONT.
17035
29a6b9e8 170362009-08-08 Pavel Roskin <proski@gnu.org>
17037
b5f16cc4 17038 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
17039 available, xfs.mod needs it now.
17040
2f5cb827 17041 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
17042 the "g" modifier in sed when the intention is to strip something
17043 once. This fixes comparison of kernels with multiple dashes.
17044
29a6b9e8 17045 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
17046 on it. Add missing space before closing bracket. Fix
17047 misleading formatting.
17048
892a3d98 170492009-08-07 Robert Millan <rmh.grub@aybabtu.com>
17050
17051 * docs/grub.texi: Major overhaul. Remove all sections that are
17052 specific to GRUB Legacy, or mostly composed of Legacy-specific
17053 information.
17054
ed94253f 170552009-08-07 Robert Millan <rmh.grub@aybabtu.com>
17056
17057 * docs/version.texi: New file. Provides version information for
17058 grub.texi.
17059
126d6628 170602009-08-07 Robert Millan <rmh.grub@aybabtu.com>
17061
17062 * docs/grub.texi: Update CVS information to SVN.
17063 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
17064
998b5aa9 170652009-08-07 Felix Zielcke <fzielcke@z-51.de>
17066
17067 * util/grub-mkconfig.in: Remove a wrong `fi'.
17068
818e094a 170692009-08-07 Felix Zielcke <fzielcke@z-51.de>
17070
17071 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
17072 (grub_jfs_uuid): New function.
17073 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
17074
b969c52f 170752009-08-07 Felix Zielcke <fzielcke@z-51.de>
17076
17077 * util/grub-mkconfig_lib.in (font_path): Move the functionality
17078 of it to ...
17079 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
17080 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
17081
7a4894cc 170822009-08-07 Robert Millan <rmh.grub@aybabtu.com>
17083
17084 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
17085 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
17086 Update all users.
17087
17088 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
17089 not just "vmlinu[zx]".
17090 Moved from here ...
17091 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
17092 all users.
17093
17094 * util/grub.d/10_linux.in (find_latest): Moved from here ...
17095 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
17096 all users.
17097
4e2171f8 170982009-08-07 Robert Millan <rmh.grub@aybabtu.com>
17099
17100 * util/grub.d/10_freebsd.in: Use an absolute device path for
17101 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
17102
6dcfcb32 171032009-08-06 Felix Zielcke <fzielcke@z-51.de>
17104
17105 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
17106 handling of multiple abstraction modules.
17107
f56a8756 171082009-08-04 Robert Millan <rmh.grub@aybabtu.com>
17109
17110 Fix a bug resulting in black screen when loading Linux using a
17111 packed video mode.
17112
17113 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
17114 function.
17115
17116 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
17117 (grub_vbe_bios_getset_dac_palette_width): New function.
17118 (grub_vbe_bios_get_dac_palette_width)
17119 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
17120 grub_vbe_bios_getset_dac_palette_width()).
17121
17122 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
17123 check for return status.
17124 (grub_vbe_get_video_mode_info): When getting information for a packed
17125 mode (<= 8 bpp), obtain DAC palette width using
17126 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
17127 {red,green,blue}_mark_size.
17128
222671b2 171292009-08-04 Felix Zielcke <fzielcke@z-51.de>
17130
ecb1a6d9 17131 * commands/search.c (options): Fix help output to match actual code.
222671b2 17132
f84114f5 171332009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
17134
17135 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
17136 of homegrown code.
17137
bd288a20 171382009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 17139
17140 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
17141 on XFS or ReiserFS.
17142
8aab5e25 171432009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17144
17145 Support Apple partition map with sector size different from 512 bytes.
17146
17147 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
17148 (apple_partition_map_iterate): Respect 'aheader.blocksize'
17149 and 'apart.partmap_size'.
17150
6ad6258a 171512009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
171522009-08-01 Robert Millan <rmh.grub@aybabtu.com>
17153
17154 Fix cpuid command.
17155
17156 * commands/i386/cpuid.c (options): New variable.
17157 (grub_cmd_cpuid): Return real error.
17158 (GRUB_MOD_INIT(cpuid)): Declare options.
17159
67459bc6 171602009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
17161
17162 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
17163 valid.
17164
fbc6ab54 171652009-07-31 Bean <bean123ch@gmail.com>
17166
17167 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
17168 log2_inode.
17169 (grub_fshelp_node): Move inode field to the end.
17170 (grub_xfs_data): Remove inode field.
17171 (grub_xfs_inode_block): Calculate inode size using sblock.
17172 (grub_xfs_inode_offset): Likewise.
17173 (grub_xfs_read_inode): Calculate inode size using sblock.
17174 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
17175 (grub_xfs_iterate_dir): Calculate inode size using sblock.
17176 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
17177 to match inode size.
17178 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
17179 not accessible when data is null.
17180 (grub_xfs_open): Likewise.
17181
f45d6cfc 171822009-07-31 Bean <bean123ch@gmail.com>
17183
17184 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
17185 Don't change pv->disk if it's already set.
17186
17187 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
17188 (grub_raid_register): ... here.
17189 (grub_raid_rescan): Removed.
17190
17191 * include/grub/raid.h (grub_raid_rescan): Removed.
17192
17193 * util/grub-fstest.c: Remove include file <grub/raid.h>.
17194 (fstest): Replace grub_raid_rescan with module fini function followed
17195 by init function.
17196
17197 * util/grub-probe.c: Add include file <grub/raid.h>.
17198 (probe_raid_level): New function.
17199 (probe): Detect abstraction by walking the disk device, support two
17200 level of abstraction (LVM on RAID) when detecting partition map.
17201
24443b5a 172022009-07-31 Pavel Roskin <proski@gnu.org>
17203
17204 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
17205 to grub_zalloc(), it was erroneous.
17206 Reported by Bean <bean123ch@gmail.com>
17207
a275d9e7 172082009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
17209
17210 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 17211 embedding zone, not only the first one.
a275d9e7 17212
56c5a47f 172132009-07-29 Joe Auricchio <jauricchio@gmail.com>
17214
17215 * term/gfxterm.c (clear_char): New function.
17216 (grub_virtual_screen_setup): Use clear_char.
17217 (scroll_up): Likewise.
17218 (grub_virtual_screen_cls): Likewise.
17219
67bb323a 172202009-07-29 Felix Zielcke <fzielcke@z-51.de>
17221
17222 * util/deviceiter.c (get_acceleraid_disk_name): New static
17223 function.
17224 (grub_util_iterate_devices): Handle Accelraid devices.
17225 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
17226
388a7c75 172272009-07-28 Robert Millan <rmh.grub@aybabtu.com>
17228
17229 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
17230 separator for the suggested gfxpayload string (';' collides with the
17231 parser and needs escaping).
17232
3bb7abcf 172332009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
17234
17235 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
17236 Clear direction flag before jumping to OS.
17237 (grub_multiboot2_real_boot): Likewise.
17238
2ddd36d7 172392009-07-28 Felix Zielcke <fzielcke@z-51.de>
17240
17241 * util/i386/pc/grub-install: Fix parsing of --disk-module
17242 option.
17243
c521b62b 172442009-07-28 Felix Zielcke <fzielcke@z-51.de>
17245
17246 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
17247 when embedding.
17248
880e0a0c 172492009-07-26 Felix Zielcke <fzielcke@z-51.de>
17250
17251 * util/grub-mkconfig.in (package_version): New variable.
17252 Use it do display the version.
17253
2366e356 172542009-07-25 Felix Zielcke <fzielcke@z-51.de>
17255
17256 * kern/file.c (grub_file_open): Revert to previous check with
17257 grub_errno.
17258
7ad8c80e 172592009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17260
17261 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
17262 from help line. It's out of sync with code.
17263
72b9658b 172642009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17265
17266 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
17267 entries on failed boot.
17268
77435277 172692009-07-25 Felix Zielcke <fzielcke@z-51.de>
17270
17271 * kern/file.c (grub_file_open): Fix an error check.
17272
fcaa8b21 172732009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
17274
35d16c74 17275 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
17276 partition map couldn't be identified.
fcaa8b21 17277
48904cd1 172782009-07-23 Pavel Roskin <proski@gnu.org>
17279
ef3c317f 17280 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
17281 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
17282 case of little endian words becomes just an optimization.
17283 Respect const modifier.
ad8ea1f4 17284 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 17285
48904cd1 17286 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
17287 to avoid loss of upper bits if align is unsigned and shorter
17288 than addr.
17289
260c9a89 172902009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
17291
17292 UUID support for UFS
17293
17294 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
17295 (grub_ufs_uuid): New function.
17296 (grub_ufs_fs): add .uuid
17297
f76ce889 172982009-07-21 Pavel Roskin <proski@gnu.org>
17299
17300 * kern/dl.c (grub_dl_check_header): Make static.
17301
6a6cbcaf 173022009-07-21 Felix Zielcke <fzielcke@z-51.de>
17303
17304 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
17305 add drivemap for Vista. It breaks Windows 7.
17306
cffcddb2 173072009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
17308
17309 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
17310 128 bytes
17311
1ef44b80 173122009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17313
17314 Add BFS support
17315
17316 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
17317 (grub_fstest_SOURCES): Likewise.
17318 (pkglib_MODULES): Add befs.mod.
17319 (befs_mod_SOURCES): New variable.
17320 (befs_mod_CFLAGS): Likewise.
17321 (befs_mod_LDFLAGS): Likewise.
17322 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
17323 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17324 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17325 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17326 (grub_setup_SOURCES): Likewise.
17327 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17328 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17329 (grub_setup_SOURCES): Likewise.
17330 * fs/befs.c: New file.
17331 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
17332 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
17333 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
17334 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
17335 (B_KEY_INDEX_ALIGN): New declaration.
17336 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
17337 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
17338 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
17339 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
17340 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
17341 (grub_afs_mount) [MODE_BFS]: Likewise.
17342 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
17343 (grub_afs_fs): Use GRUB_AFS_FSNAME
17344 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
17345 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
17346 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
17347 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
17348
4f253044 173492009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
17350
17351 * util/getroot.c (find_root_device): Add support for MacOSX.
17352 * util/hostdisk.c: Likewise.
17353
57a55913 173542009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17355
17356 * font/font.c (find_glyph): Check whether a font is present to avoid
17357 segmentation fault.
75421ca9 17358
173592009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 17360
17361 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
17362
e98cd0c2 173632009-07-20 Pavel Roskin <proski@gnu.org>
17364
17365 * configure.ac: Trim excessively wordy excuses.
17366
1d2d169a 173672009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17368
17369 Add symlink, mtime and label support to AtheFS.
17370
17371 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
17372 (grub_afs_iterate_dir): Handle symlinks.
17373 (grub_afs_open): Use grub_afs_read_symlink.
17374 (grub_afs_dir): Likewise.
17375 Pass mtime.
17376 (grub_afs_label): New function.
17377 (grub_afs_fs): Add grub_afs_label.
17378 (grub_afs_read_symlink): New function.
17379
186f3189 173802009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17381
17382 Fix AtheFS support.
17383
17384 * fs/afs.c: Fix comments style.
17385 (grub_afs_blockrun): Declare as packed.
17386 (grub_afs_datastream): Likewise.
17387 (grub_afs_bnode): Likewise.
17388 (grub_afs_btree): Likewise.
17389 (grub_afs_sblock): Likewise.
17390 Declare `name' as char.
17391 (grub_afs_inode): Declare as packed.
17392 Change void *vnode to grub_uint32_t unused.
17393 (grub_afs_iterate_dir): Check that key_size is positive.
17394 (grub_afs_mount): Don't read superblock twice.
75421ca9 17395 (grub_afs_dir): Don't free node in case of error,
186f3189 17396 grub_fshelp_find_file already handles this.
17397 (grub_afs_open): Likewise.
17398
5680109e 173992009-07-19 Pavel Roskin <proski@gnu.org>
17400
17401 * Makefile.in: Remove LIBLZO and enable_lzo.
17402 * conf/i386-pc.rmk: Remove lzo support.
17403 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
17404 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
17405 support.
17406 * kern/i386/pc/lzo1x.S: Remove.
17407 * kern/i386/pc/startup.S: Remove lzo support.
17408 * util/i386/pc/grub-mkimage.c: Likewise.
17409
ac70fa32 174102009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
17411
17412 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
17413 * fs/xfs.c (grub_xfs_dir): Likewise.
17414 * fs/afs.c (grub_afs_dir): Likewise.
17415 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
17416 (grub_iso9660_open): Likewise.
17417 * fs/jfs.c (grub_jfs_open): Likewise.
17418 * fs/ext2.c (grub_ext2_dir): Likewise.
17419 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
17420 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 17421
eab58da2 174222009-07-16 Pavel Roskin <proski@gnu.org>
17423
d2838156 17424 * configure.ac: Never add "-c" to CFLAGS.
17425
55c70904 17426 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
17427
43e6200c 17428 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
17429 grub_cv_cc_efiemu should be used.
17430
ce7a733d 17431 * configure.ac: Typo fixes.
17432
eab58da2 17433 * kern/mm.c (grub_zalloc): New function.
17434 (grub_debug_zalloc): Likewise.
17435 * include/grub/mm.h: Declare grub_zalloc() and
17436 grub_debug_zalloc().
17437 * util/misc.c (grub_zalloc): New function.
17438 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
17439 instead of grub_malloc(), remove unneeded initializations.
17440 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
17441 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
17442 * commands/parttool.c (grub_cmd_parttool): Likewise.
17443 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17444 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
17445 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
17446 * disk/usbms.c (grub_usbms_finddevs): Likewise.
17447 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
17448 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
17449 (grub_cmd_efiemu_pnvram): Likewise.
17450 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
17451 * fs/iso9660.c (grub_iso9660_mount): Likewise.
17452 (grub_iso9660_iterate_dir): Likewise.
17453 * fs/jfs.c (grub_jfs_opendir): Likewise.
17454 * fs/ntfs.c (list_file): Likewise.
17455 (grub_ntfs_mount): Likewise.
17456 * kern/disk.c (grub_disk_open): Likewise.
17457 * kern/dl.c (grub_dl_load_core): Likewise.
17458 * kern/elf.c (grub_elf_file): Likewise.
17459 * kern/env.c (grub_env_context_open): Likewise.
17460 (grub_env_set): Likewise.
17461 (grub_env_set_data_slot): Likewise.
17462 * kern/file.c (grub_file_open): Likewise.
17463 * kern/fs.c (grub_fs_blocklist_open): Likewise.
17464 * loader/i386/multiboot.c (grub_module): Likewise.
17465 * loader/xnu.c (grub_xnu_create_key): Likewise.
17466 (grub_xnu_create_value): Likewise.
17467 * normal/main.c (grub_normal_add_menu_entry): Likewise.
17468 (read_config_file): Likewise.
17469 * normal/menu_entry.c (make_screen): Likewise.
17470 * partmap/sun.c (sun_partition_map_iterate): Likewise.
17471 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
17472 * script/sh/script.c (grub_script_parse): Likewise.
17473 * video/bitmap.c (grub_video_bitmap_create): Likewise.
17474 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
17475 * video/readers/png.c (grub_png_output_byte): Likewise.
17476 (grub_video_reader_png): Likewise.
17477
830afef7 174782009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 17479
17480 Enable all targets that can be built by default
17481
830afef7 17482 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 17483 grub-mkfont and grub-fstest if they can be built
17484
ee293aee 174852009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
17486
17487 Fix hang and segmentation fault in grub-emu-usb
17488
17489 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
17490 * util/usb.c (grub_libusb_devices): likewise
17491 (grub_libusb_init): rename to ...
17492 (GRUB_MOD_INIT (libusb)):...this
17493 (grub_libusb_fini): rename to ..
17494 (GRUB_MOD_FINI (libusb)):...this
17495 * disk/usbms.c (grub_usbms_transfer): fix retry logic
17496 * include/grub/disk.h (grub_raid_init): removed, it's useless
17497 (grub_raid_fini): likewise
17498 (grub_lvm_init): likewise
17499 (grub_lvm_fini): likewise
17500 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
17501 by grub_init_all
17502
94414221 175032009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
17504
17505 Fix libusb
17506
17507 * Makefile.in (LIBUSB): new macro
17508 * genmk.rb (Utility/print_tail): new method
17509 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
17510 (top level): call util.print_tail at the end.
17511
59ade63d 175122009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
17513
17514 Make FreeBSD accept zpool.cache
17515
17516 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
17517 type is /boot/zfs/zpool.cache
17518
a58da8c7 175192009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
17520
17521 Fix 64-bit efiemu
17522
17523 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
17524 correct wrong typedef
17525 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
17526
20591577 175272009-07-15 Pavel Roskin <proski@gnu.org>
17528
560ca572 17529 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
17530 * kern/disk.c (struct grub_disk_cache): Likewise.
17531
e8e8e4fd 17532 * commands/probe.c (options): Typo fix.
17533
fde24e10 17534 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
17535 Increase to 0x5a to accommodate FAT32. Adjust other offsets
17536 accordingly.
17537 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
17538
379c54c1 17539 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
17540 the end of "Error" to make the message more readable.
17541
7bd8f5bf 17542 * boot/i386/pc/boot.S (kernel_segment): Remove.
17543 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
17544 for destination.
17545
40b132c5 17546 * boot/i386/pc/boot.S (boot_version): Remove.
17547 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
17548 Remove.
17549
20591577 17550 * include/grub/i386/pc/boot.h: Sort all offsets.
17551 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
17552 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
17553 * boot/i386/pc/boot.S: Assert location of every offset listed in
17554 include/grub/i386/pc/boot.h.
17555
2df32b2c 175562009-07-13 Pavel Roskin <proski@gnu.org>
17557
44b5d879 17558 * include/grub/i386/coreboot/machine.h: Rename
17559 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
17560 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
17561 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
17562
17dc3751 17563 * kern/dl.c: Force native word size to suppress warnings when
17564 compiling grub-emu.
17565
2df32b2c 17566 * kern/device.c (grub_device_iterate): Change struct part_ent to
17567 hold the name, not a pointer to it. Use one grub_malloc() per
17568 partition, not two. Free partition_name if grub_malloc() fails.
17569 Set ents to NULL only before grub_partition_iterate() is called.
17570
75c59f59 175712009-07-11 Bean <bean123ch@gmail.com>
17572
17573 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
17574 childname.
17575
0ae1bf88 175762009-07-10 Bean <bean123ch@gmail.com>
175772009-07-10 Robert Millan <rmh.grub@aybabtu.com>
17578
17579 * kern/ieee1275/openfw.c (grub_children_iterate)
17580 (grub_devalias_iterate): Fix size evaluation for property or path
17581 strings, which was broken since r2132.
17582
8279cade 175832009-07-07 Pavel Roskin <proski@gnu.org>
17584
7d8a52d3 17585 * commands/search.c (search_file): Merge into ...
17586 (search_fs): ... this. Accept search type as argument.
17587 (grub_cmd_search): Pass search type to search_fs().
17588
25f9a05a 17589 * include/grub/util/console.h: New file.
17590 * util/console.c: Use it instead of grub/machine/console.h.
17591 * util/grub-emu.c: Likewise.
17592
8279cade 17593 * lib/arg.c (find_long_option): Remove.
17594 (find_long): Add `len' argument, make `s' const char *.
17595 (grub_arg_parse): Parse long options in place, not in a
17596 temporary buffer.
17597
4a11b60f 175982009-07-06 Pavel Roskin <proski@gnu.org>
17599
99f68041 17600 * commands/search.c (search_fs): Fix potential NULL pointer
17601 dereference.
17602
4a11b60f 17603 * commands/search.c (search_fs): Replace QUID macro with quid_fn
17604 function pointer.
17605
e110f4de 176062009-07-06 Daniel Mierswa <impulze@impulze.org>
17607
17608 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
17609 comparison.
17610
46eeb6a2 176112009-07-05 Pavel Roskin <proski@gnu.org>
17612
bab74958 17613 * include/grub/i386/linux.h (struct linux_kernel_params):
17614 Restore padding3, it's still needed.
17615
46eeb6a2 17616 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
17617 FreeBSD.
17618 * util/osdetect.lua: Likewise.
17619
b4a1dc79 176202009-07-05 Bean <bean123ch@gmail.com>
17621
17622 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
17623
17624 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
17625 (grub_lua_getenv): Likewise.
17626 (grub_lua_setenv): Likewise.
17627 (save_errno): New function.
17628 (push_result): Likewise.
17629 (grub_lua_enum_device): Likewise.
17630 (grub_lua_enum_file): Likewise.
17631 (grub_lua_file_open): Likewise.
17632 (grub_lua_file_close): Likewise.
17633 (grub_lua_file_seek): Likewise.
17634 (grub_lua_file_read): Likewise.
17635 (grub_lua_file_getline): Likewise.
17636 (grub_lua_file_getsize): Likewise.
17637 (grub_lua_file_getpos): Likewise.
17638 (grub_lua_file_eof): Likewise.
17639 (grub_lua_file_exist): Likewise.
17640 (grub_lua_add_menu): Likewise.
17641
17642 * script/lua/grub_lua.h (isupper): New inline function.
17643 (islower): Likewise.
17644 (ispunct): Likewise.
17645 (isxdigit): Likewise.
17646 (strcspn): Change to normal function.
17647 (strpbkr): New function declaration.
17648 (memchr): Likewise.
17649
17650 * script/lua/grub_main.c (scan_str): New function.
17651 (strcspn): Likewise.
17652 (strpbrk): Likewise.
17653 (memchr): Likewise.
17654
17655 * script/lua/linit.c (lualibs): Enable the string library.
17656
17657 * util/osdetect.lua: New file.
17658
2da92295 176592009-07-04 Robert Millan <rmh.grub@aybabtu.com>
17660
17661 * include/grub/i386/linux.h (struct linux_kernel_params): Add
17662 `capabilities' member.
17663
b2582ec9 176642009-07-02 Pavel Roskin <proski@gnu.org>
17665
17666 * genparttoollist.sh: Add missing newline at the end.
17667
32622956 176682009-07-01 Pavel Roskin <proski@gnu.org>
17669
87a7339e 17670 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
17671
d23af54e 17672 * util/hostdisk.c (open_device): Remove `const' from
17673 `sysctl_size', as sysctlbyname() can change it (in this case it
17674 doesn't actually happen).
17675
c94b18a9 17676 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
17677 using signed long int constants.
17678
c6cd3ef0 17679 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
17680 constant to avoid a warning on FreeBSD.
17681
0df63420 17682 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
17683 where it's needed.
17684
999577f1 17685 * Makefile.in: Install include/grub/machine symlink.
17686
6f41557f 17687 * Makefile.in: When installing symlinks, use "cp -fR", which
17688 works on FreeBSD and MacOSX.
17689 From Yves Blusseau <cl7m42e02@sneakemail.com>
17690
c8d22988 17691 * kern/dl.c (grub_dl_resolve_symbol): Make static.
17692 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
17693
1b96e952 17694 * util/misc.c: Move grub_reboot() and grub_halt() ...
17695 * util/grub-emu.c: ... here. Make main_env static.
17696 * include/grub/util/misc.h: Remove main_env.
17697
2ef0084d 17698 * kern/mm.c: Use correct format to print size_t.
17699
32622956 17700 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
17701 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
17702 * kern/powerpc/dl.c: Likewise.
17703 * kern/sparc64/dl.c: Likewise.
17704 * kern/x86_64/dl.c: Likewise.
17705
3f7f0cd0 177062009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17707
17708 Fix grub-emu build on sparc64-ieee1275.
17709
75421ca9 17710 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 17711 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
17712
211d06b5 177132009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17714
17715 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
17716 (grub_reboot, grub_halt): New functions.
17717
17718 * util/i386/pc/misc.c: Delete. Update all users.
17719 * util/sparc64/ieee1275/misc.c: Likewise.
17720 * util/powerpc/ieee1275/misc.c: Likewise.
17721
aaf53e3c 177222009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17723
17724 * conf/i386.rmk (setjmp_mod_SOURCES)
17725 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
17726 * conf/common.rmk (setjmp_mod_SOURCES)
17727 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
17728 to use $(target_cpu).
17729 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
17730 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
17731 * conf/powerpc-ieee1275.rmk: Likewise.
17732 * conf/sparc64-ieee1275.rmk: Likewise.
17733
17734 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
17735 $(target_cpu) for kern/$(target_cpu)/dl.c.
17736 * conf/i386-efi.rmk: Likewise.
17737 * conf/i386-ieee1275.rmk: Likewise.
17738 * conf/x86_64-efi.rmk: Likewise.
17739 * conf/i386-coreboot.rmk: Likewise.
17740 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
17741 $(target_cpu) for kern/$(target_cpu)/dl.c and for
17742 kern/$(target_cpu)/cache.S.
17743 * conf/sparc64-ieee1275.rmk: Likewise.
17744
a337130b 177452009-07-01 Robert Millan <rmh.grub@aybabtu.com>
17746
17747 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
17748 type to `grub_uint8_t', and adjust `padding9' accordingly.
17749
c6fe4d53 177502009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17751
b09db61d 17752 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
17753
c6fe4d53 17754 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
17755 assembly in final jump, using register constraints.
17756
b09db61d 17757 (grub_linux_boot): For text mode, initialize `have_vga' using
17758 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
17759
17760 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
17761 right before the final jump.
17762
17763 Set `video_mode' to 0x3.
17764
17765 Document initialization of `video_page', `video_mode' and
17766 `video_ega_bx'.
17767
28333ad0 177682009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17769
17770 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
17771 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 17772 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 17773
02164e1b 177742009-06-29 Robert Millan <rmh.grub@aybabtu.com>
17775
17776 Fix build on Debian / sparc.
17777
17778 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
17779
18b6c557 177802009-06-28 Pavel Roskin <proski@gnu.org>
17781
85f2aab6 17782 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
17783 fix a warning.
17784
18b6c557 17785 * util/grub.d/10_linux.in: Match SUSE style initrd names.
17786
ad760f81 177872009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17788
17789 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
17790 `err'.
17791
87a4623b 177922009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17793
17794 Revert r2338.
17795
17796 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
17797 file can't be opened. grub_file_open() is already supposed to set
75421ca9 17798 grub_errno / grub_errmsg appropriately.
87a4623b 17799 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17800
8231fb77 178012009-06-27 Pavel Roskin <proski@gnu.org>
178022009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17803
17804 * include/grub/dl.h: Include grub/elf.h.
17805 (struct grub_dl): Add symtab field.
17806 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
17807 GRUB_MODULES_MACHINE_READONLY.
17808 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
17809 of the header for read-only modules.
17810 (grub_dl_unload): Free mod->symtab for read-only modules.
17811 * kern/i386/dl.c: Use mod->symtab.
17812 * kern/powerpc/dl.c: Likewise.
17813 * kern/sparc64/dl.c: Likewise.
17814 * kern/x86_64/dl.c: Likewise.
17815
17816 * conf/i386-qemu.rmk: New file.
17817 * kern/i386/qemu/startup.S: Likewise.
17818 * kern/i386/qemu/mmap.c: Likewise.
17819 * boot/i386/qemu/boot.S: Likewise.
17820 * include/grub/i386/qemu/time.h: Likewise.
17821 * include/grub/i386/qemu/serial.h: Likewise.
17822 * include/grub/i386/qemu/kernel.h: Likewise.
17823 * include/grub/i386/qemu/console.h: Likewise.
17824 * include/grub/i386/qemu/boot.h: Likewise.
17825 * include/grub/i386/qemu/init.h: Likewise.
17826 * include/grub/i386/qemu/machine.h: Likewise.
17827 * include/grub/i386/qemu/loader.h: Likewise.
17828 * include/grub/i386/qemu/memory.h: Likewise.
17829
17830 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
17831 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
17832 [qemu] (pkglib_IMAGES): Add `boot.img'.
17833 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
17834 [qemu] (boot_img_FORMAT): New variables.
17835 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
17836 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
17837 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
17838 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17839 [qemu] (kernel_img_FORMAT): New variables.
17840
17841 * configure.ac: Recognise `i386-qemu'.
17842
17843 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
17844 (for no compression).
17845 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
17846 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
17847 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
17848 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
17849 ifdefs).
17850
97fe384e 178512009-06-27 Pavel Roskin <proski@gnu.org>
17852
17853 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
17854 read.
17855 * efiemu/prepare32.c: Likewise.
17856 * efiemu/prepare64.c: Likewise.
17857
c402ab17 178582009-06-26 Pavel Roskin <proski@gnu.org>
17859
17860 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
17861 * include/grub/elf.h: Define symbols without "32" or "64" based
17862 on GRUB_TARGET_WORDSIZE.
17863 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
17864 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
17865 ELF definitions.
17866 * efiemu/loadcore64.c: Likewise.
17867 * loader/i386/bsd32.c: Likewise.
17868 * loader/i386/bsd64.c: Likewise.
17869 * kern/dl.c: Remove own ELF definitions.
17870 * util/i386/efi/grub-mkimage.c: Likewise.
17871
9bbdfd4d 178722009-06-23 Robert Millan <rmh.grub@aybabtu.com>
17873
17874 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
17875 segment 0x0 unconditionally, because the reference generated by
17876 GAS is an absolute address.
17877
a42ce6e9 178782009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17879
17880 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
17881 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
17882
c952cf92 178832009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17884
17885 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
17886 indexes. Check for -f explicitly.
cc3752ad 17887 (search_file): Improve error message.
17888 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 17889
132a0a59 178902009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17891
17892 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
17893 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
17894
387a140c 178952009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17896
17897 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
17898 * conf/i386-ieee1275.rmk: Likewise.
17899 * conf/i386-coreboot.rmk: Likewise.
17900
17901 * kern/i386/pc/startup.S (grub_stop): Remove function.
17902 * kern/i386/ieee1275/startup.S: Likewise.
17903 * kern/i386/coreboot/startup.S: Likewise.
17904 * kern/i386/misc.S (grub_stop): New function.
17905
41da9665 179062009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17907
17908 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
17909 * kern/i386/realmode.S (real_to_prot): ... to here.
17910
bf337234 179112009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17912
17913 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
17914 with `kernel.img'.
17915 (kernel_elf_SOURCES): Rename to ...
17916 (kernel_img_SOURCES): ... this.
17917 (kernel_elf_HEADERS): Rename to ...
17918 (kernel_img_HEADERS): ... this. Update all users.
17919 (kernel_elf_ASFLAGS): Rename to ...
17920 (kernel_img_ASFLAGS): ... this.
17921 (kernel_elf_CFLAGS): Rename to ...
17922 (kernel_img_CFLAGS): ... this.
17923 (kernel_elf_LDFLAGS): Rename to ...
17924 (kernel_img_LDFLAGS): ... this.
17925 * conf/i386-coreboot.rmk: Likewise.
17926 * conf/powerpc-ieee1275.rmk: Likewise.
17927
17928 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
17929 with "kernel.img".
17930
f52196ff 179312009-06-21 Pavel Roskin <proski@gnu.org>
17932
c3cee413 17933 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
17934 to match nested functions.
17935 * loader/sparc64/ieee1275/linux.c: Likewise.
17936
f52196ff 17937 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
17938
58750afc 179392009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17940
17941 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
17942 all i386 platforms.
17943
15355c7d 179442009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17945
17946 Fix asm file handling on ELF, and remove workarounds.
17947
17948 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 17949 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 17950 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
17951 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
17952
3f3ec72b 179532009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
17954
17955 Load BSD ELF modules
17956
17957 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
17958 and loader/i386/bsd64.c
17959 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
17960 (FREEBSD_MODTYPE_ELF_MODULE): New definition
17961 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
17962 (grub_freebsd_load_elfmodule32): New declaration
17963 (grub_freebsd_load_elfmoduleobj64): Likewise
17964 (grub_freebsd_load_elf_meta32): Likewise
17965 (grub_freebsd_load_elf_meta64): Likewise
17966 (grub_freebsd_add_meta): Likewise
17967 (grub_freebsd_add_meta_module): Likewise
17968 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
17969 (grub_freebsd_add_meta_module): Likewise and move module-specific
17970 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
17971 (grub_cmd_freebsd): Add elf-kernel specific parts
17972 based on grub_freebsd_add_meta_module
17973 (grub_cmd_freebsd_module): Add type parsing moved from
17974 grub_freebsd_add_meta_module
17975 (grub_cmd_freebsd_module_elf): New function
17976 (cmd_freebsd_module_elf): New variable
17977 (GRUB_MOD_INIT): Register freebsd_module_elf
17978 * loader/i386/bsd32.c: New file
17979 * loader/i386/bsd64.c: Likewise
17980 * loader/i386/bsdXX.c: Likewise
17981 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
17982 (grub_elf64_load): Likewise
17983 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
17984 All users updated
17985 (grub_elf64_load_hook_t): Likewise
17986
0db15301 179872009-06-21 Colin Watson <cjwatson@ubuntu.com>
17988
17989 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
17990 variable.
17991 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
17992 don't write a menu entry for recovery mode.
17993
546796c1 179942009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17995
17996 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
17997 after it's no longer needed.
17998
cd7310d5 179992009-06-20 Robert Millan <rmh.grub@aybabtu.com>
18000
18001 * include/grub/i386/loader.h (grub_linux_prot_size)
18002 (grub_linux_tmp_addr, grub_linux_real_addr)
18003 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
18004 GRUB_MACHINE_PCBIOS.
18005 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
18006 common grub_util_info() call to ...
18007 (generate_image): ... here.
18008 Fix use of uninitialized memory, comparison of signed with
18009 unsigned integers and memory leak.
18010 Remove bogus module address message.
18011
ab32d3b5 180122009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18013
18014 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
18015 grub_raid_register
18016 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
18017
024ef597 180182009-06-19 Pavel Roskin <proski@gnu.org>
18019
18020 * configure.ac: Remove stray AC_MSG_CHECKING.
18021
3ac72b51 180222009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
18023
18024 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 18025
e14cd814 180262009-06-18 Pavel Roskin <proski@gnu.org>
18027
18028 * conf/common.rmk: Add fs_file.mod.
18029 * disk/fs_file.c: New file.
18030 * include/grub/disk.h (enum grub_disk_dev_id): Add
18031 GRUB_DISK_DEVICE_FILE_ID.
18032
26586d98 180332009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
18034
18035 Fix build with Apple's toolchain. Part 2
18036
18037 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
18038 a fake start
18039
26de2bcd 180402009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
18041
18042 Fix build with Apple's toolchain. Part 1
18043
18044 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
18045 for long calls
18046 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 18047 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 18048 Apple's toolchain
18049
09b3490b 180502009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
18051
18052 Fix warnings
18053
18054 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
18055 (decomp_block): initialize ch
18056 use grub_memcpy instead of memcpy
18057
c22a006a 180582009-06-17 Pavel Roskin <proski@gnu.org>
18059
d3638678 18060 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
18061 version, use declarations needed to use vga_text as the startup
18062 console.
18063
c22a006a 18064 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
18065 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
18066 the kernel.
18067 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
18068 and grub_at_keyboard_fini(), it's done on module load and
18069 unload.
18070
05b129e0 180712009-06-17 Felix Zielcke <fzielcke@z-51.de>
18072
18073 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
18074 file can't be found.
18075 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18076
cf24ed9e 180772009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
18078
18079 Fix newline handling
18080
18081 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 18082 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 18083 (grub_script_yylex): don't segfault on unterminated script
18084 newline terminates command and variable
18085
74aa8e4b 180862009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
18087
18088 avoid double grub_adjust_range call. Bug reported by David Simner
18089
18090 * kern/disk.c (grub_disk_write): change to raw disk access before
18091 calling disk_read
18092
1bd265f3 180932009-06-17 Colin Watson <cjwatson@ubuntu.com>
18094
18095 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
18096 spaces, for the benefit of help2man.
18097 * util/i386/efi/grub-mkimage.c (usage): Likewise.
18098
a2d08c06 180992009-06-16 Pavel Roskin <proski@gnu.org>
18100
18101 * kern/i386/halt.c: Include grub/machine/init.h.
18102 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
18103
b97bcb19 181042009-06-16 Felix Zielcke <fzielcke@z-51.de>
18105
18106 * util/grub.d/30_os-prober.in: Use ${root} in the generated
18107 drivemap menuentry.
18108
0644f96c 181092009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
18110
18111 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
18112 `echo' command.
18113
3ef17a2e 181142009-06-16 Pavel Roskin <proski@gnu.org>
18115
18116 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
18117 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
18118 save %dx, we only need %dl and we never change it.
18119 * boot/i386/pc/cdboot.S: Don't set the root drive.
18120 * boot/i386/pc/pxeboot.S: Likewise.
18121 * include/grub/i386/pc/boot.h: Remove
18122 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
18123 GRUB_BOOT_MACHINE_DRIVE_CHECK.
18124 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
18125 * kern/i386/pc/init.c (make_install_device): Remove references
18126 to grub_root_drive.
18127 * kern/i386/pc/startup.S: Likewise.
18128 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
18129
693fe637 181302009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
18131
18132 xnu_uuid command
18133
18134 * commands/xnu_uuid.c: new file
18135 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
18136 (xnu_uuid_mod_SOURCES): new variable
18137 (xnu_uuid_mod_CFLAGS): likewise
18138 (xnu_uuid_mod_LDFLAGS): likewise
18139 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
18140 * conf/i386-ieee1275.rmk: likewise
18141 * conf/i386-pc.rmk: likewise
18142 * conf/powerpc-ieee1275.rmk: likewise
18143 * conf/sparc64-ieee1275.rmk: likewise
18144 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
18145
c9da87d0 181462009-06-16 Pavel Roskin <proski@gnu.org>
18147
18148 * configure.ac: Avoid '==' in test command, it's not portable.
18149
9c6f4596 181502009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
18151
18152 Probe command
18153
18154 * commands/probe.c: new file
18155 * conf/common.rmk (pkglib_MODULES): add probe.mod
18156 (probe_mod_SOURCES): new variable
18157 (probe_mod_CFLAGS): likewise
18158 (probe_mod_LDFLAGS): likewise
18159 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
18160 * conf/i386-ieee1275.rmk: likewise
18161 * conf/i386-pc.rmk: likewise
18162 * conf/powerpc-ieee1275.rmk: likewise
18163 * conf/sparc64-ieee1275.rmk: likewise
18164
70b7f9fd 181652009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
18166
18167 Fix handling of string like \"hello\" and "a
18168 b"
18169
18170 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
18171 (grub_script_yylex): fix parsing of quoting, escaping and newline
18172
71c79a6b 181732009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
18174
dd74360c 18175 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 18176 handling
dd74360c 18177
0644f96c 181782009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 18179
18180 * util/grub-mkconfig.in: Fix parsing of --output option.
18181
e40893c3 181822009-06-12 Pavel Roskin <proski@gnu.org>
18183
18184 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
18185 genmk.rb don't need to be generated or installed.
18186
3a1acfe2 181872009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18188
18189 * commands/i386/pc/drivemap_int13h.S: add more comments
18190
3a4575d4 181912009-06-11 Pavel Roskin <proski@gnu.org>
18192
0658e928 18193 * Makefile.in (uninstall): Uninstall manuals.
18194
ca0388f0 18195 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
18196 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
18197 and update-grub_lib in two places.
18198 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
18199
e3b27c39 18200 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
18201 a compiler warning.
18202
3a4575d4 18203 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
18204 `entry_lo' to fix variable shadowing.
18205
af1f4f55 182062009-06-11 Christian Franke <franke@computer.org>
18207
18208 * kern/misc.c (__enable_execute_stack): Add missing return type
18209 to prevent gcc warning.
18210
5225e649 182112009-06-11 Felix Zielcke <fzielcke@z-51.de>
18212
18213 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
18214
7d83bd47 182152009-06-11 Pavel Roskin <proski@gnu.org>
18216
c1cb63ba 18217 * Makefile.in: Don't rely on any scripts being executable.
18218 Always use $(SHELL) to run shell scripts.
18219
7d83bd47 18220 * configure.ac: Always define ___main if using -nostdlib. This
18221 fixes tests on Cygwin.
18222
948f48e7 182232009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
18224
18225 UDF fix
18226
7d83bd47 18227 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 18228 is in bytes and not in blocks
7d83bd47 18229
8ada9bc1 182302009-06-11 Pavel Roskin <proski@gnu.org>
18231
18232 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
18233 warning.
18234
25ad2323 182352009-06-11 Felix Zielcke <fzielcke@z-51.de>
18236
18237 * util/grub.d/30_os-prober.in: Fix a comment. Source
18238 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
18239 to set the root device. Place drivemap command in the generated
18240 chain entry.
18241
e65acb0c 182422009-06-11 Pavel Roskin <proski@gnu.org>
18243
18244 * configure.ac: Remove host_m32. Issues with 64-bit utilities
18245 have long been resolved.
18246
f285fe2d 182472009-06-11 Colin Watson <cjwatson@ubuntu.com>
18248
bd47b0b5 18249 * util/grub.d/10_linux.in: Capitalise "Linux".
18250
f285fe2d 18251 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
18252
a0c62e4e 182532009-06-11 Pavel Roskin <proski@gnu.org>
18254
b6783cb2 18255 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
18256 fix a gcc warning and ensure that the function won't ever exit.
18257
dde032e8 18258 * kern/i386/ieee1275/init.c: Add missing prototype for
18259 grub_stop_floppy().
18260
22cd079d 18261 * loader/ieee1275/multiboot2.c [__i386__]: Include
18262 grub/cpu/multiboot.h.
18263
a0c62e4e 18264 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
18265 casts to short - they are not portable and cause warnings. Fix
18266 use of uninitialized values in input_buf. Use ARRAY_SIZE.
18267
63963d17 182682009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
18269
18270 Drivemap fixes
18271
18272 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
18273 new function
18274 (grub_get_root_biosnumber_saved): new variable
18275 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
18276 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 18277 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 18278 %dx after the call if necessary
18279 * conf/common.rmk (pkglib_MODULES): remove boot.mod
18280 (boot_mod_SOURCES): remove
18281 (boot_mod_CFLAGS): remove
18282 (boot_mod_LDFLAGS): remove
18283 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
18284 (boot_mod_SOURCES): new variable
18285 (boot_mod_CFLAGS): likewise
18286 (boot_mod_LDFLAGS): likewise
18287 * conf/i386-efi.rmk: likewise
18288 * conf/i386-ieee1275.rmk: likewise
18289 * conf/i386-pc.rmk: likewise
18290 * conf/powerpc-ieee1275.rmk: likewise
18291 * conf/sparc64-ieee1275.rmk: likewise
18292 * conf/x86_64-efi.rmk: likewise
18293 * include/grub/i386/pc/biosnum.h: new file
18294 * lib/i386/pc/biosnum.c: likewise
18295 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
18296 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
18297 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 18298
33abf7ae 182992009-06-10 Pavel Roskin <proski@gnu.org>
18300
5ac35b35 18301 * io/gzio.c (test_header): Don't reuse one buffer for all data.
18302 Use separate variables. Read only the file size at the end, but
18303 not the checksum that we don't use.
18304
5c5215d5 18305 * kern/file.c (grub_file_read): Use void pointer for the buffer.
18306 Adjust all callers.
18307
27d5fef7 18308 * kern/ieee1275/openfw.c: Remove libc includes.
18309 * kern/ieee1275/cmain.c: Likewise.
18310 * include/grub/ieee1275/ieee1275.h: Likewise.
18311
33abf7ae 18312 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
18313 compiler warnings.
18314
19d50c2b 183152009-06-10 Felix Zielcke <fzielcke@z-51.de>
18316
18317 * Makefile.in: Remove all trailing whitespace.
18318 * conf/i386-pc.rmk: Likewise.
18319 * conf/powerpc-ieee1275.rmk: Likewise.
18320 * conf/sparc64-ieee1275.rmk: Likewise.
18321 * docs/grub.texi: Likewise.
18322 * docs/texinfo.tex: Likewise.
18323 * disk/fs_uuid.c: Likewise.
18324 * disk/lvm.c: Likewise.
18325 * disk/scsi.c: Likewise.
18326 * disk/ata.c: Likewise.
18327 * disk/ieee1275/ofdisk.c: Likewise.
18328 * disk/i386/pc/biosdisk.c: Likewise.
18329 * disk/host.c: Likewise.
18330 * disk/raid.c: Likewise.
18331 * disk/efi/efidisk.c: Likewise.
18332 * disk/usbms.c: Likewise.
18333 * disk/memdisk.c: Likewise.
18334 * disk/loopback.c: Likewise.
18335 * kern/powerpc/dl.c: Likewise.
18336 * kern/device.c: Likewise.
18337 * kern/dl.c: Likewise.
18338 * kern/sparc64/dl.c: Likewise.
18339 * kern/ieee1275/ieee1275.c: Likewise.
18340 * kern/term.c: Likewise.
18341 * kern/fs.c: Likewise.
18342 * kern/i386/dl.c: Likewise.
18343 * kern/i386/pc/startup.S: Likewise.
18344 * kern/i386/pc/init.c: Likewise.
18345 * kern/i386/pc/mmap.c: Likewise.
18346 * kern/i386/pc/lzo1x.S: Likewise.
18347 * kern/i386/ieee1275/init.c: Likewise.
18348 * kern/i386/realmode.S: Likewise.
18349 * kern/i386/tsc.c: Likewise.
18350 * kern/partition.c: Likewise.
18351 * kern/corecmd.c: Likewise.
18352 * kern/file.c: Likewise.
18353 * kern/efi/efi.c: Likewise.
18354 * kern/efi/init.c: Likewise.
18355 * kern/efi/mm.c: Likewise.
18356 * kern/main.c: Likewise.
18357 * kern/err.c: Likewise.
18358 * kern/env.c: Likewise.
18359 * kern/disk.c: Likewise.
18360 * kern/generic/millisleep.c: Likewise.
18361 * kern/generic/rtc_get_time_ms.c: Likewise.
18362 * kern/misc.c: Likewise.
18363 * kern/parser.c: Likewise.
18364 * genmk.rb: Likewise.
18365 * configure.ac: Likewise.
18366 * boot/i386/pc/diskboot.S: Likewise.
18367 * boot/i386/pc/pxeboot.S: Likewise.
18368 * boot/i386/pc/boot.S: Likewise.
18369 * boot/i386/pc/lnxboot.S: Likewise.
18370 * boot/i386/pc/cdboot.S: Likewise.
18371 * parttool/pcpart.c: Likewise.
18372 * video/readers/tga.c: Likewise.
18373 * video/video.c: Likewise.
18374 * video/bitmap.c: Likewise.
18375 * lib/envblk.c: Likewise.
18376 * lib/i386/setjmp.S: Likewise.
18377 * fs/xfs.c: Likewise.
18378 * fs/afs.c: Likewise.
18379 * fs/fat.c: Likewise.
18380 * fs/ntfs.c: Likewise.
18381 * fs/udf.c: Likewise.
18382 * fs/affs.c: Likewise.
18383 * fs/iso9660.c: Likewise.
18384 * fs/hfs.c: Likewise.
18385 * fs/fshelp.c: Likewise.
18386 * fs/ext2.c: Likewise.
18387 * fs/jfs.c: Likewise.
18388 * fs/reiserfs.c: Likewise.
18389 * fs/hfsplus.c: Likewise.
18390 * fs/minix.c: Likewise.
18391 * fs/cpio.c: Likewise.
18392 * fs/sfs.c: Likewise.
18393 * fs/ufs.c: Likewise.
18394 * efiemu/prepare.c: Likewise.
18395 * efiemu/loadcore_common.c: Likewise.
18396 * efiemu/runtime/efiemu.sh: Likewise.
18397 * efiemu/runtime/efiemu.S: Likewise.
18398 * efiemu/runtime/efiemu.c: Likewise.
18399 * efiemu/pnvram.c: Likewise.
18400 * efiemu/main.c: Likewise.
18401 * efiemu/i386/pc/cfgtables.c: Likewise.
18402 * efiemu/i386/loadcore64.c: Likewise.
18403 * efiemu/i386/loadcore32.c: Likewise.
18404 * efiemu/loadcore.c: Likewise.
18405 * efiemu/symbols.c: Likewise.
18406 * efiemu/mm.c: Likewise.
18407 * include/grub/autoefi.h: Likewise.
18408 * include/grub/datetime.h: Likewise.
18409 * include/grub/term.h: Likewise.
18410 * include/grub/hfs.h: Likewise.
18411 * include/grub/lvm.h: Likewise.
18412 * include/grub/i386/tsc.h: Likewise.
18413 * include/grub/i386/linux.h: Likewise.
18414 * include/grub/i386/xnu.h: Likewise.
18415 * include/grub/i386/efiemu.h: Likewise.
18416 * include/grub/i386/pc/biosdisk.h: Likewise.
18417 * include/grub/i386/pc/memory.h: Likewise.
18418 * include/grub/i386/pc/vbe.h: Likewise.
18419 * include/grub/parttool.h: Likewise.
18420 * include/grub/video.h: Likewise.
18421 * include/grub/memory.h: Likewise.
18422 * include/grub/fs.h: Likewise.
18423 * include/grub/partition.h: Likewise.
18424 * include/grub/xnu.h: Likewise.
18425 * include/grub/efi/api.h: Likewise.
18426 * include/grub/efi/pe32.h: Likewise.
18427 * include/grub/efi/memory.h: Likewise.
18428 * include/grub/multiboot.h: Likewise.
18429 * include/grub/usbdesc.h: Likewise.
18430 * include/grub/multiboot2.h: Likewise.
18431 * include/grub/acpi.h: Likewise.
18432 * include/grub/efiemu/efiemu.h: Likewise.
18433 * include/grub/disk.h: Likewise.
18434 * include/grub/ieee1275/ieee1275.h: Likewise.
18435 * include/grub/net.h: Likewise.
18436 * include/grub/machoload.h: Likewise.
18437 * include/grub/macho.h: Likewise.
18438 * include/multiboot.h: Likewise.
18439 * genmoddep.awk: Likewise.
18440 * normal/main.c: Likewise.
18441 * normal/menu_entry.c: Likewise.
18442 * normal/menu_viewer.c: Likewise.
18443 * normal/completion.c: Likewise.
18444 * normal/cmdline.c: Likewise.
18445 * normal/misc.c: Likewise.
18446 * normal/datetime.c: Likewise.
18447 * bus/usb/usbtrans.c: Likewise.
18448 * bus/usb/ohci.c: Likewise.
18449 * bus/usb/uhci.c: Likewise.
18450 * bus/usb/usb.c: Likewise.
18451 * mmap/efi/mmap.c: Likewise.
18452 * mmap/i386/pc/mmap_helper.S: Likewise.
18453 * mmap/i386/pc/mmap.c: Likewise.
18454 * mmap/i386/mmap.c: Likewise.
18455 * mmap/i386/uppermem.c: Likewise.
18456 * mmap/mmap.c: Likewise.
18457 * commands/acpi.c: Likewise.
18458 * commands/echo.c: Likewise.
18459 * commands/blocklist.c: Likewise.
18460 * commands/loadenv.c: Likewise.
18461 * commands/usbtest.c: Likewise.
18462 * commands/boot.c: Likewise.
18463 * commands/parttool.c: Likewise.
18464 * commands/search.c: Likewise.
18465 * commands/cat.c: Likewise.
18466 * commands/i386/pc/play.c: Likewise.
18467 * commands/i386/pc/drivemap.c: Likewise.
18468 * commands/i386/pc/vbeinfo.c: Likewise.
18469 * commands/i386/pc/acpi.c: Likewise.
18470 * commands/i386/pc/vbetest.c: Likewise.
18471 * commands/ls.c: Likewise.
18472 * commands/cmp.c: Likewise.
18473 * commands/test.c: Likewise.
18474 * commands/efi/acpi.c: Likewise.
18475 * commands/gptsync.c: Likewise.
18476 * commands/help.c: Likewise.
18477 * partmap/amiga.c: Likewise.
18478 * partmap/apple.c: Likewise.
18479 * partmap/acorn.c: Likewise.
18480 * partmap/pc.c: Likewise.
18481 * partmap/sun.c: Likewise.
18482 * partmap/gpt.c: Likewise.
18483 * script/sh/lexer.c: Likewise.
18484 * script/sh/function.c: Likewise.
18485 * font/font.c: Likewise.
18486 * font/font_cmd.c: Likewise.
18487 * loader/powerpc/ieee1275/linux.c: Likewise.
18488 * loader/efi/chainloader.c: Likewise.
18489 * loader/multiboot_loader.c: Likewise.
18490 * loader/macho.c: Likewise.
18491 * loader/i386/multiboot.c: Likewise.
18492 * loader/i386/linux.c: Likewise.
18493 * loader/i386/pc/linux.c: Likewise.
18494 * loader/i386/pc/multiboot2.c: Likewise.
18495 * loader/i386/pc/chainloader.c: Likewise.
18496 * loader/i386/pc/xnu.c: Likewise.
18497 * loader/i386/bsd_trampoline.S: Likewise.
18498 * loader/i386/efi/linux.c: Likewise.
18499 * loader/i386/multiboot_elfxx.c: Likewise.
18500 * loader/i386/bsd_helper.S: Likewise.
18501 * loader/i386/bsd.c: Likewise.
18502 * loader/i386/linux_trampoline.S: Likewise.
18503 * loader/i386/xnu_helper.S: Likewise.
18504 * loader/i386/xnu.c: Likewise.
18505 * loader/i386/bsd_pagetable.c: Likewise.
18506 * loader/i386/multiboot_helper.S: Likewise.
18507 * loader/xnu.c: Likewise.
18508 * loader/xnu_resume.c: Likewise.
18509 * io/gzio.c: Likewise.
18510 * term/efi/console.c: Likewise.
18511 * term/terminfo.c: Likewise.
18512 * term/ieee1275/ofconsole.c: Likewise.
18513 * term/i386/pc/serial.c: Likewise.
18514 * term/i386/pc/vesafb.c: Likewise.
18515 * term/i386/pc/vga.c: Likewise.
18516 * term/usb_keyboard.c: Likewise.
18517 * term/gfxterm.c: Likewise.
18518 * aclocal.m4: Likewise.
18519 * util/lvm.c: Likewise.
18520 * util/grub.d/30_os-prober.in: Likewise.
18521 * util/grub.d/10_hurd.in: Likewise.
18522 * util/console.c: Likewise.
18523 * util/grub-macho2img.c: Likewise.
18524 * util/grub-probe.c: Likewise.
18525 * util/hostfs.c: Likewise.
18526 * util/i386/pc/grub-mkimage.c: Likewise.
18527 * util/i386/pc/grub-setup.c: Likewise.
18528 * util/i386/efi/grub-mkimage.c: Likewise.
18529 * util/grub-mkconfig.in: Likewise.
18530 * util/raid.c: Likewise.
18531 * util/resolve.c: Likewise.
18532 * util/grub-mkdevicemap.c: Likewise.
18533 * util/grub-emu.c: Likewise.
18534 * util/getroot.c: Likewise.
18535 * util/hostdisk.c: Likewise.
18536 * util/usb.c: Likewise.
18537 * util/grub-editenv.c: Likewise.
18538 * util/misc.c: Likewise.
18539
d2d49665 185402009-06-10 Felix Zielcke <fzielcke@z-51.de>
18541
18542 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
18543 `genparttoollist.sh'.
18544 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
18545 Add `*.sh' to the list find searches for and change `mdate.sh'
18546 to `mdate-sh'.
18547
fe052e37 185482009-06-10 Pavel Roskin <proski@gnu.org>
18549
2763ac18 18550 * include/grub/multiboot2.h: Provide compatibility defines for
18551 multiboot2.h.
18552 * include/multiboot2.h: Include stdint.h only if needed, using
18553 angle brackets.
18554 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
18555 grub/multiboot2.h.
18556 * loader/ieee1275/multiboot2.c: Likewise.
18557 * loader/multiboot2.c: Likewise.
18558 * loader/multiboot_loader.c: Likewise.
18559
437e6adc 18560 * configure.ac: Use -nostdlib when probing for the target. It
18561 should not be required to have libc for the target.
18562
06a6836c 18563 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
18564 they fail without libc headers for the target.
18565 * include/grub/powerpc/libgcc.h: Use weak attribute for all
18566 exports.
18567 * include/grub/sparc64/libgcc.h: Likewise. Don't use
18568 preprocessor conditionals.
18569
fe052e37 18570 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
18571 build system doesn't need to be aware of the tar.c internals.
18572
afd22553 185732009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 18574
afd22553 18575 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 18576
6b787c4f 185772009-06-09 Robert Millan <rmh.grub@aybabtu.com>
18578
18579 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
18580 disk limit to 26 for IDE, Virtio, Xen and SCSI.
18581
185822009-06-09 Felix Zielcke <fzielcke@z-51.de>
18583
18584 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 18585 aren't available if ata.mod gets used.
6b787c4f 18586
473d1e45 185872009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 18588
473d1e45 18589 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 18590 initialising controller.
473d1e45 18591 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 18592
255a27d4 185932009-06-08 Felix Zielcke <fzielcke@z-51.de>
18594
18595 * util/i386/pc/grub-install.in: Add a parameter --disk-module
18596 to choose between ata and biosdisk module on i386-pc.
18597
473d1e45 185982009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 18599
d55842d8 18600 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
18601 Subclass and Programming Interface fields in terms of the 3 byte
18602 Class Code register.
18603 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
18604
fa5db0b1 18605 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
18606 interface is OHCI. Add grub_dprintf for symmetry with
18607 bus/usb/uhci.c.
18608 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
18609 interface is UHCI. Add interf variable for programming
18610 interface. Print interface with class/subclass.
18611
c0947beb 18612 * bus/usb/ohci.c: Set interf with correct field.
18613
69da8877 18614 * bus/usb/uhci.c: Remove unneeded doubled lines.
18615 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
18616 Remove whitespace inside comment.
18617
9e172e30 186182009-06-08 Robert Millan <rmh.grub@aybabtu.com>
18619
18620 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
18621 as fallback an equivalent option without depth.
18622
de65ee2b 186232009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
18624
18625 Not fail if unable to retrieve C/H/S on LBA disks
18626
473d1e45 18627 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 18628 if unable to retrieve C/H/S on LBA disks
18629
b57ea2c9 186302009-06-08 Pavel Roskin <proski@gnu.org>
18631
18632 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
18633 about aliasing.
18634
af361263 186352009-06-08 Felix Zielcke <fzielcke@z-51.de>
18636
18637 * Makefile.in (uninstall): Remove all $lib_DATA files.
18638
4c9ec6b3 186392009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
18640
18641 Bugfix: install on partitionless device
18642
18643 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
18644 is a whole disk
18645
e76fc924 186462009-06-08 Felix Zielcke <fzielcke@z-51.de>
18647
18648 * Makefile.in (uninstall): Remove all $include_DATA files.
18649
ba5a0d05 186502009-06-08 Felix Zielcke <fzielcke@z-51.de>
18651
18652 * commands/true.c: New file. Implement the true and false commands.
18653 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
18654 (true_mod_SOURCES): New variable.
18655 (true_mod_CFLAGS): Likewise.
18656 (true_mod_LDFLAGS): Likewise.
18657
c8048e32 186582009-06-05 Colin D Bennett <colin@gibibit.com>
18659
18660 Optimized font character lookup using binary search instead of linear
18661 search. Fonts now are required to have the character index ordered by
18662 code point.
18663
18664 * font/font.c (load_font_index): Verify that fonts have ordered
18665 character indices.
18666 (find_glyph): Use binary search instead of linear search to find a
18667 character in a font.
18668
408305be 186692009-06-05 Michael Scherer <misc@mandriva.org>
18670
18671 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
18672 uses case sensitive btree.
18673 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
18674 only for case insensitive filesystems.
18675
8ee1e0d9 186762009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
18677
18678 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
18679 * conf/common.rmk (search_mod_CFLAGS): likewise
18680
a9966eb1 186812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18682
473d1e45 18683 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 18684 compensate a compiler bug
18685
9e7100fb 186862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18687
473d1e45 18688 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 18689 instead of '\b'
473d1e45 18690
ede21d71 186912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18692
18693 Definitions for creating asm symbols with Apple's CC
18694
18695 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
18696 [APPLE_CC] (VARIABLE): likewise
18697
9dbf7653 186982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 Disable lnxboot.img when compiled
18701 with Apple's CC
18702
18703 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
18704 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
18705 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
18706 [! APPLE_CC] (CODE_LENG): skip
18707 [! APPLE_CC] (setup_sects): likewise
18708 [! APPLE_CC]: skip filling
473d1e45 18709
e93cdc3d 187102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18711
18712 Address in trampolines based on 32-bit registers when compiled
18713 with Apple's CC
18714
473d1e45 18715 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 18716 for addresses
18717 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
18718
6c688477 187192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18720
18721 Avoid aliases when compiling with Apple's CC for PCBIOS machine
18722
18723 * kern/misc.c [APPLE_CC] (memcpy): new function
18724 [APPLE_CC] (memmove): likewise
18725 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 18726 (memcpy): define alias conditionally on !APPLE_CC
6c688477 18727 (memset): likewise
18728 (abort): likewise
18729 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
18730 APPLE_CC are defined
18731 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
18732 (grub_assert_fail): make prototype conditional
18733
e37ffc5c 187342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18735
18736 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
18737
473d1e45 18738 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
18739 grub-macho2img
e37ffc5c 18740 (CLEANFILES): add grub-macho2img
18741 (grub_macho2img_SOURCES): new variable
18742 * kern/i386/pc/startup.S (bss_start): new variable
18743 (bss_end): likewise
18744 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
18745 * util/grub-macho2img.c: new file
18746
cf00df31 187472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18748
18749 Use objconv when compiling with Apple's CC
18750
18751 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
18752 (efiemu64.o): likewise
18753 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
18754 when compiling with Apple's CC
18755 (efiemu64_s.o): likewise
18756 * configure.ac: check for objconv when compiling with Apple's CC
18757 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 18758
d119a20c 187592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18760
18761 Define segment as well as section when compiling with
18762 Apple's CC
18763
18764 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
18765 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
18766 (efiemu_convert_pointer): likewise
18767 (efiemu_set_virtual_address_map): likewise
18768 (efiemu_convert_pointer): likewise
18769 (efiemu_getcrc32): likewise
18770 (init_crc32_table): likewise
18771 (reflect): likewise
18772 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
18773 (GRUB_MOD_DEP): likewise
473d1e45 18774
c8600122 187752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18776
18777 Allow a compilation without -mcmodel=large
18778
18779 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
18780 when compiled without -mcmodel=large
473d1e45 18781 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 18782 without -mcmodel=large
473d1e45 18783 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 18784 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 18785
e8df1d4e 187862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18787
18788 Remove nested functions in efiemu core
18789
18790 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 18791
cc6c3ac1 187922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18793
18794 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
18795
18796 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
18797 temporary storage
473d1e45 18798 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
18799 using Apple's CC
cc6c3ac1 18800 (grub_cpu_is_tsc_supported): likewise
18801 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 18802
3e325901 188032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18804
18805 Absolute addressing through constant with Apple's cc
18806
18807 * kern/i386/pc/startup.S: Define necessary constants
18808 and address through it when using ABS with Apple's CC
18809 * boot/i386/pc/diskboot.S: likewise
18810 * boot/i386/pc/boot.S: likewise
18811 * boot/i386/pc/lnxboot.S: likewise
18812 * boot/i386/pc/cdboot.S: likewise
18813 * mmap/i386/pc/mmap_helper.S: likewise
18814 * commands/i386/pc/drivemap_int13h.S: likewise
18815
2b167a72 188162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18817
18818 Check if compiler is apple cc
18819
18820 * Makefile.in (ASFLAGS): new variable
18821 (TARGET_ASFLAGS): likewise
18822 (TARGET_MODULE_FORMAT): likewise
18823 (TARGET_APPLE_CC): likewise
18824 (OBJCONV): likewise
18825 (TARGET_IMG_CFLAGS): likewise
18826 (TARGET_CPPFLAGS): add includedir
18827 * configure.ac: call grub_apple_cc and grub_apple_target_cc
18828 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
18829 Check for linker script only if compiler isn't Apple's CC
18830 (TARGET_MODULE_FORMAT): set
18831 (TARGET_APPLE_CC): likewise
18832 (TARGET_ASFLAGS): likewise
18833 (ASFLAGS): likewise
18834 Check for objcopy only if compiler isn't Apple's CC
18835 Check for BSS symbol only if compiler isn't Apple's CC
18836 * genmk.rb: adapt nm options if we use Apple's utils
18837 * aclocal.m4 (grub_apple_cc): new test
18838 (grub_apple_target_cc): likewise
473d1e45 18839
fb14123e 188402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18841
18842 Simplify sed expressions and improve awk
18843
18844 * Makefile.in (install-local): simplify sed expression
18845 * gencmdlist.sh: likewise
18846 * genmoddep.awk: avoid adding module as a dependency of itself
18847
5b889789 188482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18849
18850 Add missing start symbols
18851
18852 * boot/i386/pc/boot.S: add start
fb14123e 18853 * boot/i386/pc/pxeboot.S: likewise
473d1e45 18854
fd2bf2e3 188552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18856
18857 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 18858
18859 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 18860 (relocate_addresses): consider both r_addend and value at offset
18861 (make_mods_section): zerofill modinfo and header
18862 (convert_elf): write prefix here
473d1e45 18863
5389763d 188642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18865
18866 Use .asciz instead of .string
18867
18868 * i386/pc/diskboot.S: use .asciz instead of .string
18869 * i386/pc/boot.S: likewise
18870 * include/grub/dl.h (GRUB_MOD_DEP): likewise
18871 (GRUB_MOD_NAME): likewise
473d1e45 18872
3eb5ed4e 188732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18874
18875 gfxpayload support
18876
18877 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
18878 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
18879 (grub_video_setup): remove
18880 (grub_video_set_mode): new prototype
18881 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
18882 (vid_mode): remove
18883 (linux_vesafb_res): compile only on PCBIOS
18884 (grub_linux_boot): support gfxpayload
18885 * loader/i386/pc/xnu.c (video_hook): new function
18886 (grub_xnu_set_video): support gfxpayload
18887 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
18888 (DEFAULT_VIDEO_HEIGHT): likewise
18889 (DEFAULT_VIDEO_FLAGS): likewise
18890 (DEFAULT_VIDEO_MODE): new definition
18891 (video_hook): new function
18892 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 18893 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 18894 loading xnu
18895 * video/video.c (grub_video_setup): removed
473d1e45 18896 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 18897 grub_video_setup
18898
4b0e1143 188992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18900
18901 Avoid calling biosdisk in drivemap
18902
18903 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
18904 (revparse_biosdisk): likewise
18905 (list_mappings): derive name from id directly
18906 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 18907
fda6cb98 189082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18909
18910 Script fixes
18911
18912 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
18913 (grub_lexer_param): add tokenonhold
18914 (grub_script_create_cmdline): remove cmdline. All callers updated
18915 (grub_script_function_create): make functionname
18916 grub_script_arg. All callers updated
18917 (grub_script_execute_argument_to_string): new prototype
18918 * kern/parser.c (state_transitions): reorder
18919 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 18920 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 18921 make global
18922 (grub_script_execute_cmdline): use new format
18923 * script/sh/function.c (grub_script_function_create): make functionname
18924 grub_script_arg. All callers updated
473d1e45 18925 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 18926 (grub_script_yylex): remove
18927 (grub_script_yylex2): renamed to ...
18928 (grub_script_yylex): ...renamed
18929 parse the expressions like a${b}c
18930 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
18931 (GRUB_PARSER_TOKEN_VAR): remove
18932 (GRUB_PARSER_TOKEN_NAME): likewise
18933 ("if"): declare as typeless
18934 ("while"): likewise
18935 ("function"): likewise
18936 ("else"): likewise
18937 ("then"): likewise
18938 ("fi"): likewise
18939 (text): remove
18940 (argument): likewise
18941 (script): accept empty scripts and make exit on error
18942 (arguments): use GRUB_PARSER_TOKEN_ARG
18943 (function): likewise
18944 (command): move error handling to script
18945 (menuentry): move grub_script_lexer_ref before
473d1e45 18946 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 18947 argument. All callers updated
18948
f4448a07 189492009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18950
18951 Prevent GRUB from probing floppies during boot.
18952
18953 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
18954 * commands/search.c (options): Add --no-floppy.
18955 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
18956 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
18957 --no-floppy when searching for UUIDs.
18958
2bf5885a 189592009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18960
18961 Simplify the code duplication in commands/search.c.
18962
18963 * commands/search.c (search_label, search_fs_uuid): Merge into ...
18964 (search_fs): ... this. Update all users.
18965
f6fd460a 189662009-06-03 Felix Zielcke <fzielcke@z-51.de>
18967
18968 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
18969
cbb3c83e 189702009-05-28 Pavel Roskin <proski@gnu.org>
18971
57788cfd 18972 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
18973 Remove the original symlink explicitly.
18974
cbb3c83e 18975 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
18976 just one slash. That's how grub_fshelp_find_file() does it.
18977
cd0d5e30 189782009-05-26 Pavel Roskin <proski@gnu.org>
18979
f0f8bbe2 18980 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
18981 to `str'.
18982
cd0d5e30 18983 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
18984 possibly unused.
18985
8c2cab51 189862009-05-25 Christian Franke <franke@computer.org>
18987
18988 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
18989 register.
18990 (grub_atapi_identify): Add wait after drive select.
18991 (grub_ata_identify): Do more strict status register check before
18992 calling grub_atapi_identify (). Suppress error message if status
18993 register is 0x00 after command failure. Add status register
18994 check after PIO read to avoid bogus identify due to stuck DRQ.
18995 Thanks to Pavel Roskin for testing.
18996 (grub_device_initialize): Remove unsafe status register check.
18997 Thanks to 'phcoder' for problem report and patch.
18998 Prevent sign extension in debug message.
18999
230c0ad6 190002009-05-23 Colin D Bennett <colin@gibibit.com>
19001
19002 Cleaned up `include/grub/normal.h'. Grouped prototypes by
19003 definition file, and functions defined in `normal/menu.c' have had
19004 their prototypes moved to `include/grub/menu.h' for consistency.
19005
19006 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
19007 from normal.h.
19008 (grub_menu_get_entry): Likewise.
19009 (grub_menu_get_timeout): Likewise.
19010 (grub_menu_set_timeout): Likewise.
19011 (grub_menu_execute_entry): Likewise.
19012 (grub_menu_execute_with_fallback): Likewise.
19013 (grub_menu_entry_run): Likewise.
19014
19015 * include/grub/normal.h: Re-ordered and grouped function
19016 prototypes by file that the function is defined in.
19017 (grub_menu_execute_callback): Removed; moved to menu.h.
19018 (grub_menu_get_entry): Likewise.
19019 (grub_menu_get_timeout): Likewise.
19020 (grub_menu_set_timeout): Likewise.
19021 (grub_menu_execute_entry): Likewise.
19022 (grub_menu_execute_with_fallback): Likewise.
19023 (grub_menu_entry_run): Likewise.
19024 (grub_menu_addentry): Renamed from this ...
19025 (grub_normal_add_menu_entry): ... to this.
19026
19027 * normal/main.c (grub_menu_addentry): Renamed from this ...
19028 (grub_normal_add_menu_entry): ... to this.
19029
19030 * script/sh/execute.c (grub_script_execute_menuentry): Update
19031 reference to renamed grub_menu_addentry function.
19032
861f03a5 190332009-05-23 Felix Zielcke <fzielcke@z-51.de>
19034
19035 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
19036
96b1619a 190372009-05-22 Pavel Roskin <proski@gnu.org>
19038
bf6a5fb2 19039 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
19040 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
19041 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
19042 compiling for the i386 targets, but not for the utilities.
19043
96b1619a 19044 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
19045 to grub_uint8_t.
19046 (grub_root_drive): Likewise.
19047 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
19048 remove alignment.
19049 (grub_root_drive): Change size to byte.
19050 (grub_start_addr): Remove.
19051 (grub_end_addr): Likewise.
19052 (grub_apm_bios_info): Likewise.
19053
b729776b 190542009-05-21 Felix Zielcke <fzielcke@z-51.de>
19055
19056 * normal/i386: Remove.
19057 * normal/powerpc: Likewise.
19058 * normal/sparc64: Likewise.
19059 * normal/x86_64: Likewise.
19060
0a15ce80 190612009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
19062
19063 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 19064 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 19065 * loader/i386/xnu_helper.S: Likewise
d6da58e6 19066
33db9015 190672009-05-18 Colin D Bennett <colin@gibibit.com>
19068
d6da58e6 19069 Display error messages when parsing a Lua statement fails.
19070 Previously, executing a syntactically invalid statement like
19071 ")foo" or "bar;" would silently fail.
33db9015 19072
19073 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 19074 (grub_lua_parse_line): Improved reporting of Lua parser and
19075 execution errors.
33db9015 19076
46422c89 190772009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19078
19079 Remove -Werror which causes build to fail on some systems
19080
19081 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
19082 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
19083 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 19084
22f53a96 190852009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19086
19087 trampoline for linux on 64-bit platform
19088
18f547ad 19089 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
19090 loader/i386/efi/linux_trampoline.S
19091 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 19092 declaration
d6da58e6 19093 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
19094 here
22f53a96 19095 * loader/i386/linux_trampoline.S: moved here
d6da58e6 19096 * loader/i386/efi/linux.c (allocate_pages): reserve space for
19097 trampoline
22f53a96 19098 (jumpvector): removed
19099 (grub_linux_trampoline_start): new declaration
19100 (grub_linux_trampoline_end): likewise
19101 (grub_linux_boot): use trampoline when on 64-bit platform
19102 * loader/i386/linux.c: likewise
19103
cb5a0f40 191042009-05-16 Pavel Roskin <proski@gnu.org>
19105
19106 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
19107 const to avoid a warning.
19108 (grub_lua_setenv): Likewise.
19109 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
19110 lmsg to fix a warning.
19111
334f2c28 191122009-05-16 Felix Zielcke <fzielcke@z-51.de>
19113
19114 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 19115 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
19116 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
19117 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
19118 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
19119 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
19120 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
19121 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 19122
59e5d3ec 191232009-05-16 Felix Zielcke <fzielcke@z-51.de>
19124
19125 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
19126
9d87a1ba 191272009-05-16 Bean <bean123ch@gmail.com>
19128
19129 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
19130 (lua_mod_SOURCES): New variable.
19131 (lua_mod_CFLAGS): Likewise.
19132 (lua_mod_LDFLAGS): Likewise.
19133
19134 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
19135 (setjmp_mod_SOURCES): New variable.
19136 (setjmp_mod_CFLAGS): Likewise.
19137 (setjmp_LDFLAGS): Likewise.
19138
19139 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
19140 (setjmp_mod_SOURCES): New variable.
19141 (setjmp_mod_CFLAGS): Likewise.
19142 (setjmp_LDFLAGS): Likewise.
19143
19144 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
19145 (setjmp_mod_SOURCES): New variable.
19146 (setjmp_mod_CFLAGS): Likewise.
19147 (setjmp_LDFLAGS): Likewise.
19148
19149 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
19150 (setjmp_mod_SOURCES): New variable.
19151 (setjmp_mod_CFLAGS): Likewise.
19152 (setjmp_LDFLAGS): Likewise.
19153
19154 * normal/i386/setjmp.S: Moved from here ...
19155 * lib/i386/setjmp.S: ... Moved here
19156 * normal/x86_64/setjmp.S: Moved from here ...
19157 * lib/x86_64/setjmp.S: ... Moved here
19158 * normal/powerpc/setjmp.S: Moved from here ...
19159 * lib/powerpc/setjmp.S: ... Moved here
19160 * normal/sparc64/setjmp.S: Moved from here ...
19161 * lib/sparc64/setjmp.S: ... Moved here
19162
19163 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
19164 returns_twice in mingw.
19165
19166 * script/lua/grub_lib.c: New file.
19167 * script/lua/grub_lib.h: Likewise.
19168 * script/lua/grub_lua.h: Likewise.
19169 * script/lua/grub_main.c: Likewise.
19170 * script/lua/lapi.c: Likewise.
19171 * script/lua/lapi.h: Likewise.
19172 * script/lua/lauxlib.c: Likewise.
19173 * script/lua/lauxlib.h: Likewise.
19174 * script/lua/lbaselib.c: Likewise.
19175 * script/lua/lcode.c: Likewise.
19176 * script/lua/lcode.h: Likewise.
19177 * script/lua/ldblib.c: Likewise.
19178 * script/lua/ldebug.c: Likewise.
19179 * script/lua/ldebug.h: Likewise.
19180 * script/lua/ldo.c: Likewise.
19181 * script/lua/ldo.h: Likewise.
19182 * script/lua/ldump.c: Likewise.
19183 * script/lua/lfunc.c: Likewise.
19184 * script/lua/lfunc.h: Likewise.
19185 * script/lua/lgc.c: Likewise.
19186 * script/lua/lgc.h: Likewise.
19187 * script/lua/linit.c: Likewise.
19188 * script/lua/liolib.c: Likewise.
19189 * script/lua/llex.c: Likewise.
19190 * script/lua/llex.h: Likewise.
19191 * script/lua/llimits.h: Likewise.
19192 * script/lua/lmathlib.c: Likewise.
19193 * script/lua/lmem.c: Likewise.
19194 * script/lua/lmem.h: Likewise.
19195 * script/lua/loadlib.c: Likewise.
19196 * script/lua/lobject.c: Likewise.
19197 * script/lua/lobject.h: Likewise.
19198 * script/lua/lopcodes.c: Likewise.
19199 * script/lua/lopcodes.h: Likewise.
19200 * script/lua/loslib.c: Likewise.
19201 * script/lua/lparser.c: Likewise.
19202 * script/lua/lparser.h: Likewise.
19203 * script/lua/lstate.c: Likewise.
19204 * script/lua/lstate.h: Likewise.
19205 * script/lua/lstring.c: Likewise.
19206 * script/lua/lstring.h: Likewise.
19207 * script/lua/lstrlib.c: Likewise.
19208 * script/lua/ltable.c: Likewise.
19209 * script/lua/ltable.h: Likewise.
19210 * script/lua/ltablib.c: Likewise.
19211 * script/lua/ltm.c: Likewise.
19212 * script/lua/ltm.h: Likewise.
19213 * script/lua/lua.h: Likewise.
19214 * script/lua/luaconf.h: Likewise.
19215 * script/lua/lualib.h: Likewise.
19216 * script/lua/lundump.c: Likewise.
19217 * script/lua/lundump.h: Likewise.
19218 * script/lua/lvm.c: Likewise.
19219 * script/lua/lvm.h: Likewise.
19220 * script/lua/lzio.c: Likewise.
19221 * script/lua/lzio.h: Likewise.
19222
5e898c9d 192232009-05-16 Bean <bean123ch@gmail.com>
19224
19225 * include/grub/kernel.h (grub_module_header_types): Add type
19226 OBJ_TYPE_CONFIG.
19227
19228 * kern/main.c (grub_load_config): New function.
19229 (grub_main): Call grub_load_config to read boot config.
19230
19231 * grub-mkimage (generate_image): New parameter config_path.
19232 (options): New option --config.
19233 (main): Parse --config option, and pass it to generate_image.
19234
cf353a47 192352009-05-14 Christian Franke <franke@computer.org>
19236
19237 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
19238 This fixes build on Cygwin.
19239
3834887f 192402009-05-14 Pavel Roskin <proski@gnu.org>
19241
19242 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
19243 jump. This saves two bytes, so the typical case of 2 swapped
19244 drives would fit 32 bytes.
19245
8090fc01 192462009-05-13 Pavel Roskin <proski@gnu.org>
19247
ac963883 19248 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
19249 grub_uint32_t to avoid a warning.
19250
8090fc01 19251 * loader/i386/linux.c (allocate_pages): When assigning
19252 real_mode_mem, cast through grub_size_t to fix a warning. The
19253 code already makes sure that the value would fit a pointer.
19254 (grub_linux_setup_video): Cast render_target->data to
19255 grub_size_t to fix a warning.
19256
18f547ad 192572009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 19258
19259 * commands/i386/pc/drivemap.c: New file - implement drivemap
19260 command.
19261 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
19262 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
19263
6f6a8b28 192642009-05-13 Pavel Roskin <proski@gnu.org>
19265
19266 * util/i386/pc/grub-setup.c (setup): Remove unused variable
19267 embedding_area_exists.
19268
15fbf4c4 192692009-05-13 Robert Millan <rmh.grub@aybabtu.com>
19270
19271 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
19272 it easier to understand / work with.
59978c8a 19273 Improve warning messages for cases where there's no embedding area,
19274 or when it is too small (or core.img too large).
15fbf4c4 19275
238e871f 192762009-05-13 Pavel Roskin <proski@gnu.org>
19277
0ab3a9a4 19278 * loader/i386/pc/multiboot2.c: Add necessary includes for
19279 grub_multiboot2_real_boot().
19280
a2c8c5f8 19281 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
19282 PX record is always little-endian. We only need the lower 2
19283 bytes of the mode.
19284
faec96af 19285 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
19286 facilitate code reuse.
19287 (grub_cpio_mount): Use "struct head", not a char buffer. This
19288 fixes a warning reported by gcc 4.4.
19289
238e871f 19290 * kernel/disk.c (grub_disk_read): Use void pointer for the
19291 buffer.
19292 (grub_disk_write): Use const void pointer for the buffer.
19293 Adjust all callers. Remove unnecessary casts.
19294
901d2f0c 192952009-05-10 Robert Millan <rmh.grub@aybabtu.com>
19296
19297 * util/i386/pc/grub-install.in: Update copyright year.
19298
18f547ad 192992009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 19300
19301 gptsync
19302
19303 * commands/gptsync.c: new file
19304 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
19305 (gptsync_mod_SOURCES): new variable
19306 (gptsync_mod_CFLAGS): likewise
19307 (gptsync_mod_LDFLAGS): likewise
18f547ad 19308 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 19309 new definition
19310 (GRUB_PC_PARTITION_TYPE_HFS): likewise
19311 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
19312 * conf/i386-ieee1275.rmk: likewise
19313 * conf/i386-pc.rmk: likewise
19314 * conf/powerpc-ieee1275.rmk: likewise
19315
b4ba690a 193162009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19317
19318 Fixed grub-emu
19319
19320 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
19321 (grub_dl_ref): likewise
19322
317e1a44 193232009-05-08 Robert Millan <rmh.grub@aybabtu.com>
19324
19325 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
19326 split in two functions (one for msdos and one for gpt).
19327
041b8094 193282009-05-08 Pavel Roskin <proski@gnu.org>
19329
752473c2 19330 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
19331 not modified.
19332
041b8094 19333 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
19334 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
19335 Initialize them with -1. Add sanity check for bad1. Eliminate
19336 nerr variable.
19337
172800ce 193382009-05-08 David S. Miller <davem@davemloft.net>
19339
19340 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
19341
29aa5e81 193422009-05-06 Robert Millan <rmh.grub@aybabtu.com>
19343
19344 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 19345 existence.
29aa5e81 19346
96613b62 193472009-05-05 Felix Zielcke <fzielcke@z-51.de>
19348
19349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 19350 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 19351
eef73c8a 193522009-05-05 David S. Miller <davem@davemloft.net>
19353
19354 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
19355
119494b5 193562009-05-05 Pavel Roskin <proski@gnu.org>
19357
19358 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
19359 of grub_dl_ref() and grub_dl_unref().
19360 * commands/parttool.c: Remove preprocessor conditionals around
19361 grub_dl_ref() and grub_dl_unref().
19362 * fs/affs.c: Likewise.
19363 * fs/afs.c: Likewise.
19364 * fs/cpio.c: Likewise.
19365 * fs/ext2.c: Likewise.
19366 * fs/fat.c: Likewise.
19367 * fs/hfs.c: Likewise.
19368 * fs/hfsplus.c: Likewise.
19369 * fs/iso9660.c: Likewise.
19370 * fs/jfs.c: Likewise.
19371 * fs/minix.c: Likewise.
19372 * fs/ntfs.c: Likewise.
19373 * fs/reiserfs.c: Likewise.
19374 * fs/sfs.c: Likewise.
19375 * fs/udf.c: Likewise.
19376 * fs/ufs.c: Likewise.
19377 * fs/xfs.c: Likewise.
19378 * include/grub/dl.h: Likewise.
19379 * loader/xnu.c: Likewise.
19380
de5fd76e 193812009-05-04 Pavel Roskin <proski@gnu.org>
19382
19383 * commands/acpi.c: Remove unused variable my_mod.
19384 * partmap/amiga.c: Likewise.
19385 * partmap/apple.c: Likewise.
19386 * partmap/gpt.c: Likewise.
19387 * partmap/pc.c: Likewise.
19388 * partmap/sun.c: Likewise.
19389 * term/gfxterm.c: Likewise.
19390 * term/i386/pc/vesafb.c: Likewise.
19391 * term/i386/pc/vga.c: Likewise.
19392
983598ad 193932009-05-04 David S. Miller <davem@davemloft.net>
19394
19395 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
19396 pointer args to grub_ieee1275_get_property().
19397
8aadec43 19398 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
19399
9554b15e 19400 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
19401 devices, and do not traverse down under controller nodes.
19402
67e23c90 19403 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
19404 (grub_ofdisk_open): Use it to un-escape "," characters.
19405 * kern/disk.c (find_part_sep): New.
19406 (grub_disk_open): Use it to find the first non-escaped ','
19407 character in the disk name.
19408 * util/ieee1275/devicemap.c (escape_of_path): New.
19409 (grub_util_emit_devicemap_entry): Use it.
19410 * util/sparc64/ieee1275/grub-install.in: Update script to
19411 strip partition specifiers properly by not triggering on
19412 '\' escaped ',' characters.
19413
74bfdd2f 194142009-05-04 Robert Millan <rmh.grub@aybabtu.com>
19415
19416 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
19417 to 0x300.
19418 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
19419 resolutions.
19420 (linux_vesafb_modes): Add a lot of additional modes to the list (based
19421 on documentation from Wikipedia).
19422
4241d2b1 194232009-05-04 Pavel Roskin <proski@gnu.org>
19424
19425 * disk/ata.c: Spelling fixes.
19426 * disk/raid.c: Likewise.
19427 * disk/usbms.c: Likewise.
19428 * disk/dmraid_nvidia.c: Likewise.
19429 * kern/ieee1275/openfw.c: Likewise.
19430 * kern/ieee1275/init.c: Likewise.
19431 * kern/ieee1275/cmain.c: Likewise.
19432 * boot/i386/pc/cdboot.S: Likewise.
19433 * video/readers/png.c: Likewise.
19434 * video/i386/pc/vbe.c: Likewise.
19435 * fs/udf.c: Likewise.
19436 * fs/hfs.c: Likewise.
19437 * fs/reiserfs.c: Likewise.
19438 * efiemu/runtime/efiemu.c: Likewise.
19439 * efiemu/main.c: Likewise.
19440 * efiemu/mm.c: Likewise.
19441 * include/grub/elf.h: Likewise.
19442 * include/grub/xnu.h: Likewise.
19443 * include/grub/usbdesc.h: Likewise.
19444 * include/grub/usb.h: Likewise.
19445 * include/grub/script_sh.h: Likewise.
19446 * include/grub/lib/LzmaEnc.h: Likewise.
19447 * include/grub/efiemu/efiemu.h: Likewise.
19448 * include/grub/command.h: Likewise.
19449 * normal/menu.c: Likewise.
19450 * normal/main.c: Likewise.
19451 * normal/datetime.c: Likewise.
19452 * bus/usb/uhci.c: Likewise.
19453 * mmap/i386/uppermem.c: Likewise.
19454 * mmap/mmap.c: Likewise.
19455 * commands/acpi.c: Likewise.
19456 * commands/test.c: Likewise.
19457 * partmap/apple.c: Likewise.
19458 * font/font.c: Likewise.
19459 * loader/sparc64/ieee1275/linux.c: Likewise.
19460 * loader/macho.c: Likewise.
19461 * loader/i386/bsd_trampoline.S: Likewise.
19462 * loader/i386/bsd.c: Likewise.
19463 * loader/xnu.c: Likewise.
19464 * term/i386/pc/vesafb.c: Likewise.
19465 * term/usb_keyboard.c: Likewise.
19466 * util/resolve.c: Likewise.
19467 * util/getroot.c: Likewise.
19468
0cfc0083 194692009-05-04 Felix Zielcke <fzielcke@z-51.de>
19470
19471 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
19472
7c1d00cd 194732009-05-04 Robert Millan <rmh.grub@aybabtu.com>
19474
19475 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
19476 build error.
19477
b01f0548 194782009-05-04 Robert Millan <rmh.grub@aybabtu.com>
19479
19480 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
19481 parameter only available on BIOS.
19482
ecc3eb22 194832009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
19484
19485 Removed wrong semicolon in declaration
19486
19487 * grub/misc.h (grub_dprintf): remove semicolon
19488
112972a9 194892009-05-04 Robert Millan <rmh.grub@aybabtu.com>
19490
19491 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
19492 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
19493 is done by grub_cmd_linux() now).
19494 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
19495 restore video to text mode.
19496 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
19497 indicates lack of "vga=" parameter. "vga=0" is mapped to
19498 `GRUB_LINUX_VID_MODE_NORMAL'.
19499
afd5c115 195002009-05-04 Felix Zielcke <fzielcke@z-51.de>
19501
19502 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
19503 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
19504 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 19505 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 19506 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
19507 `grub_script.tab.c'.
19508
19509 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19510 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19511 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19512 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19513 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19514
faa517ce 19515 * Makefile.in: Remove duplicated 2008 in Copyright line.
19516
ae0c0bdc 195172009-05-04 Robert Millan <rmh.grub@aybabtu.com>
19518
473d1e45 19519 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 19520 unconditionally.
19521 * include/grub/util/misc.h (grub_util_warn): New declaration.
19522
19523 * util/i386/pc/grub-install.in: Understand --force and pass it down
19524 to grub-setup.
19525
19526 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
19527 down to setup().
19528 (setup): Improve error messages and add warnings when requested to
19529 install in odd layouts. Refuse to install using blocklists unless
19530 --force was set.
19531
18f547ad 195322009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 19533
19534 * disk/raid.c (grub_raid_scan_device): Improve debug message.
19535
6d260daa 195362009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
19537
19538 Updated copyright year
19539
19540 * fs/hfsplus.c: updated copyright year
18f547ad 19541
69f853f8 195422009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
19543
19544 HFS+ UUID
19545
18f547ad 19546 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 19547 in the space previously used by unused3
19548 (grub_hfsplus_uuid): new function
19549 (grub_hfsplus_fs): added uuid field
19550
4c402e73 195512009-05-03 Pavel Roskin <proski@gnu.org>
19552
19553 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
19554 suppress warnings. It's no longer needed.
19555 * disk/host.c: Likewise.
19556 * disk/ata_pthru.c: Likewise.
19557 * disk/loopback.c: Likewise.
19558 * hook/datehook.c: Likewise.
19559 * parttool/pcpart.c: Likewise.
19560 * fs/i386/pc/pxe.c: Likewise.
19561 * fs/ntfscomp.c: Likewise.
19562 * efiemu/main.c: Likewise.
19563 * mmap/mmap.c: Likewise.
19564 * commands/crc.c: Likewise.
19565 * commands/hexdump.c: Likewise.
19566 * commands/hdparm.c: Likewise.
19567 * commands/acpi.c: Likewise.
19568 * commands/echo.c: Likewise.
19569 * commands/minicmd.c: Likewise.
19570 * commands/blocklist.c: Likewise.
19571 * commands/memrw.c: Likewise.
19572 * commands/loadenv.c: Likewise.
19573 * commands/usbtest.c: Likewise.
19574 * commands/lsmmap.c: Likewise.
19575 * commands/boot.c: Likewise.
19576 * commands/parttool.c: Likewise.
19577 * commands/configfile.c: Likewise.
19578 * commands/search.c: Likewise.
19579 * commands/ieee1275/suspend.c: Likewise.
19580 * commands/cat.c: Likewise.
19581 * commands/i386/pc/pxecmd.c: Likewise.
19582 * commands/i386/pc/play.c: Likewise.
19583 * commands/i386/pc/halt.c: Likewise.
19584 * commands/i386/pc/vbeinfo.c: Likewise.
19585 * commands/i386/pc/vbetest.c: Likewise.
19586 * commands/lspci.c: Likewise.
19587 * commands/date.c: Likewise.
19588 * commands/handler.c: Likewise.
19589 * commands/ls.c: Likewise.
19590 * commands/test.c: Likewise.
19591 * commands/cmp.c: Likewise.
19592 * commands/efi/loadbios.c: Likewise.
19593 * commands/efi/fixvideo.c: Likewise.
19594 * commands/halt.c: Likewise.
19595 * commands/help.c: Likewise.
19596 * commands/reboot.c: Likewise.
19597 * hello/hello.c: Likewise.
19598 * script/sh/main.c: Likewise.
19599 * loader/xnu.c: Likewise.
19600 * term/terminfo.c: Likewise.
19601 * term/i386/pc/serial.c: Likewise.
19602 * term/usb_keyboard.c: Likewise.
19603
515b5079 196042009-05-03 David S. Miller <davem@davemloft.net>
19605
19606 * normal/menu.c: Include grub/parser.h
19607
dfc31a22 196082009-05-03 Pavel Roskin <proski@gnu.org>
19609
2fee74f1 19610 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
19611 not char*.
19612 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
19613 Suggested by Javier Martín <lordhabbit@gmail.com>
19614
dfc31a22 19615 * util/i386/pc/grub-mkrescue.in: Allow for the case when
19616 efiemu??.o doesn't exist.
19617 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
19618 copying.
19619
18f547ad 196202009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 19621
19622 FreeBSD 64-bit support
19623
18f547ad 19624 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 19625 and loader/i386/bsd_trampoline.S
19626 (bsd_mod_ASFLAGS): new variable
19627 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
19628 (FREEBSD_MODTYPE_KERNEL64): likewise
19629 (grub_bsd64_trampoline_start): likewise
19630 (grub_bsd64_trampoline_end): likewise
19631 (grub_bsd64_trampoline_selfjump): likewise
19632 (grub_bsd64_trampoline_gdt): likewise
19633 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
19634 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
19635 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
19636 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 19637 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 19638 of "attrib" member
19639 * loader/i386/bsd_pagetable.c: new file
19640 * loader/i386/bsd_trampoline.S: likewise
19641 * loader/i386/bsd.c (ALIGN_QWORD): new macro
19642 (ALIGN_VAR): likewise
19643 (entry_hi): new variable
19644 (kern_end_mdofs): likewise
19645 (is_64bit): likewise
19646 (grub_freebsd_add_meta): use ALIGN_VAR
19647 (grub_e820_mmap): new declaration
19648 (grub_freebsd_add_mmap): new function
19649 (grub_freebsd_add_meta_module): support 64 bit kernels
19650 (grub_freebsd_list_modules): use ALIGN_VAR
19651 (gdt_descriptor): new declaration
19652 (grub_freebsd_boot): support 64 bit kernels
19653 (grub_bsd_elf64_hook): new function
19654 (grub_bsd_load_elf): support elf64
19655
038c5720 196562009-05-03 Bean <bean123ch@gmail.com>
19657
19658 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
19659 after we get the result of if statement.
19660
fc45fb58 196612009-05-03 Bean <bean123ch@gmail.com>
19662
19663 * Makefile.in (enable_efiemu): New variable.
19664
19665 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
19666 set.
19667 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
19668 path.
19669 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
19670 path, add -mno-red-zone option.
19671 (efiemu64_s.o): Likewise.
19672 (efiemu64.o): Use macro $^ for source file.
19673
19674 * configure.ac (--enable-efiemu): New option.
19675
bbee0f2b 196762009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19677
19678 xnu support
19679
19680 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
19681 (pkglib_MODULES): add xnu.mod
19682 (xnu_mod_SOURCES): new variable
19683 (xnu_mod_CFLAGS): likewise
19684 (xnu_mod_LDFLAGS): likewise
19685 (xnu_mod_ASFLAGS): likewise
19686 * conf/i386-pc.rmk: likewise
19687 * conf/x86_64-efi.rmk: likewise
7dd4a573 19688 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 19689 new declaration
19690 * include/grub/i386/macho.h: new file
19691 * include/grub/i386/xnu.h: likewise
19692 * include/grub/macho.h: likewise
19693 * include/grub/machoload.h: likewise
19694 * include/grub/x86_64/macho.h: likewise
19695 * include/grub/x86_64/xnu.h: likewise
19696 * include/grub/xnu.h: likewise
19697 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
19698 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
19699 * loader/i386/efi/xnu.c: new file
19700 * loader/i386/pc/xnu.c: likewise
19701 * loader/i386/xnu.c: likewise
19702 * loader/i386/xnu_helper.S: likewise
19703 * loader/macho.c: likewise
19704 * loader/xnu.c: likewise
19705 * loader/xnu_resume.c: likewise
19706 * util/grub-dumpdevtree: likewise
19707 * include/grub/i386/pit.h: include grub/err.h
19708 (grub_pit_wait): export
19709 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 19710
5caf964d 197112009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19712
19713 Efiemu
7dd4a573 19714
5caf964d 19715 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 19716 _linux_efi, linux_efi.
19717 new files in grub-emu
5caf964d 19718 new targets efiemu32.o and efiemu64.o
19719 * loader/linux_normal_efiemu.c: likewise
19720 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 19721 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 19722 files to copy
19723 * include/grub/autoefi.h: new file
7dd4a573 19724 * include/grub/i386/efiemu.h: likewise
5caf964d 19725 * include/grub/i386/pc/efiemu.h: likewise
19726 * include/grub/efi/api.h: add LL suffix when necessary
19727 new definitions relating to tables
19728 * include/grub/efiemu/efiemu.h: new file
19729 * include/grub/efiemu/runtime.h: likewise
19730 * efiemu/prepare.c: likewise
19731 * efiemu/loadcore_common.c: likewise
19732 * efiemu/loadcore64.c: likewise
19733 * efiemu/runtime/efiemu.sh: likewise
19734 * efiemu/runtime/efiemu.S: likewise
19735 * efiemu/runtime/efiemu.c: likewise
19736 * efiemu/runtime/config.h: likewise
19737 * efiemu/prepare32.c: likewise
19738 * efiemu/main.c: likewise
19739 * efiemu/modules/pnvram.c: likewise
19740 * efiemu/modules/i386: likewise
19741 * efiemu/modules/i386/pc: likewise
19742 * efiemu/modules/acpi.c: likewise
19743 * efiemu/i386/pc/cfgtables.c: likewise
19744 * efiemu/i386/loadcore64.c: likewise
19745 * efiemu/i386/loadcore32.c: likewise
19746 * efiemu/prepare64.c: likewise
19747 * efiemu/loadcore.c: likewise
19748 * efiemu/symbols.c: likewise
19749 * efiemu/mm.c: likewise
19750 * efiemu/loadcore32.c: likewise
7dd4a573 19751
197522009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 19753
19754 ACPI spoofing
19755
19756 * commands/acpi.c: new file
19757 * commands/i386/pc/acpi.c: likewise
19758 * commands/efi/acpi.c: likewise
19759 * include/grub/acpi.h: likewise
19760 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
19761 (acpi_mod_SOURCES): new variable
19762 (acpi_mod_CFLAGS): likewise
19763 (acpi_mod_LDFLAGS): likewise
19764 * conf/i386-efi.rmk: likewise
19765 * conf/x86_64-efi.rmk: likewise
19766
7dd4a573 197672009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 19768
19769 Missing part from mmap patch
19770
19771 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
19772 (grub_mmap_unregister)
19773 (grub_mmap_free_and_unregister): use grub_mmap_register
19774
7dd4a573 197752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 19776
19777 Mmap services
19778
19779 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
19780 * loader/i386/linux.c (find_mmap_size): likewise
19781 (allocate_pages): likewise
19782 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
19783 (grub_fill_multiboot_mmap): likewise
19784 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
19785 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
19786 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
19787 (OPENBSD_MMAP_RESERVED): likewise
19788 * include/grub/i386/pc/memory.h: include grub/memory.h
19789 (grub_lower_mem): removed
19790 (grub_upper_mem): likewise
19791 (GRUB_MACHINE_MEMORY_ACPI): new definition
19792 (GRUB_MACHINE_MEMORY_NVS): likewise
19793 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
19794 (GRUB_MACHINE_MEMORY_HOLE): likewise
19795 (grub_machine_mmap_register): likewise
19796 (grub_machine_mmap_unregister): likewise
19797 (grub_machine_get_upper): likewise
19798 (grub_machine_get_lower): likewise
19799 (grub_machine_get_post64): likewise
19800 * include/grub/i386/efi/memory.h: new file
19801 * include/grub/x86_64/efi/memory.h: likewise
19802 * include/grub/efi/memory.h: likewise
19803 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
19804 (mmap_mod_SOURCES): new variable
19805 (mmap_mod_LDFLAGS): likewise
19806 (mmap_mod_ASFLAGS): likewise
19807 * conf/i386-coreboot.rmk: likewise
19808 * conf/i386-ieee1275.rmk: likewise
19809 * conf/i386-efi.rmk: likewise
19810 * conf/x86_64-efi.rmk: likewise
19811 * include/grub/types.h (UINT_TO_PTR): new macro
19812 (PTR_TO_UINT32): likewise
19813 (PTR_TO_UINT64): likewise
19814 * include/grub/memory.h: new file
19815 * mmap/i386/pc/mmap.c: likewise
19816 * mmap/i386/pc/mmap_helper.S: likewise
19817 * mmap/i386/uppermem.c: likewise
19818 * mmap/mmap.c: likewise
19819 * mmap/efi/mmap.c: likewise
7dd4a573 19820 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 19821 grub_upper_mem
19822 * kern/i386/pc/init.c (grub_lower_mem): removed variable
19823 (grub_upper_mem): likewise
19824 (grub_machine_init): don't use grub_upper_mem,
19825 make grub_lower_mem local
19826 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
19827 grub_mmap_iterate and grub_mmap_get_upper
19828 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
19829
d558e6b5 198302009-05-02 Bean <bean123ch@gmail.com>
19831
19832 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
19833 script/sh/parser.y.
19834 (pkglib_MODULES): Add normal.mod and sh.mod.
19835 (normal_SOURCES): New variable.
19836 (normal_mod_CFLAGS): Likewise.
19837 (normal_mod_LDFLAGS): Likewise.
19838 (sh_mod_SOURCES): Likewise.
19839 (sh_mod_CFLAGS): Likewise.
19840 (sh_mod_LDFLAGS): Likewise.
19841
19842 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
19843 script/sh/lexer.c_DEPENDENCIES.
19844 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
19845 kern/rescue_reader.c and kern/rescue_parser.c.
19846 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
19847 (grub_emu_SOURCES): Change source files.
19848 (pkglib_MODULES): Remove normal.mod.
19849 (normal_SOURCES): Removed.
19850 (normal_mod_CFLAGS): Likewise.
19851 (normal_mod_LDFLAGS): Likewise.
19852 * conf/i386-coreboot.rmk: Likewise.
19853 * conf/i386-efi.rmk: Likewise.
19854 * conf/i386-ieee1276.rmk: Likewise.
19855 * conf/powerpc-ieee1275.rmk: Likewise.
19856 * conf/sparc64-ieee1275.rmk: Likewise.
19857 * conf/x86_64-efi.rmk: Likewise.
19858
19859 * include/grub/command.h (grub_command_execute): New inline function.
19860
19861 * include/grub/menu.h (grub_menu_entry): Removed commands field.
19862
19863 * include/grub/normal.h: Remove <grub/setjmp.h>.
19864 (grub_fs_module_list): Moved to normal/autofs.c.
19865 (grub_exit_env): Removed.
19866 (grub_command_execute): Likewise.
19867 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
19868 parameter script.
19869 (read_command_list): New function declaration.
19870 (read_fs_list): Likewise.
19871
19872 * include/parser.h: Include <grub/reader.h>.
19873 (grub_parser_split_cmdline): Change type of getline parameter.
19874 (grub_parser): New structure.
19875 (grub_parser_class): New variable.
19876 (grub_parser_execute): New function declaration.
19877 (grub_register_rescue_parser): Likewise.
19878 (grub_parser_register): New inline function.
19879 (grub_parser_unregister): Likewise.
19880 (grub_parser_get_current): Likewise.
19881 (grub_parser_set_current): Likewise.
19882
19883 * include/grub/reader.h: New file.
19884 * kern/reader.c: Likewise.
19885 * kern/rescue_parser.c: Likewise.
19886 * kern/rescue_reader.c: Likewise.
19887 * normal/autofs.c: Likewise.
19888 * normal/dyncmd.c: Likewise.
19889
19890 * include/grub/rescue.h: Removed.
19891 * normal/command.h: Likewise.
19892
19893 * include/grub/script.h: Moved to ...
19894 * include/grub/script_sh.h: ... Moved here.
19895 * normal/execute.c: Moved to ...
19896 * script/sh/execute.c: ... Moved here.
19897 * normal/function.c: Moved to ...
19898 * script/sh/function.c: ... Moved here.
19899 * normal/lexer.c: Moved to ...
19900 * script/sh/lexer.c: ... Moved here.
19901 * normal/parser.y: Moved to ...
19902 * script/sh/parser.y: ... Moved here.
19903 * normal/script.c: Moved to ...
19904 * script/sh/script.c: ... Moved here.
19905
19906 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
19907 <grub/reader.h>.
19908 (grub_exit_env): Removed.
19909 (fs_module_list): Moved to normal/autofs.c.
19910 (grub_file_getline): Don't handle comment here.
19911 (free_menu): Skip removed field entry->commands.
19912 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
19913 script parameter.
19914 (read_config_file): Removed nested parameter, change getline function.
19915 (grub_enter_normal_mode): Removed.
19916 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
19917 (read_command_list): Likewise.
19918 (autoload_fs_module): Moved to normal/autofs.c.
19919 (read_fs_list): Likewise.
19920 (reader_nested): New variable.
19921 (grub_normal_execute): Run parser.sh to switch to sh parser.
19922 (grub_cmd_rescue): Removed.
19923 (cmd_normal): Removed.
19924 (grub_cmd_normal): Unregister itself at the beginning. Don't register
19925 rescue command.
19926 (grub_cmdline_run): New function.
19927 (grub_normal_reader_init): Likewise.
19928 (grub_normal_read_line): Likewise.
19929 (grub_env_write_pager): Likewise.
19930 (cmdline): New variable.
19931 (grub_normal_reader): Likewise.
19932 (GRUB_MOD_INIT): Register normal reader and set as current, register
19933 pager hook, register normal command with grub_register_command_prio,
19934 so that it won't show up in command.lst.
19935 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
19936 grub_fs_autoload_hook.
19937
19938 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
19939 (grub_menu_execute_entry): Replace grub_script_execute with
19940 grub_parser_execute, change parameter to grub_command_execute.
19941
19942 * normal/menu_text.c: Remove <grub/script.h>.
19943
19944 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
19945 and <grub/parser.h>.
19946 (run): Change editor_getline to use new parser interface. Change
19947 parameter to grub_command_execute.
19948
19949 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
19950 <grub/reader.h> and <grub/parser.h>.
19951 (grub_load_normal_mode): Execute normal command.
19952 (grub_main): Call grub_register_core_commands,
19953 grub_register_rescue_parser and grub_register_rescue_reader, use
19954 grub_reader_loop to enter input loop.
19955
7dd4a573 19956 * kern/parser.c (grub_parser_split_cmdline): Change type of
19957 getline parameter.
d558e6b5 19958 (grub_parser_class): New variable.
19959 (grub_parser_execute): New function.
19960
19961 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
19962 * loader/multiboot2.c: Likewise.
19963 * loader/sparc64/ieee1275/linux.c: Likewise.
19964
19965 * util/grub-emu.c (read_command_list): New dummy function.
19966
18db813d 199672009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19968
19969 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
19970 count to 16 for CCISS and IDA.
19971
6c67de15 199722009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19973
19974 * normal/menu_text.c (grub_wait_after_message): Print a newline
19975 after waiting for user input.
19976
19977 * loader/i386/linux.c: Include `<grub/normal.h>'.
19978 (grub_cmd_linux): Improve the error message about `ask' mode, by
19979 waiting for user input so it's not missed (we can do this, since
19980 user requested interaction).
19981
d9dc87b0 199822009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19983
19984 Added missing lst to grub-mkrescue
19985
19986 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
19987 and ${input_dir}/parttool.lst
19988
ac8a2baa 199892009-04-30 David S. Miller <davem@davemloft.net>
19990
ad22a610 19991 * util/hostdisk.c (device_is_wholedisk): New function.
19992 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
19993 zero only if device_is_wholedisk() returns true.
19994
6966215d 19995 * util/hostdisk.c (convert_system_partition_to_system_disk):
19996 Handle virtual disk devices named /dev/vdiskX as found on sparc
19997 and powerpc.
19998
ac8a2baa 19999 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
20000 lettered partition specifier is found, convert to numbered.
20001
979b4fb4 200022009-04-29 David S. Miller <davem@davemloft.net>
20003
e2bf39b2 20004 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
20005 * include/grub/sparc64/ieee1275/memory.h: Likewise.
20006
3c64e104 20007 * normal/command.c: Add missing newline at end of file.
20008
979b4fb4 20009 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
20010 warnings.
20011 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
20012 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
20013 grub_ofdisk_read): Likewise, and deal similarly with the fact that
20014 ihandles have a 32-bit type but need to be stored in a "void *".
20015
136d9f82 200162009-04-28 Pavel Roskin <proski@gnu.org>
20017
9459c306 20018 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
20019 not disk. Adjust all dependencies.
2e08a26a 20020 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 20021 grub_disk_close().
20022
136d9f82 20023 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
20024 parent's partition, don't copy it by reference, as it gets freed
20025 on close.
20026
7dd4a573 200272009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 20028
20029 Preboot hooks support
20030
20031 * commands/boot.c (struct grub_preboot_t): new declaration
20032 (preboots_head): new variable
20033 (preboots_tail): likewise
20034 (grub_loader_register_preboot_hook): new function
20035 (grub_loader_unregister_preboot_hook): likewise
20036 (grub_loader_set): launch preboot hooks
20037 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
20038 (grub_loader_register_preboot_hook): new declaration
20039 (grub_loader_unregister_preboot_hook): likewise
20040
5af922b5 200412009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20042
20043 Warning fix
20044
7dd4a573 20045 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 20046 calling grub_dprintf
20047
a5562c30 200482009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
20049
20050 Bug and warning fixes
20051
7dd4a573 20052 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 20053 declaration
20054 * commands/test.c (test_parse): fixed bug with file tests and corrected
20055 declaration of find_file
20056
4006f85c 200572009-04-26 Pavel Roskin <proski@gnu.org>
20058
20059 * Makefile.in: Don't install empty manual pages if help2man is
20060 missing. Use help2man option for output, not shell redirection.
20061
5c77c3de 200622009-04-26 David S. Miller <davem@davemloft.net>
20063
20064 * util/grub-mkdevicemap.c (make_device_map): Add missing
20065 NESTED_FUNC_ATTR to process_device().
20066
033b10a8 200672009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20068
20069 Test command
20070
20071 * commands/test.c: rewritten to use bash-like test
20072
e4343593 200732009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20074
20075 Parttool autoloading and improvements
20076
7dd4a573 20077 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 20078 (parttool.lst): new target
20079 * genmk.rb: generate parttool-*
20080 (CLEANFILES): add #{parttool}
20081 (PARTTOOLFILES): new variable
20082 * genparttoollist.sh: new file
7dd4a573 20083 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 20084 (grub_pcpart_type): likewise
20085 * commands/parttool.c (helpmsg): new variable
20086 (grub_cmd_parttool): output help if not enough arguments are supplied
20087 autoload modules
20088 (GRUB_MOD_INIT(parttool)): use helpmsg
20089
0d312500 200902009-04-24 David S. Miller <davem@davemloft.net>
20091
7dd4a573 20092 Avoiding opening same device multiple times in device iterator.
0d312500 20093
20094 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 20095 and use it to build a list of partitions in iterate_disk() and
0d312500 20096 iterate_partition().
20097
ac20caff 20098 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
20099 on disk->data.
20100
0dcf7495 20101 * disk/ieee1275/nand.c (grub_nand_iterate): Return
20102 grub_devalias_iterate() result instead of unconditional 0.
20103 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
20104 Also, capture hook return value, either directly or via
20105 grub_children_iterate(), and propagate to caller.
20106 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
20107 grub_children_iterate): Return value is now 'int' instead of
20108 'grub_err_t'.
20109 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
20110 like a proper iterator, stopping when hooks return non-zero.
20111 (grub_devalias_iterate): Likewise.
20112
c8c08833 201132009-04-23 David S. Miller <davem@davemloft.net>
20114
20115 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
20116
f01005a8 201172009-04-22 David S. Miller <davem@davemloft.net>
20118
20119 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
20120 is larger than address_cells, use that value for address_cells too.
20121
4e8269da 20122 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
20123 IEEE1275_MAX_PATH_LEN): Define.
20124 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
20125 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
20126 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
20127 'devtype'. Explicitly NULL terminate devalias expansion.
20128
a1447506 20129 * util/sparc64/ieee1275/misc.c: New file.
20130 * util/sparc64/ieee1275/grub-setup.c: New file.
20131 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
20132 * util/sparc64/ieee1275/grub-mkimage.c: New file.
20133 * util/sparc64/ieee1275/grub-install.in: New file.
20134 * util/ieee1275/ofpath.c: New file.
20135 * util/ieee1275/devicemap.c: New file.
20136 * util/devicemap.c: New file.
20137 * util/deviceiter.c: New file.
20138 * kern/sparc64/ieee1275/init.c: New file.
20139 * include/grub/util/ofpath.h: New file.
20140 * include/grub/util/deviceiter.h: New file.
20141 * util/grub-mkdevicemap.c: Include deviceiter.h.
20142 Implement using grub_util_emit_devicemap_entry and
20143 grub_util_iterate_devices.
20144 * conf/i386-corebook.rmk: Build util/deviceiter.c and
20145 util/devicemap.c into grub-mkdevicemap
20146 * conf/i386-efi.rmk: Likewise.
20147 * conf/i386-ieee1275.rmk: Likewise.
20148 * conf/i386-pc.rmk: Likewise.
20149 * conf/powerpc-ieee1275.rmk: Likewise.
20150 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
20151 images and installation utilities. Build kernel as image
20152 instead of as elf binary. Use common rules as much as possible.
20153
7dd4a573 201542009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 20155
20156 Correct GPT definition
20157
7dd4a573 20158 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 20159 of "attrib" member
20160
c6c5219f 201612009-04-19 Felix Zielcke <fzielcke@z-51.de>
20162
20163 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
20164
0552ff9f 201652009-04-19 David S. Miller <davem@davemloft.net>
20166
20167 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
20168 (grub_rescue_cmd_linux): Rename to...
20169 (grub_cmd_linux): and fix prototype.
20170 (grub_rescue_cmd_initrd): Rename to...
20171 (grub_cmd_initrd): and fix prototype.
20172 (cmd_linux, cmd_initrd): New.
20173 (GRUB_MOD_INIT(linux)): Use grub_register_command().
20174 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
20175
d1a282fc 201762009-04-17 Pavel Roskin <proski@gnu.org>
20177
07c5039f 20178 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
20179 format.
20180 (grub_ohci_transfer): Likewise.
20181
b012002d 20182 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
20183
1bc09c35 20184 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
20185 return without a value. Fix inconsistent indentation.
20186
e0ff9126 20187 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
20188 match struct grub_fs.
20189
d1a282fc 20190 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
20191 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
20192 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
20193 * commands/lspci.c (grub_lspci_iter): Likewise.
20194
a96df3f2 201952009-04-16 Bean <bean123ch@gmail.com>
20196
20197 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
20198 value.
20199
41bb0fe9 202002009-04-15 Pavel Roskin <proski@gnu.org>
20201
20202 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
20203 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
20204 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
20205 definitions.
20206
596c6970 202072009-04-15 Felix Zielcke <fzielcke@z-51.de>
20208
20209 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 20210 that no multiple data or metadata areas are supported and `Unknown
596c6970 20211 metadata header'.
20212
7dd4a573 202132009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 20214
20215 Move loader out of the kernel
20216
20217 * kern/loader.c: moved to ...
20218 * commands/boot.c: ... moved here
20219 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
20220 * commands/boot.c (grub_cmd_boot): moved here. All users updated
20221 * include/grub/kernel.h (grub_machine_fini): export
20222 * include/grub/loader.h (grub_loader_is_loaded): update declaration
20223 (grub_loader_set): likewise
20224 (grub_loader_unset): likewise
20225 (grub_loader_boot): likewise
20226 * conf/common.rmk: new module boot.mod
20227 (pkglib_MODULES): add boot.mod
20228 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
20229 (grub_emu_SOURCES): likewise
20230 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
20231 (grub_emu_SOURCES): likewise
20232 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
20233 (grub_emu_SOURCES): likewise
20234 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
20235 (grub_emu_SOURCES): likewise
20236 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
20237 (grub_emu_SOURCES): likewise
7dd4a573 20238 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
20239 (grub_emu_SOURCES): likewise
0d5d5653 20240 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 20241 (grub_emu_SOURCES): likewise
0d5d5653 20242
7dd4a573 202432009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 20244
20245 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 20246
5999d619 20247 * kern/misc.c (grub_itoa): Removed function
20248 (grub_ltoa): likewise
20249 (grub_vsprintf): use grub_lltoa
20250
7dd4a573 202512009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 20252
20253 Restore grub-emu
20254
20255 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
20256 * conf/i386-coreboot.rmk: likewise
20257 * conf/i386-ieee1275.rmk: likewise
20258 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 20259
20318222 202602009-04-15 Felix Zielcke <fzielcke@z-51.de>
20261
20262 * INSTALL: Add that `./autogen.sh' needs to be run before
20263 `./configure.'.
20264
d05f0df3 202652009-04-14 Bean <bean123ch@gmail.com>
20266
20267 * Makefile.in (pkglib_DATA): Add handler.lst.
20268 (handler.lst): New rule.
20269
20270 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
20271 * conf/i386-coreboot.rmk: Likewise.
20272 * conf/i386-ieee1275.rmk: Likewise.
20273 * conf/i386-efi.rmk: Likewise.
20274 * conf/x86_64-efi.rmk: Likewise.
20275 * conf/powerpc-ieee1275.rmk: Likewise.
20276 * conf/sparc64-ieee1275.rmk: Likewise.
20277
20278 * genhandlerlist.sh: New file.
20279
20280 * genmk.rb: Add rules to generate handler.lst.
20281
20282 * include/grub/normal.h (grub_file_getline): New function definition.
20283 (read_handler_list): Likewise.
20284 (free_handler_list): Likewise.
20285
20286 * include/grub/term.h (grub_term_register_input): Add name parameter
20287 for auto generation of handler.lst.
20288 (grub_term_register_output): Likewise.
20289
20290 * normal/handler.c: New file.
20291
20292 * normal/main.c (get_line): Renamed to grub_file_getline.
20293 (read_config_file): Use the newly renamed grub_file_getline.
20294 (read_command_list): Likewise.
20295 (read_fs_list): Likewise.
20296 (grub_normal_execute): Call read_handler_list to parse handler.lst.
20297 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
20298
20299 * term/efi/console.c (grub_console_init): Add name parameter for auto
20300 generation of handler.lst.
20301 * term/gfxterm.c: Likewise.
20302 * term/i386/pc/at_keyboard.c: Likewise.
20303 * term/i386/pc/console.c: Likewise.
20304 * term/i386/pc/serial.c: Likewise.
20305 * term/i386/pc/vesafb.c: Likewise.
20306 * term/i386/pc/vga.c: Likewise.
20307 * term/i386/pc/vga_text.c: Likewise.
20308 * term/ieee1275/ofconsole.c: Likewise.
20309 * term/usb_keyboard.c: Likewise.
20310
33c846be 203112009-04-14 Bean <bean123ch@gmail.com>
20312
20313 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
20314 properly with null character.
20315
4484e01e 203162009-04-14 Felix Zielcke <fzielcke@z-51.de>
20317
20318 * configure: Remove.
20319 * config.h.in: Likewise.
f93d668e 20320 * stamp-h.in: Likewise.
4484e01e 20321 * DISTLIST: Likewise.
20322 * conf/common.mk: Likewise.
20323 * conf/i386-coreboot.mk: Likewise.
20324 * conf/i386-efi.mk: Likewise.
20325 * conf/i386-ieee1275.mk: Likewise.
20326 * conf/i386.mk: Likewise.
20327 * conf/i386-pc.mk: Likewise.
20328 * conf/powerpc-ieee1275.mk: Likewise.
20329 * conf/sparc64-ieee1275.mk: Likewise.
20330 * conf/x86_64-efi.mk: Likewise.
20331
20332 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
20333 develop on GRUB.
20334
7dd4a573 203352009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 20336 David S. Miller <davem@davemloft.net>
20337
20338 * util/hostdisk.c (make_device_name): Fix buffer length
20339 calculations.
20340
e25b5a8c 203412009-04-14 Felix Zielcke <fzielcke@z-51.de>
20342
20343 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
20344 <sys/param.h> and <sys/sysctl.h>.
20345 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
20346 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
20347 opening the device and reset them afterwards.
20348
1f1f580c 203492009-04-13 Pavel Roskin <proski@gnu.org>
20350
20351 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
20352 Reported by John Stanley <jpsinthemix@verizon.net>
20353
7ebc2d6b 203542009-04-13 Robert Millan <rmh@aybabtu.com>
20355
20356 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 20357 that name for menuentries when appropriate.
7ebc2d6b 20358
d8ba3667 203592009-04-13 Felix Zielcke <fzielcke@z-51.de>
20360
20361 * util/grub.d/10_freebsd.in: Add a missing `fi'.
20362
cba416eb 203632009-04-13 Robert Millan <rmh@aybabtu.com>
20364
20365 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
20366 to Linux, simply abort telling the user it's no longer supported.
20367
a547a745 203682009-04-13 Felix Zielcke <fzielcke@z-51.de>
20369
20370 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 20371 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 20372 `freebsd_loadenv' only when devices.hints exist.
20373
232a769c 203742009-04-13 Pavel Roskin <proski@gnu.org>
20375
20376 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
20377
c3012039 203782009-04-13 Felix Zielcke <fzielcke@z-51.de>
20379
20380 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
20381 partition number.
20382 (grub_drive): Likewise.
20383
234022fe 203842009-04-13 David S. Miller <davem@davemloft.net>
20385
20386 * kern/sparc64/ieee1275/ieee1275.c: New file.
20387 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
20388 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
20389 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
20390 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
20391 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
20392 grub_ieee1275_alloc_physmem): Declare new exported functions.
20393
d8e1836c 20394 * include/grub/sparc64/ieee1275/loader.h: New file.
20395 * include/grub/sparc64/ieee1275/memory.h: Likewise.
20396 * include/grub/sparc64/kernel.h: Likewise.
20397 * loader/sparc64/ieee1275/linux.c: Likewise.
20398
96bd81ec 20399 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
20400 (grub_fstest_SOURCES): Likewise.
20401
6a4737e5 20402 * util/hostdisk.c (make_device_name): Do not make any assumptions
20403 about the length of drive names.
20404
1d7a72fd 20405 * kern/dl.c (grub_dl_load_file): Close file immediately when
20406 we are done using it.
20407
56bc2471 204082009-04-12 David S. Miller <davem@davemloft.net>
20409
20410 * kern/misc.c (grub_ltoa): Fix cast when handling negative
20411 values. Noticed by Pavel Roskin.
20412
df38d0bb 20413 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
20414 target compiler.
7dd4a573 20415
e382e93a 20416 * genmk.rb: Add more flexible image type specification, also
20417 pass --strip-unneeded to objcopy.
20418 * conf/i386-pc.rmk: Use *_FORMAT.
20419 * conf/i386-pc.mk: Rebuilt.
20420
f5dbbca9 20421 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
20422 (OFDISK_HASH_SZ): Define.
20423 (ofdisk_hash): New hash table.
20424 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
20425 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
20426 instead of device phandle which is not unique.
20427
91c88b12 20428 * kern/sparc64/ieee1275/init.c: Delete, replace with...
20429 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
20430 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
20431 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
20432 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
20433 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
20434 GRUB_KERNEL_MACHINE_DATA_END): Define.
20435 (grub_kernel_image_size, grub_total_module_size): Declare.
20436
5b5d4aa5 204372009-04-12 Pavel Roskin <proski@gnu.org>
20438
7dd4a573 20439 * configure.ac: Change the logic when we check for target tools.
20440 Do it when the target is specified and it's different from the
20441 specified value of the host.
5b5d4aa5 20442
c91e1793 204432009-04-11 Felix Zielcke <fzielcke@z-51.de>
20444
20445 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
20446 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
20447 GNU/kFreeBSD. Check if a device is a character device. Use
20448 DIOCGMEDIASIZE to get the size.
20449 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
20450 support for GNU/kFreeBSD.
20451 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
20452 is a character device instead of a block device. Add support for
20453 FreeBSD device names.
20454
20455 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
20456 is a character device instead of a block device.
20457
20458 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
20459 is a character device instead of a block device.
20460
b1ac8644 204612009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
20462
20463 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
20464 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
20465 FreeBSD. Check if a device is a character device. Use
20466 DIOCGMEDIASIZE to get the size.
20467 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
20468 support for FreeBSD.
20469 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
20470 is a character device instead of a block device. Add support for
20471 FreeBSD device names.
20472
20473 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
20474 a character device instead of a block device.
20475 (grub_util_check_char_device): New function.
20476
20477 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
20478 a character device instead of a block device.
20479
20480 * include/grub/util/getroot.h (grub_util_check_char_device): New
20481 prototype.
20482
a3f7515a 204832009-04-11 David S. Miller <davem@davemloft.net>
20484
20485 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
20486 static libgcc.
20487 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
20488 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
20489 function, if present.
20490 (__bswapdi2): Likewise.
20491
0d44993d 20492 * include/grub/sparc64/ieee1275/boot.h: New file.
20493 * boot/sparc64/ieee1275/boot.S: Likewise.
20494 * boot/sparc64/ieee1275/diskboot.S: Likewise.
20495
ed3d2bc2 20496 * kern/misc.c (grub_ltoa): New function.
20497 (grub_vsprintf): Use it to format 'long' integers.
20498
d3bfb59c 204992009-04-10 David S. Miller <davem@davemloft.net>
20500
20501 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
20502 slots are of type grub_ieee1275_cell_t.
20503 (grub_nand_read): Likewise.
20504 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
20505 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
20506 macros are used to compare values in arg/ret block of the call.
20507 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
20508 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
20509 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
20510 grub_ieee1275_instance_to_path, grub_ieee1275_write,
20511 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
20512 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
20513 grub_ieee1275_close, grub_ieee1275_set_property,
20514 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
20515 grub_ieee1275_cell_t.
20516 * kern/ieee1275/openfw.c (grub_map): Likewise.
20517 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
20518 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
20519
450e2238 20520 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
20521 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
20522 (grub_devalias_iterate): Likewise.
20523
7dd4a573 205242009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 20525
20526 UFS improvements
20527
20528 * fs/ufs.c (INODE_NBLOCKS): new definition
20529 (struct grub_ufs_dirent): added fields for non-BSD dirents
20530 (grub_ufs_get_file_block): fixed double indirect handling
20531 (grub_ufs_lookup_symlink): use more robust way to determine whether
20532 symlink is inline
20533 (grub_ufs_find_file): support for non-BSD dirents
20534 (grub_ufs_dir): support for non-BSD dirents
20535
e7e6862a 205362009-04-10 Bean <bean123ch@gnail.com>
20537
20538 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
20539 attribute, otherwise the size would be wrong for i386 platform.
20540
20541 * include/grub/pci.h (grub_pci_read_word): New inline function.
20542 (grub_pci_read_byte): Likewise.
20543 (grub_pci_write): Likewise.
20544 (grub_pci_write_word): Likewise.
20545 (grub_pci_write_byte): Likewise.
20546
20547 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
20548
20549 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
20550 (find_framebuf): Scan pci to locate the frame buffer address.
20551
20552 * commands/efi/fixvideo.c: New file.
20553
20554 * commands/efi/loadbios.c: Likewise.
20555
20556 * commands/memrw.c: Likewise.
20557
20558 * util/grub-dumpbios.in: Likewise.
20559
20560 * conf/common.rmk (grub-dumpbios): New utility.
20561 (pkglib_MODULES): New module memrw.mod.
20562 (memrw_mod_SOURCE): New macro.
20563 (memrw_mod_CFLAGS): Likewise.
20564 (memrw_mod_LDFLAGS): Likewise.
20565
7dd4a573 20566 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 20567 fixvideo.mod.
20568 (loadbios_mod_SOURCE): New macro.
20569 (loadbios_mod_CFLAGS): Likewise.
20570 (loadbios_mod_LDFLAGS): Likewise.
20571 (fixvideo_mod_SOURCE): Likewise.
20572 (fixvideo_mod_CFLAGS): Likewise.
20573 (fixvideo_mod_LDFLAGS): Likewise.
20574
7dd4a573 20575 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 20576 fixvideo.mod.
20577 (loadbios_mod_SOURCE): New macro.
20578 (loadbios_mod_CFLAGS): Likewise.
20579 (loadbios_mod_LDFLAGS): Likewise.
20580 (fixvideo_mod_SOURCE): Likewise.
20581 (fixvideo_mod_CFLAGS): Likewise.
20582 (fixvideo_mod_LDFLAGS): Likewise.
20583
af63ada2 205842009-04-08 Felix Zielcke <fzielcke@z-51.de>
20585
20586 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
20587
c2cdde70 205882009-04-07 David S. Miller <davem@davemloft.net>
20589
20590 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
20591 support for R_SPARC_OLO10 relocations. Fix compile warning for
20592 R_SPARC_WDISP30 case.
ea3f72cf 20593 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 20594
761319cf 205952009-04-06 Pavel Roskin <proski@gnu.org>
20596
1007d1f5 20597 * include/grub/misc.h (ARRAY_SIZE): New macro.
20598 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
20599 New macro.
20600 * loader/i386/linux.c (allocate_pages): Use free_pages().
20601 (grub_linux_unload): Don't use free_pages().
20602 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
20603 wrong index. Treat all other modes as text modes.
20604 (grub_cmd_linux): Initialize vid_mode unconditionally to
20605 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
20606
761319cf 20607 * commands/help.c (print_command_help): Use cmd->prio, not
20608 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
20609
ea761d40 206102009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 20611
ea761d40 20612 Parttool
20613
20614 * parttool/pcpart.c: new file
20615 * commands/parttool.c: likewise
20616 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
20617 (parttool_mod_SOURCES): new variable
20618 (parttool_mod_CFLAGS): likewise
20619 (parttool_mod_LDFLAGS): likewise
20620 (pcpart_mod_SOURCES): likewise
20621 (pcpart_mod_CFLAGS): likewise
20622 (pcpart_mod_LDFLAGS): likewise
7dd4a573 20623 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 20624 and parttool/pcpart.c
20625 * conf/i386-efi.rmk: likewise
20626 * conf/i386-ieee1275.rmk: likewise
20627 * conf/i386-pc.rmk: likewise
20628 * conf/powerpc-ieee1275.rmk: likewise
20629 * conf/sparc64-ieee1275.rmk: likewise
20630 * conf/x86_64-ieee1275.rmk: likewise
20631
05aaebfb 206322009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20633
20634 Support for mtime and further expandability of dir command
20635
20636 * include/grub/lib/datetime.h: moved to ...
7dd4a573 20637 * include/grub/datetime.h: ... moved here and added
05aaebfb 20638 declaration of grub_unixtime2datetime. All users updated
7dd4a573 20639 * include/grub/fs.h: new syntax for dir and mtime functions in
20640 struct grub_fs
05aaebfb 20641 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
20642 and GRUB_FSHELP_FLAGS_MASK
20643 * commands/ls.c (grub_ls_list_files): Write mtime in long format
20644 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
20645 (grub_ext2_mtime): new function
20646 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
20647 (grub_hfsplus_mtime): new function
20648 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
20649 (GRUB_UFS_ATTR_FILE): likewise
20650 (GRUB_UFS_ATTR_LNK): likewise
20651 (struct grub_ufs_sblock): new fields mtime
20652 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
20653 all users updated
20654 (grub_ufs_dir): mtime support
20655 (grub_ufs_mtime): new function
20656 * fs/affs.c (grub_affs_dir): use new dir syntax
20657 * fs/afs.c (grub_afs_dir): likewise
20658 * fs/cpio.c (grub_cpio_dir): likewise
20659 * fs/fat.c (grub_fat_find_dir): likewise
20660 * fs/hfs.c (grub_hfs_dir): likewise
20661 * fs/iso9660.c (grub_iso9660_dir): likewise
20662 * fs/jfs.c (grub_jfs_dir): likewise
20663 * fs/minix.c (grub_minix_dir): likewise
20664 * fs/ntfs.c (grub_ntfs_dir): likewise
20665 * fs/reiserfs.c (grub_reiserfs_dir): likewise
20666 * fs/sfs.c (grub_sfs_dir): likewise
20667 * fs/xfs.c (grub_xfs_dir): likewise
20668 * util/hostfs.c (grub_hostfs_dir): likewise
20669 * lib/datetime.c: moved to ...
20670 * normal/datetime.c: ... moved here
20671 (grub_unixtime2datetime): new function
20672 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 20673 * normal/completion.c (iterate_dir): use new dir syntax
20674 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 20675 last modification time of a volume
7dd4a573 20676 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 20677 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 20678 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 20679 (normal_mod_SOURCES): likewise
20680 (datetime_mod_SOURCES): Removed lib/datetime.c
20681 * conf/i386-efi.rmk: likewise
7dd4a573 20682 * conf/i386-ieee1275.rmk: likewise
05aaebfb 20683 * conf/i386-pc.rmk: likewise
20684 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 20685 * conf/sparc64-ieee1275.rmk: likewise
20686 * conf/x86_64-efi.rmk: likewise
05aaebfb 20687
8a7e1a14 206882009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20689
20690 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 20691
20692 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 20693 on grub_fat_find_dir
20694 (grub_fat_find_dir): use grub_fat_iterate_dir
20695 (grub_fat_label): likewise
20696
04186a9c 206972009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20698
7dd4a573 20699 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 20700 and command.h
20701 remove extraneous kernel_elf_HEADERS
20702
da4c0bb6 207032009-04-04 Bean <bean123ch@gnail.com>
20704
20705 * include/grub/util/misc.h: Add dummy function fsync for mingw.
20706
20707 * util/misc.c: Likewise.
20708
54ad9555 207092009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
20710
20711 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
20712 instead of grub_printf.
20713
7a6bf9f2 207142009-04-03 Robert Millan <rmh@aybabtu.com>
20715
20716 * loader/i386/linux.c (grub_linux_setup_video): Fill
20717 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
20718 values from `mode info' structure instead of hardcoded
20719 values.
20720
3fcc2083 207212009-04-01 Pavel Roskin <proski@gnu.org>
20722
20723 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
20724 unused now.
20725 * genmk.rb: Likewise.
20726 * configure.ac: Likewise.
20727
5ec9740b 207282009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
20729
20730 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
20731 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
20732
5270cec8 207332009-04-01 David S. Miller <davem@davemloft.net>
20734
20735 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 20736 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 20737 (grub_setjmp): Mark with 'returns_twice' attribute.
20738 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
20739 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
20740 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
20741
9c3dd854 207422009-04-01 Robert Millan <rmh@aybabtu.com>
20743
20744 Reapply fix from 2008-07-28 which was accidentally reverted; also
20745 perform the same fix to a similar check in same function.
20746
20747 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
20748 with the same number are found, just use issue a warning with
20749 grub_dprintf(), as this error has been reported to be non-fatal.
20750
0d818b7e 207512009-03-31 Pavel Roskin <proski@gnu.org>
20752
20753 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
20754 for cross-compilation.
20755
95646d92 207562009-03-30 Robert Millan <rmh@aybabtu.com>
20757
20758 Fix i386-ieee1275 build.
20759
20760 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
20761 Remove declaration.
20762
6a003ed1 207632009-03-30 Pavel Roskin <proski@gnu.org>
20764
20765 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
20766 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
20767 zero-terminated, rely only on the strlen value. Fix comparison
20768 of strings differing in length.
20769
92f33540 207702009-03-30 Robert Millan <rmh@aybabtu.com>
20771
20772 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
20773 checking for abi version. Improve error messages on BIOS to notify
20774 user about `linux16' command.
20775
a8c48fd5 207762009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20777
f968172e 20778 Leak fixes
a8c48fd5 20779
f968172e 20780 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
20781 in case of collision
20782 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 20783
9c323f09 207842009-03-29 Robert Millan <rmh@aybabtu.com>
20785
20786 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
20787 set `vid_mode' accordingly.
20788 (grub_linux_boot): Process `vid_mode' and set video mode.
20789
ae68f423 207902009-03-29 Robert Millan <rmh@aybabtu.com>
20791
20792 * util/grub.d/10_linux.in (linux_entry): New function.
20793 Factorize generation of Linux boot entries.
20794
5709cfc4 207952009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
20796
20797 Make the format of Environment Block plain text. The boot loader
20798 part is not tested well yet.
7dd4a573 20799
5709cfc4 20800 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
20801 (buffer): Removed.
20802 (envblk): Likewise.
20803 (usage): Remove "info" and "clear". Add "unset". Update the
20804 description of "set", as this does not delete variables any
20805 longer.
20806 (create_envblk_file): Complete rewrite.
20807 (open_envblk_file): Likewise.
20808 (cmd_info): Removed.
20809 (cmd_list): Likewise.
20810 (cmd_set): Likewise.
20811 (cmd_clear): Likewise.
20812 (list_variables): New function.
20813 (write_envblk): Likewise.
20814 (set_variables): Likewise.
20815 (unset_variables): Likewise.
20816 (main): Complete rewrite.
20817
20818 * commands/loadenv.c (buffer): Removed.
20819 (envblk): Likewise.
20820 (open_envblk_file): New function.
20821 (read_envblk_file): Complete rewrite.
20822 (grub_cmd_load_env): Likewise.
20823 (grub_cmd_list_env): Likewise.
20824 (struct blocklist): New struct.
20825 (free_blocklists): New function.
20826 (check_blocklists): Likewise.
20827 (write_blocklists): Likewise.
20828 (grub_cmd_save_env): Complete rewrite.
20829
20830 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
20831 a plain text signature.
20832 (GRUB_ENVBLK_MAXLEN): Removed.
20833 (struct grub_envblk): Complete rewrite.
20834 (grub_envblk_find): Removed.
20835 (grub_envblk_insert): Likewise.
20836 (grub_envblk_open): New prototype.
20837 (grub_envblk_set): Likewise.
20838 (grub_envblk_delete): Put const to VALUE.
20839 (grub_envblk_iterate): Put const to NAME and VALUE.
20840 (grub_envblk_close): New prototype.
20841 (grub_envblk_buffer): New inline function.
20842 (grub_envblk_size): Likewise.
20843
20844 * lib/envblk.c: Include grub/mm.h.
20845 (grub_env_find): Removed.
20846 (grub_envblk_open): New function.
20847 (grub_envblk_close): Likewise.
20848 (escaped_value_len): Likewise.
20849 (find_next_line): Likewise.
20850 (grub_envblk_insert): Removed.
20851 (grub_envblk_set): New function.
20852 (grub_envblk_delete): Complete rewrite.
20853 (grub_envblk_iterate): Likewise.
20854
a9368fd3 208552009-03-28 Robert Millan <rmh@aybabtu.com>
20856
20857 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
20858 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
20859 variables. Use 16-bit loader.
20860 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
20861 loader.
20862 * kern/i386/loader.S (grub_linux_boot): Rename to ...
20863 (grub_linux16_boot): ... this. Update all users.
20864 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
20865 (grub_linux_boot): ... this. Update all users.
20866
20867 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
20868 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
20869 commands to `linux16' and `initrd16'.
20870 (GRUB_MOD_FINI(linux)): Rename to ...
20871 (GRUB_MOD_FINI(linux16)): ... this.
20872
e4dd5a7e 208732009-03-24 Pavel Roskin <proski@gnu.org>
20874
20875 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
20876 not just for compilation.
20877
c04d6e05 208782009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
20879
20880 Move multiboot helper out of kernel
20881
20882 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
20883 `loader/i386/multiboot_helper.S'.
20884 * conf/i386-coreboot.rmk: Likewise
20885 * conf/i386-ieee1275.rmk: Likewise
20886
20887 * kern/i386/loader.S: Move multiboot helpers from here...
20888 * loader/i386/multiboot_helper.S: ...moved here
20889 * include/grub/i386/loader.h: Move declarations of multiboot
20890 helpers from here...
20891 * include/grub/i386/multiboot.h: ...moved here
20892 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
20893
42a5b3fc 208942009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20895
20896 * kern/env.c (grub_env_context_open): Added an argument to specify
20897 whether a new context inherits exported variables from current
20898 one. This is useful when making a sandbox to interpret a config
20899 file.
20900 All callers updated.
20901
20902 * include/grub/env.h (grub_env_context_open): Updated the prototype.
20903
b28bbc4e 209042009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20905
20906 * kern/env.c (grub_env_context_close): Fix memory leaks.
20907
f04f02e4 209082009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20909
20910 * normal/main.c (grub_normal_execute): Added an argument
20911 BATCH to specify if an interactive interface should be provided
20912 after reading a config file.
20913 All callers updated.
20914 (read_command_list): Prevent being executed twice.
20915 (read_fs_list): Likewise.
20916
42a5b3fc 20917 * include/grub/normal.h (grub_normal_execute): Updated the
20918 prototype.
f04f02e4 20919
41473ac2 209202009-03-22 Pavel Roskin <proski@gno.org>
20921
fbc00b0c 20922 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
20923 _start.
20924 * kern/i386/pc/startup.S: Likewise.
20925 * kern/i386/efi/startup.S: Likewise.
20926 * kern/i386/ieee1275/startup.S: Likewise.
20927 * kern/i386/coreboot/startup.S: Likewise.
20928 * kern/x86_64/efi/startup.S: Likewise.
20929
41473ac2 20930 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
20931 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
20932 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
20933
2274cc8f 209342009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
20935
20936 Bugfixes in multiboot for bugs uncovered by solaris kernel.
20937
20938 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
20939 limit detection.
20940 Use vaddr of correct segment for entry_point.
20941
b1b797cb 209422009-03-21 Bean <bean123ch@gmail.com>
20943
20944 * commands/blocklist.c: Add include file <grub/command.h>, remove
20945 <grub/normal.h> and <grub/arg.h>.
20946 (grub_cmd_blocklist): Use the new command interface.
20947 (GRUB_MOD_INIT): Likewise.
20948 (GRUB_MOD_FINI): Likewise.
20949 * commands/boot.c: Likewise.
20950 * commands/cat.c: Likewise.
20951 * commands/cmp.c: Likewise.
20952 * commands/configfile.c: Likewise.
20953 * commands/crc.c: Likewise.
20954 * commands/echo.c: Likewise.
20955 * commands/halt.c: Likewise.
20956 * commands/handler.c: Likewise.
20957 * commands/hdparm.c: Likewise.
20958 * commands/help.c: Likewise.
20959 * commands/hexdump.c: Likewise.
20960 * commands/loadenv.c: Likewise.
20961 * commands/ls.c: Likewise.
20962 * commands/lsmmap.c: Likewise.
20963 * commands/lspci.c: Likewise.
20964 * commands/loadenv.c: Likewise.
20965 * commands/read.c: Likewise.
20966 * commands/reboot.c: Likewise.
20967 * commands/search.c: Likewise.
20968 * commands/sleep.c: Likewise.
20969 * commands/test.c: Likewise.
20970 * commands/usbtest.c: Likewise.
20971 * commands/videotest.c: Likewise.
20972 * commands/i386/cpuid.c: Likewise.
20973 * commands/i386/pc/halt.c: Likewise.
20974 * commands/i386/pc/play.c: Likewise.
20975 * commands/i386/pc/pxecmd.c: Likewise.
20976 * commands/i386/pc/vbeinfo.c: Likewise.
20977 * commands/i386/pc/vbetest.c: Likewise.
20978 * commands/ieee1275/suspend.c: Likewise.
20979 * disk/loopback.c: Likewise.
20980 * font/font_cmd.c: Likewise.
20981 * hello/hello.c: Likewise.
20982 * loader/efi/appleloader.c: Likewise.
20983 * loader/efi/chainloader.c: Likewise.
20984 * loader/i386/bsd.c: Likewise.
20985 * loader/i386/efi/linux.c: Likewise.
20986 * loader/i386/ieee1275/linux.c: Likewise.
20987 * loader/i386/linux.c: Likewise.
20988 * loader/i386/pc/chainloader.c: Likewise.
20989 * loader/i386/pc/linux.c: Likewise.
20990 * loader/powerpc/ieee1275/linux.c: Likewise.
20991 * loader/multiboot_loader.c: Likewise.
20992 * term/gfxterm.c: Likewise.
20993 * term/i386/pc/serial.c: Likewise.
20994 * term/terminfo.c: Likewise.
20995
20996 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
20997 * term/i386/pc/vga.c: Likewise.
20998 * video/readers/jpeg.c: Likewise.
20999 * video/readers/png.c: Likewise.
21000 * video/readers/tga.c: Likewise.
21001
21002 * util/grub-fstest (cmd_loopback): Removed.
21003 (cmd_blocklist): Likewise.
21004 (cmd_ls): Likewise.
21005 (grub_register_command): Likewise.
21006 (grub_unregister_command): Likewise.
21007 (execute_command): Use grub_command_find to locate command and execute
21008 it.
21009
21010 * include/grub/efi/chainloader.h: Removed.
21011 * loader/efi/chainloader_normal.c: Likewise.
21012 * loader/i386/bsd_normal.c: Likewise.
21013 * loader/i386/pc/chainloader_normal.c: Likewise.
21014 * loader/i386/pc/multiboot_normal.c: Likewise.
21015 * loader/linux_normal.c: Likewise.
21016 * loader/multiboot_loader_normal.c: Likewise.
21017 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
21018
21019 * gencmdlist.sh: Scan new registration command grub_register_extcmd
21020 and grub_register_command_p1.
21021
21022 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
21023 kern/command.c, lib/arg.c and commands/extcmd.c.
21024 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
21025 (minicmd_mod_SOURCES): New variable.
21026 (minicmd_mod_CFLAGS): Likewise.
21027 (minicmd_mod_LDFLAGS): Likewise.
21028 (extcmd_mod_SOURCES): Likewise.
21029 (extcmd_mod_CFLAGS): Likewise.
21030 (extcmd_mod_LDFLAGS): Likewise.
21031 (boot_mod_SOURCES): Removed.
21032 (boot_mod_CFLAGS): Likewise.
21033 (boot_mod_LDFLAGS): Likewise.
21034
21035 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
21036 kern/corecmd.c.
21037 (kernel_img_HEADERS): Add command.h.
21038 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
21039 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
21040 and lib/arg.c.
21041 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
21042 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
21043 remove the corresponding normal mode command.
21044 (normal_mod_SOURCES): Remove normal/arg.c.
21045 * conf/i386-coreboot.rmk: Likewise.
21046 * conf/i386-efi.rmk: Likewise.
21047 * conf/i386-ieee1275.rmk: Likewise.
21048 * conf/powerpc-ieee1275.rmk: Likewise.
21049 * conf/x86_64-efi.rmk: Likewise.
21050
21051 * include/grub/arg.h: Move from here ...
21052 * include/grub/lib/arg.h: ... to here.
21053
21054 * normal/arg.c: Move from here ...
21055 * lib/arg.c: ... to here.
21056
21057 * commands/extcmd.c: New file.
21058 * commands/minicmd.c: Likewise.
21059 * include/grub/command.h: Likewise.
21060 * include/grub/extcmd.h: Likewise.
21061 * kern/command.c: Likewise.
21062 * kern/corecmd.c: Likewise.
21063
21064 * kern/list.c (grub_list_iterate): Return int instead of void.
21065 (grub_list_insert): New function.
21066 (grub_prio_list_insert): Likewise.
21067
21068 * kern/rescue.c (grub_rescue_command): Removed.
21069 (grub_rescue_command_list): Likewise.
21070 (grub_rescue_register_command): Likewise.
21071 (grub_rescue_unregister_command): Likewise.
21072 (grub_rescue_cmd_boot): Move to minicmd.c
21073 (grub_rescue_cmd_help): Likewise.
21074 (grub_rescue_cmd_info): Likewise.
21075 (grub_rescue_cmd_boot): Likewise.
21076 (grub_rescue_cmd_testload): Likewise.
21077 (grub_rescue_cmd_dump): Likewise.
21078 (grub_rescue_cmd_rmmod): Likewise.
21079 (grub_rescue_cmd_lsmod): Likewise.
21080 (grub_rescue_cmd_exit): Likewise.
21081 (grub_rescue_print_devices): Moved to corecmd.c.
21082 (grub_rescue_print_files): Likewise.
21083 (grub_rescue_cmd_ls): Likewise.
21084 (grub_rescue_cmd_insmod): Likewise.
21085 (grub_rescue_cmd_set): Likewise.
21086 (grub_rescue_cmd_unset): Likewise.
7d074e3c 21087 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 21088 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 21089 commands, remove grub_rescue_register_command calls.
b1b797cb 21090
7d074e3c 21091 * normal/command.c (grub_register_command): Removed.
b1b797cb 21092 (grub_unregister_command): Likewise.
21093 (grub_command_find): Likewise.
21094 (grub_iterate_commands): Likewise.
21095 (rescue_command): Likewise.
21096 (export_command): Moved to corecmd.c.
21097 (set_command): Removed.
21098 (unset_command): Likewise.
21099 (insmod_command): Likewise.
21100 (rmmod_command): Likewise.
21101 (lsmod_command): Likewise.
21102 (grub_command_init): Likewise.
21103
21104 * normal/completion.c (iterate_command): Use cmd->prio to check for
21105 active command.
21106 (complete_arguments): Use grub_extcmd_t structure to find options.
21107 (grub_normal_do_completion): Change function grub_iterate_commands to
21108 grub_command_iterate.
21109
21110 * normal/execute.c (grub_script_execute_cmd): No need to parse
21111 argument here.
21112
21113 * normal/main.c (grub_dyncmd_dispatcher): New function.
21114 (read_command_list): Register unload commands as dyncmd.
21115 (grub_cmd_normal): Use new command interface, register rescue,
21116 unregister normal at entry, register normal, unregister rescue at exit.
21117
21118 * include/grub/list.h (grub_list_test_t): New type.
21119 (grub_list_iterate): Return int instead of void.
21120 (grub_list_insert): New function.
21121 (GRUB_AS_NAMED_LIST_P): New macro.
21122 (GRUB_AS_PRIO_LIST): Likewise.
21123 (GRUB_AS_PRIO_LIST_P): Likewise.
21124 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
21125 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
21126 (grub_prio_list): New structure.
21127 (grub_prio_list_insert): New function.
21128 (grub_prio_list_remove): New inline function.
21129
21130 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
21131 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
21132 (GRUB_COMMAND_FLAG_MENU): Likewise.
21133 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21134 (GRUB_COMMAND_FLAG_TITLE): Likewise.
21135 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21136 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
21137 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
21138 (grub_command): Likewise.
21139 (grub_register_command): Likewise.
21140 (grub_command_find): Likewise.
21141 (grub_iterate_commands): Likewise.
21142 (grub_command_init): Likewise.
21143 (grub_arg_parse): Likewise.
21144 (grub_arg_show_help): Likewise.
21145
21146 * include/grub/rescue.h (grub_rescue_register_command): Removed.
21147 (grub_rescue_unregister_command): Likewise.
21148
21149 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
21150 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
21151 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
21152
21153 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
21154 grub_rescue_cmd_initrd.
21155 * include/grub/i386/loader.h: Likewise.
21156 * include/grub/x86_64/loader.h: Likewise.
21157
21158 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
21159
1f4147aa 211602009-03-21 Bean <bean123ch@gmail.com>
21161
21162 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
21163 instead of stat in mingw environment.
21164
21165 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
21166
21167 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
21168
21169 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
21170 AC_CONFIG_LINKS.
21171
2156d5ba 211722009-03-21 Bean <bean123ch@gmail.com>
21173
21174 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
21175 out of range error.
21176
177b82ca 211772009-03-18 Michel Dänzer <michel@daenzer.net>
21178
21179 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
21180 checking inode flags for EXT4_EXTENTS_FLAG.
21181
14aad807 211822009-03-18 Robert Millan <rmh@aybabtu.com>
21183
21184 * loader/i386/linux.c: Include `<grub/video.h>' and
21185 `<grub/i386/pc/vbe.h>'..
21186 (grub_linux_setup_video): New function. Loosely based on the EFI one.
21187 (grub_linux32_boot): Attempt to configure video settings with
21188 grub_linux_setup_video().
21189 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
21190 to avoid grub_console_fini() which would step out of graphical mode
21191 unconditionally.
21192
8cf83a27 211932009-03-14 Robert Millan <rmh@aybabtu.com>
21194
21195 Fix build on powerpc.
21196 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
21197
40164e75 211982009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
21199
21200 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
21201 background image command.
21202
c58bc32a 212032009-03-12 Colin D Bennett <colin@gibibit.com>
21204
21205 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
21206 (grub_gfxterm_putchar): Extract pairs of identical calls to
21207 draw_cursor out of conditional blocks.
21208
5415144a 212092009-03-11 Pavel Roskin <proski@gnu.org>
21210
21211 * fs/hfs.c (grub_hfs_strncasecmp): New function.
21212 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
21213
6394042e 212142009-03-11 Robert Millan <rmh@aybabtu.com>
21215
21216 * loader/i386/multiboot_elfxx.c
21217 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
21218
b7b50e5f 212192009-03-11 Felix Zielcke <fzielcke@z-51.de>
21220
21221 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
21222 `kern/handler.c'.
21223
1ca7fc96 212242009-03-11 Robert Millan <rmh@aybabtu.com>
21225
21226 * loader/i386/multiboot.c (code_size): New variable.
21227 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 21228 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 21229 4-byte alignment to MBI and others by increasing
7d074e3c 21230 `boot_loader_name_length' appropriately.
1ca7fc96 21231
21232 * loader/i386/multiboot_elfxx.c
21233 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
21234
a83ea1d2 212352009-03-09 Felix Zielcke <fzielcke@z-51.de>
21236
21237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
21238 `fs/ext2.c'.
21239
aa9f3bff 212402009-03-08 Robert Millan <rmh@aybabtu.com>
21241
21242 Make loader/i386/linux.c usable on i386-pc again.
21243
21244 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
21245 memory to heap.
21246 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
21247 `#error' stanza.
21248
d8b3b60e 212492009-03-07 Bean <bean123ch@gmail.com>
21250
21251 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
21252 allocation.
21253
b362c9e9 212542009-03-06 Robert Millan <rmh@aybabtu.com>
21255
21256 Fix display issue on terminals with screen size other than 80x25
21257 (e.g. gfxterm with resolution higher than 640x480).
21258
21259 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 21260 position relative to the center of the terminal instead of relying
b362c9e9 21261 on a hardcoded offset.
21262
9304eef1 212632009-03-04 Robert Millan <rmh@aybabtu.com>
21264
21265 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
21266 installed.
21267
21268 * Makefile.in (host_kernel): New variable.
21269 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
21270 scripts instead of just the windows one.
21271 * configure.ac: Initialize and AC_SUBST `host_kernel'.
21272
eabc95fb 212732009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 21274
21275 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
21276 `kern/handler.c'.
21277 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21278 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21279 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21280 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21281 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21282 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21283
ceb1223c 212842009-03-04 Felix Zielcke <fzielcke@z-51.de>
21285
21286 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
21287 or if there's no space for the disk label and print the partition number on a
21288 invalid magic.
21289
4910684a 212902009-03-04 Felix Zielcke <fzielcke@z-51.de>
21291
21292 * util/misc.c: Include <time.h>.
21293 (grub_millisleep): New function.
21294
7e9ca17a 212952009-03-04 Bean <bean123ch@gmail.com>
21296
21297 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
21298 another option -mno-red-zone.
21299
21300 * commands/handler.c: Change module description.
21301
21302 * kern/handler.c: Add missing space at the end of description line.
21303
21304 * kern/list.c: Likewise.
21305
f501677c 213062009-03-03 Robert Millan <rmh@aybabtu.com>
21307
21308 Move more components to the relocation area, and fix mbi pointer
21309 handling to use the destination rather than the origin (thanks to
21310 Vladimir Serbinenko for spotting).
21311
21312 * loader/i386/multiboot.c (mbi_dest): New variable.
21313 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
21314 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
21315 relocation area.
21316
9902d047 213172009-03-01 Bean <bean123ch@gmail.com>
21318
50fb7002 21319 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 21320 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
21321 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
21322 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
21323
21324 * loader/i386/efi/linux.c (acpi_guid): New variable.
21325 (acpi_guid): Likewise.
21326 (EBDA_SEG_ADDR): New constant.
21327 (LOW_MEM_ADDR): Likewise.
21328 (FAKE_EBDA_SEG): Likewise.
21329 (fake_bios_data): New function.
21330 (grub_linux_boot): Call fake_bios_data.
21331
71b9f361 213322009-03-01 Bean <bean123ch@gmail.com>
21333
21334 * commands/terminal.c: Removed.
21335
21336 * commands/handler.c: New file.
21337
21338 * include/grub/list.h: Likewise.
21339
21340 * include/grub/handler.h: Likewise.
21341
21342 * kern/list.c: Likewise.
21343
21344 * kern/handler.c: Likewise.
21345
21346 * kern/term.h: Include header file <grub/handler.h>.
21347 (grub_term_input): Move next field to the beginning.
21348 (grub_term_output): Likewise.
21349 (grub_term_input_class): New variable.
21350 (grub_term_output_class): Likewise.
21351 (grub_term_register_input): Changed to inline function.
21352 (grub_term_register_output): Likewise.
21353 (grub_term_unregister_input): Likewise.
21354 (grub_term_unregister_output): Likewise.
21355 (grub_term_set_current_input): Likewise.
21356 (grub_term_set_current_output): Likewise.
21357 (grub_term_get_current_input): Likewise.
21358 (grub_term_get_current_output): Likewise.
21359 (grub_term_iterate_input): Removed.
21360 (grub_term_iterate_output): Likewise.
21361
21362 * kern/term.c (grub_term_list_input): Removed.
21363 (grub_term_list_output): Likewise.
21364 (grub_term_input_class): New variable.
21365 (grub_term_output_class): Likewise.
50fb7002 21366 (grub_cur_term_input): Change variable as macro.
71b9f361 21367 (grub_cur_term_output): Likewise.
21368 (grub_term_register_input): Removed.
21369 (grub_term_register_output): Likewise.
21370 (grub_term_unregister_input): Likewise.
21371 (grub_term_unregister_output): Likewise.
21372 (grub_term_set_current_input): Likewise.
21373 (grub_term_set_current_output): Likewise.
21374 (grub_term_iterate_input): Likewise.
21375 (grub_term_iterate_output): Likewise.
21376 (grub_term_get_current_input): Likewise.
21377 (grub_term_get_current_output): Likewise.
21378
21379 * util/grub-editenv.c: Include header file <grub/handler.h>.
21380 (grub_term_get_current_input): Removed.
21381 (grub_term_get_current_output): Likewise.
21382 (grub_term_input_class): New variable.
50fb7002 21383 (grub_term_output_class): Likewise.
71b9f361 21384
21385 * util/grub-fstest.c (grub_term_get_current_input): Removed.
21386 (grub_term_get_current_output): Likewise.
21387 (grub_term_input_class): New variable.
50fb7002 21388 (grub_term_output_class): Likewise.
71b9f361 21389
21390 * util/grub-probe.c (grub_term_get_current_input): Removed.
21391 (grub_term_get_current_output): Likewise.
21392 (grub_term_input_class): New variable.
50fb7002 21393 (grub_term_output_class): Likewise.
71b9f361 21394
21395 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
21396 (grub_term_get_current_output): Likewise.
21397 (grub_term_input_class): New variable.
50fb7002 21398 (grub_term_output_class): Likewise.
71b9f361 21399
21400 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
21401 (terminal_mod_SOURCES): Likewise.
21402 (terminal_mod_CFLAGS): Likewise.
21403 (terminal_mod_LDFLAGS): Likewise.
21404
21405 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
21406 handler.c.
21407 (kernel_img_SOURCES): Add list.c and handler.c.
21408 (kernel_img_HEADERS): Add list.h and handler.h.
21409
21410 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
21411 handler.c.
21412 (kernel_mod_SOURCES): Add list.c and handler.c.
21413 (kernel_mod_HEADERS): Add list.h and handler.h.
21414
21415 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
21416 handler.c.
21417 (kernel_elf_SOURCES): Add list.c and handler.c.
21418 (kernel_elf_HEADERS): Add list.h and handler.h.
21419
21420 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
21421 handler.c.
21422 (kernel_elf_SOURCES): Add list.c and handler.c.
21423 (kernel_elf_HEADERS): Add list.h and handler.h.
21424
21425 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
21426 handler.c.
21427 (kernel_mod_SOURCES): Add list.c and handler.c.
21428 (kernel_mod_HEADERS): Add list.h and handler.h.
21429
21430 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
21431 handler.c.
21432 (kernel_elf_SOURCES): Add list.c and handler.c.
21433 (kernel_elf_HEADERS): Add list.h and handler.h.
21434
8a31787f 214352009-02-27 Robert Millan <rmh@aybabtu.com>
21436
21437 Factorize elf32 / elf64 code in Multiboot loader. This will
21438 prevent it from getting out of sync again.
21439
21440 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
21441 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
21442 grub_multiboot_load_elf64): Move from here ...
21443 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
21444 grub_multiboot_load_elf): ... to here (new file).
21445
51cd3dfc 214462009-02-27 Robert Millan <rmh@aybabtu.com>
21447
21448 * util/grub.d/10_linux.in: Rename "single-user mode" to
21449 "recovery mode".
21450
6e8c9c3a 214512009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
21452
21453 Don't leak in SCSI code.
21454 * disk/scsi.c (grub_scsi_close): free `scsi'.
21455
4b6bf4f9 214562009-02-27 Robert Millan <rmh@aybabtu.com>
21457
21458 * loader/i386/pc/multiboot.c: Move from here ...
21459 * loader/i386/multiboot.c: ... to here. Update all users.
21460
b9413424 214612009-02-27 Robert Millan <rmh@aybabtu.com>
21462
21463 Patch from Alexandre Bique <bique.alexandre@gmail.com>
21464 * util/i386/pc/grub-setup.c (setup): Fix directory path.
21465
50fb7002 214662009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 21467
21468 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
21469 b-tree.
21470
8cc50345 214712009-02-27 Robert Millan <rmh@aybabtu.com>
21472
21473 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
21474 `0x' qualifier as 0 when base is specified as parameter).
21475
6e09b8b7 214762009-02-24 Bean <bean123ch@gmail.com>
21477
21478 * configure.ac: Check for -mcmodel=large in x86_64 target.
21479
21480 * include/grub/efi/api.h (efi_call_10): New macro.
21481 (efi_wrap_10): New function.
21482
21483 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
21484 (GRUB_PE32_REL_BASED_HIGH): Likewise.
21485 (GRUB_PE32_REL_BASED_LOW): Likewise.
21486 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
21487 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
21488 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
21489 (GRUB_PE32_REL_BASED_SECTION): Likewise.
21490 (GRUB_PE32_REL_BASED_REL): Likewise.
21491 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
21492 (GRUB_PE32_REL_BASED_DIR64): Likewise.
21493 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
21494
21495 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
21496 issue.
21497
21498 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
21499 (efi_wrap_10): New function.
21500
21501 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
21502
21503 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
21504 MB/MBP model (NV chipset).
21505 (devdata_devs): Add devpath_5 to the list.
21506
21507 * load/i386/efi/linux.c (video_base): Remove variable.
21508 (RGB_MASK): New macro.
21509 (RGB_MAGIC): Likewise.
21510 (LINE_MIN): Likewise.
21511 (LINE_MAX): Likewise.
21512 (FBTEST_STEP): Likewise.
21513 (FBTEST_COUNT): Likewise.
21514 (fb_list): New variable.
21515 (grub_find_video_card): Remove function.
21516 (find_framebuf): New function.
21517 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
21518 line length.
21519
21520 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
21521 problem for x86_64.
21522
74b21bee 215232009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
21524
21525 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
21526
21527 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
21528 coding tool name.
21529
a455f472 215302009-02-22 Robert Millan <rmh@aybabtu.com>
21531
21532 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
21533 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
21534 in our relocation, instead of using it directly from heap. Also
21535 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
21536
6374daf3 215372009-02-21 Robert Millan <rmh@aybabtu.com>
21538
21539 Implement USB keyboard support (based on patch by Marco Gerards)
21540
21541 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
21542 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
21543 (usb_keyboard_mod_LDFLAGS): New variables.
21544
21545 * term/usb_keyboard.c: New file.
21546
8fa4ea70 215472009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21548
21549 Corrected wrong declaration
21550
21551 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
21552
353976ac 215532009-02-14 Christian Franke <franke@computer.org>
21554
21555 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
21556 (grub_lspci_iter): Print class code and programming interface byte.
21557
6aa1169b 215582009-02-14 Christian Franke <franke@computer.org>
21559
21560 * gendistlist.sh: Ignore `.svn' directories.
21561
265372ca 215622009-02-14 Felix Zielcke <fzielcke@z-51.de>
21563
21564 * fs/fat.c: Add 2009 to Copyright line.
21565
9ff516f3 215662009-02-14 Christian Franke <franke@computer.org>
21567
21568 * commands/hdparm.c: New file. Provides `hdparm' command
21569 which sends ATA commands via grub_disk_ata_pass_through ().
21570
21571 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
21572
21573 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
21574 and <grub/cpu/io.h> to include/grub/ata.h.
21575 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
21576 (GRUB_CDROM_SECTOR_SIZE): Remove.
21577 (GRUB_ATA_*): Move to include/grub/ata.h.
21578 (GRUB_ATAPI_*): Likewise.
21579 (enum grub_ata_commands): Likewise.
21580 (enum grub_ata_timeout_milliseconds): Likewise.
21581 (struct grub_ata_device): Likewise.
21582 (grub_ata_regset): Likewise.
21583 (grub_ata_regget): Likewise.
21584 (grub_ata_regset2): Likewise.
21585 (grub_ata_regget2): Likewise.
21586 (grub_ata_check_ready): Likewise.
21587 (grub_ata_wait_not_busy): Remove static, exported in
21588 include/grub/ata.h.
21589 (grub_ata_wait_drq): Likewise.
21590 (grub_ata_pio_read): Likewise.
21591
21592 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
21593 function for hdparm.mod.
21594
21595 * include/grub/ata.h: New file, contains declarations from
21596 disk/ata.c.
21597 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
21598
21599 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
21600 (grub_disk_ata_pass_through): New exported variable.
21601
21602 * kern/disk.c (grub_disk_ata_pass_through): New variable.
21603
772e23da 216042009-02-13 Colin D Bennett <colin@gibibit.com>
21605
21606 Support multiple fallback entries, and provide an API to support
21607 executing default+fallback menu entries. Renamed the `terminal' menu
21608 viewer to `text'.
21609
21610 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
21611 variable declaration.
21612 (grub_menu_execute_callback): New structure declaration.
21613 (grub_menu_execute_callback_t): New typedef.
21614 (grub_menu_execute_with_fallback): New function declaration.
21615 (grub_menu_get_entry): Likewise.
21616 (grub_menu_get_timeout): Likewise.
21617 (grub_menu_set_timeout): Likewise.
21618
21619 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
21620
21621 * normal/menu.c (grub_wait_after_message): Moved to
21622 `normal/menu_text.c'.
21623 (draw_border): Likewise.
21624 (print_message): Likewise.
21625 (print_entry): Likewise.
21626 (print_entries): Likewise.
21627 (grub_menu_init_page): Likewise.
21628 (get_entry_number): Likewise.
21629 (print_timeout): Likewise.
21630 (run_menu): Likewise.
21631 (grub_menu_execute_entry): Likewise.
21632 (show_text_menu): Likewise.
21633 (get_and_remove_first_entry_number): New function.
21634 (grub_menu_execute_with_fallback): Likewise.
21635 (get_entry): Renamed to ...
21636 (grub_menu_get_entry): .. this and made it global.
21637 (get_timeout): Renamed to ...
21638 (grub_menu_get_timeout): ... this and made it global.
21639 (set_timeout): Renamed to ...
21640 (grub_menu_set_timeout): ... this and made it global.
21641 (grub_normal_terminal_menu_viewer): Renamed to ...
21642 (grub_normal_text_menu_viewer): ... this.
21643
21644 * normal/menu_text.c: New file. Extracted text-menu-specific code
21645 from normal/menu.c.
21646
21647 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
21648 (normal_mod_SOURCES): Likewise.
21649
21650 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21651 (normal_mod_SOURCES): Likewise.
21652
21653 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21654 (normal_mod_SOURCES): Likewise.
21655
21656 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
21657 (normal_mod_SOURCES): Likewise.
21658
21659 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21660 (normal_mod_SOURCES): Likewise.
21661
21662 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21663 (normal_mod_SOURCES): Likewise.
21664
21665 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21666 (normal_mod_SOURCES): Likewise.
21667
16ac430e 216682009-02-11 Robert Millan <rmh@aybabtu.com>
21669
21670 * util/grub.d/00_header.in: Update old reference to `font' command.
21671
06ff20fc 216722009-02-10 Felix Zielcke <fzielcke@z-51.de>
21673
21674 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
21675
21676 Based on patch from Javier Martín.
21677
96da9407 216782009-02-09 Felix Zielcke <fzielcke@z-51.de>
21679
21680 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 21681 to avoid false positives with FAT.
96da9407 21682 (grub_fstest_SOURCES): Likewise.
21683 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21684 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21686 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21687 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21688 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21689
6dca6fe4 216902009-02-09 Felix Zielcke <fzielcke@z-51.de>
21691
06ff20fc 21692 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 21693 bpb.version_specific.fat12_or_fat16.fstype and
21694 bpb.version_specific.fat32.fstype.
21695
2550c62f 216962009-02-08 Robert Millan <rmh@aybabtu.com>
21697
be110b30 21698 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 21699
56978920 217002009-02-08 Robert Millan <rmh@aybabtu.com>
21701
21702 * Makefile.in (host_os, host_cpu): New variables.
21703 (target_os): Remove. Update all users.
21704
d64399b5 217052009-02-08 Marco Gerards <marco@gnu.org>
21706
21707 * Makefile.in (enable_grub_emu_usb): New variable.
21708 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
21709 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
21710 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
21711 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
21712 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
21713 `usbtest.mod' and `usbms.mod'.
21714 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
21715 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
21716 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
21717 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
21718 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
21719 variables.
21720
21721 * disk/usbms.c: New file.
21722
21723 * include/grub/usb.h: Likewise.
21724
21725 * include/grub/usbtrans.h: Likewise.
21726
21727 * include/grub/usbdesc.h: Likewise.
21728
21729 * bus/usb/usbtrans.c: Likewise.
21730
21731 * bus/usb/ohci.c: Likewise.
21732
21733 * bus/usb/uhci.c: Likewise.
21734
21735 * bus/usb/usbhub.c: Likewise.
21736
21737 * bus/usb/usb.c: Likewise.
21738
21739 * commands/usbtest.c: Likewise.
21740
21741 * util/usb.c: Likewise.
50fb7002 21742
d64399b5 21743 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
21744
21745 * configure.ac: Test for libusb presence.
50fb7002 21746
d64399b5 21747 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
21748
2b40d6bb 217492009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
21750
21751 * kern/mm.c: Add more comments.
21752
73a4ce81 217532009-02-08 Robert Millan <rmh@aybabtu.com>
21754
21755 Patch from Javier Martín.
21756 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
21757 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
21758
f821ce59 217592009-02-08 Robert Millan <rmh@aybabtu.com>
21760
21761 * fs/cpio.c: Split tar functionality to ...
21762 * fs/tar.c: ... here (new file). Update all users.
21763
aebfc4b0 217642009-02-07 Robert Millan <rmh@aybabtu.com>
21765
21766 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
21767 backward-incompatible features.
21768
21769 Based on patch from Javier Martín, with some adjustments.
21770
50fb7002 217712009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 21772
21773 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
21774
0bb5115e 217752009-02-07 Robert Millan <rmh@aybabtu.com>
21776
21777 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
21778 position of `disk/lvm.c' to ensure grub_init_all() always picks it
21779 after the RAID stuff.
21780
38a0f8e7 217812009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
21782
50fb7002 21783 Fixes problem when running vbetest command as reported by
38a0f8e7 21784 Vladimir Serbinenko <phcoder@gmail.com>.
21785
21786 * (grub_vbe_set_video_mode): Fixed problem with text modes.
21787
3143cc1c 217882009-02-04 Felix Zielcke <fzielcke@z-51.de>
21789
21790 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
21791 /dev/md/NpN style mdraid devices.
21792
9cba6fce 217932009-02-03 Felix Zielcke <fzielcke@z-51.de>
21794
21795 * util/unifont2pff.rb: Remove.
21796
e507a2c1 217972009-02-03 Felix Zielcke <fzielcke@z-51.de>
21798
21799 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
21800 `#'.
21801
d2c2b4cd 218022009-02-03 Felix Zielcke <fzielcke@z-51.de>
21803
21804 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
21805 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21806 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21807 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21808 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21809 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21810 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21811
b4315fb0 218122009-02-02 Christian Franke <franke@computer.org>
21813
21814 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
21815
de3aa260 218162009-02-01 Felix Zielcke <fzielcke@z-51.de>
21817
7c3ff286 21818 * INSTALL: Note that we now require at least autoconf 2.59 and
21819 that LZO is optional.
de3aa260 21820
825a182b 218212009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21822
21823 Base on patch on bug #24154 created by Tomas Tintera
21824 <trosos@seznam.cz>.
21825
21826 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
21827
a69ef770 218282009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21829
7c3ff286 21830 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 21831 <bero@arklinux.org>.
21832
21833 * normal/parser.y (script_init): Add missing semicolon.
21834
6fa42fa6 218352009-01-31 Colin D Bennett <colin@gibibit.com>
21836
7c3ff286 21837 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 21838 (free_menu_entry_classes): Added.
21839 (grub_normal_menu_addentry): Added class property handling.
21840 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
21841 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
21842
21843 * normal/menu_viewer.c: New file.
21844
21845 * normal/menu.c (run_menu_entry): Renamed to ...
21846 (grub_menu_execute_entry): ... this and made it as global.
21847 (grub_menu_run): Renamed to ...
21848 (show_text_menu): ... this and made it local.
21849 (show_text_menu): Adapt to new function names.
21850 (grub_normal_terminal_menu_viewer): New global variable.
21851
21852 * include/grub/menu.h: New file.
21853
21854 * include/grub/menu_viewer.h: New file.
21855
21856 * include/grub/normal.h: Added include to grub/menu.h.
21857 (grub_menu_entry): Moved to include/grub/menu.h.
21858 (grub_menu_entry_t): Likewise.
21859 (grub_menu): Likewise.
21860 (grub_menu_t): Likewise.
21861 (grub_normal_terminal_menu_viewer): Added.
21862 (grub_menu_execute_entry): Likewise.
21863 (grub_menu_run): Removed.
21864
21865 * DISTLIST: Added include/grub/menu.h.
21866 Added include/grub/menu_viewer.h.
21867 Added normal/menu_viewer.c.
21868
218692009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
21870
21871 * normal/execute.c (grub_script_execute_menuentry): Changed to use
21872 arglist for menutitle arguments.
21873
21874 * normal/main.c (grub_normal_menu_addentry): Likewise.
21875
21876 * normal/parser.y (menuentry): Likewise.
21877
21878 * normal/script.c (grub_script_create_cmdmenu): Likewise.
21879
21880 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
21881 (grub_script_create_cmdmenu): Likewise.
21882
21883 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
21884
21885 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
21886 changes.
21887
21888 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
21889
21890 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
21891
21892 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
21893
21894 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21895
21896 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21897
21898 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21899
56192c23 219002009-01-30 Christian Franke <franke@computer.org>
21901
21902 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
21903 in option help text.
21904
d72521b3 219052009-01-27 Pavel Roskin <proski@gnu.org>
21906
21907 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
21908
994b5e84 219092009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21910
21911 * commands/lsmmap.c: Add include to grub/machine/memory.h.
21912
21913 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
21914
21915 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
21916 unregister function.
21917
6a7eab2c 219182009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21919
21920 * disk/scsi.c (grub_scsi_read): Fix sign problem.
21921
21922 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
21923
21924 * util/grub-mkfont.c (usage): Fix typo.
21925
21926 * util/elf/grub-mkimage.c (load_modules): Fix warning.
21927
1806b56e 219282009-01-26 Daniel Mierswa <impulze@impulze.org>
21929
3fb18f09 21930 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
21931
336e1fb9 21932 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
21933
1806b56e 21934 * kern/misc.c (grub_strcasecmp): New function.
21935 (grub_strcasecmp): Use grub_size_t instead of int for length.
21936 Fix return value.
21937 * include/grub/misc.h: Update function prototypes.
21938
580b2a0f 219392009-01-26 Robert Millan <rmh@aybabtu.com>
21940
21941 * configure.ac: Fix cross-compilation check.
ef257b36 21942
d31c24f1 219432009-01-22 Christian Franke <franke@computer.org>
21944
21945 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
21946 (precision) digit string. Allow `.format2' without `format1' (width).
21947 Limit input chars for `%s' output to `format2' if specified. This is
21948 compatible with standard printf ().
21949
3138b44c 219502009-01-22 Christian Franke <franke@computer.org>
21951
21952 * disk/ata.c (grub_ata_wait_status): Replace by ...
21953 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
21954 other status bits may be invalid while BSY is asserted.
21955 (grub_ata_check_ready): New function.
21956 (grub_ata_cmd): Removed.
21957 (grub_ata_wait_drq): New function.
21958 (grub_ata_strncpy): Remove inline.
21959 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
21960 and error check now done by grub_ata_wait_drq ().
21961 (grub_ata_pio_write): Likewise.
21962 (grub_atapi_identify): Set DEV before check for !BSY. Use
21963 grub_ata_wait_drq () to wait for data.
21964 (grub_ata_device_initialize): Add status register check to
21965 detect missing SATA slave devices. Add debug messages.
21966 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
21967 (grub_atapi_packet): Set DEV before check for !BSY. Replace
21968 transfer loop by grub_ata_pio_write ().
21969 (grub_ata_identify): Set DEV before check for !BSY. Use
21970 grub_ata_wait_drq () to wait for data.
ef257b36 21971 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 21972 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
21973 read/write in one loop. Fix invalid command on write. Fix incomplete
21974 command on (size % batch) == 0. Add missing error check after write of
21975 last block. Add debug messages.
21976 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
21977
59a64ef6 219782009-01-19 Christian Franke <franke@computer.org>
21979
21980 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
21981 (GRUB_ATAPI_IREASON_*): Likewise.
21982 (grub_ata_pio_write): Fix timeout error return.
21983 (grub_atapi_identify): Add grub_ata_wait () after cmd.
21984 (grub_atapi_wait_drq): New function.
21985 (grub_atapi_packet): New parameter `size'.
21986 Use grub_atapi_wait_drq () and direct write instead of
21987 grub_ata_pio_write ().
21988 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
21989 reads the number of bytes requested by the device for each DRQ
21990 assertion.
21991 (grub_atapi_write): Remove old implementation, return not
21992 implemented instead.
21993
1cfe20b3 219942009-01-19 Christian Franke <franke@computer.org>
21995
21996 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
21997 of 512 to calculate data size.
21998 (grub_scsi_read12): Likewise.
21999 (grub_scsi_write10): Likewise.
22000 (grub_scsi_write12): Likewise.
22001 (grub_scsi_read): Adjust size according to blocksize.
22002 Add checks for invalid blocksize and unaligned transfer.
22003
bee5fe5d 220042009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
22005
22006 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
22007
ef257b36 22008 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 22009 width glyphs.
22010
3e643f8c 220112009-01-19 Robert Millan <rmh@aybabtu.com>
22012
22013 * config.guess: Update to latest version from config git.
22014 * config.sub: Likewise.
22015
4fa80998 220162009-01-17 Felix Zielcke <fzielcke@z-51.de>
22017
22018 * Makefile.in: Change font compilation to use new grub-mkfont instead
22019 of java version.
22020
22021 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
22022 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
22023 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
22024 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
22025 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
22026 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
22027 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
22028 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
22029 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
22030
7086085b 220312009-01-16 Christian Franke <franke@computer.org>
22032
22033 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
22034 (enum grub_ata_timeout_milliseconds): New enum.
22035 (grub_ata_wait_status): Add parameter milliseconds.
22036 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
22037 recovery from timed-out commands.
22038 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
22039 return grub_errno instead of REG_ERROR.
22040 (grub_ata_pio_write): Add parameter milliseconds.
22041 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
22042 Pass milliseconds to grub_ata_wait_status () and
22043 grub_ata_pio_read ().
22044 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
22045 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
22046 grub_ata_wait_status (). Fix IDENTIFY timeout check.
22047 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
22048 It is not suitable for device detection, because DEV bit is ignored,
22049 the command may run too long, and not all devices set the signature
22050 properly.
22051 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
22052 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
22053 Fix device selection, DEV bit must be set first to address the registers
22054 of the correct device.
22055 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
22056 grub_ata_pio_read/write ().
22057 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
22058 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
22059
4a412913 220602009-01-13 Carles Pina i Estany <carles@pina.cat>
22061
22062 * util/grub-editenv.c (main): Use fseeko(), not fseek().
22063
7795c55e 220642009-01-13 Bean <bean123ch@gmail.com>
d913988c 22065
22066 * util/grub-mkfont.c (write_font): forget to remove some debug code.
22067
7795c55e 220682009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 22069
22070 * Makefile.in: (enable_grub_mkfont): New variable.
22071 (freetype_cflags): Likewise.
22072 (freetype_libs): Likewise.
22073
22074 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
22075 (grub_mkfont_SOURCES): New variable.
22076 (grub_mkfont_CFLAGS): Likewise.
22077 (grub_mkfont_LDFLAGS): Likewise.
22078
22079 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
22080 library if `--enable-grub-mkfont' is requested.
22081 (enable_grub_mkfont): New variable.
22082 (freetype_cflags): Likewise.
22083 (freetype_libs): Likewise.
22084
22085 * util/grub-mkfont.c: New file.
22086
093af1fe 220872009-01-12 Christian Franke <franke@computer.org>
22088
22089 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
22090 mode check. Fix setting of compat_use[].
22091
f36cc108 220922009-01-10 Robert Millan <rmh@aybabtu.com>
22093
22094 Update a few copyright years which we forgot to do in 2008 (only for
22095 files whose changes made in 2008 were copyright-significant)
22096
22097 * Makefile.in: Add 2008 to Copyright line.
22098 * disk/ieee1275/ofdisk.c: Likewise.
22099 * disk/efi/efidisk.c: Likewise.
22100 * kern/dl.c: Likewise.
22101 * kern/sparc64/ieee1275/init.c: Likewise.
22102 * kern/mm.c: Likewise.
22103 * kern/efi/mm.c: Likewise.
22104 * boot/i386/pc/boot.S: Likewise.
22105 * genfslist.sh: Likewise.
22106 * fs/iso9660.c: Likewise.
22107 * fs/hfs.c: Likewise.
22108 * fs/jfs.c: Likewise.
22109 * fs/minix.c: Likewise.
22110 * fs/ufs.c: Likewise.
22111 * gensymlist.sh.in: Likewise.
22112 * genkernsyms.sh.in: Likewise.
22113 * include/grub/misc.h: Likewise.
22114 * include/grub/types.h: Likewise.
22115 * include/grub/symbol.h: Likewise.
22116 * include/grub/elf.h: Likewise.
22117 * include/grub/kernel.h: Likewise.
22118 * include/grub/disk.h: Likewise.
22119 * include/grub/dl.h: Likewise.
22120 * include/grub/i386/linux.h: Likewise.
22121 * include/grub/i386/pc/biosdisk.h: Likewise.
22122 * include/grub/efi/api.h: Likewise.
22123 * include/grub/efi/pe32.h: Likewise.
22124 * include/grub/util/misc.h: Likewise.
22125 * normal/execute.c: Likewise.
22126 * normal/arg.c: Likewise.
22127 * normal/completion.c: Likewise.
22128 * normal/lexer.c: Likewise.
22129 * normal/parser.y: Likewise.
22130 * normal/misc.c: Likewise.
22131 * commands/i386/pc/vbeinfo.c: Likewise.
22132 * commands/hexdump.c: Likewise.
22133 * commands/terminal.c: Likewise.
22134 * commands/ls.c: Likewise.
22135 * commands/help.c: Likewise.
22136 * partmap/pc.c: Likewise.
22137 * loader/efi/chainloader.c: Likewise.
22138 * loader/multiboot_loader.c: Likewise.
22139 * loader/i386/pc/multiboot2.c: Likewise.
22140 * term/efi/console.c: Likewise.
22141 * term/i386/pc/serial.c: Likewise.
22142 * util/lvm.c: Likewise.
22143 * util/console.c: Likewise.
22144 * util/i386/efi/grub-mkimage.c: Likewise.
22145 * util/raid.c: Likewise.
22146
7f02114b 221472009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
22148
22149 * commands/videotest.c: Removed include to grub/machine/memory.h.
22150
22151 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
22152 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
22153 (video_mod_SOURCES): Removed.
22154 (video_mod_CFLAGS): Likewise.
22155 (video_mod_LDFLAGS): Likewise.
22156 (gfxterm_mod_SOURCES): Likewise.
22157 (gfxterm_mod_CFLAGS): Likewise.
22158 (gfxterm_mod_LDFLAGS): Likewise.
22159 (videotest_mod_SOURCES): Likewise.
22160 (videotest_mod_CFLAGS): Likewise.
22161 (videotest_mod_LDFLAGS): Likewise.
22162 (bitmap_mod_SOURCES): Likewise.
22163 (bitmap_mod_CFLAGS): Likewise.
22164 (bitmap_mod_LDFLAGS): Likewise.
22165 (tga_mod_SOURCES): Likewise.
22166 (tga_mod_CFLAGS): Likewise.
22167 (tga_mod_LDFLAGS): Likewise.
22168 (jpeg_mod_SOURCES): Likewise.
22169 (jpeg_mod_CFLAGS): Likewise.
22170 (jpeg_mod_LDFLAGS): Likewise.
22171 (png_mod_SOURCES): Likewise.
22172 (png_mod_CFLAGS): Likewise.
22173 (png_mod_LDFLAGS): Likewise.
22174
22175 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
22176 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
22177 (video_mod_SOURCES): Added.
22178 (video_mod_CFLAGS): Likewise.
22179 (video_mod_LDFLAGS): Likewise.
22180 (videotest_mod_SOURCES): Likewise.
22181 (videotest_mod_CFLAGS): Likewise.
22182 (videotest_mod_LDFLAGS): Likewise.
22183 (bitmap_mod_SOURCES): Likewise.
22184 (bitmap_mod_CFLAGS): Likewise.
22185 (bitmap_mod_LDFLAGS): Likewise.
22186 (tga_mod_SOURCES): Likewise.
22187 (tga_mod_CFLAGS): Likewise.
22188 (tga_mod_LDFLAGS): Likewise.
22189 (jpeg_mod_SOURCES): Likewise.
22190 (jpeg_mod_CFLAGS): Likewise.
22191 (jpeg_mod_LDFLAGS): Likewise.
22192 (png_mod_SOURCES): Likewise.
22193 (png_mod_CFLAGS): Likewise.
22194 (png_mod_LDFLAGS): Likewise.
22195 (gfxterm_mod_SOURCES): Likewise.
22196 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 22197 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 22198
22199 * term/gfxterm.c: Removed include to grub/machine/memory.h,
22200 grub/machine/console.h.
22201
644fff97 222022009-01-04 Jerone Young <jerone@gmail.com>
22203
22204 Make on screen instructions clearer
22205
22206 Based on patch created by Jidanni <jidanni@jidanni.org>
22207
22208 * normal/menu.c: print clearer instructions on the screen
22209
1e901a75 222102009-01-02 Colin D Bennett <colin@gibibit.com>
22211
22212 New font engine.
34c44600 22213
1e901a75 22214 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
22215 build system and fixed gfxterm.c to work with different sized fonts.
22216
22217 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 22218
1e901a75 22219 * configure: Re-generated.
34c44600 22220
1e901a75 22221 * DISTLIST: Removed font/manager.c.
22222 Added font/font.c.
22223 Added font/font_cmd.c.
34c44600 22224
1e901a75 22225 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
22226 compilation.
34c44600 22227
1e901a75 22228 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 22229
22230 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 22231
22232 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 22233
1e901a75 22234 * normal/menu.c: Likewise.
34c44600 22235
1e901a75 22236 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
22237 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 22238
1e901a75 22239 * include/grub/font.h: Replaced with new file.
34c44600 22240
1e901a75 22241 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
22242 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
22243 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
22244 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
22245 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 22246 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 22247 fg_red, fg_green, fg_blue, fg_alpha.
22248 (grub_video_adapter): Removed blit_glyph.
34c44600 22249 (grub_video_blit_glyph): Removed.
22250
1e901a75 22251 * font/manager.c: Removed file.
34c44600 22252
22253 * font/font.c: New file.
22254
1e901a75 22255 * font/font_cmd.c: Likewise.
34c44600 22256
1e901a75 22257 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 22258
1e901a75 22259 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
22260 (grub_video_vbe_map_rgba): Likewise.
22261 (grub_video_vbe_unmap_color_int): Likewise.
22262 (grub_video_vbe_blit_glyph): Removed.
22263 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 22264
1e901a75 22265 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
22266 (get_pixel): Likewise.
34c44600 22267 (set_pixel): Likewise.
22268
1e901a75 22269 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 22270
1e901a75 22271 * term/gfxterm.c: Adapted to new font engine.
34c44600 22272
1e901a75 22273 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 22274
1e901a75 22275 * term/i386/pc/vga.c: Likewise.
34c44600 22276
1e901a75 22277 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 22278
1e901a75 22279 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 22280
1e901a75 22281 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 22282
1e901a75 22283 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 22284
1e901a75 22285 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 22286
1e901a75 22287 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 22288
1e901a75 22289 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 22290
1e901a75 22291 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 22292
1e901a75 22293 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
22294
22295 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 22296
1e901a75 22297 * util/grub-mkconfig_lib.in: Changed font extension.
22298
278922e8 222992008-12-28 Felix Zielcke <fzielcke@z-51.de>
22300
22301 * util/getroot.c (grub_util_get_grub_dev): Add support for
22302 /dev/md/dNNpNN style partitionable mdraid devices.
22303
3ced05cf 223042008-12-12 Alex Smith <alex@alex-smith.me.uk>
22305
22306 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
22307 at a time limit of the PXE TFTP API correctly.
22308 (grub_pxefs_close): Likewise.
22309
7fd0ee30 223102008-11-29 Robert Millan <rmh@aybabtu.com>
22311
34c44600 22312 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 22313 grub_ata_device_initialize() calls.
22314
34c44600 223152008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 22316
22317 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
22318 iteration failed.
22319 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
22320
89313780 223212008-11-28 Robert Millan <rmh@aybabtu.com>
22322
22323 Fix build on powerpc-ieee1275. Based on patch created by
22324 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
22325 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22326 `kern/ieee1275/mmap.c'.
22327 * include/grub/powerpc/ieee1275/memory.h: New file.
22328
15257703 22329 Provide grub-install on coreboot.
22330 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
22331 (grub_install_SOURCES): New variable.
22332 * util/i386/pc/grub-install.in: Add a few condition checks to make it
22333 usable on coreboot.
22334
9fc5388a 223352008-11-25 Felix Zielcke <fzielcke@z-51.de>
22336
22337 * util/grub-fstest.c (grub_term_get_current_input): Change return type
22338 to `grub_term_input_t'.
22339 (grub_term_get_current_output): Change return type to
22340 `grub_term_output_t'.
22341
bc3a2f31 223422008-11-22 Robert Millan <rmh@aybabtu.com>
22343
34c44600 22344 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 22345 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
22346 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
22347 grub_vga_text_cls().
22348
80fc88f2 22349 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 22350 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 22351
cbf36fd3 22352 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
22353 to 0x200000 (avoids trouble with some OFW implementations, and matches
22354 with the one in Yaboot).
22355 Reported by Manoel Abranches
22356
73e8e268 223572008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 22358
22359 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
22360 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
22361
73e8e268 22362 * util/grub-mkconfig_lib.in (grub_warn): New function.
22363 (convert_system_path_to_grub_path): Use grub_warn() when issuing
22364 warnings, to obtain consistent formatting.
22365 * util/grub.d/00_header.in: Likewise.
22366 * util/update-grub_lib.in: Likewise.
22367
e94045a1 22368 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 22369 Move comment text to `#error' stanza.
e94045a1 22370
79d29fd7 22371 Harmonize ieee1275's grub_available_iterate() with the generic
22372 grub_machine_mmap_iterate() interface (fixes a recently-introduced
22373 build problem on i386-ieee1275):
22374 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
22375 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
22376 parameter `type'. Update all users of this function.
22377 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
22378 `kern/ieee1275/mmap.c'.
22379 * kern/ieee1275/init.c
22380 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
22381 with ...
22382 (grub_machine_mmap_iterate): ... this.
22383 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
22384 return type to `grub_err_t'. Update all implementations of this
22385 function prototype.
22386 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
22387 Likewise.
22388
60d6b16e 22389 Add `lsmmap' command (lists firmware-provided memory map):
22390 * commands/lsmmap.c: New file.
22391 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
22392 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
22393 variables.
22394 * conf/powerpc-ieee1275.rmk: Likewise.
22395 * conf/i386-coreboot.rmk: Likewise.
22396 * conf/i386-ieee1275.rmk: Likewise.
22397
ebaaf49b 223982008-11-19 Robert Millan <rmh@aybabtu.com>
22399
22400 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 22401 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
22402 constraints to initrd allocation (based on code from
22403 loader/i386/pc/linux.c). Without them, initrd was allocated too high
22404 for Linux to find it.
ebaaf49b 22405
dfab719f 224062008-11-14 Robert Millan <rmh@aybabtu.com>
22407
22408 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
22409 order to cope with duplicate slashes.
22410
10fc3eb9 224112008-11-14 Robert Millan <rmh@aybabtu.com>
22412
22413 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
22414 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
22415 don't want to mess with lower memory, because it is used in the Linux
22416 loader.
22417
22418 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 22419 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 22420 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
22421 is in our heap (probably as a result of it being corrupted during
2f2a3442 22422 decompression). Add #error instance with comment to explain why this
22423 loader isn't currently usable on PC/BIOS.
10fc3eb9 22424
e2e07847 224252008-11-14 Robert Millan <rmh@aybabtu.com>
22426
22427 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 22428 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 22429
fe8e8d69 224302008-11-12 Robert Millan <rmh@aybabtu.com>
22431
22432 Make loader/i386/linux.c buildable on i386-pc (although disabled).
22433
22434 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
22435 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
22436 from here ...
22437 * include/grub/i386/pc/memory.h: ... to here.
22438
976b07d0 224392008-11-12 Robert Millan <rmh@aybabtu.com>
22440
22441 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
22442 split).
22443
22444 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
22445 (grub_console_cur_color, grub_console_real_putchar)
22446 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
22447 (grub_console_setcolorstate, grub_console_setcolor)
22448 (grub_console_getcolor): Move from here ...
22449 * include/grub/i386/vga_common.h: ... to here (new file).
22450
22451 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
22452 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
22453 `<grub/i386/io.h>'.
22454 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
22455 `<grub/i386/vga_common.h>'.
22456
76679cd3 224572008-11-12 Robert Millan <rmh@aybabtu.com>
22458
22459 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
22460 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
22461 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
22462 variables.
22463 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
22464 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
22465
22466 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
22467 grub_console_init() with call to grub_vga_text_init().
22468 (grub_machine_fini): Replace call to
22469 grub_console_fini() with call to grub_vga_text_fini() and
22470 grub_at_keyboard_fini().
22471
22472 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
22473 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
22474 (grub_console_setcolorstate, grub_console_setcolor)
22475 (grub_console_getcolor): New function prototypes.
22476
22477 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
22478 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
22479 (grub_vga_text_setcursor): Static-ize.
22480 (grub_vga_text_term): New structure.
22481 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
22482
22483 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
22484 (grub_console_cur_color, grub_console_standard_color)
22485 (grub_console_normal_color, grub_console_highlight_color)
22486 (map_char, grub_console_putchar, grub_console_getcharwidth)
22487 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
22488 (grub_console_getcolor): Move from here ...
22489 * term/i386/vga_common.c: ... to here (same function names).
22490
95b841d3 224912008-11-12 Robert Millan <rmh@aybabtu.com>
22492
22493 Use newly-added Multiboot support in coreboot.
22494
22495 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
22496 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
22497
22498 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
22499 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
22500 (codestart): Store the MBI in `startup_multiboot_info' when we're
22501 being loaded using Multiboot.
22502
22503 * kern/i386/coreboot/init.c (grub_machine_init): Move
22504 grub_at_keyboard_init() call to beginning of function (useful for
22505 debugging). Call grub_machine_mmap_init() before attempting to use
22506 grub_machine_mmap_iterate().
22507 (grub_lower_mem, grub_upper_mem): Move from here ...
22508 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
22509 here (new file).
22510
22511 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
22512 function prototype.
22513
761ca975 225142008-11-12 Robert Millan <rmh@aybabtu.com>
22515
22516 Fix a regression introduced by the at_keyboard.mod split. Because
22517 some terminals are default on some platforms and non-default on
22518 others, the first terminal being registered determines which is
22519 going to be default.
22520
22521 * kern/term.c (grub_term_register_input): If this is the first
22522 terminal being registered, set it as the current one.
22523 (grub_term_register_output): Likewise.
22524
22525 * term/efi/console.c (grub_console_init): Do not call
22526 grub_term_set_current_output() or grub_term_set_current_input().
22527 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
22528 * term/i386/pc/console.c (grub_console_init): Likewise.
22529 (grub_console_fini): Do not call grub_term_set_current_input()
22530 (but leave grub_term_set_current_output() to restore text mode).
22531
6c529df7 225322008-11-10 Robert Millan <rmh@aybabtu.com>
22533
22534 * util/grub.d/00_header.in: Add backward compatibility check for
22535 versions of terminal.mod that don't understand `terminal_input' or
22536 `terminal_output'.
22537
132e4113 225382008-11-09 Robert Millan <rmh@aybabtu.com>
22539
22540 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
22541 `terminal_input' / `terminal_output', not `terminal'.
22542
ac293d50 225432008-11-08 Robert Millan <rmh@aybabtu.com>
22544
22545 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 22546 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 22547
0025933a 225482008-11-08 Robert Millan <rmh@aybabtu.com>
22549
22550 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 22551 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 22552 members. Update all users.
22553 * util/console.c (grub_ncurses_term): Split in ...
22554 (grub_ncurses_term_input): ... this, and ...
22555 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 22556 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 22557
37c86336 225582008-11-08 Robert Millan <rmh@aybabtu.com>
22559
22560 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
22561 (PKGDATA): Add $(pkgdata_SRCDIR).
22562 (pkglib_BUILDDIR): New variable.
22563 (pkgdata_SRCDIR): New variable.
22564 (build_env.mk): New target.
22565 (include_DATA): New variable.
22566 (install-local): Install $(include_DATA) files in $(includedir).
22567
b6c15a2d 225682008-11-07 Pavel Roskin <proski@gnu.org>
22569
d99d46f1 22570 * gendistlist.sh: Use C locale for sorting to ensure consistent
22571 output on all systems.
22572
b6c15a2d 22573 * util/grub.d/00_header.in: Remove incorrect space before
22574 "serial".
22575
c32ee8c9 225762008-11-07 Robert Millan <rmh@aybabtu.com>
22577
22578 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
22579 per specification.
22580 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
22581 * loader/multiboot_loader.c (find_multi_boot2_header): New function
22582 (based on find_multi_boot1_header).
22583 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
22584 using find_multi_boot2_header(), and abort if neither Multiboot or
22585 Multiboot headers were found.
22586
651c29b7 225872008-11-07 Robert Millan <rmh@aybabtu.com>
22588
22589 Modularize at_keyboard.mod:
22590
22591 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
22592 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22593 (at_keyboard_mod_LDFLAGS): New variables.
22594
22595 Actual terminal split:
22596
22597 * include/grub/term.h (struct grub_term): Split in ...
22598 (struct grub_term_input): ... this, and ...
22599 (struct grub_term_output): ... this. Update all users.
22600 (grub_term_set_current): Split in ...
22601 (grub_term_set_current_input): ... this, and ...
22602 (grub_term_set_current_output): ... this.
22603 (grub_term_get_current): Split in ...
22604 (grub_term_get_current_input): ... this, and ...
22605 (grub_term_get_current_output): ... this.
22606 (grub_term_register): Split in ...
22607 (grub_term_register_input): ... this, and ...
22608 (grub_term_register_output): ... this.
22609 (grub_term_unregister): Split in ...
22610 (grub_term_unregister_input): ... this, and ...
22611 (grub_term_unregister_output): ... this.
22612 (grub_term_iterate): Split in ...
22613 (grub_term_iterate_input): ... this, and ...
22614 (grub_term_iterate_output): ... this.
22615
22616 * kern/term.c (grub_term_list): Split in ...
22617 (grub_term_list_input): ... this, and ...
22618 (grub_term_list_output): ... this. Update all users.
22619 (grub_cur_term): Split in ...
22620 (grub_cur_term_input): ... this, and ...
22621 (grub_cur_term_output): ... this. Update all users.
22622 (grub_term_set_current): Split in ...
22623 (grub_term_set_current_input): ... this, and ...
22624 (grub_term_set_current_output): ... this.
22625 (grub_term_get_current): Split in ...
22626 (grub_term_get_current_input): ... this, and ...
22627 (grub_term_get_current_output): ... this.
22628 (grub_term_register): Split in ...
22629 (grub_term_register_input): ... this, and ...
22630 (grub_term_register_output): ... this.
22631 (grub_term_unregister): Split in ...
22632 (grub_term_unregister_input): ... this, and ...
22633 (grub_term_unregister_output): ... this.
22634 (grub_term_iterate): Split in ...
22635 (grub_term_iterate_input): ... this, and ...
22636 (grub_term_iterate_output): ... this.
22637
22638 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
22639 a check for input and one for output (and only attempt to get keys
22640 from user when input works).
22641
22642 * util/grub-probe.c (grub_term_get_current): Split in ...
22643 (grub_term_get_current_input): ... this, and ...
22644 (grub_term_get_current_output): ... this.
22645 * util/grub-fstest.c: Likewise.
22646 * util/i386/pc/grub-setup.c: Likewise.
22647 * util/grub-editenv.c: Likewise.
22648
22649 Portability adjustments:
22650
22651 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
22652 `term/i386/pc/at_keyboard.c'.
22653 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
22654 grub_keyboard_controller_init() (now handled by terminal .init).
22655 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
22656 grub_at_keyboard_init().
22657 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
22658 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
22659 at_keyboard.mod via input terminal interface).
22660 * include/grub/i386/coreboot/console.h: Convert into a stub for
22661 `<grub/i386/pc/console.h>'.
22662
22663 Migrate full terminals to new API:
22664
22665 * term/efi/console.c (grub_console_term): Split into ...
22666 (grub_console_term_input): ... this, and ...
22667 (grub_console_term_output): ... this. Update all users.
22668 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
22669 (grub_ofconsole_init): Split into ...
22670 (grub_ofconsole_init_input): ... this, and ...
22671 (grub_ofconsole_init_output): ... this.
22672 (grub_ofconsole_term): Split into ...
22673 (grub_ofconsole_term_input): ... this, and ...
22674 (grub_ofconsole_term_output): ... this. Update all users.
22675 * term/i386/pc/serial.c (grub_serial_term): Split into ...
22676 (grub_serial_term_input): ... this, and ...
22677 (grub_serial_term_output): ... this. Update all users.
22678 * term/i386/pc/console.c (grub_console_term): Split into ...
22679 (grub_console_term_input): ... this, and ...
22680 (grub_console_term_output): ... this. Update all users.
22681 (grub_console_term_input): Only enable it on PC/BIOS platform.
22682 (grub_console_init): Remove grub_keyboard_controller_init() call.
22683
22684 Migrate input terminals to new API:
22685
22686 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
22687 `i386' and `i386/pc' to enable build on x86_64 (this driver is
22688 i386-specific anyway).
22689 (grub_console_checkkey): Rename to ...
22690 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
22691 users.
22692 (grub_keyboard_controller_orig): New variable.
22693 (grub_console_getkey): Rename to ...
22694 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
22695 users.
22696 (grub_keyboard_controller_init): Static-ize. Save original
22697 controller value so that it can be restored ...
22698 (grub_keyboard_controller_fini): ... here (new function).
22699 (grub_at_keyboard_term): New structure.
22700 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
22701 functions.
22702
22703 Migrate output terminals to new API:
22704
22705 * term/i386/pc/vga.c (grub_vga_term): Change type to
22706 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
22707 members. Update all users.
22708 * term/gfxterm.c (grub_video_term): Change type to
22709 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
22710 members. Update all users.
22711 * include/grub/i386/pc/console.h (grub_console_checkkey)
22712 (grub_console_getkey): Do not export (no longer needed by gfxterm,
22713 etc).
22714
22715 Migrate `terminal' command and userland tools to new API:
22716
22717 * commands/terminal.c (grub_cmd_terminal): Split into ...
22718 (grub_cmd_terminal_input): ... this, and ...
22719 (grub_cmd_terminal_output): ... this.
22720 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
22721 `terminal_input' and `terminal_output'.
22722 * util/grub.d/00_header.in: Adjust `terminal' calls to new
22723 `terminal_input' / `terminal_output' API.
22724 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
22725 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
22726 provided ${GRUB_TERMINAL}, convert it).
22727
96e5d876 227282008-11-04 Robert Millan <rmh@aybabtu.com>
22729
22730 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
22731 for FreeBSD.
22732 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
22733
556f3775 227342008-11-03 Bean <bean123ch@gmail.com>
22735
22736 * kern/elf.c (grub_elf32_load): Revert to previous code.
22737 (grub_elf64_load): Likewise.
22738
22739 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
22740
926b9823 227412008-11-01 Robert Millan <rmh@aybabtu.com>
22742
22743 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
22744 (TARGET_CPPFLAGS): Likewise.
22745 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
22746
1432e958 227472008-11-01 Carles Pina i Estany <carles@pina.cat>
22748
22749 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
22750
dba3f844 227512008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 22752
22753 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
22754 addition of objects until the code is not going to be able to fail.
22755
dba3f844 227562008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 22757
22758 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
22759 (add a missing NULL check, and correct them by moving the pointer
22760 operations after the actual check).
22761
7ab28c21 227622008-10-29 Robert Millan <rmh@aybabtu.com>
22763
22764 * util/i386/pc/grub-install.in: Handle empty string as output from
22765 make_system_path_relative_to_its_root().
22766
1b7748eb 227672008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
22768
22769 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
22770 circular metadata worst case scenario. If the metadata is circular
22771 then copy the wrap in place.
22772 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
22773 project lib/format_text/layout.h
22774 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
22775
c9618ab2 227762008-10-03 Felix Zielcke <fzielcke@z-51.de>
22777
7a36edca 22778 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 22779
bf981c62 227802008-10-03 Felix Zielcke <fzielcke@z-51.de>
22781
22782 * util/update-grub_lib.in: Mention filename in warning message.
22783
6d994591 227842008-09-29 Felix Zielcke <fzielcke@z-51.de>
22785
22786 * NEWS: Update for rename of update-grub to grub-mkconfig.
22787
18ade780 227882008-09-29 Felix Zielcke <fzielcke@z-51.de>
22789
22790 * util/update-grub_lib.in: Copy to ...
22791 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 22792 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 22793 * util/update-grub.in: Rename to ...
22794 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
22795 option. Add `--output' option to allow users to specify the generated
22796 configuration file. Default to stdout.
22797 (update_grub_dir): Rename to ...
22798 (grub_mkconfig_dir): ... this.
22799 (grub_cfg): Default to an empty string.
22800 * conf/common.rmk (update-grub): Rename to ...
22801 (grub-mkconfig): ... this.
22802 (update-grub_lib): Copy to ...
22803 (grub-mkconfig_lib): ... this.
22804 (update-grub_SCRIPTS): Copy to ...
22805 (grub-mkconfig_SCRIPTS): ... this. Update all users.
22806 (update-grub_DATA): Rename to ...
22807 (grub-mkconfig_DATA): ... this.
22808
556ce6ac 228092008-09-28 Robert Millan <rmh@aybabtu.com>
22810
22811 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
22812 to `modified'. Add the real `created' field.
22813 (grub_iso9660_uuid): Use `modified' rather than `created' for
22814 constructing the UUID.
22815
228162008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 22817
22818 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
22819 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
22820
92274e85 228212008-09-28 Bean <bean123ch@gmail.com>
22822
22823 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
22824 Thanks to Christian Franke for finding this bug.
22825
add6f17a 228262008-09-25 Robert Millan <rmh@aybabtu.com>
22827
22828 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
22829 instances of grub_util_get_disk_name() (see previous commit).
22830
d2a367b8 228312008-09-25 Robert Millan <rmh@aybabtu.com>
22832
22833 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
22834 `util/i386/get_disk_name.c'.
22835 * conf/i386-efi.rmk: Likewise.
22836 * conf/x86_64-efi.rmk: Likewise.
22837 * conf/i386-coreboot.rmk: Likewise.
22838 * conf/i386-ieee1275.rmk: Likewise.
22839 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
22840 `util/ieee1275/get_disk_name.c'.
22841 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
22842 * util/ieee1275/get_disk_name.c: Remove file.
22843 * util/i386/get_disk_name.c: Remove file.
22844 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
22845 "hd%d" for device.map entries, rather than using
22846 grub_util_get_disk_name().
22847
81a06771 228482008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 22849
22850 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
22851 warning.
22852 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
22853
5a004279 228542008-09-24 Carles Pina i Estany <carles@pina.cat>
22855
22856 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
22857 Changed to 0x5100.
22858 (GRUB_TERM_PPAGE): Changed to 0x4900.
22859
397093d3 228602008-09-24 Robert Millan <rmh@aybabtu.com>
22861
22862 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
22863 macros (they were i386-pc specific).
22864 * include/grub/sparc64/ieee1275/console.h: Likewise.
22865 * include/grub/efi/console.h: Likewise.
22866
a91b6c7c 228672008-09-22 Bean <bean123ch@gmail.com>
22868
22869 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
22870 resident and in attribute list.
22871
22872 * include/grub/ntfs.h (BMP_LEN): Removed.
22873
c40fd116 228742008-09-22 Bean <bean123ch@gmail.com>
22875
81a06771 22876 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 22877 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
22878
22879 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
22880 error occurs, as grub_disk_open will call grub_disk_close, which will
22881 call p->close (scsi).
22882
81a06771 228832008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 22884
22885 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
22886 (AC_PREREQ): Bumped to 2.59.
22887 (AC_TRY_COMPILE): Replace obsolete macro with ...
22888 (AC_COMPILE_IFELSE): ... this.
22889 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
22890 (AC_LINK_IFELSE): ... this.
22891
5dc43410 228922008-09-21 Felix Zielcke <fzielcke@z-51.de>
22893
22894 * autogen.sh: Add a call to `gendistlist.sh'.
22895
9035dce4 228962008-09-19 Christian Franke <franke@computer.org>
22897
22898 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
22899 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
22900 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
22901 Export __enable_execute_stack() to modules.
22902 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
22903 New function.
22904
7fd75377 229052008-09-09 Felix Zielcke <fzielcke@z-51.de>
22906
040030b3 22907 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
22908 Sort the list.
22909
229102008-09-09 Felix Zielcke <fzielcke@z-51.de>
22911
22912 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 22913 #include <grub/util/hostdisk.h>.
22914
89d5ffcf 229152008-09-08 Robert Millan <rmh@aybabtu.com>
22916
22917 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
22918 segments when their filesz is zero (grub_file_read() interprets
81a06771 22919 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 22920 Use `lowest_segment' rather than 0 for calculating the current
22921 segment load address.
22922
40da438f 229232008-09-08 Robert Millan <rmh@aybabtu.com>
22924
22925 * util/hostdisk.c (open_device): Replace a grub_util_info() call
22926 with grub_dprintf("hostdisk", ...), as it was so verbose that it
22927 clobbered useful information.
22928
ddbf5556 229292008-09-08 Robert Millan <rmh@aybabtu.com>
22930
22931 * include/grub/util/biosdisk.h: Move to ...
22932 * include/grub/util/hostdisk.h: ... here. Update all users.
22933 * util/biosdisk.c: Move to ...
22934 * util/hostdisk.c: ... here. Update all users.
22935
783d0f48 229362008-09-07 Robert Millan <rmh@aybabtu.com>
22937
22938 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
22939 variables.
22940 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
22941 and length can be stored directly in the `mbi->mmap_addr' and
22942 `mbi->mmap_length' struct fields.
22943
548e2ea5 229442008-09-07 Robert Millan <rmh@aybabtu.com>
22945
22946 * conf/i386.rmk: New file. Provides declaration for building
22947 `cpuid.mod'.
22948 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
22949 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
22950 variables.
22951 Include `conf/i386.mk'.
22952 * conf/i386-efi.rmk: Likewise.
22953 * conf/x86_64-efi.rmk: Likewise.
22954 * conf/i386-coreboot.rmk: Likewise.
22955 * conf/i386-ieee1275.rmk: Likewise.
22956
0ea85a37 229572008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
22958
22959 Based on patch created by Colin D Bennett <colin@gibibit.com>.
22960 Adds optimization support for BGR based modes.
22961
22962 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
22963 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22964 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22965 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22966 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22967 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22968 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22969 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22970 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22971 (grub_video_i386_vbeblit_index_index): Likewise.
22972 (grub_video_i386_vbeblit_replace_directN): Added.
22973 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22974 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22975 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22976 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22977 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22978 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 22979 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 22980 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22981 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22982 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22983 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22984 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22985 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22986
22987 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
22988 (grub_video_i386_vbefill_R8G8B8): Likewise.
22989 (grub_video_i386_vbefill_index): Likewise.
22990 (grub_video_i386_vbefill_direct32): Added.
22991 (grub_video_i386_vbefill_direct24): Likewise.
22992 (grub_video_i386_vbefill_direct16): Likewise.
22993 (grub_video_i386_vbefill_direct8): Likewise.
22994
81a06771 22995 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 22996 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
22997 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
22998 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
22999 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
23000 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 23001
0ea85a37 23002 * video/video.c (grub_video_get_blit_format): Updated to use new
23003 blit formats. Added handling for 16 bit color modes.
81a06771 23004
23005 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 23006 fillers.
23007 (common_blitter): Updated to use new blitters.
23008
23009 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
23010 Removed.
23011 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
23012 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
23013 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
23014 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
23015 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
23016 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
23017 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
23018 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
23019 (grub_video_i386_vbeblit_index_index): Likewise.
23020 (grub_video_i386_vbeblit_replace_directN): Added.
23021 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
23022 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
23023 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
23024 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
23025 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
23026 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
23027 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
23028 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
23029 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
23030 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
23031 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
23032 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
23033 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 23034
0ea85a37 23035 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
23036 (grub_video_i386_vbefill_R8G8B8): Likewise.
23037 (grub_video_i386_vbefill_index): Likewise.
23038 (grub_video_i386_vbefill_direct32): Added.
23039 (grub_video_i386_vbefill_direct24): Likewise.
23040 (grub_video_i386_vbefill_direct16): Likewise.
23041 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 23042
0ea85a37 23043 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
23044 types.
81a06771 23045
0ea85a37 23046 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
23047 types.
81a06771 23048
0ea85a37 23049 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
23050 blitter types.
81a06771 23051
0ea85a37 23052 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
23053 types.
23054
e8a83df6 230552008-09-06 Felix Zielcke <fzielcke@z-51.de>
23056
23057 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
23058 RAID level 1.
23059
6bcd8ee5 230602008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 23061
6bcd8ee5 23062 * fs/iso9660.c (grub_iso9660_date): New structure.
23063 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
23064 (grub_iso9660_uuid): New function.
c375ae58 23065
59261157 230662008-09-05 Bean <bean123ch@gmail.com>
23067
23068 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
23069
23070 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
23071 insensitive bit for names in Win32 and Win32 & DOS namespace.
23072
23073 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
23074
23075 * include/grub/types.h (LONG_MAX): Likewise.
23076
58b6645a 230772008-09-04 Felix Zielcke <fzielcke@z-51.de>
23078
4ee55921 23079 * util/getroot.c: Include <config.h>.
23080 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
23081 add support for /dev/md/N devices and handle LVM double dash escaping.
23082
230832008-09-04 Felix Zielcke <fzielcke@z-51.de>
23084
23085 * config.guess: Update to latest version from config git.
23086 * config.sub: Likewise.
58b6645a 23087
9124f65d 230882008-09-03 Robert Millan <rmh@aybabtu.com>
23089
23090 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
23091 `disk->total_sectors'.
23092
81a06771 230932008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 23094
23095 * include/grub/normal.h: Fixed incorrect comment for
23096 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
23097
81a06771 230982008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 23099
23100 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
23101 values with defines.
23102
23103 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
23104 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
23105 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
23106 (GRUB_VBE_MODEATTR_COLOR): Likewise.
23107 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
23108 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
23109 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
23110 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
23111 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
23112 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
23113 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
23114 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
23115 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
23116 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
23117 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
23118 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
23119 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
23120 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
23121 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
23122
93d5cbf8 231232008-08-31 Robert Millan <rmh@aybabtu.com>
23124
23125 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
23126 declaration.
23127 (grub_multiboot): Fix a few warnings.
23128
21751d50 231292008-08-31 Robert Millan <rmh@aybabtu.com>
23130
23131 * loader/i386/pc/multiboot.c: Update comment not to say that
23132 boot_device support is unimplemented.
23133
e27a75c5 231342008-08-31 Robert Millan <rmh@aybabtu.com>
23135
23136 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
23137 or memory map support are unimplemented.
23138
81a06771 231392008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 23140
23141 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
23142
81a06771 231432008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 23144
23145 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
23146 total video memory in 'vbeinfo' output; show color format details for
23147 each video mode.
23148
7c5d8d95 231492008-08-30 Pavel Roskin <proski@gnu.org>
23150
23151 * util/genmoddep.c: Remove for real this time.
23152 * DISTLIST: Remove util/genmoddep.c.
23153
4cebd25a 231542008-08-30 Robert Millan <rmh@aybabtu.com>
23155
23156 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
23157 as required by Multiboot spec (it was already 4-byte aligned, but
23158 only by chance).
23159
b497a269 231602008-08-29 Pavel Roskin <proski@gnu.org>
23161
e3925185 23162 * kern/powerpc/ieee1275/crt0.S: Rename to ...
23163 * kern/powerpc/ieee1275/startup.S: ... this.
23164 * conf/powerpc-ieee1275.rmk: Adjust for the above.
23165 * DISTLIST: Likewise.
23166
b497a269 23167 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
23168 grub/cpu/kernel.h. Add start label for consistency with other
23169 platforms. Add grub_prefix immediately after start. Add jump
23170 to the code after grub_prefix.
23171 * include/grub/powerpc/kernel.h: Provide valid values for
23172 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
23173
6e5a42fe 231742008-08-29 Bean <bean123ch@gmail.com>
23175
23176 * configure.ac: Change host_os to cygwin for mingw.
23177 (asprintf): New check for function.
23178
23179 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
23180 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
23181
23182 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 23183 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 23184 sync, sleep and grub_util_get_disk_size for mingw.
23185
23186 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
23187 to get size in mingw.
23188 (open_device): Use flag O_BINARY if it's defined.
23189 (find_root_device): Add dummy code for mingw.
23190
23191 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
23192 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
23193 (get_scsi_disk_name): Return 0 for mingw.
23194
23195 * util/hostfs.c: #include <grub/util/misc.h>.
23196 (grub_hostfs_open): Use "rb" flag to open file, use
23197 grub_util_get_disk_size to get disk size for mingw.
23198
23199 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
23200 (asprintf): New function if HAVE_ASPRINTF is not set.
23201 (sync): New function for mingw.
23202 (sleep): Likewise.
23203 (grub_util_get_disk_size): Likewise.
23204
ab3f2673 232052008-08-28 Pavel Roskin <proski@gnu.org>
23206
23207 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23208 kern/time.c.
23209
1c282483 232102008-08-28 Robert Millan <rmh@aybabtu.com>
23211
23212 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
23213
678e849c 232142008-08-28 Robert Millan <rmh@aybabtu.com>
23215
23216 Change find_grub_drive() syntax so it doesn't prevent it from
23217 detecting NULL names as errors.
23218
23219 * util/biosdisk.c (find_grub_drive): Move free slot search code
23220 from here ...
23221 (find_free_slot): ... to here.
23222 (read_device_map): Use find_free_slot() to search for free slots.
23223
965c75ca 232242008-08-27 Marco Gerards <marco@gnu.org>
23225
23226 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
23227 (scsi_mod_SOURCES): New variable.
23228 (scsi_mod_CFLAGS): Likewise
23229 (scsi_mod_LDFLAGS): Likewise.
23230
23231 * disk/scsi.c: New file.
23232
23233 * include/grub/scsi.h: Likewise.
23234
23235 * include/grub/scsicmd.h: Likewise.
23236
23237 * disk/ata.c: Include <grub/scsi.h>.
23238 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
23239 instead.
23240 (grub_ata_iterate): Skip ATAPI devices.
23241 (grub_ata_open): Only handle ATAPI devices.
23242 (struct grub_atapi_read): Removed.
23243 (grub_atapi_readsector): Likewise.
23244 (grub_ata_read): No longer handle ATAPI devices.
23245 (grub_ata_write): Likewise.
23246 (grub_atapi_iterate): New function.
23247 (grub_atapi_read): Likewise.
23248 (grub_atapi_write): Likewise.
23249 (grub_atapi_open): Likewise.
23250 (grub_atapi_close): Likewise.
23251 (grub_atapi_dev): New variable.
23252 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
23253 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
23254
23255 * include/grub/disk.h (enum grub_disk_dev_id): Add
23256 `GRUB_DISK_DEVICE_SCSI_ID'.
23257
c07ae501 232582008-08-26 Robert Millan <rmh@aybabtu.com>
23259
23260 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
23261 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
23262 descriptive.
23263
5ed20adc 232642008-08-23 Bean <bean123ch@gmail.com>
23265
23266 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
23267 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
23268 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
23269 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
23270 dm_nv.mod.
23271 (raid5rec_mod_SOURCES): New macro.
23272 (raid5rec_mod_CFLAGS): Likewise.
23273 (raid5rec_mod_LDFLAGS): Likewise.
23274 (raid6rec_mod_SOURCES): Likewise.
23275 (raid6rec_mod_CFLAGS): Likewise.
23276 (raid6rec_mod_LDFLAGS): Likewise.
23277 (mdraid_mod_SOURCES): Likewise.
23278 (mdraid_mod_CFLAGS): Likewise.
23279 (mdraid_mod_LDFLAGS): Likewise.
23280 (dm_nv_mod_SOURCES): Likewise.
23281 (dm_nv_mod_CFLAGS): Likewise.
23282 (dm_nv_mod_LDFLAGS): Likewise.
23283
23284 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
23285 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
23286 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
23287
23288 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
23289 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
23290
23291 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23292
23293 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23294
23295 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23296
23297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23298
23299 * disk/raid5_recover.c: New file.
23300
23301 * disk/raid6_recover.c: Likewise.
23302
23303 * disk/mdraid_linux.c: Likewise.
23304
23305 * disk/dmraid_nvidia.c: Likewise.
23306
23307 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
23308 ULONG_MAX.
23309
23310 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
23311 calculate the size of raid device.
23312 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
23313 different layout of raid5.
23314 (grub_raid_scan_device): Remove code specific to mdraid.
23315 (grub_raid_list): New variable.
23316 (free_array): New function.
23317 (grub_raid_register): Likewise.
23318 (grub_raid_unregister): Likewise.
23319 (grub_raid_rescan): Likewise.
23320 (GRUB_MOD_INIT): Don't iterate device here.
23321 (GRUB_MOD_FINI): Use free_array to release resource.
23322
23323 * include/grub/raid.h: Remove macro and structure specific to mdraid.
23324 (grub_raid5_recover_func_t): New function variable type.
23325 (grub_raid6_recover_func_t): Likewise.
23326 (grub_raid5_recover_func): New variable.
23327 (grub_raid6_recover_func): Likewise.
23328 (grub_raid_register): New function.
23329 (grub_raid_unregister): Likewise.
23330 (grub_raid_rescan): Likewise.
23331 (grub_raid_block_xor): Likewise.
23332
23333 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
23334 (CMD_CRC): New macro.
23335 (part): Removed.
23336 (read_file): Handle device as well as file.
23337 (cmd_crc): New function.
23338 (fstest): Handle multiple disks.
23339 (options): Remove part, raw and long, add root and diskcount.
23340 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 23341 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 23342 add handling for the new options, support multiple disks.
23343
23344 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
23345
29c18915 233462008-08-23 Bean <bean123ch@gmail.com>
23347
23348 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
23349
23350 * genfslist.sh: Ignore kernel.mod.
23351
23352 * genpartmaplist.sh: Likewise.
23353
8415f261 233542008-08-23 Robert Millan <rmh@aybabtu.com>
23355
23356 * util/getroot.c (find_root_device): Skip anything that starts with
23357 a dot, not just directories. This avoids things like /dev/.tmp.md0.
23358
d5a7dc5b 233592008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 23360
d5a7dc5b 23361 * util/update-grub.in (GRUB_GFXMODE): Export variable.
23362 * util/grub.d/00_header.in: Allow the administrator to change default
23363 gfxmode via ${GRUB_GFXMODE}.
23364
380cfbb4 233652008-08-21 Felix Zielcke <fzielcke@z-51.de>
23366
23367 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
23368
c9baafe7 233692008-08-21 Robert Millan <rmh@aybabtu.com>
23370
23371 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
23372 loader.
23373 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
23374 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
23375
e290bef2 233762008-08-20 Carles Pina i Estany <carles@pina.cat>
23377
23378 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
23379 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
23380
f9dbfc96 233812008-08-19 Robert Millan <rmh@aybabtu.com>
23382
23383 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
23384 (struct grub_virtual_screen): Remove `cursor_color'.
23385 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
23386 initialization.
23387 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
23388
dd6bd6ab 233892008-08-18 Robert Millan <rmh@aybabtu.com>
23390
23391 Unify (identical) linux_normal.c files.
23392 * loader/i386/efi/linux_normal.c: Move from here ...
23393 * loader/linux_normal.c: ... to here. Update all users.
23394 * loader/i386/pc/linux_normal.c: Delete. Update all users.
23395 * loader/i386/ieee1275/linux_normal.c: Likewise.
23396
7f42f83e 233972008-08-18 Robert Millan <rmh@aybabtu.com>
23398
23399 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
23400 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
23401 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
23402 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
23403 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
23404 New macros.
23405 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
23406 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
23407 (GRUB_LINUX_CL_END_OFFSET): ... to here.
23408 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
23409 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
23410 (GRUB_EFI_CL_END_OFFSET): Rename to ...
23411 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
23412 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
23413 Initialize `params->video_cursor_x' and `params->video_cursor_y'
23414 portably using grub_getxy().
23415 Replace `-EFI' with `-bzImage' in boot message.
23416
38487ddb 234172008-08-17 Robert Millan <rmh@aybabtu.com>
23418
23419 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
23420
deceb3ec 234212008-08-17 Robert Millan <rmh@aybabtu.com>
23422
23423 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
23424
23425 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
23426 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
23427 (grub_machine_mmap_iterate): New function declaration.
23428 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
23429 structure.
23430 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
23431 macros.
23432
23433 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
23434 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
23435 Move e820 parsing from here ...
23436 * kern/i386/pc/mmap.c: New file.
23437 (grub_machine_mmap_iterate): ... to here.
23438
23439 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
23440 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
23441 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
23442 (grub_available_iterate): Redeclare to return `void', and redeclare
23443 its hook to use grub_uint64_t as addr and size parameters, and rename
23444 to ...
23445 (grub_machine_mmap_iterate): ... this. Update all users.
23446
23447 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
23448 to make it more readable. Rename to ...
23449 (grub_machine_mmap_iterate): ... this.
23450
23451 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
23452 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
23453 (grub_multiboot): Allocate an extra region after the payload, and fill
23454 it with a Multiboot memory map. Adjust a.out loader to calculate size
23455 with the extra space.
23456 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
23457 with the extra space.
23458
f8aa0f43 234592008-08-17 Carles Pina i Estany <carles@pina.cat>
23460
9807deb9 23461 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 23462
605f5bb6 234632008-08-17 Felix Zielcke <fzielcke@z-51.de>
23464
23465 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
23466 mdate-sh to the list `find' searches for.
23467 * DISTLIST: Regenerated.
23468
210db6c6 234692008-08-16 Felix Zielcke <fzielcke@z-51.de>
23470
23471 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
23472 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 23473 genmoddep.awk, gensymlist.sh.in.
23474 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 23475 * DISTLIST: Regenerated.
48cdbfd4 23476 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 23477
1082b929 234782008-08-16 Robert Millan <rmh@aybabtu.com>
23479
23480 * disk/raid.c (grub_raid_init): Handle/report errors set by
23481 grub_device_iterate().
23482 * disk/lvm.c (grub_lvm_init): Likewise.
23483
42ce5170 234842008-08-15 Bean <bean123ch@gmail.com>
23485
23486 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
23487 and datehook.mod.
23488 (datetime_mod_SOURCES): New macro.
23489 (datetime_mod_CFLAGS): Likewise.
23490 (datetime_mod_LDFLAGS): Likewise.
23491 (date_mod_SOURCES): Likewise.
23492 (date_mod_CFLAGS): Likewise.
23493 (date_mod_LDFLAGS): Likewise.
23494 (datehook_mod_SOURCES): Likewise.
23495 (datehook_mod_CFLAGS): Likewise.
23496 (datehook_mod_LDFLAGS): Likewise.
23497
23498 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
23499 and datehook.mod.
23500 (datetime_mod_SOURCES): New macro.
23501 (datetime_mod_CFLAGS): Likewise.
23502 (datetime_mod_LDFLAGS): Likewise.
23503 (date_mod_SOURCES): Likewise.
23504 (date_mod_CFLAGS): Likewise.
23505 (date_mod_LDFLAGS): Likewise.
23506 (datehook_mod_SOURCES): Likewise.
23507 (datehook_mod_CFLAGS): Likewise.
23508 (datehook_mod_LDFLAGS): Likewise.
23509
23510 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
23511 and datehook.mod.
23512 (datetime_mod_SOURCES): New macro.
23513 (datetime_mod_CFLAGS): Likewise.
23514 (datetime_mod_LDFLAGS): Likewise.
23515 (date_mod_SOURCES): Likewise.
23516 (date_mod_CFLAGS): Likewise.
23517 (date_mod_LDFLAGS): Likewise.
23518 (datehook_mod_SOURCES): Likewise.
23519 (datehook_mod_CFLAGS): Likewise.
23520 (datehook_mod_LDFLAGS): Likewise.
23521
23522 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
23523 and datehook.mod.
23524 (datetime_mod_SOURCES): New macro.
23525 (datetime_mod_CFLAGS): Likewise.
23526 (datetime_mod_LDFLAGS): Likewise.
23527 (date_mod_SOURCES): Likewise.
23528 (date_mod_CFLAGS): Likewise.
23529 (date_mod_LDFLAGS): Likewise.
23530 (datehook_mod_SOURCES): Likewise.
23531 (datehook_mod_CFLAGS): Likewise.
23532 (datehook_mod_LDFLAGS): Likewise.
23533
23534 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
23535 and datehook.mod.
23536 (datetime_mod_SOURCES): New macro.
23537 (datetime_mod_CFLAGS): Likewise.
23538 (datetime_mod_LDFLAGS): Likewise.
23539 (date_mod_SOURCES): Likewise.
23540 (date_mod_CFLAGS): Likewise.
23541 (date_mod_LDFLAGS): Likewise.
23542 (datehook_mod_SOURCES): Likewise.
23543 (datehook_mod_CFLAGS): Likewise.
23544 (datehook_mod_LDFLAGS): Likewise.
23545
23546 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
23547
23548 * commands/date.c: New file.
23549
23550 * hook/datehook.c: Likewise.
23551
23552 * include/grub/lib/datetime.h: Likewise.
23553
23554 * include/grub/i386/cmos.h: Likewise.
23555
23556 * lib/datetime.c: Likewise.
23557
23558 * lib/i386/datetime.c: Likewise.
23559
23560 * lib/efi/datetime.c: Likewise.
23561
0e9242da 235622008-08-14 Robert Millan <rmh@aybabtu.com>
23563
23564 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
23565 (grub_mkelfimage_SOURCES): New variable.
23566 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
23567
23568 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
23569 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
23570 * conf/powerpc-ieee1275.rmk: Likewise.
23571 * conf/i386-ieee1275.rmk: Likewise.
23572
23573 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
23574 * kern/i386/coreboot/init.c: Likewise.
23575
23576 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
23577 with `<grub/cpu/kernel.h>'.
23578 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
23579 to ...
23580 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
23581 * kern/i386/coreboot/startup.S: Likewise.
23582
23583 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
23584 (GRUB_MOD_GAP): Remove.
23585 * include/grub/powerpc/kernel.h: New file.
23586 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
23587 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
23588 * include/grub/i386/kernel.h: New file.
23589 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
23590 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
23591 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
23592
23593 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
23594 `grub-mkelfimage'.
23595 Use --directory when invoking grub_mkimage.
23596
23597 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
23598 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
23599 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
23600 and GRUB_KERNEL_CPU_PREFIX.
23601
b86408f8 236022008-08-14 Felix Zielcke <fzielcke@z-51.de>
23603
d5e619ca 23604 * include/grub/err.h (grub_err_printf): New function prototype.
23605 * util/misc.c (grub_err_printf): New function.
23606 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
23607 grub_printf.
23608 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 23609
7161f0e0 236102008-08-13 Robert Millan <rmh@aybabtu.com>
23611
23612 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
23613
a1967522 236142008-08-13 Robert Millan <rmh@aybabtu.com>
23615
23616 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
23617 boot entry.
23618
371458b5 236192008-08-12 Robert Millan <rmh@aybabtu.com>
23620
23621 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
23622 of the relocation code from here ...
23623 (grub_multiboot): ... to here.
23624 (forward_relocator, backward_relocator): Move from here ...
23625 * kern/i386/loader.S (grub_multiboot_forward_relocator)
23626 (grub_multiboot_backward_relocator): ... to here.
23627 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
23628 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
23629 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
23630 (grub_multiboot_forward_relocator_end)
23631 (grub_multiboot_backward_relocator)
23632 (grub_multiboot_backward_relocator_end): New variables.
23633
05f9452b 236342008-08-12 Bean <bean123ch@gmail.com>
23635
23636 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
23637
20024ab0 236382008-08-11 Robert Millan <rmh@aybabtu.com>
23639
23640 * kern/i386/linuxbios/startup.S: Move from here ...
23641 * kern/i386/coreboot/startup.S: ... to here.
23642
23643 * kern/i386/linuxbios/init.c: Move from here ...
23644 * kern/i386/coreboot/init.c: ... to here.
23645
23646 * kern/i386/linuxbios/table.c: Move from here ...
23647 * kern/i386/coreboot/mmap.c: ... to here.
23648
23649 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
23650
e352e9cd 236512008-08-11 Robert Millan <rmh@aybabtu.com>
23652
23653 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
23654 errors. Leave it to the upper layer to handle them.
23655
2d05bc6a 236562008-08-09 Christian Franke <franke@computer.org>
23657
23658 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
23659 * conf/common.rmk: Install `grub-pe2elf' only if requested.
23660 Install `grub.d/10_windows' only on Cygwin.
23661 * configure.ac: Add subst of `target_os'.
23662 Check `target_os' also before setting TARGET_OBJ2ELF.
23663 Add `--enable-grub-pe2elf'.
23664
042bd419 236652008-08-08 Robert Millan <rmh@aybabtu.com>
23666
23667 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
23668 (grub_last_time): Change type to grub_uint64_t.
23669 (grub_disk_open): Migrate code from to using grub_get_time_ms().
23670 (grub_disk_close): Likewise.
23671
23672 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
23673 (run_menu): Migrate code from to using grub_get_time_ms().
23674
23675 * util/misc.c (grub_get_time_ms): New function.
23676
7f280db5 236772008-08-08 Marco Gerards <marco@gnu.org>
23678
23679 * disk/ata.c (grub_ata_regget): Change return type to
23680 `grub_uint8_t'.
23681 (grub_ata_regget2): Likewise.
23682 (grub_ata_wait_status): New function.
23683 (grub_ata_wait_busy): Removed function, updated all users to use
23684 `grub_ata_wait_status'.
23685 (grub_ata_wait_drq): Likewise.
23686 (grub_ata_cmd): New function.
23687 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
23688 error handling.
23689 (grub_ata_pio_write): Add error handling.
23690 (grub_atapi_identify): Likewise.
23691 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
23692 handling.
23693 (grub_ata_identify): Use `grub_ata_cmd' and improve error
23694 handling. Actually use the detected registers. Reorder the
23695 detection logic such that it is easier to read.
23696 (grub_ata_pciinit): Do not assign the same ID to each controller.
23697 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
23698 handling.
23699 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
23700
23701 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
23702
1fbc5e66 237032008-08-08 Marco Gerards <marco@gnu.org>
23704
23705 * NEWS: Update.
23706
819ce6c0 237072008-08-07 Bean <bean123ch@gmail.com>
23708
23709 * include/grub/x86_64/pci.h: New file.
23710
5c41d44d 237112008-08-07 Christian Franke <franke@computer.org>
23712
23713 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
23714 (TIMER2_GATE): Likewise.
23715 (grub_pit_wait): Add enable/disable of the timer2 gate
23716 bit of port 0x61. This fixes a possible infinite loop.
23717
5ebc275d 237182008-08-07 Bean <bean123ch@gmail.com>
23719
23720 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
23721 kern/i386/tsc.c and kern/i386/pit.c.
23722
23723 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
23724 x86_64 platform.
23725
23726 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
23727 <grub/i386/tsc.h>.
23728
23729 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
23730
e383b3d0 237312008-08-07 Bean <bean123ch@gmail.com>
23732
23733 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
23734
23735 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
23736
23737 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
23738 multiple inclusion. Add #include <grub/types.h>.
23739
1cbb58ac 237402008-08-06 Christian Franke <franke@computer.org>
23741
23742 * conf/common.rmk: Build and install `10_windows'.
23743 * util/grub.d/10_windows.in: New script.
23744
337f5a1e 237452008-08-06 Pavel Roskin <proski@gnu.org>
23746
23747 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
23748
057bc4ac 237492008-08-06 Robert Millan <rmh@aybabtu.com>
23750
23751 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
23752 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
23753
2b99f123 237542008-08-06 Bean <bean123ch@gmail.com>
23755
23756 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
23757 (grub_pxefs_fs_int): Remove dummy definition.
23758 (grub_pxefs_open): Use data->block_size to store the current block
23759 size setting.
23760 (grub_pxefs_read): Use block size stored in data->block_size. As the
23761 value of grub_pxe_blksize can be changed after the file is opened.
23762
9f0234cb 237632008-08-06 Bean <bean123ch@gmail.com>
23764
23765 * fs/i386/pc/pxe.c (curr_file): new variable.
23766 (grub_pxefs_open): Simply the handling of pxe file system. Don't
23767 require the dummy internal file system anymore.
23768 (grub_pxefs_read): Removed.
23769 (grub_pxefs_close): Likewise.
23770 (grub_pxefs_fs_int): Likewise.
23771 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
23772 connection when we switch file.
23773 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
23774
a55d42e0 237752008-08-06 Robert Millan <rmh@aybabtu.com>
23776
23777 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
23778 `halt.mod'.
23779 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
23780 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
23781
23782 * kern/i386/halt.c: New file.
23783 * kern/i386/reboot.c: Likewise.
23784 * include/grub/i386/reboot.h: Likewise.
23785 * include/grub/i386/halt.h: Likewise.
23786
23787 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
23788 Include `<grub/cpu/halt.h>'.
23789 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
23790 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
23791
23792 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
23793 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
23794 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
23795 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
23796 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
23797 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
23798 from here ...
23799 * include/grub/i386/at_keyboard.h: ... to here.
23800
24371d26 238012008-08-05 Robert Millan <rmh@aybabtu.com>
23802
23803 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
23804 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
23805 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
23806 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23807 `kern/generic/millisleep.c'.
23808
23809 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
23810 instead of grub_get_rtc().
23811 (grub_tsc_init): Initialize `tsc_boot_time'.
23812
23813 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
23814 (grub_machine_init): Use grub_tsc_init() rather than
23815 installing an RTC-based handler via grub_install_get_time_ms().
23816
23817 * kern/i386/pit.c: New file.
23818 * include/grub/i386/pit.h: Likewise.
23819
9e7007b3 238202008-08-05 Bean <bean123ch@gmail.com>
23821
23822 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
23823
23824 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
23825 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
23826 (pxe_mod_SOURCES): New macro.
23827 (pxe_mod_CFLAGS): Likewise.
23828 (pxe_mod_LDFLAGS): Likewise.
23829 (pxecmd_mod_SOURCES): Likewise.
23830 (pxecmd_mod_CFLAGS): Likewise.
23831 (pxecmd_mod_LDFLAGS): Likewise.
23832
23833 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
23834 (grub_pxe_call): Likewise.
23835
23836 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
23837
23838 * commands/i386/pc/pxecmd.c: New file.
23839
9f0234cb 23840 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 23841
23842 * include/grub/i386/pc/pxe.h: Likewise.
23843
6977d49f 238442008-08-05 Bean <bean123ch@gmail.com>
23845
23846 * util/console.c (grub_console_cur_color): New variable.
23847 (grub_console_standard_color): Likewise.
23848 (grub_console_normal_color): Likewise.
23849 (grub_console_highlight_color): Likewise.
23850 (color_map): Likewise.
23851 (use_color): Likewise.
23852 (NUM_COLORS): New macro.
23853 (grub_ncurses_setcolorstate): Handle color properly.
23854 (grub_ncurses_setcolor): Don't change color here, just remember the
23855 settings, color will be set in grub_ncurses_setcolorstate.
23856 (grub_ncurses_getcolor): New function.
23857 (grub_ncurses_init): Initialize color pairs.
23858 (grub_ncurses_term): New member grub_ncurses_getcolor.
23859
9c2ff3ee 238602008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 23861
9c2ff3ee 23862 High resolution timer support. Implemented for x86 CPUs using TSC.
23863 Extracted generic grub_millisleep() so it's linked in only as needed.
23864 This requires a Pentium compatible CPU; if the RDTSC instruction is
23865 not supported, then it falls back on the generic grub_get_time_ms()
23866 implementation that uses the machine's RTC.
23867
23868 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
23869 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23870 `kern/generic/millisleep.c'.
23871
23872 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
23873 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
23874
23875 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
23876 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
23877
23878 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23879
23880 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23881 `kern/generic/millisleep.c'.
23882
23883 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23884
23885 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
23886
23887 * kern/generic/rtc_get_time_ms.c: New file.
23888
23889 * kern/generic/millisleep.c: New file.
337f5a1e 23890
9c2ff3ee 23891 * kern/misc.c: Don't include
23892 <kern/time.h> anymore.
23893 (grub_millisleep_generic): Removed.
23894
23895 * commands/sleep.c (grub_interruptible_millisleep): Uses
23896 grub_get_time_ms() instead of grub_get_rtc().
23897
23898 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
23899 function.
23900 (grub_cpu_is_cpuid_supported): New inline function.
23901 (grub_cpu_is_tsc_supported): New inline function.
23902 (grub_tsc_init): New function prototype.
23903 (grub_tsc_get_time_ms): New function prototype.
23904
23905 * kern/i386/tsc.c (grub_get_time_ms): New file.
23906
23907 * include/grub/time.h: Include <grub/types.h.
23908 (grub_millisleep_generic): Removed.
23909 (grub_get_time_ms): New prototype.
23910 (grub_install_get_time_ms): New prototype.
23911 (grub_rtc_get_time_ms): New prototype.
23912
23913 * kern/time.c (grub_get_time_ms): New function.
23914 (grub_install_get_time_ms): New function.
23915
23916 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
23917 <grub/time.h> anymore.
23918 (grub_millisleep): Removed.
23919 (grub_machine_init): Call grub_tsc_init.
23920
23921 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
23922 get_time_ms() implementation.
23923
23924 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
23925 (ieee1275_get_time_ms): New function.
23926 (grub_machine_init): Install get_time_ms() implementation.
23927
23928 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
23929 (grub_machine_init): Call grub_tsc_init().
23930 (grub_millisleep): Removed.
bf06a93f 23931
9c2ff3ee 23932 * kern/ieee1275/init.c (grub_millisleep): Removed.
23933 (grub_machine_init): Install ieee1275_get_time_ms()
23934 implementation.
23935 (ieee1275_get_time_ms): New function.
23936 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
23937 real work.
23938
9ec92aaf 239392008-08-05 Marco Gerards <marco@gnu.org>
23940
23941 * disk/ata.c: Include <grub/pci.h>.
23942 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
23943 (grub_ata_initialize): Rewritten.
23944 (grub_ata_device_initialize): New function.
23945
8d23f507 239462008-08-04 Pavel Roskin <proski@gnu.org>
23947
23948 * kern/main.c: Include grub/mm.h.
23949
5e15ee3d 239502008-08-04 Robert Millan <rmh@aybabtu.com>
23951
23952 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
23953 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
23954 corruption problem).
23955
a9053f8f 239562008-08-04 Robert Millan <rmh@aybabtu.com>
23957
23958 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
23959 warnings introduced in my last commit.
23960
dd19c7d7 239612008-08-03 Robert Millan <rmh@aybabtu.com>
23962
23963 Make PCI available on all i386 architectures.
23964
23965 * include/grub/i386/pc/pci.h: Move from here ...
23966 * include/grub/i386/pci.h: ... to here.
23967
23968 * include/grub/i386/pc/pci.h: Remove.
23969 * include/grub/i386/efi/pci.h: Remove.
23970 * include/grub/x86_64/efi/pci.h: Remove.
23971
23972 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
23973 `<grub/cpu/pci.h>'.
23974
23975 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
23976 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
23977 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
23978
23979 * conf/i386-ieee1275.rmk: Likewise.
23980
e14a6184 239812008-08-03 Robert Millan <rmh@aybabtu.com>
23982
23983 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
23984 (grub_console_setcursor): Make it possible to set cursor off.
23985
52768e37 239862008-08-03 Robert Millan <rmh@aybabtu.com>
23987
23988 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
23989 of modules instead of assuming which platform provides what.
23990 * util/update-grub.in: Likewise.
23991
2d52f57f 239922008-08-03 Robert Millan <rmh@aybabtu.com>
23993
23994 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
23995 instead of `grub_install_dos_part' to determine whether a drive needs
23996 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 23997 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 23998
2a5cd121 239992008-08-02 Robert Millan <rmh@aybabtu.com>
24000
24001 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
24002
93808428 240032008-08-02 Robert Millan <rmh@aybabtu.com>
24004
24005 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
24006 of informational grub_dprintf() calls.
24007
3bd0a12a 240082008-08-02 Robert Millan <rmh@aybabtu.com>
24009
24010 * disk/memdisk.c (memdisk_size): Don't initialize.
24011 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
24012
24013 * include/grub/i386/pc/kernel.h
24014 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
24015 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
24016 (grub_memdisk_image_size, grub_arch_memdisk_addr)
24017 (grub_arch_memdisk_size): Remove.
24018
24019 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
24020 field (was only used to transfer a constant). Add `type' field to
24021 support multiple module types.
24022 (grub_module_iterate): New function.
24023
24024 * kern/device.c (grub_device_open): Do not hide error messages
24025 when grub_disk_open() fails. Use grub_print_error() instead.
24026
24027 * kern/i386/pc/init.c (grub_arch_modules_addr)
24028 (grub_arch_memdisk_size): Remove functions.
24029 (grub_arch_modules_addr): Return the module address in high memory
24030 (now that it isn't copied anymore).
24031
24032 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
24033 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
24034 decompression routine (grub_total_module_size already includes that
24035 now). Don't copy modules back to low memory.
24036
24037 * kern/main.c: Include `<grub/mm.h>'.
24038 (grub_load_modules): Split out (and use) ...
24039 (grub_module_iterate): ... this function, which iterates through
24040 module objects and runs a hook.
24041 Comment out grub_mm_init_region() call, as it would cause non-ELF
24042 modules to be overwritten.
24043
24044 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
24045 the memdisk image in its own region, make it part of the module list.
24046 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
24047 (main): Parse --memdisk|-m option, and pass user-provided path as
24048 parameter to generate_image().
24049 (add_segments): Pass `memdisk_path' down to load_modules().
24050 (load_modules): Embed memdisk image in module section when requested.
24051 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
24052 `header.type' instead of `header.offset'.
24053
24054 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
24055 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
24056 (memdisk_mod_LDFLAGS): New variables.
24057 * conf/i386-coreboot.rmk: Likewise.
24058 * conf/i386-ieee1275.rmk: Likewise.
24059
a927cc73 240602008-08-02 Robert Millan <rmh@aybabtu.com>
24061
24062 * loader/i386/pc/multiboot.c (playground, forward_relocator)
24063 (backward_relocator): New variables. Used to allocate and relocate
24064 the payload, respectively.
24065 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 24066 address, install the appropriate relocator code in each bound of
a927cc73 24067 the payload, and set the entry point such that
24068 grub_multiboot_real_boot() will jump to one of them.
24069
24070 * kern/i386/loader.S (grub_multiboot_payload_size)
24071 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
24072 (grub_multiboot_payload_entry_offset): New variables.
24073 (grub_multiboot_real_boot): Set cpu context to what the relocator
24074 expects, and jump to the relocator instead of the payload.
24075
24076 * include/grub/i386/loader.h (grub_multiboot_payload_size)
24077 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
24078 (grub_multiboot_payload_entry_offset): Export.
24079
b15d8a0c 240802008-08-01 Bean <bean123ch@gmail.com>
24081
24082 * normal/menu_entry.c (editor_getline): Don't return the original
24083 string as result, as it will be released by lexer once it has done
24084 using it.
24085
cdfb3d22 240862008-08-01 Robert Millan <rmh@aybabtu.com>
24087
24088 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
24089 within menuentries, not before them.
24090 util/grub.d/10_hurd.in: Likewise.
24091
9175e93d 240922008-08-01 Bean <bean123ch@gmail.com>
24093
24094 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
24095 (bufio_mod_SOURCES): New macro.
24096 (bufio_mod_CFLAGS): Likewise.
24097 (bufio_mod_LDFLAGS): Likewise.
24098
24099 * include/grub/bufio.h: New file.
24100
24101 * io/bufio.c: Likewise.
24102
24103 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
24104 (grub_video_reader_png): Use grub_buffile_open to open file.
24105
24106 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
24107 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
24108
24109 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
24110 (grub_video_reader_tga): Use grub_buffile_open to open file.
24111
24112 * font/manager.c: Include <grub/bufio.h>.
24113 (add_font): Use grub_buffile_open to open file.
24114
3d8383e7 241152008-07-31 Robert Millan <rmh@aybabtu.com>
24116
24117 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
24118 ELF segments, use a macro for arbitrarily accessing any of them instead
24119 of preparing a pointer that allows access to one at a time.
24120 (grub_multiboot_load_elf64): Likewise.
24121
16e641b6 241222008-07-31 Bean <bean123ch@gmail.com>
24123
24124 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
24125 GRUB_KERNEL_MACHINE_DATA_END.
24126
59198b72 241272008-07-30 Robert Millan <rmh@aybabtu.com>
24128
24129 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
24130 Increase from 0x50 to 0x60.
24131 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
24132 use UUIDs to identify the root drive for them. If that's not
24133 possible, abort.
24134 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
24135 check, for cross-disk installs.
24136
ae88bca3 241372008-07-30 Robert Millan <rmh@aybabtu.com>
24138
24139 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
24140 is non-empty, use it to set the `prefix' environment variable instead
24141 of the usual approach.
24142 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
24143 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
24144 environment variable instead of dummy make_install_device().
24145
24146 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
24147 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 24148 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 24149
24150 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
24151 New variable reference.
24152 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
24153 New macro. Defines offset of `grub_prefix' within startup.S (relative
24154 to `start').
24155 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
24156 section within startup.S (relative to `start').
24157 * include/grub/i386/coreboot/kernel.h: Likewise.
24158
24159 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
24160 Overwrite grub_prefix with its contents, at the beginning of the
24161 first segment.
24162 (main): Understand -p|--prefix.
24163
14f41dd1 241642008-07-30 Robert Millan <rmh@aybabtu.com>
24165
24166 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
24167
4ca049a3 241682008-07-30 Robert Millan <rmh@aybabtu.com>
24169
24170 * term/i386/pc/vga_text.c (grub_console_cls): Use
24171 grub_console_gotoxy() to go back to beginning of the screen.
24172 Found by Patrick Georgi <patrick.georgi@coresystems.de>
24173
2921d337 241742008-07-29 Christian Franke <franke@computer.org>
24175
24176 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
24177 Add conversion of emulated mount points on Cygwin.
24178
b609876d 241792008-07-29 Christian Franke <franke@computer.org>
24180
24181 * util/update-grub.in: Add a check for admin
24182 group on Cygwin.
24183 Remove old `grub.cfg.new' before creation.
24184 Add `-f' to `mv' to handle the different filesystem
24185 semantics of Windows.
24186
e93e4679 241872008-07-29 Bean <bean123ch@gmail.com>
24188
24189 * normal/main.c (get_line): Fix buffer overflow bug.
24190
41694fd0 241912008-07-28 Robert Millan <rmh@aybabtu.com>
24192
24193 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
24194 (struct grub_apple_header): New struct. Describes the layout of
24195 the partmap header.
24196 (apple_partition_map_iterate): Check the header magic as well as the
24197 partition magic (which was already being checked).
24198
cfd0b4e6 241992008-07-28 Pavel Roskin <proski@gnu.org>
24200
24201 * genmk.rb: Add a warning to the beginning of the output that
24202 it's a generated file and should not be edited.
24203
93cce016 242042008-07-28 Robert Millan <rmh@aybabtu.com>
24205
24206 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
24207 with the same number are found, just use issue a warning with
24208 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 24209
cd1df915 242102008-07-27 Robert Millan <rmh@aybabtu.com>
24211
24212 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
24213 information.
24214
b70a8427 242152008-07-27 Bean <bean123ch@gmail.com>
24216
24217 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
24218 (grub_fat_find_dir): Ignore case when comparing filename.
24219
8f5e379f 242202008-07-27 Bean <bean123ch@gmail.com>
24221
24222 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
24223 smallino, as it's more descriptive, and i8count can be confused with
24224 the other field count.
24225 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
24226 inode type.
24227
a85cd5a0 242282008-07-27 Bean <bean123ch@gmail.com>
24229
24230 * commands/crc.c: New file.
24231
24232 * lib/crc.c: Likewise.
24233
24234 * include/grub/lib/crc.h: Likewise.
24235
24236 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
24237
24238 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
24239 (hexdump): Move this function to ...
24240
24241 * lib/hexdump.c: ... here.
24242
24243 * include/grub/hexdump.h: Renamed to ...
24244
24245 * include/grub/lib/hexdump.h: ... this.
24246
24247 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
24248
24249 * util/grub-editenv.c: Likewise.
24250
24251 * include/envblk.h: Renamed to ...
24252
24253 * include/lib/envblk.h: ... this.
24254
24255 * util/envblk.c: Renamed to ...
24256
24257 * lib/envblk.c: ... this.
24258
24259 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
24260 lib/hexdump.c.
24261 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
24262 (pkglib_MODULES): Add crc.mod.
24263 (hexdump_mod_SOURCES): Add lib/hexdump.c.
24264 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
24265 (crc_mod_SOURCES): New macro.
24266 (crc_mod_CFLAGS): Likewise.
24267 (crc_mod_LDFLAGS): Likewise.
24268
24269 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
24270
24271 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24272
24273 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24274
24275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24276
24277 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24278
c298def0 242792008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 24280
24281 * commands/help.c: Include <grub/term.h>.
24282 (TERM_WIDTH): Removed. Updated all users.
24283
cc349fb3 242842008-07-27 Pavel Roskin <proski@gnu.org>
24285
24286 * util/getroot.c (find_root_device): Rephrase a comment to avoid
24287 spurious warnings about a comment within a comment.
24288
9051607e 242892008-07-25 Robert Millan <rmh@aybabtu.com>
24290
24291 * util/getroot.c (find_root_device): Skip devices that match
24292 /dev/dm-[0-9]. This lets the real device be found for any type of
24293 abstraction (LVM, EVMS, RAID..).
24294 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
24295 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
24296 device is found first, find_root_device() will now skip it.
24297
01453bfc 242982008-07-24 Pavel Roskin <proski@gnu.org>
24299
24300 * include/grub/types.h: Use __builtin_bswap32() and
24301 __builtin_bswap64() with gcc 4.3 and newer.
24302
6af9849f 243032008-07-24 Christian Franke <franke@computer.org>
24304
3a0fa256 24305 * util/i386/pc/grub-install.in: If `--debug' is specified,
24306 pass `--verbose' to grub-setup.
24307 Abort script if make_system_path_relative_to_its_root() fails.
24308
7810e747 243092008-07-24 Bean <bean123ch@gmail.com>
24310
24311 * configure.ac: Fixed a bug caused by the previous cygwin patch,
24312 variable `target_platform' should be `platform'.
24313
42290e17 243142008-07-24 Bean <bean123ch@gmail.com>
24315
51cc5193 24316 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 24317 (grub_png_init_fixed_block): New function.
24318 (grub_png_decode_image_data): Handle fixed huffman code compression.
24319
2a8a80e4 243202008-07-24 Bean <bean123ch@gmail.com>
24321
24322 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
24323 (grub_pe2elf_SOURCES): New macro.
24324 (CLEANFILES): Add grub-pe2elf.
24325
24326 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
24327 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
24328 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
24329 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
24330 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
24331 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
24332 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
24333 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
24334 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
24335 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
24336 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
24337 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
24338 (GRUB_PE32_DT_FUNCTION): Likewise.
24339 (GRUB_PE32_REL_I386_DIR32): Likewise.
24340 (GRUB_PE32_REL_I386_REL32): Likewise.
24341 (grub_pe32_symbol): New structure.
24342 (grub_pe32_reloc): Likewise.
24343
24344 * util/grub-pe2elf.c: New file.
24345
24346 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
24347 start symbol in non pc platform.
24348
24349 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
24350
24351 The following patches are from Christian Franke.
24352
24353 * include/grub/dl.h: Remove .previous, gas supports this only
24354 for ELF format.
24355
24356 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
24357 Remove .type, gas supports this only for ELF format.
24358
24359 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
24360 nullbytes in symbol table. This fixes an infinite loop if table is
24361 zero filled.
24362
24363 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
24364 TARGET_IMG_LDFLAGS and EXEEXT.
24365
24366 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
24367 TARGET_IMG_LDFLAGS_AC.
24368 (grub_CHECK_STACK_ARG_PROBE): New function.
24369
24370 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
24371
24372 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
24373
24374 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
24375 to set TARGET_IMG_LD* accordingly.
24376 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
24377 Add call to grub_CHECK_STACK_ARG_PROBE.
24378 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
24379
24380 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
24381
24382 * genmk.rb: Add EXEEXT to CLEANFILES.
24383
12ccdb75 243842008-07-23 Robert Millan <rmh@aybabtu.com>
24385
24386 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
24387 define the codes for arrows and lines used for the menu).
24388 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
24389 as well.
24390
24391 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
24392 fonts, because the latter are too slow.
24393
18eeaf04 243942008-07-21 Bean <bean123ch@gmail.com>
24395
24396 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
24397 a20. Run keyboard test last, as it will cause macbook to halt.
24398
b095e2ad 243992008-07-18 Pavel Roskin <proski@gnu.org>
24400
24401 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
24402 load foreign architecture modules correctly anyway. Keep
24403 support for loading host architecture modules, whether we
24404 compile them or not.
24405
737feb35 244062008-07-17 Pavel Roskin <proski@gnu.org>
24407
3f4ce737 24408 * configure.ac: Use -m32 or -m64 regardless of whether we had to
24409 change target_cpu. The compiler default can mismatch target_cpu
24410 in any case.
24411
4ad2d049 24412 * disk/efi/efidisk.c: Fix format warnings on x86_64.
24413 * kern/efi/efi.c: Likewise.
24414
f6130a12 24415 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
24416 target compiler is functional.
24417 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
24418 are set up.
24419
58393a2d 24420 * configure.ac: Default to efi platform for x86_64-apple. Allow
24421 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
24422 adjustments from the rest, only do them if target is not
24423 explicitly given. Merge other adjustments with the final sanity
24424 check. Remove an extraneous check for supported CPU. Be
24425 specific which CPU and which platform is not supported.
24426
737feb35 24427 * configure.ac: Default to pc platform for x86_64.
24428
546f966a 244292008-07-17 Robert Millan <rmh@aybabtu.com>
24430
24431 Partial LinuxBIOS -> Coreboot rename.
24432
24433 * conf/i386-linuxbios.rmk: Renamed to ...
24434 * conf/i386-coreboot.rmk: ... this.
24435 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
24436 * configure.ac: Accept "coreboot" as input platform (but maintain
24437 compatibility with "linuxbios").
24438 * include/grub/i386/linuxbios: Renamed to ...
24439 * include/grub/i386/coreboot: ... this.
24440
20011694 244412008-07-17 Bean <bean123ch@gmail.com>
24442
24443 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 24444 (appleldr_mod_SOURCE): New variable.
20011694 24445 (appleldr_mod_CFLAGS): Likewise.
24446 (appleldr_mod_LDFLAGS): Likewise.
24447 (pci_mod_SOURCES): Likewise.
24448 (pci_mod_CFLAGS): Likewise.
24449 (pci_mod_LDFLAGS): Likewise.
24450 (lspci_mod_SOURCES): Likewise.
24451 (lspci_mod_CFLAGS): Likewise.
24452 (lspci_mod_LDFLAGS): Likewise.
24453
24454 * conf/x86_64-efi.rmk: New file.
24455
24456 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
24457 macro.
24458 (grub_efidisk_write): Likewise.
24459
24460 * include/efi/api.h (efi_call_0): New macro.
24461 (efi_call_1): Likewise.
24462 (efi_call_2): Likewise.
24463 (efi_call_3): Likewise.
24464 (efi_call_4): Likewise.
24465 (efi_call_5): Likewise.
24466 (efi_call_6): Likewise.
24467
24468 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
24469 grub_rescue_cmd_chainloader.
24470
24471 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
24472 (grub_pe32_optional_header): Change some fields based on i386 or
24473 x86_64 platform.
24474 (GRUB_PE32_PE32_MAGIC): Likewise.
24475
24476 * include/grub/efi/uga_draw.h: New file.
24477
24478 * include/grub/elf.h (STN_ABS): New constant.
24479 (R_X86_64_NONE): Relocation constant for x86_64.
24480 (R_X86_64_64): Likewise.
24481 (R_X86_64_PC32): Likewise.
24482 (R_X86_64_GOT32): Likewise.
24483 (R_X86_64_PLT32): Likewise.
24484 (R_X86_64_COPY): Likewise.
24485 (R_X86_64_GLOB_DAT): Likewise.
24486 (R_X86_64_JUMP_SLOT): Likewise.
24487 (R_X86_64_RELATIVE): Likewise.
24488 (R_X86_64_GOTPCREL): Likewise.
24489 (R_X86_64_32): Likewise.
24490 (R_X86_64_32S): Likewise.
24491 (R_X86_64_16): Likewise.
24492 (R_X86_64_PC16): Likewise.
24493 (R_X86_64_8): Likewise.
24494 (R_X86_64_PC8): Likewise.
24495
24496 * include/grub/i386/efi/pci.h: New file.
24497
24498 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
24499 Change it value based on platform.
24500 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
24501 (GRUB_E820_RAM): Likewise.
24502 (GRUB_E820_RESERVED): Likewise.
24503 (GRUB_E820_ACPI): Likewise.
24504 (GRUB_E820_NVS): Likewise.
24505 (GRUB_E820_EXEC_CODE): Likewise.
24506 (GRUB_E820_MAX_ENTRY): Likewise.
24507 (grub_e820_mmap): New structure.
24508 (linux_kernel_header): Change the efi field according to different
24509 kernel version, also field from linux_kernel_header.
24510
24511 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
24512
24513 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
24514 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
24515 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
24516 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
24517 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
24518 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
24519 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
24520 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
24521 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
24522 (GRUB_PCI_ADDR_IO_MASK): Likewise.
24523
24524 * include/grub/x86_64/efi/kernel.h: New file.
24525
24526 * include/grub/x86_64/efi/loader.h: Likewise.
24527
24528 * include/grub/x86_64/efi/machine.h: Likewise.
24529
24530 * include/grub/x86_64/efi/pci.h: Likewise.
24531
24532 * include/grub/x86_64/efi/time.h: Likewise.
24533
24534 * include/grub/x86_64/linux.h: Likewise.
24535
24536 * include/grub/x86_64/setjmp.h: Likewise.
24537
24538 * include/grub/x86_64/time.h: Likewise.
24539
24540 * include/grub/x86_64/types.h: Likewise.
24541
24542 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
24543 GRUB_TARGET_SIZEOF_VOID_P.
24544
24545 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
24546 (grub_efi_locate_handle): Likewise.
24547 (grub_efi_open_protocol): Likewise.
24548 (grub_efi_set_text_mode): Likewise.
24549 (grub_efi_stall): Likewise.
24550 (grub_exit): Likewise.
24551 (grub_reboot): Likewise.
24552 (grub_halt): Likewise.
24553 (grub_efi_exit_boot_services): Likewise.
24554 (grub_get_rtc): Likewise.
24555
24556 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
24557 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
24558 (grub_efi_allocate_pages): Wrap efi calls.
24559 (grub_efi_free_pages): Wrap efi calls.
24560 (grub_efi_get_memory_map): Wrap efi calls.
24561
24562 * kern/x86_64/dl.c: New file.
24563
24564 * kern/x86_64/efi/callwrap.S: Likewise.
24565
24566 * kern/x86_64/efi/startup.S: Likewise.
24567
24568 * loader/efi/appleloader.c: Likewise.
24569
24570 * loader/efi/chainloader.c (cmdline): New variable.
24571 (grub_chainloader_unload): Wrap efi calls.
24572 (grub_chainloader_boot): Likewise.
24573 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
24574 command line.
24575
24576 * loader/efi/chainloader_normal.c (chainloader_command):
24577 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
24578 command line.
24579
24580 * loader/i386/efi/linux.c (allocate_pages): Change allocation
24581 method.
24582 (grub_e820_add_region): New function.
24583 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
24584 booting.
24585 (grub_find_video_card): New function.
24586 (grub_linux_setup_video): New function.
24587 (grub_rescue_cmd_linux): Probe for video information.
24588
24589 * normal/x86_64/setjmp.S: New file.
24590
24591 * term/efi/console.c (map_char): New function.
24592 (grub_console_putchar): Map unicode char.
24593 (grub_console_checkkey): Wrap efi calls.
24594 (grub_console_getkey): Likewise.
24595 (grub_console_getwh): Likewise.
24596 (grub_console_gotoxy): Likewise.
24597 (grub_console_cls): Likewise.
24598 (grub_console_setcolorstate): Likewise.
24599 (grub_console_setcursor): Likewise.
24600
24601 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
24602
59652a20 246032008-07-16 Pavel Roskin <proski@gnu.org>
24604
ef294055 24605 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
24606 format strings.
24607
59652a20 24608 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
24609 pointer, not an integer. This fixes a warning and prevents
24610 precision loss on 64-bit systems.
24611 (relocate_addresses): Remove unneeded cast.
24612
afc3b5d7 246132008-07-15 Pavel Roskin <proski@gnu.org>
24614
506b2b3e 24615 * kern/i386/ieee1275/init.c: Include grub/cache.h.
24616
62ead89c 24617 * term/ieee1275/ofconsole.c: Disable code unused on i386.
24618
c4cd51d7 24619 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
24620 Fix comparison between signed and unsigned.
24621
0d3d8f28 24622 * include/grub/i386/ieee1275/console.h: Declare
24623 grub_console_init() and grub_console_fini().
24624
8804b286 24625 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
24626 It's empty and unused.
24627
ee01cf35 24628 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
24629 beginning to avoid warnings with some compilers.
24630
afc3b5d7 24631 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
24632 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
24633
e4e8eaa5 246342008-07-14 Pavel Roskin <proski@gnu.org>
24635
407aceb4 24636 * kern/env.c (grub_register_variable_hook): Don't copy empty
24637 string, it leaks memory. Pass "" to grub_env_set(), it should
24638 handle constant strings.
24639
e4e8eaa5 24640 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
24641 * commands/cmp.c (grub_cmd_cmp): Likewise.
24642 * kern/dl.c (grub_dl_flush_cache): Likewise.
24643 (grub_dl_load_core): Likewise.
24644 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
24645 (grub_elf64_load_phdrs): Likewise.
24646
d4e2dad3 246472008-07-13 Pavel Roskin <proski@gnu.org>
24648
24649 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
24650 between signed and unsigned.
24651 (LzmaEnc_Finish): Fix warning about an unused parameter.
24652
aa24b516 246532008-07-13 Bean <bean123ch@gmail.com>
24654
24655 * Makefile.in (enable_lzo): New rule.
24656
24657 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
24658
24659 * configure.ac (ENABLE_LZO): New option --enable-lzo.
24660
24661 * boot/i386/pc/lnxboot.S: #include <config.h>.
24662
24663 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 24664 its value according to the compression algorithm used, lzo or lzma.
aa24b516 24665
24666 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
24667 compression algorithm according to configure macro.
24668
24669 * kern/i386/pc/startup.S (codestart): Likewise.
24670
24671 * kern/i386/pc/lzma_decode.S: New file.
24672
24673 * include/grub/lib/LzFind.h: Likewise.
24674
24675 * include/grub/lib/LzHash.h: Likewise.
24676
24677 * include/grub/lib/LzmaDec.h: Likewise.
24678
24679 * include/grub/lib/LzmaEnc.h: Likewise.
24680
24681 * include/grub/lib/LzmaTypes.h: Likewise.
24682
24683 * lib/LzFind.c: Likewise.
24684
24685 * lib/LzmaDec.c: Likewise.
24686
24687 * lib/LzmaEnc.c: Likewise.
24688
4ae821ac 246892008-07-13 Bean <bean123ch@gmail.com>
24690
24691 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
24692 (grub_ext4_extent_header): New structure.
24693 (grub_ext4_extent): Likewise.
24694 (grub_ext4_extent_idx): Likewise.
24695 (grub_ext4_find_leaf): New function.
24696 (grub_ext2_read_block): Handle extents.
24697
9a745147 246982008-07-12 Robert Millan <rmh@aybabtu.com>
24699
24700 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
24701
d49a4cf6 247022008-07-11 Robert Millan <rmh@aybabtu.com>
24703
24704 * util/grub.d/40_custom.in: New file. Example on how to add custom
24705 entries to /etc/grub.d.
24706 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
24707 40_custom (implicitly, by merging all the grub.d rules).
24708
947414b4 247092008-07-11 Pavel Roskin <proski@gnu.org>
24710
0059cf6f 24711 * commands/read.c (grub_getline): Fix invalid memory access.
24712 Don't add newline to the variable value.
24713
947414b4 24714 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
24715 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
24716 (serial_hw_get_port): Check validity of the port number.
24717 (grub_cmd_serial): Check return value of serial_hw_get_port().
24718
62a02d00 247192008-07-07 Pavel Roskin <proski@gnu.org>
24720
24721 * boot/i386/pc/diskboot.S (notification_string): Replace
24722 "Loading kernel" with just "loading". This is shorter, less
24723 confusing and saves a few bytes for possible future changes.
24724
3e5581b0 247252008-07-05 Pavel Roskin <proski@gnu.org>
24726
ea387a48 24727 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
24728 size for ATAPI devices, they are undefined. Output sector
24729 number in decimal form.
24730
3e5581b0 24731 * disk/ata.c: Use named constants for status bits.
24732
fdecb8fd 247332008-07-04 Pavel Roskin <proski@gnu.org>
24734
bcd35b90 24735 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
24736 grub_addr_t before casting it to the void pointer to fix a
24737 warning. Non-addressable regions are discarded earlier.
24738 (grub_arch_modules_addr): Cast _end to grub_addr_t.
24739 * kern/i386/linuxbios/table.c: Include grub/misc.h.
24740 (check_signature): Don't shadow table_header.
24741 (grub_linuxbios_table_iterate): Cast numeric constants to
24742 grub_linuxbios_table_header_t.
24743 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
24744 grub_stop().
24745
af58ab3d 24746 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
24747 prevent warnings.
24748
1759aa57 24749 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
24750 pointer, which can cause warnings. Support 64-bit addresses.
24751
fdecb8fd 24752 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
24753 of sizeof(long). This fixes PowerPC image generation on x86_64.
24754
8516d2a8 247552008-07-04 Robert Millan <rmh@aybabtu.com>
24756
24757 This fixes a performance issue when pc & gpt partmap iterators
24758 didn't abort iteration even after our hook found what it was
fe987087 24759 looking for (often causing expensive probes of non-existent drives).
8516d2a8 24760
24761 Some callers relied on previous buggy behaviour, since they would
34c44600 24762 raise an error when their own hooks caused early abortion of its
8516d2a8 24763 iteration.
24764
24765 * kern/device.c (grub_device_open): Improve error message.
24766 * disk/lvm.c (grub_lvm_open): Likewise.
24767 * disk/raid.c (grub_raid_open): Likewise.
24768
24769 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
24770 when hook requests it, independently of grub_errno.
24771 (pc_partition_map_probe): Do not fail when find_func() caused
24772 early abortion of pc_partition_map_iterate().
24773
24774 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
24775 when hook requests it, independently of grub_errno.
24776 (gpt_partition_map_probe): Do not fail when find_func() caused
24777 early abortion of gpt_partition_map_iterate().
24778
24779 * kern/partition.c (grub_partition_iterate): Abort parent iteration
24780 when hook requests it, independently of grub_errno. Do not fail when
24781 part_map_iterate_hook() caused early abortion of p->iterate().
24782
24783 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
24784 when grub_partition_iterate() returned with non-zero.
24785
277d0de9 247862008-07-03 Pavel Roskin <proski@gnu.org>
24787
24788 * disk/ata.c (grub_ata_pio_write): Check status before writing,
24789 like we do in grub_ata_pio_read().
24790 (grub_ata_readwrite): Always write individual sectors. Fix the
24791 sector count for the remainder.
24792 (grub_ata_write): Enable writing to ATA devices. Correctly
24793 report error for ATAPI devices.
24794
d4c9b428 247952008-07-02 Pavel Roskin <proski@gnu.org>
24796
e43fc690 24797 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
24798 warning.
24799
f707af42 24800 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
24801 for every read sector, we already increment it for the whole
24802 batch. This fixes reading more than 256 sectors at once.
24803
11e16b15 24804 * util/grub-editenv.c (cmd_info): Cast argument to long
24805 explicitly. ptrdiff_t reduces to int on i386.
24806
cbabfdd4 24807 * util/grub-editenv.c (main): Be specific which parameter is
24808 missing.
24809
b8fbce0a 24810 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
24811 (memdisk): Make memdisk_orig_addr a pointer.
24812
c9c8e606 24813 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
24814 for file offsets, use grub_off_t instead. Fix printf format
24815 warnings.
24816
ca62e598 24817 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
24818 there. Real unexpected warnings should not drown in the noise
24819 about known problems.
24820
ce8d1766 24821 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
24822 grub_disk_addr_t for memory addresses.
24823
00c7a56a 24824 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
24825 explicitly to fix a warning.
24826
08d3ef09 24827 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
24828
cb71ba20 24829 * Makefile.in (MODULE_LDFLAGS): New variable.
24830 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
24831 the linker accepts --build-id=none.
24832 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
24833 MODULE_LDFLAGS.
24834 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
24835
d4c9b428 24836 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
24837 those in Linux XFS code. Provide a way to access 64-bit parent
24838 inode.
24839 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
24840 the end of struct grub_xfs_dir_header.
24841
d4156eee 248422008-07-02 Bean <bean123ch@gmail.com>
24843
24844 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
24845 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24846 and GRUB_IEEE1275_FLAG_NO_ANSI.
24847
24848 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
24849 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24850 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
24851
24852 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
24853 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
24854
24855 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
24856 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
24857
24858 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
24859 esc sequence on non ANSI terminal.
24860 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
24861
24862 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
24863 beginning of file.
24864
2270f77b 248652008-07-02 Bean <bean123ch@gmail.com>
24866
24867 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
24868 (grub_editenv_SOURCES): New variable.
24869 (pkglib_MODULES): Add loadenv.mod.
24870 (loadenv_mod_SOURCES): New variable.
24871 (loadenv_mod_CFLAGS): Likewise.
24872 (loadenv_mod_LDFLAGS): Likewise.
24873
24874 * include/grub/envblk.h: New file.
24875
24876 * util/envblk.c: New file.
24877
24878 * util/grub-editenv.c: New file.
24879
24880 * commands/loadenv.c: New file.
24881
0e9e51ec 248822008-07-01 Pavel Roskin <proski@gnu.org>
24883
d89b7634 24884 * include/multiboot2.h (struct multiboot_tag_module): Use char,
24885 not unsigned char. This fixes warnings and is consistent with
24886 other tags.
24887
bf1835b1 24888 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
24889
8222a04b 24890 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
24891
6a42d99d 24892 * term/tparm.c (analyze): Always set *popcount.
24893
10b159d1 24894 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
24895 cast to fix a warning.
24896
b8789f6c 24897 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
24898 cast to suppress a warning.
24899
29d7e38a 24900 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
24901 grub_fshelp_read_file() expects.
24902
f341f669 24903 * fs/fat.c: Fix UUID calculation on big-endian systems. We
24904 write uuid as a 32-bit value in CPU byte order, so declare and
24905 use it as such.
24906
0e9e51ec 24907 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
24908 long if the format specifier expects it.
24909 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
24910 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24911 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
24912 long to fix a warning.
24913 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
24914 grub_dprintf() arguments to fix warnings.
24915
3aefa857 249162008-06-30 Pavel Roskin <proski@gnu.org>
24917
56c7668b 24918 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
24919 install_bsd_part immediately before core.img is embedded or
24920 modified on disk. This fixes core.img verification if core.img
24921 cannot be embedded.
24922
3aefa857 24923 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
24924 core_path to calculate the blocklist.
24925 Patch from Javier Martín <lordhabbit@gmail.com>
24926
5444088d 249272008-06-29 Robert Millan <rmh@aybabtu.com>
24928
24929 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
24930 block to disk block.
24931 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
24932 Patch from Niels Böhm <bitbucket@arcor.de>
24933
674835c8 249342008-06-29 Robert Millan <rmh@aybabtu.com>
24935
24936 * util/update-grub_lib.in (font_path): Search for fonts in
24937 /boot/grub first, which is more likely to be readable (we aren't
24938 deciding where fonts live, just looking for them).
24939
f527dbc8 249402008-06-26 Pavel Roskin <proski@gnu.org>
24941
6c2d8df6 24942 * util/biosdisk.c (read_device_map): Don't leave dead map
24943 entries for devices failing stat() check.
24944
f527dbc8 24945 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
24946 core_path_dev for the core.img path on the target device.
24947
aebe3d13 249482008-06-26 Robert Millan <rmh@aybabtu.com>
24949
24950 * disk/fs_uuid.c: New file.
24951 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
24952 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
24953 (fs_uuid_mod_LDFLAGS): New variables.
24954 * include/grub/disk.h (grub_disk_dev_id): Add
24955 `GRUB_DISK_DEVICE_UUID_ID'.
24956 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
24957 implement iterate().
24958
37aaf354 249592008-06-26 Robert Millan <rmh@aybabtu.com>
24960
24961 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
24962 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
24963 Linux image includes no initrd.
24964
25ff262a 249652008-06-21 Javier Martín <lordhabbit@gmail.com>
24966
24967 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
24968 call to resolve the core image location that effectively appended the
24969 name twice.
24970
76a2bd44 249712008-06-21 Robert Millan <rmh@aybabtu.com>
24972
24973 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
24974 call from here ...
24975
24976 * util/grub.d/10_hurd.in: ... to here ...
24977 * util/grub.d/10_linux.in: ... and here.
24978
650e1c79 249792008-06-19 Robert Millan <rmh@aybabtu.com>
24980
fe987087 24981 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 24982 after it has been set by grub_machine_set_prefix().
24983
6ce63911 249842008-06-19 Robert Millan <rmh@aybabtu.com>
24985
24986 * commands/search.c (search_label, search_fs_uuid, search_file): Print
24987 search result when not saving to variable, not the other way around.
24988 When saving to variable, abort iteration as soon as a match is found.
24989
73940cec 249902008-06-19 Robert Millan <rmh@aybabtu.com>
24991
24992 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
24993 check for partition that provides /boot/grub. Its logic is flawed,
24994 as it prevents prepare_grub_to_access_device() from being called
24995 multiple times.
24996
3c62a39d 249972008-06-19 Robert Millan <rmh@aybabtu.com>
24998
24999 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
25000 "insmod" command directly when abstraction modules are needed,
fe987087 25001 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 25002 since it had already been processed).
25003
47395a42 250042008-06-19 Pavel Roskin <proski@gnu.org>
25005
25006 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
25007 changed. This is needed in case GRUB_LIBDIR changes.
25008 * conf/i386-ieee1275.rmk: Likewise.
25009 * conf/i386-linuxbios.rmk: Likewise.
25010 * conf/i386-pc.rmk: Likewise.
25011 * conf/powerpc-ieee1275.rmk: Likewise.
25012
a145ac2d 250132008-06-18 Pavel Roskin <proski@gnu.org>
25014
25015 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
25016 kernel_elf_symlist.c to symlist.c for consistency with other
25017 architectures. Update all users.
25018 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25019
7847c51e 250202008-06-18 Robert Millan <rmh@aybabtu.com>
25021
25022 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
25023 it in prefix.
25024
25025 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
25026 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
25027 a RAID device, run setup() for all members independently on whether
25028 LVM abstraction is being used.
25029 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
25030 If grub-mkimage has set `*install_dos_part == -2', don't override this
25031 value.
25032 Perform *install_dos_part adjustments independently on whether
25033 we're embedding or not.
25034 Clarify error message when image is too big for embedding.
25035 Remove duplicate *install_dos_part stanza.
25036
b23e5644 250372008-06-17 Robert Millan <rmh@aybabtu.com>
25038
25039 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
25040 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
25041 variables.
25042 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
25043 values in grub_ofconsole_normal_color and
25044 grub_ofconsole_highlight_color (they're not directly related to
25045 background and foreground).
25046 (grub_ofconsole_setcolorstate): Extract background and foreground
25047 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
25048
0aac2f79 250492008-06-17 Robert Millan <rmh@aybabtu.com>
25050
25051 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
25052 /boot/grub for the check in last commit, not /boot (they could be
25053 different partitions).
25054
3cca7ef3 250552008-06-16 Robert Millan <rmh@aybabtu.com>
25056
25057 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
25058 asked to setup access for the same partition that provides /boot,
25059 don't bother using UUIDs since our root already has the value we
25060 want.
25061
347396d8 250622008-06-16 Robert Millan <rmh@aybabtu.com>
25063
25064 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
25065 I2O devices.
25066 Patch from Sven Mueller <sven@debian.org>.
25067
991477f8 250682008-06-16 Robert Millan <rmh@aybabtu.com>
25069
25070 * util/update-grub.in: Check for $EUID instead of $UID.
25071 Reported by Vincent Zweije.
25072
d31a32a1 250732008-06-16 Bean <bean123ch@gmail.com>
25074
fe987087 25075 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 25076 (grub_ext2_read_block): Likewise.
25077 (grub_ext2_read_inode): Likewise.
25078 (grub_ext2_mount): Likewise.
25079 (grub_ext2_close): Likewise.
25080 (grub_ext3_get_journal): Removed.
25081
fe987087 25082 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 25083 (grub_reiserfs_read_symlink): Likewise.
25084 (grub_reiserfs_mount): Likewise.
25085 (grub_reiserfs_open): Likewise.
25086 (grub_reiserfs_read): Likewise.
25087 (grub_reiserfs_close): Likewise.
25088 (grub_reiserfs_get_journal): Removed.
25089
25090 * fs/fshelp.c (grub_fshelp_read): Removed.
25091 (grub_fshelp_map_block): Likewise.
25092
25093 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
25094 (grub_fshelp_journal): Likewise.
25095 (grub_fshelp_read): Likewise.
25096 (grub_fshelp_map_block): Likewise.
25097
3540a760 250982008-06-16 Pavel Roskin <proski@gnu.org>
25099
25100 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
25101 floating point anymore.
25102 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
25103
95614c84 251042008-06-15 Pavel Roskin <proski@gnu.org>
25105
25106 * commands/ls.c (grub_ls_list_files): Use integer calculations
25107 for human readable format, avoid floating point use.
25108 * kern/misc.c (grub_ftoa): Remove.
25109 (grub_vsprintf): Remove floating point support.
25110
50465dd6 251112008-06-15 Robert Millan <rmh@aybabtu.com>
25112
fe6b695a 25113 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 25114 devices.
25115 Reported by Max Vozeler.
25116
a9207284 251172008-06-15 Robert Millan <rmh@aybabtu.com>
25118
25119 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
25120 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
25121 skipped later.
25122 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
25123 the beginning of the prefix.
25124
25125 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
25126 It is assumed that if we have a memdisk, grub-mkimage has set
25127 grub_prefix to include the "(memdisk)" drive in it.
25128
a7cbd45a 251292008-06-15 Robert Millan <rmh@aybabtu.com>
25130
25131 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
25132 Initialize keyboard controller after registering the terminal, so that
25133 grub_printf() can be called from grub_keyboard_controller_init().
25134
21cf716a 251352008-06-15 Robert Millan <rmh@aybabtu.com>
25136
25137 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
25138 extent-btree which is written as big endian on disk.
25139 Reported by Alain Greppin <al@chilibi.org>.
25140
23a64d8e 251412008-06-14 Robert Millan <rmh@aybabtu.com>
25142
25143 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
25144 * util/i386/pc/grub-install.in (modules): Likewise.
25145
d687651c 251462008-06-13 Pavel Roskin <proski@gnu.org>
25147
25148 * commands/ls.c (grub_ls_list_files): Fix format warnings.
25149
dfe9ddd4 251502008-06-13 Bean <bean123ch@gmail.com>
25151
25152 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
25153
25154 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
25155
25156 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
25157 to indicate sparse block.
25158
16ae7781 251592008-06-12 Pavel Roskin <proski@gnu.org>
25160
e6d1a308 25161 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
25162 number, grub_fshelp_read() does it for us.
25163
16ae7781 25164 * fs/fshelp.c (grub_fshelp_read): New function. Implement
25165 linear disk read with journal translation.
25166 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
25167 * include/grub/fshelp.h: Declare grub_fshelp_read().
25168
40fd3a2b 251692008-06-09 Pavel Roskin <proski@gnu.org>
25170
25171 * fs/minix.c (grub_minix_mount): Handle error reading
25172 superblock.
25173
f5679726 251742008-06-08 Robert Millan <rmh@aybabtu.com>
25175
25176 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
25177 don't append the RAID prefix afterwards.
25178 Reported by Clint Adams.
25179
ce525529 251802008-06-08 Robert Millan <rmh@aybabtu.com>
25181
25182 Based on description from Pavel:
25183 * kern/disk.c (grub_disk_check_range): Rename to ...
25184 (grub_disk_adjust_range): ... this. Add a comment explaining the
25185 tasks performed by this function.
25186
ad4936a0 251872008-06-08 Robert Millan <rmh@aybabtu.com>
25188
25189 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
25190 `num_serial' (for consistency with other variables).
25191 (struct grub_ntfs_data): Add `uuid' member.
25192 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
25193 (grub_ntfs_uuid): New function.
25194 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
25195
dc20b0f9 251962008-06-07 Pavel Roskin <proski@gnu.org>
25197
25198 * util/biosdisk.c (open_device): Revert last change to the
25199 function, it broke installation. The sector needs to be
25200 different dependent on which device is opened.
25201
c5e3cfba 252022008-06-06 Robert Millan <rmh@aybabtu.com>
25203
25204 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
25205 rest of GRUB, and breakage doesn't happen if its value were modified.
25206
25207 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25208 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
25209 a constant (same value).
25210 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
25211 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
25212
26a1f8c4 252132008-06-06 Robert Millan <rmh@aybabtu.com>
25214
25215 * util/biosdisk.c (open_device): Do not modify sector offset when
25216 accessing a partition. kern/disk.c already handles this for us.
25217
25d6b327 252182008-06-06 Robert Millan <rmh@aybabtu.com>
25219
25220 * util/grub-emu.c (grub_machine_init): Move code in this function from
25221 here ...
25222 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
25223 segfault in case grub_printf() is called).
25224
25225 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
25226 grub_probe. Update all users not to explicitly add it again.
25227 (grub_device): New variable; contains corresponding device for grubdir.
25228 (fs_module, partmap_module, devabstraction_module): Pass
25229 `--device ${grub_device}' to grub_probe to avoid traversing /dev
25230 every time.
25231
9ece62fb 252322008-06-05 Robert Millan <rmh@aybabtu.com>
25233
25234 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
25235 is found, print it (same layout as with labels).
25236
1ad36d37 252372008-06-04 Robert Millan <rmh@aybabtu.com>
25238
25239 * util/biosdisk.c (get_drive): Rename to ...
25240 (find_grub_drive): ... this. Update all users.
25241
25242 (get_os_disk): Rename to ...
25243 (convert_system_partition_to_system_disk): ... this. Update all users.
25244
25245 (find_drive): Rename to ...
25246 (find_system_device): ... this. Update all users.
25247
e6a30859 252482008-06-04 Robert Millan <rmh@aybabtu.com>
25249
25250 * util/biosdisk.c (get_os_disk): Handle IDA devices.
25251 * util/grub-mkdevicemap.c (get_mmc_disk_name)
25252 (make_device_map): Likewise.
25253
00c108a4 252542008-06-01 Robert Millan <rmh@aybabtu.com>
25255
25256 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
25257 before dereferencing it.
25258
25259 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
25260 union with fat12/fat16-specific ones. Add some new fields, including
25261 `num_serial' for both versions.
25262 (struct grub_fat_data): Add `uuid' member.
25263 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
25264 names. Initialize `data->uuid' using `num_serial'.
25265 (grub_fat_uuid): New function.
25266 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
25267
25268 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
25269 (grub_reiserfs_uuid): New function.
25270 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
25271 member.
25272
25273 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
25274 (grub_xfs_uuid): New function.
25275 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
25276
1385c5bb 252772008-06-01 Robert Millan <rmh@aybabtu.com>
25278
25279 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
25280 code that is backward compatible with pre-uuid search command.
25281
c682dfd7 252822008-05-31 Robert Millan <rmh@aybabtu.com>
25283
25284 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
25285 floppies after everything else, to ensure floppy drive isn't accessed
25286 unnecessarily (patch from Bean).
25287
b7db5d47 252882008-05-31 Robert Millan <rmh@aybabtu.com>
25289
25290 * commands/search.c (search_label, search_fs_uuid, search_file): Do
25291 not print device names when we were asked to set a variable.
25292
6e037aa9 252932008-05-31 Robert Millan <rmh@aybabtu.com>
25294
25295 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
25296 using "cursor-on" and "cursor-off" commands (understood at least by
25297 the Open Firmware flavour on OLPC).
25298
41305bc8 252992008-05-31 Michael Gorven <michael@gorven.za.net>
25300
25301 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
25302 on and off sequences.
25303
69ba137e 253042008-05-31 Robert Millan <rmh@aybabtu.com>
25305
25306 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
25307 * util/update-grub.in: Likewise.
25308
520ae21b 253092008-05-30 Pavel Roskin <proski@gnu.org>
25310
25311 * util/biosdisk.c (linux_find_partition): Simplify logic and
25312 make the code more universal. Keep special processing for
25313 devfs, but use a simple rule for all other devices. If the
25314 device ends with a number, append 'p' and the partition number.
25315 Otherwise, append only the partition number.
25316
5786569b 253172008-05-30 Robert Millan <rmh@aybabtu.com>
25318
25319 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
25320 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
25321 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
25322 the `root' parameter to Linux.
25323
51500452 253242008-05-30 Robert Millan <rmh@aybabtu.com>
25325
25326 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
25327 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
25328 --fs_uuid with --fs-uuid.
25329 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
25330 all filesystems support them).
25331
811d3878 253322008-05-30 Robert Millan <rmh@aybabtu.com>
25333
25334 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 25335 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 25336
cab63c95 253372008-05-30 Robert Millan <rmh@aybabtu.com>
25338
25339 * util/grub.d/00_header.in: Remove obsolete comment referencing
25340 convert_system_path_to_grub_path().
25341 * util/update-grub.in: Likewise.
25342 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
25343 (convert_system_path_to_grub_path): Add a warning message explaining
25344 that this function is deprecated. Rely on is_path_readable_by_grub()
25345 for the readability checks.
25346 (font_path): Use is_path_readable_by_grub() for the readability
25347 check rather than convert_system_path_to_grub_path().
25348
972e2f7a 253492008-05-30 Robert Millan <rmh@aybabtu.com>
25350
25351 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
25352 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
25353 converting it first.
25354 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
25355 grub.cfg for access to font file, and afterwards call it again to set
25356 the root device.
25357
62191274 253582008-05-30 Robert Millan <rmh@aybabtu.com>
25359
25360 * commands/search.c (options): Add --fs_uuid option.
25361 (search_fs_uuid): New function.
25362 (grub_cmd_search): Fix --set argument passing.
25363 Use search_fs_uuid() when requested via --fs_uuid.
25364 (grub_search_init): Update help message.
25365 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
25366 and redeclare it as an array of 16-bit words.
25367 (grub_ext2_uuid): New function.
25368 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
25369 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
25370 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
25371 (GRUB_DEVICE_BOOT_UUID): New variables.
25372 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
25373 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
25374 whenever possible.
25375 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
25376 just assume `root' variable has the right value.
25377 * util/grub.d/10_linux.in: Likewise.
25378 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
25379 via PRINT_FS_UUID.
25380 (main): Recognise `-t fs_uuid' argument.
25381
01b73ec8 253822008-05-30 Robert Millan <rmh@aybabtu.com>
25383
25384 * util/biosdisk.c (map): Redefine structure to hold information
25385 about GRUB drive name.
fe6b695a 25386 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 25387 drive names.
25388 (call_hook): Remove.
25389 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
25390 member. Assume drive has partitions.
25391 (grub_util_biosdisk_open): Access device names via `.device' struct
25392 member.
25393 (open_device): Likewise.
25394 (find_drive): Likewise.
25395 (read_device_map): Adjust map[] usage to match the new struct
25396 definition. Don't check for duplicates (still possible, but not cheap
25397 anymore).
25398 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
25399 (make_device_name): Remove assumption of BIOS-like drive names.
25400
22f16596 254012008-05-30 Pavel Roskin <proski@gnu.org>
25402
25403 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
25404 compiling execute.c doesn't need grub_script.tab.h anymore.
25405 (normal/command.c_DEPENDENCIES): Likewise.
25406 (normal/function.c_DEPENDENCIES): Likewise.
25407 * conf/i386-ieee1275.rmk: Likewise.
25408 * conf/i386-linuxbios.rmk: Likewise.
25409 * conf/i386-pc.rmk: Likewise.
25410 * conf/powerpc-ieee1275.rmk: Likewise.
25411 * conf/sparc64-ieee1275.rmk: Likewise.
25412
528ad8f2 254132008-05-29 Pavel Roskin <proski@gnu.org>
25414
d1dff95d 25415 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
25416 when scanning metadata for volume group name.
25417
528ad8f2 25418 * include/grub/script.h: Don't include grub_script.tab.h. It's
25419 a generated file, which may only be included from the files with
25420 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
25421 use union YYSTYPE, as the later allows forward declaration.
25422 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
25423
47248e08 254242008-05-29 Robert Millan <rmh@aybabtu.com>
25425
25426 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
25427 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
25428 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
25429 (grub_console_checkkey): Add grub_dprintf() call to report unknown
25430 scan codes.
25431
ee632529 254322008-05-29 Robert Millan <rmh@aybabtu.com>
25433
25434 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
25435 control key combinations.
25436
eee96e08 254372008-05-29 Robert Millan <rmh@aybabtu.com>
25438
25439 * util/powerpc/ieee1275/grub-install.in: Move from here ...
25440 * util/ieee1275/grub-install.in: ... to here.
25441 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
25442 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
25443 (grub_install_SOURCES): Likewise.
25444
da9a6a94 254452008-05-29 Robert Millan <rmh@aybabtu.com>
25446
25447 * fs/affs.c: Update copyright year.
25448 * fs/ext2.c: Likewise.
25449 * fs/fshelp.c: Likewise.
25450 * fs/hfsplus.c: Likewise.
25451 * fs/ntfs.c: Likewise.
25452 * fs/xfs.c: Likewise.
25453 * include/grub/fshelp.h: Likewise.
25454 * util/grub-mkdevicemap.c: Likewise.
25455
12e65f3a 254562008-05-28 Robert Millan <rmh@aybabtu.com>
25457
25458 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
25459 might need to be fatfs to support some firmware implementations
25460 (e.g. OFW or EFI).
25461
23023641 254622008-05-28 Robert Millan <rmh@aybabtu.com>
25463
25464 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
25465 devices.
25466 * util/grub-mkdevicemap.c (get_mmc_disk_name)
25467 (make_device_map): Likewise.
25468
887d2619 254692008-05-20 Bean <bean123ch@gmail.com>
25470
25471 * fs/fshelp.c (grub_fshelp_map_block): New function.
25472 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
25473 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
25474
25475 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
25476 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
25477 (grub_fshelp_journal): New structure.
25478 (grub_fshelp_map_block): New function prototype.
25479 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
25480 (grub_fshelp_map_block): Likewise.
25481
25482 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
25483 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
25484 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
25485 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
25486 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
25487 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
25488 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
25489 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
25490 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
25491 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
25492 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
25493 (grub_ext2_sblock): New members for journal support.
25494 (grub_ext3_journal_header): New structure.
25495 (grub_ext3_journal_revoke_header): Likewise.
25496 (grub_ext3_journal_block_tag): Likewise.
25497 (grub_ext3_journal_sblock): Likewise.
25498 (grub_fshelp_node): New members logfile and journal.
25499 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
25500 grub_fshelp_map_block to get real block number.
25501 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
25502 number.
25503 (grub_ext2_read_inode): Likewise.
25504 (grub_ext3_get_journal): New function.
25505 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
25506 (grub_ext2_close): Release memory used by journal.
25507
25508 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
25509 (REISERFS_MAGIC_DESC_BLOCK): New macro.
25510 (grub_reiserfs_transaction_header): Renamed to
25511 grub_reiserfs_description_block, replace field data with real_blocks.
25512 (grub_reiserfs_commit_block): New structure.
25513 (grub_reiserfs_data): New member journal.
25514 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
25515 number.
25516 (grub_reiserfs_read_symlink): Likewise.
25517 (grub_reiserfs_iterate_dir): Likewise.
25518 (grub_reiserfs_open): Likewise.
25519 (grub_reiserfs_read): Likewise.
25520 (grub_reiserfs_get_journal): New function.
25521 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
25522 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
25523 using grub_reiserfs_get_journal.
25524 (grub_reiserfs_close): Release memory used by journal.
25525
25526 * fs/affs.c (grub_affs_read_block): Change block type to
25527 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
25528
25529 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
25530
25531 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
25532
25533 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
25534
25535 * fs/udf.c (grub_udf_read_block): Change block type to
25536 grub_disk_addr_t. Use type cast to avoid warning.
25537
25538 * fs/xfs.c (grub_xfs_read_block): Likewise.
25539
b7c6bed5 255402008-05-16 Christian Franke <franke@computer.org>
25541
25542 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
25543 to ensure that break with ESC will always work.
25544 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
25545 Remove ESC from keyboard queue.
25546
eedf167f 255472008-05-16 Christian Franke <franke@computer.org>
25548
25549 * util/biosdisk.c: [__CYGWIN__] Add includes.
25550 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
25551 (get_os_disk): Move variable declarations to OS specific
25552 parts to avoid warning.
25553 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
25554 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
25555 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
25556 Cygwin.
25557 * util/getroot.c: [__CYGWIN__] Add includes.
25558 (strip_extra_slashes): Fix "/" case.
25559 [__CYGWIN__] (get_win32_path): New function.
25560 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
25561 [__CYGWIN__] (find_root_device): Disable.
25562 [__CYGWIN__] (get_bootsec_serial): New function.
25563 [__CYGWIN__] (find_cygwin_root_device): Likewise.
25564 [__linux__] (grub_guess_root_device): Add early returns to simplify
25565 structure.
25566 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
25567 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
25568 check for Linux only.
25569
a079699e 255702008-05-15 Bean <bean123ch@gmail.com>
25571
25572 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
25573 keyboard hang problem in apple's intel mac.
25574
1cf4059a 255752008-05-09 Robert Millan <rmh@aybabtu.com>
25576
25577 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
25578 devices.
25579 * util/grub-mkdevicemap.c (get_virtio_disk_name)
25580 (make_device_map): Likewise.
25581 Reported by Aurelien Jarno <aurel32@debian.org>
25582
ed759390 255832008-05-07 Ian Campbell <ijc@hellion.org.uk>
25584
25585 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
25586 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
25587 (make_device_map): Output entries for xvd type disks.
25588
b56c4eaa 255892008-05-07 Robert Millan <rmh@aybabtu.com>
25590
25591 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
25592 devices.
25593 * util/grub-mkdevicemap.c (get_cciss_disk_name)
25594 (make_device_map): Likewise.
25595 Reported by Roland Dreier <rdreier@cisco.com>
25596
7f8866ed 255972008-05-07 Robert Millan <rmh@aybabtu.com>
25598
25599 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
25600 grub_strstr() call. Correct a few mistakes in failure path handling.
25601
b0346e0f 256022008-05-06 Robert Millan <rmh@aybabtu.com>
25603
25604 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
25605 Do not print a trailing slash (therefore, the root directory is an
25606 empty string).
25607 (convert_system_path_to_grub_path): Do not remove trailing slash
25608 from make_system_path_relative_to_its_root() output.
25609
25610 * util/i386/pc/grub-install.in: Add trailing slash to output from
25611 make_system_path_relative_to_its_root().
25612
6cf12cbd 256132008-05-06 Robert Millan <rmh@aybabtu.com>
25614
25615 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
25616 ensures that output lines aren't intermangled with those sent to
25617 stderr (via grub_util_info()).
25618 * util/grub-probe.c (grub_refresh): Likewise.
25619 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
25620
0fbb3117 256212008-05-05 Christian Franke <franke@computer.org>
25622
25623 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
25624 Add Cygwin device names.
25625 (get_ide_disk_name) [__CYGWIN__]: Likewise.
25626 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
25627 (check_device): Return error instead of success on empty name.
25628 (make_device_map): Move label inside linux specific code to
25629 prevent compiler warning.
25630
8124cdb7 256312008-04-30 Robert Millan <rmh@aybabtu.com>
25632
25633 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
25634 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
25635 first boot option.
25636 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
25637
094c01d0 256382008-04-29 Robert Millan <rmh@aybabtu.com>
25639
25640 * docs/grub.cfg: New file (example GRUB configuration).
25641
f4b1fc02 256422008-04-26 Robert Millan <rmh@aybabtu.com>
25643
329ce2a5 25644 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
25645 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
25646 and `disk/ieee1275/nand.c'.
f4b1fc02 25647
25f16ec1 256482008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 25649
25f16ec1 25650 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
25651 i386-linuxbios.
25652
25653 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
25654 change the buffer size to 4096 for cdrom device.
25655
25656 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
25657 and nand.mod.
25658 (_linux_mod_SOURCES): New variable.
25659 (_linux_mod_CFLAGS): Likewise.
25660 (_linux_mod_LDFLAGS): Likewise.
25661 (linux_mod_SOURCES): Likewise.
25662 (linux_mod_CFLAGS): Likewise.
25663 (linux_mod_LDFLAGS): Likewise.
25664 (nand_mod_SOURCES): Likewise.
25665 (nand_mod_CFLAGS): Likewise.
25666 (nand_mod_LDFLAGS): Likewise.
25667
25668 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
25669 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
25670 type property. (nand device in olpc don't have this property)
25671
25672 * include/grub/disk.h (grub_disk_dev_id): New macro
25673 GRUB_DISK_DEVICE_NAND_ID.
25674
25675 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
25676 function prototype.
25677 (grub_rescue_cmd_initrd): Likewise.
25678
25679 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
25680 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
25681 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 25682
25f16ec1 25683 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
25684 GRUB_MACHINE_IEEE1275 is defined.
25685
25686 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
25687 Use NESTED_FUNC_ATTR attribute on the hook parameter.
25688
25689 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
25690 on nested function heap_init.
25691 (grub_upper_mem): New variable for i386-ieee1275.
25692 (grub_get_extended_memory): New function for i386-ieee1275.
25693 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
25694
25695 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
25696 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
25697 property.
f19dbdb7 25698
25f16ec1 25699 * loader/i386/ieee1275/linux.c: New file.
25700
25701 * loader/i386/ieee1275/linux_normal.c: New file.
25702
25703 * disk/ieee1275/nand.c: New file.
25704
e89d61e9 257052008-04-18 Thomas Schwinge <tschwinge@gnu.org>
25706
25707 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
25708 value.
25709 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
25710
602566f6 257112008-04-18 Robert Millan <rmh@aybabtu.com>
25712
25713 Restructures early code path on ieee1275 to unify grub_main() as
25714 the first C function that is executed in every platform.
25715
25716 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
25717 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
25718 cmain().
25719 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
25720 * kern/ieee1275/cmain.c (cmain): Rename to ...
25721 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
25722 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
25723 at the beginning.
25724
57490c2b 257252008-04-18 Robert Millan <rmh@aybabtu.com>
25726
25727 * util/update-grub.in: Fix syntax error when setting
25728 `GRUB_PRELOAD_MODULES'.
25729 Reported by Stephane Chazelas <stephane@artesyncp.com>
25730
1977517d 257312008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
25732
25733 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
25734 section into account, newer toolchains generate unique build ids
25735 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 25736 we want build ids to be preserved
1977517d 25737 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
25738 far from other sections don't cause the raw binary images grow
25739 size
25740
bfb1f1a2 257412008-04-15 Robert Millan <rmh@aybabtu.com>
25742
25743 * disk/lvm.c: Update copyright year.
25744 * kern/misc.c: Likewise.
25745
01979850 257462008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
25747
25748 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 25749 there is no memory left for physical volume name.
01979850 25750
0a1150e2 257512008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
25752
25753 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
25754 volume name mapping to support bigger than 9 character names properly.
25755
82ead3fe 257562008-04-13 Robert Millan <rmh@aybabtu.com>
25757
25758 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
25759 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
25760
e54a72f5 257612008-04-13 Christian Franke <franke@computer.org>
25762
25763 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
25764 to create a floppy emulation boot CD when non emulation mode
25765 does not work.
25766 Enable Joliet CD filesystem extension.
25767
9fe86034 257682008-04-13 Robert Millan <rmh@aybabtu.com>
25769
25770 * kern/misc.c (grub_strncat): Fix off-by-one error.
25771 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
25772
25773 * kern/env.c (grub_env_context_close): Clear current context, not
25774 previous one.
25775 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
25776
25777 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
25778
7ceeee39 257792008-04-13 Robert Millan <rmh@aybabtu.com>
25780
25781 Improve robustness when handling LVM.
25782
25783 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 25784 (and leave `*p' unmodified).
7ceeee39 25785 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
25786 through it.
25787 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
25788 iterating through it.
25789 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
25790 through it.
fe6b695a 25791 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 25792 when due) on each grub_lvm_getvalue() or grub_strstr() call.
25793 Don't assume `vg->pvs != NULL' when iterating through it.
25794
58cd3d85 257952008-04-13 Robert Millan <rmh@aybabtu.com>
25796
25797 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
25798 * genmk.rb (partmap): New variable.
25799 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
25800 (#{partmap}): New target rule.
25801 * genpartmaplist.sh: New file.
25802 * Makefile.in (pkglib_DATA): Add partmap.lst.
25803 (partmap.lst): New target rule.
25804 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
25805 modules (including all partition maps), instead of preloading them.
25806
78b51059 258072007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
25808
25809 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
25810 `linux-boot-prober' (if installed) to detect other operating
25811 systems which are installed on the computer and add them to
25812 the boot menu.
25813 * conf/common.rmk: Build and install 30_os-prober.
25814
a91627b4 258152008-04-12 Robert Millan <rmh@aybabtu.com>
25816
25817 * kern/powerpc/ieee1275/init.c: Move from here ...
25818 * kern/ieee1275/init.c: ... to here. Update all users.
25819
25820 * kern/powerpc/ieee1275/cmain.c: Move from here ...
25821 * kern/ieee1275/cmain.c: ... to here. Update all users.
25822
25823 * kern/powerpc/ieee1275/openfw.c: Move from here ...
25824 * kern/ieee1275/openfw.c: ... to here. Update all users.
25825
25826 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
25827 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
25828
322562ea 258292008-04-10 Pavel Roskin <proski@gnu.org>
25830
25831 * configure.ac: Always use "_cv_" in cache variables for
25832 compatibility with Autoconf 2.62.
25833
a02a73c5 258342008-04-07 Robert Millan <rmh@aybabtu.com>
25835
25836 Revert grub/machine/init.h addition by Pavel (since it breaks on
25837 i386-ieee1275 and others):
25838 * util/i386/pc/misc.c: Remove grub/machine/init.h.
25839 * util/powerpc/ieee1275/misc.c: Likewise.
25840
25c024b1 258412008-04-07 Robert Millan <rmh@aybabtu.com>
25842
25843 * util/grub-probe.c (probe): Improve error message.
25844
3cbd2f98 258452008-04-07 Robert Millan <rmh@aybabtu.com>
25846
25847 * util/biosdisk.c (read_device_map): Skip devices that don't exist
25848 (this prevents the presence of a bogus entry from ruining the whole
25849 thing).
25850
87a297bf 258512008-04-06 Pavel Roskin <proski@gnu.org>
25852
36747a62 25853 * util/biosdisk.c: Include grub/util/biosdisk.h.
25854 * util/grub-fstest.c (execute_command): Make static.
25855 * util/grub-mkdevicemap.c (check_device): Likewise.
25856 * util/i386/pc/misc.c: Include grub/machine/init.h.
25857 * util/powerpc/ieee1275/misc.c: Likewise.
25858 * util/lvm.c: Include grub/util/lvm.h.
25859 * util/misc.c: Include grub/kernel.h, grub/misc.h and
25860 grub/cache.h.
25861 * util/raid.c: Include grub/util/raid.h.
25862 (grub_util_getdiskname): Make static.
25863
87a297bf 25864 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
25865 grub_hostfs_fini(), as they are called from grub_init_all() and
25866 grub_fini_all() respectively. This fixes an infinite loop in
25867 grub-fstest due to double registration of hostfs.
25868 Reported by Christian Franke <Christian.Franke@t-online.de>
25869
f6ce7629 258702008-04-05 Pavel Roskin <proski@gnu.org>
25871
25872 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
25873 all 8 functions. Otherwise, probe function 0 only.
25874
070e49e4 258752008-04-04 Pavel Roskin <proski@gnu.org>
25876
8b088a4c 25877 * commands/lspci.c (grub_lspci_iter): Print the bus number
25878 correctly.
25879
4f657021 25880 * commands/lspci.c (grub_pci_classes): Fix typos.
25881 (grub_lspci_iter): Don't print func twice. Print vendor ID
25882 before device ID, as it's normally done.
25883
070e49e4 25884 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
25885 Fix signedness warnings.
25886 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
25887 Likewise.
25888 * util/ieee1275/get_disk_name.c: Include config.h so that
25889 _GNU_SOURCE is defined and getline() is declared. Mark an
25890 unused argument as such. Fix a signedness warning.
25891
ba7328dc 258922008-04-02 Pavel Roskin <proski@gnu.org>
25893
26887f22 25894 * genkernsyms.sh.in: Use more robust assignments for CC and
25895 srcdir. Quote srcdir.
25896 * gensymlist.sh.in: Likewise. Assert at the compile time that
25897 the symbol table is not empty.
25898
ba7328dc 25899 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
25900 * fs/cpio.c (grub_cpio_read): Likewise.
25901
0f582c6b 259022008-04-01 Pavel Roskin <proski@gnu.org>
25903
4b6e1995 25904 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
25905 * disk/host.c (grub_host_open): Likewise.
25906 * disk/loopback.c (grub_loopback_open): Likewise.
25907 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
25908 disk->id as in disk/host.c, not a multi-character constant.
25909
828a2768 25910 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
25911 later is obsolete, potentially dangerous and sets a bad example.
25912 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
25913 * util/misc.c (grub_util_get_image_size): Likewise.
25914
2bb4fb47 25915 * disk/loopback.c (options): Improve help for "--partitions".
25916
0f582c6b 25917 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
25918 options to align them with the short options, e.g. "echo -e".
25919
a33224e0 259202008-03-31 Bean <bean123ch@gmail.com>
25921
25922 * video/reader/png.c (grub_png_data): New member is_16bit and
25923 image_data.
25924 (grub_png_decode_image_header): Detect 16 bit png image.
25925 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
25926 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
25927 (grub_video_reader_png): Release memory occupied by image_data.
25928
25929 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
25930 4096 bytes.
25931 (grub_nfs_mount): Skip the test for sector per cluster.
25932
25933 * include/grub/ntfs.h (MAX_SPC): Removed.
25934
86cb4f54 259352008-03-31 Bean <bean123ch@gmail.com>
25936
25937 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
25938 (grub_probe_SOURCES): Add fs/afs.c.
25939 (grub_fstest_SOURCES): Likewise.
25940 (afs_mod_SOURCES): New variable.
25941 (afs_mod_CFLAGS): Likewise.
25942 (afs_mod_LDFLAGS): Likewise.
25943
25944 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
25945 (grub_emu_SOURCES): Likewise.
25946
25947 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25948
25949 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25950
25951 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25952
25953 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25954
25955 * fs/afs.c: New file.
25956
17c74c21 259572008-03-30 Pavel Roskin <proski@gnu.org>
25958
4cb68e89 25959 * disk/host.c: Include grub/misc.h to fix a warning.
25960 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
25961 warnings about implicit declarations.
25962
8790bb04 25963 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
25964 variable.
25965 * include/grub/i386/loader.h: Change declaration of
25966 grub_linux_boot() to match what grub_loader_set() expects.
25967 * util/getroot.c (grub_guess_root_device): Return const char* to
25968 fix a warning.
25969 * util/grub-probe.c (probe): Fix a warning about uninitialized
25970 abstraction_name variable.
25971 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
25972 second argument as unused to fix a warning.
25973
9a3f3296 25974 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
25975 missing grub_error() call.
25976
0ecef90d 25977 * util/update-grub_lib.in: Define datarootdir, since Autoconf
25978 2.60 and newer uses it to define datadir.
25979
0bf6d401 25980 * commands/sleep.c: Fix warning about implicit declaration.
25981 * disk/memdisk.c: Likewise.
25982 * loader/aout.c: Likewise.
25983 * loader/i386/bsd_normal.c: Likewise.
25984 * util/grub-probe.c: Likewise.
25985
7cdacf97 25986 * commands/i386/cpuid.c (has_longmode): Make static.
25987 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
25988 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
25989
17c74c21 25990 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
25991 GDT. This is more robust, as %ds can change.
25992 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
25993 calling real_to_prot().
25994 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
25995
80a3e68b 259962008-03-28 Pavel Roskin <proski@gnu.org>
25997
25998 * kern/i386/pc/startup.S: Assert that uncompressed functions
25999 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
26000 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
26001 code, as they push parts of the code (error handlers) beyond
26002 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
26003 code as correctness and size.
26004
77bcd272 260052008-03-28 Pavel Roskin <proski@gnu.org>
26006
26007 * kern/i386/pc/startup.S
26008 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
26009 data block address to the real mode, keep offset minimal. This
26010 works around a bug in AWARD BIOS on old Athlon systems, which
26011 makes CD detection hang.
26012
c5dfd43b 260132008-03-26 Pavel Roskin <proski@gnu.org>
26014
26015 * normal/color.c (grub_parse_color_name_pair): Make `name' a
26016 const.
26017 * include/grub/normal.h: Add grub_parse_color_name_pair()
26018 declaration.
26019
bf962df2 260202008-03-24 Bean <bean123ch@gmail.com>
26021
26022 * disk/i386/pc/biosdisk.c (cd_start): Removed.
26023 (cd_count): Removed.
26024 (cd_drive): New variable.
26025 (grub_biosdisk_get_drive): Don't check for (cdN) device.
26026 (grub_biosdisk_call_hook): Likewise.
26027 (grub_biosdisk_iterate): Change cdrom detection method.
26028 (grub_biosdisk_open): Replace cd_start with cd_drive.
26029 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
26030 detect cdrom device.
26031
26032 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
26033 Removed.
26034 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
26035 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
26036 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
26037 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
26038 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
26039 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
26040 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
26041 (grub_biosdisk_cdrp): New structure.
26042 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
26043
26044 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
26045
26046 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
26047 device.
26048
26049 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
26050 New function.
26051
68e7fc7a 260522008-03-20 Robert Millan <rmh@aybabtu.com>
26053
26054 Remove 2 TiB limit in ata.mod.
26055 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
26056 (grub_ata_dumpinfo): Print sector count with 0x%llx.
26057 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
26058 grub_uint64_t instead of grub_uint32_t.
26059
38ad2cf5 260602008-03-05 Bean <bean123ch@gmail.com>
26061
26062 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
26063 (grub_multiboot): Set boot device.
26064
26065 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
26066
2b89344e 260672008-03-02 Bean <bean123ch@gmail.com>
26068
26069 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
26070 symlink_buffer.
26071
87a95d1f 260722008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
26073
26074 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
26075 texinfo.tex.
26076
26077 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
26078 modified.
26079
26080 * docs/fdl.texi: New file.
f19dbdb7 26081
87a95d1f 26082 * docs/mdate-sh: New file. Copied from gnulib.
26083 * docs/texinfo.tex: Likewise.
26084
26085 * config.guess: Updated from gnulib.
26086 * install-sh: Likewise.
26087
7dc15d8e 260882008-02-28 Robert Millan <rmh@aybabtu.com>
26089
26090 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
26091 (aout_mod_SOURCES): New variable.
26092 (aout_mod_CFLAGS): Likewise.
26093 (aout_mod_LDFLAGS): Likewise.
26094
26095 * conf/i386-ieee1275.rmk: Likewise.
26096
b00ab696 260972008-02-28 Robert Millan <rmh@aybabtu.com>
26098
26099 * util/update-grub.in: Reorganise terminal validity check. Accept
26100 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
26101 Based on suggestion by Franklin PIAT.
26102
79ca2d78 261032008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
26104
26105 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
26106 function.
26107 * util/getroot.c (grub_util_check_block_device): New function that
26108 returns the given argument if it is a block device and returns NULL else.
26109 * util/grub-probe.c (argument_is_device): New variable.
26110 (probe): Promote device_name from a variable to an argument. Receive
26111 device_name from grub_util_check_block_device() if path is NULL and from
26112 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 26113 (options): Introduce new parameter '-d, --device'.
79ca2d78 26114 (main): Add description of the new parameter to the help screen.
26115 Rename path variable to argument. Set argument_is_device if the '-d'
26116 option is given. Pass argument to probe() depending on
26117 argument_is_device.
26118
0d16e571 261192008-02-24 Bean <bean123ch@gmail.com>
26120
26121 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
26122 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
26123 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
26124 (GRUB_ISO9660_VOLDESC_PART): Likewise.
26125 (GRUB_ISO9660_VOLDESC_END): Likewise.
26126 (grub_iso9660_primary_voldesc): New member escape.
26127 (grub_iso9660_data): New member joliet.
26128 (grub_iso9660_convert_string): New function.
26129 (grub_iso9660_mount): Detect joliet extension.
26130 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
26131 (grub_iso9660_iso9660_label): Likewise.
26132
26133 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
26134 (grub_setup_SOURCES): Add fs/udf.c.
26135 (grub_fstest_SOURCES): Likewise.
26136 (udf_mod_SOURCES): New variable.
26137 (udf_mod_CFLAGS): Likewise.
26138 (udf_mod_LDFLAGS): Likewise.
26139
26140 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
26141 (grub_emu_SOURCES): Likewise.
26142
26143 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26144
26145 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26146
26147 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26148
26149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26150
26151 * fs/udf.c: New file.
26152
8a594a17 261532008-02-24 Robert Millan <rmh@aybabtu.com>
26154
26155 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
26156 (normal/lexer.c_DEPENDENCIES): New variables.
26157 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
26158 (normal/lexer.c_DEPENDENCIES): Likewise.
26159 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
26160 (normal/lexer.c_DEPENDENCIES): Likewise.
26161 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
26162 (normal/lexer.c_DEPENDENCIES): Likewise.
26163 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
26164 (normal/lexer.c_DEPENDENCIES): Likewise.
26165 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
26166 (normal/lexer.c_DEPENDENCIES): Likewise.
26167
2dc33c03 261682008-02-23 Robert Millan <rmh@aybabtu.com>
26169
26170 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
26171 since they were intended to be in hex. This didn't break previously
26172 because of a bug in gpt_partition_map_iterate() (see below).
26173
26174 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
26175 when checking the validity of GPT header.
26176 Remove `partno', since it always provides the same information as `i'.
26177
f6f4cfb0 261782008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
26179
26180 * include/grub/efi/time.h: Fix a wrong comment.
26181
79ff665f 261822008-02-19 Pavel Roskin <proski@gnu.org>
26183
26184 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
26185 message.
26186
d38e24c2 261872008-02-19 Bean <bean123ch@gmail.com>
26188
26189 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
26190 (aout_mod_SOURCES): New variable.
26191 (aout_mod_CFLAGS): Likewise.
26192 (aout_mod_LDFLAGS): Likewise.
26193 (_bsd_mod_SOURCES): New variable.
26194 (_bsd_mod_CFLAGS): Likewise.
26195 (_bsd_mod_LDFLAGS): Likewise.
26196 (bsd_mod_SOURCES): New variable.
26197 (bsd_mod_CFLAGS): Likewise.
26198 (bsd_mod_LDFLAGS): Likewise.
26199
26200 * include/grub/aout.h: New file.
26201
26202 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
26203
26204 * include/grub/i386/bsd.h: New file.
26205
26206 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
26207 to make it public.
26208
26209 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
26210 function is called, so that it's possible to change it inside the hook.
26211 (grub_elf64_load): Likewise.
26212 (grub_elf_file): Don't close the file if elf header is not found.
26213 (grub_elf_close): Close the file if grub_elf_file fails (The new
26214 grub_elf_file won't close it).
26215 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
26216 (grub_elf64_size): Likewise.
26217
26218 * kern/i386/loader.S (grub_unix_real_boot): New function.
26219
26220 * loader/aout.c: New file.
26221
26222 * loader/i386/bsd.c: New file.
26223
26224 * loader/i386/bsd_normal.c: New file.
26225
26226 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
26227
26228 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 26229 can test other formats.
d38e24c2 26230
b93bdb0f 262312008-02-19 Robert Millan <rmh@aybabtu.com>
26232
26233 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
26234 (grub_gpt_partition_type_empty): Redefine with macro from
26235 `<grub/gpt_partition.h>'.
26236 (gpt_partition_map_iterate): Adjust partition type comparison.
26237
26238 Export `entry' as partmap-specific `part.data' struct.
26239 (grub_gpt_header, grub_gpt_partentry): Move from here ...
26240
26241 * include/grub/gpt_partition.h (grub_gpt_header)
26242 (grub_gpt_partentry): ... to here (new file).
26243
26244 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
26245
26246 (grub_gpt_partition_type_bios_boot): New const variable, defined
26247 with macro from `<grub/gpt_partition.h>'.
26248
26249 (setup): Replace `first_start' with `embed_region', which keeps
26250 track of the embed region (and is partmap-agnostic).
26251
26252 Replace find_first_partition_start() with find_usable_region(),
26253 which finds a usable region for embedding using partmap-specific
26254 knowledge (supports PC/MSDOS and GPT).
26255
26256 Fix all assumptions that the embed region start at sector 1, using
26257 `embed_region.start' from now on. Similarly, use `embed_region.end'
26258 rather than `first_start' to calculate available size.
26259
26260 In grub_util_info() message, replace "into after the MBR" with an
26261 indication of the specific sector our embed region starts at.
26262
66cb40f6 262632008-02-19 Robert Millan <rmh@aybabtu.com>
26264
26265 * DISTLIST: Replace `commands/ieee1275/halt.c' and
26266 `commands/ieee1275/reboot.c' with `commands/halt.c' and
26267 `commands/reboot.c'.
26268 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
26269 (halt_mod_SOURCES): Likewise.
26270 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
26271 (halt_mod_SOURCES): Likewise.
26272
b7202015 262732008-02-17 Christian Franke <franke@computer.org>
26274
26275 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
26276
32b0fc49 262772008-02-17 Robert Millan <rmh@aybabtu.com>
26278
26279 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
26280 set `first_start' to 0 for non-PC/MSDOS partition maps.
26281
aca63502 262822008-02-16 Robert Millan <rmh@aybabtu.com>
26283
26284 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
26285 do not assume partition map is PC/MSDOS before performing checks that
26286 are specific to that layout.
26287
0de8be86 262882008-02-13 Robert Millan <rmh@aybabtu.com>
26289
26290 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
26291 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
26292 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
26293
c3db8364 262942008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
26295
26296 * configure.ac: Only a cosmetic change on the handling of
26297 -fno-stack-protector.
26298
f714229e 262992008-02-12 Alexandre Boeglin <alex@boeglin.org>
26300
c3db8364 26301 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
26302 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
26303 reboot.c.
f714229e 26304 (grub_install_SOURCES): Add halt.mod and reboot.mod.
26305 (halt_mod_SOURCES): New variable.
26306 (halt_mod_CFLAGS): Likewise.
26307 (halt_mod_LDFLAGS): Likewise.
26308 (reboot_mod_SOURCES): Likewise.
26309 (reboot_mod_CFLAGS): Likewise.
26310 (reboot_mod_LDFLAGS): Likewise.
26311
c3db8364 26312 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
26313 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
26314 reboot.c.
f714229e 26315 (halt_mod_SOURCES): Likewise.
26316 (reboot_mod_SOURCES): Likewise.
26317
c3db8364 26318 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
26319 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 26320 (reboot_mod_SOURCES): Likewise.
26321
26322 * commands/i386/pc/reboot.c: merge this file ...
26323
26324 * commands/ieee1275/reboot.c: ... and this file ...
26325
26326 * commands/reboot.c: ... to this file.
c3db8364 26327 Add some precompiler directive to include the correct header for
26328 each machine.
f714229e 26329
26330 * commands/ieee1275/halt.c: move this file ...
26331
26332 * commands/halt.c: ... to here.
c3db8364 26333 Add some precompiler directive to include the correct header for
26334 each machine.
f714229e 26335
26336 * include/grub/efi/efi.h (grub_reboot): New function declaration.
26337 (grub_halt): Likewise.
26338
26339 * kern/efi/efi.c (grub_reboot): New function.
26340 (grub_halt): Likewise.
26341
c74493e0 263422008-02-12 Robert Millan <rmh@aybabtu.com>
26343
26344 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
26345 /dev (like it is done for /dev/mapper). This doesn't provide support
26346 for EVMS, but at least it is now easy to identify the problem when it
26347 arises.
26348
d0db4b04 263492008-02-11 Robert Millan <rmh@aybabtu.com>
26350
26351 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
26352 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
26353 comparing it with -1, not 0.
26354
bf748642 263552008-02-10 Robert Millan <rmh@aybabtu.com>
26356
26357 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
26358 `disk/lvm.c'.
26359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26360 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26361
26362 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
26363 `disk/lvm.c' to the end of the list.
26364 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26365 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26366
b5db202a 263672008-02-10 Robert Millan <rmh@aybabtu.com>
26368
26369 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
26370 grub_print_error() instead. This will let user know why we're entering
26371 rescue mode.
26372 Based on suggestions from Sam Morris.
26373
83abee31 263742008-02-10 Alexandre Boeglin <alex@boeglin.org>
26375
26376 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
26377 on remaining N args, instead of "--" arg N times.
26378
78d5a08b 263792008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
26380
26381 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
26382 (fill_with_default_glyph): Changed to use unknown_glyph for fill
26383 pattern for unknown glyphs.
26384
68807e5f 263852008-02-09 Robert Millan <rmh@aybabtu.com>
26386
26387 * configure.ac: Probe for `help2man'.
26388 * Makefile.in (builddir): New variable.
26389 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
26390 or otherwise add a few flags/options to it.
26391 (install-local): For every executable utility or script that is
26392 installed, invoke $(HELP2MAN) to install a manpage based on --help
26393 output.
26394
26395 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
26396 that it doesn't prevent --help from working in build tree.
26397
26398 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
26399 with `bug-grub@gnu.org'.
26400 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
26401 * util/update-grub.in (usage): New function.
26402 Implement proper argument check, with support for --help and --version
26403 (as well as existing -y).
26404
264052008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 26406
26407 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
26408 avoid overwriting previous output.
26409 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
26410
c1962162 264112008-02-09 Robert Millan <rmh@aybabtu.com>
26412
26413 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
26414 drawing the menu.
26415
3dac2e3f 264162008-02-09 Robert Millan <rmh@aybabtu.com>
26417
26418 * commands/sleep.c: New file.
26419 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
26420 (sleep_mod_SOURCES): New variable.
26421 (sleep_mod_CFLAGS): Likewise.
26422 (sleep_mod_LDFLAGS): Likewise.
26423
7a634e08 264242008-02-09 Robert Millan <rmh@aybabtu.com>
26425
26426 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
26427 situations in which we can deduce the RAID size and the superblock
26428 doesn't match it.
26429
b92f0c18 264302008-02-09 Robert Millan <rmh@aybabtu.com>
26431
26432 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
26433 and return a grub_diskmemberlist_t composed of LVM physical volumes.
26434 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
26435
26436 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
26437 and return a grub_diskmemberlist_t composed of physical array members.
26438 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
26439
26440 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
26441 prototype.
26442 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
26443 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
26444 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
26445
26446 * util/grub-probe.c (probe): Move partmap probing code from here ...
26447 (probe_partmap): ... to here.
26448 (probe): Use probe_partmap() once for the disk we're probing, and
26449 additionally, when such disk contains a memberlist() struct member,
26450 once for each disk that is contained in the structure returned by
26451 memberlist().
26452
91a4bf68 264532008-02-09 Robert Millan <rmh@aybabtu.com>
26454
26455 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
26456 environment variable to 'all' in order to obtain debug output from
26457 non-util/ code.
26458 * util/i386/pc/grub-setup.c (main): Likewise.
26459
a96f9caa 264602008-02-08 Robert Millan <rmh@aybabtu.com>
26461
26462 * disk/raid.c (grub_raid_scan_device): Check for
26463 `array->device[sb.this_disk.number]' rather than for
26464 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 26465 guaranteed to be accessible.
a96f9caa 26466
b37a9222 264672008-02-08 Robert Millan <rmh@aybabtu.com>
26468
26469 * disk/raid.c: Update copyright.
26470 * fs/cpio.c: Likewise.
26471 * include/grub/raid.h: Likewise.
26472 * loader/i386/pc/multiboot.c: Likewise.
26473 * util/hostfs.c: Likewise.
26474
5626aee1 264752008-02-08 Robert Millan <rmh@aybabtu.com>
26476
26477 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
26478 to a grub_disk_t array.
26479 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
26480 `device[x]'.
26481 (grub_raid_scan_device): Replace `device[x].name' accesses with
26482 `device[x]->name'. Simplify initialization of `array->device[x]'.
26483
554f0187 264842008-02-08 Robert Millan <rmh@aybabtu.com>
26485
26486 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
26487 grub_dprintf() calls.
26488 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
26489 error message.
26490
1ec8425d 264912008-02-07 Christian Franke <franke@computer.org>
26492
26493 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
26494 instead of fseek and ftell to support large files.
26495 (grub_hostfs_read): Likewise.
26496
f2156fda 264972008-02-07 Robert Millan <rmh@aybabtu.com>
26498
26499 Patch from Jeroen Dekkers.
26500 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 26501 failure, since successfully reading all array members might not be
f2156fda 26502 required.
26503
9216e0e7 265042008-02-06 Robert Millan <rmh@aybabtu.com>
26505
26506 * util/grub-probe.c (probe): Simplify partmap probing (with the
26507 assumption that the first word up to the underscore equals to
26508 the module name).
26509
b0dfd29a 265102008-02-06 Christian Franke <franke@computer.org>
26511
26512 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
26513 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
26514 last block of a cpio or tar stream.
26515 Check for "TRAILER!!!" instead of any empty data
26516 block to detect last block of a cpio stream.
26517 (grub_cpio_dir): Fix constness of variable np.
26518 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
26519 cpio or tar trailer is detected. This fixes a crash
26520 on open of a non existing file.
26521
c32865bf 265222008-02-05 Bean <bean123ch@gmail.com>
26523
26524 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
26525 address of entry.
26526 (grub_multiboot_load_elf64): Likewise.
26527 (grub_multiboot): Initialize mbi structure.
26528
26529 * util/grub-fstest.c: Don't include unused header file script.h.
26530
fe6b695a 26531 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 26532 of file.
26533 (grub_fstest_SOURCES): Likewise.
26534
409480b7 265352008-02-05 Robert Millan <rmh@aybabtu.com>
26536
26537 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
26538 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
26539 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
26540 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
26541
26542 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
26543 (translation_table): Replace hardcoded values with macros
26544 provided by `<grub/term.h>'.
26545
26546 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
26547 (keyboard_map): Correct/add a few values, with macros provided
26548 by `<grub/term.h>'.
26549 (keyboard_map_shift): Zero values that don't differ from their
26550 `keyboard_map' equivalents.
26551 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
26552 Discard the second scan code that is always sent by Caps lock.
26553 Only use `keyboard_map_shift' when it provides a non-zero value,
26554 otherwise fallback to `keyboard_map'.
26555
99fadbaa 265562008-02-04 Bean <bean123ch@gmail.com>
26557
26558 * Makefile.in (enable_grub_fstest): New variable.
26559
26560 * conf/common.rmk (grub_fstest_init.lst): New rule.
26561 (grub_fstest_init.h): Likewise.
26562 (grub_fstest_init.c): Likewise.
26563 (util/grub-fstest.c_DEPENDENCIES): New variable.
26564 (grub_fstest_SOURCES): Likewise.
26565
26566 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
26567
26568 * util/grub-fstest.c: New file.
26569
bf567c50 265702008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
26571
26572 Make grub-setup handle a separate root device.
f19dbdb7 26573
bf567c50 26574 * util/i386/pc/grub-setup.c (setup): Always open the root device,
26575 so that the root device can be compared with the destination
26576 device.
26577 When embedding the core image, if the root and destination devices
26578 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
26579 0xFF.
26580 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 26581
9be6b98b 265822008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
26583
26584 Add support for having a grub directory in a different drive. This
26585 is still only the data handling part.
f19dbdb7 26586
9be6b98b 26587 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
26588 (codestart): Save %dh in GRUB_ROOT_DRIVE.
26589 (grub_root_drive): New variable.
26590
26591 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
26592 instead of GRUB_BOOT_DRIVE to construct a device name. Set
26593 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
26594 as it was.
26595
26596 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
26597
26598 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
26599 macro.
26600 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
26601
26602 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
26603 is bogus, because PXE booting does not specify any drive
26604 correctly.
26605
26606 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
26607 am not sure if this is really correct.
26608
26609 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
26610 is always identical to the boot drive when booting from a CD.
26611
26612 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
26613 longer.
26614 (root_drive): New variable.
26615 (real_start): Unconditionally set %dh to ROOT_DRIVE.
26616 (setup_sectors): Push %dx right after popping it, because %dh will
26617 be modified later.
26618 (copy_buffer): Restore %dx.
26619
e0ca0677 266202008-02-03 Robert Millan <rmh@aybabtu.com>
26621
26622 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
26623 use `cdboot.img' for cdrom images.
26624
3b3f6629 266252008-02-03 Robert Millan <rmh@aybabtu.com>
26626
26627 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
26628 only setup gfxterm when `font' command has succeeded.
26629
d42b3672 266302008-02-03 Robert Millan <rmh@aybabtu.com>
26631
26632 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
26633 (grub_rescue_cmd_multiboot_loader)
26634 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
26635
fa370ea6 266362008-02-03 Pavel Roskin <proski@gnu.org>
26637
e0c5dacb 26638 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 26639 %edx and %esi from stack only after grub_gate_a20() is called.
26640 grub_gate_a20() clobbers %edx.
26641
f2a76e1d 266422008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
26643
26644 * configure.ac (AC_INIT): Bumped to 1.96.
26645
26646 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
26647 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
26648 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
26649 video/readers/png.c.
26650
90fd32d1 266512008-02-03 Bean <bean123ch@gmail.com>
9be665dd 26652
26653 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
26654 (cdboot_img_SOURCES): New variable.
26655 (cdboot_img_ASFLAGS): New variable.
26656 (cdboot_img_LDFLAGS): New variable.
26657
26658 * boot/i386/pc/cdboot.S: New file.
26659
26660 * disk/i386/pc/biosdisk.c (cd_start): New variable.
26661 (cd_count): Likewise.
26662 (grub_biosdisk_get_drive): Add support for cd device.
26663 (grub_biosdisk_call_hook): Likewise.
26664 (grub_biosdisk_iterate): Likewise.
26665 (grub_biosdisk_open): Likewise.
26666 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
26667 (grub_biosdisk_rw): Support reading from cd device.
26668 (GRUB_MOD_INIT): Iterate cd devices.
26669
26670 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
26671 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
26672 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
26673
26674 * kern/i386/pc/init.c (make_install_device): Check for cd device.
26675
4020aa53 266762008-02-02 Robert Millan <rmh@aybabtu.com>
26677
26678 * commands/read.c: New file.
26679 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
26680 (read_mod_SOURCES): New variable.
26681 (read_mod_CFLAGS): Likewise.
26682 (read_mod_LDFLAGS): Likewise.
26683
e03a1132 266842008-02-02 Robert Millan <rmh@aybabtu.com>
26685
26686 * normal/main.c (grub_normal_execute): Check for `menu->size' when
26687 determining whether menu has to be displayed.
26688
58c69220 266892008-02-02 Marco Gerards <marco@gnu.org>
26690
26691 * bus/pci.c: New file.
26692
26693 * include/grub/pci.h: Likewise.
26694
26695 * include/grub/i386/pc/pci.h: Likewise.
26696
26697 * commands/lspci.c: Likewise.
26698
26699 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
26700 `lspci.mod'.
26701 (pci_mod_SOURCES): New variable.
26702 (pci_mod_CFLAGS): Likewise.
26703 (pci_mod_LDFLAGS): Likewise.
26704 (lspci_mod_SOURCES): Likewise.
26705 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 26706 (lspci_mod_LDFLAGS): Likewise.
58c69220 26707
c004e1b4 267082008-02-02 Bean <bean123ch@gmail.com>
26709
26710 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
26711 (grub_ufs_get_file_block): Fix indirect block calculation problem.
26712
26713 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
26714 (grub_xfs_btree_node): New structure.
26715 (grub_xfs_btree_root): New structure.
26716 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
26717 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
26718 (GRUB_XFS_EXTENT_BLOCK): Likewise.
26719 (GRUB_XFS_EXTENT_SIZE): Likewise.
26720 (grub_xfs_read_block): Support btree format type.
26721 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
26722 Use directory block as basic unit.
26723
26724 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
26725
26726 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
26727 __attribute__ ((__regparm__ (1))).
26728
f95562bf 267292008-02-01 Robert Millan <rmh@aybabtu.com>
26730
26731 Correct a mistake in previous commit.
26732
26733 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
26734 top.
26735 (normal/command.c_DEPENDENCIES): New variable.
26736
7d31f41f 267372008-02-01 Robert Millan <rmh@aybabtu.com>
26738
26739 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
26740 top.
26741 (normal/command.c_DEPENDENCIES): New variable.
26742 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
26743 * conf/i386-ieee1275.rmk: Likewise.
26744 * conf/i386-linuxbios.rmk: Likewise.
26745 * conf/i386-pc.rmk: Likewise.
26746 * conf/sparc64-ieee1275.rmk: Likewise.
26747 * conf/powerpc-ieee1275.rmk: Likewise.
26748 (grub_emu_SOURCES): Add `fs/fshelp.c'.
26749
26750 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
26751
60b6be74 267522008-02-01 Robert Millan <rmh@aybabtu.com>
26753
26754 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
26755 call at beginning of function.
26756
078522ab 267572008-01-31 Pavel Roskin <proski@gnu.org>
26758
26759 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 26760 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
26761 (grub_mkrescue_SOURCES): Likewise.
078522ab 26762 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
26763
ccaa8a5f 267642008-01-30 Robert Millan <rmh@aybabtu.com>
26765
26766 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
26767 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
26768 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
26769 (grub_probe_SOURCES): ... to here.
26770
26771 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
26772 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
26773 * conf/i386-ieee1275.rmk: Likewise.
26774 * conf/i386-linuxbios.rmk: Likewise.
26775 * conf/powerpc-ieee1275.rmk: Likewise.
26776
ae5a9cd7 267772008-01-30 Tristan Gingold <gingold@free.fr>
26778
26779 * kern/rescue.c: Silently accept empty lines.
26780
70bc2ef2 267812008-01-29 Bean <bean123ch@gmail.com>
26782
26783 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
26784 (real_code_2): Code cleanup and change comment style.
26785 (move_memory): Avoid using 32-bit address mode.
26786
6a4d50ea 267872008-01-29 Bean <bean123ch@gmail.com>
26788
26789 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
26790 (png_mod_SOURCES): New variable.
26791 (png_mod_CFLAGS): Likewise.
26792 (png_mod_LDFLAGS): Likewise.
26793
26794 * video/readers/png.c: New file.
26795
11cc30ac 267962008-01-28 Robert Millan <rmh@aybabtu.com>
26797
26798 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
26799 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
26800 `ifndef GRUB_MOD_GAP' hack.
26801 * util/elf/grub-mkimage.c (add_segments): Likewise.
26802
3abc589f 268032008-01-27 Robert Millan <rmh@aybabtu.com>
26804
26805 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
26806 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 26807 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 26808
e1907778 268092008-01-27 Robert Millan <rmh@aybabtu.com>
26810
26811 Get grub-emu to build again (including parallel builds).
26812
26813 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
26814 Split into ...
26815 (util/grub-emu.c_DEPENDENCIES): ... this, ...
26816 (normal/execute.c_DEPENDENCIES): ... this, ...
26817 (grub-emu_DEPENDENCIES): ... and this.
26818
26819 * conf/i386-efi.rmk: Likewise.
26820 * conf/i386-linuxbios.rmk: Likewise.
26821 * conf/i386-ieee1275.rmk: Likewise.
26822 * conf/powerpc-ieee1275.rmk: Likewise.
26823 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
26824
2216b101 268252008-01-27 Robert Millan <rmh@aybabtu.com>
26826
26827 * NEWS: Add a few items.
26828
f75172d9 268292008-01-27 Robert Millan <rmh@aybabtu.com>
26830
26831 Fix parallel builds with grub-emu. Based on earlier commit for
26832 grub-probe and grub-setup.
26833
26834 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26835 (util/grub-emu.c_DEPENDENCIES): ... this.
26836 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26837 (util/grub-emu.c_DEPENDENCIES): ... this.
26838 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26839 (util/grub-emu.c_DEPENDENCIES): ... this.
26840 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26841 (util/grub-emu.c_DEPENDENCIES): ... this.
26842 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26843 (util/grub-emu.c_DEPENDENCIES): ... this.
26844
3f51de77 268452008-01-27 Pavel Roskin <proski@gnu.org>
26846
26847 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
26848 to create a gap between _end and the modules added to the image
26849 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
26850 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
26851 * util/elf/grub-mkimage.c (add_segments): Likewise.
26852
2033f53e 268532008-01-26 Pavel Roskin <proski@gnu.org>
26854
26855 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
26856 just return an error.
26857
22da1f6f 268582008-01-26 Bean <bean123ch@gmail.com>
26859
26860 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
26861 (grub_reiserfs_get_item): Save offset of the next item.
26862 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
26863
2a9525e6 268642008-01-25 Robert Millan <rmh@aybabtu.com>
26865
26866 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
26867 make all filesystem sources appear together (possibly fixing omissions
26868 while at it).
26869 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26870 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26871 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26873
26874 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
26875 add `kern/file.c'.
26876 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
26877 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26878 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
26879 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26880
26881 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
26882 (probe): Add a sanity check to make sure of our ability to read
26883 requested files when probing for filesystem type.
26884
26885 * genmk.rb: Update copyright year (2007).
26886
26887 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
26888 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
26889 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
26890 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
26891 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
26892 : Remove function prototypes.
26893
b95f71b5 268942008-01-25 Robert Millan <rmh@aybabtu.com>
26895
26896 Revert my previous commits (based on wrong assumption of how grub_errno
26897 works).
26898
fe6b695a 26899 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 26900 * kern/file.c (grub_file_open): Likewise.
26901
d08bbb49 269022008-01-24 Pavel Roskin <proski@gnu.org>
26903
26904 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
26905 that hang if GRUB tries to setup colors.
26906 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
26907 colors for firmwares that don't support it.
26908 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
26909 Recognize Open Hack'Ware, set flags to work around its
26910 limitations.
26911
605e36ed 269122008-01-24 Robert Millan <rmh@aybabtu.com>
26913
26914 * kern/file.c (grub_file_open): Do not account previous failures of
26915 unrelated functions when grub_errno is checked for.
26916 Reported by Oleg Strikov.
26917
bac332a1 269182008-01-24 Bean <bean123ch@gmail.com>
26919
26920 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
26921 (grub_ufs_sblock): New member volume name.
26922 (grub_ufs_find_file): Fix string copy bug.
26923 (grub_ufs_label): Implement this function properly.
26924
26925 * fs/hfs.c (grub_hfs_cnid_type): New enum.
26926 (grub_hfs_iterate_records): Use the correct file number for extents
26927 and catalog file. Fix problem in next index calculation.
26928 (grub_hfs_find_node): Replace recursive function call with loop.
26929 (grub_hfs_iterate_dir): Replace recursive function call with loop.
26930
15c80c09 269312008-01-23 Robert Millan <rmh@aybabtu.com>
26932
26933 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
26934 `<grub/symbol.h>' and `<grub/multiboot.h>'.
26935 (grub_multiboot2_real_boot): New function prototype.
26936
26937 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
26938 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
26939
26940 * kern/i386/ieee1275/init.c (grub_os_area_addr)
26941 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
26942
305338fd 269432008-01-23 Robert Millan <rmh@aybabtu.com>
26944
26945 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
26946 #ifdef'ed out grub_printf().
26947
3ea52685 269482008-01-23 Robert Millan <rmh@aybabtu.com>
26949
26950 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
26951 grub_dprintf calls, since they make "debug=all" mode unusable.
26952 (grub_console_checkkey): Likewise.
26953
5882ae4b 269542008-01-23 Robert Millan <rmh@aybabtu.com>
26955
26956 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26957 `term/i386/pc/at_keyboard.c'.
26958 (pkglib_MODULES): Add `serial.mod'.
26959 (serial_mod_SOURCES): New variable.
26960 (serial_mod_CFLAGS): Likewise.
26961 (serial_mod_LDFLAGS): Likewise.
26962
26963 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
26964 `<grub/powerpc/ieee1275/console.h>'.
26965 (grub_keyboard_controller_init): New function prototype.
26966 (grub_console_checkkey): Likewise.
26967 (grub_console_getkey): Likewise.
26968
26969 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
26970 keyboard on i386.
26971
26972 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
26973 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
26974
06ab5303 269752008-01-23 Robert Millan <rmh@aybabtu.com>
26976
26977 * kern/i386/pc/init.c (make_install_device): When memdisk image is
26978 present, "(memdisk)/boot/grub" becomes the default prefix.
26979
26980 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
26981 a memdisk tarball with all the modules. Add --overlay=DIR option that
26982 allows users to overlay additional files into the image.
26983
dbb475a4 269842008-01-23 Robert Millan <rmh@aybabtu.com>
26985
26986 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
26987 and `machine/memory.h'.
26988 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
26989 (_multiboot_mod_SOURCES): New variable.
26990 (_multiboot_mod_CFLAGS): Likewise.
26991 (_multiboot_mod_LDFLAGS): Likewise.
26992 (multiboot_mod_SOURCES): Likewise.
26993 (multiboot_mod_CFLAGS): Likewise.
26994 (multiboot_mod_LDFLAGS): Likewise.
26995
26996 * include/grub/i386/ieee1275/loader.h: New file.
26997
26998 * include/grub/i386/ieee1275/machine.h: Likewise.
26999
27000 * include/grub/i386/ieee1275/memory.h: Likewise.
27001
27002 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
27003 variable declaration.
27004 (grub_os_area_size): Likewise.
27005
27006 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
27007 (grub_lower_mem, grub_upper_mem): New variables.
27008 (grub_stop_floppy): New function (just to make
27009 grub_multiboot2_real_boot() happy).
27010
27011 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
27012 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
27013 (grub_stop): New function.
27014 Include `"../realmode.S"' and `"../loader.S"'.
27015
27016 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
27017 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
27018
27019 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
27020 rely on grub_multiboot2_real_boot() for final boot.
27021
25638629 270222008-01-22 Robert Millan <rmh@aybabtu.com>
27023
27024 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
27025 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
27026 device that doesn't look like an SD card.
27027 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
27028 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
27029 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
27030 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
27031 found.
27032
9dad816d 270332008-01-22 Robert Millan <rmh@aybabtu.com>
27034
27035 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
27036 avoid claiming over our own code.
27037
34842f2d 270382008-01-22 Bean <bean123ch@gmail.com>
27039
27040 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
27041 (jpeg_mod_SOURCES): New variable.
27042 (jpeg_mod_CFLAGS): Likewise.
27043 (jpeg_mod_LDFLAGS): Likewise.
27044
27045 * video/readers/jpeg.c : New file.
27046
44023a28 270472008-01-22 Bean <bean123ch@gmail.com>
27048
27049 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
27050 there are no more items.
27051
bc2d8ac6 270522008-01-21 Robert Millan <rmh@aybabtu.com>
27053
27054 * kern/mm.c (grub_mm_init_region): Improve debug message.
27055
261bd4bc 270562008-01-21 Robert Millan <rmh@aybabtu.com>
27057
27058 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
27059 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
27060 address.
27061 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
27062 a C macro.
27063 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
27064 Indicates start of upper memory.
27065 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
27066 (generate_image): Abort when image size is big enough to corrupt
27067 upper memory.
27068
27069 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
27070 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
27071 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
27072 instead of hardcoding 0xA0000.
27073 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
27074 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
27075 instead of hardcoding 0xA0000.
27076
f970b55e 270772008-01-21 Robert Millan <rmh@aybabtu.com>
27078
27079 * disk/memdisk.c (memdisk_size): New variable.
27080 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
27081 `memdisk_size'.
27082 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
27083 image to dynamic memory.
27084 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
27085 `memdisk_size'. Free memdisk block.
27086
1a8b0526 270872008-01-21 Robert Millan <rmh@aybabtu.com>
27088
27089 Fix detection of very small filesystems (like tar).
27090
27091 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
27092 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
27093 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
27094 a problem with this disk).
27095
6e9b4aab 270962008-01-21 Robert Millan <rmh@aybabtu.com>
27097
27098 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
27099 on grub_biosdisk_rw_standard() error.
27100
0d8837b2 271012008-01-21 Robert Millan <rmh@aybabtu.com>
27102
27103 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
27104 recent changes.
27105 * kern/elf.c: Likewise.
27106 * kern/ieee1275/ieee1275.c: Likewise.
27107 * kern/powerpc/ieee1275/openfw.c: Likewise.
27108 * term/ieee1275/ofconsole.c: Likewise.
27109
ffd36e34 271102008-01-21 Robert Millan <rmh@aybabtu.com>
27111
27112 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
27113
3f0093d0 27114 * include/grub/kernel.h (grub_arch_memdisk_addr)
27115 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 27116
3f0093d0 27117 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
27118 (grub_arch_memdisk_size): ... to here.
ffd36e34 27119
6c391b21 271202008-01-21 Robert Millan <rmh@aybabtu.com>
27121
27122 Mostly based on bugfix from Bean.
27123
27124 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
27125 attribute with hook() parameter.
27126 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
27127 declaration.
27128 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
27129 attribute with hook() parameter.
27130 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
27131 declaration.
27132
55a581dc 271332008-01-21 Robert Millan <rmh@aybabtu.com>
27134
27135 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
27136 (pkglib_MODULES): Add `memdisk.mod'.
27137 (memdisk_mod_SOURCES): New variable.
27138 (memdisk_mod_CFLAGS): Likewise.
27139 (memdisk_mod_LDFLAGS): Likewise.
27140
27141 * disk/memdisk.c: New file.
27142
27143 * include/grub/disk.h (grub_disk_dev_id): Add
27144 `GRUB_DISK_DEVICE_MEMDISK_ID'.
27145
27146 * include/grub/i386/pc/kernel.h
27147 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
27148 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
27149 (grub_kernel_image_size): New variable declaration.
27150 (grub_total_module_size): Likewise.
27151 (grub_memdisk_image_size): Likewise.
27152
27153 * include/grub/i386/pc/memory.h
27154 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
27155
27156 * include/grub/kernel.h: Include `<grub/symbol.h>'.
27157 (grub_arch_memdisk_addr): New variable declaration.
27158 (grub_arch_memdisk_size): Likewise.
27159
27160 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
27161 (grub_arch_memdisk_size): Likewise.
27162
27163 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
27164 (codestart): Replace hardcoded `0x100000' with
27165 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
27166
27167 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
27168 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
27169 not NULL, append the contents of the file it refers to, at the end of
27170 the compressed kernel image. Initialize `grub_memdisk_image_size'
27171 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
27172 (options): Add "memdisk"|'m' option.
27173 (main): Parse --memdisk|-m option, and pass user-provided path as
27174 parameter to generate_image().
27175
3d7f54c9 271762008-01-20 Robert Millan <rmh@aybabtu.com>
27177
27178 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
27179 grub_dprintf() calls from here ...
27180 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
27181
0bf74728 271822008-01-20 Robert Millan <rmh@aybabtu.com>
27183
27184 Fix detection of "real mode" when /options/real-mode? doesn't exist.
27185
27186 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
27187 declaration.
27188 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
27189 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
27190 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 27191 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 27192 property).
27193 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
27194 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
27195
33bf70a7 271962008-01-19 Robert Millan <rmh@aybabtu.com>
27197
fe6b695a 27198 Get rid of confusing function (superseded by
33bf70a7 27199 `grub_ieee1275_get_integer_property')
27200 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
27201 prototype.
27202 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
27203 function.
27204 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
27205 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 27206 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 27207
e2da7d26 272082008-01-19 Robert Millan <rmh@aybabtu.com>
27209
27210 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
27211 command after "shut-down", since implementations differ on which
27212 the command for halt is.
27213
59f1fd8d 272142008-01-19 Robert Millan <rmh@aybabtu.com>
27215
27216 * include/grub/i386/linuxbios/console.h: Add header protection.
27217 (grub_keyboard_controller_init): New function prototype.
27218 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
27219 (KEYBOARD_COMMAND_READ): Likewise.
27220 (KEYBOARD_COMMAND_WRITE): Likewise.
27221 (KEYBOARD_SCANCODE_SET1): Likewise.
27222 (grub_keyboard_controller_write): New function.
27223 (grub_keyboard_controller_read): Likewise.
27224 (grub_keyboard_controller_init): Likewise.
27225
27226 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
27227 (grub_console_init): On coreboot/LinuxBIOS, call
27228 grub_keyboard_controller_init().
27229
5f5a7c15 272302008-01-19 Robert Millan <rmh@aybabtu.com>
27231
27232 PowerPC changes provided by Pavel Roskin.
27233
27234 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
27235 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
27236 don't rely on cmain() doing it.
27237 * kern/i386/ieee1275/startup.S (_start): Store %eax in
27238 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
27239
1210e168 272402008-01-16 Robert Millan <rmh@aybabtu.com>
27241
27242 * include/grub/i386/linuxbios/memory.h
27243 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
27244 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
27245 receive `table_header' as argument. Instead, probe for it in the
27246 known memory ranges where it can be present.
27247 (grub_available_iterate): Do not pass a fixed `table_header' address
27248 to grub_linuxbios_table_iterate().
27249
3d04eab8 272502008-01-15 Robert Millan <rmh@aybabtu.com>
27251
27252 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
27253 * conf/i386-ieee1275.rmk: New file.
27254 * include/grub/i386/ieee1275/console.h: Likewise.
27255 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
27256 * include/grub/i386/ieee1275/kernel.h: Likewise.
27257 * include/grub/i386/ieee1275/time.h: Likewise.
27258 * kern/i386/ieee1275/init.c: Likewise.
27259 * kern/i386/ieee1275/startup.S: Likewise.
27260
d1bc1b73 272612008-01-15 Robert Millan <rmh@aybabtu.com>
27262
27263 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
27264 when pointers are 32-bit (but still do set it to one when they are
27265 64-bit).
27266
66a65807 272672008-01-15 Robert Millan <rmh@aybabtu.com>
27268
27269 * include/grub/ieee1275/ieee1275.h
27270 (grub_ieee1275_get_integer_property): New function prototype.
27271
27272 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
27273 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 27274 grub_ieee1275_get_property() to handle endianness.
66a65807 27275
27276 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
27277 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 27278 where appropriate.
66a65807 27279 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
27280 (grub_map): Likewise.
27281 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
27282
a83ccafd 272832008-01-15 Bean <bean123ch@gmail.com>
27284
27285 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
27286 (grub_script_execute_cmdline): Reset grub_errno.
27287
27288 * normal/main.c (read_config_file): Reset grub_errno.
27289
27290 * normal/parse.y (script_init): New.
27291 (script): Move function and menuentry here.
27292 (delimiter): New.
27293 (command): Add delimiter at the end of command.
27294 (commands): Adjust to match the new command.
27295 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 27296 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 27297 (if): Use the new commands.
27298
27299 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
27300
df6ecfc6 273012008-01-15 Robert Millan <rmh@aybabtu.com>
27302
27303 * normal/menu.c (run_menu): Move timeout message from here ...
27304 (print_timeout): ... to here.
27305 (run_menu): Use print_timeout() once during initial draw to print
27306 the whole message, and again in every clock tick to update only
27307 the number of seconds.
27308
87ae25eb 273092008-01-15 Robert Millan <rmh@aybabtu.com>
27310
27311 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
27312 actual size of `available' from grub_ieee1275_get_property(), and
27313 restrict parsing to that bound.
27314
47bf09a4 273152008-01-15 Christian Franke <franke@computer.org>
27316
27317 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
27318 (argp_program_version): Remove variable.
27319 (argp_program_bug_address): Likewise.
27320 (options): Convert from struct argp_option to struct option.
27321 (struct arguments): Remove.
27322 (parse_opt): Remove.
27323 (usage): New function.
27324 (main): Replace struct args members by simple variables.
27325 Replace argp_parse() by getopt_long().
27326 Add switch to evaluate options.
27327 Add missing "(...)" around root_dev in prefix string.
27328
c86f1469 273292008-01-14 Robert Millan <rmh@aybabtu.com>
27330
27331 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
27332 for grub_ieee1275_exit(), in order to improve portability.
27333
e622c559 273342008-01-14 Robert Millan <rmh@aybabtu.com>
27335
27336 * util/grub.d/10_linux.in (prefix): Define.
27337 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
27338
44cb1ec8 273392008-01-13 Pavel Roskin <proski@gnu.org>
27340
27341 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
27342 grub_errno if no errors have been detected.
27343
1eb8c802 273442008-01-12 Robert Millan <rmh@aybabtu.com>
27345
27346 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
27347 (grub_util_get_dev_abstraction): New function prototype.
27348
27349 * util/getroot.c: Include `<grub/util/getroot.h>'
27350 (grub_util_get_grub_dev): Move detection of abstraction type to ...
27351 (grub_util_get_dev_abstraction): ... here (new function).
27352
27353 * util/grub-probe.c: Convert PRINT_* to an enum. Add
27354 `PRINT_ABSTRACTION'.
27355 (probe): Probe for abstraction type when requested.
27356 (main): Understand `--target=abstraction'.
27357
27358 * util/i386/efi/grub-install.in: Add abstraction module to core
27359 image when it is found to be necessary.
27360 * util/i386/pc/grub-install.in: Likewise.
27361 * util/powerpc/ieee1275/grub-install.in: Likewise.
27362
27363 * util/update-grub_lib.in (font_path): Return system path without
27364 converting to GRUB path.
27365 * util/update-grub.in: Convert system path returned by font_path()
27366 to a GRUB path. Use `grub-probe -t abstraction' to determine what
27367 abstraction module is needed for loading fonts (if any). Export
27368 that as `GRUB_PRELOAD_MODULES'.
27369 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
27370 insmod commands).
27371
52bd3de9 273722008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
27373
27374 Remove some unused code from reiserfs.
f19dbdb7 27375
52bd3de9 27376 * fs/reiserfs.c (struct grub_reiserfs_key)
27377 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
27378 (struct grub_reiserfs_node_body): Removed.
27379 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
27380 Likewise.
27381 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
27382 Likewise.
27383 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
27384 Likewise.
27385 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
27386 Likewise.
27387 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
27388 Likewise.
27389 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
27390 Likewise.
27391 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
27392 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
27393 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
27394
2f80039d 273952008-01-10 Robert Millan <rmh@aybabtu.com>
27396
27397 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
27398 Determines if a file is garbage left by packaging systems, etc.
27399 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
27400 for processing /etc/grub.d scripts.
27401 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
27402 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
27403 as a condition for processing Linux images.
27404
87888032 274052008-01-10 Pavel Roskin <proski@gnu.org>
27406
27407 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
27408 to compile reiserfs.c on PowerPC.
27409
7e54fced 274102008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 27411
27412 * kern/device.c (grub_device_iterate): Do not abort device iteration
27413 when one of the devices cannot be opened.
27414 * kern/disk.c (grub_disk_open): Do not account previous failures of
27415 unrelated functions when grub_errno is checked for.
27416
5aa541e6 274172008-01-08 Robert Millan <rmh@aybabtu.com>
27418
27419 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
27420 `! grub_linux_is_bzimage', change order of address comparison to make
27421 it more intuitive, and improve "too big zImage" error message.
27422
7076340d 274232008-01-08 Robert Millan <rmh@aybabtu.com>
27424
27425 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
27426 `$(update-grub_DATA)'.
27427 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
27428 targets.
27429
9ca70333 274302008-01-07 Robert Millan <rmh@aybabtu.com>
27431
27432 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
27433 which instruction is modified by grub-setup during installation
27434 (since it wasn't obvious by only looking at this file).
27435
38ccf575 274362008-01-07 Robert Millan <rmh@aybabtu.com>
27437
27438 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
27439 listing actual TODO items.
27440
f5db4291 274412008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
27442
868967cf 27443 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
27444 correctly.
27445 (grub_reiserfs_get_key_offset): Likewise.
27446 (grub_reiserfs_set_key_offset): Likewise.
27447 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 27448 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 27449
27450 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
27451 better to remove the bitfield version completely.
f19dbdb7 27452
868967cf 274532008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 27454
f5db4291 27455 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
27456 allocated from the heap, due to the fshelp implementation.
27457 (grub_reiserfs_dir): Free NODE, due to the same reason.
27458
492e6d9d 274592008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
27460
27461 Mostly from Vincent Pelletier:
f19dbdb7 27462
492e6d9d 27463 * fs/reiserfs.c: New file.
f19dbdb7 27464
492e6d9d 27465 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
27466 (reiserfs_mod_SOURCES): New variable.
27467 (reiserfs_mod_CFLAGS): Likewise.
27468 (reiserfs_mod_LDFLAGS): Likewise.
27469
27470 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
27471 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
27472 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
27473 normal/color.c.
27474
9ce3e7c1 274752008-01-06 Robert Millan <rmh@aybabtu.com>
27476
27477 * normal/color.c: Remove `<grub/env.h>'.
27478
f3b58148 274792008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
27480
27481 * include/grub/normal.h: Include <grub/env.h>.
27482
7ac3bcfa 274832008-01-05 Robert Millan <rmh@aybabtu.com>
27484
27485 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
27486 usage example with `(hd0,1)'.
fb358190 27487 Reported by Samuel Thibault.
7ac3bcfa 27488
c8ee99d7 274892008-01-05 Robert Millan <rmh@aybabtu.com>
27490
27491 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
27492 (grub_linux_boot_zimage): Rename to ...
27493 (grub_linux_boot): ... this.
27494 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
27495 (grub_linux_boot_zimage): Conditionalize zImage copy.
27496
27497 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
27498 (grub_linux_boot_bzimage): Remove prototype.
27499 (grub_linux_boot_zimage): Rename to ...
27500 (grub_linux_boot): ... this.
27501
27502 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
27503 (grub_linux_boot): Remove function.
27504
0ece25b1 275052008-01-05 Robert Millan <rmh@aybabtu.com>
27506
27507 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
27508 (grub_env_write_color_highlight): Likewise.
27509 (grub_wait_after_message): Likewise.
27510
27511 * normal/color.c: New file.
27512
27513 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
27514 (normal_mod_DEPENDENCIES): Likewise.
27515
27516 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
27517 (normal_mod_DEPENDENCIES): Likewise.
27518
27519 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
27520 (normal_mod_DEPENDENCIES): Likewise.
27521
27522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
27523 (normal_mod_DEPENDENCIES): Likewise.
27524
27525 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
27526 for waiting after a message is printed.
27527 * normal/main.c (read_config_file): Likewise.
27528 (grub_normal_init): Register grub_env_write_color_normal() and
27529 grub_env_write_color_highlight() hooks. Mark `color_normal' and
27530 `color_highlight' variables as global.
27531
27532 * normal/menu.c (grub_wait_after_message): New function.
27533 (grub_color_menu_normal): New variable. Replaces ...
27534 (GRUB_COLOR_MENU_NORMAL): ... this macro.
27535 (grub_color_menu_highlight): New variable. Replaces ...
27536 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
27537 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
27538 `GRUB_TERM_COLOR_STANDARD'.
27539 (print_message): Use `grub_setcolorstate' to reload colors. Rename
27540 `normal_code' and `highlight_code' to `old_color_normal' and
27541 `old_color_highlight', respectively.
27542 (grub_menu_init_page): Update colors when drawing the menu, based on
27543 `menu_color_normal' and `menu_color_highlight' variables.
27544 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
27545 a message is printed.
27546
182dd4e5 275472008-01-05 Robert Millan <rmh@aybabtu.com>
27548
27549 * kern/env.c (grub_env_context_open): Propagate hooks for global
27550 variables to new context.
27551
27552 * kern/main.c (grub_set_root_dev): Export `root' variable.
27553
ddf8f6ad 275542008-01-05 Robert Millan <rmh@aybabtu.com>
27555
27556 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 27557 discs unconditionally, since udev and others have options to provide
ddf8f6ad 27558 them.
27559
d8b43d9b 275602008-01-05 Robert Millan <rmh@aybabtu.com>
27561
27562 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
27563
2bff2de3 275642008-01-04 Christian Franke <franke@computer.org>
27565
27566 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
27567 of eisa_mmap.
27568
97eab917 275692008-01-03 Pavel Roskin <proski@gnu.org>
27570
27571 * kern/i386/linuxbios/init.c: Put "void" to all function
27572 declarations with no arguments.
27573 * kern/powerpc/ieee1275/init.c: Likewise.
27574 * term/i386/pc/at_keyboard.c: Likewise.
27575 * term/i386/pc/vga_text.c: Likewise.
27576 * util/grub-mkdevicemap.c: Likewise.
27577
b9416d00 275782008-01-02 Robert Millan <rmh@aybabtu.com>
27579
27580 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
27581 message when loaded image is out of bounds.
27582 (grub_multiboot_load_elf64): Likewise.
27583
92695df9 275842008-01-02 Pavel Roskin <proski@gnu.org>
27585
27586 * util/grub.d/10_linux.in: Try version without ".old" when
27587 looking for initrd. It's better to use initrd from the newer
27588 kernel of the same version than no initrd at all.
27589
d98d9cad 275902008-01-01 Robert Millan <rmh@aybabtu.com>
27591
27592 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
27593
dbfdce36 275942008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
27595
f19dbdb7 27596 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 27597 grub_video_get_active_render_target.
27598 (grub_video_adapter): Added unmap_color and get_active_render_target.
27599
f19dbdb7 27600 * video/video.c: Added grub_video_unmap_color and
dbfdce36 27601 grub_video_get_active_render_target.
27602 (grub_video_get_info): Changed method to accept NULL pointer as an
27603 argument to allow detection of active video adapter.
27604
27605 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
27606 grub_video_vbe_unmap_color_int.
27607 Added grub_video_vbe_unmap_color and
27608 grub_video_vbe_get_active_render_target.
27609 (grub_video_vbe_adapter): Added unmap_color and
27610 get_active_render_target.
27611
f19dbdb7 27612 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 27613 with grub_video_vbe_unmap_color_int.
27614
27615 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
27616 (DEFAULT_NORMAL_COLOR): Likewise.
27617 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
27618 (DEFAULT_FG_COLOR): Removed.
27619 (DEFAULT_BG_COLOR): Likewise.
27620 (DEFAULT_CURSOR_COLOR): Changed value.
27621 (grub_virtual_screen): Added standard_color_setting,
27622 normal_color_setting, highlight_color_setting and term_color.
27623 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
27624 (bitmap_width): Added.
27625 (bitmap_height): Likewise.
27626 (bitmap): Likewise.
27627 (set_term_color): Likewise.
27628 (grub_virtual_screen_setup): Changed to use new terminal coloring
27629 settings.
27630 (grub_gfxterm_init): Added init for bitmap.
27631 (grub_gfxterm_fini): Added destroy for bitmap.
27632 (redraw_screen_rect): Updated to use background bitmap and new
27633 terminal coloring.
27634 (scroll_up): Added optimization for case when there is no bitmap.
27635 (grub_gfxterm_cls): Fixed to use correct background color.
27636 (grub_virtual_screen_setcolorstate): Changed to use new terminal
27637 coloring.
27638 (grub_virtual_screen_setcolor): Likewise.
27639 (grub_virtual_screen_getcolor): Added.
27640 (grub_gfxterm_background_image_cmd): Likewise.
27641 (grub_video_term): Added setcolor and getcolor.
27642 (MOD_INIT): Added registration of background_image command.
27643 (MOD_TERM): Added unregistration for background_image command.
27644
c3c20931 276452007-12-30 Pavel Roskin <proski@gnu.org>
27646
27647 * loader/multiboot_loader.c: Fix multiboot command
27648 unregistration. Fix all typos in the word "multiboot".
27649
df266716 276502007-12-29 Pavel Roskin <proski@gnu.org>
94239199 27651
27652 * util/grub.d/10_linux.in: Refactor search for initrd. Add
27653 support for initrd names used in Fedora.
27654
fc6e896c 276552007-12-26 Bean <bean123ch@gmail.com>
27656
27657 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
27658 (cpio_mod_SOURCES): New variable.
27659 (cpio_mod_CFLAGS): Likewise.
27660 (cpio_mod_LDFLAGS): Likewise.
27661
27662 * fs/cpio.c: New file.
27663
27664 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
27665
27666 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27667
27668 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27669
27670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27671
533110ad 276722007-12-25 Robert Millan <rmh@aybabtu.com>
27673
27674 * include/grub/term.h (struct grub_term): Add `getcolor' function.
27675 (grub_getcolor): New function.
27676
27677 * kern/term.c (grub_getcolor): New function.
27678 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
27679 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
27680 (print_entry): Set normal and highlight colors to
27681 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
27682 respectively, before printing and restore them to old
27683 values afterwards.
27684 (grub_menu_init_page): Likewise. Fill an additional colored space
27685 that would otherwise be left blank.
27686
27687 * term/efi/console.c (grub_console_getcolor): New function.
27688 (struct grub_console_term.getcolor): New variable.
27689 * term/i386/pc/console.c (grub_console_getcolor): New function.
27690 (struct grub_console_term.getcolor): New variable.
27691 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
27692 (struct grub_console_term.getcolor): New variable.
27693
27694 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
27695 (struct grub_console_term.setcolor): Remove variable.
27696 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
27697 (struct grub_console_term.setcolor): Remove variable.
27698 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
27699 (struct grub_console_term.setcolor): Remove variable.
27700 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
27701 (struct grub_console_term.setcolor): Remove variable.
27702
4931827f 277032007-12-25 Robert Millan <rmh@aybabtu.com>
27704
27705 * configure.ac: Search for possible unifont.hex locations, and
27706 define UNIFONT_HEX if found.
27707
27708 * Makefile.in (UNIFONT_HEX): Define variable.
27709 (DATA): Rename to ...
27710 (PKGLIB): ... this. Update all users.
27711 (PKGDATA): New variable.
27712 (pkgdata_IMAGES): Rename to ...
27713 (pkglib_IMAGES): ... this. Update all users.
27714 (pkgdata_MODULES): Rename to ...
27715 (pkglib_MODULES): ... this. Update all users.
27716 (pkgdata_PROGRAMS): Rename to ...
27717 (pkglib_PROGRAMS): ... this. Update all users.
27718 (pkgdata_DATA): Rename to ...
27719 (pkglib_DATA): ... this. Update all users.
27720 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
27721 (unicode.pff, ascii.pff): New rules.
27722 (all-local): Add `$(PKGDATA)' dependency.
27723 (install-local): Process `$(PKGDATA)'.
27724
27725 * util/update-grub_lib.in (font_path): Search for *.pff files in
27726 a few more locations, including `${pkgdata}'.
27727
57e57e31 277282007-12-23 Robert Millan <rmh@aybabtu.com>
27729
27730 Patch from Bean <bean123ch@gmail.com>:
27731 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
27732 `size'.
27733
4bc72aa9 277342007-12-21 Bean <bean123ch@gmail.com>
27735
27736 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
27737 (ntfscomp_mod_SOURCES): New variable.
27738 (ntfscomp_mod_CFLAGS): Likewise.
27739 (ntfscomp_mod_LDFLAGS): Likewise.
27740
27741 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
27742 (grub_probe_SOURCES): Likewise.
27743 (grub_emu_SOURCES): Likewise.
27744
27745 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27746 (grub_emu_SOURCES): Likewise.
27747
27748 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27749 (grub_emu_SOURCES): Likewise.
27750
27751 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
27752 (grub_emu_SOURCES): Likewise.
27753
27754 * fs/ntfs.c (grub_ntfscomp_func): New variable.
27755 (read_run_list): Renamed to grub_ntfs_read_run_list.
27756 (decomp_nextvcn): Moved to ntfscomp.c.
27757 (decomp_getch): Likewise.
27758 (decomp_get16): Likewise.
27759 (decomp_block): Likewise.
27760 (read_block): Likewise.
27761 (read_data): Partially moved to ntfscomp.c.
27762 (fixup): Change unsigned to grub_uint16_t.
27763 (read_mft): Change unsigned long to grub_uint32_t.
27764 (read_attr): Likewise.
27765 (read_data): Likewise.
27766 (read_run_data): Likewise.
27767 (read_run_list): Likewise.
27768 (read_mft): Likewise.
27769
27770 * fs/ntfscomp.c: New file.
27771
27772 * include/grub/ntfs.h: New file.
27773
af680a87 277742007-12-16 Robert Millan <rmh@aybabtu.com>
27775
27776 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
27777 IDE disk check, since Linux is known to support 20 IDE disks.
27778 Reported by Colin Watson.
27779
84be7599 277802007-12-15 Bean <bean123ch@gmail.com>
27781
27782 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
27783 (lnxboot_img_SOURCES): New variable.
27784 (lnxboot_img_ASFLAGS): Likewise.
27785 (lnxboot_img_LDFLAGS): Likewise.
27786
27787 * boot/i386/pc/lnxboot.S: New file.
27788
6af9db01 277892007-11-24 Pavel Roskin <proski@gnu.org>
27790
27791 * configure.ac: Test if '--build-id=none' is supported by the
27792 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
27793 objcopy to generate incorrect binary files (binutils
27794 2.17.50.0.18-1 as shipped by Fedora 8).
27795 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
27796 linking, so that build ID doesn't break the test.
27797
7361cfe6 277982007-11-24 Pavel Roskin <proski@gnu.org>
27799
27800 * include/grub/i386/time.h: use "void" in the argument list
27801 of grub_cpu_idle().
27802 * include/grub/powerpc/time.h: Likewise.
27803 * include/grub/sparc64/time.h: Likewise.
27804
1593e10c 278052007-11-18 Christian Franke <franke@computer.org>
27806
27807 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
27808 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
27809 This fixes the problem that function keys did not work in grub-emu.
27810
3b8db1a8 278112007-11-18 Christian Franke <franke@computer.org>
27812
27813 * disk/host.c (grub_host_open): Remove attribute unused from
27814 name parameter. Add check for "host". This fixes the problem
27815 that grub-emu does not find partitions.
27816
2e29408d 278172007-11-18 Christian Franke <franke@computer.org>
27818
27819 * util/hostfs.c (is_dir): New function.
27820 (grub_hostfs_dir): Handle missing dirent.d_type case.
27821 (grub_hostfs_read): Add missing fseek().
27822 (grub_hostfs_label): Clear label pointer. This fixes a crash
27823 of grub-emu on "ls (host)".
27824
398cd047 278252007-11-18 Christian Franke <franke@computer.org>
27826
27827 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
27828 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
27829 to 64 bit boundary by default.
27830
c405c391 278312007-11-18 Bean <bean123ch@gmail.com>
27832
27833 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
27834 (hexdump_mod_SOURCES): New variable.
27835 (hexdump_mod_CFLAGS): Likewise.
27836 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 27837
c405c391 27838 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27839
27840 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27841
27842 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27843
27844 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27845
27846 * include/grub/hexdump.h: New file.
27847
27848 * commands/hexdump.c: New file.
27849
5cced7fd 278502007-11-10 Robert Millan <rmh@aybabtu.com>
27851
27852 * commands/i386/pc/play.c (beep_off): Switch order of arguments
27853 in grub_outb() calls.
27854 (beep_on): Likewise.
27855
8b714eb0 278562007-11-10 Christian Franke <franke@computer.org>
27857
27858 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
27859 (grub_menu_run): Likewise.
27860
ce0f1839 278612007-11-10 Robert Millan <rmh@aybabtu.com>
27862
27863 * include/grub/i386/efi/machine.h: New file.
27864 * include/grub/i386/linuxbios/machine.h: Likewise.
27865 * include/grub/i386/pc/machine.h: Likewise.
27866 * include/grub/powerpc/ieee1275/machine.h: Likewise.
27867 * include/grub/sparc64/ieee1275/machine.h: Likewise.
27868
27869 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
27870 (serial_hw_io_addr): New variable.
27871 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
27872 instead of `(unsigned short *) 0x400'.
27873
270c237d 278742007-11-10 Bean <bean123ch@gmail.com>
27875
27876 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
27877
a87783bf 278782007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27879
27880 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
27881 (vga_mod_SOURCES): Added.
27882 (vga_mod_CFLAGS): Likewise.
27883 (vga_mod_LDFLAGS): Likewise.
27884
27885 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
27886 grub_outb() calls.
27887 (set_map_mask): Likewise.
27888 (set_read_map): Likewise.
27889 (set_read_address): Likewise.
27890 (vga_font): Removed variable.
27891 (get_vga_glyph): Removed function.
27892 (invalidate_char): Likewise.
27893 (write_char): Changed to use grub_font_get_glyph() for font
27894 information.
27895 (grub_vga_putchar): Likewise.
27896 (grub_vga_getcharwidth): Likewise.
27897
6433b448 278982007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27899
27900 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
27901 flags.
27902 (pxeboot_img_LDFLAGS): Likewise.
27903 (diskboot_img_LDFLAGS): Likewise.
27904 (kernel_img_LDFLAGS): Likewise.
27905
49178511 279062007-11-06 Robert Millan <rmh@aybabtu.com>
27907
27908 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
27909 in grub_outb() calls.
27910 (serial_hw_init): Likewise.
27911
53b052de 279122007-11-05 Robert Millan <rmh@aybabtu.com>
27913
27914 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
27915 spaces. Skip non-regular files.
27916
5ab33bba 279172007-11-05 Robert Millan <rmh@aybabtu.com>
27918
27919 * kern/disk.c (grub_disk_firmware_fini)
27920 (grub_disk_firmware_is_tainted): New variables.
27921
27922 * include/grub/disk.h (grub_disk_firmware_fini)
27923 (grub_disk_firmware_is_tainted): Likewise.
27924
27925 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
27926 (grub_disk_biosdisk_fini): ... to here.
27927 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
27928 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
27929 is set. Register grub_disk_biosdisk_fini() in
27930 `grub_disk_firmware_fini'.
27931
27932 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
27933 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
27934 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
27935 to finish existing firmware disk interface.
27936
27937 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
27938 (ata_mod_SOURCES): New variable.
27939 (ata_mod_CFLAGS): Likewise.
27940 (ata_mod_LDFLAGS): Likewise.
27941
0149ab7c 279422007-11-05 Robert Millan <rmh@aybabtu.com>
27943
27944 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
27945 (grub_ata_wait): Reimplement using grub_millisleep().
27946
27947 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
27948 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
27949
be7ac41e 279502007-11-03 Marco Gerards <marco@gnu.org>
27951
27952 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
27953 (CRTC_ADDR_PORT): New macro.
27954 (CRTC_DATA_PORT): Likewise.
27955 (CRTC_CURSOR): Likewise.
27956 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27957 (CRTC_CURSOR_ADDR_LOW): Likewise.
27958 (update_cursor): New function.
27959 (grub_console_real_putchar): Call `update_cursor'.
27960 (grub_console_gotoxy): Likewise.
27961 (grub_console_cls): Set the default color when clearing the
27962 screen.
27963 (grub_console_setcursor): Implemented.
27964
bb06ab2e 279652007-11-03 Marco Gerards <marco@gnu.org>
27966
27967 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
27968 become activate.
27969 (grub_ata_pio_write): Likewise.
27970
27971 (grub_atapi_identify): Wait after issuing an ATA command.
27972 (grub_atapi_packet): Likewise.
27973 (grub_ata_identify): Likewise.
27974 (grub_ata_readwrite): Likewise.
27975
cf8f780b 279762007-11-03 Marco Gerards <marco@gnu.org>
27977
27978 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
27979 (grub_ata_pio_write): Likewise.
27980 (grub_ata_readwrite): Use `grub_error', instead of
27981 returning `grub_errno'.
27982
ed649e54 279832007-11-03 Marco Gerards <marco@gnu.org>
27984
27985 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
27986 grub_ata_pio_write once for every single sector, instead of for
27987 multiple sectors.
27988
ca25d8f0 279892007-10-31 Robert Millan <rmh@aybabtu.com>
27990
27991 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
27992
27993 * conf/i386-linuxbios.rmk: New file.
27994
27995 * kern/i386/pc/hardware.c: Likewise.
27996 * term/i386/pc/at_keyboard.c: Likewise.
27997 * term/i386/pc/vga_text.c: Likewise.
27998
27999 * include/grub/i386/linuxbios/boot.h: Likewise.
28000 * include/grub/i386/linuxbios/console.h: Likewise.
28001 * include/grub/i386/linuxbios/init.h: Likewise.
28002 * include/grub/i386/linuxbios/kernel.h: Likewise.
28003 * include/grub/i386/linuxbios/loader.h: Likewise.
28004 * include/grub/i386/linuxbios/memory.h: Likewise.
28005 * include/grub/i386/linuxbios/serial.h: Likewise.
28006 * include/grub/i386/linuxbios/time.h: Likewise.
28007
28008 * kern/i386/linuxbios/init.c: Likewise.
28009 * kern/i386/linuxbios/startup.S: Likewise.
28010 * kern/i386/linuxbios/table.c: Likewise.
28011
e911ecc1 280122007-10-31 Marco Gerards <marco@gnu.org>
28013
28014 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
28015 (ata_mod_SOURCES): New variable.
28016 (ata_mod_CFLAGS): Likewise.
28017 (ata_mod_LDFLAGS): Likewise.
28018
28019 * disk/ata.c: New file.
28020
28021 * include/grub/disk.h (grub_disk_dev_id): Add
28022 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 28023
7f66d0e0 280242007-10-31 Robert Millan <rmh@aybabtu.com>
28025
28026 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
28027 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
28028
28029 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
28030 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
28031
28032 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
28033 `<grub/types.h>'.
28034
28035 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
28036
5cd7dd46 280372007-10-27 Robert Millan <rmh@aybabtu.com>
28038
3236ca65 28039 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 28040
2ebfc90f 280412007-10-22 Robert Millan <rmh@aybabtu.com>
28042
28043 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
28044 `"../realmode.S"'.
28045 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
28046
73fcb0f3 280472007-10-22 Robert Millan <rmh@aybabtu.com>
28048
28049 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
28050 (pkgdata_MODULES): Add `biosdisk.mod'.
28051 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
28052 variables.
28053
28054 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
28055 (grub_biosdisk_init): Replace with ...
28056 (GRUB_MOD_INIT(biosdisk)): ... this.
28057 (grub_biosdisk_fini): Replace with ...
28058 (GRUB_MOD_FINI(biosdisk)): ... this.
28059
28060 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
28061 (grub_machine_init): Remove call to grub_biosdisk_init().
28062 (grub_machine_fini): Remove call to grub_machine_fini().
28063
28064 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
28065
3381d274 280662007-10-22 Robert Millan <rmh@aybabtu.com>
28067
28068 * include/grub/time.h: New file.
28069 * include/grub/i386/time.h: Likewise.
28070 * include/grub/powerpc/time.h: Likewise.
28071 * include/grub/sparc64/time.h: Likewise.
28072
28073 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
28074 instances to ...
28075 (KERNEL_MACHINE_TIME_HEADER): ... this.
28076 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
28077 instances to ...
28078 (KERNEL_MACHINE_TIME_HEADER): ... this.
28079 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
28080 instances to ...
28081 (KERNEL_MACHINE_TIME_HEADER): ... this.
28082
28083 * kern/i386/efi/init.c: Include `<grub/time.h>'.
28084 (grub_millisleep): New function.
28085 * kern/i386/pc/init.c: Include `<grub/time.h>'.
28086 (grub_millisleep): New function.
28087 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
28088 Remove `grub/machine/time.h' include.
28089 (grub_millisleep): New function.
28090 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
28091 Remove `grub/machine/time.h' include.
28092 (grub_millisleep): New function.
28093
28094 * include/grub/misc.h (grub_div_roundup): New function.
28095
28096 * kern/misc.c: Include `<grub/time.h>'.
28097 (grub_millisleep_generic): New function.
28098
28099 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
28100 Add `time.h'.
28101 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
28102 Add `time.h'.
28103 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
28104 `machine/time.h'. Add `time.h'.
28105 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28106
a39a0312 281072007-10-21 Robert Millan <rmh@aybabtu.com>
28108
28109 * include/grub/misc.h (grub_max): New function.
28110
2aad70e2 281112007-10-21 Robert Millan <rmh@aybabtu.com>
28112
28113 * util/misc.c (grub_util_info): Call fflush() before returning.
28114
54b71c4b 281152007-10-20 Robert Millan <rmh@aybabtu.com>
28116
28117 * genmk.rb (Image): Copy `extra_flags' from here ...
28118 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
28119
28120 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
28121 to `argc' and `args' arguments.
28122
a979f513 281232007-10-17 Robert Millan <rmh@aybabtu.com>
28124
28125 * kern/i386/loader.S: New file.
28126
28127 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
28128 * kern/i386/loader.S (grub_linux_prot_size)... to here.
28129 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
28130 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
28131 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
28132 * kern/i386/loader.S (grub_linux_real_addr)... to here.
28133 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
28134 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
28135 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
28136 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
28137 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
28138 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
28139 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
28140 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
28141
28142 * kern/i386/realmode.S: New file.
28143
28144 * kern/i386/pc/startup.S (protstack): Moved from here ...
28145 * kern/i386/realmode.S (protstack)... to here.
28146 * kern/i386/pc/startup.S (gdt): Moved from here ...
28147 * kern/i386/realmode.S (gdt)... to here.
28148 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
28149 * kern/i386/realmode.S (prot_to_real)... to here.
28150
28151 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
28152 `kern/i386/realmode.S'.
28153
825fc8fd 281542007-10-17 Robert Millan <rmh@aybabtu.com>
28155
28156 * include/grub/i386/loader.h: New file.
28157
28158 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
28159 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
28160 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
28161 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
28162 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
28163 * include/grub/i386/loader.h (grub_linux_prot_size)
28164 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
28165 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
28166 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
28167 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
28168
28169 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
28170
e179b2f4 281712007-10-15 Robert Millan <rmh@aybabtu.com>
28172
28173 * normal/misc.c (grub_normal_print_device_info): Do not probe for
28174 filesystem when dev->disk is unset.
28175 Do probe for filesystem even when dev->disk->has_partitions is set.
28176 In case a filesystem is found, always report it.
28177 In case it isn't, if dev->disk->has_partitions is set, report that
28178 a partition table was found instead of reporting that no filesystem
28179 could be identified.
28180
5db82af6 281812007-10-12 Robert Millan <rmh@aybabtu.com>
28182
28183 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
28184 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
28185
68f6ac74 28186 * include/grub/types.h (grub_host_to_target16): New macro.
28187 (grub_host_to_target32): Likewise.
28188 (grub_host_to_target64): Likewise.
28189 (grub_target_to_host16): Likewise.
28190 (grub_target_to_host32): Likewise.
28191 (grub_target_to_host64): Likewise.
5db82af6 28192
28193 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
28194 Renamed from to ...
28195 (GRUB_MOD_ALIGN): ...this. Update all users.
28196
68f6ac74 28197 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
28198 grub_host_to_target32.
28199 Replace grub_be_to_cpu32 with grub_target_to_host32.
28200 (load_modules): Likewise.
28201 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
28202 Replace grub_be_to_cpu32 with grub_target_to_host32.
28203 Replace grub_cpu_to_be16 with grub_host_to_target16.
28204 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 28205
3cf497cc 282062007-10-12 Robert Millan <rmh@aybabtu.com>
28207
28208 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
28209 * util/elf/grub-mkimage.c: ... here.
28210
28211 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
28212 `util/powerpc/ieee1275/grub-mkimage.c'.
28213
c8cc3692 282142007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 28215
c8cc3692 28216 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
28217 and make it easier to figure out.
28218 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
28219 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
28220 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
28221 leave us with less than HEAP_MIN_SIZE total heap.
28222 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 28223
5c58b791 282242007-10-03 Robert Millan <rmh@aybabtu.com>
28225
28226 * include/grub/i386/io.h: New file.
28227 * commands/i386/pc/play.c (inb): Removed.
28228 (outb): Removed.
28229 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
28230 with grub_outb().
afcd2ef8 28231 * term/i386/pc/serial.c (inb): Removed.
28232 (outb): Removed.
28233 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
28234 with grub_outb().
28235 * term/i386/pc/vga.c (inb): Removed.
28236 (outb): Removed.
28237 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
28238 with grub_outb().
5c58b791 28239
1a477ed6 282402007-10-02 Robert Millan <rmh@aybabtu.com>
28241
28242 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
28243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28244 Reported by Marcin Kurek.
28245
6b5d80fa 282462007-09-07 Robert Millan <rmh@aybabtu.com>
28247
28248 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
28249 SmartFirmware version updates (as released by Sven Luther), and avoid
28250 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
28251 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
28252 known broken.
28253
5618afbf 282542007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
28255
28256 From Hitoshi Ozeki:
28257 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
28258 when merging two regions.
28259
6139dcd9 282602007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
28261
508e39ee 28262 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
28263 * normal/completion.c (grub_normal_do_completion): Likewise.
28264 Reported by Hitoshi Ozeki.
28265
282662007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 28267
6139dcd9 28268 Do not use devices at boot in chainloading.
f19dbdb7 28269
6139dcd9 28270 * loader/i386/pc/chainloader.c (boot_drive): New variable.
28271 (boot_part_addr): Likewise.
28272 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
28273 with BOOT_DRIVE and BOOT_PART_ADDR.
28274 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
28275 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
28276
38da6516 282772007-08-29 Robert Millan <rmh@aybabtu.com>
28278
28279 Patch from Simon Peter <dn.tlp@gmx.net>:
28280 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
28281 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
28282 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
28283 util/i386/pc/grub-setup.c_DEPENDENCIES.
28284 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
28285 util/grub-probe.c_DEPENDENCIES.
28286 * conf/powerpc-ieee1275.rmk: Likewise.
28287
29d0928c 282882007-08-28 Robert Millan <rmh@aybabtu.com>
28289
28290 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
28291 to tell grub-mkdevicemap how to name devices.
28292 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
28293 feature).
28294
28295 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
28296 util/i386/get_disk_name.c.
28297 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
28298 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
28299 util/ieee1275/get_disk_name.c.
28300
28301 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
28302
28303 * DISTLIST: Add util/i386/get_disk_name.c and
28304 util/ieee1275/get_disk_name.c.
28305
28306 * util/grub-mkdevicemap.c: Replace device naming logic with
28307 grub_util_get_disk_name() calls.
28308
5a0d3cca 283092007-08-20 Robert Millan <rmh@aybabtu.com>
28310
28311 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
28312 (so that it works for both plural and singular quantities).
28313
8b72db2f 283142007-08-05 Robert Millan <rmh@aybabtu.com>
28315
28316 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
28317 so that [xz] isn't taken into account when determining order.
28318
352466bf 283192007-08-02 Marco Gerards <marco@gnu.org>
28320
28321 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
28322 `include/multiboot2.h', `include/grub/elfload.h',
28323 `include/multiboot.h', `include/grub/multiboot.h',
28324 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
28325 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
28326 `kern/elf.c', `loader/multiboot_loader.c',
28327 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
28328 `loader/i386/pc/multiboot2.c',
28329 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
28330 `util/i386/pc/grub-mkrescue.in'. Remove
28331 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
28332 `include/grub/i386/pc/util/biosdisk.h' and
28333 `include/grub/powerpc/ieee1275/multiboot.h'.
28334
8f096014 283352007-08-02 Bean <bean123ch@gmail.com>
28336
28337 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
28338 (ntfs_mod_SOURCES): New variable.
28339 (ntfs_mod_CFLAGS): Likewise.
28340 (ntfs_mod_LDFLAGS): Likewise.
28341
28342 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
28343 (grub_probe_SOURCES): Likewise.
28344 (grub_emu_SOURCES): Likewise.
28345
28346 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
28347 (grub_emu_SOURCES): Likewise.
28348
28349 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
28350 (grub_emu_SOURCES): Likewise.
f19dbdb7 28351
8f096014 28352 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
28353
28354 * fs/ntfs.c: New file.
28355
9959f7db 283562007-08-02 Bean <bean123ch@gmail.com>
28357
28358 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
28359
28360 * file.h (grub_file): Likewise.
28361
28362 * fshelp.h (grub_fshelp_read_file): Likewise.
28363
28364 * util/i386/pc/grub-setup.c (setup): Likewise.
28365 (save_first_sector): Likewise.
28366 (save_blocklists): Likewise.
f19dbdb7 28367
9959f7db 28368 * fs/affs.c (grub_affs_read_file): Likewise.
28369
28370 * fs/ext2.c (grub_ext2_read_file): Likewise.
28371
28372 * fs/fat.c (grub_fat_read_data): Likewise.
28373
28374 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
28375
28376 * fs/hfs.c (grub_hfs_read_file): Likewise.
28377
28378 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
28379
28380 * fs/jfs.c (grub_jfs_read_file): Likewise.
28381
28382 * fs/minix.c (grub_minix_read_file): Likewise.
28383
28384 * fs/sfs.c (grub_sfs_read_file): Likewise.
28385
28386 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 28387
9959f7db 28388 * fs/xfs.c (grub_xfs_read_file): Likewise.
28389
28390 * command/blocklist.c (read_blocklist): Likewise.
28391 (print_blocklist): Likewise.
28392
0a203f83 283932007-08-02 Marco Gerards <marco@gnu.org>
28394
28395 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
28396 `util/hostfs.c'.
28397
28398 * disk/host.c: New file.
28399
28400 * util/hostfs.c: Likewise.
28401
28402 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
28403 return `GRUB_ERR_BAD_FS'.
28404 * fs/sfs.c (grub_sfs_mount): Likewise.
28405 * fs/xfs.c (grub_xfs_mount): Likewise.
28406
28407 * include/grub/disk.h (enum grub_disk_dev_id): Add
28408 `GRUB_DISK_DEVICE_HOST_ID'.
28409
28410 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
28411
e5dfe777 284122007-07-24 Jerone Young <jerone@gmail.com>
28413
f19dbdb7 28414 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 28415 modules for compilation.
28416 * conf/powerpc-ieee1275.rmk: Likewise.
28417
28418 * include/multiboot.h: Move multiboot definitions to one file. Rename
28419 many definitions to not get grub specific.
28420 * include/multiboot2.h: Create header with multiboot 2 definitions.
28421 * include/grub/multiboot.h: Header for grub specific function
28422 prototypes and definitions.
28423 * include/grub/multiboot2.h: Likewise.
28424 * include/grub/multiboot_loader.h: Likewise.
28425 * include/grub/i386/pc/multiboot.h: Removed.
28426 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
28427
28428 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
28429 and 2 to allow for one multiboot and module commands.
28430 * loader/multiboot2.c: Add multiboot2 functionality.
28431 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
28432 and definition names.
28433 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
28434 2 functions.
28435 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
28436 ieee1275 specific multiboot2 code.
28437
28438 * kern/i386/pc/startup.S: Change headers and definition names for
28439 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
28440
daf0f0ba 284412007-07-22 Robert Millan <rmh@aybabtu.com>
28442
28443 * geninitheader.sh: Process file specified in first parameter rather
28444 than hardcoding grub_modules_init.lst.
fe6b695a 28445 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 28446 than hardcoding grub_modules_init.h.
28447
28448 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
28449 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
28450 grub_probe_init.[ch] and grub_setup_init.[ch].
28451
28452 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
28453 grub_modules_init.h with grub_emu_init.h.
28454 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
28455 grub_probe_init.[ch] files.
28456 * conf/i386-efi.rmk: Likewise.
28457 * conf/i386-pc.rmk: Likewise.
28458 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
28459 grub_setup_init.[ch] files.
28460
28461 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
28462 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
28463 to initialize modules rather than a list of hardcoded functions.
28464 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
28465 grub_init_all() to initialize modules rather than a list of hardcoded
28466 functions.
28467
54cdc1cc 284682007-07-22 Robert Millan <rmh@aybabtu.com>
28469
28470 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
28471 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
28472
ad0686cc 284732007-07-22 Robert Millan <rmh@aybabtu.com>
28474
28475 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
28476 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
28477 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
28478 flag when running on SmartFirmware.
28479 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
28480 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
28481 was set.
28482
28483 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
28484 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
28485 rather than decreasing it.
28486
28487 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
28488 there's not enough space to do it, fail in the same way as when it
28489 can't be done because there are no partitions.
28490
28491 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
28492 when nvsetenv failed.
28493
969c02ec 284942007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
28495
28496 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
28497 because this rule is automatically generated.
28498 (grub-mkrescue): Removed for the same reason as above.
28499
5a79f472 285002007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
28501
28502 Migrate to GNU General Public License Version 3.
f19dbdb7 28503
5a79f472 28504 * COPYING: Replaced with the plain text version of GPLv3.
28505
28506 * config.guess: Updated from gnulib.
28507 * config.sub: Likewise.
28508
28509 * geninit.sh: Output a GPLv3 copyright notice.
28510 * geninitheader.sh: Likewise.
28511 * genmodsrc.sh: Likewise.
28512 * gensymlist.sh.in: Likewise.
28513
28514 * boot/i386/pc/boot.S: Upgraded to GPLv3.
28515 * boot/i386/pc/diskboot.S: Likewise.
28516 * boot/i386/pc/pxeboot.S: Likewise.
28517 * commands/blocklist.c: Likewise.
28518 * commands/boot.c: Likewise.
28519 * commands/cat.c: Likewise.
28520 * commands/cmp.c: Likewise.
28521 * commands/configfile.c: Likewise.
28522 * commands/echo.c: Likewise.
28523 * commands/help.c: Likewise.
28524 * commands/ls.c: Likewise.
28525 * commands/search.c: Likewise.
28526 * commands/terminal.c: Likewise.
28527 * commands/test.c: Likewise.
28528 * commands/videotest.c: Likewise.
28529 * commands/i386/cpuid.c: Likewise.
28530 * commands/i386/pc/halt.c: Likewise.
28531 * commands/i386/pc/play.c: Likewise.
28532 * commands/i386/pc/reboot.c: Likewise.
28533 * commands/i386/pc/vbeinfo.c: Likewise.
28534 * commands/i386/pc/vbetest.c: Likewise.
28535 * commands/ieee1275/halt.c: Likewise.
28536 * commands/ieee1275/reboot.c: Likewise.
28537 * commands/ieee1275/suspend.c: Likewise.
28538 * disk/loopback.c: Likewise.
28539 * disk/lvm.c: Likewise.
28540 * disk/raid.c: Likewise.
28541 * disk/efi/efidisk.c: Likewise.
28542 * disk/i386/pc/biosdisk.c: Likewise.
28543 * disk/ieee1275/ofdisk.c: Likewise.
28544 * font/manager.c: Likewise.
28545 * fs/affs.c: Likewise.
28546 * fs/ext2.c: Likewise.
28547 * fs/fat.c: Likewise.
28548 * fs/fshelp.c: Likewise.
28549 * fs/hfs.c: Likewise.
28550 * fs/hfsplus.c: Likewise.
28551 * fs/iso9660.c: Likewise.
28552 * fs/jfs.c: Likewise.
28553 * fs/minix.c: Likewise.
28554 * fs/sfs.c: Likewise.
28555 * fs/ufs.c: Likewise.
28556 * fs/xfs.c: Likewise.
28557 * hello/hello.c: Likewise.
28558 * include/grub/acorn_filecore.h: Likewise.
28559 * include/grub/arg.h: Likewise.
28560 * include/grub/bitmap.h: Likewise.
28561 * include/grub/boot.h: Likewise.
28562 * include/grub/cache.h: Likewise.
28563 * include/grub/device.h: Likewise.
28564 * include/grub/disk.h: Likewise.
28565 * include/grub/dl.h: Likewise.
28566 * include/grub/elfload.h: Likewise.
28567 * include/grub/env.h: Likewise.
28568 * include/grub/err.h: Likewise.
28569 * include/grub/file.h: Likewise.
28570 * include/grub/font.h: Likewise.
28571 * include/grub/fs.h: Likewise.
28572 * include/grub/fshelp.h: Likewise.
28573 * include/grub/gzio.h: Likewise.
28574 * include/grub/hfs.h: Likewise.
28575 * include/grub/kernel.h: Likewise.
28576 * include/grub/loader.h: Likewise.
28577 * include/grub/lvm.h: Likewise.
28578 * include/grub/misc.h: Likewise.
28579 * include/grub/mm.h: Likewise.
28580 * include/grub/net.h: Likewise.
28581 * include/grub/normal.h: Likewise.
28582 * include/grub/parser.h: Likewise.
28583 * include/grub/partition.h: Likewise.
28584 * include/grub/pc_partition.h: Likewise.
28585 * include/grub/raid.h: Likewise.
28586 * include/grub/rescue.h: Likewise.
28587 * include/grub/script.h: Likewise.
28588 * include/grub/setjmp.h: Likewise.
28589 * include/grub/symbol.h: Likewise.
28590 * include/grub/term.h: Likewise.
28591 * include/grub/terminfo.h: Likewise.
28592 * include/grub/tparm.h: Likewise.
28593 * include/grub/types.h: Likewise.
28594 * include/grub/video.h: Likewise.
28595 * include/grub/efi/api.h: Likewise.
28596 * include/grub/efi/chainloader.h: Likewise.
28597 * include/grub/efi/console.h: Likewise.
28598 * include/grub/efi/console_control.h: Likewise.
28599 * include/grub/efi/disk.h: Likewise.
28600 * include/grub/efi/efi.h: Likewise.
28601 * include/grub/efi/pe32.h: Likewise.
28602 * include/grub/efi/time.h: Likewise.
28603 * include/grub/i386/linux.h: Likewise.
28604 * include/grub/i386/setjmp.h: Likewise.
28605 * include/grub/i386/types.h: Likewise.
28606 * include/grub/i386/efi/kernel.h: Likewise.
28607 * include/grub/i386/efi/loader.h: Likewise.
28608 * include/grub/i386/efi/time.h: Likewise.
28609 * include/grub/i386/pc/biosdisk.h: Likewise.
28610 * include/grub/i386/pc/boot.h: Likewise.
28611 * include/grub/i386/pc/chainloader.h: Likewise.
28612 * include/grub/i386/pc/console.h: Likewise.
28613 * include/grub/i386/pc/init.h: Likewise.
28614 * include/grub/i386/pc/kernel.h: Likewise.
28615 * include/grub/i386/pc/loader.h: Likewise.
28616 * include/grub/i386/pc/memory.h: Likewise.
28617 * include/grub/i386/pc/multiboot.h: Likewise.
28618 * include/grub/i386/pc/serial.h: Likewise.
28619 * include/grub/i386/pc/time.h: Likewise.
28620 * include/grub/i386/pc/vbe.h: Likewise.
28621 * include/grub/i386/pc/vbeblit.h: Likewise.
28622 * include/grub/i386/pc/vbefill.h: Likewise.
28623 * include/grub/i386/pc/vbeutil.h: Likewise.
28624 * include/grub/i386/pc/vga.h: Likewise.
28625 * include/grub/ieee1275/ieee1275.h: Likewise.
28626 * include/grub/ieee1275/ofdisk.h: Likewise.
28627 * include/grub/powerpc/libgcc.h: Likewise.
28628 * include/grub/powerpc/setjmp.h: Likewise.
28629 * include/grub/powerpc/types.h: Likewise.
28630 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
28631 * include/grub/powerpc/ieee1275/console.h: Likewise.
28632 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
28633 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28634 * include/grub/powerpc/ieee1275/loader.h: Likewise.
28635 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
28636 * include/grub/powerpc/ieee1275/time.h: Likewise.
28637 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
28638 * include/grub/sparc64/libgcc.h: Likewise.
28639 * include/grub/sparc64/setjmp.h: Likewise.
28640 * include/grub/sparc64/types.h: Likewise.
28641 * include/grub/sparc64/ieee1275/console.h: Likewise.
28642 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28643 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28644 * include/grub/sparc64/ieee1275/time.h: Likewise.
28645 * include/grub/util/biosdisk.h: Likewise.
28646 * include/grub/util/getroot.h: Likewise.
28647 * include/grub/util/lvm.h: Likewise.
28648 * include/grub/util/misc.h: Likewise.
28649 * include/grub/util/raid.h: Likewise.
28650 * include/grub/util/resolve.h: Likewise.
28651 * io/gzio.c: Likewise.
28652 * kern/device.c: Likewise.
28653 * kern/disk.c: Likewise.
28654 * kern/dl.c: Likewise.
28655 * kern/elf.c: Likewise.
28656 * kern/env.c: Likewise.
28657 * kern/err.c: Likewise.
28658 * kern/file.c: Likewise.
28659 * kern/fs.c: Likewise.
28660 * kern/loader.c: Likewise.
28661 * kern/main.c: Likewise.
28662 * kern/misc.c: Likewise.
28663 * kern/mm.c: Likewise.
28664 * kern/parser.c: Likewise.
28665 * kern/partition.c: Likewise.
28666 * kern/rescue.c: Likewise.
28667 * kern/term.c: Likewise.
28668 * kern/efi/efi.c: Likewise.
28669 * kern/efi/init.c: Likewise.
28670 * kern/efi/mm.c: Likewise.
28671 * kern/i386/dl.c: Likewise.
28672 * kern/i386/efi/init.c: Likewise.
28673 * kern/i386/efi/startup.S: Likewise.
28674 * kern/i386/pc/init.c: Likewise.
28675 * kern/i386/pc/lzo1x.S: Likewise.
28676 * kern/i386/pc/startup.S: Likewise.
28677 * kern/ieee1275/ieee1275.c: Likewise.
28678 * kern/powerpc/cache.S: Likewise.
28679 * kern/powerpc/dl.c: Likewise.
28680 * kern/powerpc/ieee1275/cmain.c: Likewise.
28681 * kern/powerpc/ieee1275/crt0.S: Likewise.
28682 * kern/powerpc/ieee1275/init.c: Likewise.
28683 * kern/powerpc/ieee1275/openfw.c: Likewise.
28684 * kern/sparc64/cache.S: Likewise.
28685 * kern/sparc64/dl.c: Likewise.
28686 * kern/sparc64/ieee1275/init.c: Likewise.
28687 * kern/sparc64/ieee1275/openfw.c: Likewise.
28688 * loader/efi/chainloader.c: Likewise.
28689 * loader/efi/chainloader_normal.c: Likewise.
28690 * loader/i386/efi/linux.c: Likewise.
28691 * loader/i386/efi/linux_normal.c: Likewise.
28692 * loader/i386/pc/chainloader.c: Likewise.
28693 * loader/i386/pc/chainloader_normal.c: Likewise.
28694 * loader/i386/pc/linux.c: Likewise.
28695 * loader/i386/pc/linux_normal.c: Likewise.
28696 * loader/i386/pc/multiboot.c: Likewise.
28697 * loader/i386/pc/multiboot_normal.c: Likewise.
28698 * loader/powerpc/ieee1275/linux.c: Likewise.
28699 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28700 * normal/arg.c: Likewise.
28701 * normal/cmdline.c: Likewise.
28702 * normal/command.c: Likewise.
28703 * normal/completion.c: Likewise.
28704 * normal/execute.c: Likewise.
28705 * normal/function.c: Likewise.
28706 * normal/lexer.c: Likewise.
28707 * normal/main.c: Likewise.
28708 * normal/menu.c: Likewise.
28709 * normal/menu_entry.c: Likewise.
28710 * normal/misc.c: Likewise.
28711 * normal/parser.y: Likewise.
28712 * normal/script.c: Likewise.
28713 * normal/i386/setjmp.S: Likewise.
28714 * normal/powerpc/setjmp.S: Likewise.
28715 * normal/sparc64/setjmp.S: Likewise.
28716 * partmap/acorn.c: Likewise.
28717 * partmap/amiga.c: Likewise.
28718 * partmap/apple.c: Likewise.
28719 * partmap/gpt.c: Likewise.
28720 * partmap/pc.c: Likewise.
28721 * partmap/sun.c: Likewise.
28722 * term/gfxterm.c: Likewise.
28723 * term/terminfo.c: Likewise.
28724 * term/efi/console.c: Likewise.
28725 * term/i386/pc/console.c: Likewise.
28726 * term/i386/pc/serial.c: Likewise.
28727 * term/i386/pc/vesafb.c: Likewise.
28728 * term/i386/pc/vga.c: Likewise.
28729 * term/ieee1275/ofconsole.c: Likewise.
28730 * util/biosdisk.c: Likewise.
28731 * util/console.c: Likewise.
28732 * util/genmoddep.c: Likewise.
28733 * util/getroot.c: Likewise.
28734 * util/grub-emu.c: Likewise.
28735 * util/grub-mkdevicemap.c: Likewise.
28736 * util/grub-probe.c: Likewise.
28737 * util/lvm.c: Likewise.
28738 * util/misc.c: Likewise.
28739 * util/raid.c: Likewise.
28740 * util/resolve.c: Likewise.
28741 * util/update-grub.in: Likewise.
28742 * util/update-grub_lib.in: Likewise.
28743 * util/grub.d/00_header.in: Likewise.
28744 * util/grub.d/10_hurd.in: Likewise.
28745 * util/grub.d/10_linux.in: Likewise.
28746 * util/i386/efi/grub-install.in: Likewise.
28747 * util/i386/efi/grub-mkimage.c: Likewise.
28748 * util/i386/pc/grub-install.in: Likewise.
28749 * util/i386/pc/grub-mkimage.c: Likewise.
28750 * util/i386/pc/grub-mkrescue.in: Likewise.
28751 * util/i386/pc/grub-setup.c: Likewise.
28752 * util/i386/pc/misc.c: Likewise.
28753 * util/powerpc/ieee1275/grub-install.in: Likewise.
28754 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
28755 * util/powerpc/ieee1275/misc.c: Likewise.
28756 * video/bitmap.c: Likewise.
28757 * video/video.c: Likewise.
28758 * video/i386/pc/vbe.c: Likewise.
28759 * video/i386/pc/vbeblit.c: Likewise.
28760 * video/i386/pc/vbefill.c: Likewise.
28761 * video/i386/pc/vbeutil.c: Likewise.
28762 * video/readers/tga.c: Likewise.
28763
3572d015 287642007-07-02 Robert Millan <rmh@aybabtu.com>
28765
28766 * conf/i386-efi.rmk: Replace obsolete reference to
28767 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
28768 with util/getroot.c.
28769 * conf/powerpc-ieee1275.rmk: Likewise.
28770 * conf/sparc64-ieee1275.rmk: Likewise.
28771
28772 * util/grub-emu.c (main): Fix unchecked pointer handling.
28773
2c2a681b 287742007-07-02 Robert Millan <rmh@aybabtu.com>
28775
28776 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
28777 invocation to fail, in order to support partition-less media.
28778
28779 * util/i386/pc/grub-install.in: Likewise.
28780
28781 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
28782 which fs or partmap modules are needed (akin to its sister scripts).
28783
28784 Also use grub-probe to get rid of unportable /proc/mounts check.
28785
28786 Print the same informational message that the other scripts do, before
fe6b695a 28787 exiting.
2c2a681b 28788
6193defe 287892007-06-23 Robert Millan <rmh@aybabtu.com>
28790
fe6b695a 28791 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 28792 a font file can be found and, if so, echo the GRUB path to it.
28793
28794 * util/update-grub.in: Handle multiple terminals depending on user
28795 input, platform availability and font file presence. Propagate
28796 variables of our findings to /etc/grub.d/ children.
28797
28798 * util/grub.d/00_header.in: Handle multiple terminals, based on
28799 environment setup by update-grub.
28800
eface1dc 288012007-06-23 Robert Millan <rmh@aybabtu.com>
28802
ba50d28f 28803 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 28804
bf697e28 288052007-06-21 Robert Millan <rmh@aybabtu.com>
28806
28807 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
28808 indicate end of data section in kernel image.
28809 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
28810 GRUB_KERNEL_MACHINE_DATA_END.
28811
28812 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
28813 space for it.
28814 * kern/i386/efi/startup.S: Likewise.
28815
28816 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
28817 during image generation. Implement --prefix option to override this
28818 patch.
28819 * util/i386/efi/grub-mkimage.c: Likewise.
28820
28821 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
28822 code to make path relative to its root into a separate function.
28823
28824 * util/i386/pc/grub-install.in: Use newly provided
28825 make_system_path_relative_to_its_root() to convert ${grubdir}, then
28826 pass the result to grub-install --prefix.
28827
baa574b4 288282007-06-13 Robert Millan <rmh@aybabtu.com>
28829
28830 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
28831 DEFAULT_DEVICE_MAP.
28832 * util/grub-emu.c: Use above definitions from misc.h instead of
28833 defining them.
28834 * util/grub-mkdevicemap.c: Likewise.
28835 * util/i386/pc/grub-setup.c: Likewise.
28836 * util/grub-probe.c: Likewise.
28837 (probe): Abort with grub_util_error() when either
28838 grub_guess_root_device or grub_util_get_grub_dev fails.
28839
0215dcbf 288402007-06-12 Robert Millan <rmh@aybabtu.com>
28841
28842 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
28843 "pager" assignment.
28844 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
28845 "pcdata".
28846 * util/grub-probe.c (probe): Likewise for "drive_name".
28847
8af2ab7b 288482007-06-11 Robert Millan <rmh@aybabtu.com>
28849
28850 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
28851 not just the cdrom one.
28852
59d31694 288532007-06-11 Robert Millan <rmh@aybabtu.com>
28854
28855 * util/i386/pc/grub-mkrescue.in: Add "set -e".
28856 Add --pkglibdir=DIR option to override pkglibdir.
28857 Mention --image-type=TYPE in help output.
28858 Fix --grub-mkimage (it was a no-op).
fe6b695a 28859 Abort gracefully when no parameter is given.
59d31694 28860
7ee367e4 288612007-06-11 Robert Millan <rmh@aybabtu.com>
28862
28863 * util/i386/pc/grub-mkrescue.in: New file.
28864 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
28865 * Makefile.in: Handle bin_SCRIPTS.
28866
29b0ed46 288672007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
28868
28869 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
28870 list of video modes.
28871
c0f90770 288722007-06-06 Robert Millan <rmh@aybabtu.com>
28873
28874 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
28875 file doesn't exist, or if it is in a filesystem grub can't read.
28876
28877 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
28878 not abort if GRUB_DRIVE could not be defined. Rearrange generated
28879 header comment to fit in 80 columns when the variables are resolved.
28880
28881 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
28882 could be identified by update-grub. Remove redundant check for
fe6b695a 28883 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 28884 handles that).
28885
fb36dc26 288862007-06-04 Robert Millan <rmh@aybabtu.com>
28887
28888 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
28889
28890 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
28891
28892 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
28893
0c68c93e 288942007-06-04 Robert Millan <rmh@aybabtu.com>
28895
28896 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
28897
28898 * include/grub/partition.h: Declare grub_apple_partition_map_init and
28899 grub_apple_partition_map_fini.
28900
28901 * util/biosdisk.c
28902 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
28903 to access >2 TiB disks).
28904
28905 Print disk->total_sectors with %llu instead of %lu, since this
28906 variable is always 64-bit (prevents wrong disk size from being displayed
28907 on either >2 TiB disk or big-endian CPU).
28908
28909 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
28910 into a generic case that supports all (sane) partition maps.
28911
28912 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
28913 breaks big-endian.
28914
28915 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
28916 and grub_apple_partition_map_fini() after that.
28917
0f23eb74 289182007-06-01 Robert Millan <rmh@aybabtu.com>
28919
28920 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
28921
28922 * util/grub.d/00_header.in: Only enable gfxterm when
28923 convert_system_path_to_grub_path() succeeds.
28924
42c71976 289252007-05-20 Robert Millan <rmh@aybabtu.com>
28926
28927 * util/update-grub_lib.in: New file.
28928 * DISTLIST: Add update-grub_lib.in.
28929 * conf/common.rmk: Generate update-grub_lib and install it in
28930 $(lib_DATA).
28931 * Makefile.in: Add install routine for $(lib_DATA).
28932
28933 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
28934 function provided by update-grub_lib to support arbitrary paths of
28935 unifont.pff.
28936 * util/update-grub.in: Use convert_system_path_to_grub_path() to
28937 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
28938
5beb2291 289392007-05-19 Robert Millan <rmh@aybabtu.com>
28940
28941 * commands/i386/cpuid.c: New module.
28942 * DISTLIST: Add it.
28943 * conf/i386-efi.rmk: Enable cpuid.mod.
28944 * conf/i386-pc.rmk: Likewise.
28945
7262eca1 289462007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28947
28948 * kern/disk.c (grub_disk_read): Check return value of
28949 grub_realloc().
28950
260ba823 289512007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28952
28953 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
28954 arrays.
28955 * disk/raid.c (grub_raid_open): Likewise.
28956
1ecb6cf2 289572007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28958
28959 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
28960 stack instead of on the heap.
28961
28962 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
28963 before doing a read on it.
28964
28965 * configure.ac: Only use -fno-stack-protector for the target
28966 environment.
f19dbdb7 28967
21c8cbb1 289682007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28969
28970 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
28971 __attribute_ ((unused)) to mode_type argument.
28972
28973 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 28974
21c8cbb1 28975 * kern/misc.c (memcmp): Fix prototype.
28976
28977 * include/grub/partition.h [GRUB_UTIL]
28978 (grub_gpt_partition_map_init): Add prototype.
28979 (grub_gpt_partition_map_fini): Likewise.
28980
28981 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
28982 at the right place.
28983
28984 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
28985 (grub_fat_read_data): Likewise.
28986 (grub_fat_find_dir): Likewise.
28987
28988 * font/manager.c (find_glyph): Make table a const.
28989 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 28990
849d55d3 289912007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
28992
28993 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
28994 code, first search for device in /dev/mapper, then in /dev.
28995 (grub_util_get_grub_dev): New function.
28996 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
28997 prototype.
28998 * util/grub-probe.c (probe): Remove check for RAID, call
28999 grub_util_get_grub_dev() instead of
29000 grub_util_biosdisk_get_grub_dev().
29001 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
29002 grub_util_biosdisk_get_grub_dev().
29003 * util/i386/pc/grub-setup.c (main): Likewise.
29004
8fff7c2f 290052007-05-16 Robert Millan <rmh@aybabtu.com>
29006
29007 * DISTLIST: Update for the latest changes.
29008 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
29009 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
29010 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
29011 grub/util/biosdisk.h.
29012 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
29013 grub/util/biosdisk.h.
29014
48e12b52 290152007-05-16 Robert Millan <rmh@aybabtu.com>
29016
29017 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
29018
46b9d128 290192007-05-16 Robert Millan <rmh@aybabtu.com>
29020
29021 * util/i386/efi/grub-install.in: New.
29022 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
29023 newly added grub-install.
29024 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
29025 include.
29026 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
29027 grub/util/biosdisk.h.
29028 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
29029 grub/util/biosdisk.h.
29030
2d1a40a9 290312007-05-16 Robert Millan <rmh@aybabtu.com>
29032
29033 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
29034 * include/grub/util/biosdisk.h: ... here.
29035 * util/i386/pc/biosdisk.c: Moved to ...
29036 * util/biosdisk.c: ... here.
29037 * util/i386/pc/getroot.c: Moved to ...
29038 * util/getroot.c: ... here.
29039 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
29040 * util/grub-mkdevicemap.c: ... here.
29041 * util/i386/pc/grub-probe.c: Moved to ...
29042 * util/grub-probe.c: ... here.
29043
9e26e3bc 290442007-05-15 Robert Millan <rmh@aybabtu.com>
29045
29046 * util/update-grub.in: Remove duplicated line in grub.cfg header
29047 message.
29048
57f96397 290492007-05-13 Robert Millan <rmh@aybabtu.com>
29050
29051 * util/update-grub.in: Fix a few assumptions about the devices holding
29052 /, /boot and /boot/grub being the same.
29053 * util/grub.d/00_header.in: Likewise.
29054 * util/grub.d/10_hurd.in: Likewise.
29055 * util/grub.d/10_linux.in: Likewise.
29056
29057 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
29058 patterns. Use that to define the `.old' suffix as older than `'.
29059
29060 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
29061
29062 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
29063 the grub.cfg header message.
29064
2e610d62 290652007-05-11 Robert Millan <rmh@aybabtu.com>
29066
29067 * util/update-grub.in: Create device.map if it doesn't already exist,
29068 before attempting to run grub-probe.
29069 Check for grub-probe and grub-mkdevicemap with the same code
29070 grub-install is using.
29071 Remove test mode.
29072
3f6a10ef 290732007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
29074
29075 * Makefile.in: Add the datarootdir autoconf variable.
29076
02e7b75e 290772007-05-09 Robert Millan <rmh@aybabtu.com>
29078
29079 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 29080 fail gracefully if dev->disk->partition == NULL.
02e7b75e 29081
75f396cc 290822007-05-07 Robert Millan <rmh@aybabtu.com>
29083
29084 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
29085 determine partition map module.
29086 * util/i386/pc/grub-install.in: Use this feature to decide which
29087 partition module to load, instead of hardcoding pc and gpt.
29088
da65cb36 290892007-05-07 Robert Millan <rmh@aybabtu.com>
29090
29091 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
29092 source directory differs from build directory.
29093
b57d6a91 290942007-05-05 Robert Millan <rmh@aybabtu.com>
29095
29096 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
29097 initialisation.
29098
509d00f1 290992007-05-05 Robert Millan <rmh@aybabtu.com>
29100
29101 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
29102
c48f23ef 291032007-05-05 Robert Millan <rmh@aybabtu.com>
29104
29105 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
29106 command-line arguments via ${GRUB_CMDLINE_LINUX}.
29107
20b97658 291082007-05-05 Robert Millan <rmh@aybabtu.com>
29109
29110 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
29111 (grub_probe_SOURCES): Likewise.
29112 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
29113 GPT and initialize dos_part and bsd_part accordingly.
29114 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
29115 install_bsd_part.
29116 (main): Activate gpt module for use during partition identification,
29117 and deactivate it afterwards.
29118 * util/i386/pc/grub-install.in: Add gpt module to core.img.
29119 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
29120 partition identification, and deactivate it afterwards.
29121
99123174 291222007-05-05 Robert Millan <rmh@aybabtu.com>
29123
29124 * term/i386/pc/console.c (grub_console_fini): Call
29125 grub_term_set_current() before grub_term_unregister().
29126
ebd97f6e 291272007-05-04 Robert Millan <rmh@aybabtu.com>
29128
29129 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
29130 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
29131 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
29132 and update-grub_DATA.
29133 * conf/common.rmk: Build and install update-grub components.
29134 * conf/common.mk: Regenerate.
29135 * util/update-grub.in: New. Core of update-grub.
29136 * util/grub.d/00_header.in: New. Generates grub.cfg header.
29137 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
29138 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
29139 * util/grub.d/README: New. Document grub.d directory layout.
29140
b06a264d 291412007-05-01 Robert Millan <rmh@aybabtu.com>
29142
29143 * util/grub-emu.c: Move initialization functions
29144 grub_util_biosdisk_init() and grub_init_all() before
29145 grub_util_biosdisk_get_grub_dev(), which relies on them.
29146
41f0050e 291472007-04-19 Robert Millan <rmh@aybabtu.com>
29148
29149 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
29150 it is used later.
29151
04582bb3 291522007-04-18 Jerone Young <jerone@gmail.com>
29153
f19dbdb7 29154 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 29155 stanza.
29156
08db4632 291572007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 29158
08db4632 29159 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
29160 continue on and look for device node with real device name.
29161
801b76be 291622007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 29163
fe6b695a 29164 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 29165 ability.
29166 * Makefile.in: Add autoconf package transformation code.
29167 * util/i386/pc/grub-install.in: Likewise.
29168 * util/powerpc/ieee1275/grub-install.in: Likewise.
29169
6795c4e1 291702007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
29171
29172 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
29173 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
29174 (EXT2_REVISION): Likewise.
29175 (EXT2_INODE_SIZE): Likewise.
29176 (struct grub_ext2_block_group): Added a missing member
29177 "used_dirs".
29178 (grub_ext2_read_inode): Divide by the inode size in a superblock
29179 instead of 128 to obtain INODES_PER_BLOCK.
29180 Use the macro EXT2_INODE_SIZE instead of directly using
29181 SBLOCK->INODE_SIZE.
29182
d70af616 291832007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
29184
29185 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
29186 superblock instead of the structure size to compute an
29187 offset. This fixes the problem that GRUB could not read a
29188 filesystem when inode size is different from 128-byte.
29189
3b801603 291902007-03-05 Marco Gerards <marco@gnu.org>
29191
29192 * normal/main.c (read_config_file): When "menu" is not set, create
29193 an initial context.
29194
4785bfe4 291952007-02-21 Hollis Blanchard <hollis@penguinppc.org>
29196
29197 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
29198 (HEAP_LIMIT): New macro.
29199 (grub_claim_heap): Claim memory up to `heaplimit'.
29200
a0cbb023 292012007-02-21 Hollis Blanchard <hollis@penguinppc.org>
29202
29203 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
29204 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
29205 (_start): Likewise.
29206 (grub_arch_modules_addr): Return address after `_end'.
29207 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
29208 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
29209 (add_segments): Calculate `_end' from phdr size and location.
29210 (ALIGN_UP): Moved to ...
29211 * include/grub/misc.h: here.
29212 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
29213 New macro.
29214 (GRUB_IEEE1275_MODULE_BASE): Removed.
29215
fd7d8eba 292162007-02-20 Hollis Blanchard <hollis@penguinppc.org>
29217
29218 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
29219 loop boundary.
29220
9b09e6fc 292212007-02-20 Hollis Blanchard <hollis@penguinppc.org>
29222
29223 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
29224 All users updated.
29225 (grub_elf64_load_hook_t): Likewise.
29226 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
29227 debug output.
29228
3ce27299 292292007-02-20 Hollis Blanchard <hollis@penguinppc.org>
29230
29231 * kern/mm.c: Update copyright.
29232 (grub_mm_debug): Correct syntax error.
29233 (grub_mm_dump_free): New function.
29234 (grub_debug_free): Call `grub_free'.
29235 * include/grub/mm.h: Update copyright.
29236 (grub_mm_dump_free): Add declaration.
29237
077d5fee 292382007-02-12 Hollis Blanchard <hollis@penguinppc.org>
29239
29240 * include/grub/ieee1275/ieee1275.h: Update copyright.
29241 * kern/powerpc/ieee1275/init.c: Likewise.
29242 * kern/powerpc/ieee1275/openfw.c: Likewise.
29243
29244 * loader/powerpc/ieee1275/linux.c: Likewise.
29245 * include/grub/elfload.h: Likewise.
29246 * kern/elf.c: Likewise.
29247 (grub_elf32_load): Pass `base' and `size' parameters. Update all
29248 callers.
29249 (grub_elf64_load): Likewise.
29250 (grub_elf32_load_segment): Move to a nested function.
29251 (grub_elf64_load_segment): Likewise.
29252
dc946850 292532007-02-12 Hollis Blanchard <hollis@penguinppc.org>
29254
29255 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
29256 prototype.
29257 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
29258 (grub_heap_len): Likewise.
29259 (HEAP_SIZE): New macro.
29260 (grub_claim_heap): New function.
29261 (grub_machine_init): Don't claim heap directly. Call
29262 `grub_claim_heap'.
29263 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
29264 (grub_available_iterate): New function.
29265
baa2a121 292662007-02-03 Thomas Schwinge <tschwinge@gnu.org>
29267
29268 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
29269 * configure.ac: Use it for testing the HOST and TARGET compilers.
29270
4fe9862e 292712006-12-13 Thomas Schwinge <tschwinge@gnu.org>
29272
29273 * Makefile.in (enable_grub_emu): New variable.
29274 * configure.ac (--enable-grub-emu): New option.
29275 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
29276 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
29277 * conf/i386-pc.rmk: Likewise.
29278 * conf/powerpc-ieee1275.rmk: Likewise.
29279 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
29280
a8aa5762 292812006-12-12 Marco Gerards <marco@gnu.org>
29282
29283 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
29284
29285 * kern/env.c (grub_env_unset): Don't free the member `value' when
29286 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
29287 pointer.
29288
29289 * normal/main.c (current_menu): Removed.
29290 (free_menu): Unset the `menu' environment variable.
29291 (grub_normal_menu_addentry): Make use of the environment variable
29292 `menu', instead of using the global `current_menu'. Allocate
29293 memory for the sourcecode of this entry.
29294 (read_config_file): New argument `nested', changed all callers.
29295 Only in the case of a new context, initialize a new menu. Set the
29296 `menu' environment variable.
29297 (grub_normal_execute): Don't set and unset the environment
29298 variable `menu' here anymore. Only free the menu when leaving the
29299 context.
29300
29301 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
29302 leak.
29303
957b3a3e 293042006-12-11 Marco Gerards <marco@gnu.org>
29305
29306 * normal/menu_entry.c (run): Fix off by one bug so the last line
29307 is executed. Move the loader check to outside the loop.
29308
ef875714 293092006-12-08 Hollis Blanchard <hollis@penguinppc.org>
29310
29311 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
29312
4e739985 293132006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
29314
29315 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
29316 the number of sectors. Reported by Andrey Shuvikov
29317 <mr_hyro@yahoo.com>.
f19dbdb7 29318
790707f2 293192006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
29320
29321 * kern/disk.c (grub_disk_read): When there is a read error, always
29322 try to read only the necessary data.
f19dbdb7 29323
790707f2 29324 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
29325 disk/raid.c.
29326 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
29327 prototype.
29328 [GRUB_UTIL] (grub_raid_fini): Likewise.
29329 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 29330 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 29331 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
29332 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
29333 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
29334 and grub_raid_fini().
f19dbdb7 29335
03e58196 293362006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
29337
29338 * include/grub/types.h (__unused): Rename to UNUSED.
29339 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
29340 (grub_elf64_size): Likewise.
f19dbdb7 29341
ae4f23bf 293422006-11-03 Hollis Blanchard <hollis@penguinppc.org>
29343
29344 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
29345 grub_error_push and grub_error_pop in the error-handling path.
29346 (grub_elf32_load_segment): Only call grub_file_read with non-zero
29347 length.
29348
2166cc83 293492006-11-03 Hollis Blanchard <hollis@penguinppc.org>
29350
29351 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
29352 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29353 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29354 (kernel_elf_SOURCES): Likewise.
29355 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
29356 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
29357 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
29358 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
29359 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
29360 (elf_mod_SOURCES): New variable.
29361 (elf_mod_CFLAGS): Likewise.
29362 (elf_mod_LDFLAGS): Likewise.
29363 * include/grub/types.h (__unused): New macro.
29364 * include/grub/elfload.h: New file.
29365 * kern/elf.c: Likewise.
29366 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
29367 (ELF32_LOADMASK): New macro.
29368 (ELF64_LOADMASK): Likewise.
29369 (vmlinux): Removed.
29370 (grub_linux_load32): New function.
29371 (grub_linux_load64): Likewise.
29372 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
29373 Use grub_elf_t instead of grub_file_t.
29374
a09d5aa5 293752006-11-02 Hollis Blanchard <hollis@penguinppc.org>
29376
29377 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
29378 `catch_result' to struct set_color_args.
29379
d976fc51 293802006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
29381
29382 * normal/menu.c: Include grub/script.h.
29383 * normal/menu_entry.c: Likewise.
29384 * include/grub/normal.h: Do not include grub/script.h.
29385
67507549 293862006-10-27 Hollis Blanchard <hollis@penguinppc.org>
29387
29388 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
29389
69203a99 293902006-10-27 Hollis Blanchard <hollis@penguinppc.org>
29391
29392 * kern/disk.c (grub_disk_open): Print debug messages when opening a
29393 disk.
29394 (grub_disk_close): Print debug messages when closing a disk.
29395 (grub_disk_read): Print debug messages when disk read fails.
29396 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
29397 filesystem type.
29398 * kern/partition.c: Include misc.h.
29399 (grub_partition_iterate): Print debug messages when detecting
29400 partition type.
29401
e2b8278c 294022006-10-27 Hollis Blanchard <hollis@penguinppc.org>
29403
29404 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
29405 is negative.
29406 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
29407
97b2f2ff 294082006-10-26 Hollis Blanchard <hollis@penguinppc.org>
29409
29410 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
29411 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
29412
6555d655 294132006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
29414
29415 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
29416 instead of sizeof(lv). Patch by Michael Guntsche.
29417
4d42b77f 294182006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
29419
29420 * disk/lvm.c: Rename VGS to VG_LIST.
29421 (grub_lvm_iterate): Change VGS->LV to VG-LV.
29422 (grub_lvm_open): Likewise.
29423 Thanks to Michael Guntsche for finding this bug.
29424
5d74d927 294252006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29426
29427 * configure.ac (AC_INIT): Bumped to 1.95.
29428
a1bb27e4 294292006-10-14 Robert Millan <rmh@aybabtu.com>
29430
29431 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
29432 with "/dev/.static/dev/md".
29433
e0994b8b 294342006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
29435
29436 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
29437 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
29438 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
29439 DRIVE_NAME are always freed.
29440
29441 * util/i386/pc/biosdisk.c (make_device_name): Add one into
29442 DOS_PART, as a DOS partition is counted from one instead of zero
29443 now. Reported by Robert Millan.
29444
ddd5cee9 294452006-10-14 Robert Millan <rmh@aybabtu.com>
29446
29447 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
29448 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
29449 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
29450 string returned by grub_guess_root_device.
29451 * util/i386/pc/grub-setup.c: Likewise.
29452 * util/i386/pc/grub-probefs.c: Likewise.
29453
29454 * util/i386/pc/grub-probefs.c: Rename to ...
29455 * util/i386/pc/grub-probe.c: ... this.
29456 * DISTLIST: Remove grub-probefs, add grub-probe.
29457 * conf/i386-efi.rmk: Likewise.
29458 * conf/i386-pc.rmk: Likewise.
29459 * util/i386/pc/grub-install.in: Likewise.
29460
29461 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
29462 choose which information we want to print.
29463
2b002173 294642006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
29465
29466 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
29467 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
29468 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
29469 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
29470 video/readers/tga.c and video/i386/pc/vbeutil.c.
29471
294722006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
29473
29474 Added support for RAID and LVM.
f19dbdb7 29475
2b002173 29476 * disk/lvm.c: New file.
29477 * disk/raid.c: Likewise.
29478 * include/grub/lvm.h: Likewise.
f19dbdb7 29479 * include/grub/raid.h: Likewise.
2b002173 29480 * include/grub/util/lvm.h: Likewise.
29481 * include/grub/util/raid.h: Likewise.
29482 * util/lvm.c: Likewise.
29483 * util/raid.c: Likewise.
29484
29485 * include/grub/disk.h (grub_disk_dev_id): Add
29486 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
29487 (grub_disk_get_size): New prototype.
29488 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
29489 returns a partition.
29490 (grub_disk_get_size): New function.
f19dbdb7 29491
2b002173 29492 * kern/i386/pc/init.c (make_install_device): Copy the prefix
29493 verbatim if grub_install_dos_part is -2.
29494
29495 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
29496 and LVM devices.
29497
29498 * util/i386/pc/grub-setup.c (setup): New argument
29499 MUST_EMBED. Force embedding of GRUB when the argument is
29500 true. Close FILE before returning.
29501 (main): Add support for RAID and LVM.
f19dbdb7 29502
2b002173 29503 * conf/common.rmk: Add RAID and LVM modules.
29504 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
29505 util/lvm.c.
29506 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
29507
29508 * kern/misc.c (grub_strstr): New function.
29509 * include/grub/misc.h (grub_strstr): New prototype.
29510
050548d0 295112006-10-10 Tristan Gingold <tristan.gingold@bull.net>
29512
29513 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
29514
da849d2d 295152006-10-05 Tristan Gingold <tristan.gingold@bull.net>
29516
29517 * kern/misc.c (grub_strtoull): Guess the base only if not
29518 specified.
29519
97b2f2ff 295202006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 29521
29522 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
29523 PowerMac support.
29524
97b2f2ff 295252006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 29526
29527 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
29528
29529 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
29530 Remove `flags' argument. All callers changed.
29531 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
29532 (IEEE1275_IHANDLE_INVALID): New variable.
29533 (IEEE1275_CELL_INVALID): New variable.
29534 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
29535 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
29536 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
29537 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
29538 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
29539 codes from Open Firmware. All callers updated.
29540 (grub_ieee1275_next_property): Directly return Open Firmware return
29541 code.
29542 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
29543 Standardize error checking from `grub_ieee1275_get_property'.
29544 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
29545 `devalias' to `aliases'. Correct comments. Consolidate error paths.
29546
97b2f2ff 295472006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 29548
29549 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
29550 `instance_to_package_args' to `instance_to_path_args'.
29551
29552 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
29553 `grub_ieee1275_chosen'.
29554
29555 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
29556 `grub_ieee1275_interpret'.
29557
97b2f2ff 295582006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 29559
29560 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
29561
97b2f2ff 295622006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 29563
29564 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
29565 (__cmpdi): Likewise.
29566
29567 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
29568 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
29569 `grub_ssize_t'.
29570
02bb8acc 29571 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 29572
29573 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
29574 to type `grub_ssize_t'.
29575 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
29576
7f9a8531 295772006-09-22 Marco Gerards <marco@gnu.org>
29578
29579 * normal/script.c (grub_script_create_cmdmenu): Skip leading
29580 newlines.
29581
b5ef1102 295822006-09-22 Marco Gerards <marco@gnu.org>
29583
29584 * commands/echo.c: New file.
29585
29586 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
29587
29588 * conf/common.rmk (echo_mod_SOURCES): New variable.
29589 (echo_mod_CFLAGS): Likewise.
29590 (echo_mod_LDFLAGS): Likewise.
29591
2cff3677 295922006-09-22 Marco Gerards <marco@gnu.org>
29593
29594 * normal/main.c (get_line): Malloc memory instead of using
29595 preallocated memory. Removed the arguments `cmdline' and
29596 `max_len'. Updated all callers.
29597
6ba4688b 295982006-09-22 Marco Gerards <marco@gnu.org>
29599
29600 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
29601 (normal_mod_DEPENDENCIES): Likewise.
29602
29603 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
29604 (normal_mod_DEPENDENCIES): Likewise.
29605
29606 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
29607
e02ac02c 296082006-09-22 Johan Rydberg <jrydberg@gnu.org>
29609
29610 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
29611 programs.
29612 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
29613 (normal_mod_DEPENDENCIES): Likewise.
29614 * conf/i386-pc.mk: Regenerate.
29615 * conf/i386-efi.mk: Likewise
29616 * conf/common.mk: Likewise.
29617 * conf/powerpc-ieee1275.mk: Likewise.
29618 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 29619
8d252e44 296202006-09-22 Robert Millan <rmh@aybabtu.com>
29621
29622 Sync with i386 version.
29623 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
29624 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
29625
209bf7ac 296262006-09-21 Robert Millan <rmh@aybabtu.com>
29627
29628 Import from GRUB Legacy (lib/device.c):
29629 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
29630 (init_device_map) [__linux__]: Add support for I2O devices.
29631
6b146090 296322006-09-14 Marco Gerards <marco@gnu.org>
29633
29634 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
29635 `-melf_i386'.
29636
e38600a8 296372006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 29638
29639 * util/i386/pc/grub-install.in: Skip menu.lst when removing
29640 /boot/grub/*.lst.
78fa1790 29641
2952da5d 29642 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 29643
2952da5d 29644 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
29645 before adding it to device.map.
29646
01b82a64 296472006-08-15 Johan Rydberg <jrydberg@gnu.org>
29648
fe6b695a 29649 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 29650 compiles a file; using the -MD option.
29651 * conf/common.mk: Regenerate.
29652 * conf/i386-pc.mk: Likewise.
29653 * conf/i386-efi.mk: Likewise.
29654 * conf/powerpc-ieee1275.mk: Likewise.
29655 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 29656
1064790d 296572006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
29658
29659 Move the prototypes of grub_setjmp and grub_longjmp to
29660 cpu/setjmp.h, so that each architecture may specify different
29661 attributes.
f19dbdb7 29662
1064790d 29663 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
29664 (grub_longjmp): Likewise.
29665 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
29666 (grub_longjmp): Likewise.
29667 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
29668 (grub_longjmp): Likewise.
29669
29670 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
29671 [!GRUB_UTIL] (grub_longjmp): Removed.
29672
29dda3ed 296732006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
29674
29675 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
29676 "color!" method does not return any value.
29677
ad2a06ed 296782006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29679
29680 * include/grub/bitmap.h: New file.
29681
29682 * include/grub/i386/pc/vbeutil.h: Likewise.
29683
29684 * video/bitmap.c: Likewise.
29685
29686 * video/readers/tga.c: Likewise.
29687
29688 * video/i386/pc/vbeutil.c: Likewise.
29689
29690 * commands/videotest.c: Code cleanup and updated to reflect to new
29691 video API.
29692
29693 * term/gfxterm.c: Likewise.
29694
29695 * video/video.c: Likewise.
29696
29697 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
29698 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
29699 (bitmap_mod_SOURCES): New entry.
29700 (bitmap_mod_CFLAGS): Likewise.
29701 (bitmap_mod_LDFLAGS): Likewise.
29702 (tga_mod_SOURCES): Likewise.
29703 (tga_mod_CFLAGS): Likewise.
29704 (tga_mod_LDFLAGS): Likewise.
29705
29706 * include/grub/video.h (grub_video_blit_operators): New enum type.
29707 (grub_video_render_target): Changed as forward declaration and moved
29708 actual definition to be video driver specific.
29709 (grub_video_adapter.blit_bitmap): Added blitting operator.
29710 (grub_video_adapter.blit_render_target): Likewise.
29711 (grub_video_blit_bitmap): Likewise.
29712 (grub_video_blit_render_target): Likewise.
29713
29714 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
29715 driver specific render target definition.
29716 (grub_video_vbe_map_rgba): Added driver internal helper.
29717 (grub_video_vbe_unmap_color): Updated to use
29718 grub_video_i386_vbeblit_info.
29719 (grub_video_vbe_get_video_ptr): Likewise.
29720
29721 * include/grub/i386/pc/vbeblit.h
29722 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
29723 grub_video_i386_vbeblit_info.
29724 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29725 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29726 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29727 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29728 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29729 (grub_video_i386_vbeblit_index_index): Likewise.
29730 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
29731 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29732 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29733 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
29734 operator.
29735 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
29736 operator.
29737
29738 * video/i386/pc/vbeblit.c: Updated to reflect changes on
29739 include/grub/i386/pc/vbeblit.h.
29740
29741 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
29742 Updated to use grub_video_i386_vbeblit_info.
29743 (grub_video_i386_vbefill_R8G8B8): Likewise.
29744 (grub_video_i386_vbefill_index): Likewise.
29745 (grub_video_i386_vbefill): Added generic filler.
29746
29747 * video/i386/pc/vbefill.c: Updated to reflect changes on
29748 include/grub/i386/pc/vbefill.h.
29749
29750 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
29751 grub_video_i386_vbeblit_info.
29752 (grub_video_vbe_unmap_color): Likewise.
29753 (grub_video_vbe_blit_glyph): Likewise.
29754 (grub_video_vbe_scroll): Likewise.
29755 (grub_video_vbe_draw_pixel): Removed function.
29756 (grub_video_vbe_get_pixel): Likewise.
29757 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
29758 updated code to use it.
29759 (common_blitter): Added common blitter for render target and bitmap.
29760 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
29761 (grub_video_vbe_blit_render_target): Likewise.
29762
bc8c036d 297632006-07-30 Johan Rydberg <jrydberg@gnu.org>
29764
29765 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
29766 is in text mode if there is no console control protocol instance
29767 available.
29768
684a8eff 297692006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29770
29771 * include/grub/video.h: Code cleanup.
29772
29773 * include/grub/i386/pc/vbe.h: Likewise.
29774
29775 * video/i386/pc/vbe.c: Likewise.
29776
29777 * video/i386/pc/vbeblit.c: Likewise.
29778
29779 * video/i386/pc/vbefill.c: Likewise.
29780
29781 * video/video.c: Likewise. Also added more comments.
29782
5915059b 297832006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
29784
29785 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
29786 (struct grub_biosdisk_dap): Likewise.
29787
29788 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
29789 linkage settings for all functions.
29790
90ce5d56 297912006-07-12 Marco Gerards <marco@gnu.org>
29792
29793 * configure.ac (--enable-mm-debug): Fix typo.
29794
29795 * genkernsyms.sh.in: Use proper quoting for `CC'.
29796
43e7f879 297972006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
29798
29799 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
29800 (normal_mod_ASFLAGS): Remove "-m32".
29801
4889bdec 298022006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
29803
29804 * util/misc.c: Include config.h.
29805 [!HAVE_MEMALIGN]: Do not include malloc.h.
29806 (grub_memalign): Use posix_memalign, if present. Then, use
29807 memalign, if present. Otherwise, emit an error.
29808
29809 * util/grub-emu.c: Do not include malloc.h.
29810
29811 * include/grub/util/misc.h: Include unistd.h. This is required for
29812 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
29813 D. Eades III <hde@foobar-qux.org>.
29814
29815 * configure.ac (AC_GNU_SOURCE): Added.
29816 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
29817 type.
29818
fd39d4da 298192006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
29820
29821 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
29822 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
29823
b786f3b5 298242006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
29825
29826 * include/grub/types.h (grub_host_addr_t): Rename to
29827 grub_target_addr_t.
29828 (grub_host_off_t): Rename to grub_target_off_t.
29829 (grub_host_size_t): Rename to grub_target_size_t.
29830 (grub_host_ssize_t): Rename to grub_target_ssize_t.
29831 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
29832
29833 * include/grub/kernel.h (struct grub_module_header): Change type
29834 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
29835 (grub_module_info): Likewise.
f19dbdb7 29836
051988bb 298372006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29838
29839 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
29840 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
29841 Velazquez <jesus.velazquez@gmail.com>.
29842
deae281b 298432006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29844
29845 Count partitions from 1 instead of 0 in the string representation
29846 of partitions. Still use 0-based internally.
f19dbdb7 29847
deae281b 29848 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
29849 (sun_partition_map_iterate): Use grub_partition_t instead of
29850 struct grub_partition *. Cast DESC->START_CYLINDER to
29851 grub_uint64_t after converting the endian.
29852 (sun_partition_map_probe): Subtract 1 for PARTNUM.
29853 (sun_partition_map_get_name): Add 1 to P->INDEX.
29854
29855 * partmap/pc.c (grub_partition_parse): Subtract 1 for
29856 PCDATA->DOS_PART.
29857 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
29858
29859 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
29860 zero instead of one.
29861 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
29862 (gpt_partition_map_get_name): Add 1 into P->INDEX.
29863
29864 * partmap/apple.c (apple_partition_map_iterate): Change the type
29865 of POS to unsigned.
29866 (apple_partition_map_probe): Subtract 1 for PARTNUM.
29867 (apple_partition_map_get_name): Add 1 into P->INDEX.
29868
29869 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
29870 of POS to unsigned.
29871 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
29872 calculate the offset of a partition.
29873 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
29874 (amiga_partition_map_get_name): Add 1 into P->INDEX.
29875
29876 * partmap/acorn.c (acorn_partition_map_find): Change the type of
29877 SECTOR to grub_disk_addr_t.
29878 (acorn_partition_map_iterate): Likewise.
29879 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
29880 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
29881 top.
29882 (acorn_partition_map_get_name): Add 1 into P->INDEX.
29883
29884 * kern/i386/pc/init.c (make_install_device): Add 1 into
29885 GRUB_INSTALL_DOS_PART.
29886
29887 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
29888 conditional.
29889
524a1e6a 298902006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29891
29892 Clean up the code to support 64-bit addressing in disks and
29893 files. This change is not enough for filesystems yet.
f19dbdb7 29894
524a1e6a 29895 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
29896 type of "start" to grub_uint64_t.
29897 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
29898 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
29899 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
29900 convert addresses.
29901
29902 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
29903 to grub_disk_addr_t.
29904
29905 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
29906 string.
29907
29908 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29909
29910 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
29911 to char *.
29912
29913 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
29914
29915 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
29916
29917 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
29918
29919 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
29920 to grub_off_t, to detect an error from grub_file_seek.
29921 (grub_multiboot_load_elf32): Likewise.
29922
29923 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
29924 maximum unsigned long value when an overflow is detected.
29925 (grub_strtoull): New function.
29926 (grub_divmod64): Likewise.
29927 (grub_lltoa): use grub_divmod64.
29928
29929 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
29930 grub_disk_addr_t.
29931 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
29932 the pointer to next character. Use grub_strtoull instead of
29933 grub_strtoul.
29934 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
29935 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
29936 respectively.
29937
fe6b695a 29938 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 29939 return value is signed.
29940 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
29941 test if OFFSET is less than zero, as OFFSET is unsigned now.
29942
29943 * kern/disk.c (struct grub_disk_cache): Change the type of
29944 "sector" to grub_disk_addr_t.
29945 (grub_disk_cache_get_index): Change the type of SECTOR to
29946 grub_disk_addr_t. Calculate the hash with SECTOR casted to
29947 unsigned after shifting.
29948 (grub_disk_cache_invalidate): Change the type of SECTOR to
29949 grub_disk_addr_t.
29950 (grub_disk_cache_unlock): Likewise.
29951 (grub_disk_cache_store): Likewise.
29952 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
29953 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
29954 grub_disk_addr_t and grub_uint64_t, respectively.
29955 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
29956 body, as the value of OFFSET is tweaked by
29957 grub_disk_check_range. Change the types of START_SECTOR, LEN and
29958 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
29959 respectively.
29960 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
29961 body, as the value of OFFSET is tweaked by
29962 grub_disk_check_range. Change the types of LEN and N to
29963 grub_size_t.
29964
29965 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
29966 and "saved_offset" to grub_off_t.
29967 (test_header): Cast BUF to char *.
29968 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
29969 to char *.
29970 (grub_gzio_read): Change the types of OFFSET and SIZE to
29971 grub_off_t and grub_size_t, respectively.
29972
29973 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
29974 Removed.
29975 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
29976 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
29977 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
29978 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
29979 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
29980
29981 * include/grub/types.h (grub_off_t): Unconditionally set to
29982 grub_uint64_t.
29983 (grub_disk_addr_t): Changed to grub_uint64_t.
29984
29985 * include/grub/partition.h (struct grub_partition): Change the
29986 types of "start", "len" and "offset" to grub_disk_addr_t,
29987 grub_uint64_t and grub_disk_addr_t, respectively.
29988 (grub_partition_get_start): Return grub_disk_addr_t.
29989 (grub_partition_get_len): Return grub_uint64_t.
29990
29991 * include/grub/misc.h (grub_strtoull): New prototype.
29992 (grub_divmod64): Likewise.
29993
29994 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
29995 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
29996 grub_off_t, respectively.
29997 All callers and references changed.
29998
29999 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
30000 grub_size_t in "read".
30001 All callers and references changed.
30002
30003 * include/grub/file.h (struct grub_file): Change the types of
30004 "offset" and "size" to grub_off_t and grub_off_t,
30005 respectively. Change the type of SECTOR to grub_disk_addr_t in
30006 "read_hook".
30007 (grub_file_read): Change the type of LEN to grub_size_t.
30008 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
30009 grub_off_t.
30010 (grub_file_size): Return grub_off_t.
30011 (grub_file_tell): Likewise.
30012 All callers and references changed.
30013
30014 * include/grub/disk.h (struct grub_disk_dev): Change the types of
30015 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
30016 "write".
30017 (struct grub_disk): Change the type of "total_sectors" to
30018 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 30019 "read_hook".
524a1e6a 30020 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
30021 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
30022 (grub_disk_write): Likewise.
30023 All callers and references changed.
30024
30025 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
30026 char * for grub_strncmp to silence gcc.
30027 (grub_iso9660_mount): Likewise.
30028 (grub_iso9660_mount): Likewise.
30029 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
30030 return statement.
30031 (grub_iso9660_iterate_dir): Likewise.
30032 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
30033
30034 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
30035 LEN to grub_disk_addr_t and grub_size_t, respectively.
30036
30037 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
30038
30039 * fs/jfs.c (grub_jfs_read_file): Likewise.
30040
30041 * fs/minix.c (grub_jfs_read_file): Likewise.
30042
30043 * fs/sfs.c (grub_jfs_read_file): Likewise.
30044
30045 * fs/ufs.c (grub_jfs_read_file): Likewise.
30046
30047 * fs/xfs.c (grub_jfs_read_file): Likewise.
30048
30049 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
30050 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
30051 respectively.
30052
30053 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
30054 BLKNR to -1 instead of returning GRUB_ERRNO.
30055 (grub_ext2_read_file): Change the types of SECTOR and
30056 LEN to grub_disk_addr_t and grub_size_t, respectively.
30057
30058 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
30059 LEN to grub_disk_addr_t and grub_size_t, respectively.
30060
30061 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
30062 grub_file_read.
30063
30064 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
30065 string. Do not cast SECTOR explicitly.
30066
30067 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
30068 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
30069 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
30070 grub_disk_addr_t and grub_size_t, respectively. If the sector is
30071 over 2TB and LBA mode is not supported, raise an error.
30072 (get_safe_sectors): New function.
30073 (grub_biosdisk_read): Use get_safe_sectors.
30074 (grub_biosdisk_write): Likewise.
30075
30076 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
30077 (grub_efidisk_write): Likewise.
30078
30079 * disk/loopback.c (delete_loopback): Cosmetic changes.
30080 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
30081 correctly.
30082 (grub_loopback_open): Likewise.
30083 (grub_loopback_read): Likewise. Also, change the type of POS to
30084 grub_off_t, and fix the usage of grub_memset.
30085
30086 * commands/i386/pc/play.c: Include grub/machine/time.h.
30087
30088 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
30089 print FILE->SIZE.
30090
30091 * commands/configfile.c: Include grub/env.h.
30092
30093 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
30094 GRUB_ERRNO directly instead. Change the type of POS to
30095 grub_off_t. Follow the coding standard.
30096
30097 * commands/blocklist.c: Include grub/partition.h.
30098 (grub_cmd_blocklist): Return an error if the underlying device is
30099 not a disk. Take the starting sector of a partition into account,
30100 if a partition is used.
30101
30102 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
30103 a length field.
30104 (lba_mode): Support 64-bit addresses.
30105 (chs_mode): Likewise.
30106 (copy_buffer): Adapted to the new offsets of a length field and a
30107 segment field.
30108 (blocklist_default_start): Allocate 64-bit space.
30109
30110 * boot/i386/pc/boot.S (force_lba): Removed.
30111 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 30112 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 30113 space.
30114 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
30115 is useless.
30116 (lba_mode): Refactored to support a 64-bit address. More size
30117 optimization.
30118 (setup_sectors): Likewise.
30119
53af98ad 301202006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
30121
30122 * DISTLIST: Added include/grub/i386/linux.h. Removed
30123 include/grub/i386/pc/linux.h
30124
30125 * configure.ac (AC_INIT): Bumped to 1.94.
30126
30127 * config.guess: Updated from gnulib.
30128 * config.sub: Likewise.
30129 * install-sh: Likewise.
30130 * mkinstalldirs: Likewise.
30131
b4c1940a 301322006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
30133
30134 * conf/common.rmk (grub_modules_init.lst): Depended on
30135 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
30136 MODSRCFILES.
30137
30138 * genmk.rb (PModule::rule): Reverted the previous change.
30139
cfca1cfd 301402006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
30141
30142 * conf/common.rmk (grub_modules_init.lst): Depends on
30143 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
30144 that the target does not exist before producing.
30145 (grub_modules_init.h): Remove the target before generating.
30146 (grub_emu_init.c): Likewise.
30147
30148 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
30149
aa6d7826 301502006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
30151
30152 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
30153 for the target-specific tests. Make sure that we also have the
30154 up-to-date target variables for those tests.
30155
26c607b9 301562006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
30157
30158 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
30159 (PModule::rule): Likewise.
30160
0162321a 301612006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
30162
30163 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
30164 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
30165 target-specific flags should be prefixed.
30166 (PModule::rule): Likewise.
30167
6c826348 301682006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
30169
30170 * configure.ac (CMP): Check if cmp is available explicitly.
30171
b977bf01 301722006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
30173
30174 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
30175 (target_cpu): New variable.
30176 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 30177
b977bf01 30178 * util/i386/pc/grub-install.in (host_cpu): Removed.
30179 (target_cpu): New variable.
30180 (pkglibdir): Use target_cpu instead of host_cpu.
30181
30182 * util/genmoddep.c: Removed.
f19dbdb7 30183
b977bf01 30184 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
30185 instead of GRUB_HOST_SIZEOF_VOID_P.
30186 * kern/dl.c: Likewise.
30187
30188 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
30189 ...
30190 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
30191 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
30192 (GRUB_TARGET_SIZEOF_LONG): ... this.
30193 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
30194 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
30195 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
30196 to ...
30197 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
30198 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
30199 (GRUB_TARGET_SIZEOF_LONG): ... this.
30200 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
30201 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
30202 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
30203 to ...
30204 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
30205 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
30206 (GRUB_TARGET_SIZEOF_LONG): ... this.
30207 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
30208 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
30209
30210 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
30211 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
30212 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
30213 instead of GRUB_HOST_SIZEOF_LONG.
30214 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
30215 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
30216 GRUB_CPU_WORDS_BIGENDIAN.
30217 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
30218 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
30219 grub_host_ssize_t.
30220
30221 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
30222 (genmoddep_SOURCES): Likewise.
30223 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
30224 (genmoddep_SOURCES): Likewise.
30225 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
30226 (genmoddep_SOURCES): Likewise.
30227 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
30228 Likewise.
30229 (genmoddep_SOURCES): Likewise.
30230
30231 * genmoddep.awk: New file.
30232
30233 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
30234 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
30235 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
30236 (PModule::rule): Likewise.
30237 (Program::rule): Likewise.
30238 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
30239 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
30240 respectively.
30241
30242 * configure.ac: Rewritten intensively to use host and target
30243 instead of build and host, respectively.
30244
30245 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
30246 (host_cpu): Removed.
30247 (target_cpu): New variable.
30248 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
30249 (BUILD_CC): Removed.
30250 (BUILD_CFLAGS): Likewise.
30251 (BUILD_CPPFLAGS): Likewise.
30252 (TARGET_CC): New variable.
30253 (TARGET_CFLAGS): Likewise.
30254 (TARGET_CPPFLAGS): Likewise.
30255 (TARGET_LDFLAGS): Likewise.
30256 (AWK): Likewise.
30257 (include): Use target_cpu instead of host_cpu.
30258 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 30259
b977bf01 30260 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
30261
f09771a1 302622006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
30263
30264 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
30265 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
30266 field 'false' to 'exec_on_false'.
30267 (grub_script_create_cmdif): Renamed argument names to reflect above
30268 changes.
30269
30270 * normal/execute.c (grub_script_execute_cmdif): Likewise.
30271
30272 * normal/script.c (grub_script_create_cmdif): Likewise.
30273
118f4fb3 302742006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
30275
30276 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
30277 top.
30278 (grub_hfsplus_btree_recptr): Likewise.
30279 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
30280 FILEBLOCK both to pass a block number and store next block
30281 number.
30282 (grub_hfsplus_read_block): Rewritten heavily to support an extent
30283 overflow file correctly. Specify errors appropriately, because
30284 fshelp expects that GRUB_ERRNO is set when fails. Reuse
30285 grub_hfsplus_btree_recptr to get the pointer to a found key.
30286 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
30287 is found.
30288
30289 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
30290 linux.mod.
30291 (_linux_mod_SOURCES): New variable.
30292 (_linux_mod_CFLAGS): Likewise.
30293 (_linux_mod_LDFLAGS): Likewise.
30294 (linux_mod_SOURCES): Likewise.
30295 (linux_mod_CFLAGS): Likewise.
30296 (linux_mod_LDFLAGS): Likewise.
30297
30298 * DISTLIST: Added loader/i386/efi/linux.c,
30299 loader/i386/efi/linux_normal.c and
30300 include/grub/i386/efi/loader.h.
30301
30302 * loader/i386/efi/linux.c: New file.
30303 * loader/i386/efi/linux_normal.c: Likewise.
30304 * include/grub/i386/efi/loader.h: Likewise.
30305
89a7d726 303062006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
30307
30308 * commands/blocklist.c: New file.
30309
30310 * DISTLIST: Added commands/blocklist.c.
30311
30312 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 30313 color for the background, and a darker color for the foreground.
89a7d726 30314 (grub_console_checkkey): Return READ_KEY.
30315 (grub_console_cls): Set the background to
30316 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
30317
30318 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
30319
30320 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
30321 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
30322
30323 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
30324 prototype.
30325
30326 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
30327 BG. The spec is wrong again.
30328
30329 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
30330 prototype.
30331 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
30332
30333 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30334 commands/blocklist.c.
30335 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 30336
89a7d726 30337 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
30338 (blocklist_mod_SOURCES): New variable.
30339 (blocklist_mod_CFLAGS): Likewise.
30340 (blocklist_mod_LDFLAGS): Likewise.
30341
75c8f258 303422006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
30343
30344 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
30345 duplication.
30346 (lba_mode): Use %eax more intensively to reduce the code size.
30347
da2eb181 303482006-05-20 Marco Gerards <marco@gnu.org>
30349
30350 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
30351
30352 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
30353 for `menuentry'.
30354 (script): Accept leading newlines.
30355 (newlines): New rule to describe 0 or more newlines.
30356 (commands): Accept `command' with trailing newline. Fixed the
30357 order in which arguments were passed to `grub_script_add_cmd'.
30358 Accept commands separated by newlines.
30359 (function): Changed to accept newlines.
30360 (menuentry) Rewritten.
30361
30362 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
30363 front of the list, instead of to the end.
30364
577b4050 303652006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
30366
30367 * util/i386/pc/grub-install.in (bindir): New variable.
30368 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
30369 Shaver <lbgwjl@gmail.com>.
30370
0d6e1189 303712006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
30372
30373 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
30374 grub/machine/linux.h
30375 * loader/i386/pc/linux.c: Likewise.
30376
30377 * include/grub/i386/pc/linux.h: Moved to ...
30378 * include/grub/i386/linux.h: ... here.
30379
30380 * include/grub/i386/linux.h (struct linux_kernel_params): New
30381 struct.
f19dbdb7 30382
31b86e9f 303832006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
30384
30385 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
30386 checking.
30387 (grub_video_vbe_blit_glyph): Likewise.
30388 (grub_video_vbe_blit_bitmap): Likewise.
30389 (grub_video_vbe_blit_render_target): Likewise.
30390
83b984de 303912006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
30392
30393 * configure.ac (--with-platform): Properly quote the square
30394 brackets.
30395
5f0413bd 303962006-05-08 Marco Gerards <marco@gnu.org>
30397
30398 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
30399 this...
30400 (kernel_elf_HEADERS): ...to this. Updated all users.
30401 (grubof_symlist.c): Renamed from this...
30402 (kernel_elf_symlist.c): ...to this. Updated all users.
30403 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
30404 (grubof_SOURCES): Renamed from this...
30405 (kernel_elf_SOURCES): ...to this.
30406 (grubof_HEADERS): Renamed from this...
30407 (kernel_elf_HEADERS): ...to this.
30408 (grubof_CFLAGS): Renamed from this...
30409 (kernel_elf_CFLAGS): ...to this.
30410 (grubof_ASFLAGS): Renamed from this...
30411 (kernel_elf_ASFLAGS): ...to this.
30412 (grubof_LDFLAGS): Renamed from this...
30413 (kernel_elf_LDFLAGS): ...to this.
30414
30415 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
30416 this...
30417 (kernel_elf_HEADERS): ...to this. Updated all users.
30418 (grubof_symlist.c): Renamed from this...
30419 (kernel_elf_symlist.c): ...to this. Updated all users.
30420 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
30421 (grubof_SOURCES): Renamed from this...
30422 (kernel_elf_SOURCES): ...to this.
30423 (grubof_HEADERS): Renamed from this...
30424 (kernel_elf_HEADERS): ...to this.
30425 (grubof_CFLAGS): Renamed from this...
30426 (kernel_elf_CFLAGS): ...to this.
30427 (grubof_ASFLAGS): Renamed from this...
30428 (kernel_elf_ASFLAGS): ...to this.
30429 (grubof_LDFLAGS): Renamed from this...
30430 (kernel_elf_LDFLAGS): ...to this.
30431
30432 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
30433 `kernel.elf' instead of `grubof'.
30434
05568c2e 304352006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
30436
30437 Add --with-platform to configure. Use pkglibdir instead of
30438 pkgdatadir. This is reported by Roger Leigh.
30439
30440 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
30441 (host_vendor): Likewise.
30442 (host_os): Likewise.
30443 (pkgdatadir): Likewise.
30444 (platform): New variable.
30445 (pkglibdir): Likewise.
30446 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 30447
05568c2e 30448 * util/i386/pc/grub-install.in (datadir): Removed.
30449 (host_vendor): Likewise.
30450 (host_os): Likewise.
30451 (pkgdatadir): Likewise.
30452 (platform): New variable.
30453 (pkglibdir): Likewise.
30454 Use PKGLIBDIR instead of PKGDATADIR.
30455
30456 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
30457 instead of GRUB_DATADIR.
30458 (main): Likewise.
30459 * util/i386/pc/grub-mkimage.c (usage): Likewise.
30460 (main): Likewise.
30461 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30462 (main): Likewise.
30463
30464 * configure.ac (--with-platform): New option.
30465 Use PLATFORM instead of HOST_VENDOR to specify a platform.
30466
30467 * Makefile.in: Include a makefile based on PLATFORM instead of
30468 HOST_VENDOR.
30469 (pkgdatadir): Not appended by the machine type.
30470 (pkglibdir): Appended by the machine type.
30471 (host_vendor): Removed.
30472 (platform): New variable.
30473 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
30474 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
30475 (uninstall): Likewise.
30476
4e93851c 304772006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
30478
30479 Use the environment context in the menu. Remove the commands
30480 "default" and "timeout", and use variables instead.
f19dbdb7 30481
4e93851c 30482 * normal/menu.c: Include grub/env.h.
30483 (print_entry): Cast TITLE to silence gcc.
30484 (get_timeout): New function.
30485 (set_timeout): Likewise.
30486 (get_entry_number): Likewise.
30487 (run_menu): Use a default entry, a fallback entry and a timeout
30488 in the environment variables "default", "fallback" and
30489 "timeout". Also, tweak the default entry if it is not within the
30490 current menu entries.
30491 (grub_menu_run): Use a fallback entry in the environment variable
30492 "fallback".
30493
30494 * normal/main.c (read_config_file): Do not initialize
30495 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
30496 NEWMENU->TIMEOUT.
30497 (grub_normal_execute): Use a data slot to store the menu.
30498
30499 * include/grub/normal.h (struct grub_menu): Removed default_entry,
30500 fallback_entry and timeout.
30501 (struct grub_menu_list): Removed.
30502 (grub_menu_list_t): Likewise.
30503 (struct grub_context): Likewise.
30504 (grub_context_t): Likewise.
30505 (grub_context_get): Likewise.
30506 (grub_context_get_current_menu): Likewise.
30507 (grub_context_push_menu): Likewise.
30508 (grub_context_pop_menu): Likewise.
30509 (grub_default_init): Likewise.
30510 (grub_default_fini): Likewise.
30511 (grub_timeout_init): Likewise.
30512 (grub_timeout_fini): Likewise.
30513
30514 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
30515 and timeout.mod.
30516 (normal_mod_SOURCES): Removed normal/context.c.
30517
30518 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
30519 commands/default.c, commands/timeout.c and normal/context.c.
30520 (normal_mod_SOURCES): Removed normal/context.c.
30521
30522 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
30523 commands/timeout.c and normal/context.c.
30524 (normal_mod_SOURCES): Removed normal/context.c.
30525
30526 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
30527 commands/default.c, commands/timeout.c and normal/context.c.
30528 (normal_mod_SOURCES): Removed normal/context.c.
30529
30530 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
30531 timeout.mod.
30532 (default_mod_SOURCES): Removed.
30533 (default_mod_CFLAGS): Likewise.
30534 (default_mod_LDFLAGS): Likewise.
30535 (timeout_mod_SOURCES): Removed.
30536 (timeout_mod_CFLAGS): Likewise.
30537 (timeout_mod_LDFLAGS): Likewise.
30538
30539 * DISTLIST: Removed commands/default.c, commands/timeout.c and
30540 normal/context.c.
30541
30542 * commands/default.c: Removed.
30543 * commands/timeout.c: Likewise.
30544 * normal/context.c: Likewise.
30545
1eb9cc1d 305462006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
30547
30548 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
30549
385bd9c1 305502006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
30551
30552 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
30553 "next" to "prev" for readability.
30554 (struct grub_env_sorted_var): New struct.
30555 (grub_env_context): Renamed to ...
30556 (initial_context): ... this.
30557 (grub_env_var_context): Renamed to ...
30558 (current_context): ... this.
30559 (grub_env_find): Look only at CURRENT_CONTEXT.
30560 (grub_env_context_open): Rewritten to copy exported variables from
30561 previous context.
30562 (grub_env_context_close): Rewritten according to the new
30563 scheme. Also, add an assertion to prevent the initial context from
30564 removed.
30565 (grub_env_insert): Removed the code for the sorted list.
30566 (grub_env_remove): Likewise.
30567 (grub_env_export): Simply mark the variable with
30568 GRUB_ENV_VAR_GLOBAL.
30569 (grub_env_set): A cosmetic change for naming consistency.
30570 (grub_env_get): Likewise.
30571 (grub_env_unset): Likewise.
30572 (grub_env_iterate): Rewritten to sort variables within this
30573 function.
30574 (grub_register_variable_hook): Fixed for naming consistency. Call
30575 grub_env_find again, only if NAME is not found at the first time.
30576 (mangle_data_slot_name): New function.
30577 (grub_env_set_data_slot): Likewise.
30578 (grub_env_get_data_slot): Likewise.
30579 (grub_env_unset_data_slot): Likewise.
30580
30581 * include/grub/env.h (grub_env_var_type): New enum.
30582 (GRUB_ENV_VAR_LOCAL): New constant.
30583 (GRUB_ENV_VAR_GLOBAL): Likewise.
30584 (GRUB_ENV_VAR_DATA): Likewise.
30585 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
30586 "type".
30587 (grub_env_set): Replace VAR with NAME for consistency.
30588 (grub_register_variable_hook): Likewise.
30589 (grub_env_export): Specify the name of the argument.
30590 (grub_env_set_data_slot): New prototype.
30591 (grub_env_get_data_slot): Likewise.
30592 (grub_env_unset_data_slot): Likewise.
30593
7f362539 305942006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
30595
30596 Extend the loader so that GRUB can accept a loader which comes
30597 back to GRUB when a loaded image exits. Also, this change adds
30598 support for a chainloader on EFI.
f19dbdb7 30599
7f362539 30600 * term/efi/console.c: Include grub/misc.h.
30601 (grub_console_checkkey): Display a scan code on the top for
30602 debugging. This will be removed once the EFI port gets stable.
30603 Correct the scan code mapping.
30604
30605 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
30606 allocate memory from larger regions, in order to reduce the number
30607 of allocated regions. Otherwise, the MacOSX loader panics.
30608 (filter_memory_map): Avoid less than 1MB for compatibility with
30609 other loaders.
30610 (add_memory_regions): Allocate from the tail of a region, if
30611 possible, to avoid allocating a region near to 1MB, for the MacOSX
30612 loader.
30613
30614 * kern/efi/init.c (grub_efi_set_prefix): Specify
30615 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
30616
30617 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
30618 argument IMAGE_HANDLE and specify it to get a loaded image.
30619 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
30620 grub_efi_get_loaded_image.
fe6b695a 30621 (grub_efi_get_filename): Divide the length by the size of
7f362539 30622 grub_efi_char16_t.
30623 (grub_efi_get_device_path): New function.
30624 (grub_efi_print_device_path): Print End Device Path nodes. Divide
30625 the length by the size of grub_efi_char16_t for a file path device
30626 path node.
30627
30628 * kern/loader.c (grub_loader_noreturn): New variable.
30629 (grub_loader_set): Accept a new argument NORETURN. Set
30630 GRUB_LOADER_NORETURN to NORETURN.
30631 All callers changed.
30632 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
30633 grub_machine_fini.
30634
30635 * include/grub/efi/efi.h (grub_efi_get_device_path): New
30636 prototype.
30637 (grub_efi_get_loaded_image): Take an argument to specify an image
30638 handle.
30639
30640 * include/grub/loader.h (grub_loader_set): Added one more argument
30641 NORETURN.
30642
30643 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
30644 instead of grub_efi_open_protocol.
30645 (grub_efidisk_get_device_name): Likewise.
30646 (grub_efidisk_close): Print a newline.
30647 (grub_efidisk_get_device_handle): Fixed to use
30648 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
30649 GRUB_EFI_DEVICE_PATH_TYPE.
30650
30651 * disk/efi/efidisk.c (device_path_guid): Moved to ...
30652 * kern/efi/efi.c (device_path_guid): ... here.
30653
30654 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
30655 chain.mod.
30656 (kernel_mod_HEADERS): Added efi/disk.h.
30657 (_chain_mod_SOURCES): New variable.
30658 (_chain_mod_CFLAGS): Likewise.
30659 (_chain_mod_LDFLAGS): Likewise.
30660 (chain_mod_SOURCES): Likewise.
30661 (chain_mod_CFLAGS): Likewise.
30662 (chain_mod_LDFLAGS): Likewise.
30663
30664 * DISTLIST: Added include/grub/efi/chainloader.h,
30665 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
30666
30667 * include/grub/efi/chainloader.h: New file.
30668 * loader/efi/chainloader.c: Likewise.
30669 * loader/efi/chainloader_normal.c: Likewise.
30670
c0111d6e 306712006-04-30 Marco Gerards <marco@gnu.org>
30672
30673 * commands/configfile.c (grub_cmd_source): New function.
30674 (GRUB_MOD_INIT): Register the commands `source' and `.'.
30675 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
30676
df5341da 306772006-04-30 Marco Gerards <marco@gnu.org>
30678
30679 * normal/execute.c (grub_script_execute_cmd): Change the return
30680 type to `grub_err_t'. Correctly return the error.
30681 (grub_script_execute_cmdline): In case a command line is not a
30682 command or a function, try to interpret it as an assignment.
30683
f85934bd 306842006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
30685
30686 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
30687 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
30688 skip a node whose name is obviously invalid as UTF-16,
30689 i.e. contains a NUL character. Stop the iteration when the last
30690 directory entry is found. Instead of using the return value of
30691 grub_hfsplus_btree_iterate_node, store the value in RET and use
30692 it, because the iterator can be stopped by the last directory
30693 entry.
30694
8f8a2cf8 306952006-04-30 Marco Gerards <marco@gnu.org>
30696
30697 * include/grub/env.h (grub_env_export): New prototype. Reported
30698 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
30699
a27e84ce 307002006-04-30 Marco Gerards <marco@gnu.org>
30701
30702 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
30703 size of the extents in a catalog file record.
30704
eaef0553 307052006-04-29 Marco Gerards <marco@gnu.org>
30706
30707 * commands/configfile.c (grub_cmd_configfile): Execute the
30708 configfile within its own context.
30709
30710 * include/grub/env.h (grub_env_context_open): New prototype.
30711 (grub_env_context_close): Likewise.
30712
30713 * kern/env.c (grub_env): Removed.
30714 (grub_env_sorted): Likewise.
30715 (grub_env_context): New variable.
30716 (grub_env_var_context): Likewise.
30717 (grub_env_find): Search both the active context and the global
30718 context.
30719 (grub_env_context_open): New function.
30720 (grub_env_context_close): Likewise.
30721 (grub_env_insert): Likewise.
30722 (grub_env_remove): Likewise.
30723 (grub_env_export): Likewise.
30724 (grub_env_set): Changed to use helper functions to avoid code
30725 duplication.
30726 (grub_env_iterate): Rewritten so both the current context and the
30727 global context are being used.
30728
30729 * normal/command.c (export_command): New function.
30730 (grub_command_init): Register the `export' function.
30731
7b455f4d 307322006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
30733
30734 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
30735 explicitly to suppress gcc's warnings.
30736 * fs/fat.c (grub_fat_find_dir): Likewise.
30737 (grub_fat_label): Likewise.
30738 * fs/xfs.c (grub_xfs_read_inode): Likewise.
30739 (grub_xfs_mount): Likewise.
30740 (grub_xfs_label): Likewise.
30741 * fs/affs.c (grub_affs_mount): Likewise.
30742 (grub_affs_label): Likewise.
30743 (grub_affs_iterate_dir): Likewise.
30744 * fs/sfs.c (grub_sfs_mount): Likewise.
30745 (grub_sfs_iterate_dir): Likewise.
30746 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
30747 * fs/hfs.c (grub_hfs_mount): Likewise.
30748 (grub_hfs_cmp_catkeys): Likewise.
30749 (grub_hfs_find_dir): Likewise.
30750 (grub_hfs_dir): Likewise.
30751 (grub_hfs_label): Likewise.
30752 * fs/jfs.c (grub_jfs_mount): Likewise.
30753 (grub_jfs_opendir): Likewise.
30754 (grub_jfs_getent): Likewise.
30755 (grub_jfs_lookup_symlink): Likewise.
30756 (grub_jfs_label): Likewise.
30757 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
30758 (grub_hfsplus_iterate_dir): Likewise.
30759 (grub_hfsplus_btree_iterate_node): Made static.
30760
30761 * util/grub-emu.c (prefix): New variable.
30762 (grub_machine_set_prefix): New function.
30763 (main): Do not set the environment variable "prefix" here. Only
30764 set PREFIX, which is used later by grub_machine_set_prefix.
30765
30766 * include/grub/video.h: Do not include grub/symbol.h.
30767 (grub_video_register): Not exported. This symbol is not defined in
30768 the kernel.
30769 (grub_video_unregister): Likewise.
30770 (grub_video_iterate): Likewise.
30771 (grub_video_setup): Likewise.
30772 (grub_video_restore): Likewise.
30773 (grub_video_get_info): Likewise.
30774 (grub_video_get_blit_format): Likewise.
30775 (grub_video_set_palette): Likewise.
30776 (grub_video_get_palette): Likewise.
30777 (grub_video_set_viewport): Likewise.
30778 (grub_video_get_viewport): Likewise.
30779 (grub_video_map_color): Likewise.
30780 (grub_video_map_rgb): Likewise.
30781 (grub_video_map_rgba): Likewise.
30782 (grub_video_fill_rect): Likewise.
30783 (grub_video_blit_glyph): Likewise.
30784 (grub_video_blit_bitmap): Likewise.
30785 (grub_video_blit_render_target): Likewise.
30786 (grub_video_scroll): Likewise.
30787 (grub_video_swap_buffers): Likewise.
30788 (grub_video_create_render_target): Likewise.
30789 (grub_video_delete_render_target): Likewise.
30790 (grub_video_set_active_render_target): Likewise.
30791
30792 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
30793 Undefined.
30794 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
30795
30796 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
30797 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30798 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30799 instead of $(srcdir)/genkernsyms.sh.
30800
30801 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
30802 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30803 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30804 instead of $(srcdir)/genkernsyms.sh.
30805
30806 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
30807 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30808 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30809 instead of $(srcdir)/genkernsyms.sh.
30810
30811 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
30812 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30813 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30814 instead of $(srcdir)/genkernsyms.sh.
30815
30816 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
30817 genkernsyms.sh.
30818
30819 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
30820 genkernsyms.sh.
30821 (gensymlist.sh): New target.
30822 (genkernsyms.sh): Likewise.
30823
30824 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
30825 genkernsyms.sh.in and gensymlist.sh.in.
30826
30827 * genkernsyms.sh: Removed.
30828 * gensymlist.sh: Likewise.
f19dbdb7 30829
7b455f4d 30830 * genkernsyms.sh.in: New file.
30831 * gensymlist.sh.in: Likewise.
30832
1885bb27 308332006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30834
30835 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
30836 clobber "prefix", since we may have already set it manually.
30837
71538dff 308382006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30839
30840 * kern/misc.c (abort): New alias for grub_abort.
30841
2965c7cc 308422006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
30843
30844 A new machine-specific function "grub_machine_set_prefix" is
30845 defined. This is called after loading modules, so that a prefix
30846 initialization can use modules. Also, this change adds an
30847 intensive debugging feature for the memory manager via the
30848 configure option "--enable-mm-debug".
f19dbdb7 30849
2965c7cc 30850 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
30851 PART.LEN.
30852
30853 * kern/sparc64/ieee1275/init.c (abort): Removed.
30854 (grub_stop): Likewise.
30855 (grub_exit): New function.
30856 (grub_set_prefix): Renamed to ...
30857 (grub_machine_set_prefix): ... this.
30858 (grub_machine_init): Do not call grub_set_prefix.
30859
30860 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
30861 (grub_machine_set_prefix): ... this.
30862 (grub_machine_init): Do not call grub_set_prefix.
30863
30864 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
30865 (grub_machine_init): Do not set the prefix here.
30866
30867 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
30868
30869 * kern/efi/init.c: Include grub/mm.h.
30870 (grub_efi_set_prefix): New function.
30871
30872 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
30873 (grub_efi_get_filename): New function.
30874 (grub_print_device_path): Renamed to ...
30875 (grub_efi_print_device_path): ... this.
30876
30877 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
30878 [MM_DEBUG] (grub_realloc): Likewise.
30879 [MM_DEBUG] (grub_free): Likewise.
30880 [MM_DEBUG] (grub_memalign): Likewise.
30881 [MM_DEBUG] (grub_mm_debug): New variable.
30882 [MM_DEBUG] (grub_debug_malloc): New function.
30883 [MM_DEBUG] (grub_debug_free): New function.
30884 [MM_DEBUG] (grub_debug_realloc): New function.
30885 [MM_DEBUG] (grub_debug_memalign): New function.
30886
30887 * kern/misc.c (grub_abort): Print a newline to distinguish
30888 the message.
30889
30890 * kern/main.c (grub_main): Call grub_machine_set_prefix and
30891 grub_set_root_dev after loading modules. This is necessary when
30892 setting a prefix depends on modules.
30893
30894 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
30895 (grub_efi_print_device_path): ... this.
30896 (grub_efi_get_filename): New prototype.
30897 (grub_efi_set_prefix): Likewise.
30898
30899 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
30900 and grub/disk.h.
30901 (grub_efidisk_get_device_handle): New prototype.
30902 (grub_efidisk_get_device_name): Likewise.
30903
30904 * include/grub/mm.h: Include config.h.
30905 (MM_DEBUG): Removed.
30906 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
30907 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
30908 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
30909 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
30910 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
30911 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
30912 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
30913 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
30914 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
30915
30916 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
30917
30918 * disk/efi/efidisk.c: Include grub/partition.h.
30919 (iterate_child_devices): New function.
30920 (add_device): First, compare only last device path nodes, so that
30921 devices are sorted by the types.
30922 (grub_efidisk_get_device_handle): New function.
30923 (grub_efidisk_get_device_name): Likewise.
30924
30925 * configure.ac (--enable-mm-debug): New option to enable the
30926 memory manager debugging feature. This makes the binary much
30927 bigger, so is disabled by default.
30928
9cacaa17 309292006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
30930
30931 Use grub_abort instead of grub_stop, and grub_exit must be
30932 define in each architecture now. Also, this change adds support
30933 for EFI disks.
f19dbdb7 30934
9cacaa17 30935 * util/i386/pc/grub-probefs.c: Include grub/term.h.
30936 (grub_getkey): New function.
30937 (grub_term_get_current): Likewise.
30938
30939 * util/i386/pc/grub-setup.c: Include grub/term.h.
30940 (grub_getkey): New function.
30941 (grub_term_get_current): Likewise.
30942
30943 * util/misc.c (grub_stop): Renamed to ...
30944 (grub_exit): ... this.
30945
30946 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
30947 (grub_exit): ... this.
30948 (grub_machine_init): Use grub_abort instead of abort.
30949 (grub_stop): Removed.
30950
30951 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
30952 abort.
30953
30954 * kern/i386/pc/startup.S (grub_exit): New function.
30955 (cold_reboot): New label.
30956
30957 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
30958 (grub_efi_init): Call grub_efidisk_init.
30959 (grub_efi_fini): Call grub_efidisk_fini.
30960
30961 * kern/efi/efi.c: Include grub/mm.h.
30962 (grub_efi_console_control_guid): Renamed to ...
30963 (console_control_guid): ... this.
30964 (grub_efi_loaded_image_guid): Renamed to ...
30965 (loaded_image_guid): ... this.
30966 (grub_efi_locate_handle): New function.
30967 (grub_efi_open_protocol): Likewise.
30968 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
30969 GRUB_EFI_CONSOLE_CONTROL_GUID.
30970 (grub_efi_exit): Removed.
30971 (grub_stop): Likewise.
30972 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
30973 (grub_exit): New function.
30974 (grub_print_device_path): Likewise.
30975
30976 * kern/rescue.c (grub_rescue_cmd_exit): New function.
30977 (grub_enter_rescue_mode): Register "exit".
30978
30979 * kern/misc.c (grub_real_dprintf): A cosmetic change.
30980 (grub_abort): New function.
30981
30982 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
30983
30984 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
30985
30986 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
30987
30988 * include/grub/efi/efi.h (grub_efi_exit): Removed.
30989 (grub_print_device_path): New prototype.
30990 (grub_efi_locate_handle): Likewise.
30991 (grub_efi_open_protocol): Likewise.
30992
30993 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
30994 * disk/efi/efidisk.c: Likewise.
30995
30996 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
30997
30998 * include/grub/efi/console_control.h
30999 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
31000
31001 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
31002 last 8 bytes as an array.
31003 (GRUB_EFI_DISK_IO_GUID): New macro.
31004 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
31005 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
31006 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
31007 grub_uint8_t.
31008 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
31009 (struct grub_efi_device_path): Rename the member "sub_type" to
31010 "subtype".
31011 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
31012 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
31013 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
31014 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
31015 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
31016 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
31017 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
31018 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
31019 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
31020 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
31021 (struct grub_efi_pci_device_path): New structure.
31022 (grub_efi_pci_device_path_t): New type.
31023 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
31024 (struct grub_efi_pccard_device_path): New structure.
31025 (grub_efi_pccard_device_path_t): New type.
31026 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
31027 (struct grub_efi_memory_mapped_device_path): New structure.
31028 (grub_efi_memory_mapped_device_path_t): New type.
31029 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
31030 (struct grub_efi_vendor_device_path): New structure.
31031 (grub_efi_vendor_device_path_t): New type.
31032 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
31033 (struct grub_efi_controller_device_path): New structure.
31034 (grub_efi_controller_device_path_t): New type.
31035 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
31036 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
31037 (struct grub_efi_acpi_device_path): New structure.
31038 (grub_efi_acpi_device_path_t): New type.
31039 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
31040 (struct grub_efi_expanded_acpi_device_path): New structure.
31041 (grub_efi_expanded_acpi_device_path_t): New type.
31042 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
31043 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
31044 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
31045 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
31046 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
31047 (struct grub_efi_atapi_device_path): New structure.
31048 (grub_efi_atapi_device_path_t): New type.
31049 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
31050 (struct grub_efi_fibre_channel_device_path): New structure.
31051 (grub_efi_fibre_channel_device_path_t): New type.
31052 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
31053 (struct grub_efi_1394_device_path): New structure.
31054 (grub_efi_1394_device_path_t): New type.
31055 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
31056 (struct grub_efi_usb_device_path): New structure.
31057 (grub_efi_usb_device_path_t): New type.
31058 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
31059 (struct grub_efi_usb_class_device_path): New structure.
31060 (grub_efi_usb_class_device_path_t): New type.
31061 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
31062 (struct grub_efi_i2o_device_path): New structure.
31063 (grub_efi_i2o_device_path_t): New type.
31064 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
31065 (struct grub_efi_mac_address_device_path): New structure.
31066 (grub_efi_mac_address_device_path_t): New type.
31067 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
31068 (struct grub_efi_ipv4_device_path): New structure.
31069 (grub_efi_ipv4_device_path_t): New type.
31070 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
31071 (struct grub_efi_ipv6_device_path): New structure.
31072 (grub_efi_ipv6_device_path_t): New type.
31073 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
31074 (struct grub_efi_infiniband_device_path): New structure.
31075 (grub_efi_infiniband_device_path_t): New type.
31076 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
31077 (struct grub_efi_uart_device_path): New structure.
31078 (grub_efi_uart_device_path_t): New type.
31079 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
31080 (struct grub_efi_vendor_messaging_device_path): New structure.
31081 (grub_efi_vendor_messaging_device_path_t): New type.
31082 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
31083 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
31084 (struct grub_efi_hard_drive_device_path): New structure.
31085 (grub_efi_hard_drive_device_path_t): New type.
31086 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
31087 (struct grub_efi_cdrom_device_path): New structure.
31088 (grub_efi_cdrom_device_path_t): New type.
31089 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
31090 (struct grub_efi_vendor_media_device_path): New structure.
31091 (grub_efi_vendor_media_device_path_t): New type.
31092 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
31093 (struct grub_efi_file_path_device_path): New structure.
31094 (grub_efi_file_path_device_path_t): New type.
31095 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
31096 (struct grub_efi_protocol_device_path): New structure.
31097 (grub_efi_protocol_device_path_t): New type.
31098 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
31099 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
31100 (struct grub_efi_bios_device_path): New structure.
31101 (grub_efi_bios_device_path_t): New type.
31102 (struct grub_efi_disk_io): New structure.
31103 (grub_efi_disk_io_t): New type.
31104 (struct grub_efi_block_io_media): New structure.
31105 (grub_efi_block_io_media_t): New type.
31106 (struct grub_efi_block_io): New structure.
31107 (grub_efi_block_io_t): New type.
31108
31109 * include/grub/misc.h (grub_stop): Removed.
31110 (grub_exit): New prototype.
31111 (grub_abort): Likewise.
31112
31113 * include/grub/disk.h (enum grub_disk_dev_id): Added
31114 GRUB_DISK_DEVICE_EFIDISK_ID.
31115
31116 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
31117 disk/efi/efidisk.c.
31118 (kernel_syms.lst): Remove the target if an error occurs.
31119
49986a9f 311202006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
31121
31122 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
31123 as it was simply too buggy.
31124
970d3b8a 311252006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
31126
31127 * kern/misc.c (grub_lltoa): New function.
31128 (grub_vsprintf): Added support for the long long suffix,
31129 i.e. "ll".
31130
ff04ec24 311312006-04-20 Hollis Blanchard <hollis@penguinppc.org>
31132
31133 * Makefile.in (LDFLAGS): Add variable.
31134 (LD): Remove variable.
31135 * configure.ac: Add -m32 to LDFLAGS.
31136 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
31137 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
31138 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
31139 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
31140 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
31141 variables.
31142 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
31143 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
31144 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
31145
37e5e1a4 311462006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
31147
31148 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
31149 length for unknown glyph.
31150
c352d8dd 311512006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
31152
2eab1c0d 31153 Add support for pre-loaded modules into the EFI port.
f19dbdb7 31154
2eab1c0d 31155 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
31156 completely. Accept one more argument DIR. The caller has changed.
31157
31158 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
31159
31160 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
31161 (grub_efi_loaded_image_guid): New variable.
31162 (grub_efi_get_loaded_image): New function.
31163 (grub_arch_modules_addr): Likewise.
31164
31165 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
31166 prototype.
31167
31168 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
31169 (struct grub_efi_loaded_image): New structure.
31170 (grub_efi_loaded_image_t): New type.
31171
311722006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 31173
c352d8dd 31174 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
31175 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
31176 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
31177
6d01d6b4 311782006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
31179
31180 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
31181
976a4ea0 311822006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
31183
31184 * DISTLIST: Added include/grub/efi/console.h,
31185 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
31186 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
31187
31188 * include/grub/efi/console.h: New file.
31189 * include/grub/efi/time.h: Likewise.
31190 * include/grub/i386/efi/kernel.h: Likewise.
31191 * kern/efi/init.c: Likewise.
31192 * kern/efi/mm.c: Likewise.
31193 * term/efi/console.c: Likewise.
f19dbdb7 31194
976a4ea0 31195 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
31196 (grub_stop): Removed.
31197 (grub_get_rtc): Likewise.
31198 (grub_machine_init): Simply call grub_efi_init.
31199 (grub_machine_fini): Call grub_efi_fini.
31200
31201 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
31202 (grub_efi_output_string): Removed.
31203 (grub_efi_stall): New function.
31204 (grub_stop): Likewise.
31205 (grub_get_rtc): Likewise.
31206
31207 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
31208 (grub_efi_stall): New prototype.
31209 (grub_efi_allocate_pages): Likewise.
31210 (grub_efi_free_pages): Likewise.
31211 (grub_efi_get_memory_map): Likewise.
31212 (grub_efi_mm_init): Likewise.
31213 (grub_efi_mm_fini): Likewise.
31214 (grub_efi_init): Likewise.
31215 (grub_efi_fini): Likewise.
31216
31217 * include/grub/i386/efi/time.h: Do not include
31218 grub/symbol.h. Include grub/efi/time.h.
31219 (GRUB_TICKS_PER_SECOND): Removed.
31220 (grub_get_rtc): Likewise.
31221
31222 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
31223 Added padding. The EFI spec is buggy.
31224 (GRUB_EFI_BLACK): New macro.
31225 (GRUB_EFI_BLUE): Likewise.
31226 (GRUB_EFI_GREEN): Likewise.
31227 (GRUB_EFI_CYAN): Likewise.
31228 (GRUB_EFI_RED): Likewise.
31229 (GRUB_EFI_MAGENTA): Likewise.
31230 (GRUB_EFI_BROWN): Likewise.
31231 (GRUB_EFI_LIGHTGRAY): Likewise.
31232 (GRUB_EFI_BRIGHT): Likewise.
31233 (GRUB_EFI_DARKGRAY): Likewise.
31234 (GRUB_EFI_LIGHTBLUE): Likewise.
31235 (GRUB_EFI_LIGHTGREEN): Likewise.
31236 (GRUB_EFI_LIGHTCYAN): Likewise.
31237 (GRUB_EFI_LIGHTRED): Likewise.
31238 (GRUB_EFI_LIGHTMAGENTA): Likewise.
31239 (GRUB_EFI_YELLOW): Likewise.
31240 (GRUB_EFI_WHITE): Likewise.
31241 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
31242 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
31243 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
31244 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
31245 (GRUB_EFI_BACKGROUND_RED): Likewise.
31246 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
31247 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
31248 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
31249 (GRUB_EFI_TEXT_ATTR): Likewise.
31250
31251 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
31252 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
31253 (kernel_mod_HEADERS): Added efi/time.h.
31254
83709125 312552006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
31256
31257 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
31258 include/grub/efi/api.h, include/grub/efi/console_control.h,
31259 include/grub/efi/efi.h, include/grub/efi/pe32.h,
31260 include/grub/i386/efi/time.h, kern/efi/efi.c,
31261 kern/i386/efi/init.c, kern/i386/efi/startup.S,
31262 and util/i386/efi/grub-mkimage.c.
31263
31264 * Makefile.in (RMKFILES): Added i386-efi.rmk.
31265
31266 * genmk.rb (PModule#rule): Do not export symbols if
31267 #{prefix}_EXPORTS is set to "no".
31268
31269 * conf/i386-efi.mk: New file.
31270 * conf/i386-efi.rmk: Likewise.
31271 * include/grub/efi/api.h: Likewise.
31272 * include/grub/efi/console_control.h: Likewise.
31273 * include/grub/efi/efi.h: Likewise.
31274 * include/grub/efi/pe32.h: Likewise.
31275 * include/grub/i386/efi/time.h: Likewise.
31276 * kern/efi/efi.c: Likewise.
31277 * kern/i386/efi/init.c: Likewise.
31278 * kern/i386/efi/startup.S: Likewise.
31279 * util/i386/efi/grub-mkimage.c: Likewise.
31280
312812006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 31282
31283 * include/grub/script.h: Include <grub/parser.h> and
31284 "grub_script.tab.h".
31285 (struct grub_lexer_param): New struct.
31286 (struct grub_parser_param): Likewise.
31287 (grub_script_create_arglist): Pass the state in an argument.
31288 (grub_script_add_arglist): Likewise.
31289 (grub_script_create_cmdline): Likewise.
31290 (grub_script_create_cmdblock): Likewise.
31291 (grub_script_create_cmdif): Likewise.
31292 (grub_script_create_cmdmenu): Likewise.
31293 (grub_script_add_cmd): Likewise.
31294 (grub_script_arg_add): Likewise.
31295 (grub_script_lexer_ref): Likewise.
31296 (grub_script_lexer_deref): Likewise.
31297 (grub_script_lexer_record_start): Likewise.
31298 (grub_script_lexer_record_stop): Likewise.
31299 (grub_script_mem_record): Likewise.
31300 (grub_script_mem_record_stop): Likewise.
31301 (grub_script_malloc): Likewise.
31302 (grub_script_yylex): Likewise.
31303 (grub_script_yyparse): Likewise.
31304 (grub_script_yyerror): Likewise.
31305 (grub_script_yylex): Likewise.
31306 (grub_script_lexer_init): Return the state.
31307
31308 * normal/lexer.c (grub_script_lexer_state): Removed variable.
31309 (grub_script_lexer_done): Likewise.
31310 (grub_script_lexer_getline): Likewise.
31311 (grub_script_lexer_refs): Likewise.
31312 (script): Likewise.
31313 (newscript): Likewise.
31314 (record): Likewise.
31315 (recording): Likewise.
31316 (recordpos): Likewise.
31317 (recordlen): Likewise.
31318 (grub_script_lexer_init): Return the state instead of setting
31319 global variables.
31320 (grub_script_lexer_ref): Use the newly added argument for state
31321 instead of globals.
31322 (grub_script_lexer_deref): Likewise.
31323 (grub_script_lexer_record_start): Likewise.
31324 (grub_script_lexer_record_stop): Likewise.
31325 (recordchar): Likewise.
31326 (nextchar): Likewise.
31327 (grub_script_yylex2): Likewise.
31328 (grub_script_yylex): Likewise.
31329 (grub_script_yyerror): Likewise.
31330
31331 * normal/parser.y (func_mem): Removed variable.
31332 (menu_entry): Likewise.
31333 (err): Likewise.
31334 (%lex-param): New parser option.
31335 (%parse-param): Likewise.
31336 (script): Always return the AST.
31337 (argument): Pass the state around.
31338 (arguments): Likewise.
31339 (grubcmd): Likewise.
31340 (commands): Likewise.
31341 (function): Likewise.
31342 (menuentry): Likewise.
31343 (if_statement): Likewise.
31344 (if): Likewise.
31345
31346 * normal/script.c (grub_script_memused): Removed variable.
31347 (grub_script_parsed): Likewise.
31348 (grub_script_malloc): Added a state argument. Use that instead of
31349 global variables.
31350 (grub_script_mem_record): Likewise.
31351 (grub_script_mem_record_stop): Likewise.
31352 (grub_script_arg_add): Likewise.
31353 (grub_script_add_arglist): Likewise.
31354 (grub_script_create_cmdline): Likewise.
31355 (grub_script_create_cmdif): Likewise.
31356 (grub_script_create_cmdmenu): Likewise.
31357 (grub_script_add_cmd): Likewise.
31358 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 31359
e2a8c904 313602006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 31361
31362 * normal/command.c (grub_command_init): Remove the title command.
31363
31364 * normal/lexer.c (grub_script_yylex): Renamed from this...
31365 (grub_script_yylex2): ... to this.
31366 (grub_script_yylex): New function. Temporary
31367 introduced to filter some tokens.
31368 (grub_script_yyerror): Print a newline.
31369
31370 * normal/main.c (read_config_file): Output information about the
31371 lines that contain errors. Wait for a key after all lines have
31372 been processed. Don't return an empty menu.
31373
31374 * normal/parser.y (func_mem): Don't initialize.
31375 (menu_entry): Likewise.
31376 (err): New variable.
31377 (script): Don't return anything when an error was encountered.
31378 (ws, returns): Removed rules.
31379 (argument): Disabled concatenated variable support.
31380 (arguments): Remove explicit separators.
31381 (grubcmd): Likewise.
31382 (function): Likewise.
31383 (menuentry): Likewise.
31384 (if): Likewise.
31385 (commands): Likewise. Add error handling.
31386
31387 * normal/script.c (grub_script_create_cmdline): If
31388 `grub_script_parsed' is 0, assume the parser encountered an error.
31389
c9a86192 313902006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
31391
31392 * configure.ac: Add support for EFI. Fix the typo
31393 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
31394
70f3b243 313952006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
31396
31397 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
31398 foreign multibyte characters should be shown correctly.
31399
65f201ad 314002006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
31401
31402 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
31403 calculation.
31404 (read_config_file): Made it to close file before returning.
31405
b4b93674 314062006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
31407
31408 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
31409 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
31410 video/i386/pc/vbefill.c.
31411
31412 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
31413 video/i386/pc/vbefill.c.
31414
31415 * include/grub/video.h (grub_video_blit_format): New enum.
31416 (grub_video_mode_info): Added new member blit_format.
31417 (grub_video_get_blit_format): New function prototype.
31418
31419 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
31420 function prototype.
31421 (grub_video_vbe_map_rgb): Likewise.
31422 (grub_video_vbe_unmap_color): Likewise.
31423
31424 * include/grub/i386/pc/vbeblit.h: New file.
31425
31426 * include/grub/i386/pc/vbefill.h: New file.
31427
31428 * video/video.c (grub_video_get_blit_format): New function.
31429 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
31430 (grub_video_vbe_map_rgb): Likewise.
31431 (grub_video_vbe_unmap_color): Likewise.
31432
31433 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
31434 optimized fills.
31435 (grub_video_vbe_blit_render_target): Changed to use more optimized
31436 blits.
31437 (grub_video_vbe_setup): Added detection for optimized settings.
31438 (grub_video_vbe_create_render_target): Likewise.
31439
31440 * video/i386/pc/vbeblit.c: New file.
31441
31442 * video/i386/pc/vbefill.c: New file.
31443
c2379b9c 314442006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
31445
31446 * font/manager.c (grub_font_get_glyph): Removed font fixup from
31447 here...
31448
31449 * util/unifont2pff.rb: ... and moved it to here. Improved argument
31450 parsing to support both hex and dec ranges. If filename was missing
31451 show usage information.
31452
bd0d7896 314532006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
31454
31455 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
31456 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
31457
31458 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
31459 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
31460 (video_mod_SOURCES): Added.
31461 (video_mod_CFLAGS): Likewise.
31462 (video_mod_LDFLAGS): Likewise.
31463 (gfxterm_mod_SOURCES): Likewise.
31464 (gfxterm_mod_CFLAGS): Likewise.
31465 (gfxterm_mod_LDFLAGS): Likewise.
31466 (videotest_mod_SOURCES): Likewise.
31467 (videotest_mod_CFLAGS): Likewise.
31468 (videotest_mod_LDFLAGS): Likewise.
31469 (vesafb_mod_SOURCES): Removed.
31470 (vesafb_mod_CFLAGS): Likewise.
31471 (vesafb_mod_LDFLAGS): Likewise.
31472 (vga_mod_SOURCES): Likewise.
31473 (vga_mod_CFLAGS): Likewise.
31474 (vga_mod_LDFLAGS): Likewise.
31475
31476 * commands/videotest.c: New file.
31477
31478 * font/manager.c (fill_with_default_glyph): Modified to use
31479 grub_font_glyph.
31480 (grub_font_get_glyph): Likewise.
31481 (fontmanager): Renamed from this...
31482 (font_manager): ... to this.
31483
31484 * include/grub/font.h (grub_font_glyph): Added new structure.
31485 (grub_font_get_glyph): Modified to use grub_font_glyph.
31486
31487 * include/grub/misc.h (grub_abs): Added as inline function.
31488
31489 * include/grub/video.h: New file.
31490
31491 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
31492 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
31493 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
31494 (grub_vbe_get_controller_info): Renamed from this...
31495 (grub_vbe_bios_get_controller_info): ... to this.
31496 (grub_vbe_get_mode_info): Renamed from this...
31497 (grub_vbe_bios_get_mode_info): ... to this.
31498 (grub_vbe_set_mode): Renamed from this...
31499 (grub_vbe_bios_set_mode): ... to this.
31500 (grub_vbe_get_mode): Renamed from this...
31501 (grub_vbe_bios_get_mode): ... to this.
31502 (grub_vbe_set_memory_window): Renamed from this...
31503 (grub_vbe_bios_set_memory_window): ... to this.
31504 (grub_vbe_get_memory_window): Renamed from this...
31505 (grub_vbe_bios_get_memory_window): ... to this.
31506 (grub_vbe_set_scanline_length): Renamed from this...
31507 (grub_vbe_set_scanline_length): ... to this.
31508 (grub_vbe_get_scanline_length): Renamed from this...
31509 (grub_vbe_bios_get_scanline_length): ... to this.
31510 (grub_vbe_set_display_start): Renamed from this...
31511 (grub_vbe_bios_set_display_start): ... to this.
31512 (grub_vbe_get_display_start): Renamed from this...
31513 (grub_vbe_bios_get_display_start): ... to this.
31514 (grub_vbe_set_palette_data): Renamed from this...
31515 (grub_vbe_bios_set_palette_data): ... to this.
31516 (grub_vbe_set_pixel_rgb): Removed.
31517 (grub_vbe_set_pixel_index): Likewise.
31518
31519 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
31520 from this...
31521 (grub_vbe_bios_get_controller_info): ... to this.
31522 (grub_vbe_get_mode_info): Renamed from this...
31523 (grub_vbe_bios_get_mode_info): ... to this.
31524 (grub_vbe_set_mode): Renamed from this...
31525 (grub_vbe_bios_set_mode): ... to this.
31526 (grub_vbe_get_mode): Renamed from this...
31527 (grub_vbe_bios_get_mode): ... to this.
31528 (grub_vbe_set_memory_window): Renamed from this...
31529 (grub_vbe_bios_set_memory_window): ... to this.
31530 (grub_vbe_get_memory_window): Renamed from this...
31531 (grub_vbe_bios_get_memory_window): ... to this.
31532 (grub_vbe_set_scanline_length): Renamed from this...
31533 (grub_vbe_set_scanline_length): ... to this.
31534 (grub_vbe_get_scanline_length): Renamed from this...
31535 (grub_vbe_bios_get_scanline_length): ... to this.
31536 (grub_vbe_set_display_start): Renamed from this...
31537 (grub_vbe_bios_set_display_start): ... to this.
31538 (grub_vbe_get_display_start): Renamed from this...
31539 (grub_vbe_bios_get_display_start): ... to this.
31540 (grub_vbe_set_palette_data): Renamed from this...
31541 (grub_vbe_bios_set_palette_data): ... to this.
31542 (grub_vbe_bios_get_controller_info): Fixed problem with registers
31543 getting corrupted after calling it. Added more pushes and pops.
31544 (grub_vbe_bios_set_mode): Likewise.
31545 (grub_vbe_bios_get_mode): Likewise.
31546 (grub_vbe_bios_get_memory_window): Likewise.
31547 (grub_vbe_bios_set_scanline_length): Likewise.
31548 (grub_vbe_bios_get_scanline_length): Likewise.
31549 (grub_vbe_bios_get_display_start): Likewise.
31550 (grub_vbe_bios_set_palette_data): Likewise.
31551
31552 * normal/cmdline.c (cl_set_pos): Refresh the screen.
31553 (cl_insert): Likewise.
31554 (cl_delete): Likewise.
31555
31556 * term/gfxterm.c: New file.
31557
31558 * term/i386/pc/vesafb.c: Removed file.
31559
31560 * video/video.c: New file.
31561
31562 * video/i386/pc/vbe.c (real2pm): Added new function.
31563 (grub_video_vbe_draw_pixel): Likewise.
31564 (grub_video_vbe_get_video_ptr): Likewise.
31565 (grub_video_vbe_get_pixel): Likewise
31566 (grub_video_vbe_init): Likewise.
31567 (grub_video_vbe_fini): Likewise.
31568 (grub_video_vbe_setup): Likewise.
31569 (grub_video_vbe_get_info): Likewise.
31570 (grub_video_vbe_set_palette): Likewise.
31571 (grub_video_vbe_get_palette): Likewise.
31572 (grub_video_vbe_set_viewport): Likewise.
31573 (grub_video_vbe_get_viewport): Likewise.
31574 (grub_video_vbe_map_color): Likewise.
31575 (grub_video_vbe_map_rgb): Likewise.
31576 (grub_video_vbe_map_rgba): Likewise.
31577 (grub_video_vbe_unmap_color): Likewise.
31578 (grub_video_vbe_fill_rect): Likewise.
31579 (grub_video_vbe_blit_glyph): Likewise.
31580 (grub_video_vbe_blit_bitmap): Likewise.
31581 (grub_video_vbe_blit_render_target): Likewise.
31582 (grub_video_vbe_scroll): Likewise.
31583 (grub_video_vbe_swap_buffers): Likewise.
31584 (grub_video_vbe_create_render_target): Likewise.
31585 (grub_video_vbe_delete_render_target): Likewise.
31586 (grub_video_vbe_set_active_render_target): Likewise.
31587 (grub_vbe_set_pixel_rgb): Remove function.
31588 (grub_vbe_set_pixel_index): Likewise.
31589 (index_color_mode): Remove static variable.
31590 (active_mode): Likewise.
31591 (framebuffer): Likewise.
31592 (bytes_per_scan_line): Likewise.
31593 (grub_video_vbe_adapter): Added new static variable.
31594 (framebuffer): Likewise.
31595 (render_target): Likewise.
31596 (initial_mode): Likewise.
31597 (mode_in_use): Likewise.
31598 (mode_list): Likewise.
31599
5f97350b 316002006-03-10 Marco Gerards <marco@gnu.org>
31601
31602 * configure.ac (AC_INIT): Bumped to 1.93.
31603
31604 * DISTLIST: Added `include/grub/hfs.h'.
31605
a3c5c6f8 316062006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
31607
31608 * boot/i386/pc/boot.S (general_error): Before looping, try INT
31609 18H, which might help the BIOS falling back to next boot media.
31610
6de53d26 316112006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
31612
31613 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
31614 Poe Chen <poe.poechen@gmail.com>.
31615
77c4a393 316162006-01-17 Marco Gerards <marco@gnu.org>
31617
31618 * include/grub/normal.h: Include <grub/script.h>.
31619 (grub_command_list): Removed struct.
31620 (grub_command_list_t): Removed type.
31621 (grub_menu_entry): Remove members `num' and `command_list'. Add
31622 members `commands' and `sourcecode'.
31623 * include/grub/script.h: Add inclusion guards.
31624 (grub_script_cmd_menuentry): New struct.
31625 (grub_script_execute_menuentry): New prototype.
31626 (grub_script_lexer_record_start): Likewise.
31627 (grub_script_lexer_record_stop): Likewise.
31628 * normal/execute.c (grub_script_execute_menuentry): New function.
31629 * normal/lexer.c (record, recording, recordpos, recordlen): New
31630 variables.
31631 (grub_script_lexer_record_start): New function.
31632 (grub_script_lexer_record_stop): Likewise.
31633 (recordchar): Likewise.
31634 (nextchar): Likewise.
31635 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
31636 2048 as the buffer size. Add the tokens `menuentry' and `@'.
31637 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
31638 (current_menu): New variable.
31639 (free_menu): Mainly rewritten.
31640 (grub_normal_menu_addentry): New function.
31641 (read_config_file): Rewritten.
31642 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 31643 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 31644 the menu entry.
31645 (run): Mainly rewritten.
31646 * normal/parser.y (menu_entry): New variable.
31647 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
31648 (menuentry): New rule.
31649 (command): Add `menuentry'.
31650 (if_statement): Allow additional returns before `fi'.
31651 * normal/script.c (grub_script_create_cmdmenu): New function.
31652
144f1f98 316532006-01-03 Marco Gerards <marco@gnu.org>
31654
31655 * INSTALL: GNU Bison is required.
31656 * configure.ac: Rewritten the test to detect Bison.
31657 * Makefile.in (YACC): New variable. Reported by Xun Sun
31658 <xun.sun.cn@gmail.com>.
31659
af4b2d89 316602006-01-03 Marco Gerards <marco@gnu.org>
31661
31662 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
31663 the HFS+ filesystem to filesystem blocks.
31664 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
31665 GCC warning is silenced.
31666
15643b71 316672006-01-03 Marco Gerards <marco@gnu.org>
31668
31669 * partmap/apple.c (apple_partition_map_iterate): Convert the data
31670 read from disk from big endian to host byte order.
31671
00905879 316722006-01-03 Hollis Blanchard <hollis@penguinppc.org>
31673
31674 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
31675 documentation.
31676 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
31677 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
31678 embedded HFS+ filesystem.
31679 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
31680 (grub_hfs_sblock): Move from here...
31681 * include/grub/hfs.h: To here... New file.
31682 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
31683 documentation.
31684 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
31685 New macros.
31686 (grub_hfsplus_volheader): Change type of member `magic' to
31687 `grub_uint16_t'.
31688 (grub_hfsplus_data): Add new member `embedded_offset'.
31689 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
31690 returned block.
31691 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
31692 Calculate the offset.
31693
8899bc3e 316942005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31695
31696 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
31697 Removed.
31698 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
31699
ae8c0277 317002005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31701
31702 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
31703 ENV->NAME is NULL after allocating ENV->VALUE.
31704
07084456 317052005-12-25 Marco Gerards <marco@gnu.org>
31706
31707 * kern/env.c (grub_env_set): Rewritten the error handling code.
31708
4750f5f1 317092005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31710
31711 * geninit.sh: Made more robust, and more portable.
31712
50214199 317132005-12-25 Marco Gerards <marco@gnu.org>
31714
31715 Add support for Apple HFS+ filesystems.
f19dbdb7 31716
50214199 31717 * fs/hfsplus.c: New file.
31718
31719 * DISTLIST: Added `fs/hfsplus.c'.
31720
31721 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
31722 (hfsplus_mod_SOURCES): New variable.
31723 (hfsplus_mod_CFLAGS): Likewise.
31724 (hfsplus_mod_LDFLAGS): Likewise.
31725 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
31726 (grub_setup_SOURCES): Likewise.
31727 (grub_mkdevicemap_SOURCES): Likewise.
31728 (grub_emu_SOURCES): Likewise.
31729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31730
31731 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
31732
31733 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
31734
befaed6c 317352005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
31736
31737 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
31738 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
31739 include/grub/parser.h, include/grub/script.h, kern/parser.c,
31740 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
31741 normal/lexer.c, normal/parser.y, normal/script.c, and
31742 partmap/gpt.c.
31743 Removed kern/sparc64/cache.c.
31744
31745 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
31746 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
31747 grub_emu_init.c.
31748
31749 * configure.ac (AC_INIT): Bumped to 1.92.
31750
6a124103 317512005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
31752
31753 * kern/err.c (grub_error_push): Added new function to support error
31754 stacks.
31755 (grub_error_pop): Likewise.
31756 (grub_error_stack_items): New local variable to support error stacks.
31757 (grub_error_stack_pos): Likewise.
31758 (grub_error_stack_assert): Likewise.
31759 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
31760 stack depth.
31761 (grub_print_error): Added support to print errors from error stack.
31762
31763 * include/grub/err.h (grub_error_push): Added function prototype.
31764 (grub_error_pop): Likewise.
31765
be973c1b 317662005-12-09 Hollis Blanchard <hollis@penguinppc.org>
31767
31768 * configure.ac: Accept `powerpc64' as host_cpu.
31769 (amd64): Rename to `biarch32'.
31770
31771 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
31772 non-cacheline-aligned addresses.
31773
31774 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
31775 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
31776 if `size' is non-zero.
31777
b04216ab 317782005-12-03 Marco Gerards <mgerards@xs4all.nl>
31779
31780 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
31781 and `cd' to make sure the filename is not prefixed with a
31782 directory name.
31783 (pkgdata_MODULES): Add `gpt.mod'.
31784 (gpt_mod_SOURCES): New variable.
31785 (gpt_mod_CFLAGS): Likewise.
31786 (gpt_mod_LDFLAGS): Likewise.
31787
31788 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
31789
31790 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
31791 New macro.
31792
31793 * partmap/gpt.c: New file.
31794
31795 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
31796 GPT partition map is detected.
31797
41730ed9 317982005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
31799
31800 * commands/i386/pc/play.c: New file.
31801 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
31802 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
31803 macros.
f19dbdb7 31804
95dc3643 318052005-11-27 Marco Gerards <mgerards@xs4all.nl>
31806
31807 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
31808 ((unused))' to silence gcc warning.
31809
1569ec51 318102005-11-26 Hollis Blanchard <hollis@penguinppc.org>
31811
31812 * configure.ac: Correct `AC_PROG_YACC' test.
31813
9abde152 318142005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31815
31816 * util/powerpc/ieee1275/grub-install.in: Run the mount point
31817 check before installing files.
31818
44b83271 318192005-11-22 Mike Small <smallm@panix.com>
31820
31821 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
31822 number regex so multidigit numbers are recognized correctly.
31823
318242005-11-22 Mike Small <smallm@panix.com>
31825
31826 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
31827 debugging message before attempting to claim memory.
31828 (grub_rescue_cmd_initrd): Add a claim debugging message and try
31829 multiple addresses in case of failure.
31830
9c12956b 318312005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31832
31833 * term/tparm.c (get_space): Remove empty `if' statement.
31834
31835 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
31836
31837 * kern/parser.c (check_varstate): Rename `state' to 's'.
31838
aeaf81d9 318392005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31840
31841 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
31842 variable definitions to the beginning of each function. Sort stack
31843 variables by size.
31844 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
31845 `buf' argument to `char *'.
31846
79bbb63f 318472005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31848
31849 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
31850 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 31851 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 31852 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31853 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31854 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31855 configfile.mod, search.mod, gzio.mod and test.mod.
31856 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31857 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31858 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31859 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31860 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31861 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31862 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31863 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31864 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31865 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31866 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31867 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31868 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31869 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31870 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31871 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31872 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31873 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31874 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31875 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31876 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31877 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31878 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
31879
31880 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
31881 `grep --include'.
31882 (pkgdata_MODULES): Add test.mod.
31883
233b1628 318842005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31885
31886 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
31887 appending to variables with "+=".
31888 (PModule): Use full pathname to generate *.lst filenames.
31889
31890 * Makefile.in: Fixed list rules moved from genmk.rb.
31891 (.DELETE_ON_ERROR): New special target.
31892 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
31893
31894 * conf/i386-pc.rmk: Include conf/common.mk.
31895 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 31896 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 31897 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31898 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31899 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31900 configfile.mod, search.mod, gzio.mod and test.mod.
31901 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31902 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31903 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31904 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31905 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31906 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31907 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31908 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31909 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31910 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31911 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31912 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31913 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31914 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31915 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31916 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31917 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31918 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31919 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31920 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31921 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31922 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31923 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
31924 here...
31925 * conf/common.rmk: ... to here. New file.
31926
31927 * conf/common.mk: New file.
31928
16f820c8 319292005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
31930
31931 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
31932 (grub_script.tab.c): ... here.
31933
31934 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
31935 (grub_script.tab.c): ... here.
31936
31937 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
31938 (grub_script.tab.c): ... here.
31939
31940 * normal/command.c (grub_command_find): Fixed a memory leak of
31941 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
31942
63ba1554 319432005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31944
31945 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
31946 "@" which marks the start of a comment on ARM.
31947 (VARIABLE): Likewise.
31948
7f67dc13 319492005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31950
79bbb63f 31951 Add support for Linux/ADFS partition tables.
7f67dc13 31952
31953 * partmap/acorn.c: New file.
31954
31955 * include/grub/acorn_filecore.h: Likewise.
31956
31957 * DISTLIST: Added `partmap/acorn.c' and
31958 `include/grub/acorn_filecore.h'.
f19dbdb7 31959
7f67dc13 31960 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31961 `partmap/acorn.c'.
31962 (pkgdata_MODULES): Add `acorn.mod'.
31963 (acorn_mod_SOURCES): New variable.
31964 (acorn_mod_CFLAGS): Likewise.
31965
31966 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31967 `partmap/acorn.c'.
31968 (pkgdata_MODULES): Add `acorn.mod'.
31969 (acorn_mod_SOURCES): New variable.
31970 (acorn_mod_CFLAGS): Likewise.
31971
31972 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
31973 (pkgdata_MODULES): Add `acorn.mod'.
31974 (acorn_mod_SOURCES): New variable.
31975 (acorn_mod_CFLAGS): Likewise.
31976 (acorn_mod_LDFLAGS): Likewise.
31977
31978 * include/types.h (grub_disk_addr_t): New typedef.
31979
6d099807 319802005-11-13 Marco Gerards <mgerards@xs4all.nl>
31981
31982 * geninit.sh: New file.
31983
31984 * geninitheader.sh: Likewise.
31985
31986 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
31987 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
31988 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
31989 * commands/configfile.c (grub_configfile_init)
31990 (grub_configfile_fini): Likewise.
31991 * commands/default.c (grub_default_init, grub_default_fini):
31992 Likewise.
31993 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
31994 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
31995 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
31996 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
31997 Likewise.
31998 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
31999 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
32000 Likewise.
32001 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 32002 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 32003 Likewise.
32004 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
32005 Likewise.
fe6b695a 32006 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 32007 Likewise.
32008 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
32009 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
32010 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
32011 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
32012 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
32013 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
32014 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
32015 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
32016 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
32017 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
32018 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
32019 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
32020 * partmap/amiga.c (grub_amiga_partition_map_init)
32021 (grub_amiga_partition_map_fini): Likewise.
32022 * partmap/apple.c (grub_apple_partition_map_init)
32023 (grub_apple_partition_map_fini): Likewise.
32024 * partmap/pc.c (grub_pc_partition_map_init)
32025 (grub_pc_partition_map_fini): Likewise.
32026 * partmap/sun.c (grub_sun_partition_map_init,
32027 grub_sun_partition_map_fini): Likewise.
32028 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
32029 Likewise.
32030
32031 * util/grub-emu.c: Include <grub_modules_init.h>.
32032 (main): Don't initialize and de-initialize any modules directly,
32033 use `grub_init_all' and `grub_fini_all' instead.
32034
32035 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
32036 `grub_vesafb_mod_init'.
32037 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
32038 all users.
32039 * term/i386/pc/vga.c (grub_vga_init): Renamed to
32040 `grub_vga_mod_init'. Updated all users.
32041 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 32042
6d099807 32043 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
32044 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
32045 rules.
32046
32047 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
32048 Generate a function to initialize the module in utilities.
32049 Updated all callers.
32050 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
32051 initialize the module in utilities. Updated all callers.
32052
9046bcf0 320532005-11-09 Hollis Blanchard <hollis@penguinppc.org>
32054
32055 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
32056 escape sequence and a literal ^L to clear the screen.
32057
32058 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
32059 when returning from Open Firmware.
32060
d13ea639 320612005-11-09 Hollis Blanchard <hollis@penguinppc.org>
32062
32063 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
32064 (grub_ofconsole_height): Likewise.
32065 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
32066 manually insert a '\n'.
32067 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
32068 `grub_ofconsole_height'. Return early if these are already set.
32069
a8fcf206 320702005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
32071
32072 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
32073 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
32074 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
32075 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
32076 and `normal/script.c'.
32077 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
32078 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
32079 (test_mod_SOURCES): New variable.
32080 (test_mod_CFLAGS): Likewise.
32081 (test_mod_LDFLAGS): Likewise.
32082 (pkgdata_MODULES): Add `test.mod'.
32083 (grub_script.tab.c): New rule.
32084 (grub_script.tab.h): Likewise.
32085
b6b32745 320862005-11-07 Marco Gerards <mgerards@xs4all.nl>
32087
32088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32089 `commands/test.c', `normal/execute.c', `normal/lexer.c',
32090 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
32091 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
32092 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
32093 (test_mod_SOURCES): New variable.
32094 (test_mod_CFLAGS): Likewise.
32095 (pkgdata_MODULES): Add `test.mod'.
32096 (grub_script.tab.c): New rule.
32097 (grub_script.tab.h): Likewise.
32098
daac212a 320992005-11-06 Marco Gerards <mgerards@xs4all.nl>
32100
32101 Add initial scripting support.
32102
32103 * commands/test.c: New file.
32104 * include/grub/script.h: Likewise.
32105 * normal/execute.c: Likewise.
32106 * normal/function.c: Likewise.
32107 * normal/lexer.c: Likewise.
32108 * normal/parser.y: Likewise.
32109 * normal/script.c: Likewise.
32110
32111 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 32112
daac212a 32113 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
32114 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
32115 `normal/function.c' and `normal/script.c'.
32116 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
32117 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 32118 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
32119 variables.
daac212a 32120 (pkgdata_MODULES): Add `test.mod'.
32121 (grub_script.tab.c): New rule.
32122 (grub_script.tab.h): Likewise.
32123
32124 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
32125
32126 * include/grub/normal.h (grub_test_init): New prototype.
32127 (grub_test_fini): Likewise.
f19dbdb7 32128
daac212a 32129 * normal/command.c: Include <grub/script.h>.
32130 (grub_command_execute): Rewritten.
f19dbdb7 32131
daac212a 32132 * util/grub-emu.c (main): Call `grub_test_init' and
32133 `grub_test_fini'.
32134
77500b2b 321352005-11-03 Hollis Blanchard <hollis@penguinppc.org>
32136
32137 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
32138 to 0.
32139 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
32140 there are no pending characters.
32141
e45deb9e 321422005-11-03 Hollis Blanchard <hollis@penguinppc.org>
32143
32144 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
32145 `grub_strndup' to drop device arguments. Replace unnecessary
32146 `grub_strndup' with `grub_strdup'.
32147
4ce32619 321482005-11-03 Hollis Blanchard <hollis@penguinppc.org>
32149
32150 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
32151 `debug' environment variable has been set.
32152
321532005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 32154
4ce32619 32155 * Makefile.in (install-local): Use $(DATA).
32156 (uninstall): Likewise.
32157 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
32158 (sbin_UTILITIES): ... to here.
32159 (sbin_SCRIPTS): New variable.
32160 (grub_install_SOURCES): New variable.
32161 * util/powerpc/ieee1275/grub-install.in: New file.
32162 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
32163 variable.
32164 (add_segments): Call `grub_util_get_path'.
32165
25fe6f03 321662005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
32167
32168 From Timothy Baldwin:
32169 * commands/ls.c (grub_ls_list_files): Close FILE with
32170 grub_file_close.
32171 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
32172
04ccf3ec 321732005-10-24 Marco Gerards <mgerards@xs4all.nl>
32174
32175 * include/grub/parser.h: New file.
32176
32177 * kern/parser.c: Likewise.
32178
32179 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
32180 (grub_setup_SOURCES): Likewise.
32181 (grub_probefs_SOURCES): Likewise.
32182 (grub_emu_SOURCES): Likewise.
32183 (kernel_img_HEADERS): Add `parser.h'.
32184
32185 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
32186 (grub_emu_SOURCES): Add `kern/parser.c'.
32187 (grubof_SOURCES): Likewise.
32188
32189 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
32190 (grubof_SOURCES): Add `kern/parser.c'.
32191
32192 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
32193
32194 * kern/misc.c (grub_split_cmdline): Removed function.
32195
32196 * kern/rescue.c: Include <grub/parser.h>.
32197 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
32198 of `grub_split_cmdline'.
32199
32200 * normal/command.c: Include <grub/parser.h>.
32201 (grub_command_execute): Use `grub_parser_split_cmdline' instead
32202 of `grub_split_cmdline'.
32203
32204 * normal/completion.c: Include <grub/parser.h>.
32205 (cmdline_state): New variable.
32206 (iterate_dir): End the filename with a quote depending on the
32207 command line state.
32208 (get_state): new function.
32209 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
32210 split the arguments and determine the current argument. When the
32211 argument string is not quoted, escape all spaces.
32212
6d8f4b0e 322132005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
32214
32215 * normal/sparc64/setjmp.S: New file.
32216
15cf03ed 322172005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
32218
32219 * include/grub/sparc64/libgcc.h: New file.
32220 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
32221 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
32222 normal/sparc64/setjmp.c.
32223
03e8661a 322242005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
32225
32226 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
32227 * kern/sparc64/cache.S: New file.
32228 * kern/sparc64/cache.c: Removed.
32229 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
32230 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
32231 -mtune=ultrasparc.
32232 (COMMON_LDFLAGS): Add -melf64_sparc.
32233 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
32234 (grubof_SOURCES): Use cache.S instead of cache.c.
32235 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
32236 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
32237 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
32238 commented though.
32239 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
32240 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
32241 (linux_mod_CFLAGS): Commented out.
32242 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
32243 out because module isn't built.
32244 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
32245 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
32246 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
32247 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
32248 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
32249 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
32250 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
32251 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
32252 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
32253 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
32254 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
32255 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
32256 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
32257 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
32258
34eeec8a 322592005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
32260
32261 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
32262 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
32263 longer, because HFS should not be used on PC.
32264
708367a3 322652005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
32266
32267 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
32268 consistently within the loop.
32269
6fa1251a 322702005-10-15 Marco Gerards <mgerards@xs4all.nl>
32271
32272 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
32273 directory can not be read.
32274
4801580b 322752005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
32276
32277 * configure.ac (AC_INIT): Increase the version number to 1.91.
32278
32279 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
32280 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
32281 term/i386/pc/serial.c.
32282
219ad426 322832005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
32284
32285 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
32286 file size must be permitted.
32287
32288 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
32289 between %ah and %al.
32290
688e5699 322912005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
32292
32293 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
32294 grub_uint64_t.
32295 Call the hook with a NUL-terminated filename.
32296 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
32297 grub_cpu_to_be32.
32298
32299 * kern/term.c (cursor_state): New variable.
32300 (grub_term_set_current): Reset the cursor state on a new
32301 terminal.
32302 (grub_setcursor): Rewritten to use CURSOR_STATE.
32303 (grub_getcursor): New function.
32304
32305 * include/grub/term.h (grub_getcursor): New prototype.
32306
32307 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
32308 integers on ARM. Reported by Timothy Baldwin
32309 <T.E.Baldwin99@members.leeds.ac.uk>.
32310
bb34586c 323112005-10-11 Marco Gerards <mgerards@xs4all.nl>
32312
32313 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
32314 allocated.
32315 (grub_sfs_dir): Likewise.
32316
9a909877 323172005-10-09 Marco Gerards <mgerards@xs4all.nl>
32318
32319 Add support for the SFS filesystem.
32320
32321 * fs/sfs.c: New file.
32322
32323 * DISTLIST: Added `fs/sfs.c'.
32324
32325 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
32326 (grub_probefs_SOURCES): Likewise.
32327 (grub_emu_SOURCES): Likewise.
32328 (pkgdata_MODULES): Add `sfs.mod'.
32329 (sfs_mod_SOURCES): New variable.
32330 (sfs_mod_CFLAGS): Likewise.
32331 (sfs_mod_LDFLAGS): Likewise.
32332
32333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
32334 (pkgdata_MODULES): Add `sfs.mod'.
32335 (sfs_mod_SOURCES): New variable.
32336 (sfs_mod_CFLAGS): Likewise.
32337
32338 * util/grub-emu.c (main): Call `grub_sfs_init' and
32339 `grub_sfs_fini'.
32340
32341 * include/grub/fs.h (grub_sfs_init): New prototype.
32342 (grub_sfs_fini): Likewise.
32343
57bdbde3 323442005-10-07 Marco Gerards <mgerards@xs4all.nl>
32345
32346 Add support for the AFFS filesystem.
32347
32348 * fs/affs.c: New file.
32349
32350 * DISTLIST: Added `fs/affs.c'.
32351
32352 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
32353 (grub_probefs_SOURCES): Likewise.
32354 (grub_emu_SOURCES): Likewise.
32355 (pkgdata_MODULES): Add `affs.mod'.
32356 (affs_mod_SOURCES): New variable.
32357 (affs_mod_CFLAGS): Likewise.
32358 (affs_mod_LDFLAGS): Likewise.
32359
32360 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
32361 (pkgdata_MODULES): Add `affs.mod'.
32362 (affs_mod_SOURCES): New variable.
32363 (affs_mod_CFLAGS): Likewise.
32364
32365 * util/grub-emu.c (main): Call `grub_affs_init' and
32366 `grub_affs_fini'.
32367
32368 * include/grub/fs.h (grub_affs_init): New prototype.
32369 (grub_affs_fini): Likewise.
32370
047b67e0 323712005-10-01 Marco Gerards <mgerards@xs4all.nl>
32372
32373 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
32374
59b8208a 323752005-10-01 Marco Gerards <mgerards@xs4all.nl>
32376
32377 * configure.ac: Accept `x86_64' as host_cpu. In that case add
32378 `-m32' to CFLAGS.
32379
32380 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
32381 linking.
f19dbdb7 32382
59b8208a 32383 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
32384 (COMMON_LDFLAGS): New variable.
32385 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
32386 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
32387 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
32388 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
32389 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
32390 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
32391 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
32392 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
32393 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
32394 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
32395 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
32396 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
32397 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
32398 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
32399 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
32400 variables.
32401 (normal_mod_ASFLAGS): Add `-m32'.
32402
32403 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
32404 (grub_host_size_t, grub_host_ssize_t): New types.
32405 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 32406 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 32407 `GRUB_HOST_SIZEOF_VOID_P'.
32408
32409 * include/grub/kernel.h (struct grub_module_header): Type of
32410 member offset changed to `grub_host_off_t'. Type of member size
32411 changed to `grub_host_size_t'.
32412 (struct grub_module_info): Type of member offset changed to
32413 `grub_host_off_t'. Type of member size changed to
32414 `grub_host_size_t'.
32415
b4093103 324162005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
32417
32418 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 32419
b4093103 32420 * kern/i386/pc/startup.S (multiboot_header): New label.
32421 (multiboot_entry): Likewise.
32422 (multiboot_trampoline): Likewise.
32423
32424 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32425 Increased to 0x4A0.
32426
32427 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
32428 put parentheses after a question mark.
32429 [!GRUB_UTIL] (my_mod): New variable.
32430
32431 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
32432
b2499b29 324332005-09-28 Marco Gerards <mgerards@xs4all.nl>
32434
32435 Adds support for the XFS filesystem. Btrees are not supported
32436 yet.
32437
32438 * fs/xfs.c: New file.
32439
32440 * DISTLIST: Added `fs/xfs.c'.
32441
32442 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
32443 (grub_probefs_SOURCES): Likewise.
32444 (grub_emu_SOURCES): Likewise.
32445 (pkgdata_MODULES): Add `xfs.mod'.
32446 (xfs_mod_SOURCES): New variable.
32447 (xfs_mod_CFLAGS): Likewise.
32448
32449 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
32450 (pkgdata_MODULES): Add `xfs.mod'.
32451 (xfs_mod_SOURCES): New variable.
32452 (xfs_mod_CFLAGS): Likewise.
32453
32454 * util/grub-emu.c (main): Call `grub_xfs_init' and
32455 `grub_xfs_fini'.
32456
32457 * include/grub/fs.h (grub_xfs_init): New prototype.
32458 (grub_xfs_fini): Likewise.
32459
f19dbdb7 32460
83d37a62 324612005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
32462
32463 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
32464 color modes, allow greater than 16 colors to be configured as
32465 a default palette.
32466
47d2d65e 324672005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32468
32469 * normal/completion.c (complete_arguments): Add the qualifier
32470 const into OPTIONS.
32471
32472 From Omniflux <omniflux+lists@omniflux.com>:
32473 * include/grub/terminfo.h: New file.
32474 * include/grub/tparm.h: Likewise.
32475 * include/grub/i386/pc/serial.h: Likewise.
32476 * term/terminfo.c: Likewise.
32477 * term/tparm.c: Likewise.
32478 * term/i386/pc/serial.c: Likewise.
32479 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
32480 serial.mod.
32481 (terminfo_mod_SOURCES): New variable.
32482 (terminfo_mod_CFLAGS): Likewise.
32483 (serial_mod_SOURCES): Likewise.
32484 (serial_mod_CFLAGS): Likewise.
32485
48b671ff 324862005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
32487
32488 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
32489 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
32490 and kern/powerpc/ieee1275/cmain.c, respectively.
32491
32492 * boot/powerpc/ieee1275/crt0.S: Moved to ...
32493 * kern/powerpc/ieee1275/crt0.S: ... here.
32494
32495 * boot/powerpc/ieee1275/cmain.c: Moved to ...
32496 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 32497
48b671ff 32498 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
32499 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
32500 instead of boot/powerpc/ieee1275/crt0.S and
32501 boot/powerpc/ieee1275/cmain.c, respectively.
32502
32503 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
32504 sectors. It was not used anyway.
32505
09fc77a7 325062005-08-30 Hollis Blanchard <hollis@penguinppc.org>
32507
32508 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
32509 `unused parameter' warning.
32510
003789c7 325112005-08-30 Hollis Blanchard <hollis@penguinppc.org>
32512
32513 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
32514 function.
32515 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
32516 getcharwidth.
32517
67f44c86 325182005-08-28 Marco Gerards <metgerards@student.han.nl>
32519
32520 * include/grub/normal.h (enum grub_completion_type): Added
32521 `GRUB_COMPLETION_TYPE_ARGUMENT'.
32522
32523 * normal/cmdline.c (print_completion): Handle
32524 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
32525 * normal/menu_entry.c (store_completion): Likewise.
32526
32527 * normal/completion.c (complete_arguments): New function.
32528 (grub_normal_do_completion): Call `complete_arguments' when the
32529 current words start with a dash.
32530
0b5abe02 325312005-08-27 Marco Gerards <metgerards@student.han.nl>
32532
32533 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
32534 `gzio.mod' instead of `io.mod').
32535
d9864ee1 325362005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
32537
32538 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
32539 (DISTDIRS): Added io and video.
32540 Rewrite the search routine to make an output consistently.
32541
32542 * DISTLIST: Added conf/sparc64-ieee1275.mk,
32543 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
32544 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
32545 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
32546 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
32547 util/powerpc/ieee1275/misc.c.
f19dbdb7 32548
d9864ee1 32549 * include/grub/gzio.h: New file.
32550 * io/gzio.c: Likewise.
f19dbdb7 32551
d9864ee1 32552 * kern/file.c (grub_file_close): Call grub_device_close only if
32553 FILE->DEVICE is not NULL.
32554
32555 * include/grub/mm.h [!NULL] (NULL): New macro.
32556
32557 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
32558
32559 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
32560 (pkgdata_MODULES): Added gzio.mod.
32561 (gzio_mod_SOURCES): New variable.
32562 (gzio_mod_CFLAGS): Likewise.
32563
32564 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
32565 (pkgdata_MODULES): Added gzio.mod.
32566 (gzio_mod_SOURCES): New variable.
32567 (gzio_mod_CFLAGS): Likewise.
32568
32569 * commands/cat.c: Include grub/gzio.h.
32570 (grub_cmd_cat): Use grub_gzfile_open instead of
32571 grub_file_open.
f19dbdb7 32572
d9864ee1 32573 * commands/cmp.c: Include grub/gzio.h.
32574 (grub_cmd_cmp): Use grub_gzfile_open instead of
32575 grub_file_open.
32576
32577 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
32578 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
32579 grub_file_open.
32580 (grub_rescue_cmd_module): Likewise.
32581
fa46f4b5 325822005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
32583
32584 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
32585 kern/sparc64/ieee1275/init.c because it contains _start.
32586 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
32587
e9211b5d 325882005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
32589
32590 * configure.ac: Add support for sparc64 host with ieee1275
32591 firmware.
32592 * configure: Generated from configure.ac.
32593 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
32594 instead of int.
32595 (grub_ofdisk_read): Likewise.
32596 (grub_ofdisk_open): Use %p to print pointer values, and cast the
32597 pointers as (void *) to remove a warning.
32598 (grub_ofdisk_close): Likewise.
32599 (grub_ofdisk_read): Likewise.
32600 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
32601 returns, so make it return void to remove a warning.
32602 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
32603 Corresponding prototype change.
32604 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
32605 values, and cast the pointers as (void *) to remove a warning.
32606 (grub_mm_dump): Likewise.
32607 * conf/sparc64-ieee1275.mk: New file.
32608 * conf/sparc64-ieee1275.rmk: Likewise.
32609 * include/grub/sparc64/setjmp.h: Likewise.
32610 * include/grub/sparc64/types.h: Likewise.
32611 * include/grub/sparc64/ieee1275/console.h: Likewise.
32612 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32613 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32614 * include/grub/sparc64/ieee1275/time.h: Likewise.
32615 * kern/sparc64/cache.c: Likewise.
32616 * kern/sparc64/dl.c: Likewise.
32617 * kern/sparc64/ieee1275/init.c: Likewise.
32618 * kern/sparc64/ieee1275/openfw.c: Likewise.
32619
385c6a92 326202005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
32621
32622 * util/console.c (grub_ncurses_putchar): If C is greater than
32623 0x7f, set C to a question mark.
32624 (grub_ncurses_getcharwidth): New function.
32625 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
32626 getcharwidth.
32627
32628 * normal/menu.c (print_entry): Made aware of Unicode. First,
32629 convert TITLE to UCS-4, and predict the cursor position by
32630 grub_getcharwidth.
32631
32632 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
32633 const to SRC.
32634 * kern/misc.c (grub_utf16_to_utf8): Likewise.
32635
16ccb8b1 326362005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
32637
32638 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
32639 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
32640 grub_strcat.
32641
32642 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
32643 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
32644 grub_strcpy and grub_strlen. Take it into account that a space
32645 character is inserted as a delimiter.
32646
6a85ce79 326472005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
32648
32649 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 32650 invalid magic in the error.
6a85ce79 32651
32652 * commands/search.c: New file.
f19dbdb7 32653
6a85ce79 32654 * util/grub-emu.c (main): Call grub_search_init and
32655 grub_search_fini.
32656
32657 * kern/rescue.c (grub_rescue_print_disks): Removed.
32658 (grub_rescue_print_devices): New function.
32659 (grub_rescue_cmd_ls): Use grub_device_iterate with
32660 grub_rescue_print_devices instead of grub_disk_dev_iterate with
32661 grub_rescue_print_disks.
32662
32663 * kern/partition.c (grub_partition_iterate): Return the result of
32664 PARTMAP->ITERATE instead of GRUB_ERRNO.
32665
32666 * kern/device.c: Include grub/partition.h.
32667 (grub_device_iterate): New function.
32668
32669 * include/grub/partition.h (grub_partition_iterate): Return int
32670 instead of grub_err_t.
32671
32672 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
32673 prototype.
32674 [GRUB_UTIL] (grub_search_fini): Likewise.
32675
32676 * include/grub/device.h (grub_device_iterate): New prototype.
32677
32678 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32679 commands/search.c.
32680 (pkgdata_MODULES): Added search.mod.
32681 (search_mod_SOURCES): New variable.
32682 (search_mod_CFLAGS): Likewise.
32683
32684 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
32685 (pkgdata_MODULES): Added search.mod.
32686 (search_mod_SOURCES): New variable.
32687 (search_mod_CFLAGS): Likewise.
32688
32689 * commands/ls.c (grub_ls_list_disks): Renamed to ...
32690 (grub_ls_list_devices): ... this, and use grub_device_iterate.
32691 All callers changed.
32692
32693 * DISTLIST: Added commands/search.c.
32694
ef095434 326952005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
32696
32697 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
32698 conversion.
32699 (grub_getcharwidth): New function.
32700
32701 * kern/misc.c (grub_utf8_to_ucs4): New function.
32702
32703 * include/grub/term.h (struct grub_term): Added a new member
32704 "getcharwidth".
32705 (grub_getcharwidth): New prototype.
32706
32707 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
32708
32709 * term/i386/pc/console.c (map_char): New function. Segregated from
32710 grub_console_putchar.
32711 (grub_console_putchar): Use map_char.
32712 (grub_console_getcharwidth): New function.
32713 (grub_console_term): Specified grub_console_getcharwidth as
32714 getcharwidth.
32715
32716 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
32717 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
32718
32719 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
32720 GRUB_ERRNO.
32721 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
32722 on grub_strtoul completely.
32723 (write_char): Declare local variables in the beginning of the
32724 function.
32725 (grub_vesafb_getcharwidth): New function.
32726 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
32727 getcharwidth.
32728
1f0a95e4 327292005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
32730
32731 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
32732 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
32733 commands/i386/pc/vbetest.c.
32734
32735 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
32736 call grub_vbe_get_controller_info again, because the returned
32737 information is volatile.
32738 (grub_vbe_set_video_mode): Mostly rewritten.
32739 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
32740 grub_vbe_status_t correctly.
32741 (grub_vbe_get_video_mode_info): Likewise.
32742 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
32743 several if statements.
32744
32745 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
32746 * commands/i386/pc/vbeinfo.c: ... this.
32747
32748 * commands/i386/pc/vbe_test.c: Renamed to ...
32749 * commands/i386/pc/vbetest.c: ... this.
32750
32751 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
32752 ...
32753 (grub_cmd_vbeinfo): ... this. Save video modes before
32754 iterating. Skip a video mode, if it is not available, not enough
32755 information is given or it is monochrome. Show the memory
32756 model. Leave the interpretation of MODEVAR to grub_strtoul
32757 completely.
32758 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
32759 (GRUB_MOD_FINI): Likewise.
32760
32761 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
32762 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
32763 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
32764 duplicated grub_env_get. Leave the interpretation of MODEVAR to
32765 grub_strtoul completely.
32766 (real2pm): Removed.
32767 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
32768 (GRUB_MOD_FINI): Likewise.
32769
32770 * normal/misc.c: Include grub/mm.h.
32771
32772 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
32773 vbe_list_modes with vbetest.mod and vbeinfo.mod.
32774 (vbe_list_modes_mod_SOURCES): Removed.
32775 (vbe_list_modes_mod_CFLAGS): Likewise.
32776 (vbe_test_mod_SOURCES): Likewise.
32777 (vbe_test_mod_CFLAGS): Likewise.
32778 (vbeinfo_mod_SOURCES): New variable.
32779 (vbeinfo_mod_CFLAGS): Likewise.
32780 (vbetest_mod_SOURCES): Likewise.
32781 (vbetest_mod_CFLAGS): Likewise.
32782
992ffbbe 327832005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
32784
32785 * normal/misc.c: New file.
32786
32787 * DISTLIST: Added normal/misc.c.
f19dbdb7 32788
992ffbbe 32789 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
32790 DISK to HOOK. Call HOOK with DISK.
32791 * partmap/apple.c (apple_partition_map_iterate): Likewise.
32792 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32793 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32794
32795 * normal/menu_entry.c (struct screen): Added a new member
32796 "completion_shown".
32797 (completion_buffer): New global variable.
32798 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
32799 (store_completion): New function.
32800 (complete): Likewise.
32801 (clear_completions): Likewise.
32802 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
32803 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
32804 a tab, call complete.
32805
32806 * normal/completion.c (disk_dev): Removed.
32807 (print_simple_completion): Likewise.
32808 (print_partition_completion): Likewise.
32809 (print_func): New global variable.
32810 (add_completion): Do not take the arguments WHAT or PRINT any
32811 longer. Added a new argument TYPE. Instead of printing directly,
32812 call PRINT_FUNC if not NULL.
32813 All callers changed.
32814 (complete_device): Use a local variable DEV instead of
32815 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
32816 (grub_normal_do_completion): Take a new argument HOOK. Do not
32817 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
32818 empty string, return NULL instead.
32819 All callers changed.
32820
32821 * normal/cmdline.c (print_completion): New function.
32822
32823 * kern/partition.c (grub_partition_iterate): Add an argument DISK
32824 to HOOK.
32825 All callers changed.
32826
32827 * kern/disk.c (grub_print_partinfo): Removed.
32828
32829 * include/grub/partition.h (struct grub_partition_map): Add a new
32830 argument DISK into HOOK of ITERATE.
32831 (grub_partition_iterate): Add a new argument DISK to HOOK.
32832
32833 * include/grub/normal.h (enum grub_completion_type): New enum.
32834 (grub_completion_type_t): New type.
32835 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
32836 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
32837 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
32838 (GRUB_COMPLETION_TYPE_FILE): Likewise.
32839 (grub_normal_do_completion): Added a new argument HOOK.
32840 (grub_normal_print_device_info): New prototype.
32841
32842 * include/grub/disk.h (grub_print_partinfo): Removed.
32843
32844 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
32845 (normal_mod_SOURCES): Likewise.
32846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32847 (normal_mod_SOURCES): Likewise.
32848
32849 * commands/ls.c (grub_ls_list_disks): Use
32850 grub_normal_print_device_info instead of grub_print_partinfo. Free
32851 PNAME.
32852 (grub_ls_list_files): Use grub_normal_print_device_info instead of
32853 duplicating the code.
32854
0bd41162 328552005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32856
32857 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 32858 follow GCS more precisely.
32859 * commands/i386/pc/vbe_test.c: Likewise.
32860 * include/grub/i386/pc/vbe.h: Likewise.
32861 * term/i386/pc/vesafb.c: Likewise.
32862 * video/i386/pc/vbe.c: Likewise.
0bd41162 32863
6323696a 328642005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32865
32866 * DISTLIST: Added term/i386/pc/vesafb.c
32867 DISTLIST: Added video/i386/pc/vbe.c
32868 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
32869 DISTLIST: Added commands/i386/pc/vbe_test.c.
32870 * commands/i386/pc/vbe_list_modes.c: New file.
32871 * commands/i386/pc/vbe_test.c: Likewise.
32872 * term/i386/pc/vesafb.c: Likewise.
32873 * video/i386/pc/vbe.c: Likewise.
32874 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
32875 (grub_vbe_probe) Added prototype.
32876 (grub_vbe_set_video_mode) Likewise.
32877 (grub_vbe_get_video_mode) Likewise.
32878 (grub_vbe_get_video_mode_info) Likewise.
32879 (grub_vbe_set_pixel_rgb) Likewise.
32880 (grub_vbe_set_pixel_index) Likewise.
32881 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
32882 (pkgdata_MODULES): Added vesafb.mod.
32883 (pkgdata_MODULES): Added vbe_list_modes.mod.
32884 (pkgdata_MODULES): Added vbe_test.mod.
32885 (vbe_mod_SOURCES): Added.
32886 (vbe_mod_CFLAGS): Likewise.
32887 (vesafb_mod_SOURCES): Likewise.
32888 (vesafb_mod_CFLAGS): Likewise.
32889 (vbe_list_modes_mod_SOURCES): Likewise.
32890 (vbe_list_modes_mod_CFLAGS): Likewise.
32891 (vbe_test_mod_SOURCES): Likewise.
32892 (vbe_test_mod_CFLAGS): Likewise.
32893
0a74e62f 328942005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
32895
0a74e62f 32896 * normal/command.c (grub_command_execute): If INTERACTIVE is
32897 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
32898 CMDLINE. Disable the pager if INTERACTIVE is true.
32899 All callers are changed.
32900
32901 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
32902 before reading a config file.
32903 * normal/main.c (read_config_file): Even if a command is not
32904 found, register it if it is within an entry.
32905
32906 * util/grub-emu.c: Include sys/types.h and unistd.h.
32907 (options): Added --hold.
32908 (struct arguments): Added a new member "hold".
32909 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
32910 missing.
32911 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
32912 cleared by a debugger, if it is not zero.
32913
32914 * include/grub/normal.h (grub_command_execute): Add an argument
32915 INTERACTIVE.
32916
e51f85ae 329172005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
32918
32919 * DISTLIST: Added include/grub/i386/pc/vbe.h.
32920
e9c6f39b 329212005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
32922
32923 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
32924 program with another one, because the old one didn't detect a bug
32925 in gcc-3.4. Always use regparm 2, because the new test is still
32926 not enough for gcc-4.0. Someone must investigate a simple test
32927 case which detects a bug in gcc-4.0.
32928
8de3495c 329292005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
32930
32931 * DISTLIST: Added normal/completion.c.
32932
32933 * normal/completion.c: New file.
f19dbdb7 32934
8de3495c 32935 * term/i386/pc/console.c (grub_console_getwh): New function.
32936 (grub_console_term): Assign grub_console_getwh to getwh.
32937
32938 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
32939 function is defined in normal/completion.c as
32940 grub_normal_do_completion.
32941 (grub_cmdline_get): Use grub_normal_do_completion instead of
32942 grub_tab_complete.
32943
32944 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
32945 returns non-zero, otherwise return 0.
32946 (grub_partition_iterate): First, probe the partition map. Then,
32947 call ITERATE only for this partition map.
32948
32949 * kern/misc.c (grub_strncmp): Rewritten.
32950
32951 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
32952 returns non-zero. Otherwise return 0.
32953
32954 * include/grub/partition.h (grub_partition_map_iterate): Return
32955 int instead of void.
32956
32957 * include/grub/normal.h (grub_normal_do_completion): New prototype.
32958
32959 * include/grub/misc.h (grub_strncmp): Change the type of N to
32960 grub_size_t.
32961
32962 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
32963 of void.
32964
32965 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 32966 unsigned explicitly before comparing it with I.
8de3495c 32967
32968 * kern/main.c (grub_env_write_root): Add the attribute unused into
32969 VAR.
32970
32971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32972 normal/completion.c.
32973 (normal_mod_SOURCES): Likewise.
32974 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32975 (normal_mod_SOURCES): Likewise.
32976
32977 * normal/command.c (grub_iterate_commands): If ITERATE returns
32978 non-zero, return one immediately.
32979
e85e144b 329802005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
32981
32982 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
32983 * kern/i386/pc/startup.S: Updated Global Descriptor table's
32984 descriptions.
32985 (grub_vbe_get_controller_info): New function.
32986 (grub_vbe_get_mode_info): Likewise.
32987 (grub_vbe_set_mode): Likewise.
32988 (grub_vbe_get_mode): Likewise.
32989 (grub_vbe_set_memory_window): Likewise.
32990 (grub_vbe_get_memory_window): Likewise.
32991 (grub_vbe_set_scanline_length): Likewise.
32992 (grub_vbe_get_scanline_length): Likewise.
32993 (grub_vbe_set_display_start): Likewise.
32994 (grub_vbe_get_display_start): Likewise.
32995 (grub_vbe_set_palette_data): Likewise.
32996 * include/grub/i386/pc/vbe.h: New file.
32997
c46153d2 329982005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32999
33000 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
33001 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
33002 * DISTLIST: Likewise.
33003 * kern/ieee1275/of.c: Moved to ...
33004 * kern/ieee1275/ieee1275.c: ... here.
33005
0cb90c45 330062005-08-08 Hollis Blanchard <hollis@penguinppc.org>
33007
33008 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
33009 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
33010 Pass 0 as `end' parameter to grub_strtoul().
33011
a19fb360 330122005-08-08 Hollis Blanchard <hollis@penguinppc.org>
33013
33014 * include/grub/powerpc/ieee1275/console.h: Do not include
33015 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
33016 ifdef.
33017 (grub_console_cur_color): Remove i386-specific prototype.
33018 (grub_console_real_putchar): Likewise.
33019 (grub_console_checkkey): Likewise.
33020 (grub_console_getkey): Likewise.
33021 (grub_console_getxy): Likewise.
33022 (grub_console_gotoxy): Likewise.
33023 (grub_console_cls): Likewise.
33024 (grub_console_setcursor): Likewise.
33025 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
33026 Include <grub/machine/console.h>.
33027 * term/ieee1275/ofconsole.c: Likewise.
33028
4ac9bd04 330292005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
33030
33031 * Makefile.in (LIBLZO): New variable.
33032
33033 * configure.ac: Check for LZO version 2.
33034
33035 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
33036 lzo/lzo1x.h instead of lzo1x.h.
33037
33038 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
33039 of -llzo.
33040
33041 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
33042 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
33043
33044 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
33045 copying the data from PARTITION to P.
33046
f4917dfd 330472005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
33048
33049 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
33050 negative, unload the module.
33051
33052 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
33053 map is "pc_partition_map" but not "pc".
33054 (usage): Fix the description. The options are --boot-image and
33055 --core-image but not --boot-file or --core-file.
33056 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
33057 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
33058 DEFAULT_DIRECTORY.
33059
33060 * util/i386/pc/grub-install.in: Do not specify --boot-file or
33061 --core-file. Specify INSTALL_DEVICE as an argument.
33062
33063 * util/console.c: Include config.h.
33064 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
33065 [HAVE_NCURSES_H]: Include ncurses.h.
33066 [HAVE_CURSES_H]: Include curses.h.
33067 [!A_NORMAL] (A_NORMAL): Defined as zero.
33068 [!A_STANDOUT] (A_STANDOUT): Likewise.
33069
33070 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
33071 -lncurses.
33072 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
33073
33074 * configure.ac: Check for curses libraries and headers.
33075
33076 * Makefile.in (LIBCURSES): New variable.
33077
33078 * genmk.rb (Script::rule): Set the executable bits.
33079
33080 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
33081 name of the PC partition map is "pc_partition_map" but not "pc".
33082
0e143073 330832005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
33084
33085 * util/i386/pc/grub-install.in (grub_probefs): New variable.
33086 (modules): Likewise.
33087 (usage): Added descriptions for --modules and --grub-probefs.
33088 Handle --modules and --grub-probefs. Save the arguments in MODULES
33089 and GRUB_PROBEFS, respectively.
33090 Auto-detect a filesystem module against GRUBDIR. If the result is
33091 empty and modules are not specified explicitly, abort the
33092 installation. Add the result to MODULES.
33093
33094 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
33095 disk/powerpc/ieee1275/ofdisk.c,
33096 include/grub/powerpc/ieee1275/init.h and
33097 term/powerpc/ieee1275/ofconsole.c.
33098 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
33099 term/ieee1275/ofconsole.c.
33100
33101 * include/grub/powerpc/ieee1275/console.h: Resurrected.
33102
33103 * COPYING: Upgraded to the latest version. Only the address of the
33104 FSF office has changed.
f19dbdb7 33105
efd6e6d5 331062005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
33107
33108 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
33109 kern/ieee1275.c with kern/ieee1275/of.c.
33110
33111 * kern/ieee1275.c: Moved to ...
33112 * kern/ieee1275/of.c: ... here.
33113
8ceafda2 331142005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
33115
33116 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 33117 readability.
8ceafda2 33118
33119 * config.guess: Updated to the latest version from gnulib.
33120 * config.sub: Likewise.
33121 * install.sh: Likewise.
33122 * mkinstalldirs: Likewise.
33123
33124 * include/grub/console.h: Removed. This file is arch-specific. Do
33125 not put this in include/grub.
33126
33127 * include/grub/i386/pc/console.h: Resurrected.
33128
33129 * util/console.c: Include grub/machine/console.h instead of
33130 grub/console.h.
33131 * util/grub-emu.c: Likewise.
33132
267f6cd9 331332005-08-04 Marco Gerards <metgerards@student.han.nl>
33134
33135 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
33136 hardcoded value.
f19dbdb7 33137
267f6cd9 33138 From Vincent Pelletier <subdino2004@yahoo.fr>
33139 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
33140 Redefined to use grub_getwh.
33141 (grub_term): New member named getwh.
33142 (grub_getwh): New prototype.
33143 * kern/term.c (grub_getwh): New function.
33144 * term/i386/pc/console.c (grub_console_getwh): New function.
33145 (grub_console_term): New member `getwh'.
33146 * term/i386/pc/vga.c (grub_vga_getwh): New function.
33147 (grub_vga_term): New member `getwh'.
0b5abe02 33148 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 33149 grub_ssize_t.
33150 (grub_ofconsole_getw): New function.
33151 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
33152 (grub_ofconsole_term): New field named getwh and new initial
33153 value.
33154
3be7266d 331552005-08-03 Hollis Blanchard <hollis@penguinppc.org>
33156
33157 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
33158 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
33159 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
33160 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
33161 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
33162 of <grub/machine/ieee1275.h>.
33163 * commands/ieee1275/reboot.c: Likewise.
33164 * boot/powerpc/ieee1275/ieee1275.c: Move ...
33165 * kern/ieee1275.c: ... to here. All users updated. Change all
33166 parameter structs to use new type `grub_ieee1275_cell_t'.
33167 * term/powerpc/ieee1275/ofconsole.c: Move ...
33168 * term/ieee1275/ofconsole.c: ... to here. All users updated.
33169 * disk/powerpc/ieee1275/ofdisk.c: Move ...
33170 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
33171 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
33172 to return int.
33173 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
33174 Remove unused prototypes. All users updated.
33175 * include/grub/powerpc/ieee1275/console.h: Removed.
33176 * include/grub/powerpc/ieee1275/ieee1275.h: Define
33177 `grub_ieee1275_cell_t'.
33178 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
33179 Cast comparisons with -1 to the correct type.
33180 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
33181 type to match `grub_ieee1275_entry_fn'.
33182
8b5f3938 331832005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
33184
33185 * DISTLIST: Added util/i386/pc/grub-probefs.c.
33186
33187 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
33188 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
33189 partmap/sun.c.
33190 (grub_probefs_SOURCES): New variable.
33191
33192 * util/i386/pc/grub-probefs.c: New file.
33193
33194 * util/i386/pc/grub-setup.c (main): Call
33195 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
33196 grub_hfs_init and grub_jfs_init to initialize the system. Call
33197 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
33198 grub_pc_partition_map_fini to finish the system.
33199
ea409713 332002005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
33201
33202 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
33203 function.
33204 (grub_multiboot_load_elf32): Likewise.
33205 (grub_multiboot_is_elf64): Likewise.
33206 (grub_multiboot_load_elf64): Likewise.
33207 (grub_multiboot_load_elf): Likewise.
33208 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
33209 an ELF32 or ELF64 file.
33210 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
33211
33212 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
33213 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
33214 NULL before calling FS->LABEL.
33215 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
33216 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
33217 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
33218 before calling FS->LABEL.
33219
141a288b 332202005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
33221
33222 * util/i386/pc/grub-install.in (datadir): New variable.
33223 (libdir): Removed.
33224 (pkgdatadir): New variable.
33225 (pkglibdir): Removed.
33226
0d5f8a54 332272005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
33228
33229 * DISTLIST: Added util/i386/pc/grub-install.in.
33230
33231 * util/i386/pc/grub-install.in: New file.
33232
33233 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
33234 (grub_install_SOURCES): Likewise.
33235
33236 * genmk.rb: Added support for scripts.
33237 (Script): New class.
33238 (scripts): New variable.
33239
33240 * Makefile.in (install-local): Install sbin_SCRIPTS by
33241 INSTALL_SCRIPT.
33242 (uninstall): Remove sbin_SCRIPTS.
33243
33244 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
33245 device, try to get a GRUB device by
33246 grub_util_biosdisk_get_grub_dev.
33247 Free DEST_DEV.
33248
33249 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
33250 description for --device-map.
33251
5f968e1e 332522005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
33253
33254 Change the semantics of variable hooks. They now return strings
33255 instead of error values.
f19dbdb7 33256
5f968e1e 33257 * util/i386/pc/grub-setup.c: Include grub/env.h.
33258 (setup): Use grub_device_set_root instead of grub_env_set.
33259
33260 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
33261 grub_env_get instead of grub_device_set_root and
33262 grub_device_get_root, respectively.
33263
33264 * kern/main.c (grub_env_write_root): New function.
33265 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
33266 grub_env_set instead of grub_device_set_root.
33267
33268 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
33269 many variables.
33270 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
33271 rather than calling ENV->WRITE_HOOK afterwards.
33272 (grub_env_get): Return the result of ENV->READ_HOOK rather than
33273 passing a pointer of a pointer.
33274 (grub_register_variable_hook): Change the types of "read_hook" and
33275 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
33276 respectively.
33277 Allocate the default empty string on the heap, because this string
33278 may be freed later.
33279
33280 * kern/device.c: Include grub/env.h.
33281 (grub_device_set_root): Removed.
33282 (grub_device_get_root): Likewise.
33283 (grub_device_open): Use grub_env_get instead of
33284 grub_device_get_root.
33285
33286 * include/grub/env.h (grub_env_read_hook_t): New type.
33287 (grub_env_write_hook_t): Likewise.
33288 (grub_env_var): Change the types of "read_hook" and "write_hook"
33289 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
33290 (grub_register_variable_hook): Likewise.
33291
33292 * include/grub/device.h (grub_device_set_root): Removed.
33293 (grub_device_set_root): Likewise.
33294
33295 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
33296 make sure that DIRNAME terminates with '/', so that
33297 grub_fat_find_dir will fail if PATH is not a directory.
33298
33299 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
33300 from DIRNAME.
33301 Use the qualifier auto for print_files and print_files_long.
33302 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
33303 as a regular file.
33304 Put a newline only if there is no error.
33305 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
33306 used.
33307
896f0afd 333082005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
33309
33310 * kern/partition.c (grub_partition_probe): Initialize PART to
33311 NULL. Otherwise, when no partition map is registered, this returns
33312 a garbage.
33313
b28b81b2 333142005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
33315
33316 * partmap/apple.c (apple_partition_map_iterate): Check if POS
33317 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
33318 valid.
33319
5f3607e0 333202005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
33321
33322 * commands/ls.c (grub_ls_list_disks): Print the filesystem
33323 information on each device, if it does not have partitions. Print
33324 "Device" instead of "Disk", because this function is not specific
33325 to disk devices.
33326
33327 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
33328 static to ensure that it is put on the memory rather than a
33329 register.
33330
502c87e8 333312005-07-17 Yoshinori Okuji <okuji@enbug.org>
33332
33333 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
33334 (grub_cat_init): Likewise.
33335 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
33336 (options): Likewise.
33337 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
33338 (grub_configfile_init): Likewise.
33339 * font/manager.c (GRUB_MOD_INIT): Likewise.
33340 * commands/help.c (GRUB_MOD_INIT): Likewise.
33341 (grub_help_init): Likewise.
33342 * normal/command.c (grub_command_init): Likewise.
33343 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
33344 * disk/loopback.c (grub_loop_init): Likewise.
33345 (GRUB_MOD_INIT): Likewise.
33346 * commands/ls.c (grub_ls_init): Likewise.
33347 (GRUB_MOD_INIT): Likewise.
33348 (options): Likewise.
33349 * commands/boot.c (grub_boot_init): Likewise.
33350 (GRUB_MOD_INIT): Likewise.
33351 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
33352 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
33353 (GRUB_MOD_INIT): Likewise.
33354 * commands/cmp.c (grub_cmp_init): Likewise.
33355 (GRUB_MOD_INIT): Likewise.
33356
33357 * normal/arg.c: Use <> instead of "" to include header files.
33358 (SHORT_ARG_HELP): New macro.
33359 (SHORT_ARG_USAGE): Likewise.
33360 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
33361 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
33362 descriptions.
33363 (find_short): Check if C is 'h' or 'u' explicitly.
33364 (grub_arg_show_help): Use space characters instead of tabs. Treat
33365 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
33366 are shown with --help and --usage only if they are not used for
33367 the command itself.
33368 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
33369 'h' and 'u'.
33370
33371 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
33372 const into "longarg". Change the type of "shortarg" to int.
33373
f806d18e 333742005-07-17 Yoshinori Okuji <okuji@enbug.org>
33375
33376 * boot/i386/pc/boot.S (boot_drive_check): New label.
33377
33378 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
33379 macro.
33380
33381 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
33382 which do not pass a boot drive correctly. Copied from GRUB Legacy.
33383
e293232b 333842005-07-17 Yoshinori Okuji <okuji@enbug.org>
33385
33386 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
33387 When turning off Gate A20, skip the check and return immediately,
33388 because this is not fatal usually.
33389
ebedfd00 333902005-07-17 Yoshinori Okuji <okuji@enbug.org>
33391
33392 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
33393 be 0x7C00 instead of 0x8000.
33394
33395 * boot/i386/pc/pxeboot.S: Rewritten.
33396
33397 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
33398 EXT_C.
33399 (gate_a20_check_state): Read a byte from 0x108000. Invert the
33400 result.
33401
654fc59f 334022005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
33403
33404 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
33405 robustness. This routine now supports a BIOS call and System
33406 Control Port A to modify the gate A20.
33407
33408 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33409 Increased to 0x440.
33410
09f9923f 334112005-07-12 Hollis Blanchard <hollis@penguinppc.org>
33412
33413 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
33414 device path and resulting ihandle.
33415 (grub_ofdisk_close): dprintf the ihandle being closed.
33416 (grub_ofdisk_read): dprintf function parameters.
33417 * kern/mm.c (grub_mm_init_region): Likewise.
33418 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
33419 (grub_linux_boot): dprintf the Linux entry point, initrd address and
33420 size, and boot arguments.
33421 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
33422 before loading into memory.
33423 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
33424 before loading into memory.
33425
7ef504d8 334262005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
33427
33428 * kern/mm.c: Added much documentation.
33429 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
33430 8, set to 5 instead of 8.
33431
e0f050c2 334322005-07-10 Yoshinori Okuji <okuji@enbug.org>
33433
33434 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
33435
33436 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
33437 (grub_mkdevicemap_SOURCES): New variable.
33438
33439 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
33440 lib/device.c of GRUB Legacy.
33441
7224189a 334422005-07-10 Yoshinori Okuji <okuji@enbug.org>
33443
33444 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
33445 instead of PATH is NULL.
33446
68c864eb 334472005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
33448
33449 * commands/cmp.c (BUFFER_SIZE): New macro.
33450 (grub_cmd_cmp): Close the right file at the right time. Compare
33451 only data just read. Don't report files of different size as
33452 identical. Dynamically allocate buffers. Move variable
33453 declarations at the beginning of function.
33454
e6f3e614 334552005-07-09 Yoshinori Okuji <okuji@enbug.org>
33456
33457 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
33458 reverse.
33459
f8f1559a 334602004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
33461
33462 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
33463 when backspace is pressed at beginning of line.
33464
39c9d41d 334652005-07-03 Yoshinori Okuji <okuji@enbug.org>
33466
33467 * DISTLIST: Added genfslist.sh.
33468
33469 * normal/main.c (fs_module_list): New variable.
33470 (autoload_fs_module): New function.
33471 (read_fs_list): Likewise.
33472 (grub_normal_execute): Call read_fs_list.
33473
33474 * kern/fs.c (grub_fs_autoload_hook): New variable.
33475 (grub_fs_probe): Added support for auto-loading.
33476
33477 * include/grub/normal.h (struct grub_fs_module_list): New struct.
33478 (grub_fs_module_list_t): New type.
33479
33480 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
33481 (grub_fs_autoload_hook): New prototype.
33482
33483 * genfslist.sh: New file.
f19dbdb7 33484
39c9d41d 33485 * genmk.rb: Added a rule to generate a filesystem list.
33486
121c1d83 334872005-06-30 Marco Gerards <metgerards@student.han.nl>
33488
33489 * configure.ac: Fix the test for cross-compiling.
33490
33491 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
33492 define GRUB_UTIL anymore.
33493
33494 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
33495 so this function works on other systems than just big endian.
33496 (load_modules): Likewise.
33497 (add_segments): Likewise.
33498
e75d76e1 334992005-06-23 Hollis Blanchard <hollis@penguinppc.org>
33500
33501 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
33502 contains `l' modifier, get a long from va_arg().
33503
50b5a0a7 335042005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
33505
33506 * kern/mm.c (grub_free): If the next free block which is being
33507 merged is the first free block, set the first block to the block
33508 being freed.
33509 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
33510
89371b20 335112005-05-08 Hollis Blanchard <hollis@penguinppc.org>
33512
33513 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
33514 `grub_ieee1275_chosen'.
33515
168d6e58 335162005-05-08 Hollis Blanchard <hollis@penguinppc.org>
33517
33518 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
33519 (grub_ieee1275_chosen): New variable.
33520 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
33521 `chosen'.
33522 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
33523 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33524 Rename first argument to `phandle' for consistency.
33525 (grub_ieee1275_get_property_length): Likewise.
33526 (grub_ieee1275_next_property): Likewise. Change type of first argument
33527 to grub_ieee1275_phandle_t.
33528 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
33529 Move export next to declaration.
33530 (grub_ieee1275_chosen): New variable.
33531 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
33532 Correct cosmetic typo.
33533 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
33534 `grub_ieee1275_chosen'.
33535 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
33536 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
33537 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
33538 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
33539 `grub_ieee1275_chosen'.
33540
ca5baa3f 335412005-05-10 Hollis Blanchard <hollis@penguinppc.org>
33542
33543 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
33544 /chosen/bootargs.
33545 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
33546 /chosen/bootargs as "variable=value" pairs.
33547
708b345f 335482005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
33549
33550 * include/grub/misc.h (grub_dprintf): New macro.
33551 (grub_real_dprintf): New prototype.
33552 (grub_strword): Likewise.
33553 (grub_iswordseparator): Likewise.
33554 * kern/misc.c (grub_real_dprintf): New function.
33555 (grub_strword): Likewise.
33556 (grub_iswordseparator): Likewise.
33557
f4c5e67c 335582005-04-30 Hollis Blanchard <hollis@penguinppc.org>
33559
33560 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
33561 (roundup): Remove macro.
33562 (grub_ieee1275_flags): Make static.
33563 (grub_ieee1275_realmode): Remove.
33564 (grub_ieee1275_test_flag): New function.
33565 (grub_ieee1275_set_flag): Likewise.
33566 (find_options): Rename to `grub_ieee1275_find_options'; update
33567 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
33568 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
33569 (cmain): New prototype.
33570 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
33571 `grub_ieee1275_flags' directly.
33572 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
33573 machine/biosdisk.h.
33574 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
33575 Don't include grub/machine/init.h.
33576 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
33577 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
33578 Remove prototype.
33579 (grub_ieee1275_realmode): Likewise.
33580 (grub_ieee1275_flag): New enum.
33581 (grub_ieee1275_test_flag): New prototype.
33582 (grub_ieee1275_set_flag): New prototype.
33583 * include/grub/powerpc/ieee1275/init.h: Remove file.
33584 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
33585 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
33586 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
33587 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
33588 comment.
33589 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
33590 `grub_ieee1275_test_flag'.
33591 (grub_ieee1275_encode_devname): Likewise.
33592
ed16607e 335932005-04-21 Hollis Blanchard <hollis@penguinppc.org>
33594
33595 * include/grub/powerpc/ieee1275/ieee1275.h
33596 (grub_ieee1275_encode_devname): New prototype.
33597 (grub_ieee1275_get_filename): Likewise.
33598 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
33599 function.
33600 (grub_set_prefix): Likewise.
33601 (grub_machine_init): Call grub_set_prefix.
33602 * kern/powerpc/ieee1275/openfw.c: Fix typos.
33603 (grub_parse_type): New enum.
33604 (grub_ieee1275_get_devargs): New function.
33605 (grub_ieee1275_get_devname): Likewise.
33606 (grub_ieee1275_parse_args): Likewise.
33607 (grub_ieee1275_get_filename): Likewise.
33608 (grub_ieee1275_encode_devname): Likewise.
33609
be369920 336102005-03-30 Marco Gerards <metgerards@student.han.nl>
33611
33612 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
33613 `grub_loader_unset'.
33614
a5ce3a4a 336152005-03-26 Hollis Blanchard <hollis@penguinppc.org>
33616
33617 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
33618 instead of grub_ieee1275_interpret.
33619 (grub_halt_init): New function.
33620 (grub_halt_fini): Likewise.
33621 (GRUB_MOD_INIT): Correct message grammar.
33622 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
33623 instead of grub_ieee1275_interpret.
33624 (grub_reboot_init): New function.
33625 (grub_reboot_fini): Likewise.
33626 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
33627 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
33628 util/i386/pc/misc.c with commands/ieee1275/halt.c,
33629 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
33630 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
33631 function.
33632 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
33633 Add prototype.
33634 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
33635 prototype.
33636 (grub_halt): Likewise.
33637 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
33638 (cmain): Remove __attribute__((unused)).
33639 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
33640 (grub_heap_len): Likewise.
33641 (grub_machine_fini): New function.
33642 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
33643 (grub_halt): Likewise.
33644 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
33645 function.
33646 * util/powerpc/ieee1275/misc.c: New file.
33647
0058f771 336482005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
33649
33650 * DISTLIST: New file.
33651 * gendistlist.sh: Likewise.
f19dbdb7 33652
0058f771 33653 * Makefile.in (COMMON_DISTFILES): Removed.
33654 (BOOT_DISTFILES): Likewise.
33655 (CONF_DISTFILES): Likewise.
33656 (DISK_DISTFILES): Likewise.
33657 (FS_DISTFILES): Likewise.
33658 (INCLUDE_DISTFILES): Likewise.
33659 (KERN_DISTFILES): Likewise.
33660 (LOADER_DISTFILES): Likewise.
33661 (TERM_DISTFILES): Likewise.
33662 (UTIL_DISTFILES): Likewise.
33663 (DISTFILES): Likewise.
33664 (uninstall): Uninstall files in $(pkgdata_DATA).
33665 (DISTLIST): New target.
33666 (distdir): Use the contents of the file DISTLIST to get a list of
33667 distributed files.
33668
46b3b8a5 336692005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
33670
33671 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
33672 descriptor. This is ported from GRUB Legacy.
33673
33674 * gencmdlist.sh: Added an extra semicolon to make it work with
33675 old sed versions. Reported by Robert Bihlmeyer
33676 <robbe@orcus.priv.at>.
33677
5822ff87 336782005-03-08 Yoshinori Okuji <okuji@enbug.org>
33679
33680 Automatic loading of commands is supported.
f19dbdb7 33681
5822ff87 33682 * normal/main.c (read_command_list): New function.
33683 (grub_normal_execute): Call read_command_list.
33684
33685 * normal/command.c (grub_register_command): Return zero or CMD.
33686 Allocate CMD->NAME from the heap.
33687 Initialize CMD->MODULE_NAME to zero.
33688 Find the same name as well. If the same command is found and it is
33689 a dummy command, overwrite members. If it is not a dummy command,
33690 return zero.
33691 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
33692 (grub_command_find): If a dummy command is found, load a module
33693 and retry to find a command only once.
33694
33695 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
33696 make sure that each command is loaded.
33697
33698 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
33699 macro.
33700 (struct grub_command): Remove const from the member `name'.
33701 Add a new member `module_name'.
33702 (grub_register_command): Return grub_command_t.
33703
33704 * commands/help.c (grub_cmd_help): Call grub_command_find to make
33705 sure that each command is loaded.
33706
33707 * genmk.rb (PModule::rule): Specify a module name without the
33708 suffix ".mod" to gencmdlist.sh.
33709
7b1f4b57 337102005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
33711
33712 * gencmdlist.sh: New file.
f19dbdb7 33713
7b1f4b57 33714 * genmk.rb (PModule::rule): Generate a rule for a command list.
33715 Clean command.lst.
33716 Generate command.lst from $(COMMANDFILES).
33717
33718 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
33719 (DATA): Added $(pkgdata_DATA).
33720 (install-local): Install files in $(pkgdata_DATA).
33721
062aaf39 337222005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
33723
33724 * term/i386/pc/vga.c (debug_command): Removed.
33725 (GRUB_MOD_INIT): Do not register the command "debug".
33726
33727 From Hollis Blanchard:
33728 * commands/configfile.c: New file.
33729 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33730 commands/configfile.c.
33731 (pkgdata_MODULES): Added configfile.mod.
33732 (configfile_mod_SOURCES): New variable.
33733 (configfile_mod_CFLAGS): Likewise.
33734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
33735 commands/configfile.c.
33736 (pkgdata_MODULES): Added configfile.mod.
33737 (configfile_mod_SOURCES): New variable.
33738 (configfile_mod_CFLAGS): Likewise.
33739 * util/grub-emu.c (main): Call grub_configfile_init and
33740 grub_configfile_fini.
33741 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
33742 prototype.
33743 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 33744
cee01aa6 337452005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
33746
33747 * normal/arg.c (grub_arg_show_help): Do not show the bug report
33748 address.
33749
33750 * commands/help.c (grub_cmd_help): Do not print newlines after
33751 the last command in print_command_help.
33752
93f3a1d8 337532005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
33754
33755 * commands/default.h: New file.
33756 * commands/timeout.h: Likewise.
33757 * normal/context.c: Likewise.
f19dbdb7 33758
93f3a1d8 33759 * util/misc.c: Do not include sys/times.h.
33760 Include sys/time.h and grub/machine/time.h.
33761 (grub_get_rtc): Rewritten with gettimeofday.
33762
33763 * util/grub-emu.c (main): Call grub_default_init and
33764 grub_timeout_init before grub_normal_init, and call
33765 grub_timeout_fini and grub_default_fini after grub_main.
33766
33767 * util/console.c (grub_ncurses_checkkey): Return the read
33768 character or -1.
33769
33770 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
33771 timeouts.
33772
33773 * normal/main.c (read_config_file): Push MENU. If this fails,
33774 print an error and wait for a user input.
33775 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
33776 If a menu is empty or an error occurs, pop MENU.
33777 (grub_normal_execute): Pop and free MENU after grub_menu_run
33778 returns.
33779
33780 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
33781
33782 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
33783 include time.h.
33784 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
33785 without GRUB_UTIL.
33786 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
33787 time.h.
33788 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
33789 without GRUB_UTIL.
33790
33791 * include/grub/normal.h (struct grub_menu_list): New struct.
33792 (grub_menu_list_t): New type.
33793 (struct grub_context): New struct.
33794 (grub_context_t): New type.
33795 (grub_register_command): Got rid of EXPORT_FUNC.
33796 (grub_unregister_command): Likewise.
33797 (grub_context_get): New prototype.
33798 (grub_context_get_current_menu): Likewise.
33799 (grub_context_push_menu): Likewise.
33800 (grub_context_pop_menu): Likewise.
33801 [GRUB_UTIL] (grub_default_init): Likewise.
33802 [GRUB_UTIL] (grub_default_fini): Likewise.
33803 [GRUB_UTIL] (grub_timeout_init): Likewise.
33804 [GRUB_UTIL] (grub_timeout_fini): Likewise.
33805
33806 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
33807 commands/timeout.c and normal/context.c.
33808 (pkgdata_MODULES): Added default.mod and timeout.mod.
33809 (normal_mod_SOURCES): Added normal/context.c.
33810 (default_mod_SOURCES): New variable.
33811 (default_mod_CFLAGS): Likewise.
33812 (timeout_mod_SOURCES): Likewise.
33813 (timeout_mod_CFLAGS): Likewise.
33814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
33815 conf/i386-pc.rmk.
33816 (pkgdata_MODULES): Added default.mod and timeout.mod.
33817 (normal_mod_SOURCES): Added normal/context.c.
33818 (default_mod_SOURCES): New variable.
33819 (default_mod_CFLAGS): Likewise.
33820 (timeout_mod_SOURCES): Likewise.
33821 (timeout_mod_CFLAGS): Likewise.
33822
33823 * Makefile.in (all-local): Added $(MKFILES).
33824
4ed2e1dd 338252005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
33826
33827 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
33828 (grub_emu_SOURCES): Likewise.
33829 (pkgdata_MODULES): Add `sun.mod'.
33830 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33831 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33832 `partmap/sun.c'.
33833 (pkgdata_MODULES): Add `sun.mod'.
33834 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33835 * include/grub/partition.h (grub_sun_partition_map_init): New
33836 prototype.
33837 (grub_sun_partition_map_fini): Likewise.
33838 * partmap/sun.c: New file.
33839 * util/grub-emu.c (main): Initialize and de-initialize the sun
33840 partitionmap support.
33841
4d4e372e 338422005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
33843
33844 This implements an Emacs-like menu entry editor.
f19dbdb7 33845
4d4e372e 33846 * normal/menu_entry.c: New file.
f19dbdb7 33847
4d4e372e 33848 * util/console.c (grub_ncurses_putchar): Translate some Unicode
33849 characters to ASCII.
33850 (saved_char): New variable.
33851 (grub_ncurses_checkkey): Rewritten completely.
33852 (grub_ncurses_getkey): Likewise.
33853 (grub_ncurses_init): Call raw instead of cbreak.
33854
33855 * normal/menu.c (print_entry): Do not put a space.
33856 (init_page): Renamed to ...
33857 (grub_menu_init_page): ... this. All callers changed.
33858 (edit_menu_entry): Removed.
33859 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
33860
33861 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
33862
33863 * kern/misc.c (grub_vprintf): Call grub_refresh.
33864
33865 * normal/menu.c (DISP_LEFT): Renamed to ...
33866 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
33867 * normal/menu.c (DISP_UP): Renamed to ...
33868 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
33869 * normal/menu.c (DISP_RIGHT): Renamed to ...
33870 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
33871 * normal/menu.c (DISP_DOWN): Renamed to ...
33872 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
33873 * normal/menu.c (DISP_HLINE): Renamed to ...
33874 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
33875 * normal/menu.c (DISP_VLINE): Renamed to ...
33876 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
33877 * normal/menu.c (DISP_UL): Renamed to ...
33878 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
33879 * normal/menu.c (DISP_UR): Renamed to ...
33880 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
33881 * normal/menu.c (DISP_LL): Renamed to ...
33882 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
33883 * normal/menu.c (DISP_LR): Renamed to ...
33884 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
33885 * normal/menu.c (TERM_WIDTH): Renamed to ...
33886 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
33887 * normal/menu.c (TERM_HEIGHT): Renamed to ...
33888 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
33889 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
33890 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
33891 * normal/menu.c (TERM_MARGIN): Renamed to ...
33892 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
33893 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
33894 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
33895 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
33896 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
33897 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
33898 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
33899 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
33900 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
33901 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
33902 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
33903 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
33904 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
33905 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
33906 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
33907 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
33908 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
33909 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
33910 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
33911 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
33912 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
33913 All callers changed.
33914
33915 * include/grub/normal.h: New prototype.
33916
33917 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33918 normal/menu_entry.c.
33919 (normal_mod_SOURCES): Likewise.
33920 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33921 (normal_mod_SOURCES): Likewise.
33922
e6b92c8a 339232005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
33924
33925 * include/grub/normal.h (grub_halt_init): New prototype.
33926 (grub_halt_fini): Likewise.
33927 (grub_reboot_init): Likewise.
33928 (grub_reboot_fini): Likewise.
33929
33930 * util/grub-emu.c: Include signal.h.
33931 (main_env): New global variable.
33932 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
33933 catch C-c.
33934 (grub_machine_fini): New function.
33935 (main): Call grub_halt_init and grub_reboot_init before
33936 grub_main, and grub_reboot_fini and grub_halt_fini after it.
33937 Call setjmp with MAIN_ENV to go back afterwards.
33938 Call grub_machine_fini right before return.
33939
33940 * include/grub/util/misc.h: Include setjmp.h.
33941 (main_env): New prototype.
33942
33943 * include/grub/kernel.h (grub_machine_fini): New prototype.
33944 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
33945 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
33946
33947 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
33948 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
33949 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 33950
e6b92c8a 33951 * util/i386/pc/misc.c: New file.
f19dbdb7 33952
e6b92c8a 33953 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33954 util/i386/pc/misc.c, commands/i386/pc/halt.c and
33955 commands/i386/pc/reboot.c.
33956
c642636f 339572005-02-14 Guillem Jover <guillem@hadrons.org>
33958
33959 * include/grub/dl.h (grub_dl_check_header): New prototype.
33960 (grub_arch_dl_check_header): Change return type to grub_err_t,
33961 remove size parameter and export function. Update all callers.
33962 * kern/dl.c (grub_dl_check_header): New function.
33963 (grub_dl_load_core): Use `grub_dl_check_header' instead of
33964 `grub_arch_dl_check_header'. Check ELF type. Check if sections
33965 are inside the core.
33966 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
33967 independent ELF header checks.
33968 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33969 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
33970 `grub_dl_check_header' instead of explicit checks. Check for the
33971 ELF type.
33972 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
33973 `grub_dl_check_header' instead of explicit checks. Remove arch
33974 specific ELF header checks.
33975
e6b92c8a 33976 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
33977 argument SIZE.
33978
5eabe94b 339792005-02-13 Hollis Blanchard <hollis@penguinppc.org>
33980
33981 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
33982 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
33983
1b14a681 339842005-02-12 Hollis Blanchard <hollis@penguinppc.org>
33985
33986 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 33987 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 33988 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 33989 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 33990 * partmap/amiga.c (amiga_partition_map_iterate): Return
33991 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
33992 * partmap/apple.c (apple_partition_map_iterate): Likewise.
33993
aca108aa 339942005-02-01 Guillem Jover <guillem@hadrons.org>
33995
33996 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
33997 help info.
33998
c9f9c556 339992005-01-31 Marco Gerards <metgerards@student.han.nl>
34000
34001 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
34002 Removed prototype.
34003 (grub_rescue_cmd_linux): New prototype.
34004 (grub_rescue_cmd_initrd): Likewise.
34005 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
34006 `bi_rec'.
34007 (grub_linux_release_mem): Release the memory for the initrd.
34008 (grub_load_linux): Renamed from this...
34009 (grub_rescue_cmd_linux): ...To this. Changed all callers.
34010 Changed `entry' not to be static. Loop over memory regions to
34011 find another one when the default fails.
34012 (grub_rescue_cmd_initrd): New function.
34013 (grub_linux_init): Remove function.
34014 (grub_linux_fini): Likewise.
34015 (GRUB_MOD_INIT): Register `initrd'.
34016 (GRUB_MOD_FINI): Unregister `initrd'.
34017 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
34018 Function removed.
34019 (grub_linux_normal_fini): Likewise.
34020 (GRUB_MOD_INIT): Register `initrd'.
34021 (GRUB_MOD_FINI): Unregister `initrd'.
34022
990cf3aa 340232005-01-31 Marco Gerards <metgerards@student.han.nl>
34024
34025 * commands/help.c: New file.
34026 * normal/arg.c (show_help): Renamed to...
34027 (grub_arg_show_help): ... this.
34028 * commands/i386/pc/halt.c: New file.
34029 * commands/i386/pc/reboot.c: Likewise.
34030 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
34031 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
34032 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
34033 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
34034 variables.
34035 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34036 `commands/help.c'.
34037 (pkgdata_MODULES): Add `help.mod'.
34038 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
34039 * grub/i386/pc/init.h (grub_reboot): New prototype.
34040 (grub_halt): Likewise.
34041 * include/grub/normal.h (grub_arg_show_help): New prototype.
34042 (grub_help_init): Likewise.
34043 (grub_help_fini): Likewise.
34044 * util/grub-emu.c (main): Initialize and deinitialize the help
34045 command.
34046
34047 * normal/cmdline.c (grub_cmdline_get): Doc fix.
34048
34049 * normal/command.c (grub_command_init): Fixed the description of
34050 the `set' and `unset' commands.
34051
340522005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 34053
34054 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
34055 function.
34056 * commands/ieee1275/halt.c: New file.
34057 * commands/ieee1275/reboot.c: Likewise.
34058 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
34059 `__attribute__ ((unused))'. Some GCS related fixed.
34060 (grub_suspend_init) [GRUB_UTIL]: Function removed.
34061 (grub_suspend_fini): Likewise.
34062 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
34063 and `halt.mod'.
34064 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
34065 (halt_mod_CFLAGS): New variables.
34066 * include/grub/powerpc/ieee1275/ieee1275.h
34067 (grub_ieee1275_interpret): New prototype.
34068
1ab09cc7 340692005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
34070
34071 * include/grub/misc.h (memmove): New prototype.
34072 (memcpy): Likewise.
34073
8b8cbdb2 340742005-01-22 Hollis Blanchard <hollis@penguinppc.org>
34075
34076 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
34077 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
34078
e3741a27 340792005-01-22 Marco Gerards <metgerards@student.han.nl>
34080
34081 * kern/misc.c (grub_strndup): Function rewritten.
34082
776bd780 340832005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
34084
34085 * normal/menu.c (TERM_WIDTH): Macro redefined.
34086 (TERM_TOP_BORDER_Y): Likewise.
34087 (draw_border): Replaced while-loop by a for-loop. Make the number
34088 of lines consistent with the number of lines displayed in
34089 print_entries. Added a margin below the rectangle.
34090 (print_entry): Make the entry fit in the rectangle.
34091 (print_entries): Display the scroll arrows next to the right
34092 border.
34093
78026bce 340942005-01-21 Marco Gerards <metgerards@student.han.nl>
34095
34096 * fs/minix.c (grub_minix_find_file): Reserve more space for
34097 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
34098 `grub_strncpy' to copy `path' into it.
34099
67bbaf0f 341002005-01-21 Marco Gerards <metgerards@student.han.nl>
34101
34102 Add the loopback device, a device via which files can be accessed
34103 as devices.
f19dbdb7 34104
67bbaf0f 34105 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
34106 (pkgdata_MODULES): Add loopback.mod.
34107 (loopback_mod_SOURCES): New variable.
34108 (loopback_mod_CFLAGS): Likewise.
34109 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34110 `disk/loopback.c'.
34111 (pkgdata_MODULES): Add loopback.mod.
34112 (loopback_mod_SOURCES): New variable.
34113 (loopback_mod_CFLAGS): Likewise.
34114 * disk/loopback.c: new file.
34115 * include/grub/normal.h (grub_loop_init): New prototype.
34116 (grub_loop_fini): New prototype.
34117 * util/grub-emu.c (main): Initialize and de-initialize loopback
34118 support.
34119 * include/grub/disk.h (grub_disk_dev_id): Add
34120 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
34121
6f1c18bd 341222005-01-20 Hollis Blanchard <hollis@penguinppc.org>
34123
34124 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
34125 function.
34126 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
34127 (suspend_mod_SOURCES): New variable.
34128 (suspend_mod_CFLAGS): Likewise.
34129 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
34130 New prototype.
34131 * commands/ieee1275/suspend.c: New file.
34132
b38551da 341332005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34134
34135 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 34136 ((unused))' to `__attribute__ ((used))'.
b38551da 34137 (GRUB_MOD_FINI): Likewise.
34138 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
34139 * genmk.rb (PModule): Assign space to common symbols when linking
34140 modules.
34141
777aff39 341422005-01-20 Marco Gerards <metgerards@student.han.nl>
34143
34144 * include/grub/mm.h (grub_mm_init_region): Change the type of the
34145 `unsigned' arguments to `grub_size_t'.
34146 (grub_malloc): Likewise.
34147 (grub_realloc): Likewise.
34148 (grub_memalign): Likewise.
34149 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
34150 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
34151 * util/misc.c (grub_malloc): Likewise.
34152 (grub_realloc): Likewise.
34153 * kern/mm.c (get_header_from_pointer): Change the casts to
34154 `unsigned' into a cast to `grub_size_t'.
34155
34156 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
34157 point to `currnode' when `currnode' is changed.
34158
34159 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
34160 Schottelius <nico-linux@schottelius.org>.
34161
d0ff18e1 341622005-01-09 Hollis Blanchard <hollis@penguinppc.org>
34163
34164 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
34165 (note_path): Remove variable.
34166 (GRUB_IEEE1275_NOTE_NAME): New macro.
34167 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
34168 (grub_ieee1275_note_hdr): New structure.
34169 (grub_ieee1275_note_desc): Likewise.
34170 (grub_ieee1275_note): Likewise.
34171 (load_note): Remove `dir' argument. All callers updated. Remove
34172 `note_img' and `path'. Do not load a file from `note_path'.
34173 Initialize a struct grub_ieee1275_note and write that to `out'.
34174 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
34175
4ca7004c 341762005-01-05 Marco Gerards <metgerards@student.han.nl>
34177
34178 * util/misc.c (grub_util_read_image): Revert last change. It
34179 called `grub_util_read_at', which seeks from the beginning of the
34180 file.
34181
0b412211 341822005-01-04 Hollis Blanchard <hollis@penguinppc.org>
34183
34184 * TODO: Add note about endianness in grub-mkimage.
34185 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
34186 section.
34187 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
34188 (grub_mkimage_SOURCES): New target.
34189 * include/grub/kernel.h (grub_start_addr): Remove variable.
34190 (grub_end_addr): Likewise.
34191 (grub_total_module_size): Likewise.
34192 (grub_kernel_image_size): Likewise.
34193 (GRUB_MODULE_MAGIC): New constant.
34194 (grub_module_info): New structure.
34195 (grub_arch_modules_addr): New prototype.
34196 (grub_get_end_addr): Remove prototype.
34197 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
34198 * include/grub/powerpc/ieee1275/kernel.h: New file.
34199 * include/grub/util/misc.h (grub_util_get_fp_size): New
34200 prototype.
34201 (grub_util_read_at): Likewise.
34202 (grub_util_write_image_at): Likewise.
34203 * kern/main.c (grub_get_end_addr): Remove function.
34204 (grub_load_modules): Call grub_arch_modules_addr instead of using
34205 grub_end_addr. Look for a grub_module_info struct in memory. Use
34206 the grub_module_info fields instead of calling grub_get_end_addr
34207 as loop conditions. Move grub_add_unused_region code here.
34208 (grub_add_unused_region): Remove function.
34209 * kern/i386/pc/init.c: Include grub/cache.h.
34210 (grub_machine_init): Remove call to grub_get_end_addr. Remove
34211 one call to add_mem_region.
34212 (grub_arch_modules_addr): New function.
34213 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
34214 (grub_total_module_size): Likewise.
34215 Include grub/machine/kernel.h.
34216 (grub_arch_modules_addr): New function.
34217 * util/grub-emu.c (grub_end_addr): Remove variable.
34218 (grub_total_module_size): Likewise.
34219 (grub_arch_modules_addr): New function.
34220 * util/misc.c: Include unistd.h.
34221 (grub_util_get_fp_size): New function.
34222 (grub_util_read_at): Likewise.
34223 (grub_util_write_image_at): Likewise.
34224 (grub_util_read_image): Call grub_util_read_at.
34225 (grub_util_write_image): Call grub_util_write_image_at.
34226 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
34227 additional memory in kernel_img for a struct grub_module_info.
34228 Fill in that grub_module_info.
34229 * util/powerpc/ieee1275/grub-mkimage.c: New file.
34230
458786f8 342312005-01-03 Hollis Blanchard <hollis@penguinppc.org>
34232
34233 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
34234 New function.
34235 * include/grub/powerpc/ieee1275/ieee1275.h
34236 (grub_ieee1275_milliseconds): New prototype.
34237 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
34238 Change to 1000.
34239 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
34240 grub_ieee1275_milliseconds.
34241
ac507d1b 342422005-01-03 Hollis Blanchard <hollis@penguinppc.org>
34243
34244 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
34245 variable.
34246 (find_options): New function.
34247 (cmain): Call find_options.
34248 * include/grub/powerpc/ieee1275/ieee1275.h
34249 (grub_ieee1275_realmode): New extern variable.
34250 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
34251 grub_map if grub_ieee1275_realmode is false.
34252
6b8fd1c4 342532004-12-29 Marco Gerards <metgerards@student.han.nl>
34254
34255 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
34256 lines are inserted and make it work like readline. Reported by
34257 Vincent Pelletier <subdino2004@yahoo.fr>.
34258
8514a1e0 342592004-12-28 Marco Gerards <metgerards@student.han.nl>
34260
34261 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
34262
34263 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
34264 `kern/powerpc/cache.S'.
34265
924b6140 342662004-12-27 Marco Gerards <metgerards@student.han.nl>
34267
34268 * genmk.rb: Handle the `Program' class in the main loop. Written
34269 by Johan Rydberg <jrydberg@gnu.org>.
34270 (Program): New class.
34271 (programs): New variable.
34272 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
34273 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
34274 instead of "grub/kernel.h". Include <grub/machine/init.h>.
34275 (help_arch): Function removed.
34276 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
34277 `powerpc/libgcc.h' and `loader.h'.
34278 (pkgdata_PROGRAMS): New variable.
34279 (sbin_UTILITIES): Variable removed.
34280 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
34281 (grubof_SOURCES): Variable re-defined so it only includes the
34282 core functionality.
34283 (grubof_CFLAGS): Remove `-DGRUBOF'.
34284 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
34285 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
34286 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
34287 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
34288 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
34289 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
34290 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
34291 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
34292 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
34293 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
34294 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
34295 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
34296 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
34297 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
34298 (pc_mod_CFLAGS): New variables.
34299 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
34300 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
34301 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
34302 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
34303 Moved from here...
34304 * include/grub/i386/pc/init.h (grub_os_area_addr)
34305 (rub_os_area_size): ... to here.
34306 * include/grub/powerpc/ieee1275/ieee1275.h
34307 (grub_ieee1275_entry_fn): Export symbol.
34308 * include/grub/powerpc/ieee1275/init.h: New file.
34309 * include/grub/powerpc/libgcc.h: Likewise.
34310 * include/grub/cache.h: Likewise.
34311 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
34312 <hollis@penguinppc.org>.
34313 * kern/dl.c: Include <grub/cache.h>.
34314 (grub_dl_flush_cache): New function.
34315 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
34316 for this module.
34317 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
34318 (grub_console_init): Removed prototypes.
34319 (grub_machine_init): Don't initialize the modules anymore.
34320 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
34321 static.
34322 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
34323 Macro undef removed.
34324 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
34325 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
34326 relocation `R_PPC_REL32'. Return an error when the relocation is
34327 unknown.
34328 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
34329 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
34330 * util/misc.c (grub_arch_sync_caches): Likewise.
34331
e4b47e0c 343322004-12-19 Marco Gerards <metgerards@student.han.nl>
34333
34334 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
34335 `symlist.c', add `grubof_symlist.c'.
34336 (symlist.c): Variable removed.
34337 (grubof_HEADERS): Variable added.
34338 (grubof_symlist.c): New target.
34339 (kernel_syms.lst): Use `grubof_HEADERS' instead of
34340 `kernel_img_HEADERS'.
34341 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
34342 * kern/powerpc/dl.c: New file.
34343 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
34344 Function removed.
34345 (grub_arch_dl_relocate_symbols): Likewise.
34346 (grub_register_exported_symbols): Likewise.
34347
4ceb3636 343482004-12-13 Marco Gerards <metgerards@student.han.nl>
34349
34350 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
34351 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
34352 to fail instead. Reported by Vincent Pelletier
34353 <subdino2004@yahoo.fr>.
34354
34355 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
34356 it is not allocated. Reported by Vincent Pelletier
34357 <subdino2004@yahoo.fr>.
34358
34359 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
34360 output so the output looks better.
f19dbdb7 34361
3f1578fe 343622004-12-04 Marco Gerards <metgerards@student.han.nl>
34363
34364 Modulize the partition map support and add support for the amiga
34365 partition map.
f19dbdb7 34366
3f1578fe 34367 * commands/ls.c: Include <grub/partition.h> instead of
34368 <grub/machine/partition.h>.
34369 * kern/disk.c: Likewise.
34370 * kern/rescue.c: Likewise.
34371 * loader/i386/pc/chainloader.c: Likewise.
34372 * normal/cmdline.c: Likewise.
34373 * kern/powerpc/ieee1275/init.c: Likewise.
34374 (grub_machine_init): Call `grub_pc_partition_map_init',
34375 `grub_amiga_partition_map_init' and
34376 `grub_apple_partition_map_init'.
34377 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
34378 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
34379 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
34380 `partition.h' and `pc_partition.h'.
34381 (grub_setup_SOURCES): Remove
34382 `disk/i386/pc/partition.c'. Add `kern/partition.c',
34383 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
34384 (grub_emu_SOURCES): Likewise.
34385 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
34386 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
34387 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
34388 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
34389 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
34390 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
34391 (grubof_SOURCES): Likewise.
34392 * disk/i386/pc/partition.c: File removed.
34393 * disk/powerpc/ieee1275/partition.c: Likewise.
34394 * include/grub/powerpc/ieee1275/partition.h: Likewise.
34395 * include/grub/i386/pc/partition.h: Likewise.
34396 * kern/partition.c: New file.
34397 * partmap/amiga.c: Likewise.
34398 * partmap/apple.c: Likewise.
34399 * partmap/pc.c: Likewise.
34400 * include/grub/partition.h: Likewise..
34401 * include/grub/pc_partition.h: Likewise.
34402 * util/grub-emu.c: Include <grub/partition.h> instead of
34403 <grub/machine/partition.h>.
34404 (main): Call `grub_pc_partition_map_init',
34405 `grub_amiga_partition_map_init' and
34406 `grub_apple_partition_map_init' and deinitialize afterwards.
34407 * util/i386/pc/biosdisk.c: Include `#include
34408 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
34409 `<grub/machine/partition.h>'.
34410 * util/i386/pc/grub-setup.c: Likewise.
34411 * util/i386/pc/biosdisk.c: Likewise.
34412 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
34413 partition information in case of a PC partition.
34414 * util/i386/pc/grub-setup.c: Include `#include
34415 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
34416 `<grub/machine/partition.h>'.
34417 (setup): Only access the PC specific partition information in case
34418 of a PC partition.
34419
0ef4ced9 344202004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 34421
0ef4ced9 34422 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
34423 (grub_longjmp): Likewise.
34424 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
34425 20.
34426 * normal/powerpc/setjmp.S: New file.
34427 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
34428 `normal/powerpc/setjmp.S'.
34429 (grubof_CFLAGS): Add `-DGRUBOF'.
34430 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
34431 [GRUB_UTIL && !GRUBOF].
f19dbdb7 34432
19950e29 344332004-11-16 Marco Gerards <metgerards@student.han.nl>
34434
34435 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
34436 property named `name'. Correctly handle the error returned by
34437 `grub_ieee1275_finddevice' if a device can not be opened.
34438
a2fea427 344392004-11-02 Hollis Blanchard <hollis@penguinppc.org>
34440
34441 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
34442 `actual' for negativity.
34443 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
34444 kern/fshelp.c.
34445
41ea0ea3 344462004-11-01 Marco Gerards <metgerards@student.han.nl>
34447
34448 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
34449 (PAGE_OFFSET): New macro.
34450 (CRTC_ADDR_PORT): Likewise.
34451 (CRTC_DATA_PORT): Likewise.
34452 (START_ADDR_HIGH_REGISTER): Likewise.
34453 (START_ADDR_LOW_REGISTER): Likewise.
34454 (GRAPHICS_ADDR_PORT): Likewise.
34455 (GRAPHICS_DATA_PORT): Likewise.
34456 (READ_MAP_REGISTER): Likewise.
34457 (INPUT_STATUS1_REGISTER): Likewise.
34458 (INPUT_STATUS1_VERTR_BIT): Likewise.
34459 (page): New variable.
34460 (wait_vretrace): New function.
34461 (set_read_map): Likewise.
34462 (set_start_address): Likewise.
34463 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
34464 the right page.
34465 (check_vga_mem): Take the page into account.
34466 (write_char): Likewise.
34467 (write_cursor): Likewise.
34468 (scroll_up): Likewise. Copy the page to the page that is not
34469 shown and switch between both pages.
34470 (grub_vga_putchar): Fix off by one error.
34471 (grub_vga_cls): Wait for the vertical retrace. Take the page into
34472 account.
34473
ad0bd20b 344742004-11-01 Marco Gerards <metgerards@student.han.nl>
34475
34476 Add support for iso9660 (including rockridge).
f19dbdb7 34477
ad0bd20b 34478 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
34479 (iso9660_mod_SOURCES): New variable.
34480 (iso9660_mod_CFLAGS): Likewise.
34481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
34482 * include/grub/fs.h (grub_iso9660_init): New prototype.
34483 * util/grub-emu.c (main): Call `grub_iso9660_init'.
34484 * fs/iso9660.c: New file.
34485
34486 * include/grub/misc.h (grub_strncat): New prototype.
34487 * kern/misc.c (grub_strncat): New function.
f19dbdb7 34488
ad0bd20b 34489 * fs/hfs.c (grub_hfs_mount): Translate the error
34490 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
34491 * fs/jfs.c (grub_jfs_mount): Likewise.
34492 * fs/ufs.c (grub_ufs_mount): Likewise.
34493
a5477a59 344942004-10-28 Hollis Blanchard <hollis@penguinppc.org>
34495
34496 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
34497 which initialized BAT registers.
34498 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
34499 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
34500 Move from here...
34501 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
34502 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
34503 ... to here.
34504 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
34505 (grub_mapclaim): Likewise.
34506 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
34507 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
34508 hand.
34509
9304c1f8 345102004-10-19 Hollis Blanchard <hollis@penguinppc.org>
34511
34512 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
34513 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
34514 -ffreestanding and -msoft-float.
34515
86f4ae25 345162004-10-15 Hollis Blanchard <hollis@penguinppc.org>
34517
34518 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
34519 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
34520 set in grub_ieee1275_flags.
34521
38912228 345222004-10-14 Hollis Blanchard <hollis@penguinppc.org>
34523
34524 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
34525 prototype.
34526 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
34527 grub_console_init first.
34528 Change the memory range used for grub_ieee1275_claim and
34529 grub_mm_init_region.
34530 Print an error message if the claim fails.
34531 Include <grub/misc.h>.
34532
d1923dc8 345332004-10-13 Hollis Blanchard <hollis@penguinppc.org>
34534
34535 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
34536 Call grub_children_iterate for device nodes of type `scsi',
34537 `ide', or `ata'.
34538 (grub_ofdisk_open): Remove manual device alias resolution.
34539 Fix memory leak when device cannot be opened.
f19dbdb7 34540 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 34541 (grub_children_iterate): New prototype.
34542 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
34543 New function.
34544 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
34545 Return -1 if args.size was -1.
34546
4512e4f3 345472004-10-11 Hollis Blanchard <hollis@penguinppc.org>
34548
34549 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
34550 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
34551 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
34552 Open Firmware's memory for it; claim memory from _start to _end.
34553 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
34554 (_end): New extern.
34555 (_start): Zero BSS from __bss_start to _end.
34556 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
34557 New extern.
34558 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
34559
4d61feb0 345602004-10-11 Hollis Blanchard <hollis@penguinppc.org>
34561
ad0bd20b 34562 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
34563 -1 if args.base was -1.
4d61feb0 34564
026fa2f9 345652004-10-08 Hollis Blanchard <hollis@penguinppc.org>
34566
34567 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
34568 escape sequence instead of a literal ^L. Also call
34569 grub_ofconsole_gotoxy.
34570
9f2220ef 345712004-10-03 Hollis Blanchard <hollis@penguinppc.org>
34572
34573 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
34574 void * arguments to grub_addr_t. All callers updated. Also make
34575 the `result' argument optional.
34576 (grub_ieee1275_release): change void * arguments to grub_addr_t.
34577 All callers updated.
34578
8a572cd7 345792004-09-22 Hollis Blanchard <hollis@penguinppc.org>
34580
34581 * commands/ls.c (grub_ls_list_files): Use the string following the
34582 initial ')', if present, as the filesystem path.
34583 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
34584
34585 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
34586
18aa81f2 345872004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
34588
34589 Make the source code of the menu interface more readable.
f19dbdb7 34590
18aa81f2 34591 * normal/menu.c: Include grub/mm.h.
34592 (TERM_WIDTH): New macro.
34593 (TERM_HEIGHT): Likewise.
34594 (TERM_INFO_HEIGHT): Likewise.
34595 (TERM_MARGIN): Likewise.
34596 (TERM_SCROLL_WIDTH): Likewise.
34597 (TERM_TOP_BORDER_Y): Likewise.
34598 (TERM_LEFT_BORDER_X): Likewise.
34599 (TERM_BORDER_WIDTH): Likewise.
34600 (TERM_MESSAGE_HEIGHT): Likewise.
34601 (TERM_BORDER_HEIGHT): Likewise.
34602 (TERM_NUM_ENTRIES): Likewise.
34603 (TERM_FIRST_ENTRY_Y): Likewise.
34604 (TERM_ENTRY_WIDTH): Likewise.
34605 (TERM_CURSOR_X): Likewise.
34606 (draw_border): Use macros instead of magic numbers.
34607 (print_entry): Likewise.
34608 (print_entries): Likewise.
34609 (run_menu): Likewise. Also, handle the key 'e'.
34610 (run_menu_entry): Ignore empty command lines.
34611 (print_message): Added a new argument EDIT. If EDIT is true,
34612 print a different message.
34613 (init_page): Likewise.
34614 (edit_menu_entry): New function. Not implemented yet.
34615
b47efe30 346162004-09-17 Marco Gerards <metgerards@student.han.nl>
34617
34618 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
34619 can be loaded from normal mode.
f19dbdb7 34620
b47efe30 34621 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
34622 `multiboot.mod'.
34623 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
34624 (multiboot_mod_CFLAGS): New variables.
34625 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 34626 * loader/i386/pc/multiboot_normal.c: Likewise.
34627
b47efe30 34628 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
34629 attribute `unused'.
f19dbdb7 34630
b47efe30 34631 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
34632 `fdiro' to read the mode information from instead of `diro'.
34633
34634 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
34635 looking up a symlink.
34636
34637 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
34638 macro.
34639 * normal/command.c (grub_command_execute): Don't parse the
34640 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
34641 flags of the command.
34642
34643 * normal/menu.c (grub_menu_run): Fix typo.
34644
da75ac71 346452004-09-14 Hollis Blanchard <hollis@penguinppc.org>
34646
34647 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
34648
34649 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
34650 `y + 1' instead of `y - 1'.
34651
34652 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 34653
062b24c2 346542004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
34655
34656 From Hollis Blanchard <hollis@penguinppc.org>:
34657 * kern/misc.c (memmove): New alias for grub_memmove.
34658 (memcmp): New alias for grub_memcmp.
34659 (memset): New alias for grub_memset.
f19dbdb7 34660 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 34661 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 34662 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 34663 (grub_ieee1275_get_property): Likewise.
f19dbdb7 34664
8ddad845 346652004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
34666
34667 Added normal mode command `chainloader' as module chain.mod, which
34668 depends on normal.mod and _chain.mod.
f19dbdb7 34669
8ddad845 34670 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
34671 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
34672 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
34673 Deleted prototype.
34674 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
34675 but arguments parsing moved to ...
34676 (grub_chainloader_cmd): ... here. New function.
34677 * include/grub/i386/pc/chainloader.h: New file.
34678 * loader/i386/pc/chainloader_normal.c: Likewise.
34679
2c1f4ce3 346802004-09-11 Marco Gerards <metgerards@student.han.nl>
34681
34682 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
34683 (grub_mkimage_LDFLAGS): Likewise.
34684 (grub_emu_SOURCES): Likewise.
34685 (kernel_img_HEADERS): Added fshelp.h.
34686 * fs/ext2.c: Include <grub/fshelp.h>.
34687 (FILETYPE_REG): New macro.
34688 (FILETYPE_INO_REG): Likewise.
34689 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
34690 Changed all users.
34691 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
34692 all users.
34693 (grub_fshelp_node): New struct.
34694 (grub_ext2_data): Added member `diropen'. Changed member `inode'
34695 to a pointer.
34696 (grub_ext2_get_file_block): Removed function.
34697 (grub_ext2_read_block): New function.
34698 (grub_ext2_read_file): Replaced parameter `data' by `node'.
34699 This function was written.
34700 (grub_ext2_mount): Read the root inode. Create a diropen struct.
34701 (grub_ext2_find_file): Removed function.
34702 (grub_ext2_read_symlink): New function.
34703 (grub_ext2_iterate_dir): Likewise.
34704 (grub_ext2_open): Rewritten.
34705 (grub_ext2_dir): Rewritten.
34706 * include/grub/fshelp.h: New file.
34707 * fs/fshelp.c: Likewise.
34708
3c52136a 347092004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
34710
34711 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
34712 (print_message): Add a missing newline.
34713 (run_menu): Added timeout support.
34714 (run_menu_entry): New local function.
34715 (grub_menu_run): Added support for booting.
34716
34717 * kern/loader.c (grub_loader_is_loaded): New function.
34718
34719 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
34720 (grub_get_rtc): Exported.
34721
34722 * include/grub/i386/pc/time.h: Include grub/symbol.h.
34723 (grub_get_rtc): Exported.
34724
34725 * include/grub/normal.h (struct grub_command_list): Remove
34726 constant from the member `command'.
34727
34728 * include/grub/loader.h (grub_loader_is_loaded): Declared.
34729
34730 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
34731
34732 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
34733
aa033560 347342004-08-28 Marco Gerards <metgerards@student.han.nl>
34735
34736 Add support for the JFS filesystem.
34737
34738 * fs/jfs.c: New file.
34739 * include/grub/fs.h (grub_jfs_init): New prototype.
34740 (grub_jfs_fini): New prototype.
34741 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
34742 (grub_emu_SOURCES): Likewise.
34743 (pkgdata_MODULES): Add jfs.mod.
34744 (jfs_mod_SOURCES): New variable.
34745 (jfs_mod_CFLAGS): Likewise.
34746 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
34747 (grubof_SOURCES): Likewise.
34748 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
34749
34750 * fs/fat.c (grub_fat_find_dir): Convert the filename little
34751 endian to the host endian.
34752 (grub_fat_utf16_to_utf8): Move function from there...
34753 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 34754 the endianness of the source string anymore.
aa033560 34755 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
34756
94bc45af 347572004-08-24 Marco Gerards <metgerards@student.han.nl>
34758
34759 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
34760 (grub_boot_fini) [GRUB_UTIL]: Likewise.
34761 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
34762 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 34763
94bc45af 34764 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
34765 (grub_hfs_iterate_dir): Make the function static. Add prototypes
34766 for `node_found' and `it_dir'.
34767 (grub_hfs_dir): Add prototype for `dir_hook'.
34768
34769 * fs/minix.c (grub_minix_get_file_block): Add prototype for
34770 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
34771 and `indir32' to silence a gcc warning.
34772
34773 * include/grub/fs.h (grub_hfs_init): New prototype.
34774 (grub_hfs_fini): Likewise.
f19dbdb7 34775
34776
97543f08 347772004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
34778
34779 Each disk device has its own id now. This is useful to make use
34780 of multiple disk devices.
f19dbdb7 34781
97543f08 34782 * include/grub/disk.h (grub_disk_dev_id): New enum.
34783 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
34784 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
34785
34786 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
34787 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
34788
34789 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
34790 GRUB_DISK_DEVICE_OFDISK_ID as an id.
34791
34792 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
34793 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
34794
34795 * include/grub/disk.h (struct grub_disk_dev): Added a new member
34796 "id" which is used by the cache manager.
34797
34798 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
34799 of just "GRUB".
34800
64372eb4 348012004-08-18 Marco Gerards <metgerards@student.han.nl>
34802
34803 * fs/hfs.c: New file.
34804 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
34805 (grub_emu_SOURCES): Likewise.
34806 (pkgdata_MODULES): Add hfs.mod.
34807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
34808 (grubof_SOURCES): Likewise.
34809 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
34810
34811 * include/grub/misc.h (grub_strncasecmp): Add prototype.
34812 * kern/misc.c (grub_strncasecmp): Add function.
34813
cc61b58f 348142004-08-14 Marco Gerards <metgerards@student.han.nl>
34815
34816 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
34817 with parentheses.
34818
34819 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
34820 (grub_ext2_dir): In case the directory entry type is unknown, read
34821 it from the inode.
34822
0ef123f6 348232004-08-02 Peter Bruin <pjbruin@dds.nl>
34824
34825 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
34826 grub_load_linux instead of grub_rescue_cmd_linux as second
34827 argument of grub_rescue_register_command.
34828
34829 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
34830
a447c5df 348312004-07-27 Marco Gerards <metgerards@student.han.nl>
34832
34833 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
34834 function.
34835 * commands/boot.c: Remove the check for `GRUB_UTIL'.
34836 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
34837 `loader/powerpc/ieee1275/linux.c',
34838 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
34839 * include/grub/powerpc/ieee1275/ieee1275.h
34840 (grub_ieee1275_release): New prototype.
34841 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
34842 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
34843 normal, boot, linux and linux_normal.
34844 * loader/powerpc/ieee1275/linux.c: New file.
34845 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34846
5a9e3546 348472004-07-12 Marco Gerards <metgerards@student.han.nl>
34848
34849 * normal/arg.c (grub_arg_parse): Correct error handling after
34850 reallocating the argumentlist (check if `argl' is not null instead
34851 of checking if `args' is not null).
34852 * kern/mm.c (grub_realloc): Return the same pointer when using the
34853 same region, instead of returning the header address.
34854
e15199cb 348552004-07-11 Marco Gerards <metgerards@student.han.nl>
34856
34857 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
34858 one block instead of two when looking for the initial partition.
34859 (grub_partition_probe): Initialize the local variable `p' with 0.
34860 Use base 10 for the grub_strtoul call.
34861 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
34862 need for one local variable.
34863 (grub_strtoul): Don't add the new value to `num', instead of that
34864 just assign it.
34865
020616c2 348662004-07-11 Marco Gerards <metgerards@student.han.nl>
34867
34868 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
34869 (pxeboot_img_SOURCES): New variable.
34870 (pxeboot_img_ASFLAGS): Likewise.
34871 (pxeboot_img_LDFLAGS): Likewise.
34872 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
34873 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
34874 <lode_leroy@hotmail.com>.
34875
6c51eb64 348762004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34877
34878 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
34879 there was no input.
34880
cfb12aff 348812004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34882
34883 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
34884 the history buffer logic.
34885
6eabba74 348862004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34887
34888 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
34889 (FILETYPE_INO_SYMLINK): New macros.
34890 (grub_ext2_find_file): Check if the node is a directory using the
34891 inode stat information instead of using the filetype in the
34892 dirent. Exclude the first character of an absolute symlink.
34893 (grub_ext2_dir): Mask out the filetype part of the mode member of
34894 the inode.
34895
66e19ef8 348962004-05-24 Marco Gerards <metgerards@student.han.nl>
34897
34898 Add support for UFS version 1 and 2. Add support for the minix
34899 filesystem version 1 and 2, both the variants with 14 and 30 long
34900 filenames.
f19dbdb7 34901
66e19ef8 34902 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
34903 fs/minix.c.
34904 (grub_emu_SOURCES): Likewise.
34905 (pkgdata_MODULES): Add ufs.mod and minix.mod.
34906 (ufs_mod_SOURCES): New variable.
34907 (ufs_mod_CFLAGS): Likewise.
34908 (minix_mod_SOURCES): Likewise.
34909 (minix_mod_CFLAGS): Likewise.
34910 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
34911 fs/minix.c.
34912 (grubof_SOURCES): Likewise.
34913 * fs/ufs.c: New file.
34914 * fs/minix.c: New file.
34915 * include/grub/fs.h (grub_ufs_init): New prototype.
34916 (grub_ufs_fini): Likewise.
34917 (grub_minix_init): Likewise.
34918 (grub_minix_fini): Likewise.
34919 * util/grub-emu.c (main): Initialize and deinitialize UFS and
34920 minix fs.
34921
cc2e748a 349222004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
34923
34924 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
34925 commands/ls.c, commands/terminal.c, commands/boot.c,
34926 commands/cmp.c and commands/cat.c.
34927 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
34928
34929 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
34930 "env.h"
34931
4b13b216 349322004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34933
34934 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
34935 and grub_, respectively. Because the conversion is trivial and
34936 mechanical, I omit the details here. Please refer to the CVS
34937 if you need more information.
34938
6a142551 349392004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34940
34941 * include/pupa: Renamed to ...
34942 * include/grub: ... this.
34943 * util/i386/pc/pupa-mkimage.c: Renamed to ...
34944 * util/i386/pc/grub-mkimage.c: ... this.
34945 * util/i386/pc/pupa-setup.c: Renamed to ...
34946 * util/i386/pc/grub-setup.c: ... this.
34947 * util/pupa-emu.c: Renamed to ...
34948 * util/grub-emu.c: ... this.
34949
e56cdf21 349502004-03-29 Marco Gerards <metgerards@student.han.nl>
34951
34952 Add support for the newworld apple macintosh (PPC). This has been
34953 tested on the powerbook 2000 only. It only adds support for
34954 generic ieee1275 functions, console and disk support. This should
34955 be easy to port to other architectures with support for Open
34956 Firmware.
f19dbdb7 34957
e56cdf21 34958 * configure.ac: Accept the powerpc as host_cpu. In the case of
34959 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
34960 specific tests are only executed while building for the i386.
34961 Inverse test for crosscompile.
34962 * genmk.rb (Utility): Allow assembler files.
34963 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
34964 * conf/powerpc-ieee1275.rmk: New file.
34965 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
34966 * disk/powerpc/ieee1275/partition.c: Likewise.
34967 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
34968 * include/pupa/powerpc/ieee1275/console.h: Likewise.
34969 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
34970 * include/pupa/powerpc/ieee1275/time.h: Likewise.
34971 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
34972 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
34973 * include/pupa/powerpc/ieee1275/loader.h
34974 * include/pupa/powerpc/setjmp.h: Likewise.
34975 * include/pupa/powerpc/types.h: Likewise.
34976 * kern/powerpc/ieee1275/init.c: Likewise.
34977 * kern/powerpc/ieee1275/openfw.c: Likewise.
34978 * term/powerpc/ieee1275/ofconsole.c: Likewise.
34979
34980 These files were written by Johan Rydberg
34981 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 34982
e56cdf21 34983 * boot/powerpc/ieee1275/cmain.c: New file.
34984 * boot/powerpc/ieee1275/crt0.S: Likewise.
34985 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
34986 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
34987
8c8cc205 349882004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
34989
34990 * Makefile.in: Update copyright.
34991 * genmodsrc.sh: Likewise.
34992 * gensymlist.sh: Likewise.
34993 * term/i386/pc/vga.c: Indent correctly.
34994
34995 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
34996 bugreporting address.
34997 * util/i386/pc/pupa-setup.c (usage): Likewise,
34998 (main): Call pupa_ext2_init and pupa_ext2_fini.
34999
f19dbdb7 35000 * fs/fat.c (log2): Renamed to ...
8c8cc205 35001 (fat_log2): ... this.
35002 All callers changed.
35003 * kern/misc.c (memcpy): Alias to pupa_memmove.
35004 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
35005 lvalue cast.
35006 * util/console.c (pupa_ncurses_fini): Return 0.
35007
35008 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
35009 Move fail label here.
35010 [__GNU__]: Don't warn when using stat.
35011 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
35012 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
35013 long int. Use strtol instead of strtoul.
f19dbdb7 35014
db1771cf 350152004-03-14 Marco Gerards <metgerards@student.han.nl>
35016
35017 * commands/boot.c: New file.
35018 * commands/cat.c: Likewise.
35019 * commands/cmp.c: Likewise.
35020 * commands/ls.c: Likewise.
35021 * commands/terminal.c: Likewise.
35022 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
35023 (pupa_register_command): Changed interface to match the new
35024 argument parser.
35025 (pupa_command_execute): Changed (almost rewritten) so it uses
35026 pupa_split_command. Added support for setting variables using the
35027 syntax `foo=bar'.
35028 (rescue_command): Changed to work with the new argument parser.
35029 (terminal_command): Moved from here to commands/terminal.c.
35030 (set_command): New function.
35031 (unset_command): New function.
35032 (insmod_command): New function.
35033 (rmmod_command): New function.
35034 (lsmod_command): New function.
35035 (pupa_command_init): Don't initialize the command terminal
35036 anymore. Initialize the commands set, unset, insmod, rmmod and
35037 lsmod.
35038 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
35039 (kernel_img_HEADERS): Add arg.h and env.h.
35040 (pupa_mkimage_LDFLAGS): Add kern/env.c.
35041 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
35042 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
35043 normal/arg.c.
35044 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
35045 terminal.mod.
35046 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
35047 (boot_mod_SOURCES): New variable.
35048 (terminal_mod_SOURCES): Likewise.
35049 (ls_mod_SOURCES): Likewise.
35050 (cmp_mod_SOURCES): Likewise.
35051 (cat_mod_SOURCES): Likewise.
35052
35053 * normal/arg.c: New file.
35054 * kern/env.c: Likewise.
35055 * include/pupa/arg.h: Likewise.
35056 * include/pupa/env.h: Likewise.
35057 * font/manager.c (font_command): Changed to match argument parsing
35058 interface changes.
35059 (PUPA_MOD_INIT): Likewise.
35060 * hello/hello.c (pupa_cmd_hello): Likewise.
35061 (PUPA_MOD_INIT): Likewise.
35062 * include/pupa/disk.h: Include <pupa/device.h>.
35063 (pupa_print_partinfo): New prototype.
35064 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
35065 (pupa_dl_get_prefix): Likewise.
35066 * include/pupa/misc.h: Include <pupa/err.h>.
35067 (pupa_isgraph): New prototype.
35068 (pupa_isdigit): Likewise.
35069 (pupa_split_cmdline): Likewise.
35070 * include/pupa/normal.h: Include <pupa/arg.h>.
35071 (pupa_command): Changed the prototype of the member `func' to
35072 match the argument parsing interface. Added member `options'.
35073 (pupa_register_command): Updated to match function.
35074 (pupa_arg_parse): New prototype.
35075 (pupa_hello_init) [PUPA_UTIL]: New prototype.
35076 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
35077 (pupa_ls_init) [PUPA_UTIL]: Likewise.
35078 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
35079 (pupa_cat_init) [PUPA_UTIL]: Likewise.
35080 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
35081 (pupa_boot_init) [PUPA_UTIL]: Likewise.
35082 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
35083 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
35084 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
35085 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
35086 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
35087 * kern/disk.c: Include <pupa/file.h>.
35088 (pupa_print_partinfo): New function.
35089 * kern/dl.c: Include <pupa/env.h>.
35090 (pupa_dl_dir): Variable removed.
35091 (pupa_dl_load): Use the environment variable `prefix' instead of
35092 the variable pupa_dl_dir.
35093 (pupa_dl_set_prefix): Function removed.
35094 (pupa_dl_get_prefix): Likewise.
35095 * kern/i386/pc/init.c: Include <pupa/env.h>.
35096 (pupa_machine_init): Use the environment variable `prefix' instead of
35097 using pupa_dl_set_prefix to set the prefix.
35098 * kern/main.c: Include <pupa/env.h>.
35099 (pupa_set_root_dev): Use the environment variable `prefix' instead of
35100 using pupa_dl_get_prefix to get the prefix.
35101 * kern/misc.c: Include <pupa/env.h>.
35102 (pupa_isdigit): New function.
35103 (pupa_isgraph): Likewise.
35104 (pupa_ftoa): Likewise.
35105 (pupa_vsprintf): Added support for printing values of the type
35106 `double'. Make it possible to format variable output when using
35107 formatting like `%1.2%f'.
35108 (pupa_split_cmdline): New function.
35109 * kern/rescue.c: Include <pupa/env.h>.
35110 (next_word): Removed function.
35111 (pupa_rescue_cmd_prefix): Likewise.
35112 (pupa_rescue_cmd_set): New function.
35113 (pupa_rescue_cmd_unset): New function.
35114 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
35115 split the command line instead of splitting it here. Added
35116 support for setting variables using the syntax `foo=bar'. Don't
35117 initialize the prefix command anymore. Initialized the set and
35118 unset commands.
35119 * normal/cmdline.c: Include <pupa/env.h>.
35120 (pupa_tab_complete): Added prototypes for print_simple_completion,
35121 print_partition_completion, add_completion, iterate_commands,
35122 iterate_dev, iterate_part and iterate_dir. Moved code to print
35123 partition information from here to kern/disk.c.
fe6b695a 35124 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 35125 * normal/main.c: Include <pupa/env.h>.
35126 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
35127 instead of using pupa_dl_get_prefix to get the prefix.
35128 * term/i386/pc/vga.c: Include <pupa/arg.h>.
35129 (check_vga_mem): Cast pointers to `void *' to silence a gcc
35130 warning.
35131 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
35132 (pupa_vga_setcolor): Declare unused variables with `__attribute__
35133 ((unused))' to silence a gcc warning.
35134 (pupa_vga_setcolor): Likewise.
35135 (debug_command): Changed to match argument parsing
35136 interface changes.
35137 * util/pupa-emu.c: Include <pupa/env.h>.
35138 (options): Added 0's for unused fields to silence a gcc warning.
35139 (argp): Likewise.
35140 (main): Use the environment variable `prefix' instead of using
35141 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
35142 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
35143 and terminal.
35144
35145 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
35146 * util/misc.c: Include <malloc.h>.
35147 (pupa_malloc): Rewritten so errors are correctly reported.
35148 (pupa_realloc): Likewise.
35149 (pupa_memalign): Likewise.
35150 (pupa_mm_init_region): Declare unused variables with
35151 `__attribute__ ((unused))' to silence a gcc warning.
35152 * normal/i386/setjmp.S: Remove tab at the end of the file to
35153 silence a gcc warning.
35154 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
35155 variables with `__attribute__ ((unused))' to silence a gcc
35156 warning.
35157 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
35158 local variable i unsigned to silence a gcc warning.
35159
35160 * kern/term.c: Include <pupa/misc.h>.
35161 (pupa_more_lines): New variable.
35162 (pupa_more): Likewise.
35163 (pupa_putcode): When the pager is active pause at the end of every
35164 screen.
35165 (pupa_set_more): New function.
35166 * include/pupa/term.h (pupa_set_more): New prototype.
35167
35168
3b1139cb 351692004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
35170
35171 Now this project is GRUB 2 rather than PUPA. The location of
35172 the CVS repository was moved to GRUB's.
f19dbdb7 35173
3b1139cb 35174 * configure.ac: Use bug-grub as the reporting address.
35175 Use GRUB instead of PUPA.
35176 Change the version number to 1.90.
35177
8367695c 351782004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
35179
35180 * genkernsyms.sh: Updated copyright information.
35181 * genmk.rb: Likewise.
35182 * genmodsrc.sh: Likewise.
35183 * gensymlist.sh: Likewise.
35184 * boot/i386/pc/boot.S: Likewise.
35185 * boot/i386/pc/diskboot.S: Likewise.
35186 * disk/i386/pc/biosdisk.c: Likewise.
35187 * disk/i386/pc/partition.c: Likewise.
35188 * font/manager.c: Likewise.
35189 * fs/ext2.c: Likewise.
35190 * fs/fat.c: Likewise.
35191 * include/pupa/boot.h: Likewise.
35192 * include/pupa/device.h: Likewise.
35193 * include/pupa/disk.h: Likewise.
35194 * include/pupa/dl.h: Likewise.
35195 * include/pupa/elf.h: Likewise.
35196 * include/pupa/err.h: Likewise.
35197 * include/pupa/file.h: Likewise.
35198 * include/pupa/font.h: Likewise.
35199 * include/pupa/fs.h: Likewise.
35200 * include/pupa/kernel.h: Likewise.
35201 * include/pupa/loader.h: Likewise.
35202 * include/pupa/misc.h: Likewise.
35203 * include/pupa/mm.h: Likewise.
35204 * include/pupa/net.h: Likewise.
35205 * include/pupa/normal.h: Likewise.
35206 * include/pupa/rescue.h: Likewise.
35207 * include/pupa/setjmp.h: Likewise.
35208 * include/pupa/symbol.h: Likewise.
35209 * include/pupa/term.h: Likewise.
35210 * include/pupa/types.h: Likewise.
35211 * include/pupa/i386/setjmp.h: Likewise.
35212 * include/pupa/i386/types.h: Likewise.
35213 * include/pupa/i386/pc/biosdisk.h: Likewise.
35214 * include/pupa/i386/pc/boot.h: Likewise.
35215 * include/pupa/i386/pc/console.h: Likewise.
35216 * include/pupa/i386/pc/init.h: Likewise.
35217 * include/pupa/i386/pc/kernel.h: Likewise.
35218 * include/pupa/i386/pc/linux.h: Likewise.
35219 * include/pupa/i386/pc/loader.h: Likewise.
35220 * include/pupa/i386/pc/memory.h: Likewise.
35221 * include/pupa/i386/pc/multiboot.h: Likewise.
35222 * include/pupa/i386/pc/partition.h: Likewise.
35223 * include/pupa/i386/pc/time.h: Likewise.
35224 * include/pupa/i386/pc/vga.h: Likewise.
35225 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
35226 * include/pupa/util/getroot.h: Likewise.
35227 * include/pupa/util/misc.h: Likewise.
35228 * include/pupa/util/resolve.h: Likewise.
35229 * kern/device.c: Likewise.
35230 * kern/disk.c: Likewise.
35231 * kern/dl.c: Likewise.
35232 * kern/err.c: Likewise.
35233 * kern/file.c: Likewise.
35234 * kern/fs.c: Likewise.
35235 * kern/loader.c: Likewise.
35236 * kern/main.c: Likewise.
35237 * kern/misc.c: Likewise.
35238 * kern/mm.c: Likewise.
35239 * kern/rescue.c: Likewise.
35240 * kern/term.c: Likewise.
35241 * kern/i386/dl.c: Likewise.
35242 * kern/i386/pc/init.c: Likewise.
35243 * kern/i386/pc/lzo1x.S: Likewise.
35244 * kern/i386/pc/startup.S: Likewise.
35245 * loader/i386/pc/chainloader.c: Likewise.
35246 * loader/i386/pc/linux.c: Likewise.
35247 * loader/i386/pc/multiboot.c: Likewise.
35248 * normal/cmdline.c: Likewise.
35249 * normal/command.c: Likewise.
35250 * normal/main.c: Likewise.
35251 * normal/menu.c: Likewise.
35252 * normal/i386/setjmp.S: Likewise.
35253 * term/i386/pc/console.c: Likewise.
35254 * term/i386/pc/vga.c: Likewise.
35255 * util/console.c: Likewise.
35256 * util/genmoddep.c: Likewise.
35257 * util/misc.c: Likewise.
35258 * util/pupa-emu.c: Likewise.
35259 * util/resolve.c: Likewise.
35260 * util/unifont2pff.rb: Likewise.
35261 * util/i386/pc/biosdisk.c: Likewise.
35262 * util/i386/pc/getroot.c: Likewise.
35263 * util/i386/pc/pupa-mkimage.c: Likewise.
35264 * util/i386/pc/pupa-setup.c: Likewise.
35265
e6eced71 352662004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
35267
35268 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
35269 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
35270 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
35271 reading and reset it after reading.
35272 (pupa_ext2_close): Return PUPA_ERR_NONE.
35273
35274 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
35275 Correct value.
35276 (struct linux_kernel_header): Add kernel_version and
35277 initrd_addr_max.
35278 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
35279 pupa_file_read succeeds.
35280 (pupa_rescue_cmd_initrd): Implement.
35281
5aded270 352822003-12-03 Marco Gerards <metgerards@student.han.nl>
35283
35284 * fs/ext2.c (pupa_ext2_label): New function.
35285 (pupa_ext2_fs): Added label.
35286 * fs/fat.c (pupa_fat_label): New function.
35287 (pupa_fat_fs): Added label.
35288 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
35289
35290 * kern/misc.c (pupa_strndup): New function.
35291 * include/pupa/misc.h (pupa_strndup): New prototype.
35292
35293 * include/pupa/normal.h: Include <pupa/err.h>.
35294 (pupa_set_history): New prototype.
35295 (pupa_iterate_commands): New prototype.
35296 * normal/cmdline.c: Include <pupa/machine/partition.h>,
35297 <pupa/disk.h>, <pupa/file.h>.
35298 (hist_size): New variable.
35299 (hist_lines): Likewise.
35300 (hist_end): Likewise.
35301 (hist_used): Likewise.
35302 (pupa_set_history): New function.
35303 (pupa_history_get): Likewise.
35304 (pupa_history_add): Likewise.
35305 (pupa_history_replace): Likewise.
35306 (pupa_tab_complete): Likewise.
35307 (pupa_cmdline_run): Added tab completion and history buffer. Tab
35308 completion shows partitionnames while completing partitions, this
35309 feature was suggested by Jeff Bailey.
35310 * normal/command.c (pupa_iterate_commands): New function.
35311 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
35312 (pupa_normal_init): Initialize history buffer.
35313 (PUPA_MOD_INIT): Likewise.
35314 (pupa_normal_fini): Free the history buffer.
35315 (PUPA_MOD_FINI): Likewise.
35316
35317 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
35318 key.
35319
35320 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
35321 * configure.ac [i386]: Check for regparam bug.
35322 (NESTED_FUNC_ATTR) [! i386]: Defined.
35323
1f7315a3 353242003-11-17 Marco Gerards <metgerards@student.han.nl>
35325
35326 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
35327 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
35328 (pupa_emu_SOURCES): New variable.
35329 (pupa_emu_LDFLAGS): Likewise.
35330 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
35331 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
35332 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
35333 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
35334 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
35335 (pupa_jmp_buf): New typedef.
35336 (pupa_setjmp) [PUPA_UTIL]: New macro.
35337 (pupa_longjmp) [PUPA_UTIL]: Likewise.
35338 * include/pupa/term.h (struct pupa_term): New member `refresh'.
35339 (pupa_refresh): New prototype.
35340 * include/pupa/util/getroot.h: New file.
35341 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
35342 it.
35343 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
35344 (pupa_rescue_cmd_cat): Likewise.
35345 (pupa_rescue_cmd_ls): Likewise.
35346 (pupa_rescue_cmd_testload): Likewise.
35347 (pupa_rescue_cmd_lsmod): Likewise.
35348 * normal/cmdline.c (pupa_cmdline_get): Likewise.
35349 * normal/menu.c (run_menu): Likewise.
35350 * kern/term.c (pupa_cls): Likewise.
35351 (pupa_refresh): New function.
35352 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
35353 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
35354 * util/console.c: New file.
f19dbdb7 35355
1f7315a3 35356 * util/i386/pc/getroot.c: New file.
35357 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
35358 (pupa_putchar): New function.
35359 (pupa_refresh): Likewise.
35360 (xgetcwd): Function moved to ...
35361 (strip_extra_slashes): Likewise.
35362 (get_prefix): Likewise.
f19dbdb7 35363 * util/i386/pc/getroot.c: ... here.
1f7315a3 35364 (find_root_device): Function moved and renamed to...
35365 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
35366 Changed all callers.
35367 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
35368 and renamed to...
35369 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
35370 Changed all callers.
35371 * util/misc.c (pupa_memalign): New function.
35372 (pupa_mm_init_region): Likewise.
35373 (pupa_register_exported_symbols): Likewise.
35374 (pupa_putchar): Function removed.
35375 * util/pupa-emu.c: New file.
35376
9a5c1ade 353772003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
35378
35379 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
35380 (_multiboot_mod_SOURCES): New variable.
35381 (_multiboot_mod_CFLAGS): Likewise.
35382 * loader/i386/pc/multiboot.c: New file.
35383 * include/pupa/i386/pc/multiboot.h: Likewise.
35384 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
35385 (pupa_multiboot_real_boot): New function.
35386 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
35387 (pupa_multiboot_real_boot): New prototype.
35388 (pupa_rescue_cmd_multiboot): Likewise
35389 (pupa_rescue_cmd_module): Likewise.
35390
35391 * kern/loader.c (pupa_loader_set): Continue when
35392 pupa_loader_unload_func() fails.
35393 (pupa_loader_unset): New function.
35394 * include/pupa/loader.h (pupa_loader_unset): New prototype.
35395
35396 * kern/misc.c (pupa_stpcpy): New function.
35397 * include/pupa/misc.h (pupa_stpcpy): New prototype.
35398
8e72a9c0 353992003-11-12 Marco Gerards <metgerards@student.han.nl>
35400
35401 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
35402 for available extensions.
35403
35404 * include/pupa/i386/pc/time.h: New file.
35405 * kern/disk.c: Include <pupa/machine/time.h>.
35406 (PUPA_CACHE_TIMEOUT): New macro.
35407 (pupa_last_time): New variable.
35408 (pupa_disk_open): Flush the cache when there was a timeout.
35409 (pupa_disk_close): Reset the timer.
35410 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
35411 pupa_currticks.
35412 * util/misc.c: Include <sys/times.h>
35413 (pupa_get_rtc): New function.
35414
c4adbd32 354152003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
35416
35417 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
35418 as blocks.
35419 (pupa_ext2_get_file_block): Use blocks member.
35420
35421 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
35422 first block. Return -1 instead of pupa_errno on error.
35423
bfd30f06 354242003-10-27 Marco Gerards <metgerards@student.han.nl>
35425
35426 * README: In the pupa-mkimage example use _chain instead of chain
35427 and ext2 instead of fat.
35428 * TODO: Replace ext2fs with jfs as an example. Add an item for
35429 adding journal playback for ext2fs.
35430 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
35431 (pkgdata_MODULES): Added ext2.mod.
35432 (ext2_mod_SOURCES): New variable.
35433 (ext2_mod_CFLAGS): Likewise.
35434 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
35435 * include/pupa/misc.h (pupa_strncpy): New prototype.
35436 (pupa_strcat): Likewise.
35437 (pupa_strncmp): Likewise.
35438 * kern/misc.c (pupa_strcat): Enable function.
35439 (pupa_strncpy): New function.
35440 (pupa_strncmp): Likewise.
35441 * fs/ext2.c: New file.
f19dbdb7 35442
bfd30f06 35443 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
35444 when the read failed before retrying.
35445 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
35446 (_FILE_OFFSET_BITS): Likewise.
35447 * configure.ac: Added AC_SYS_LARGEFILE.
35448
98d15063 354492003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
35450
35451 * genmk.rb (PModule#rule): Make sure to get only symbol names
35452 from the output of nm.
59cad637 35453 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 35454
18d9c7cd 354552003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
35456
35457 I forgot to check in these changes for a long time. This adds
35458 incomplete support for VGA console, and this is still very
35459 buggy. Also, a lot of consideration is required for I18N,
35460 UNICODE, and VGA font issues. Therefore, assume that this is
35461 such that "better than nothing".
f19dbdb7 35462
18d9c7cd 35463 * font/manager.c: New file.
35464 * include/pupa/font.h: Likewise.
35465 * include/pupa/i386/pc/vga.h: Likewise.
35466 * term/i386/pc/vga.c: Likewise.
35467 * util/unifont2pff.rb: Likewise.
35468
35469 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
35470 (pkgdata_MODULES): Added vga.mod and font.mod.
35471 (vga_mod_SOURCES): New variables.
35472 (vga_mod_CFLAGS): Likewise.
35473 (font_mod_SOURCES): Likewise.
35474 (font_mod_CFLAGS): Likewise.
35475
35476 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
35477
35478 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 35479 (struct pupa_term): Added init and fini.
18d9c7cd 35480 Changed the argument of putchar to pupa_uint32_t.
35481
35482 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
35483 (pupa_console_real_putchar): New prototype.
35484 (pupa_console_putchar): Removed.
35485 (pupa_console_checkkey): Exported.
35486 (pupa_console_getkey): Likewise.
35487
35488 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
35489 characters.
35490
35491 * kern/term.c (pupa_term_set_current): Rewritten.
35492 (pupa_putchar): Likewise.
35493 (pupa_putcode): New function.
35494
35495 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
35496 (pupa_console_real_putchar): ... this.
35497 (pupa_vga_set_mode): New function.
35498 (pupa_vga_get_font): Likewise.
35499
35500 * normal/command.c: Include pupa/term.h.
35501 (terminal_command): New function.
35502 (pupa_command_init): Register the command "terminal".
35503
35504 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
35505 (DISP_UP): Likewise.
35506 (DISP_RIGHT): Likewise.
35507 (DISP_DOWN): Likewise.
35508 (DISP_HLINE): Likewise.
35509 (DISP_VLINE): Likewise.
35510 (DISP_UL): Likewise.
35511 (DISP_UR): Likewise.
35512 (DISP_LL): Likewise.
35513 (DISP_LR): Likewise.
35514
35515 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 35516
977329f5 355172003-02-08 NIIBE Yutaka <gniibe@m17n.org>
35518
35519 * util/resolve.c (pupa_util_resolve_dependencies): BUG
35520 FIX. Reverse the path_list.
35521
35522 * include/pupa/normal.h: Export pupa_register_command and
35523 pupa_unregister_command.
35524
35525 * hello/hello.c (pupa_cmd_hello): New module.
35526 * conf/i386-pc.rmk: Added hello.mod.
35527
1f5ab428 355282003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
35529
35530 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 35531
1f5ab428 35532 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
35533 (compress_kernel): New variable.
35534 (generate_image): Heavily modified to support compressing a
35535 large part of the core image.
35536
35537 * util/misc.c (pupa_util_read_image): Fix a file descriptor
35538 leak.
35539 (pupa_util_load_image): New function.
35540
35541 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
35542 (pupa_compressed_size): New variable.
35543 (codestart): Enable Gate A20 here.
35544 Decompress the compressed part of the core image.
35545 Rearrange the code to put functions and variables which are
35546 required for initialization in the non-compressed part.
35547 Include lzo1x.S.
35548
35549 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
35550 here.
35551
35552 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
35553
f19dbdb7 35554 * include/pupa/i386/pc/kernel.h
1f5ab428 35555 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
35556 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
35557 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
35558 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
35559 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
35560
35561 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
35562
35563 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
35564 (Utility#rule): Likewise.
35565
35566 * configure.ac: Check if LZO is available.
35567
ce5bf700 355682003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
35569
35570 * include/pupa/normal.h: New file.
35571 * include/pupa/setjmp.h: Likewise.
35572 * include/pupa/i386/setjmp.h: Likewise.
35573 * normal/cmdline.c: Likewise.
35574 * normal/command.c: Likewise.
35575 * normal/main.c: Likewise.
35576 * normal/menu.c: Likewise.
35577 * normal/i386/setjmp.S: Likewise.
f19dbdb7 35578
ce5bf700 35579 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
35580 (pupa_rescue_cmd_initrd): Likewise.
35581
35582 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
35583 Likewise.
35584
35585 * kern/i386/pc/startup.S (translation_table): New variable.
35586 (translate_keycode): New function.
35587 (pupa_console_getkey): Call translate_keycode.
35588
35589 * kern/rescue.c (attempt_normal_mode): New function.
35590 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
35591 it failed, print a message.
35592
35593 * kern/mm.c (pupa_real_malloc): Print more information when a
35594 free magic is broken.
35595 (pupa_free): If the first free header is not free actually, set
35596 it to P.
35597
35598 * kern/main.c (pupa_load_normal_mode): Just load the module
35599 "normal".
35600 (pupa_main): Don't print the message
35601 "Entering into rescue mode..." here.
35602
35603 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
35604 Declared.
35605 (pupa_rescue_cmd_initrd): Likewise.
35606 (pupa_rescue_cmd_initrd): Likewise.
35607
35608 * include/pupa/symbol.h (FUNCTION): Specify the type.
35609 (VARIABLE): Likewise.
35610
35611 * include/pupa/err.h (pupa_err_t): Added
35612 PUPA_ERR_UNKNOWN_COMMAND.
35613
35614 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
35615 (pupa_dl_get_prefix): Likewise.
35616
35617 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
35618 Added _chain.mod and _linux.mod instead of chain.mod and
35619 linux.mod.
35620 (chain_mod_SOURCES): Renamed to ...
35621 (_chain_mod_SOURCES): ... this.
35622 (chain_mod_CFLAGS): Renamed to ...
35623 (_chain_mod_CFLAGS): ... this.
35624 (linux_mod_SOURCES): Renamed to ...
35625 (_linux_mod_SOURCES): ... this.
35626 (linux_mod_CFLAGS): Renamed to ...
35627 (_linux_mod_CFLAGS): ... this.
35628 (normal_mod_SOURCES): New variable.
35629 (normal_mod_CFLAGS): Likewise.
35630 (normal_mod_ASFLAGS): Likewise.
35631
356322003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
35633
35634 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
35635 possible.
35636
fe6b695a 35637 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 35638 recursively.
35639 (pupa_dl_unref): Unrefer depending modules recursively.
35640 Don't call pupa_dl_unload implicitly, because PUPA can crash if
35641 a module is unloaded before one depending on that module is
35642 unloaded.
35643 (pupa_dl_unload): Unload depending modules explicitly,
35644 if possible.
35645
c04da074 356462003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
35647
35648 * include/pupa/i386/pc/linux.h: New file.
35649 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 35650
c04da074 35651 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
35652 Removed.
35653 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
35654 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
35655 of PUPA_CHAINLOADER_BOOT_SECTOR.
35656
35657 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
35658 (pupa_linux_prot_size): New variable.
35659 (pupa_linux_tmp_addr): Likewise.
35660 (pupa_linux_real_addr): Likewise.
35661 (pupa_linux_boot_zimage): New function.
35662 (pupa_linux_boot_bzimage): Likewise.
35663
35664 * kern/i386/pc/init.c (struct mem_region): New structure.
35665 (MAX_REGIONS): New macro.
35666 (mem_regions): New variable.
35667 (num_regions): Likewise.
35668 (pupa_os_area_addr): Likewise.
35669 (pupa_os_area_size): Likewise.
35670 (pupa_lower_mem): Likewise.
35671 (pupa_upper_mem): Likewise.
35672 (add_mem_region): New function.
35673 (compact_mem_regions): Likewise.
35674 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
35675 the size of the conventional memory and that of so-called upper
35676 memory (before the first memory hole).
35677 Instead of adding each found region to free memory, use
35678 add_mem_region and add them after removing overlaps.
35679 Also, add only 1/4 of the upper memory to free memory. The rest
35680 is used for loading OS images. Maybe this is ad hoc, but this
35681 makes it much easier to relocate OS images when booting.
35682
35683 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
35684 (pupa_enter_rescue_mode): Don't register initrd and module.
35685
35686 * kern/mm.c: Include pupa/dl.h.
35687
35688 * kern/main.c: Include pupa/file.h and pupa/device.h.
35689
35690 * kern/loader.c (pupa_loader_load_module_func): Removed.
35691 (pupa_loader_load_module): Likewise.
35692
35693 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
35694 ``.o''.
35695
35696 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
35697 (pupa_linux_tmp_addr): Likewise.
35698 (pupa_linux_real_addr): Likewise.
35699 (pupa_linux_boot_zimage): Likewise.
35700 (pupa_linux_boot_bzimage): Likewise.
35701
35702 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
35703 (pupa_upper_mem): Likewise.
35704 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
35705 module is too dangerous.
35706
35707 * include/pupa/loader.h (pupa_os_area_addr): Declared.
35708 (pupa_os_area_size): Likewise.
35709 (pupa_loader_set): Remove the first argument. Loader doesn't
35710 manage modules or initrd any longer.
35711 (pupa_loader_load_module): Removed.
35712
35713 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
35714 (linux_mod_SOURCES): New variable.
35715 (linux_mod_CFLAGS): Likewise.
35716
a13f9237 357172003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
35718
35719 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
35720 the length of a blocklist correctly.
35721
35722 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
35723 Use ioctl only if the OS file is a block device.
35724 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
35725 not very useful for normal files.
35726
35727 * kern/main.c (pupa_set_root_dev): New function.
35728 (pupa_load_normal_mode): Likewise.
35729 (pupa_main): Call those above.
35730
35731 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
35732 pupa_uint16_t.
35733
35734 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
35735
a5ffe966 357362003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35737
35738 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
35739 (setup): Configure the installed partition information and the
35740 dl prefix.
35741
35742 * loader/i386/pc/chainloader.c (my_mod): New variable.
35743 (pupa_chainloader_unload): New function.
35744 (pupa_rescue_cmd_chainloader): Refer itself.
35745 (PUPA_MOD_INIT): Save its own module in MY_MOD.
35746
35747 * kern/i386/pc/startup.S (install_partition): Removed.
35748 (version_string): Likewise.
35749 (config_file): Likewise.
35750 (pupa_install_dos_part): New variable.
35751 (pupa_install_bsd_part): Likewise.
35752 (pupa_prefix): Likewise.
35753 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
35754
35755 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
35756 and pupa/misc.h.
35757 (make_install_device): New function.
35758 (pupa_machine_init): Set the dl prefix.
35759
35760 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
35761 (buf): Renamed to ...
35762 (linebuf): ... this.
35763 (pupa_rescue_cmd_prefix): New function.
35764 (pupa_rescue_cmd_insmod): Likewise.
35765 (pupa_rescue_cmd_rmmod): Likewise.
35766 (pupa_rescue_cmd_lsmod): Likewise.
35767 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
35768 rmmod and lsmod.
35769
35770 * kern/mm.c (pupa_memalign): If failed even after invalidating
35771 disk caches, unload unneeded modules and retry.
35772
35773 * kern/misc.c (pupa_memmove): New function.
35774 (pupa_memcpy): Removed.
35775 (pupa_strcpy): New function.
35776 (pupa_itoa): Made static.
35777
35778 * kern/dl.c (pupa_dl_iterate): New function.
35779 (pupa_dl_ref): Likewise.
35780 (pupa_dl_unref): Likewise.
35781 (pupa_dl_unload): Return if succeeded or not.
35782 (pupa_dl_unload_unneeded): New function.
35783 (pupa_dl_unload_all): Likewise.
35784 (pupa_dl_init): Renamed to ...
35785 (pupa_dl_set_prefix): ... this.
35786 (pupa_dl_get_prefix): New function.
35787
35788 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
35789 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
35790 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
35791 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
35792 (pupa_install_dos_part): Declared.
35793 (pupa_install_bsd_part): Likewise.
35794 (pupa_prefix): Likewise.
35795 (pupa_boot_drive): Likewise.
35796
35797 * include/pupa/types.h: Fix a typo.
35798
35799 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
35800 pupa_memmove.
35801 (pupa_memmove): Declared.
35802 (pupa_strcpy): Likewise.
35803
35804 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
35805 pupa_mod_init takes one argument, its own module.
35806 (pupa_dl_unload_unneeded): Declared.
35807 (pupa_dl_unload_all): Likewise.
35808 (pupa_dl_ref): Likewise.
35809 (pupa_dl_unref): Likewise.
35810 (pupa_dl_iterate): Likewise.
35811 (pupa_dl_init): Renamed to ...
35812 (pupa_dl_set_prefix): ... this.
35813 (pupa_dl_get_prefix): Declared.
35814
35815 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 35816 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 35817 unloaded.
35818 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
35819 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
35820
35821 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
35822 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
35823
012d7999 358242003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35825
35826 * util/i386/pc/pupa-setup.c (setup): Define the internal
35827 function find_first_partition_start at the top level, because GCC
35828 3.0.x cannot compile internal functions in deeper scopes
35829 correctly.
35830 (find_root_device): Use lstat instead of stat.
35831 Don't follow symbolic links.
35832 Fix the path-constructing code.
35833
35834 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
35835 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
35836 by a BLKGETSIZE ioctl first, because block devices don't fill
35837 the member st_mode of the structure stat on Linux.
35838 [__linux__] (linux_find_partition): Use a temporary buffer
35839 REAL_DEV for the working space. Copy it to DEV before returning.
35840 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
35841 buffer cache consistent.
35842 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
35843 strncmp. The previous value was merely wrong.
35844 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
35845
35846 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
35847 FAT size is 12. The previous value was merely wrong.
35848
35849 * kern/main.c (pupa_main): Don't split the starting message from
35850 newlines.
35851
35852 * kern/term.c (pupa_putchar): Put CR after LF instead of before
35853 LF, because BIOS goes crazy about character attributes in this
35854 case.
35855
1cc73a62 358562003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35857
35858 * include/i386/pc/util/biosdisk.h: New file.
35859 * util/i386/pc/biosdisk.c: Likewise.
35860 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 35861
1cc73a62 35862 * Makefile.in (INCLUDE_DISTFILES): Added
35863 include/pupa/i386/pc/util/biosdisk.h.
35864 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
35865 directory util/i386/pc.
35866 (install-local): Added a rule for sbin_UTILITIES.
35867 (uninstall): Likewise.
35868
35869 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
35870
35871 * util/misc.c (xrealloc): New function.
35872 (pupa_malloc): Likewise.
35873 (pupa_free): Likewise.
35874 (pupa_realloc): Likewise.
35875 (pupa_stop): Likewise.
35876 (pupa_putchar): Likewise.
35877
35878 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
35879
35880 * include/pupa/util/misc.h (xrealloc): Declared.
35881
35882 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
35883 macro.
35884 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
35885 (PUPA_BOOT_MACHINE_BPB_END): ... this.
35886
35887 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
35888 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35889
35890 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
35891 way should be implemented.
35892 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35893
35894 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
35895 the size of NAME for safety.
35896 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
35897 0x88.
35898
35899 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
35900 (pupa_setup_SOURCES): Likewise.
35901
35902 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
35903
08b70fe8 359042002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35905
35906 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
35907 bunch of pushl's from pusha, because this destroys the return
35908 value.
35909
62ddcc8f 359102002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35911
35912 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
35913 This means that any missing prototypes could be fatal. Also, you
35914 must take care when writing assembly code. See the comments at
35915 the beginning of startup.S, for more details.
f19dbdb7 35916
62ddcc8f 35917 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
35918 compilation mechanism.
35919 (pupa_chainloader_real_boot): Likewise.
35920 (pupa_biosdisk_rw_int13_extensions): Likewise.
35921 (pupa_biosdisk_rw_standard): Likewise.
35922 (pupa_biosdisk_check_int13_extensions): Likewise.
35923 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
35924 (pupa_biosdisk_get_diskinfo_standard): Likewise.
35925 (pupa_get_memsize): Likewise.
35926 (pupa_get_mmap_entry): Likewise.
35927 (pupa_console_putchar): Likewise.
35928 (pupa_console_setcursor): Likewise.
35929 (pupa_getrtsecs): Use pushl instead of push.
35930
35931 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
35932 memory instead of the stack for a mmap entry, because some
35933 BIOSes may ignore the maximum size and overflow.
35934
35935 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
35936
35937 * genmk.rb (PModule#rule): Compile automatically generated
35938 sources with module-specific CFLAGS as well as other sources.
35939
9962ed99 359402002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35941
35942 * configure.ac: Check ld.
35943 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
35944 respectively, before checking endianness and sizes.
35945
35946 * Makefile.in (LD): New variable.
f19dbdb7 35947
abdfc3c5 359482002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35949
35950 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
35951
6a161fa9 359522002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35953
35954 * Changelog: New file.
35955