]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* po/POTFILES.in: Regenerate.
[grub2.git] / ChangeLog
CommitLineData
def9832a
VS
12011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * po/POTFILES.in: Regenerate.
4
cd8fe79a
VS
52011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Fix compilation on GNU/Linux.
8
9 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
10 Disable geli.
11 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
12 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
13 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
14
a251b719
VS
152011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
162011-07-07 Michael Gorven <michael@gorven.za.net>
172011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
18
19 LUKS and GELI support.
20
21 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
22 grub-core/disk/luks.c, grub-core/disk/geli.c,
23 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
24 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
25 grub-core/lib/arg.c.
26 (libgrubmods.a): Remove gcrypts cflags and cppflags.
27 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
28 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
29 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
30 (grub-bin2h): Add libgcry.a.
31 (grub-mkimage): Likewise.
32 (grub-mkrelpath): Likewise.
33 (grub-script-check): Likewise.
34 (grub-editenv): Likewise.
35 (grub-mkpasswd-pbkdf2): Likewise.
36 (grub-pe2elf): Likewise.
37 (grub-fstest): Likewise.
38 (grub-mkfont): Likewise.
39 (grub-mkdevicemap): Likewise.
40 (grub-probe): Likewise.
41 (grub-ofpath): Likewise.
42 (grub-mklayout): Likewise.
43 (example_unit_test): Likewise.
44 (grub-menulst2cfg): Likewise.
45 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
46 * grub-core/Makefile.core.def (cryptodisk): New module.
47 (luks): Likewise.
48 (geli): Likewise.
49 * grub-core/disk/AFSplitter.c: New file.
50 * grub-core/disk/cryptodisk.c: Likewise.
51 * grub-core/disk/geli.c: Likewise.
52 * grub-core/disk/luks.c: Likewise.
53 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
54 grub_util_is_lvm.
55 (grub_util_get_dm_abstraction): New function.
56 (grub_util_follow_gpart_up): Likewise.
57 (grub_util_get_geom_abstraction): Likewise.
58 (grub_util_get_dev_abstraction): Use new functions.
59 (grub_util_pull_device): Pull GELI and LUKS.
60 (grub_util_get_grub_dev): Handle LUKS and GELI.
61 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
62 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
63 (follow_geom_up): Removed.
64 (grub_util_fd_seek): New function.
65 (open_device): Use grub_util_fd_seek.
66 (nread): Rename to ..
67 (grub_util_fd_read): ... this. All users updated.
68 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
69 (grub_crypto_cbc_decrypt): Likewise.
70 (grub_crypto_hmac_write): Likewise.
71 (grub_crypto_hmac_buffer): Likewise.
72 (grub_password_get): Extend to util.
73 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
74 New member modname.
75 (gcry_md_spec) [GRUB_UTIL]: Likewise.
76 * include/grub/cryptodisk.h: New file.
77 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
78 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
79 LUKS and GELI.
80 (grub_util_follow_gpart_up): New proto.
81 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
82 (grub_util_fd_read): Likewise.
83 (grub_cryptodisk_cheat_mount): Likewise.
84 (grub_util_cryptodisk_print_uuid): Likewise.
85 (grub_util_get_fd_sectors): Likewise.
86 * util/grub-fstest.c (mount_crypt): New var.
87 (fstest): Mount crypto if requested.
88 (options): New option -C.
89 (argp_parser): Parse -C.
90 (main): Init and fini gcry.
91 * util/grub-install.in: Support cryptodisk install.
92 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
93 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
94 cryptodisk.
95 (prepare_grub_to_access_device): Likewise.
96 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
97 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
98 (probe_cryptodisk_uuid): New function.
99 (probe_abstraction): Likewise.
100 (probe): Use new functions.
101 * util/import_gcry.py: Create Makefile.utilgcry.def.
102 Add modname member.
103
9bfdcbbc
VS
1042011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
105
106 Lazy device scanning.
107
108 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
109 (grub-setup): Remove util/raid.c.
110 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
111 * grub-core/disk/lvm.c (scan_depth): New variable.
112 (grub_lvm_iterate): Rescan if necessary.
113 (find_lv): New function based on grub_lvm_open.
114 (grub_lvm_open): Use find_lv. Rescan on error.
115 (is_node_readable): New function.
116 (is_lv_readable): Likewise.
117 (grub_lvm_scan_device): Skip already found disks.
118 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
119 Stop if searched device is found and readable.
120 * grub-core/disk/raid.c (inscnt): New variable.
121 (scan_depth): Likewise.
122 (scan_devices): New function based on grub_raid_register. Abort if
123 looked for device is found.
124 (grub_raid_iterate): Rescan if needed.
125 (find_array): NEw function based on -grub_raid_open.
126 (grub_raid_open): Use find_array and rescan.
127 (insert_array): Set became_readable_at.
128 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
129 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
130 New function.
131 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
132 (grub_util_pull_device): New function.
133 (grub_util_get_grub_dev): Call grub_util_pull_device.
134 * util/raid.c: Moved to ..
135 * grub-core/kern/emu/raid.c: ... here.
136 (grub_util_raid_getmembers): New parameter "bootable".
137 All users updated. Support 1.x.
138 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
139 All users updated.
140 * include/grub/disk.h (grub_disk_pull_t): New enum.
141 (grub_disk_dev): Change iterate prototype.
142 All users updated.
143 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
144 New proto.
145 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
146 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
147 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
148 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
149 All users updated.
150 * include/grub/util/raid.h: Removed.
151
1c358e59
VS
1522011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * po/POTFILES.in: Regenerate.
155
abee94ed
VS
1562011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
157
158 Unify sparc init with other ieee1275.
159
160 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
161 instead of kern/sparc64/ieee1275/init.c.
162 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
163 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
164 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
165 grub/machine/kernel.h.
166 (grub_ieee1275_original_stack) [__sparc__]: New variable.
167 (grub_claim_heap) [__sparc__]: Use sparc version.
168 (grub_machine_init): Moved args parsing to
169 (grub_parse_cmdline): ...this.
170 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
171 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
172 New definition.
173 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
174
175 Move BOOTP to separate file.
176
177 * grub-core/Makefile.core.def (net): Add net/bootp.c.
178 * grub-core/net/net.c: Move all BOOTP functions to
179 * grub-core/net/bootp.c: ... here.
180
181 Use frame interface on PXE.
182
183 * grub-core/Makefile.core.def (pxecmd): Removed.
184 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
185 * grub-core/commands/i386/pc/pxecmd.c: Removed.
186 * grub-core/i386/pc/pxe.c: Moved from here ...
187 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
188 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
189 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
190
191 EFI network support.
192
193 * grub-core/Makefile.core.def (efinet): New module.
194 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
195 here...
196 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
197 All users updated.
198 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
199 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
200 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
201 * grub-core/net/drivers/efi/efinet.c: New file.
202 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
203 (grub_efi_net_config): New extern var.
204
205 Various cleanups and bugfixes.
206
207 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
208 error.
209 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
210 disk declared as partition.
211 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
212 leak on failure.
213 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
214 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
215 (grub_debug_zalloc): Likewise.
216 (grub_debug_realloc): Likewise.
217 (grub_debug_memalign): Likewise.
218 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
219 Check that target is IPv4.
220 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
221 local-mac-address as fallback.
222 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
223 memory leak.
224 * grub-core/net/ip.c (ipchksum): Rename to ...
225 (grub_net_ip_chksum): ... this. All users updated.
226 (grub_net_recv_ip_packets): Special handling for DHCP.
227 * util/grub-mkimage.c (generate_image): Zero-out aout header.
228
229 Unify prefix handling
230
231 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
232 (grub_machine_get_bootlocation): ... this.
233 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
234 (grub_machine_get_bootlocation): ... this.
235 (grub_prefix): New variable.
236 (prefix): Removed.
237 (root_dev): New variable.
238 (dir): Likewise.
239 (main): Use new variables.
240 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
241 Revamped into ...
242 (grub_machine_get_bootlocation): ... this.
243 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
244 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
245 (grub_machine_get_bootlocation): ... this.
246 (grub_machine_set_prefix): Removed.
247 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
248 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
249 Revamped into ...
250 (grub_machine_get_bootlocation): ... this.
251 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
252 (grub_set_prefix_and_root): ... this. All users updated.
253 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
254 Revamped into ...
255 (grub_machine_get_bootlocation): ... this.
256 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
257 (grub_machine_get_bootlocation): New proto.
258 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
259
260 Less intrusive and more reliable seek on network implementation.
261
262 * grub-core/kern/file.c (grub_file_net_seek): Removed.
263 (grub_file_seek): Don't call grub_file_net_seek.
264 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
265 (grub_net_fs_read_real): .. this.
266 (grub_net_seek_real): Use net->offset.
267 (grub_net_fs_read): Seek if necessary.
268
269 Unify IEEE1275 netwotk config with the other platforms.
270
271 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
272 New variable.
273 (grub_machine_get_bootlocation): Support network.
274 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
275 Support type and device parsing.
276 (grub_ieee1275_get_device_type): New function.
277 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
278 into ...
279 (grub_ieee1275_net_config_real): ... this.
280 (grub_ofnet_probecards): Removed.
281 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
282 * include/grub/ieee1275/ofnet.h: Removed.
283 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
284 extern var.
285 (grub_ieee1275_get_device_type): New function.
286
287 Unify network device closing across platforms and make more robust.
288
289 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
290 grub_grubnet_fini.
291 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
292 already.
293 * grub-core/net/net.c (grub_net_network_level_interface_register):
294 Update num_ifaces.
295 (grub_net_card_unregister): Close all interfaces.
296 (receive_packets): Don't poll if no iterfaces are registered.
297 Open if necessary.
298 (grub_net_fini_hw): New function.
299 (grub_net_restore_hw): Likewise.
300 (fini_hnd): New variable.
301 (GRUB_MOD_INIT): Register preboot hook.
302 (GRUB_MOD_FINI): Run and unregister preboot hook.
303
304 Poll network cards when idle.
305
306 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
307 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
308 * grub-core/net/net.c (receive_packets): Save last poll time.
309 (grub_net_poll_cards_idle_real): New function.
310 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
311 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
312 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
313
314 Rename ofnet interfaces.
315
316 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
317 (grub_ofnet_findcards): Use ofnet_%s names.
318
319 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
320
321 Cleanup socket opening.
322
323 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
324 (grub_net_fs_close): Likewise.
325 (grub_net_fs_read_real): Use eof member.
326 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
327 (+grub_net_udp_close): New inline function.
328
329 * include/grub/net/tftp.h: Moved to the top of ...
330 * grub-core/net/tftp.c: ... here.
331 * include/grub/net/ip.h: Moved mostly to the top of ...
332 * grub-core/net/ip.c: ... here.
333 * include/grub/net/ethernet.h: Moved mostly to the top of ...
334 * grub-core/net/ethernet.c: ... here.
335
336 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
337
338 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
339 FS name.
340
341 * include/grub/net/ip.h (ipv4_ini): Removed.
342 (ipv4_fini): Likewise.
343
344 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
345 (grub_net_send_ip_packets): Likewise.
346
cf1337aa
VS
3472011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
350 grub_read_cmos prototype.
351
93c06ff9
VS
3522011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
353
354 VGA text support in qemu-mips
355
356 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
357 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
358 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
359 text.
360 * grub-core/kern/i386/qemu/init.c: Renamed to ...
361 * grub-core/kern/vga_init.c: ... this.
362 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
363 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
364 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
365 Adjust.
366 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
367 GRUB_MACHINE_PCI_IO_BASE.
368
748ccabe
VS
3692011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
370
371 MIPS qemu flash support.
372
373 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
374 magic.
375 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
376 (grub_machine_init): Probe memory if its size isn't known.
377 * util/grub-mkimage.c (image_targets): Add flash targets.
378 (generate_image): Handle flash targets.
379
d7345994
VS
3802011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
381
382 MIPS qemu at_keyboard support.
383
384 * gentpl.py (videoinkernel): Add qemu-mips.
385 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
386 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
387 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
388 modules.
389 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
390 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
391 * grub-core/term/serial.c (grub_serial_register)
392 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
393
a07a81b3
VS
3942011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
395
396 CMOS support on sparc.
397
398 * gentpl.py (cmos): Add powerpc and sparc.
399 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
400 powerpc and sparc.
401 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
402 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
403 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
404 grub_set_datetime_cmos.
405 * grub-core/lib/ieee1275/cmos.c: New file.
406 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
407 (find_rtc): Set no_ieee1275_rtc on error.
408 (grub_get_datetime): Call grub_get_datetime_cmos on error.
409 (grub_set_datetime): Call grub_set_datetime_cmos on error.
410 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
411 fail. Move value to argument. All users updated
412 (grub_cmos_write): Likewise.
413 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
414 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
415 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
416 grub_get_datetime_cmos and grub_set_datetime_cmos.
417
77546584
GS
4182011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
419
420 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
421 sourcing grub-mkconfig_lib.
422 * util/update-grub_lib.in: Likewise.
423 * util/grub.d/00_header.in: Likewise.
424 * util/grub.d/10_hurd.in: Likewise.
425 * util/grub.d/10_kfreebsd.in: Likewise.
426 * util/grub.d/10_linux.in: Likewise.
427 * util/grub.d/10_netbsd.in: Likewise.
428 * util/grub.d/10_windows.in: Likewise.
429 * util/grub.d/20_linux_xen.in: Likewise.
430 * util/grub.d/30_os-prober.in: Likewise.
431
54894791
CW
4322011-06-28 Colin Watson <cjwatson@ubuntu.com>
433
434 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
435 default_bg_color rather than black.
436 (grub_gfxterm_fullscreen): Likewise.
437 (grub_gfxterm_background_color_cmd): Save new background color in
438 default_bg_color.
439
8d5d8444
VS
4402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
443
5afeb5bd
VS
4442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
447 mismerge.
448
ba7df45e
VS
4492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
450
451 Chainloading on coreboot support.
452
453 * grub-core/Makefile.core.def (chain): Add coreboot.
454 * grub-core/loader/i386/coreboot/chainloader.c: New file.
455
d0b526b2
VS
4562011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
459 if it happens.
460
5ff1d945
VS
4612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
462
463 Implement time command.
464
465 * grub-core/Makefile.core.def (time): New module.
466 * grub-core/commands/time.c: New file.
467 * grub-core/script/parser.y: Remove "time" keyword.
468 * grub-core/script/yylex.l: Likewise.
469
5ebaad7e
VS
4702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
473
bdea3798
VS
4742011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
477 when handling leftovers.
478
b28c5655
VS
4792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
482 so that help2man doesn't fail.
483
b6f945dc
VS
4842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
487 type in pointers on sparc64.
488 (get_card_packet): Likewise.
489
f9b75e8a
CW
4902011-06-27 Colin Watson <cjwatson@ubuntu.com>
491
492 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
493 with `*'.
494 (grub_cmd_videoinfo): Fetch current video mode.
495
1e3d9b86
VS
4962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
499 because of underlying system restrictions.
500
efff4b1c
VS
5012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
502
503 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
504 necessary.
505
9fc9ce37
VS
5062011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
507
508 Coreboot video support.
509
510 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
511 (vbe): Likewise.
512 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
513 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
514 here ...
515 * grub-core/kern/i386/int.S: ... here.
516 * grub-core/video/i386/pc/vbe.c: Updated includes.
517 * grub-core/video/i386/pc/vga.c: Likewise.
518 * include/grub/i386/coreboot/memory.h
519 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
520 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
521 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
522 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
523 Disable interrupts.
524 * include/grub/i386/pc/vga.h: Removed. All users updated.
525
41bec7fe
VS
5262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
529 definitions for dprintf.
530 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
531
ca80309d
VS
5322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
533
534 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
535 prototype.
536 (get_card_packet): Likewise.
537
9e322ce8
YB
5382011-06-26 Yves Blusseau <blusseau@zetam.org>
539
540 Display the path of the file when file is not found
541
542 * grub-core/fs/fat.c: Display the filename when file is not found.
543 * grub-core/fs/fshelp.c: Likewise.
544 * grub-core/fs/hfs.c: Likewise.
545 * grub-core/fs/jfs.c: Likewise.
546 * grub-core/fs/minix.c: Likewise.
547 * grub-core/fs/ufs.c: Likewise.
548 * grub-core/fs/btrfs.c: Likewise.
549 * grub-core/commands/i386/pc/play.c: Likewise.
550
cbf597af
SJ
5512011-06-26 Szymon Janc <szymon@janc.net.pl>
552
553 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
554 pointer checks before calling grub_free().
555 * grub-core/commands/wildcard.c (match_devices): Likewise.
556 * grub-core/commands/wildcard.c (match_files): Likewise.
557 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
558 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
559 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
560 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
561 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
562 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
563 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
564 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
565 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
566
6295b32f
P
5672011-06-25 Patrick <p55@mailinator.com>
568
569 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
570
77c0840b
VS
5712011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
574 (grub_pxe_send): Likewise.
575 (GRUB_MOD_INIT): Fix types.
576
40ea05de
SJ
5772011-06-24 Szymon Janc <szymon@janc.net.pl>
578
579 * grub-core/io/xzio.c: Fix code style issues
580
90162423
MRA
5812011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5822011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
583
584 Network infrastructure.
585 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
586
587 * include/grub/net/arp.h: New file.
90162423
MRA
588 * include/grub/net/device.h: Likewise.
589 * include/grub/net/ethernet.h: Likewise.
590 * include/grub/net/ip.h: Likewise.
591 * include/grub/net/netbuff.h: Likewise.
592 * include/grub/net/tftp.h: Likewise.
593 * include/grub/net/udp.h: Likewise.
594 * include/grub/ieee1275/ofnet.h: Likewise.
595 * include/grub/emu/export.h: Likewise.
596 * include/grub/net.h: Likewise.
597 * grub-core/net/arp.c: Likewise.
598 * grub-core/net/ethernet.c: Likewise.
599 * grub-core/net/ip.c: Likewise.
600 * grub-core/net/udp.c: Likewise.
601 * grub-core/net/tftp.c: Likewise.
602 * grub-core/net/netbuff.c: Likewise.
603 * grub-core/net/net.c: Likewise.
604 * grub-core/net/drivers/emu/emunet.c: Likewise.
605 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
606 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
607 export.h.
608 * grub-core/Makefile.core.def (net): New module.
609 (tftp): Likewise.
610 (ofnet): Likewise.
611 (emunet): Likewise.
612 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
613 network protocols.
614 * grub-core/kern/device.c (grub_net_open) : New variable.
615 (grub_device_open): Handle network device.
616 (grub_device_close): Likewise.
617 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
618 (grub_grubnet_fini): Likewise.
619 (grub_file_seek): Seek in network device.
620 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
621 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
622 network root.
623 (grub_machine_fini): Call grub_grubnet_fini.
624 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
625 network.
626 (grub_ieee1275_get_aliasdevname): New function.
627 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
628 Add unofficial Solaris network info.
629 (grub_multiboot_make_mbi): Likewise.
630 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
631 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
632 * include/grub/device.h (grub_fs): Removed.
633 * include/grub/err.h (grub_err_t): Add network-related values.
634 * include/grub/i386/pc/pxe.h: Removed bootp parts.
635 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
636 (grub_ieee1275_get_aliasdevname): New proto.
637 * include/grub/net.h: Rewritten.
423a1849 638
031f22a0
VS
6392011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
642 names.
643
4388ca72
VS
6442011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
647 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
648 it truncates the output.
649 Reported by: Ximin Luo.
650
98e2f506
VS
6512011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
654
2a5e94d8
VS
6552011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
658 partmap before abstraction.
659
535c1910
AK
6602011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
661
662 * util/grub-mkconfig_lib.in: Add missing quotes.
663
bc09e1a2
VS
6642011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
665
666 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
667 old method if mountinfo would return /dev/root and /dev/root doesn't
668 exist.
669
290766fb
VS
6702011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
671
672 ZFS zlib support
673
674 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
675 (decomp_table): Add zlib entries.
676 (zio_read): USe 8 bits for compression function rather than 3.
677 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
678
6792011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
680
681 * grub-core/disk/ahci.c: Add missing license statements.
682 * grub-core/fs/romfs.c: Likewise.
683 * grub-core/lib/ia64/setjmp.S: Likewise.
684 * grub-core/loader/i386/pc/freedos.c: Likewise.
685 * grub-core/loader/ia64/efi/linux.c: Likewise.
686 * grub-core/video/colors.c: Likewise.
687 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
688
5ab3f48a
VS
6892011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
690
691 AHCI support.
692
693 * grub-core/Makefile.core.def (ata_pthru): Removed.
694 (ahci): New module.
695 (pata): Likewise.
696 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
697 on unload.
698 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
699 readwrite.
700 (grub_hdparm_do_check_powermode_cmd): Likewise.
701 (grub_hdparm_do_smart_cmd): Likewise.
702 (grub_hdparm_set_val_cmd): Likewise.
703 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
704 * grub-core/disk/ahci.c: New file.
705 * grub-core/disk/ata.c: Factor out the low-level part into ...
706 * grub-core/disk/pata.c: ... here.
707 * grub-core/disk/ata_pthru.c: Contents moved to ...
708 * grub-core/disk/pata.c: ... here.
709 * grub-core/disk/scsi.c (grub_scsi_names): New array.
710 (grub_scsi_iterate): Use grub_scsi_names.
711 (grub_scsi_open): Likewise.
712 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
713 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
714 (grub_ata_regs_t): New struct.
715 (grub_disk_ata_pass_through_parms): Likewise.
716 (grub_ata_device): Renamed to ...
717 (grub_ata): ... this.
718 (grub_ata_dev): New struct.
719 Removed all low-level inline functions.
720 * include/grub/scsi.h: Add PATA and AHCI subsystems.
721 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
722 iterate hooks and open. All users updated.
723 * util/grub-install.in: Handle AHCI disk module.
724
c31dc5f5
SJ
7252011-06-23 Szymon Janc <szymon@janc.net.pl>
726
727 Add support for DRI and RSTn markers in JPEG files.
728
729 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
730 (JPEG_MARKER_RST0): Likewise.
731 (JPEG_MARKER_RST1): Likewise.
732 (JPEG_MARKER_RST2): Likewise.
733 (JPEG_MARKER_RST3): Likewise.
734 (JPEG_MARKER_RST4): Likewise.
735 (JPEG_MARKER_RST5): Likewise.
736 (JPEG_MARKER_RST6): Likewise.
737 (JPEG_MARKER_RST7): Likewise.
738 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
739 (grub_jpeg_decode_dri): New function.
740 (grub_jpeg_decode_sos): Move image data related part into
741 grub_jpeg_decode_data function.
742 (grub_jpeg_decode_data): New function.
743 (grub_jpeg_reset): New function.
744 (grub_jpeg_decode_jpeg): Handle new markers.
745
fe12fd5b
VS
7462011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * util/ieee1275/ofpath.c (check_sas): Close fd.
749 (main): Free of_path.
750 Reported by: David Volgyes <dvolgyes>.
751
03147f46
VS
7522011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
755 Reported by: David Volgyes <dvolgyes>.
756
cad3237f
VS
7572011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
758
759 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
760 file after stat.
761 Reported by: David Volgyes <dvolgyes>.
762
13548d26
VS
7632011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
766
767 Reported by: David Volgyes <dvolgyes>.
768
e061a1b5
VS
7692011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
772 Prevent memory leak.
773
1abe47dc
VS
7742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
777 (main): Close file.
e061a1b5 778 Reported by: David Volgyes <dvolgyes>.
1abe47dc 779
fbc62666
VS
7802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
783 to continue if allocation is failed.
784
785 Reported by: David Volgyes <dvolgyes>.
786
e98c83e9
DV
7872011-06-23 David Volgyes <dvolgyes>
788
789 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
790 dereference.
791
a199a8cd
VS
7922011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
793
794 Fix spurious warning.
795
796 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
797 (acorn_partition_map_find): Use .bin member.
798
e2d1dba0
VS
7992011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
802 /dev/root as a valid device.
803
8a5d6919
JM
8042011-06-23 Jim Meyering <meyering@redhat.com>
805
e2d1dba0
VS
806 Avoid NULL deref in grub_device_open.
807
8a5d6919
JM
808 * grub-core/kern/device.c (grub_device_open): Don't dereference
809 a NULL pointer upon failed grub_env_get.
810
f7db6f4a
VS
8112011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
812
813 Support non-512B sectors and agglomerate reads.
814
815 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
816 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
817 (disk_io_guid): Removed.
818 (make_devices): Locate solely by BlockIO.
819 (grub_efidisk_open): Fill log_sector_size and total_sectors.
820 (grub_efidisk_read): Use read_blocks.
821 (grub_efidisk_write): Use write_blocks.
822 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
823 log_sector_size.
824 (get_safe_sectors): Handle non-512B sectors.
825 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
826 sectors.
827 (grub_biosdisk_write): Handle non-512B sectors.
828 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
829 (grub_scsi_read): Remove special non-512B block handling (now handled
830 one level up).
831 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
832 and do sanity checks.
833 (grub_disk_adjust_range): Handle non-512B sectors.
834 (transform_sector): New function.
835 (grub_disk_read_small): Likewise.
836 (grub_disk_read): Rewritten.
837 (grub_disk_write): Handle non-512B sectors.
838 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
839 log_sector_size.
840 (open_device): Use log_sector_size.
841 (grub_util_biosdisk_read): Likewise.
842 (grub_util_biosdisk_write): Likewise.
843 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
844 non-512B sectors.
845 (pc_partition_map_embed): Likewise.
846 * include/grub/disk.h (grub_disk): New field log_sector_size.
847 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
848 (GRUB_DISK_CACHE_BITS): Increased to 6.
849 * util/grub-fstest.c (fstest): New command testload.
850 (argp_parser): Likewise.
851
881ac815
RM
8522011-06-16 Robert Millan <rmh@gnu.org>
853
854 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
855 `ata' driver on kernel of FreeBSD 9.
856
857 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
858 (get_ataraid_disk_name): New functions.
859 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
860 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
861 get_ataraid_disk_name() and get_ada_disk_name().
862
1e9aef7d
CW
8632011-06-13 Colin Watson <cjwatson@ubuntu.com>
864
865 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
866 input format.
867
351c7c8a
CW
8682011-05-29 Colin Watson <cjwatson@ubuntu.com>
869
870 * docs/grub.texi (Obtaining and Building GRUB): Substitute
871 `ftp.gnu.org' for `alpha.gnu.org'.
872
6b4e6430
CW
8732011-05-27 Colin Watson <cjwatson@ubuntu.com>
874
875 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
876 partitions under /dev/disk/by-id/.
877
c64db050
CW
8782011-05-27 Colin Watson <cjwatson@ubuntu.com>
879
880 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
881 after ten consecutive open failures. Scanning all the way up to
882 10000 is excessive and can cause serious performance problems in
883 some configurations.
884 Fixes Ubuntu bug #787461.
885
245f4aba
VS
8862011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
889 opening new one.
890
f767c929
VS
8912011-05-21 Colin Watson <cjwatson@ubuntu.com>
8922011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
893
894 Don't stat devices unless we have to.
895
896 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
897 dir == /dev/mapper.
898 (grub_guess_root_device): Use already known os_dev if possible.
899 * grub-core/kern/emu/hostdisk.c
900 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
901 if device is known to be a dm one.
902
f35fa3a6
CW
9032011-05-20 Colin Watson <cjwatson@ubuntu.com>
904
905 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
906 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
907 Reported by: Pawel Tecza.
908
9a79fcf2
VS
9092011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
912 (lsefisystab): Likewise.
913 (lssal): Likewise.
914 (lsefimmap): Likewise.
915 (hdparm): Enable on qemu-mips.
916 (setjmp): Add ia64 nodist.
917 (serial): Simplify tags.
918
63e3eea9
CW
9192011-05-18 Colin Watson <cjwatson@ubuntu.com>
920
921 * Makefile.util.def (grub-ofpathname): Install manual page.
922
09728256
CW
9232011-05-18 Colin Watson <cjwatson@ubuntu.com>
924
925 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
926
8b63a142
CW
9272011-05-18 Colin Watson <cjwatson@ubuntu.com>
928
929 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
930
e775d8ed
VS
9312011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
934 into dprintf.
935
bf947d36
VS
9362011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
937
938 Use full 64-bit division.
939
940 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
941 (grub_divmod64): ... this.
942 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
943 version.
944
b84f26c5
CW
9452011-05-18 Colin Watson <cjwatson@ubuntu.com>
946
947 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
948 `source'.
949
5626056f
CW
9502011-05-18 Colin Watson <cjwatson@ubuntu.com>
951
952 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
953 to avoid accidents when debugging with 'sh -x'.
954 * grub-core/gensyminfo.sh.in: Likewise.
955 * tests/example_scripted_test.in: Likewise.
956 * tests/grub_cmd_regexp.in: Likewise.
957 * tests/grub_script_blanklines.in: Likewise.
958 * tests/grub_script_dollar.in: Likewise.
959 * tests/grub_script_expansion.in: Likewise.
960 * tests/grub_script_final_semicolon.in: Likewise.
961 * tests/partmap_test.in: Likewise.
962 * tests/util/grub-shell-tester.in: Likewise.
963 * tests/util/grub-shell.in: Likewise.
964
e2965f4a
CW
9652011-05-18 Colin Watson <cjwatson@ubuntu.com>
966
967 Move gfxmenu color handling to video, so that gfxterm can use it
968 too.
969
970 * grub-core/gfxmenu/named_colors.c: Move to ...
971 * grub-core/video/colors.c: ... here. Rename
972 grub_gui_get_named_color to grub_video_get_named_color.
973 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
974 * grub-core/video/colors.c (my_isxdigit): ... here.
975 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
976 Move to ...
977 * grub-core/video/colors.c (parse_hex_color_component): ... here.
978 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
979 to ...
980 * grub-core/video/colors.c (grub_video_parse_color): ... here.
981
982 * include/grub/gui.h (grub_gui_color_t): Move to ...
983 * include/grub/video.h (grub_video_rgba_color_t): ... here.
984 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
985 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
986 * include/grub/gui.h (grub_gui_map_color): Move to ...
987 * include/grub/video.h (grub_video_map_rgba_color): ... here.
988 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
989 to ...
990 * include/grub/video.h (grub_video_get_named_color): ... here.
991 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
992 * include/grub/video.h (grub_video_parse_color): ... here.
993
994 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
995 video/colors.c.
996 (gfxmenu): Remove gfxmenu/named_colors.c.
997 (video) [videomodules]: Add video/colors.c.
998
999 Add a background_color command.
1000
1001 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
1002 function.
1003 (GRUB_MOD_INIT): Register background_color command.
1004 (GRUB_MOD_FINI): Unregister background_color command.
1005 (redraw_screen_rect): Allow blend/replace of text layer to be
1006 controlled independently from whether there is a background bitmap.
1007 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
1008 changing bitmap.
1009
1e4b4390
VS
10102011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1011
26618ff0
VS
1012 Patch BPB in ntldr and chainloader --bpb.
1013
1e4b4390
VS
1014 * grub-core/fs/fat.c: Include grub/fat.h.
1015 (grub_fat_bpb): Moved to ...
1016 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
1017 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
1018 grub/ntfs.h.
1019 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
1020 Moved from here...
1021 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
1022 here.
1023 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
1024 New function.
1025 (grub_chainloader_cmd): Patch BPB if --bpb is given.
1026 (GRUB_MOD_INIT): Show --bpb.
1027 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
1028 * grub-core/normal/main.c (features): New variable.
1029 (GRUB_MOD_INIT): Set feature_* variables.
1030 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
1031 proto.
1032 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
1033
cf02731e
VS
10342011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
1037 for cleanness.
1038
e3a1073f
VS
10392011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 FreeDOS direct loading support.
1042
1043 * docs/grub.texi (Supported OS): Add FreeDOS.
1044 * grub-core/Makefile.core.def (freedos): New module.
1045 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
1046 variable.
1047 (grub_relocator16_boot): Handle %ebx.
1048 * grub-core/lib/i386/relocator16.S: Likewise.
1049 * grub-core/loader/i386/pc/freedos.c: New file.
1050
05caa461
VS
10512011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 Long Linux command line support.
1054
1055 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1056 (maximal_cmdline_size): New variable.
1057 (allocate_pages): Use maximal_cmdline_size.
1058 (grub_cmd_linux): Set and use maximal_cmdline_size.
1059 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1060 (allocate_pages): Use maximal_cmdline_size.
1061 (grub_cmd_linux): Set and use maximal_cmdline_size.
1062 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
1063 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
1064 and cmdline_size.
1065
a2491e23
VS
10662011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10672011-05-18 Colin Watson <cjwatson@ubuntu.com>
1068
1069 Improve devmapper support
1070
1071 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
1072 (grub_util_is_lvm): New function.
1073 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
1074 than lvm if not dmraid.
1075 Handle mapped md nodes.
1076 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
1077 (grub_util_device_is_mapped): ... this. Make always available. All users
1078 updated.
1079 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
1080 (convert_system_partition_to_system_disk): Handle lvm, mpath and
1081 dmraid nodes.
1082 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
1083
6ad6223e
VS
10842011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
1087
1088 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
1089 * grub-core/modinfo.sh.in: New file.
1090 * grub-core/Makefile.core.def (modinfo.sh): New script.
1091 * util/grub-mknetdir.in: Use modinfo.sh.
1092 * util/grub-mkrescue.in: Likewise.
1093
543a8f6e
VS
10942011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1097 Fix potential usage of Elf32 instead of Elf64 when compiling on
1098 32-bit architecture. Add endianness macros while on it.
1099
4959e111
VS
11002011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 Use mipsel- rather than mips- in directories involving mipsel ports to
1103 allow both endiannesses coexist.
1104
1105 * configure.ac: proparate target_cpu=mipsel rather than resetting to
1106 mips. All conditions adjusted.
1107 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
1108 variable.
1109 * util/grub-install.in: Adjust conditions to take renaming into account.
1110 * util/grub-mkimage.c (image_targets): Likewise. New target
1111 mips-qemu_mips-elf for bigendian mips.
1112
35341bbc
VS
11132011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 Avoid unnecessary copying on MIPS.
1116
1117 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
1118 early if src == dest.
1119 * util/grub-mkimage.c (generate_image): Arange for src == dest if
1120 compression is none.
1121
b772baed
VS
11222011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 Reduce memory footprint on SGI by putting modules before the kernel
1125 as opposed to after.
1126
1127 * grub-core/Makefile.core.def (kernel): Increase linking address.
1128 (none_decompress): Likewise.
1129 (xz_decompress): Likewise.
1130 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
1131 address.
1132 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
1133 layout change.
1134 (grub_arch_modules_addr): New function.
1135 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
1136 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
1137 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
1138 here.
1139 * grub-core/kern/mips/startup.S (total_size): Rename to ...
1140 (grub_total_modules_size): ... this. Make global.
1141 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
1142 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
1143 New definition.
1144 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
1145 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
1146 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
1147 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
1148 * util/grub-mkimage.c (image_target_desc): New flag
1149 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
1150 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
1151 (generate_image): Handle images with modules before kernel.
1152
566a1917
VS
11532011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 Prevent potential loss of memory map by overwrite on qemu-mips.
1156
1157 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1158 Save ram size in $s4.
1159 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
1160 All users changed to grub_arch_memsize.
1161 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
1162 Loongson.
1163 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
1164 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
1165 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
1166 external variable.
1167
5d420cd9
CW
11682011-05-17 Colin Watson <cjwatson@ubuntu.com>
1169
1170 * .bzrignore: Remove grub-dumpbios.
1171
d064b830
CW
11722011-05-17 Colin Watson <cjwatson@ubuntu.com>
1173
1174 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
1175 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
1176 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
1177 existing options which append).
1178 * docs/grub.texi (Simple configuration): Document new options.
1179 Reported by: Ian Jackson. Fixes Debian bug #617538.
1180
3ca2b466
CW
11812011-05-17 Colin Watson <cjwatson@ubuntu.com>
1182
1183 * util/grub-fstest.c (cmd_cat): New function.
1184 (fstest): Handle CMD_CAT.
1185 (options): Add cat.
1186 (argp_parser): Handle cat.
1187
24c9143a
CW
11882011-05-17 Colin Watson <cjwatson@ubuntu.com>
1189
1190 * Makefile.util.def (grub-bin2h): Don't install.
1191 * docs/man/grub-bin2h.h2m: Remove.
1192
90f7ac19
VS
11932011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
1196 place.
1197
8d4a5178
VS
11982011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 Reenable qemu-mips port.
1201
1202 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
1203 Fix small arc bug while on it.
1204 * gentpl.py: Handle qemu_mips.
1205 * grub-core/Makefile.am: Likewise.
1206 * grub-core/Makefile.core.def: Likewise.
1207 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
1208 inappropriate includes.
1209 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
1210 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
1211 * grub-core/kern/main.c (grub_modules_get_end)
1212 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
1213 * grub-core/kern/mips/qemu-mips: Moved to ..
1214 * grub-core/kern/mips/qemu_mips: ... this.
1215 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
1216 (grub_machine_init): Call terminfo_init and serial_init.
1217 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
1218 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1219 New variable.
1220 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
1221 parameter passing.
1222 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
1223 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
1224 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1225 * include/grub/mips/qemu_mips/cmos.h: New file.
1226 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
1227 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
1228 Removed.
1229 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
1230 Use correct mips-style address.
1231 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
1232 (GRUB_TICKS_PER_SECOND): Removed.
1233 (grub_get_rtc): Likewise.
1234 (grub_cpu_idle): Likewise.
1235 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
1236 New definition.
1237 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
1238 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
1239 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
1240 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
1241 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
1242 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
1243 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
1244 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
1245
400b9371
VS
12462011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 SGI ARCS port.
1249
1250 * Makefile.util.def (libgrubmods.a): Add dvh.c.
1251 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
1252 platforms.
1253 * configure.ac: New target mips-arc.
1254 * gentpl.py: Likewise.
1255 * grub-core/Makefile.am: Likewise.
1256 * grub-core/Makefile.core.def: Likewise.
1257 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
1258 (none_decompress): Likewise.
1259 (lsdev): New module.
1260 (datetime): Use lib/arc/datetime.c on ARC.
1261 (part_dvh): New module.
1262 * grub-core/commands/arc/lsdev.c: New file.
1263 * grub-core/disk/arc/arcdisk.c: Likewise.
1264 * grub-core/kern/mips/arc/init.c: Likewise.
1265 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
1266 aligned addresses.
1267 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
1268 support.
1269 (grub_arch_dl_relocate_symbols): Likewise.
1270 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
1271 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
1272 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
1273 platforms.
1274 * grub-core/lib/arc/datetime.c: New file.
1275 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
1276 pci.h on non-loongson.
1277 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
1278 (grub_linux_boot): Set unused registers to 0.
1279 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
1280 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
1281 * grub-core/mmap/mips/uppermem.c: ...here.
1282 * grub-core/partmap/dvh.c: New file.
1283 * grub-core/term/arc/console.c: Likewise.
1284 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
1285 (grub_terminfo_set_current): Add terminal "arc".
1286 (grub_terminfo_readkey): Support ARC sequences.
1287 * include/grub/arc/arc.h: New file.
1288 * include/grub/arc/console.h: Likewise.
1289 * include/grub/disk.h (grub_disk_dev_id): Add
1290 GRUB_DISK_DEVICE_ARCDISK_ID.
1291 * include/grub/mips/arc/kernel.h: New file.
1292 * include/grub/mips/arc/memory.h: Likewise.
1293 * include/grub/mips/arc/time.h: Likewise.
1294 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
1295 * include/grub/mips/kernel.h (grub_halt): ... here.
1296 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
1297 here...
1298 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
1299 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
1300 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
1301 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
1302 proto.
1303 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
1304 from here ...
1305 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
1306 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
1307 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
1308 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
1309 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
1310 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
1311 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
1312 (grub_phys_addr_t): Moved from here ...
1313 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
1314 (grub_vtop): Moved from here ...
1315 * include/grub/mips/memory.h (grub_vtop): ... here.
1316 (grub_map_memory): Moved from here ...
1317 * include/grub/mips/memory.h (grub_map_memory): ... here.
1318 (grub_unmap_memory): Moved from here ...
1319 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
1320 (grub_machine_mmap_iterate): Moved from here ...
1321 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
1322 (grub_mmap_get_lower): Moved from here ...
1323 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
1324 (grub_mmap_get_upper): Moved from here ...
1325 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
1326 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
1327 here ...
1328 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
1329 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
1330 here ...
1331 * include/grub/mips/time.h (grub_get_rtc): ... here.
1332 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
1333 here ...
1334 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
1335 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
1336 here ...
1337 * include/grub/mips/time.h (grub_cpu_idle): ... here.
1338 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
1339 definition.
1340 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
1341 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
1342 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
1343 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
1344 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
1345 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
1346 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
1347 (GRUB_MACHINE_LINK_ADDR): Likewise.
1348 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
1349 to 6.
1350 * util/grub-install.in: Run dvhtool on ARC.
1351 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 1352 (generate_image): Handle ECOFF output for mips-arc.
400b9371 1353
c8ecc840
VS
13542011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
1357 blocks.
1358
153a4b55
VS
13592011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
1362 after enabling port.
1363
ff44d107
VS
13642011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 Skip incorrect USB devices.
1367
1368 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
1369 configcnt == 0.
1370 * include/grub/usb.h (grub_usb_err_t): New enum value
1371 GRUB_USB_ERR_BADDEVICE.
1372
638dbe4f
VS
13732011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 Fuloong video init support.
1376
1377 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
1378 well.
1379 (grub_vga_read_arx): New function.
1380 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
1381 definition.
1382 (framebuffer): New members io, mmioptr and mmiobase.
1383 (read_sis_cmd): New function.
1384 (write_sis_cmd): Likewise.
1385 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
1386 rather than 640x400.
1387 * grub-core/video/sis315_init.c: New file.
1388
c3fc520c
VS
13892011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
1392 non-loongson.
1393 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
1394 to grub_dl_register_symbol.
1395
67b1e5c9
VS
13962011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 Fix compilation errors.
1399
1400 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
1401 potentially unused.
1402 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
1403 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
1404 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
1405 to loongson machines.
1406
b756f75f
VS
14072011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 Several FS mtime support.
1410
1411 * grub-core/fs/affs.c (grub_affs_time): New struct.
1412 (grub_affs_file): New field mtime.
1413 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
1414 type. Removed 'size'. New field 'di'. All users updated.
1415 (grub_affs_mount): Simplify checsum checking.
1416 (grub_affs_iterate_dir): New helper grub_affs_create_node.
1417 (grub_affs_dir): Handle mtime.
1418 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
1419 (grub_cpio_dir): Likewise.
1420 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
1421 (grub_hfs_filerec): New field mtime.
1422 (grub_hfs_dir): Handle mtime.
1423 (grub_hfs_mtime): New function.
1424 (grub_hfs_fs): Register grub_hfs_mtime.
1425 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
1426 (grub_iso9660_dir): New field mtime.
1427 (grub_fshelp_node): New field dirent.
1428 (iso9660_to_unixtime): New function.
1429 (iso9660_to_unixtime2): Likewise.
1430 (grub_iso9660_read_symlink): Use node->dirent.
1431 (grub_iso9660_iterate_dir): Likewise.
1432 (grub_iso9660_dir): Set mtime.
1433 (grub_iso9660_mtime): New function.
1434 (grub_iso9660_fs): Register grub_iso9660_mtime.
1435 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
1436 (grub_jfs_inode): New fields atime, ctime and mtime.
1437 (grub_jfs_dir): Set mtime.
1438 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
1439 * grub-core/fs/ntfs.c (list_file): Set mtime.
1440 (grub_ntfs_dir): Likewise.
1441 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
1442 (grub_reiserfs_iterate_dir): Set mtime.
1443 (grub_reiserfs_dir): Likewise.
1444 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
1445 (grub_fshelp_node): Likewise.
1446 (grub_sfs_iterate_dir): Set mtime.
1447 (grub_sfs_dir): Likewise.
1448 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
1449 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
1450 (grub_xfs_inode): New fields atime, mtime, ctime.
1451 (grub_xfs_dir): Set mtime.
1452 * include/grub/datetime.h (grub_datetime2unixtime): New function.
1453 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
1454 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
1455
1456 Support UDF symlinks.
1457
1458 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
1459 (grub_ufs_read_symlink): New function. All users updated.
1460
1461 Check amiga partmap checksum.
1462
1463 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
1464 (grub_amiga_partition): Likewise.
1465 (amiga_partition_map_checksum): New function.
1466 (amiga_partition_map_iterate): Check checksum.
1467
5470225d
VS
14682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 ROMFS support.
1471
1472 * Makefile.util.def (libgrubmods.a): Add romfs.
1473 * grub-core/Makefile.core.def (romfs): New module.
1474 * grub-core/fs/romfs.c: New file.
1475
d4680a35
VS
14762011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 Squashfs v4 support.
1479
1480 * Makefile.util.def (libgrubmods.a): Add squash4.
1481 * grub-core/Makefile.core.def (squash4): New module.
1482 * grub-core/fs/squash4.c: New file.
1483 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
1484 disk_input_start, disk_input.
1485 (get_byte): Handle disk_input.
1486 (grub_zlib_disk_read): New function.
1487 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
1488
bcb18e74
FZ
14892011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14902011-05-15 Feiran Zheng <famcool@gmail.com>
1491
1492 * Makefile.util.def (libgrubmods.a): Add minix3.
1493 * grub-core/Makefile.core.def (minix3): New module.
1494 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
1495 (GRUB_MINIX_BSIZE): Removed.
1496 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
1497 (grub_minix_ino_t): New type.
1498 (grub_minix_le_to_cpu_ino): New macro.
1499 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
1500 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
1501 (grub_minix_data): New field block_size.
1502 (grub_minix_read_file): Handle 64-bit correctly.
1503 * grub-core/fs/minix3.c: New file.
1504
32297d5f
TG
15052011-05-15 Tristan Gingold <gingold@free.fr>
15062011-05-15 Robert Millan <rmh.grub@aybabtu.com>
15072011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 IA64 support.
1510
1511 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
1512 * configure.ac: Add ia64-efi target.
1513 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
1514 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
1515 * gentpl.py: Add ia64_efi platform.
1516 Rename x86_efi to efi and Add ia64-efi. All users updated.
1517 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
1518 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
1519 Remove kern/generic/rtc_get_time_ms.c on EFI.
1520 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
1521 kern/ia64/dl_helper.c on ia64-efi.
1522 Add kern/emu/cache.c on emu.
1523 (linux): Use on loader/ia64/efi/linux.c on ia64.
1524 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
1525 whether symbol is a function.
1526 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
1527 (grub_symbol): New field 'isfunc'.
1528 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
1529 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
1530 (grub_dl_load_segments): Place all sections into the same region.
1531 [__ia64__]: Create trampolines and got.
1532 [GRUB_MACHINE_EMU]: Call mprotect.
1533 (grub_dl_resolve_symbols): Resolve symbol type as well.
1534 [__ia64__]: Create function descriptors.
1535 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
1536 (grub_rtc_get_time_ms): ... this. Expressions simplified.
1537 (grub_get_rtc): New function.
1538 * grub-core/kern/emu/cache.c [__ia64__]: New file.
1539 * grub-core/kern/emu/cache.S: Renamed to ...
1540 * grub-core/kern/emu/cache_s.S: ... this.
1541 [__ia64__]: Add a nop.
1542 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
1543 [__ia64__]: New function.
1544 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
1545 * grub-core/kern/ia64/dl.c: New file.
1546 * grub-core/kern/ia64/dl_helper.c: Likewise.
1547 * grub-core/kern/ia64/efi/init.c: New file.
1548 * grub-core/kern/ia64/efi/startup.S: Likewise.
1549 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
1550 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
1551 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
1552 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
1553 * grub-core/loader/ia64/efi/linux.c: New file.
1554 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
1555 (GRUB_MOD_DEP): Likewise.
1556 (grub_dl) [__ia64__]: New fields got and tramp.
1557 (grub_dl): New field 'base'.
1558 (grub_dl_register_symbol): New argument isfunc. All users updated.
1559 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
1560 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
1561 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
1562 (grub_ia64_dl_get_tramp_got_size): New proto.
1563 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
1564 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
1565 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
1566 * include/grub/efi/api.h: Skip call wrappers on ia64.
1567 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
1568 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
1569 * include/grub/elf.h (ELF_ST_INFO): New definition.
1570 * include/grub/ia64/efi/kernel.h: New file.
1571 * include/grub/ia64/efi/memory.h: Likewise.
1572 * include/grub/ia64/efi/time.h: Likewise.
1573 * include/grub/ia64/kernel.h: Likewise.
1574 * include/grub/ia64/setjmp.h: Likewise (from glibc).
1575 * include/grub/ia64/time.h: New file.
1576 * include/grub/ia64/types.h: Likewise.
1577 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
1578 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
1579 New protos.
1580 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
1581 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
1582 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
1583 * util/grub-mkimage.c (image_target_desc): New field pe_target.
1584 All users updated.
1585 (EFI64_HEADER_SIZE): New definition. All users updated.
1586 (image_targets): Add ia64-efi.
1587 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
1588 jumpers_addr. All users updated.
1589 Create function descriptors.
1590 (count_funcs): New function.
1591 (unaligned_uint32): New struct.
1592 (MASK20): New definition.
1593 (MASK19): Likewise.
1594 (MASKF21): Likewise.
1595 (add_value_to_slot_20b): New function.
1596 (add_value_to_slot_21_real): Likewise.
1597 (add_value_to_slot_21): Likewise.
1598 (ia64_kernel_trampoline): New struct.
1599 (nopm): New variable.
1600 (jump): Likewise.
1601 (make_trampoline): New function.
1602 (relocate_addresses): Handle ia64.
1603 (make_reloc_section): Likewise.
1604 (load_image): Likewise.
1605
983b414d
VS
16062011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
1609 warning. Move variables before code while on it.
1610
5d063cdc
VS
16112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 Fuloong support.
1614
1615 * configure.ac: Rename yeeloong platform to loongson. All users updated.
1616 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
1617 * grub-core/boot/mips/loongson/fuloong.S: New file.
1618 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
1619 Explicitly init CS5536.
1620 [FULOONG]: Don't use serial until CS5536 is available.
1621 Set GPIO based on dumps.
1622 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
1623 [FULOONG]: Handle GPIO and memory controller differences.
1624 Parse machine type in $a2.
1625 * grub-core/boot/mips/startup_raw.S: Determine and save the
1626 architecture.
1627 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
1628 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
1629 init on architecture type.
1630 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
1631 SIS315E. Don't init at_keyboard on fuloong.
1632 (grub_halt): Support Fuloong.
1633 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
1634 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
1635 (loongson_machtypes): New array.
1636 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
1637 type.
1638 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
1639 config. All users updated. Handle CS5536 serial.
1640 * grub-core/term/serial.c (grub_serial_register): Conditionalise
1641 default port on machine type. Register serial as inactive.
1642 * grub-core/video/sis315pro.c: New file.
1643 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
1644 definition.
1645 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
1646 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
1647 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
1648 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
1649 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
1650 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
1651 to ...
1652 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
1653 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
1654 definition.
1655 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
1656 (grub_arch_machine): New extern var.
1657 * include/grub/mips/loongson/serial.h
1658 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
1659 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
1660 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
1661 (GRUB_MACHINE_SERIAL_PORT0): ... this.
1662 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
1663 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
1664 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
1665 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
1666 * include/grub/term.h (grub_term_register_input_inactive): New inline
1667 function.
1668 (grub_term_register_output_inactive): Likewise.
1669 * include/grub/video.h (grub_video_driver_id): New value
1670 GRUB_VIDEO_DRIVER_SIS315PRO.
1671 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
1672 New field "names". All users updated.
1673 New field value IMAGE_FULOONG_FLASH.
1674 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
1675
6ada82d1
JU
16762011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
1677
1678 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
1679 and add some clarification.
1680
90c571a4
VS
16812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
1684 platforms if kernel is compressed.
1685
de04eecf
VS
16862011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
1689 unused modules since currently referrence counter isn't reliable and
1690 there isn't much memory to recover there anyway.
1691
57688121
VS
16922011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1693
1694 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
1695 rather than resetting it to allow modules to reference themselves
1696 in init.
1697
3d2c7e35
VS
16982011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
1701 counter on dependencies since grub_dl_unref already handles this.
1702
b25db218
VS
17032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
1706 on error if not already done.
1707
25a45338
VS
17082011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 Fix few potential memory misusage.
1711
1712 * grub-core/font/font.c (load_font_index): Don't free char_index to
1713 avoid double free.
b25db218
VS
1714 (grub_font_load): Zero-fill font at alloc for safety.
1715 Close file on error.
1716 (free_font): Free bmp_idx.
25a45338 1717
0cac83df
VS
17182011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * docs/grub.texi (Installation): Fix several outdated claims.
1721
2217a143
VS
17222011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 Handle module_license on windows.
1725
1726 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
1727 sections shifted.
1728 (insert_string): Make argument const char * instead of char *.
1729 (write_section_data): Handle long section names.
1730 Handle module_license.
1731
d4de6b01
VS
17322011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
1735 handle class-free menuentries.
1736 (grub_normal_add_menu_entry): Add a check to be sure.
1737
4c2a3b43
VS
17382011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
1741 PgUp and PgDown.
1742
85c6210f
VS
17432011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * configure.ac: Bump version to 1.99.
1746
36084912
VS
17472011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 Give ATA device a bit more time on first try in order to allow disks
1750 to spin up.
1751
1752 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
1753 if dev->present is 1. Reset dev->present on failure.
1754 (grub_ata_device_initialize): Set dev->present to 1.
1755 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
1756 (grub_ata_device): New member 'present'.
1757
bda0e219
VS
17582011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 * util/grub-mkimage.c (generate_image): Update hash.
1761
19e1c41b
VS
17622011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 Flush caches on DMA memory.
1765
1766 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
1767 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
1768 (grub_dma_free): Likewise.
1769 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
1770
91bbcc0c
VS
17712011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
1774 to avoid asm treating ld and sd as macros.
1775
60ddfad3
VS
17762011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
1779 decompressor.
1780
a298aa04
VS
17812011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
1784 grub_decompress_core since later would fail if grub_decompress_core
1785 is too far.
1786
9b44feca
VS
17872011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
1790 R_MIPS_JALR since it's used by newer compiler.
1791
56dbe7b4
VS
17922011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
1795
52856af2
VS
17962011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
1799 file_path to 0 for surety.
1800 (grub_chainloader_boot): Set exit_data to NULL.
1801 Unset the loader once done.
1802 (grub_cmd_chainloader): Fix confusing error message if file is empty.
1803
9c9bfc6d
VS
18042011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1805
1806 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
1807 unknown key into a dprintf.
1808
dd94a3df
VS
18092011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
1812 on first non-existant partition.
1813
fa68d99c
VS
18142011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
1817 openning fails.
1818 Reported by: Mark Korenberg.
1819
157effb7
VS
18202011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
1823 overflow.
1824
ea75312f
VS
18252011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * util/grub-mkimage.c (main): Explicitely flush and sync the output
1828 before closing to ensure that it will be readable by grub-setup.
1829
072b5d31
VS
18302011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
1833 (devpath_1): Use MAKE_PIWG_PATH.
1834 (devpath_2): Likewise.
1835 (devpath_3): Likewise.
1836 (devpath_4): Likewise.
1837 (devpath_5): Likewise.
1838 (devpath_6): Likewise.
1839
1840 The appleldr.mod was checked that to be binary identical to previous
1841 version.
1842
7fae0051
Z
18432011-05-05 Zach <mikezackles>
1844
1845 Support 2010 Macbooks.
1846
1847 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
1848 (devs): Add devpath_6.
1849
7c515bee
VS
18502011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
1853 /dev/random. /dev/urandom is good enough for our purposes (salting).
1854
ed660bd8
VS
18552011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
1858
ee5614b7
VS
18592011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
1862 hexadecimal.
1863
664889a6
VS
18642011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
1867 and not 0 on failure.
1868
bd405bbc
CW
18692011-05-03 Colin Watson <cjwatson@ubuntu.com>
1870
1871 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
1872 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
1873 disk; otherwise grub_fs_probe will not fall back to the next
1874 filesystem.
1875 (grub_pxefs_open): Likewise, for consistency.
1876 Reported and tested by: Ezekiel Grave.
1877
4ebff753
CW
18782011-05-03 Colin Watson <cjwatson@ubuntu.com>
1879
1880 * tests/partmap_test.in: Don't hardcode path to parted.
1881 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
1882
8f942553
CW
18832011-05-01 Colin Watson <cjwatson@ubuntu.com>
1884
1885 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
1886 of `ls' to find out which devices are available.
1887
3c62402d
VS
18882011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
1891 than source address for efi mmap buffer.
1892
723f63f2
VS
18932011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
1896 wrong action on non-detecting the magic.
1897
68797f92
VS
18982011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
1901 already supplied by another part of the module (fixes compilation on
1902 FreeBSD).
1903
6be8715d
VS
19042011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
1907 match the one used by mdadm.
1908
e91dba5b
CW
19092011-04-21 Colin Watson <cjwatson@ubuntu.com>
1910
1911 * po/README: Add instructions for creating po/LINGUAS.
1912
c85140b3
CW
19132011-04-21 Colin Watson <cjwatson@ubuntu.com>
1914
1915 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
1916 #551428.
1917
1918 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
1919 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
1920 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
1921 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
1922 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
1923 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
1924 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
1925 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
1926 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
1927 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
1928 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
1929 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
1930 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
1931 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
1932 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
1933 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
1934 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
1935 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
1936 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
1937 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
1938 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
1939 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
1940
92051871
CW
19412011-04-21 Colin Watson <cjwatson@ubuntu.com>
1942
1943 * grub-core/kern/emu/getroot.c
1944 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
1945 test that was incorrectly reintroduced in r3214.
1946 Reported by: Ian Dall. Fixes Savannah bug #33133.
1947
b13f79a4
CW
19482011-04-21 Colin Watson <cjwatson@ubuntu.com>
1949
1950 Fix stack pointer handling in 16-bit relocator.
1951
1952 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
1953 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
1954 Fixes Ubuntu bug #683904.
1955
9b710a88
VS
19562011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * configure.ac: Bump version to 1.99~rc2.
1959
d97e7b59
VS
19602011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
1963 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
1964 * grub-core/lib/x86_64/setjmp.S: Likewise.
1965 * grub-core/lib/mips/setjmp.S: Likewise.
1966 * grub-core/lib/powerpc/setjmp.S: Likewise.
1967 * grub-core/lib/sparc64/setjmp.S: Likewise.
1968
0624551c
VS
19692011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
1972 * grub-core/lib/efi/datetime.c: Likewise.
1973
e8f28d4c
VS
19742011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
1977 New function.
1978 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
1979 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
1980 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
1981
bba79a15
VS
19822011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
1985 bitmap.
1986 (grub_gfxterm_term_init): Likewise.
1987
abc474ef
VS
19882011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 Take into account the decorations the computing menu entry width.
1991
1992 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
1993 (grub_gfxmenu_create_box): Register get_border_width.
1994 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
1995 if available.
1996 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
1997 get_border_width.
1998
e74b3947
EP
19992011-04-18 Endres Puschner <code@e7p.de>
2000
2001 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
2002 Don't skip first class.
2003
34faa595
VS
20042011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
2007 chunks.
2008 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
2009
93a777e3
VS
20102011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 Complete 64-bit division support.
2013
2014 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
2015 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
2016 * include/grub/misc.h (grub_divmod64): Rename to ...
2017 (grub_divmod64_full): ... this.
2018 (grub_divmod64): New inline function.
2019
a5102d94
VS
20202011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * util/grub-mkimage.c (generate_image): Add forgotten comma.
2023
f3fb7b36
VS
20242011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
2027 performing the necessary test.
2028
9ac718b0
VS
20292011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
2032 (kfreebsd.elf): Likewise.
2033 (pc-chainloader.elf): Likewise.
2034 (ntldr.elf): Likewise.
2035
50d2cc5a
VS
20362011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 Identify RAID by its UUID rather than (guessed) name.
2039
2040 * grub-core/disk/raid.c (ascii2hex): New function.
2041 (grub_raid_open): Accept mduuid/%s specification.
2042 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
2043 (get_mdadm_uuid): ... this.
2044 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
2045
e03f7bea
VS
20462011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
2049 to negative size.
2050
e74c3112
CW
20512011-04-13 Colin Watson <cjwatson@ubuntu.com>
2052
2053 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
2054 btrfs subvolume.
2055 * util/grub.d/20_linux_xen.in: Likewise.
2056
78fa584f
CW
20572011-04-13 Colin Watson <cjwatson@ubuntu.com>
2058
2059 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
2060 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
2061
2062 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
2063 Build a list of relevant visible mounts using the mnt_id and
2064 parent_mnt_id fields, and then scan that list at the end.
2065
9d5f8162
CW
20662011-04-12 Colin Watson <cjwatson@ubuntu.com>
2067
2068 * docs/grub.texi (normal): New section.
2069 (normal_exit): New section.
2070 (Embedded configuration): Add reference to normal.
2071 (GRUB only offers a rescue shell): Likewise.
2072 * docs/grub-dev.texi (Error Handling): Fix typo.
2073
09a9d66f
CW
20742011-04-12 Colin Watson <cjwatson@ubuntu.com>
2075
2076 * NEWS: Drop obsolete entry about probe-only btrfs support.
2077
0c676933
CW
20782011-04-12 Colin Watson <cjwatson@ubuntu.com>
2079
2080 * util/import_gcry.py: Fix typo.
2081
ec9f5e0d
VS
20822011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * NEWS: Add btrfs support.
2085
fe6b2cba
VS
20862011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20872011-04-11 Colin Watson <cjwatson@ubuntu.com>
2088
2089 BtrFS support. Written by me (Vladimir) with important bugfixes and
2090 even more important testing by Colin.
2091
2092 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
2093 * grub-core/Makefile.core.def (btrfs): Add crc.c.
2094 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
2095 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
2096 mem_input_off and mem_input. All users updated to accept in-RAM input.
2097 (gzio_seek): New function.
2098 (test_zlib_header): Likewise.
2099 (grub_gzio_read): Likewise.
2100 (grub_zlib_decompress): Likewise.
2101 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
2102 Accept partial and non-virtual mounts.
2103 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
2104 avoid receiving /dev/dm-X as device.
2105 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
2106 Handle bind and partial mounts.
2107 * grub-core/lib/crc.c: New file.
2108 * include/grub/deflate.h: Likewise.
2109 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
2110 proto.
2111 * include/grub/lib/crc.h: New file.
2112
e745cf0c
VS
21132011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 Implement automatic module license checking according to new GNU
2116 guidelines.
2117
2118 * grub-core/kern/dl.c (grub_dl_check_license): New function.
2119 (grub_dl_load_core): Use grub_dl_check_license.
2120 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
2121 (GRUB_MOD_LICENSE): Likewise.
2122 (GRUB_MOD_DUAL_LICENSE): Likewise.
2123 All modules updated.
2124
2a9bc016
CW
21252011-04-11 Colin Watson <cjwatson@ubuntu.com>
2126
2127 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
2128 reserved_first_sector to 1. btrfs reserves plenty of space for boot
2129 loaders.
2130 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
2131
8a3bc88e
VS
21322011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
2135
af869a4a
VS
21362011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 * util/grub-fstest.c (read_file): Report GRUB error if file opening
2139 failed.
2140
9ee8d94f
VS
21412011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * grub-core/kern/file.c (grub_file_open): Don't take into account the
2144 parenthesis in the middle of the filename.
2145
b01abe3e
VS
21462011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
2149 rather than trying to put initrd way too high.
2150 Reported by: Ryan Lortie <desrt@desrt.ca>
2151
335bda1e
VS
21522011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
2155 improperly removed string.
2156
5ca1a64d
VS
21572011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
2160 is_disk.
2161 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
2162 (open_device) Likewise.
2163 (grub_util_biosdisk_close): Likewise.
d8ce9995 2164 Reported by: Mark Korenberg.
5ca1a64d 2165
cbac5b1e
AK
21662011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
2167
2168 * util/grub-mkconfig_lib.in: Add missing quotes.
2169
088cdb65
CW
21702011-04-10 Colin Watson <cjwatson@ubuntu.com>
2171
2172 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
2173 is NULL.
2174
8b8a81fa
VS
21752011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 Dynamically count the number of lines for the lower banner.
2178
2179 * grub-core/normal/menu_entry.c (per_term_screen): New member
2180 num_entries.
2181 (print_down): Use num_entries.
2182 (update_screen): Likewise.
2183 (grub_menu_entry_run): Set num_entries.
2184 * grub-core/normal/menu_text.c (menu_viewer_data): New member
2185 num_entries.
2186 (grub_print_message_indented): Move real part to ...
2187 (grub_print_message_indented_real): ... here. Additional argument
2188 dry_run.
2189 (draw_border): Additional argument num_entries.
2190 (print_message): Additional argument dry_run.
2191 (print_entries): Receive menu viewer data.
2192 (grub_menu_init_page): New argment num_entries.
2193 (menu_text_set_chosen_entry): Use num_entries.
2194 (grub_menu_try_text): Likewise.
2195 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
2196 All users updated.
2197 (grub_ucs4_count_lines): New function.
2198 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
2199 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
2200 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
2201 (grub_term_border_height): Likewise.
2202 (grub_term_num_entries): Likewise.
2203
277f955b
VS
22042011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
2207 Remove now unused string.
2208
536ce85a
CW
22092011-04-09 Colin Watson <cjwatson@ubuntu.com>
2210
2211 * docs/grub-dev.texi (Finding your way around): Update for 1.99
2212 build system.
2213 (Getting started): GRUB is developed in Bazaar now, not Subversion.
2214
2215 (Comment): Fix typo.
2216 (Getting started): General copy-editing.
2217 (Typical Development Experience): Likewise.
2218 (Error Handling): Likewise.
2219 (Video API): Likewise.
2220
2cf09e32
CW
22212011-04-09 Colin Watson <cjwatson@ubuntu.com>
2222
2223 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
2224 throughout.
2225
1ec652f4
VS
22262011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * util/grub-mkimage.c (main): Handle special naming of yeeloong
2229 directory.
2230
2c583728
CW
22312011-04-08 Colin Watson <cjwatson@ubuntu.com>
2232
2233 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
2234 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
2235 "development".
2236
d7a565e9
VS
22372011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
2240 grub_strcpy since the lines aren't necessarily 0-terminated.
2241
7c2e4909
VS
22422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
2245 root on legacy.
2246
34c09785
VS
22472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * grub-core/commands/probe.c (options): Argument to set isn't optional.
2250 (GRUB_MOD_INIT): DEVICE isn't optional.
2251
6a6f8058
VS
22522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
2255 word on new line if it's too long anyway. Fixes a hang.
2256
2e335e90
VS
22572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
2260 const.
2261 * util/grub-setup.c (main): Reuse md device name if available.
2262 * util/raid.c (grub_util_raid_getmembers): Receive device name and
2263 not GRUB name as argument.
2264 Based on patch by: Florian Wagner <fwagner>.
2265
10a7a867
VS
22662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
2269 Place mbi on low memory for better compatibility.
2270
7a3d6cd9
VS
22712011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
2274
18dd6b47
VS
22752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
22762011-04-08 Colin Watson <cjwatson@ubuntu.com>
2277
2278 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 2279 * conf/Makefile.common: Likewise.
18dd6b47 2280
3c0e3f14
VS
22812011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2282
f7148863
VS
2283 * grub-core/normal/menu.c: Add missing include.
2284
22852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 2288
6d1fa41f
MZ
22892011-04-08 Martin Zuther <mzuther@mzuther.de>
2290
2291 * util/grub-mkconfig.in: Ignore emacsen backup.
2292
478182a8
VS
22932011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
2296 on open.
2297 (grub_util_biosdisk_close): Likewise.
2298
72a89a54
VS
22992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
2302 const attribute and use grub_isdigit.
2303
b5ebecfa
A
23042011-04-06 Andrey <dev_null@ukr.net>
2305
2306 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
2307 gcc warning.
2308
7755f66e
VS
23092011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
2312 useful grub_dprintf's.
2313
461121ff
VS
23142011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
2317
2a961775
VS
23182011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
2321
adf594cc
VS
23222011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 Output errors if theme loading failed.
2325
2326 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
2327 grub_gfxterm_fullscreen on error paths to ...
2328 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
2329 theme loading error.
2330
665900a3
VS
23312011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
2334 space for older compilers.
2335 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2336
a562b479
VS
23372011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
2340 and report them as not RAID members since they are useless for GRUB.
2341 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2342
850e9373
VS
23432011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 Increase LVM implementation robustness in order not to crash on
2346 configurations like pvmove. Previously code assumed that in some places
2347 only lvs or only pvs are used whereas it seems that they are used
2348 interchangeably.
2349
2350 * grub-core/disk/lvm.c (read_node): New function.
2351 (read_lv): Use read_node.
2352 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
2353 Match volumes only at the end when all lvs are found. Take both
2354 pvs (first) and lvs (second) into account.
2355 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
2356 mirror_* into node_*. All users updated.
2357 (grub_lvm_stripe): Merge this ...
2358 (grub_lvm_mirror): ... and this ...
2359 (grub_lvm_node): ... into this. All users updated.
2360
6f332153
VS
23612011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
2364 of function to allow further scanning for LVMs.
2365
829ea451
VS
23662011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
2369 on failed seek as it breaks open fd reusage.
2370
09ceb9a5
VS
23712011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 * util/grub-install.in: Add a recommendation to use --recheck before
2374 reporting bugs.
2375
67e11623
VS
23762011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
2379 are obtained.
2380
caee5efd
VS
23812011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 GRUB developper manual based on existing Internals section and
2384 contributions by the various authors with active copyright assignment.
2385
2386 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
2387 * docs/font_char_metrics.png: New file.
2388 * docs/font_char_metrics.txt: Likewise.
2389 * docs/grub-dev.texi: Likewise.
2390 * docs/grub.texi (Internals): Move from here ...
2391 * docs/grub-dev.texi: ... here.
2392
2cccc747
CW
23932011-04-01 Colin Watson <cjwatson@ubuntu.com>
2394
2395 Store the loopback device as data on loopback grub_disk structures,
2396 rather than the file it points to. This fixes use of freed memory
2397 if an existing loopback device is replaced.
2398
2399 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
2400 disk->data, not dev->file.
2401 (grub_loopback_read): Adjust file assignment to match.
2402 Fixes Ubuntu bug #742967.
2403
186ae367
CW
24042011-04-01 Colin Watson <cjwatson@ubuntu.com>
2405
2406 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
2407 when replacing an existing device.
2408
cfed2ad0
VS
24092011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
2412 memory corruptions.
2413
2414 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
2415 unsigned.
2416 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
2417 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
2418 (grub_jfs_read_inode): Likewise.
2419 (grub_jfs_opendir): Likewise. Remove now useless casts.
2420 (grub_jfs_getent): Likewise.
2421 Make ino a grub_uint32_t rather than int.
2422 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
2423 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
2424 division and module with bit operations.
2425 (grub_jfs_find_file): Make ino a grub_uint32_t.
2426 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
2427
05d2ed32
CW
24282011-04-01 Colin Watson <cjwatson@ubuntu.com>
2429
2430 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
2431 warning. (This was in fact always initialised before use, but GCC
2432 wasn't smart enough to prove that.)
2433 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2434
91dc6073
VS
24352011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
2438 stack alignment.
2439 (efi_wrap_1): Likewise.
2440 (efi_wrap_2): Likewise.
2441 (efi_wrap_3): Likewise.
2442 (efi_wrap_4): Likewise.
2443 (efi_wrap_5): Likewise.
2444 (efi_wrap_6): Likewise.
2445 (efi_wrap_10): Likewise.
2446 Based on information by: Red Hat/Peter Jones.
2447
a8afc1d1
CW
24482011-03-31 Colin Watson <cjwatson@ubuntu.com>
2449
2450 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
2451 set-but-not-used variable.
2452
a826cc7d
CW
24532011-03-31 Colin Watson <cjwatson@ubuntu.com>
2454
2455 * docs/grub.texi (Simple configuration): Be more explicit about
2456 GRUB_DEFAULT, and add an example.
2457 Reported by: Leslie Rhorer.
2458
875b67ba
CW
24592011-03-30 Colin Watson <cjwatson@ubuntu.com>
2460
2461 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
2462 shell".
2463
fd7cd914
AS
24642011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
2465
2466 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
2467 * util/grub.d/20_linux_xen.in: Likewise.
2468
090b1b6a
VS
24692011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * util/grub.d/10_linux.in: Try alternative config filenames where
2472 we parse config file.
2473 * util/grub.d/20_linux_xen.in: Likewise.
2474
baad885c
AS
24752011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
2476
2477 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
2478 * util/grub.d/20_linux_xen.in: Likewise.
2479
241e41f5
VS
24802011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * grub-core/disk/raid.c (insert_array): Add few potentially
2483 useful grub_util_info.
2484 (grub_raid_register): Likewise.
2485
56445fb2
VS
24862011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
2489 Preserve partition number in mdadm code path.
2490
c871b1c6
VS
24912011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
2494 few potentially useful grub_util_info.
2495
5e631b4f
CW
24962011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
2499
2d5d0333
CW
25002011-03-30 Colin Watson <cjwatson@ubuntu.com>
2501
2502 * docs/grub.texi (default): Use @example rather than nested
2503 itemized lists to avoid breaking gendocs.
2504
3d7ed04e
CW
25052011-03-30 Colin Watson <cjwatson@ubuntu.com>
2506
2507 * docs/grub.texi (Future): Update.
2508
abf04200 25092011-03-30 Colin Watson <cjwatson@ubuntu.com>
2510
2511 * docs/grub.texi (Environment): New chapter.
2512 (Changes from GRUB Legacy): Link to "Environment block" section for
2513 details of limitations.
2514 (Simple configuration): Likewise. Link to documentation of gfxmode
2515 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
2516 respectively.
2517 (Shell-like scripting): Note that normal variables are stored in the
2518 environment.
2519 (gettext): Link to documentation of lang and locale_dir.
2520 (list_env): New section.
2521 (load_env): New section.
2522 (save_env): New section.
2523
2524 (Reporting bugs): Fix typo.
2525
e1ad0edd
VS
25262011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
2529 the example.
2530
5d803174
VS
25312011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 * grub-core/term/at_keyboard.c (set_scancodes)
2534 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
2535
2a2da1d0
CW
25362011-03-30 Colin Watson <cjwatson@ubuntu.com>
2537
2538 * docs/grub.texi (Menu-specific commands): Remove some semantics
2539 that were true in GRUB Legacy but not in GRUB 2.
2540 (submenu): New section.
2541 (false): New section.
2542 (read): New section.
2543 (true): New section.
2544
a7527639
CW
25452011-03-30 Colin Watson <cjwatson@ubuntu.com>
2546
2547 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
2548
25492011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
2550
2551 * docs/grub.texi (Simple configuration): Explain some of the
2552 current limitations of grub-mkconfig.
8a748df2 2553 Reported by: Leslie Rhorer.
e30af029 2554
fc858482
VS
25552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 Old macs search for boot.efi rather than for bootia32.efi.
2558
2559 * util/grub-install.in: Copy bootia32.efi to boot.efi.
2560 * util/grub-mkrescue.in: Likewise.
2561 Suggested by: Peter Jones.
2562
e1eb511d
VS
25632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
2566
70e75364
VS
25672011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
2570 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
2571 (grub_lvm_mirror): New struct.
2572 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
2573 (grub_lvm_iterate): Iterate only visible volumes.
2574 (grub_lvm_read): Factor out to ..
2575 (read_lv): ... this. Support mirrors.
2576 (grub_lvm_read): New wrapper function.
2577 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
2578 stripped or mirrored.
2579
fc18f6a3
VS
25802011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
2583
5c650f4c
CW
25842011-03-29 Colin Watson <cjwatson@ubuntu.com>
2585
2586 * docs/grub.texi (loopback): New section.
2587
61d7156b
CW
25882011-03-29 Colin Watson <cjwatson@ubuntu.com>
2589
2590 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
2591 removed -p option.
2592
994b8264
CW
25932011-03-29 Colin Watson <cjwatson@ubuntu.com>
2594
2595 * docs/grub.texi (BIOS installation): New section, partly based on
2596 previous text in other sections.
2597 (Installing GRUB using grub-install): Replace BIOS discussion with a
2598 cross-reference.
2599 (Images): Likewise.
2600
9e4d19e0
VS
26012011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * grub-core/kern/emu/hostdisk.c (find_partition_start)
2604 [HAVE_DIOCGDINFO]: Add safety checks.
2605
a307c0b2
VS
26062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
2609 per default compiled in kernel and prior to 8.0 isn't shipped at all.
2610
b4db4f39
CW
26112011-03-29 Colin Watson <cjwatson@ubuntu.com>
2612
2613 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
2614 real_sb->size is zero (e.g. RAID-0), get the disk size from
2615 real_sb->data_size instead.
2616 Fixes Ubuntu bug #743136.
2617
35e5f84c
VS
26182011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
2621 printf clauses for printing size and start.
2622
d2e29d81
VS
26232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
2626 Reported and tested by: Timothy Nikkel.
2627
ed5587af
VS
26282011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
2631 (dirty_region_add_real): ... this.
2632 (dirty_region_add): Don't discard margin refresh when performing
2633 scheduled repaint.
2634
a1dc717c
VS
26352011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 * grub-core/lib/relocator.c (allocate_regstart)
2638 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
2639 terminals are capabple of malloc-free operation.
2640 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
2641 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
2642
9f3677d3
VS
26432011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
2644
2645 * util/grub-setup.c: Copy the partition table zone if floppy support
2646 is disabled, even if no partition table is found.
2647
2648 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
2649 during POST if an invalid partition table is contained in the PBR
2650 of the active partition when GRUB is installed to a partition.
2651
24148725
CW
26522011-03-28 Colin Watson <cjwatson@debian.org>
2653
2654 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
2655 comment.
2656
f329eda7
CW
26572011-03-28 Colin Watson <cjwatson@debian.org>
2658
2659 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
2660 to be specific about what kind of RAID device we're scanning for.
2661
c482ad98
SG
26622011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
2663
2664 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
2665 return freed string.
2666
5ee04984
VS
26672011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
2670
f4727da9
VS
26712011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 Use libgeom on FreeBSD to detect partitions.
2674
2675 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
2676 (grub-mkrelpath): Likewise.
2677 (grub-script-check): Likewise.
2678 (grub-editenv): Likewise.
2679 (grub-mkpasswd-pbkdf2): Likewise.
2680 (grub-fstest): Likewise.
2681 (grub-mkfont): Likewise.
2682 (grub-mkdevicemap): Likewise.
2683 (grub-probe): Likewise.
2684 (grub-setup): Likewise.
2685 (grub-ofpathname): Likewise.
2686 (grub-mklayout): Likewise.
2687 (example_unit_test): Likewise.
2688 (grub-menulst2cfg): Likewise.
2689 * grub-core/Makefile.core.def (grub-emu): Likewise.
2690 (grub-emu-lite): Likewise.
2691 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
2692 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
2693 define HAVE_DIOCGDINFO.
2694 (follow_geom_up) [FreeBSD]: New function.
2695 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
2696 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
2697 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
2698 unconditionally of HAVE_DIOCGDINFO.
2699
82fe6c75
VS
27002011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 Fix FreeBSD compilation problem.
2703
2704 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
2705 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
2706
4c6c9431
CW
27072011-03-24 Colin Watson <cjwatson@ubuntu.com>
2708
2709 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
2710 Switch back to page zero before loading a kernel, since some kernel
2711 drivers expect that.
2712 Thanks to: Felix Kuehling.
2713
c7064d94
VS
27142011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
2717 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
2718 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
2719
3f71cded
VS
27202011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
2723 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
2724
ef6de21a
VS
27252011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
2728 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
2729 malloc is disabled.
2730
8bc66a2c
VS
27312011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
2734 for modules headers when counting the needed allocation size.
2735
5657722c
VS
27362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
2739 if no ASCII character is found to prevent crash.
2740
41a85f55
AK
27412011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
2742
2743 * grub-core/video/bitmap.c (match_extension): Ignore case.
2744
59e1e5f1
VS
27452011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
2748
bd4d051a
VS
27492011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * grub-core/script/parser.y: Declare "time" as valid argument.
2752
bae7fcc1
PJ
27532011-03-23 Peter Jones <pjones@redhat.com>
2754
2755 Fix incorrect assert failure reporting.
2756
2757 * grub-core/tests/example_functional_test.c (example_test): Add
2758 a failure comment.
2759 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
2760 (failure_start): ...this. Check that malloc succeeded.
2761 Don't call xvasprintf. Return failure struct.
2762 (failure_append_vtext): New function.
2763 (failure_append_text): Likewise.
2764 (add_failure): Likewise.
2765 (grub_test_assert_helper): Likewise.
2766 * include/grub/test.h (grub_test_assert_helper): New declaration.
2767 (grub_test_assert): Macro rewritten.
2768
537dc9be
VS
27692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
2772
fa3e01bf
VS
27732011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
2776
b1d28404
VS
27772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
2780 into GRUB-style one.
2781
2e3e2e09
VS
27822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
2785 error and not grub_errno.
2786 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
2787
ed57e557
VS
27882011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
2791 GRUB_USB_SPEED_NONE in case of failure and not the error code.
2792
d1611f01
VS
27932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * grub-core/efiemu/i386/pc/cfgtables.c
2796 (grub_machine_efiemu_init_tables): Make declaration a prototype.
2797 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
2798 (grub_xnu_unlock): Likewise.
2799 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
2800
7d4e39d6
VS
28012011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
2804 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
2805 * grub-core/commands/hashsum.c (aliases): Likewise.
2806 * grub-core/commands/setpci.c (pci_registers): Likewise.
2807 * grub-core/disk/usbms.c (attach_hook): Likewise.
2808 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
2809 (zio_checksum_table): Likewise.
2810 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
2811 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
2812 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
2813 * grub-core/lib/relocator.c (leftovers): Likewise.
2814 (extra_blocks): Likewise.
2815 * grub-core/loader/i386/bsd.c (relocator): Likewise.
2816 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
2817 (modules_last): Likewise.
2818 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
2819 (devices): Likewise.
2820 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
2821 (modules_last): Likewise.
2822 * grub-core/normal/auth.c (users): Likewise.
2823 * grub-core/normal/context.c (initial_menu): Likewise.
2824 (current_menu): Likewise.
2825 * grub-core/normal/crypto.c (crypto_specs): Likewise.
2826 * grub-core/term/serial.c (grub_serial_ports): Likewise.
2827 (grub_serial_terminfo_input_template): Likewise.
2828 (grub_serial_terminfo_output_template): Likewise.
2829 (grub_serial_terminfo_input): Likewise.
2830 (grub_serial_terminfo_output): Likewise.
2831 (registered): Likewise.
2832 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
2833
40fc4659
VS
28342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
2837 grub_video_mode_type_t.
2838 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
2839 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
2840 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
2841
2da48d28
VS
28422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 * util/grub-install.in: Correct the x86-64 name as x86_64.
2845
9b43bf39
CW
28462011-03-11 Colin Watson <cjwatson@ubuntu.com>
2847
2848 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
2849 initial chunk read from the kernel always includes GRUB's multiboot
2850 header, which is now outside the first sector.
2851
be1a7ce0
CW
28522011-03-09 Colin Watson <cjwatson@ubuntu.com>
2853
2854 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
2855 cached mmap_size, so that this works correctly when called multiple
2856 times.
2857 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
2858
83a3c48d
CW
28592011-03-09 Colin Watson <cjwatson@ubuntu.com>
2860
2861 * docs/grub.texi (Simple configuration): Tidy up formatting.
2862
57d75699
SJ
28632011-03-07 Szymon Janc <szymon@janc.net.pl>
2864
2865 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
2866 Set-but-not-used variable removed.
2867
028501a0
VS
28682011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 Workaround yet another IEEE1275 bug.
2871
2872 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2873 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
2874 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
2875 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
2876 is set.
2877 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2878 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
2879
d998657d
VS
28802011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
2883 error.
2884
fee7cdd4
CW
28852011-02-11 Colin Watson <cjwatson@ubuntu.com>
2886
2887 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
2888 empty, since in that case we can only generate either nothing or a
2889 syntactically invalid configuration file.
2890 Reported by: Michal Suchanek. Fixes Debian bug #612898.
2891
97286eb5
CW
28922011-02-09 Colin Watson <cjwatson@ubuntu.com>
2893
2894 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
2895 (Making a GRUB bootable CD-ROM): Likewise.
2896 (Invoking grub-mkrescue): New section.
2897 Reported by: Yann Dirson. Fixes Debian bug #612585.
2898
22b28eb3
CW
28992011-02-09 Colin Watson <cjwatson@ubuntu.com>
2900
2901 * util/grub-install.in: Remove unnecessary brackets from tr
2902 arguments.
2903 * util/grub.d/10_hurd.in: Likewise.
2904 * util/grub.d/10_kfreebsd.in: Likewise.
2905 * util/grub.d/10_linux.in: Likewise.
2906 * util/grub.d/20_linux_xen.in: Likewise.
2907 Reported by: Jamie Heilman. Fixes Debian bug #612564.
2908
7e735e43
CW
29092011-02-08 Colin Watson <cjwatson@ubuntu.com>
2910
2911 * include/grub/file.h (not_easly_seekable): Rename to ...
2912 (not_easily_seekable): ... this. Update all users.
2913
800f1881
CW
29142011-01-28 Colin Watson <cjwatson@ubuntu.com>
2915
2916 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
2917 grub-mkrescue.
2918
3281d3d6
VS
29192011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * util/grub-mkimage.c (generate_image): Refuse to create the images
2922 bigger than the actual flash (512K) in Loongson machines. 512K is also
2923 the biggest chip supported by them.
2924
3533413c
VS
29252011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
2928
73ae4f4f
VS
29292011-01-22 Anthony DeRobertis <anthony@derobert.net>
2930
2931 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
2932 super_offset field.
2933
37f4f608
VS
29342011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * util/grub-install.in: Ignore install device on platforms
2937 where it doesn't make sense. Always use UUIDs except on pc, efi and
2938 sparc64.
2939 Reported by: Daniel Kahn Gillmor.
2940
03a4ccb5
VS
29412011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
2944
ffc8f4d8
VS
29452011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
2948 (iterate_real): Don't rely on partition being non-NULL.
2949
80f23be7
VS
29502011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
2953 supported platforms. Put a compile time assert for this rather than
2954 generate a warning with 32-bit shift.
2955
5d4f4dd5
VS
29562011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
2959 logical expression more readable.
2960
e489601a
VS
29612011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
2964 even if some elements have a name.
2965 Reported by: Alexander GQ Gerasiov.
2966
96e0a6ea
CW
29672011-01-22 Colin Watson <cjwatson@ubuntu.com>
2968
2969 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
2970 path unreadable if `grub-probe -t abstraction' fails, for example if
2971 memberlist fails on an LVM volume group.
2972 Reported by: Darius Jahandarie.
2973
81431e2b
CW
29742011-01-22 Colin Watson <cjwatson@ubuntu.com>
2975
2976 * docs/grub.texi (Simple configuration): Document
2977 GRUB_PRELOAD_MODULES.
2978
5e79d66a
CW
29792011-01-17 Colin Watson <cjwatson@ubuntu.com>
2980
2981 * .bzrignore: Remove nonexistent grub-pbkdf2.
2982
646ada34
VS
29832011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 * configure.ac: Bump version to 1.99~rc1.
2986
04360337
VS
29872011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
2990 for safety.
2991
46c9db88
VS
29922011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2993
2994 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
2995 module.
2996
29972011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
2998
2999 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
3000
4fbf1852
VS
30012011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
3004 diskdevid.
3005
f1632d4d
VS
30062011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 Fix compilation on cygwin.
3009
3010 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
3011 -R .drectve on cygwin.
3012 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
3013 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
3014 (COND_CYGWIN): New condition.
3015 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
3016 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
3017 not @TARGET_OBJ2ELF@.
3018 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
3019 type to determine whether aux is to be used.
3020
0b5e127b
VS
30212011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
3024 realpath'ed device string.
3025 Handle floppy (somewhat).
3026 Issue error in unknown case rather than garbage.
3027 Reported by: Axel Beckert.
3028
173b71e9
VS
30292011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * util/grub.d/00_header.in (load_video): Handle the case when no video
3032 drivers available.
3033 Thanks to: Axel Beckert.
3034
f8f479db
VS
30352011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
3038 variable. Fixes problem on big endian platforms.
3039
8fc0a245
VS
30402011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
3043 It doesn't work well there.
3044
b8494fbe
VS
30452011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
3048 warning.
3049 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
3050 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
3051 counter.
3052
b44a558c
VS
30532011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 Use alias->path rather than buggy "canon".
3056
3057 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
3058 (ofdisk_hash_add): New argument curcan. All users updated.
3059
51fa856c
CW
30602011-01-11 Colin Watson <cjwatson@ubuntu.com>
3061
3062 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
3063
9da068a5
VS
30642011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
3067 loadmask before doing any calculations. Use correct type for offset.
3068 (grub_linux_load64): Likewise.
3069
86205c94
CW
30702011-01-11 Colin Watson <cjwatson@ubuntu.com>
3071
3072 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
3073 with NULL.
3074 (console_grub_equivalences_unshift): Likewise.
3075 Reported by: Daniel Dehennin.
3076
4531a206
VS
30772011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
3080 (set_env_limn_ro): Likewise.
3081 (GRUB_MOD_INIT): Likewise.
3082 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
3083 ARRAY_SIZE while on it.
3084 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
3085 * grub-core/normal/context.c (grub_env_export): Move from here ...
3086 * grub-core/kern/env.c (grub_env_export): ... here.
3087 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
3088 prefix.
3089 * grub-core/kern/main.c (grub_main): Export root and prefix.
3090 * include/grub/env.h (grub_env_export): Export.
3091 Reported by: Seth Goldberg.
3092
45146057
VS
30932011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3096 Take into account space used by ELF sections and multiboot palette.
3097 Reported by: Grégoire Sutre.
3098
f093110b
VS
30992011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * BUGS: New file.
3102
3395fe52
VS
31032011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 Pass more appropriate video id to Linux.
3106
3107 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
3108 grub_video_get_driver_id and variable gfxpayloadforcelfb to
3109 fill have_vga.
3110 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
3111 shift params->lfb_size.
3112 * include/grub/i386/linux.h: Make an enume out of have_vga values.
3113
c2fa6cbb
VS
31142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 * util/grub-menulst2cfg.c: Add missing include of misc.h.
3117
b3ff6ff0
VS
31182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
3121 separator and pass bootpath/devid even if only one of them is available.
3122 Reported by: Seth Goldberg.
3123
ae67942e
VS
31242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3125
3126 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
3127 implementations bug on them.
3128
3129 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
3130 memory.
3131 (filter_memory_map): Likewise.
3132
d570097a
VS
31332011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
3136 Reported by: nebuchadnezzar.
3137
a508e776
VS
31382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
3141 Reported by: nebuchadnezzar.
3142
dcb883b1
VS
31432011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 Submenu default support.
3146
3147 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
3148 auto_boot. All users updated.
3149 Declared static.
3150 Handle chosen and default with submenus.
3151 (grub_menu_execute_with_fallback): Declared static.
3152 Don't notify failure if autobooted. Upper level does it.
3153 (menuentry_eq): New function.
3154 (get_entry_number): Use menuentry_eq.
3155 (show_menu): New parameter "autobooted". All users updated.
3156 (grub_show_menu): Likewise.
3157 * include/grub/normal.h (grub_show_menu): Likewise.
3158 * include/grub/menu.h (grub_menu_execute_entry): Removed.
3159 (grub_menu_execute_with_fallback): Likewise.
3160
6fef99b4
VS
31612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * util/grub-mklayout.c (usage): Update help text.
3164
47a77af5
VS
31652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
3168
ce6bb3ee
VS
31692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 * util/grub-menulst2cfg.c (main): Trim the line.
3172
db87be2a
VS
31732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
3176 (grub_machine_init): Don't check amount of low memory as reportedly
3177 INT 12h can be broken and if low memory is too low we wouldn't have
3178 gotten into grub_machine_init anyway.
3179
c49849cc
VS
31802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
3183 (grub_machine_mmap_iterate): Take low memory into account
3184
b1969b30
VS
31852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
3188 badfs.
3189 Reported by: TiCPU.
3190
cf0eaf13
VS
31912011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
3194 members errors.
3195
1f060f39
GS
31962011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3197
3198 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
3199 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
3200
a21e5672
GS
32012011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3202
3203 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
3204 openbsd and netbsd types being in part_bsd module.
3205
c88172fa
VS
32062011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3207
3208 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
3209 (_FILE_OFFSET_BITS): Likewise.
3210 Reported by: Seth Goldberg.
3211
53798c4b
GS
32122011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3213
3214 * configure.ac: Check for libdevmapper header.
3215
e7121b69
VS
32162011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
3219 avoid aliasing.
3220 (fzap_lookup): Likewise.
3221 (dnode_get): Likewise.
3222 (make_mdn): Likewise.
3223 (zfs_mount): Likewise.
3224 (fzap_iterate): Use temporary pointer to avoid aliasing.
3225 (grub_zfs_read): Likewise.
3226 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
3227 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
3228 pointers to avoid aliasing.
3229 (grub_cmd_xnu_kernel64): Likewise.
3230 (grub_xnu_load_driver): Likewise.
3231
fc836af9
VS
32322011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
3235 aliasing warning.
3236 (grub_cmd_terminal_output): Likewise.
3237 Reported and tested by: Grégoire Sutre.
3238
f9f37648
VS
32392011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
3242 warning.
3243 Reported and tested by: Grégoire Sutre.
3244
ec1dfd63
VS
32452011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 * configure.ac: Do CPU substitution even if it's specified explicitly.
3248 Reported and tested by: Alain Greppin.
3249
9462775a
VS
32502011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
3253 Reported and tested by: Alain Greppin.
3254
0fd48e35
VS
32552011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 Satisfy some bison versions need for inttypes.h.
3258
3259 * grub-core/lib/posix_wrap/inttypes.h: New file.
3260 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
3261 (int16_t): Likewise.
3262 (int32_t): Likewise.
3263 (int64_t): Likewise.
3264 Reported and tested by: Alain Greppin.
3265
43f1bc83
VS
32662011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
3269 Silence spurious warning.
3270 Reported and tested by: Alain Greppin.
3271
64d1f041
SJ
32722011-01-07 Szymon Janc <szymon@janc.net.pl>
3273
3274 * docs/grub.texi (Support automatic decompression): Update with xz
3275 decompression support.
3276
25953e10
SJ
32772011-01-07 Szymon Janc <szymon@janc.net.pl>
3278
3279 Improve loaders' kernel command line handling.
3280
3281 * grub-core/lib/cmdline.c: New file.
3282 * include/grub/lib/cmdline.h: Likewise.
3283 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
3284 grub_create_loader_cmdline to create kernel command line.
3285 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3286 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
3287 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
3288 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
3289 (linux): Add lib/cmdline.c on common.
3290
e72d259f
VS
32912011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
3294 inopos might be unaligned.
3295
c0cf26da
VS
32962011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3299 endian transformations.
3300 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3301 Based on report by: Doug Nazar.
3302
0ca09e6c
DN
33032011-01-07 Doug Nazar <nazard.michi@gmail.com>
3304
3305 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
3306 array->members[i].start_sector.
3307 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
3308
014b6806
VS
33092011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
3312 Reported and tested by: Grégoire Sutre.
3313
415502c2
CW
33142011-01-06 Colin Watson <cjwatson@ubuntu.com>
3315
3316 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
3317 avoid causing test failures by clearing the screen.
3318
71b6a2b7
CW
33192011-01-06 Colin Watson <cjwatson@ubuntu.com>
3320
3321 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
3322 Fix prefix check to handle the case where dir ends with a slash
3323 (most significantly, "/" itself).
3324 Reported by: Michael Vogt.
3325
b3f8d28a
VS
33262011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 Run terminfo_cls on initing terminfo output to clear the screen and
3329 move the cursor to (0,0).
3330
3331 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
3332 Call grub_terminfo_output_init.
3333 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
3334 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
3335 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
3336
4c3e4f37
VS
33372011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
3340 only when needed.
3341
488f71f1
VS
33422011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
3345 CTRL.
3346
18a38098
VS
33472011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 The E820 type 5 is BADRAM, not EXEC_CODE.
3350
3351 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
3352 (GRUB_E820_BADRAM): New define.
3353 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
3354 into reserved. Propagate BADRAM.
3355 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
3356 (GRUB_E820_BADRAM): New define.
3357
9eae2084
VS
33582011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
3361 Ignore the memory post-4G.
3362 (grub_relocator_firmware_alloc_region): Additional debug statement.
3363
ebc71d28
VS
33642011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3365
3366 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
3367 names.
3368 Reported by: David Pravec.
3369
446fa400
VS
33702011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3371
3372 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
3373 BIOSes.
3374
a0159f37
VS
33752011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
3378 Prevent overflow.
3379 (grub_reed_solomon_recover): Likewise.
3380
e5146ca1
VS
33812011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3382
3383 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
3384
33852011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
3386
3387 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
3388 variable.
3389
5b1bdf12
CW
33902011-01-04 Colin Watson <cjwatson@ubuntu.com>
3391
3392 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
3393 descriptions of extract_legacy_entries_source and
3394 extract_legacy_entries_configfile.
3395 Reported by: Seung Soo, Ha.
3396
99d925aa
CW
33972011-01-03 Colin Watson <cjwatson@ubuntu.com>
3398
3399 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
3400 on devices that do not implement function 0.
3401
4af0504b
DV
34022011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
3403
3404 * grub-core/fs/hfsplus.c: Make parent unsigned.
3405 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
3406 overflows.
3407 (grub_hfsplus_cmp_extkey): Likewise
3408
469ee10a
VS
34092011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 * util/grub-install.in: Correctly use bootloader_id and not
3412 GRUB_DISTRIBUTOR on efibootmgr line.
3413
323a8e9c
VS
34142011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
3417
1b394975
IC
34182010-12-31 Ian Campbell <ijc@hellion.org.uk>
3419
3420 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
3421 Xen and reorder menu item wording to make it clearer that this entry
3422 will launch Xen. Print separate messages when loading Xen and
3423 Linux.
3424
275bff5f
VS
34252010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
3428 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
3429 loop in case of incorrect amiga partmap.
3430
307806cb
VS
34312010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
3434 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
3435 Reported by:EHeM.
3436
b12b923e
VS
34372010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
3440 spurious warning.
3441 Reported by: crocket
3442
14b48a19
VS
34432010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
3446 Preload EFIemu.
3447 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
3448
693db2df
VS
34492010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
3452 is loaded
3453 (grub_cmd_xnu_kextdir): Likewise.
3454 (grub_cmd_xnu_splash): Likewise.
3455
c7638645
VS
34562010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 Avoid using Reed-Solomon with 0 redundancy.
3459
3460 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
3461 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
3462 or 0 redundancy.
3463 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
3464 (grub_reed_solomon_recover): Likewise.
3465
25dd4780
VS
34662010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 Don't use disk subsystem in freebsd_boot.
3469
3470 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
3471 (freebsd_biosdev): Likewise.
3472 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
3473 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
3474
0b2db943
VS
34752010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 Handling of files of unknown size is currently limited. They can't be
3478 used e.g. for initrd or modules. Moreover gzip handling of not
3479 easily seekable files is buggy. Disable unknown file size for now. May
3480 be inefficient but works.
3481
3482 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
3483 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3484
5c408d0f
MP
34852010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
3486
3487 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
3488 floppy probe.
3489
190a011a
JD
34902010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
3491
3492 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
3493
022d01b8
SL
34942010-12-25 Shea Levy <shlevy>
3495
3496 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
3497
c4855fdc
VS
34982010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
3501 Windows Server 2008.
3502 Reported by: Devin Giddings.
3503
0354b867
VS
35042010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
3507 writing an error message because of async power management.
3508 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
3509 (grub_reboot): Likewise.
3510
ab66c69f
JU
35112010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
3512
3513 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
3514 keep unit tests from failing when they shouldn't.
3515
1426ef35
CW
35162010-12-21 Colin Watson <cjwatson@ubuntu.com>
3517
3518 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
3519 previous patch increased the size of the RS code by 20 bytes (at
3520 least with gcc-4.4), so increase this by 20 bytes to match.
3521 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3522
20641b6b
CW
35232010-12-21 Colin Watson <cjwatson@ubuntu.com>
3524
3525 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
3526 scratch area. Make sure to initialise chosen in standalone mode as
3527 well as non-standalone.
3528 Reported by: Robert Hooker and Andy Whitcroft.
3529 Tested by: Andy Whitcroft.
3530
d060ad60
CW
35312010-12-21 Colin Watson <cjwatson@ubuntu.com>
3532
3533 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
3534 constructing a new unescaped string and passing it to grub_xputs in
3535 one go, rather than passing characters to grub_printf one at a time.
3536
b889cfad
CW
35372010-12-21 Colin Watson <cjwatson@ubuntu.com>
3538
3539 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
3540 initialising utf16.
3541
4e01b6c8
CW
35422010-12-21 Colin Watson <cjwatson@ubuntu.com>
3543
3544 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
3545 comment. Add an extra layer of quotation, requiring the output of
3546 this function to be used in a printf format string.
3547 (gettext_printf): New function.
3548 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
3549 Extract translatable strings from here-documents and use a temporary
3550 variable instead, so that xgettext can find them.
3551 * util/grub.d/10_kfreebsd.in: Likewise.
3552 * util/grub.d/10_linux.in: Likewise.
3553 * util/grub.d/20_linux_xen.in: Likewise.
3554
3555 * po/grub.d.sed: New file.
3556 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
3557 arguments. Set c-format flags on all strings extracted from
3558 util/grub.d/ (xgettext refuses to include these itself for strings
3559 it extracted from a shell file, but these really are c-format).
3560
5318fe98
VS
35612010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
3564 Avoid next pointing to nowhere.
3565
6c85b743
VS
35662010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3567
3568 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
3569 rather than assuming than rootblock is exactly in the middle.
3570 (grub_affs_label): Likewise.
3571
a2a08a35
VS
35722010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
3575 reserved_first_sector to 0.
3576 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
3577 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
3578 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
3579
7059d1ec
VS
35802010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 Fix handling of UTF-16 UDF labels.
3583
3584 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
3585 (read_string): .. here.
3586 (grub_udf_label): Use read_string.
3587
30aff4cb
BC
35882010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
3589
3590 * grub-core/normal/menu_entry.c (run): Execute commands from menu
3591 editor under argument scope.
3592 Reported by: Jordan Uggla
3593
5cf86f4b
VS
35942010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
3597
32570200
CW
35982010-12-18 Colin Watson <cjwatson@ubuntu.com>
3599
3600 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
3601 line, and other keys scroll an entire page (previous handling was
3602 for \r and \n to scroll a page and other keys to scroll two lines).
3603
e1dffcf2
VS
36042010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3607 Set ptrdest to correct get_physical_target_address rather than
3608 incorrect get_virtual_current_address.
3609
b04298cf 36102010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
3611
3612 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
3613 correct cat to grub_uint8_t * rather than grub_uint32_t *.
3614
5367ecd3
CW
36152010-12-10 Colin Watson <cjwatson@ubuntu.com>
3616
3617 * .bzrignore: Ignore grub-core/rs_decoder.S.
3618
1fb430f8
CW
36192010-12-10 Colin Watson <cjwatson@ubuntu.com>
3620
3621 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
3622 .mo/.mo.gz opening sequence to ...
3623 (grub_mofile_open_lang): ... here.
3624 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
3625 * util/grub.d/00_header.in (grub_lang): Include country part of
3626 locale.
3627 Reported by: Mario Limonciello.
3628
a94a6671
RM
36292010-12-09 Robert Millan <rmh@gnu.org>
3630
3631 * NEWS: Document addition of ZFS support.
3632
24b7938b
CW
36332010-12-04 Colin Watson <cjwatson@ubuntu.com>
3634
3635 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
3636 rather than `/ 2', as the latter requires -Wa,--divide which would
3637 require bumping our minimum binutils version.
3638
bddc3ef6
BC
36392010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
3640
3641 * util/grub-script-check.c (main): Print script line number on
3642 error.
3643
bf78d5b2
RM
36442010-12-01 Robert Millan <rmh@gnu.org>
3645
3646 * grub-core/fs/zfs/zfs.c: New file.
3647 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
3648 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
3649 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
3650 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3651
3652 * include/grub/zfs/dmu.h: Likewise.
3653 * include/grub/zfs/dmu_objset.h: Likewise.
3654 * include/grub/zfs/dnode.h: Likewise.
3655 * include/grub/zfs/dsl_dataset.h: Likewise.
3656 * include/grub/zfs/dsl_dir.h: Likewise.
3657 * include/grub/zfs/sa_impl.h: Likewise.
3658 * include/grub/zfs/spa.h: Likewise.
3659 * include/grub/zfs/uberblock_impl.h: Likewise.
3660 * include/grub/zfs/vdev_impl.h: Likewise.
3661 * include/grub/zfs/zap_impl.h: Likewise.
3662 * include/grub/zfs/zap_leaf.h: Likewise.
3663 * include/grub/zfs/zfs.h: Likewise.
3664 * include/grub/zfs/zfs_acl.h: Likewise.
3665 * include/grub/zfs/zfs_znode.h: Likewise.
3666 * include/grub/zfs/zil.h: Likewise.
3667 * include/grub/zfs/zio.h: Likewise.
3668 * include/grub/zfs/zio_checksum.h: Likewise.
3669
3670 * Makefile.util.def: Build ZFS into libgrubmods.
3671 * grub-core/Makefile.core.def: Build zfs.mod.
3672
3f0f3831
SJ
36732010-11-30 Szymon Janc <szymon@janc.net.pl>
3674
3675 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
3676 variable.
3677 * grub-core/commands/wildcard.c (match_files): Likewise.
3678
3a4253b2
RM
36792010-11-30 Robert Millan <rmh@gnu.org>
3680
3681 * grub-core/loader/i386/bsd.c
3682 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
3683 whether kernel is loaded using grub_loader_is_loaded(), rather
3684 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
3685 certain error conditions.
3686
8c317b27
RM
36872010-11-30 Robert Millan <rmh@gnu.org>
3688
c5c9cd3e
RM
3689 * grub-core/commands/echo.c: Include `<grub/term.h>'.
3690 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 3691
49d3ab46
VS
36922010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 Avoid using tricks for initialising endian variables.
3695
3696 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
3697 Make const.
3698 (GRUB_MOD_INIT): Don't byte-swap.
3699 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
3700 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
3701 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
3702 (grub_swap_bytes32_compile_time): Likewise.
3703 (grub_cpu_to_le32_compile_time): Likewise.
3704 (grub_cpu_to_le16_compile_time): Likewise.
3705
f420a804
VS
37062010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * util/grub-setup.c (setup): Stop recommending --force. People who
3709 understand the dangers of blocklists are able to find this option
3710 anyway and the ones who don't shouldn't use it anyway.
3711
4e7db17b
RM
37122010-11-26 Robert Millan <rmh@gnu.org>
3713
3714 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
3715 Update all users.
3716
9be57a0d
CW
37172010-11-26 Colin Watson <cjwatson@ubuntu.com>
3718
3719 Fix LVM-on-RAID probing.
3720
3721 * util/grub-probe.c (probe): Remember which disk was detected as
3722 RAID (perhaps an LVM physical volume). Use that disk's raidname
3723 rather than that of the top-level disk.
3724
2c7859b3 37252010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 3726
d7647bb6
BC
3727 Fix cmdline argument quotes for setparams command of menuentry
3728 definitions.
7e623b0d
BC
3729
3730 * grub-core/commands/menuentry.c (setparams_prefix): Use single
3731 quotes for arguments.
f866fe80 3732 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 3733 grub_strchrsub function instead.
f866fe80 3734
7955bea0 3735 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 3736
74f72a64
CW
37372010-11-24 Colin Watson <cjwatson@ubuntu.com>
3738
3739 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
3740 effort by skipping "." and ".." entries up-front.
3741 Suggested by: Michael Lazarev.
3742
5a407278
CW
37432010-11-24 Colin Watson <cjwatson@ubuntu.com>
3744
3745 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
3746 ldflags to ldadd, to fix link line ordering.
3747 (none_decompress): Likewise.
3748
3030d8ec
CW
37492010-11-24 Colin Watson <cjwatson@ubuntu.com>
3750
3751 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
3752 platforms.
3753 (grub-emu-lite): Remove kern/emu/cache.S.
3754
b7fbac12
CW
37552010-11-23 Colin Watson <cjwatson@ubuntu.com>
3756
3757 * util/deviceiter.c (compare_devices): If the by-id link for a
3758 device couldn't be resolved, fall back to sorting by the by-id link
3759 rather than segfaulting.
3760 Reported and tested by: Daniel Mierswa.
3761
5225f328
CW
37622010-11-23 Colin Watson <cjwatson@ubuntu.com>
3763
3764 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
3765 ldflags, to fix link line ordering.
3766
038b3ce8
CW
37672010-11-23 Colin Watson <cjwatson@ubuntu.com>
3768
3769 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
3770 linkers are picky about this.
3771
bf16e98e
CW
37722010-11-23 Colin Watson <cjwatson@ubuntu.com>
3773
3774 * grub-core/Makefile.am (command.lst): Adjust sed expression
3775 ordering so that extended and priority commands aren't treated as
3776 ordinary commands.
3777
7242bab6
CW
37782010-11-23 Colin Watson <cjwatson@ubuntu.com>
3779
3780 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
3781 Remove byte-swapping function calls, which are not valid in
3782 structure initialisers.
3783 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
3784 non-const.
3785 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
3786 grub_gpt_partition_type_bios_boot.
3787
14e8b279
CW
37882010-11-22 Colin Watson <cjwatson@ubuntu.com>
3789
3790 Fix test program build on GNU/kFreeBSD.
3791
3792 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
3793 $(LIBNVPAIR)' library dependencies.
3794
e6f63338 37952010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
3796
3797 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
3798
cf8ffc38
CW
37992010-11-22 Colin Watson <cjwatson@ubuntu.com>
3800
3801 * util/grub-install.in: Remove excessive quoting that broke
3802 installations to RAID devices.
3803
7f8b0fd7
VS
38042010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
3807 bootloader version instead of 0.
3808
dfd240b1
VS
38092010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
3812 warning.
3813
7b61e609
VS
38142010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
3817 retrieve the metadat sector if size isn't known.
3818 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3819
9dfe92d0
RM
38202010-11-18 Robert Millan <rmh@gnu.org>
3821
3822 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
3823 with grub_memcmp().
3824
41cc919e
VS
38252010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
3828 arrow.
3829 Reported by: Jordan Uggla.
3830
1afcc914
VS
38312010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 Make better UTF compliant.
3834
3835 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
3836 sequences as incorrect.
3837 (grub_is_valid_utf8): Likewise.
3838 (grub_utf8_to_ucs4): Likewise.
3839 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
3840 (grub_ucs4_to_utf8_alloc): Likewise.
3841 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
3842
f1808884
VS
38432010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 Make legacy_source behave like source.
3846
3847 * grub-core/commands/legacycfg.c (legacy_file): Don't call
3848 grub_show_menu.
3849 (grub_cmd_legacy_source): Call grub_show_menu if needed.
3850
24ec575b
CW
38512010-11-16 Colin Watson <cjwatson@debian.org>
3852
3853 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
3854 (-Wunused implies -Wunused-parameter, but not vice versa).
3855
72b7c7aa
CW
38562010-11-16 Colin Watson <cjwatson@ubuntu.com>
3857
3858 * configure.ac: Make error messages less confusing by testing for
3859 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
3860 accepted, but produces a diagnostic if something else is wrong).
3861
e98937aa
VS
38622010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
3865 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
3866 (now unused).
3867 (grub_keyboard_controller_init)
3868 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
3869 read the initial state since controller isn't inited yet.
3870
f6bbabc3
VS
38712010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
3874 allocate_regbeg may need to create new chunk header.
3875
22e7dbb2
VS
38762010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 Fix quoting in legacy parser.
3879
3880 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
3881 single quotes.
3882 (grub_legacy_parse): Likewise.
3883 Reported by: Jordan Uggla.
3884 Tested by: Jordan Uggla.
3885
03f80960
VS
38862010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 Don't add -lgcc on i386 and x86_64.
3889
3890 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
3891 * conf/Makefile.common (LDADD_KERNEL): Likewise.
3892 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
3893
779dc15b
VS
38942010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3895
3896 * configure.ac: Add -Wno-trampolines when supported.
3897
d20a3b37
MV
38982010-11-14 Modestas Vainius <modax@debian.org>
3899
3900 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
3901 fakeraid.
3902
e5360933
GC
39032010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
3904
3905 Add generic logical block size support for UDF.
3906
3907 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
3908 (GRUB_UDF_BLKSZ): Removed.
3909 (struct grub_udf_data): New field "lbshift" to hold the logical block
3910 size of the file system in log2 format. All users updated.
3911 (sblocklist): Change type to unsigned.
3912 (grub_udf_mount): Change type of "sblklist" to unsigned.
3913 Move AVDP search before VRS recognition, because the latter requires
3914 knowledge of the logical block size, which is detected during the
3915 former.
3916 Detect and validate logical block size during AVDP search, adding
3917 support for block sizes 512, 1024 and 4096.
3918 Make VRS recognition independent of block size.
3919
cb0229c5
GC
39202010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
3921
3922 Properly handle deleted files on UDF.
3923
3924 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
3925 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
3926 set.
3927
406858a8
GC
39282010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
3929
3930 Support reading files larger than 2 GiB.
3931
3932 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
3933 "offset" to grub_off_t.
3934 (grub_udf_read_file): Likewise for parameter "pos".
3935
130da6a7
VS
39362010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
3939 unavailable.
3940 (Simple configuration): Refer to Changes from GRUB Legacy about
3941 save_env availability.
3942
65e93f6b
VS
39432010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * util/grub-install.in: Ignore empty partition table detection
3946 instead of trying to include part_ module.
3947
1fd08bf1
VS
39482010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
3951 LVM on RAID support.
3952
de1a024f
VS
39532010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 Properly define WORDS_BIGENDIAN in wrapped environments.
3956
3957 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
3958 definition.
3959 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
3960
3961 Reported by: Manoel Rebelo Abranches.
3962 Tested by: Manoel Rebelo Abranches.
3963
bc5dd0b9
VS
39642010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * util/grub-mkconfig.in: Fix quoting.
3967
58c184be
VS
39682010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 Support big ext2 files.
3971
3972 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
3973 (grub_ext2_read_block): Support triple indirect blocks.
3974 (grub_ext2_read_file): Use 64-bit types and read size_high.
3975 (grub_ext2_open): Read size_high.
3976 Reported by: Ximin Luo.
3977 Tested by: Manoel Rebelo Abranches.
3978
5f0c02b3
VS
39792010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 * util/grub-install.in: Handle filenames containing spaces.
3982 Reported by: Jordan Uggla.
3983 Tested by: Jordan Uggla.
3984
4417aae6
VS
39852010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * util/grub-mkconfig.in (grub_script_check): New variable.
3988 Use grub_script_check instead of grub-script-check.
3989 Reported by: Barry Jackson.
3990
7625a68e
VS
39912010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * docs/grub.texi (menu): Correct the order.
3994 Reported by: D. Hugh Redelmeier.
3995
10001ac5
VS
39962010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
3999 jump.
4000
9c4cf53b
MRA
40012010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4002
10001ac5
VS
4003 * include/grub/elfload.h (grub_elf32_size): New parameter.
4004 All users updated.
9c4cf53b
MRA
4005 Return maximum segments alignment.
4006 (grub_elf64_size): Likewise.
4007 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
4008 Return maximum segments alignment.
4009 (grub_elf64_size): Likewise.
4010 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
4011 (grub_linux_claimmap_iterate): New function. Uses the
4012 "available" property in the "memory" node for memory allocation
4013 for kernel in the PowerPC loader.
9c4cf53b
MRA
4014 (grub_linux_load32): Correctly find linux entry point offset.
4015 (grub_linux_load64): Likewise.
4016
d2bf06bf
RM
40172010-11-07 Robert Millan <rmh@gnu.org>
4018
4019 On mips-yeeloong, build with -march=loongson2f when this flag is
4020 available (GCC >= 4.4).
4021 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
4022 `-march=mips3'.
4023 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
4024 or otherwise add -march=mips3.
4025
898c99a2
BC
40262010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
4027
87220a68
BC
4028 Suppress shell expansion on echo '*' and echo "*" like cases.
4029 Reported by: Jordan Uggla.
898c99a2
BC
4030
4031 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4032 string arguments before shell expansion.
4033 * tests/grub_cmd_echo.in: New testcases.
4034
4f9b406a
RM
40352010-11-07 Robert Millan <rmh@gnu.org>
4036
4037 * conf/mips-qemu-mips.rmk: Remove stale file from previous
4038 transition.
4039
80c6d25e
VS
40402010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 * grub-core/kern/emu/hostdisk.c
4043 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
4044
4a1a0153
VS
40452010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
4048 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
4049 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
4050
34706ddc
VS
40512010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
4054
6972dea9
VS
40552010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * util/grub-install.in: Replace useless recomendation to pass
4058 --modules with a recomendation to report a bug.
4059
9c693bd6
VS
40602010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 Properly register serial terminfo.
4063 Reported by: Jordan Uggla
4064
4065 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
4066 const.
4067 (grub_serial_terminfo_output_template): Likewise.
4068 (grub_cmd_serial): Register "serial" with terminfo.
4069 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
4070 grub_serial_terminfo_output.
4071
6c9e4c0c
RM
40722010-11-05 Robert Millan <rmh@gnu.org>
4073
4074 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
4075 needed).
4076
b9b3839f
RM
40772010-11-05 Robert Millan <rmh@gnu.org>
4078
4079 On Yeeloong, pass machine type information to Linux.
4080
4081 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
4082 (LOONGSON_MACHTYPE): New macro, set to
4083 "machtype=lemote-yeeloong-2f-8.9inches".
4084 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
4085 additional argument to Linux.
4086
1a3aaff4
RM
40872010-11-04 Robert Millan <rmh@gnu.org>
4088
4089 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
4090 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
4091 (its SATA disks are detected as slaveless IDE master drives on
4092 kFreeBSD).
4093 Reported by Carsten Aulbert.
4094
a75f4f62
CW
40952010-11-02 Colin Watson <cjwatson@ubuntu.com>
4096
4097 * util/bin2h.c (main): Fix spelling error in generated output.
4098
33b4b0c6
GS
40992010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
4100
4101 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
4102
2b36fbf4
VS
41032010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
4106 vga= option is supplied.
4107
74aaf558
VS
41082010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
4111 * util/grub.d/10_kfreebsd.in: Likewise.
4112 * util/grub.d/10_linux.in: Likewise.
4113 * util/grub.d/20_linux_xen.in: Likewise.
4114
6428dec3
VS
41152010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
4118 argument as an argument to no-argument option.
4119
f8729d98
VS
41202010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 * util/grub.d/10_linux.in: Add missing load_video with explicit
4123 GRUB_GFXPAYLOAD_LINUX.
4124
89d68fa6
VS
41252010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
4128
3a1197cd
VS
41292010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
4132 elements with invlid index.
4133 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4134 * grub-core/disk/raid.c (insert_array): Automatically reallocate
4135 members.
4136 * include/grub/raid.h (grub_raid_member): New struct.
4137 (grub_raid_array): Transform devices and start_sector into usage of
4138 grub_raid_member. All users updated
4139 (allocated_devs): New member.
4140
71574288
VS
41412010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4142
4143 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
4144 is modified
4145
8d40ec65
BC
41462010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
4147
4148 NetBSD build fix for getline function conflict from gnulib.
4149
4150 * Makefile.util.def (libgrubkern.a): New library for grub kernel
4151 components that depend on gnulib headers.
4152 (libgrubmods.a): Renamed from earlier libgrub.a.
4153 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
4154
95b9257e
VS
41552010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
4158 install rather than creating a broken install.
4159
26c53dc6
VS
41602010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 * util/grub-setup.c (argp): Remove misleading example of installing to
4163 a partition.
4164
4171b3c5
VS
41652010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 * util/grub-setup.c (setup): Clarify the error message.
4168
18568d18
VS
41692010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
4172
4f6a2e21
VS
41732010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4174
4175 * grub-core/kern/emu/misc.c
4176 (grub_make_system_path_relative_to_its_root)
4177 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
4178
41792010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
4180
4181 * grub-core/kern/emu/misc.c
4182 (grub_make_system_path_relative_to_its_root): Revert r2882.
4183
e138c458
VS
41842010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4185
4186 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
4187 useless field head. All users updated.
4188 (free_subchunk): Correct handling of IN_REGION subchunk.
4189
0cbcdf0e
CW
41902010-10-22 Colin Watson <cjwatson@ubuntu.com>
4191
4192 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
4193 (Supported kernels): Likewise.
4194
b65ea155
GS
41952010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
4196
4197 Make mktemp invocations portable.
4198
4199 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
4200 exit if mktemp fails.
4201 * tests/grub_script_blockarg.in: Likewise.
4202 * tests/partmap_test.in: Likewise.
4203 * tests/util/grub-shell-tester.in: Likewise.
4204 * tests/util/grub-shell.in: Likewise.
4205 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4206 * Makefile.am: Likewise, and chain shell commands with `&&'
4207 instead of ';'.
4208 * util/grub-mkrescue.in: Use the same explicit template as above, and
4209 exit if mktemp fails.
4210
05f43cdd
BC
42112010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
4212
4213 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
4214 Linux kernel, reported by Dennis Schridde.
4215
800e6a9b
SJ
42162010-10-17 Szymon Janc <szymon@janc.net.pl>
4217
4218 * grub-core/normal/auth.c (grub_auth_check_authentication):
4219 Set-but-not-used variable removed.
4220
d82df574
VS
42212010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * docs/grub.texi (GNU/Linux): Document APM unavailability with
4224 32-bit linux protocol.
4225
7bced458
VS
42262010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
4229 cursor shape for sanity.
4230
5b027690
VS
42312010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * docs/grub.texi (Installation): Document buggy BIOS install.
4234
ba5f65cf
VS
42352010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * docs/grub.texi (Installation): Indent.
4238
fdf2ec9c
VS
42392010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * util/grub-setup.c (setup): New parameter allow_floppy.
4242 (arguments): New member allow_floppy.
4243 (argp_parser): Handle --allow-floppy.
4244 (main): Pass allow_floppy.
4245 * util/grub-install.in: New option --allow-floppy passed though to
4246 grub-setup.
4247
861dfd4c
VS
42482010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4249
4250 * util/grub-install.in: Handle partitionless disks.
4251
f77a8c24
VS
42522010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * util/grub-setup.c (setup): Don't clean blocklists before readability
4255 verfification.
4256
27d9ee32
VS
42572010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * docs/grub.texi (Installation): Document embedding zone. Remove
4260 obsolete grub-install example.
4261
6bdda8f8
SJ
42622010-10-16 Szymon Janc <szymon@janc.net.pl>
4263
4264 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4265 Set-but-not-used variable ifdef'ed.
4266 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
4267 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
4268 variable removed.
4269 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
4270 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
4271 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4272 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
4273 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
4274 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
4275 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
4276 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
4277 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4278 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
4279 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
4280 Likewise.
4281
e19b016b
VS
42822010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
4285 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
4286 enum value.
4287
6c8d3002
VS
42882010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
4291 synonym to _S5_. Needed for some DSDTs.
4292
c32b51c9
VS
42932010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 Userspace ACPI parser debugging.
4296
4297 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
4298 headers and add relevant defines. Don't include standard headers.
4299 (main) [GRUB_DSDT_TEST]: New function.
4300 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
4301 Don't declare functions.
4302
fbfbeb39
VS
43032010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 Remove dead grub_efi_mm_fini.
4306
4307 * grub-core/kern/efi/mm.c (allocated_page): Removed.
4308 (ALLOCATED_PAGES_SIZE): Likewise.
4309 (MAX_ALLOCATED_PAGES): Likewise.
4310 (allocated_pages): Likewise.
4311 (grub_efi_allocate_pages): Don't record allocated pages.
4312 (grub_efi_free_pages): Likewise.
4313 (grub_efi_mm_init): Likewise.
4314 (grub_efi_mm_fini): Removed.
4315
65f7ed7c
VS
43162010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4317
4318 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
4319 (grub_efi_mm_init): Take into account the memory map size increase.
4320
24977b44
VS
43212010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
4324 (serial_hw_put): Wait based on real time rather than port reads. Don't
4325 roken ports.
4326 * include/grub/serial.h (grub_serial_port): New field broken.
4327
1eb01cd2
RM
43282010-10-16 Robert Millan <rmh@gnu.org>
4329
4330 * grub-core/kern/emu/misc.c
4331 (grub_make_system_path_relative_to_its_root): Fix premature return
4332 when processing non-root ZFS filesystems.
5f8b440b 4333 Reported by Sergio Talens-Oliag.
1eb01cd2 4334
2d5fed60
RM
43352010-10-15 Robert Millan <rmh@gnu.org>
4336
4337 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
4338 guarantee compressed ones are processed first.
4339
d0f4c1ea
VS
43402010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
4343 grub_efiemu_autocore.
4344
d87c681f
VS
43452010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
4348 rather than 0x1b.
4349 (grub_console_getkey): Use correct jae opcode rather than ja.
4350
219b3564
RM
43512010-10-12 Robert Millan <rmh@gnu.org>
4352
4353 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
4354 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
4355 variable. All references updated.
4356
4357 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
4358
20c6bb7e
VS
43592010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 Correctly distinguish mdraid flavours.
4362
4363 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
4364 (insert_array): New argument raid.
4365 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
4366 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
4367 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
4368
74baff84
VS
43692010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
4372 handling of special keys.
4373
3ef068df 43742010-10-02 Aleš Nesrsta <starous@volny.cz>
4375
c7980ad9
VS
4376 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
4377 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 4378
a9455194 43792010-10-02 Aleš Nesrsta <starous@volny.cz>
4380
c7980ad9
VS
4381 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
4382 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
4383 users updated.
a9455194 4384 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 4385 Use right endpoint when querying descriptor.
a9455194 4386
441cfe65
VS
43872010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 Clear out 0x80 color bit on EFI.
4390 Tested by: decoder
4391 Reported by: decoder and meta tech.
4392
4393 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
4394 (grub_console_setcolorstate): Clear out 0x80 bit.
4395 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
4396 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
4397 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
4398
bf26bcc4
VS
43992010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
4402 Set to "auto".
4403
6e3c515d
VS
44042010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
4407 mo_file after freeing.
4408
e6d983ba
VS
44092010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
4412
74ccb5b5
VS
44132010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
4416 flags.
4417
17821956
VS
44182010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
4421 usage.
4422
ee74fa48
VS
44232010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 Put terminfo into core on ieee1275 and yeeloong (needed for console).
4426
4427 * gentpl.py: New groups terminfoinkernel and terminfomodule.
4428 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
4429 and terminfo.h when needed.
4430 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
4431 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
4432 (terminfo): Enable only on terminfokernel.
4433 (extcmd): Likewise.
4434 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
4435 * include/grub/lib/arg.h: Likewise.
4436 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
4437 incorrect usage of ->.
4438
aa438e68
VS
44392010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
4442 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
4443
57994012
VS
44442010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 Fix coreboot compilation.
4447
4448 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4449 Take VBE info into account even if only text is supported.
4450 (fill_vbe_info): Take into account the case when only VGA text
4451 is supported.
4452 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
4453 on coreboot, multiboot and qemu.
4454
2a406611
VS
44552010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
4458 debug messages.
4459 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
4460
d33613fc
VS
44612010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
4464 parameters.
4465
44a1b432
VS
44662010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4467
4468 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
4469 if they were BSD-style.
4470
edde54e6
VS
44712010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4472
4473 * grub-core/boot/i386/pc/lnxboot.S: Replace
4474 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
4475 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
4476
b65830fa
VS
44772010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 Write embedding zone using Reed-Solomon.
4480
4481 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
4482 * grub-core/Makefile.am (rs_decoder.S): New target.
4483 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
4484 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
4485 (multiboot): Move to RS part.
4486 (post_reed_solomon): New label.
4487 (grub_boot_drive): Move to non-RS part since it's modified in memory
4488 on boot.
4489 Include rs_decoder.S.
4490 * grub-core/lib/reed_solomon.c: New file.
4491 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
4492 New definition.
4493 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
4494 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
4495 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
4496 * include/grub/partition.h (grub_partition_map): Change prototype of
4497 embed to allow returning additional sectors.
4498 * include/grub/reed_solomon.h: New file.
4499 * util/grub-setup.c (setup): Handle Reed-Solomon.
4500
0b4b227f
CW
45012010-09-28 Colin Watson <cjwatson@ubuntu.com>
4502
4503 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
4504 i386 and x86-64 definedness tests.
4505
f772623b
YB
45062010-09-27 Yves Blusseau <blusseau@zetam.org>
4507
4508 Fix generation of kernel_syms.lst
4509
4510 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
4511 ASM_PREFIX
4512
8e57a6ca
RM
45132010-09-26 Robert Millan <rmh@gnu.org>
4514
4515 Support degraded ZFS arrays in "grub-probe -t device" resolution.
4516
4517 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
4518 the pool is an array of devices, iterate through it and return the
4519 first device that passes a stat() test (instead of blindly returning
4520 the first one).
4521
f9130836
RM
45222010-09-26 Robert Millan <rmh@gnu.org>
4523
4524 Build fixes for GNU/kFreeBSD.
4525
4526 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
4527 to programs that require ZFS conversion.
4528 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
4529 kernels that don't have FLOPPY_MAJOR.
4530
96510faf
BC
45312010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
4532
4533 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
4534
449333eb
BC
45352010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
4536
4537 Fix grub-emu build.
4538
4539 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
4540 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
4541 mdraid09 and mdraid1x.
4542
e1fd1939
CW
45432010-09-24 Colin Watson <cjwatson@ubuntu.com>
4544
4545 Re-enable grub-extras.
4546
4547 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
4548 avoid confusing Automake. Run autogen only twice, once for the top
4549 level and once for grub-core. Add Makefile.util.def and
4550 Makefile.core.def from extra modules to the appropriate autogen
4551 invocations. If Makefile.common exists in an extra module, include
4552 it in both Makefile.util.am and grub-core/Makefile.core.am;
4553 similarly, include any Makefile.util.common file in Makefile.util.am
4554 and any Makefile.core.common file in grub-core/Makefile.core.am.
4555 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
4556 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
4557 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
4558 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
4559
4560 * gentpl.py (gvar_add): Turn GVARS into a set.
4561 (global_variable_initializers): Sort global variables on output.
4562 (vars_init): New function.
4563 (first_time): Likewise.
4564 (library): Ensure that non-global variable initialisations are
4565 emitted before the first time we emit code for a library block.
4566 Append to variables rather than setting them. Only emit
4567 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
4568 each conditional path.
4569 (program): installdir() emits an Autogen macro, so must be passed to
4570 var_add rather than gvar_add.
4571 (data): Likewise.
4572 (script): Likewise.
4573 (rules): New function, centralising handling for different target
4574 types. Set up Guile association lists for first_time and vars_init,
4575 and send most output to a diversion so that variable initialisations
4576 can be emitted first.
4577 (module_rules): Use new rules function.
4578 (kernel_rules): Likewise.
4579 (image_rules): Likewise.
4580 (library_rules): Likewise.
4581 (program_rules): Likewise.
4582 (script_rules): Likewise.
4583 (data_rules): Likewise.
4584
4585 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
4586
4587 * .bzrignore: Add contrib and grub-core/contrib. Remove
4588 grub-core/Makefile.gcry.am.
4589
1d12cf29
YB
45902010-09-24 Yves Blusseau <blusseau@zetam.org>
4591
4592 * grub-core/lib/LzFind.c: Add missing include.
4593 * grub-core/lib/LzmaEnc.c: Likewise.
4594 * grub-core/script/lexer.c: Likewise.
4595 * grub-core/script/yylex.l: Likewise.
4596 * util/grub-macho2img.c: Likewise.
4597 * util/grub-menulst2cfg.c: Likewise.
4598 * util/grub-mklayout.c: Likewise.
4599 * util/grub-mkpasswd-pbkdf2.c
4600 * util/grub-mkrelpath.c: Likewise.
4601 * util/resolve.c: Likewise.
4602
dd363028
BC
46032010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
4604
4605 * Makefile.util.def (example_unit_test): Add
4606 grub-core/gnulib/libgnu.a.
4607
f5a109e2
GS
46082010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
4609
4610 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
4611
6d0fa83c
VS
46122010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 Support xz compression on yeeloong.
4615
4616 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
4617 * configure.ac: Check for LZMA.
4618 * grub-core/Makefile.core.def (xz_decompress): New target.
4619 (none_decompress): Likewise.
4620 * grub-core/boot/decompressor/minilib.c: New file.
4621 * grub-core/boot/decompressor/none.c: Likewise.
4622 * grub-core/boot/decompressor/xz.c: Likewise.
4623 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
4624 * grub-core/kern/mips/cache_flush.S: Likewise.
4625 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
4626 * grub-core/kern/mips/startup.S: Move first stage to ...
4627 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
4628 nomacro.
4629 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
4630 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
4631 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
4632 Allocate statically.
4633 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
4634 Allocate statically or use scratch. Don't check CRC32.
4635 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
4636 Allocate statically. Don't check CRC32.
4637 * include/grub/decompressor.h: New file.
4638 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
4639 Removed.
4640 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
4641 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
4642 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
4643 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
4644 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
4645 * util/grub-mkimage.c (grub_compression_t): New type.
4646 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
4647 (image_target_desc): New field default_compression.
4648 (image_targets): Adjust yeeloong targets.
4649 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
4650 (compress_kernel): New parameter comp.
4651 (generate_image): Likewise. Handle new compression case.
4652 (options): New option --compression
4653 (help): Likewise.
4654 (main): Handle new option.
4655
1b655af6
GS
46562010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
4657
4658 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
4659
8f03f0b5
CW
46602010-09-22 Colin Watson <cjwatson@ubuntu.com>
4661
4662 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
4663 typo in __i386__ conditional.
4664
7835dfd3
VS
46652010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
4668 include.
4669
e255597e
VS
46702010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4671
6d0fa83c 4672 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
4673
4674 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
4675 new tags as supported.
4676 (acpiv2_size): New function.
4677 (grub_multiboot_get_mbi_size): Take new tags into account.
4678 (grub_multiboot_make_mbi): Add new tags.
4679 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 4680
6cc14051 46812010-09-21 Aleš Nesrsta <starous@volny.cz>
4682
4683 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
4684 Added missing configuration of USB device.
4685
df7769d8
CW
46862010-09-21 Colin Watson <cjwatson@ubuntu.com>
4687
4688 * grub-core/normal/menu_entry.c (run): Make sure we always return
4689 a value.
4690
b031012d
CW
46912010-09-21 Colin Watson <cjwatson@ubuntu.com>
4692
4693 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
4694 NumberOfPages is UINT64 according to the UEFI specification, not
4695 UINTN. Fix printf format.
4696
174de8f3
CW
46972010-09-21 Colin Watson <cjwatson@ubuntu.com>
4698
4699 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
4700 `err' to grub_usb_err_t.
4701 Reported and tested by: KESHAV P.R.
4702
d7dbe923
CW
47032010-09-21 Colin Watson <cjwatson@ubuntu.com>
4704
4705 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
4706 tpart non-const, so that we can assign to it. (Since this is a
4707 typedef, the constness refers to the pointer rather than what it
4708 points to.)
4709
8d5e2af3
CW
47102010-09-21 Colin Watson <cjwatson@ubuntu.com>
4711
4712 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
4713 $(top_srcdir)/grub-core/gnulib as well as
4714 $(top_builddir)/grub-core/gnulib.
4715 Reported by: KESHAV P.R.
4716
5c527783
CW
47172010-09-21 Colin Watson <cjwatson@ubuntu.com>
4718
4719 * util/grub-install.in: Fix the bootloader ID option to be
4720 consistently --bootloader-id, not --bootloader_id.
4721 Reported by: KESHAV P.R.
4722
d309a16e
CW
47232010-09-21 Colin Watson <cjwatson@ubuntu.com>
4724
4725 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
4726 check hash checksum." consistently translatable.
4727
b830cd16
YB
47282010-09-21 Yves Blusseau <blusseau@zetam.org>
4729
4730 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
4731 $(top_builddir).
4732
c4fe27a8
CW
47332010-09-21 Colin Watson <cjwatson@ubuntu.com>
4734
4735 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
4736 (GRUB_MOD_INIT): Register sha1sum command.
4737 (GRUB_MOD_FINI): Unregister sha1sum command.
4738
a4c1d277
YB
47392010-09-21 Yves Blusseau <blusseau@zetam.org>
4740
4741 Keep boot and grub directory names in sync with utils scripts
4742
4743 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
4744 * config.h.in: Add previous macros.
4745 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
4746 * util/grub-install.in: Use $bootdir and $grubdir variables.
4747
4eff79d2
CW
47482010-09-21 Colin Watson <cjwatson@ubuntu.com>
4749
4750 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
4751 convert partition names to disk names if the new `convert' parameter
4752 is set.
4753 (grub_util_biosdisk_get_grub_dev): If opening the disk device
4754 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
4755 disk in its own right. This can happen with Xen disk images.
4756
934d7e44
YB
47572010-09-21 Yves Blusseau <blusseau@zetam.org>
4758
4759 * util/grub-editenv.c: Update strings to avoid warnings when generating
4760 grub.pot file.
4761 * util/grub-setup.c: Likewise.
934d7e44 4762
df3367cc
VS
47632010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * configure.ac: Change version to 1.99~beta0.
4766
77a94e98
VS
47672010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
4770 Add BADRAM.
4771 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
4772 Likewise.
4773 * include/multiboot.h: Resynced with specification.
4774 * include/multiboot2.h: Likewise.
4775
269004c1
CW
47762010-09-21 Colin Watson <cjwatson@ubuntu.com>
4777
4778 Fix po directory handling.
4779
4780 * configure.ac: Create po/Makefile.in rather than po/Makefile.
4781 * grub-core/gnulib/Makefile.am: Import gettext module.
4782 * m4/gnulib-cache.m4: Likewise.
4783 * m4/gnulib-comp.m4: Likewise.
4784 * m4/gettext.m4: New file, from gnulib.
4785 * m4/glibc2.m4: Likewise.
4786 * m4/iconv.m4: Likewise.
4787 * m4/intdiv0.m4: Likewise.
4788 * m4/intl.m4: Likewise.
4789 * m4/intldir.m4: Likewise.
4790 * m4/intlmacosx.m4: Likewise.
4791 * m4/intmax.m4: Likewise.
4792 * m4/inttypes-pri.m4: Likewise.
4793 * m4/lcmessage.m4: Likewise.
4794 * m4/lib-ld.m4: Likewise.
4795 * m4/lib-link.m4: Likewise.
4796 * m4/lib-prefix.m4: Likewise.
4797 * m4/lock.m4: Likewise.
4798 * m4/nls.m4: Likewise.
4799 * m4/po.m4: Likewise.
4800 * m4/printf-posix.m4: Likewise.
4801 * m4/progtest.m4: Likewise.
4802 * m4/threadlib.m4: Likewise.
4803 * m4/uintmax_t.m4: Likewise.
4804 * m4/visibility.m4: Likewise.
4805 * po/Makefile.am: Remove.
4806 * po/Makefile.in.in: New file, from gettext.
4807 ($(DOMAIN).pot-update): Support POTFILES-shell.
4808 * po/Makevars: New file.
4809 * po/POTFILES-shell: Rename to ...
4810 * po/POTFILES-shell.in: ... this. Update.
4811 * po/POTFILES: Rename to ...
4812 * po/POTFILES.in: ... this. Update.
4813 * po/Rules-quot: New file, from gettext.
4814 * po/boldquot.sed: Likewise.
4815 * po/en@boldquot.header: Likewise.
4816 * po/en@quot.header: Likewise.
4817 * po/insert-header.sin: Likewise.
4818 * po/quot.sed: Likewise.
4819 * po/remove-potcdate.sin: Likewise.
4820
3e0fa5d0
VS
48212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
4824
ade9bd66
VS
48252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 * util/grub.d/20_linux_xen.in: Use submenus.
4828
fc55cc4c
VS
48292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 Support submenus.
4832
4833 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
4834 parameter submenu. All users updated.
4835 * grub-core/normal/main.c (free_menu): Rename to ...
4836 (grub_normal_free_menu): ... this. Made global.
4837 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
4838 if requested.
4839 * grub-core/normal/menu_entry.c (screen): New field submenu.
4840 (make_screen): Set submenu.
4841 (run): Open new context if requested.
4842 * include/grub/menu.h (grub_menu_entry): New field submenu.
4843 * include/grub/normal.h (grub_normal_free_menu): New proto.
4844
600cedf7
VS
48452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 Menu entries extractor.
4848
4849 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
4850 variants.
4851 (GRUB_MOD_INIT): Register new variants.
4852 (GRUB_MOD_FINI): Unregister new variants.
4853 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
4854 into grub_cmd_legacy_source.
4855 (grub_cmd_legacy_source): Implement extractor variants.
4856 (GRUB_MOD_INIT): Register new variants.
4857 (GRUB_MOD_FINI): Unregister new variants.
4858 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
4859 as an extractor.
4860 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
4861 search as an extractor.
4862 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
4863 test as an extractor.
4864 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
4865 as an extractor.
4866 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
4867 (grub_env_new_context): New function.
4868 (grub_env_context_open): Likewise.
4869 (grub_env_extractor_open): Likewise.
4870 (grub_env_extractor_close): Likewise.
4871 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
4872 grub_extractor_level.
4873 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
4874 * include/grub/env.h (grub_env_extractor_open): New proto.
4875 (grub_env_extractor_close): Likewise.
4876 * include/grub/normal.h (grub_extractor_level): New external variable.
4877
7bda3a87
VS
48782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4879
4880 Make cutmem accept a region specification.
4881 Suggested by: Samuel Thibault
4882
4883 * grub-core/mmap/mmap.c (parsemem): New function.
4884 (grub_cmd_cutmem): Handle new arguments.
4885
2ea57f88
VS
48862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 New command cutmem.
4889
4890 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
4891 (GRUB_MOD_INIT): Register new command.
4892 (GRUB_MOD_FINI): Unregister new command.
4893
74342e31
VS
48942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 Support some annoying BSD and Minix subpartitions.
4897
4898 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
4899 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
4900 Properly handle concatenation.
4901 * grub-core/kern/device.c (grub_device_iterate): Likewise.
4902 * grub-core/normal/completion.c (iterate_partition): Likewise.
4903 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
4904 contain partition. All users updated.
4905 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
4906 struct.
4907 (grub_openbsdlabel_partition_map): Likewise.
4908 (bsdlabel_partition_map_iterate): Rename to ..
4909 (iterate_real): ... this. New arguments sector, freebsd and pmap.
4910 (bsdlabel_partition_map_iterate): New function.
4911 (netopenbsdlabel_partition_map_iterate): Likewise.
4912 (netbsdlabel_partition_map_iterate): Likewise.
4913 (openbsdlabel_partition_map_iterate): Likewise.
4914 (GRUB_MOD_INIT): Register new partmaps.
4915 (GRUB_MOD_FINI): Unregister new partmaps.
4916 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
4917 (grub_partition_msdos_iterate): ... this. All users updated.
4918 Don't support embedding other than in a minix partition.
4919 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
4920 proto.
4921 * include/grub/partition.h (grub_partition): New field msdostype.
4922 * util/grub-install.in: Handle openbsd and netbsd types being in
4923 part_bsd module.
4924
1e8d555b
VS
49252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
4928
4929 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
4930 * grub-core/Makefile.core.def (mdraid): Renamed to ...
4931 (mdraid09): ... this.
4932 (mdraid1x): New module.
4933 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
4934 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
4935
899d8af4
VS
49362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
4939 vsprintf.
4940
40901acd
CW
49412010-09-20 Colin Watson <cjwatson@ubuntu.com>
4942
4943 * grub-core/commands/efi/lsefimmap.c: Correct header.
4944 * NEWS: Update.
4945
dfe3b247
CW
49462010-09-20 Colin Watson <cjwatson@ubuntu.com>
4947
4948 * util/grub-editenv.c (argp_parser): Don't pass translated strings
4949 as printf format strings; the translations might contain '%' which
4950 could cause a crash.
4951 (main): Likewise.
4952 * util/grub-fstest.c (argp_parser): Likewise.
4953 * util/grub-setup.c (argp_parser): Likewise.
4954 (main): Likewise.
4955
3286a4b4
VS
49562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 Use argp in grub-fstest.
4959
4960 * util/grub-fstest.c: Don't include getopt.h.
4961 Include argp.h.
4962 (root): New variable.
4963 (args_count): Likewise.
4964 (nparm): Likewise.
4965 (num_disks): Likewise.
4966 (images): Likewise.
4967 (cmd): Likewise.
4968 (debug_str): Likewise.
4969 (args): Likewise.
4970 (options): Transformed to argp.
4971 (usage): Removed.
4972 (main): Split argument parsing into ...
4973 (argp_parser): ... this. Changed to argp format.
4974 (argp): New variable.
4975 (main): Use argp_parse.
4976
3dccbe4b
TG
49772010-09-20 Tristan Gingold <gingold@free.fr>
49782010-09-20 Robert Millan <rmh.grub@aybabtu.com>
49792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * grub-core/commands/efi/lsefimmap.c: New file.
4982 * grub-core/Makefile.core.def (lsefimmap): New module.
4983 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
4984
38c259a7
VS
49852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 Pause the execution (10s max) if any errors are displayed so the user
4988 has a chance to see them.
4989
4990 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
4991 (grub_print_error): Increment grub_err_printed_errors.
4992 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
4993 execution if any errors were displayed.
4994 (show_menu): Remove old code for pause.
4995 * grub-core/normal/menu_entry.c (run): Likewise.
4996 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
4997 users updated.
4998 (grub_normal_get_char_counter): Likewise.
4999 * include/grub/err.h (grub_err_printed_errors): New external variable.
5000 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
5001
f218b09c
VS
50022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 Support multiboot VBE info.
5005
5006 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5007 Take VBE info into account.
5008 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
5009 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5010 Call fill_vbe_info when appropriate.
5011 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
5012 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
5013 as supported.
5014 (grub_multiboot_get_mbi_size): Take new tags into account.
5015 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
5016 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5017 Call fill_vbe_tag when appropriate.
5018 (grub_multiboot_make_mbi): Properly align tags.
5019 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
5020 function.
5021 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
5022 proto.
5023 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
5024
a9cc5438
VS
50252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 Suport manual terminal geometry specification.
5028
5029 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
5030 Save state in grub_ofconsole_terminfo_output.
5031 (grub_ofconsole_term): Use grub_terminfo_getwh.
5032 (grub_ofconsole_getwh): Removed.
5033 * grub-core/term/serial.c (grub_serial_getwh): Removed.
5034 (grub_serial_term): Use grub_terminfo_getwh.
5035 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
5036 (options): New struct.
5037 (OPTION_*): New enum.
5038 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
5039 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
5040 width and height.
5041 (grub_terminfo_getwh): New proto.
5042 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
5043
1a8fed20
VS
50442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 Handle legacy "terminal" command.
5047
5048 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
5049 and FLAG_TERMINAL.
5050 (legacy_commands): Add terminal and title.
5051 (grub_legacy_parse): Handle terminal. Simplify title handling.
5052
41e9c57d
VS
50532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
5056 parameters overflow.
5057
61c874c5
CW
50582010-09-20 Colin Watson <cjwatson@ubuntu.com>
5059
5060 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
5061 widthspec.h.
5062
5063 * docs/grub.texi (Shell-like scripting): Document `!'.
5064 (Network): Simplify using new i386-pc-pxe format. Mention
5065 grub-mknetdir.
5066
5067 * NEWS: Update.
5068
943682b4
CW
50692010-09-20 Colin Watson <cjwatson@ubuntu.com>
5070
5071 * Makefile.am (SUBDIRS): Restore "."; it's important to force
5072 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
5073 when needed.
5074
6d3d698d
CW
50752010-09-20 Colin Watson <cjwatson@ubuntu.com>
5076
5077 * grub-core/commands/efi/lsefisystab.c: Correct header.
5078 * grub-core/commands/efi/lssal.c: Likewise.
5079 * grub-core/commands/testload.c: Likewise.
5080
c982589f
CW
50812010-09-20 Colin Watson <cjwatson@ubuntu.com>
5082
5083 * util/grub-mkrescue.in: Add explicit root argument to --set to
5084 prevent the UUID being interpreted as an argument to --set (matches
5085 previous change to prepare_grub_to_access_device).
5086
a63c31b6
CW
50872010-09-20 Colin Watson <cjwatson@ubuntu.com>
5088
5089 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
5090 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
5091 the verbosity of later #ifs.
5092 (find_partition_start): Define this function on FreeBSD too.
5093 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
5094 function.
5095 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
5096 on FreeBSD.
5097
6439b8ee
YB
50982010-09-20 Yves Blusseau <blusseau@zetam.org>
5099
5100 * util/grub-editenv.c: Use argp instead of getopt.
5101
c5930ec8
YB
51022010-09-20 Yves Blusseau <blusseau@zetam.org>
5103
5104 * util/grub-setup.c: Use argp instead of getopt.
5105
15c69261
YB
51062010-09-20 Yves Blusseau <blusseau@zetam.org>
5107
5108 Use gnulib-tool to create gnulib source files.
5109
5110 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
5111 grub-core/gnulib directories
5112 * .bzignore: Add **/.deps and autogenerated gnulib files
5113 * configure.ac: Assign auxiliary directory to build-aux, add invocation
5114 of gnulib macros, add grub-core/gnulib/Makefile
5115 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
5116 include m4 directory to aclocal.
5117 * Makefile.util.def: Remove direct compilation of gnulib source files
5118 and use the new grub-core/gnulib/libgnu.a.
5119 * build-aux/config.rpath: move config.rpath from top directory to
5120 build-aux
5121 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
5122 in gnulib headers
5123 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
5124 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
5125 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
5126 header.
5127 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
5128 string.
5129
e511c9f5
YB
51302010-09-20 Yves Blusseau <blusseau@zetam.org>
5131
5132 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
5133 grub-core/genmod.sh and grub-core/gensyminfo.sh
5134
c2dede05
BC
51352010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
5136
5137 Add a test for echo command options.
5138
5139 * tests/grub_cmd_echo.in: New test.
5140 * Makefile.util.def: Rules for new test.
5141
c55f5018
SJ
51422010-09-20 Szymon Janc <szymon@janc.net.pl>
5143
5144 Remove crc.mod and move crc command to hashsum.mod.
5145 Remove lib/crc.c - users updated to use gcrypt implementation.
5146
5147 * grub-core/commands/crc.c: Removed.
5148 * grub-core/Makefile.core.def (crc): Module removed.
5149 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
5150 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
5151 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
5152 * grub-core/lib/crc.c: Removed.
5153 * include/grub/lib/crc.h: Removed.
5154 * Makefile.util.def (crc): Remove lib/crc.c
5155 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
5156 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
5157 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
5158 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
5159 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
5160 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
5161
e0337366
VS
51622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5163
5164 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
5165
742f9232
VS
51662010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 Split config.h for util and core.
5169
5170 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
5171 (ADDR32): Likewise.
5172 (DATA32): Likewise.
5173 (BSS_START_SYMBOL): Likewise.
5174 (END_SYMBOL): Likewise.
5175 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
5176 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
5177 * config.h.in: New file.
5178 * configure.ac: Use config-util.h as config define file.
5179 Rename MACHINE into GRUB_MACHINE. All users updated.
5180 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
5181 updated.
5182 (NESTED_FUNC_ATTR): Likewise.
5183 Substitue new variables.
5184 (COND_HAVE_ASM_USCORE): New conditional.
5185 * grub-core/Makefile.am (ASM_PREFIX): New variable.
5186 (kernel_syms.lst): Use ASM_PREFIX.
5187 * grub-core/kern/emu/console.c: Include config-util.h.
5188 * grub-core/kern/emu/misc.c: Likewise.
5189 * grub-core/kern/emu/mm.c: Likewise.
5190 * include/grub/emu/misc.h: Likewise.
5191 * include/grub/libgcc.h: Likewise.
5192
39feb0e8
VS
51932010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
5196 constants usage.
5197 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
5198 Fix GRUB_TERM_KEY_* constants usage.
5199 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
5200
9af6dac3
VS
52012010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
5204 print pointer.
5205 * grub-core/bus/usb/uhci.c: Remove empty define.
5206 (grub_uhci_check_transfer): Add missing cast.
5207 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
5208 print pointer.
5209 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
5210 PRIuGRUB_SIZE.
5211 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
5212
d6d94820
VS
52132010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 * grub-core/Makefile.core.def (legacycfg): Add
5216 lib/i386/pc/vesa_modes_table.c on emu.
5217
3572f2b6
BC
52182010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5219
5220 Reduce number of temporary files generated by build system.
5221
5222 * grub-core/gencmdlist.sh: Removed.
5223 * grub-core/genfslist.sh: Removed.
5224 * grub-core/genhandlerlist.sh: Removed.
5225 * grub-core/genmodsrc.sh: Removed.
5226 * grub-core/genpartmaplist.sh: Removed.
5227 * grub-core/genparttoollist.sh: Removed.
5228 * grub-core/gentermiinallist.sh: Removed.
5229 * grub-core/genvideolist.sh: Removed.
5230
5231 * grub-core/genmod.sh.in: New file.
5232 * grub-core/gensyminfo.sh.in: New file.
5233
5234 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
5235 * conf/Makefile.extra-dist: Update with new files.
5236 * gentpl.py: Remove rules related to unnecessary temporary files.
5237 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
5238 and und-* files.
5239 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
5240 genmod.sh scripts.
5241 * grub-core/bus/usb/uhci.c: Remove empty #define.
5242 * grub-core/genmoddep.awk: Updated with new syminfo format.
5243 * util/bash-completion.d/Makefile.am: Add config.log to
5244 CLEANFILES.
5245
c836b030
YB
52462010-09-19 Yves Blusseau <blusseau@zetam.org>
5247
5248 * Makefile.util.def: Add forgotten $(LIBINTL) library.
5249
2f4e8053
BC
52502010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5251
5252 * util/grub-mkconfig.in: Check the config script for syntax errors
5253 before saving.
5254
75831c34
CW
52552010-09-19 Colin Watson <cjwatson@ubuntu.com>
52562010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 * Makefile.util.def (grub-install): Use util/grub-install.in on all
5259 platforms.
5260 * util/grub-install.in: Add EFI and IEEE1275 support.
5261 * util/i386/efi/grub-install.in: Removed.
5262 * util/ieee1275/grub-install.in: Likewise.
5263
eaf41b25
VS
52642010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
5267 (grub_cmd_cmosclean): Likewise.
5268 (GRUB_MOD_INIT): Register command cmosclean.
5269 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
5270 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
5271
1a9130dd
CPE
52722010-09-18 Carles Pina i Estany <carles@pina.cat>
52732010-09-18 Aleš Nesrsta <starous@volny.cz>
52742010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5275
5276 Add keyboard layouts support.
5277
5278 * Makefile.util.def (grub-mklayout): New file.
5279 (grub-kbdcomp): New script.
5280 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
5281 Add keyboard_layouts.h.
5282 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
5283 commands/boot.c on yeeloong.
5284 (keylayouts): New module.
5285 * grub-core/bus/usb/ohci.c
5286 * grub-core/bus/usb/uhci.c
5287 * grub-core/bus/usb/usbhub.c (rescan): New variable.
5288 (grub_usb_add_hub): Poll interrupt pipe for device handling.
5289 (attach_root_port): Likewise.
5290 (poll_nonroot_hub): Likewise.
5291 (grub_usb_poll_devices): Likewise.
5292 (detach_device): Close transfer.
5293 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
5294 function.
5295 (grub_usb_bulk_setup_readwrite): Likewise.
5296 (grub_usb_bulk_finish_readwrite): Likewise.
5297 * grub-core/commands/keylayouts.c: New file.
5298 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
5299 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
5300 aliases.
5301 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
5302 support scancode 2.
5303 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
5304 * include/grub/keyboard_layouts.h: New file.
5305 * util/grub-mklayout.c: New file.
5306 * util/grub-kbdcomp.in: Likewise.
5307
a1d84a5e
VS
53082010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 Unify memory types.
5311
5312 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
5313 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
5314 types.
5315 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
5316 (grub_upper_mem): Likewise.
5317 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
5318 * include/grub/memory.h (grub_memory_type_t): New enum.
5319 All users updated.
5320
9696382e
VS
53212010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * grub-core/Makefile.core.def (lsapm): New module.
5324 * grub-core/commands/i386/pc/lsapm.c: New file.
5325 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
5326 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
5327 Likewise.
5328 * include/grub/i386/pc/apm.h: New file.
5329 * include/multiboot.h (multiboot_apm_info): New struct.
5330
53312010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 GRUB-legacy configuration file support.
5334
5335 * Makefile.util.def (grub-menulst2cfg): New util.
5336 * docs/man/grub-menulst2cfg.h2m: New file.
5337 * grub-core/Makefile.core.def (legacycfg): New module.
5338 * grub-core/commands/legacycfg.c: New file.
5339 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
5340 (grub_normal_add_menu_entry): ... this.
5341 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
5342 (grub_normal_set_password): ...this.
5343 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
5344 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
5345 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
5346 * grub-core/lib/legacy_parse.c: New file.
5347 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
5348 * include/grub/i386/pc/vesa_modes_table.h: New file.
5349 * include/grub/legacy_parse.h: Likewise.
5350 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
5351 * util/grub-menulst2cfg.c: New file.
5352
bf8d1338
CW
53532010-09-17 Colin Watson <cjwatson@ubuntu.com>
5354
5355 * grub-core/kern/emu/hostdisk.c
5356 (convert_system_partition_to_system_disk): Initialise node.
5357
9c0bad2e
CW
53582010-09-17 Colin Watson <cjwatson@ubuntu.com>
5359
5360 * grub-core/kern/emu/hostdisk.c
5361 (convert_system_partition_to_system_disk): Fix devmapper memory pool
5362 leak.
5363 Reported and based on patch by: Modestas Vainius.
5364
a939d135
CW
53652010-09-17 Colin Watson <cjwatson@ubuntu.com>
5366
5367 Fix DM-RAID probing with recent versions of device-mapper udev
5368 rules.
5369
5370 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
5371 canonicalise device paths under /dev/mapper/.
5372 (convert_system_partition_to_system_disk): Compare the
5373 uncanonicalised path to /dev/mapper/ rather than the canonicalised
5374 path, since device nodes under /dev/mapper/ are often symlinks.
5375
0f7ee3c9
YB
53762010-09-17 Yves Blusseau <blusseau@zetam.org>
5377
5378 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
5379
10854d0d
YB
53802010-09-16 Yves Blusseau <blusseau@zetam.org>
5381
5382 * configure.ac: Avoid some annoying error messages if freetype-config
5383 program is not found.
5384
108538d8
CW
53852010-09-16 Colin Watson <cjwatson@ubuntu.com>
5386
5387 Support RAID on virtio devices, and others.
5388
5389 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
5390 Rename to ...
5391 [__MINGW32__] (grub_find_device): ... this.
5392 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
5393 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
5394 reasonable default if dir is NULL.
5395 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
5396 ...
5397 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
5398 (grub_guess_root_device): Update callers.
5399 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
5400
5401 * util/raid.c (grub_util_getdiskname): Remove.
5402 (grub_util_raid_getmembers): Use grub_find_device rather than
5403 grub_util_getdiskname.
5404
e5bfc130
CW
54052010-09-16 Colin Watson <cjwatson@ubuntu.com>
5406
5407 * docs/grub.texi (serial): Remove obsolete comment about GRUB
5408 needing to be compiled with serial support.
5409 (ls): Indicate that multiple files are accepted.
5410 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
5411 indicate that multiple files are accepted.
5412
be458ae2
CW
54132010-09-16 Colin Watson <cjwatson@ubuntu.com>
5414
5415 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
5416 libgrub_a_init.c, and util/bash-completion.d/grub.
5417
cb731b5e
VS
54182010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * util/grub-setup.c (setup): Fix incorrect container semantics.
5421
35139e8a
VS
54222010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
5425 misusage.
5426 Reported by: J. Nick Terry
5427
e50fca4a
VS
54282010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 Move embedding routines to partmap sources files.
5431
5432 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
5433 [GRUB_UTIL]: New variable.
5434 (gpt_partition_map_iterate): Set part.parent.
5435 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
5436 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
5437 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
5438 New function.
5439 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
5440 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
5441 (grub_partition_map) [GRUB_UTIL]: New field embed.
5442 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
5443 (setup): Use ->embed.
5444
f00478b7
VS
54452010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
5448 function.
5449 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
5450 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
5451
2b94e3ff
YB
54522010-09-15 Yves Blusseau <blusseau@zetam.org>
5453
5454 Add function to get completions from usage.
5455
5456 * util/bash-completion.d/grub-completion.bash.in: Add function to get
5457 completions from usage. Use LC_ALL=C to get options properly.
5458
2e04a006
VS
54592010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * grub-core/gnulib/basename-lgpl.c: Imported.
5462 * grub-core/gnulib/basename.c: Likewise.
5463 * grub-core/gnulib/dirname-lgpl.c: Likewise.
5464 * grub-core/gnulib/dirname.c: Likewise.
5465 * grub-core/gnulib/dirname.h: Likewise.
5466 * grub-core/gnulib/stripslash.c: Likewise.
5467
5dcdf93a
VS
54682010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * grub-core/gnulib/error.c: Resynced.
5471 * grub-core/gnulib/getopt.c: Likewise.
5472 * grub-core/gnulib/getopt_int.h: Likewise.
5473 * grub-core/gnulib/regex.h: Likewise.
5474 * grub-core/gnulib/regex_internal.c: Likewise.
5475 * grub-core/gnulib/regex_internal.h: Likewise.
5476
014f47b7
SJ
54772010-09-15 Szymon Janc <szymon@janc.net.pl>
5478
5479 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
5480 CRC calculations and validity checks.
5481 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
5482 calculations.
5483
dd521a4a
SJ
54842010-09-15 Szymon Janc <szymon@janc.net.pl>
5485
5486 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
5487
79c4eeb9
VS
54882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 Fix incorrect echo options handling.
5491 Reported by: Yves Blusseau.
5492
5493 * include/grub/command.h (grub_command_flags_t): New flags
5494 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
5495 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
5496 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
5497
ed80f7d5
VS
54982010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
5501 users updated.
5502 (GRUB_COMMAND_FLAG_MENU): Likewise.
5503 (GRUB_COMMAND_FLAG_BOTH): Likewise.
5504 (GRUB_COMMAND_FLAG_TITLE): Removed.
5505 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
5506 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
5507 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
5508 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
5509 (grub_command_flags_t): New enum. All users updated.
5510
5fe7620a
SG
55112010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
5512
5513 Fix solaris compilation.
5514
5515 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
5516 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
5517 (grub-emu-list): Likewise.
5518
545b752f
VS
55192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 Remove deprecated root command.
5522
5523 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
5524 updated.
5525
6c1a338c
VS
55262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 * util/i386/pc/grub-setup.c: Merge this ...
5529 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
5530 * util/grub-setup.c: ... into this.
5531 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
5532 New struct.
5533
55342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
5537 possible.
5538
d2ea4551
VS
55392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
5542 allocate p.
5543
3c3b5040
VS
55442010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5545
5546 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
5547 explicit root argument to set to prevent UUID to be interpreted as
5548 argument to set.
5549
b71c3fae
VS
55502010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
5553
275433e6
VS
55542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 Don't export grub_gate_a20.
5557
5558 * grub-core/kern/i386/pc/init.c: Remove leftovers.
5559 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
5560 to ...
5561 (grub_gate_a20): ... this. All users updated.
5562 * include/grub/i386/pc/init.h: Removed. All users updated.
5563
a5dbb1f1
VS
55642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 Create euro.pf2 which supports most European languages.
5567
5568 * Makefile.am (grubdata_DATA): Add euro.pf2.
5569 (euro.pf2): New target.
5570 (CLEANFILES): Add euro.pf2.
5571
62a747cb
VS
55722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * configure.ac: Disable emu-usb by default to prevent inadvertent
5575 device takeover.
5576
608e43b1
VS
55772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 Disable usbserial on grub-emu since our libusb code isn't good enough
5580 yet.
5581
5582 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
5583 (usbserial_pl2303): Likewise.
5584 (usbserial_ftdi): Likewise.
5585
94564f81
VS
55862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 * include/grub/disk.h (grub_disk): Remove has_partitions.
5589 All users updated.
5590 * disk/loopback.c (grub_loopback): Remove has_partitions.
5591 All users updated.
5592 (options): Remove partitions. All users updated.
5593 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
5594 * util/i386/pc/grub-setup.c (setup): copy partition table only when
5595 actual partition table is found.
5596
3352800b
VS
55972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 Remove readability checks (too many false negatives).
5600
5601 * util/grub-install.in: Remove readability checks.
5602 * util/grub-mkconfig.in: Likewise.
5603 * util/grub.d/10_hurd.in: Likewise.
5604 * util/grub.d/10_kfreebsd.in: Likewise.
5605 * util/grub.d/10_linux.in: Likewise.
5606 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
5607 way.
5608
2419f17a
VS
56092010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 Enable acpi shutdown on all ACPI platforms.
5612
5613 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
5614 on coreboo, multiboot and EFI.
5615 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
5616 (grub_acpi_halt): Likewise.
5617 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
5618 (grub_cmd_halt): Don't call grub_acpi_halt directly.
5619 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
5620 * grub-core/lib/i386/halt.c (grub_halt)
5621 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
5622
0575c7c3
VS
56232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
5626 context.
5627
54ac3cd1
VS
56282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 * grub-core/video/efi_gop.c: Fix over-80-chars line.
5631 * grub-core/video/efi_uga.c: Likewise.
5632
b2a30ac5
VS
56332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 Filter devaliases and never open same device twice.
5636
5637 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
5638 (last_ihandle): Likewise.
5639 (ofdisk_hash_ent): New member shortest.
5640 (ofdisk_hash_add): Add canonical path too.
5641 (scan): New function.
5642 (grub_ofdisk_iterate): Iterate over hashed entries.
5643 (compute_dev_path): Don't add :0.
5644 (grub_ofdisk_open): Don't really open the disk.
5645 (grub_ofdisk_close): Avoid closing unrelated disk.
5646 (grub_ofdisk_read): Implement reopen logic.
5647 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
5648 New function.
5649 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
5650 New proto.
5651
fb53b340
VS
56522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 Fix sparc64.
5655
5656 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
5657 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
5658 right address. Add sparc64_ieee1275_ldflags.
5659 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
5660 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
5661 to grub_host_to_target_addr
5662 (load_image): Likewise.
5663
f452b040
VS
56642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * grub-core/normal/completion.c (complete_file): Handle device
5667 containing slash.
5668 Fix based on patch by Doug Nazar.
5669
9b5b2541
VS
56702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 grub-mknetdir script.
5673
5674 * Makefile.util.def (grub-mknetdir): New module.
5675 * tests/util/grub-shell.in: Support boot=net
5676 * util/grub-mknetdir.in: New file.
5677
9d2be652
VS
56782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5679
5680 videoinfo on non-vbe.
5681
5682 * grub-core/Makefile.core.def (vbeinfo): Removed.
5683 (vbetest): Removed.
5684 (videoinfo): New module.
5685 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
5686 * grub-core/commands/i386/pc/vbetest.c: Removed.
5687 * grub-core/commands/videoinfo.c: New file.
5688 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
5689 specification.
5690 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
5691 as vbetest.
5692 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
5693 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
5694 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
5695 mode_number. New parameter mode. All users updated.
5696 (grub_video_gop_iterate): New function.
5697 (grub_video_efi_gop): New member iterate.
5698 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
5699 (grub_vbe_set_video_mode): Remove setting useless fields.
5700 (vbe2videoinfo): New function.
5701 (grub_video_vbe_iterate): Likewise.
5702 (grub_video_vbe_setup): Use vbe2videoinfo.
5703 (grub_video_vbe_print_adapter_specific_info): New function.
5704 (grub_video_vbe_adapter): New fields iterate and
5705 print_adapter_specific_info.
5706 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
5707 All users updated.
5708 (grub_video_mode_info): New field mode_number.
5709 (grub_video_adapter): New fields iterate and
5710 print_adapter_specific_info.
5711
179503f5
TG
57122010-09-13 Tristan Gingold <gingold@free.fr>
57132010-09-13 Robert Millan <rmh.grub@aybabtu.com>
57142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 * grub-core/commands/efi/lsefisystab.c: New file.
5717 * grub-core/commands/efi/lssal.c: Likewise.
5718 * grub-core/Makefile.core.def (lsacpi): New module.
5719 (lsefisystab): Likewise.
5720 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
5721 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
5722 (grub_efi_sal_system_table): New struct.
5723 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
5724 (grub_efi_sal_system_table_memory_descriptor): Likewise.
5725 (grub_efi_sal_system_table_platform_features): Likewise.
5726 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
5727 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
5728 (grub_efi_sal_system_table_ap_wakeup): Likewise.
5729 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
5730
cf9827de
VS
57312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5732
5733 Support explicit user claim that a device is BIOS-visible.
5734
5735 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
5736 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
5737 * grub-core/kern/emu/hostdisk.c
5738 (convert_system_partition_to_system_disk): Support mdX.
5739 (find_system_device): New parameter add. All users updated.
5740 (grub_util_biosdisk_is_present): New function.
5741 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
5742 proto.
5743
53f0eb1f
VS
57442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 Search hints support.
5747
5748 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
5749 All users updated.
5750
b23ffd70
YB
57512010-09-13 Yves Blusseau <blusseau@zetam.org>
5752
5753 Bash completion script for util commands
5754
5755 * Makefile.am: Add util/bash-completion.d directory
5756 * configure.ac: Likewise.
5757 * util/bash-completion.d/Makefile.am: New file.
5758 * util/bash-completion.d/grub-completion.bash.in: Likewise.
5759
d547dc28
VS
57602010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
5763 (print_backlog): set backlog_ucs4 and backlog_glyphs.
5764 Reported by: Yves Blusseau.
5765
2fc8ccb9
VS
57662010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
5769 partition size and offset.
5770
d8a84076
VS
57712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
5774
84fb3b3d
VS
57752010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
5778
768ec2e2
VS
57792010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
5782 (grub_xvasprintf): Likewise.
5783
4870900f
VS
57842010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
5787
faca6bec
VS
57882010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
5791 args ending with NULL.
5792
57932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
5794
5795 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
5796 pointer.
5797
3c70f225
SJ
57982010-09-11 Szymon Janc <szymon@janc.net.pl>
5799
5800 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
5801
4df7996d
VS
58022010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 Shutdown using ACPI.
5805
5806 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
5807 * grub-core/commands/acpihalt.c: New file.
5808 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
5809 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
5810 (grub_acpi_halt): New proto.
5811 (GRUB_ACPI_SLP_EN): New const.
5812 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
5813 (GRUB_ACPI_OPCODE_*): New enum.
5814 (GRUB_ACPI_EXTOPCODE_*): Likewise.
5815
126b4c32
TG
58162010-09-11 Tristan Gingold <gingold@free.fr>
58172010-09-11 Robert Millan <rmh.grub@aybabtu.com>
58182010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 * commands/lsacpi.c: New file.
5821 * grub-core/Makefile.core.def (lsacpi): New module.
5822 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
5823 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
5824 (grub_acpi_madt_entry_header): New struct.
5825 (grub_acpi_madt): Likewise.
5826 (grub_acpi_madt_entry_interrupt_override): Likewise.
5827 (grub_acpi_madt_entry_sapic): Likewise.
5828 (grub_acpi_madt_entry_lsapic): Likewise.
5829 (grub_acpi_madt_entry_platform_int_source): Likewise.
5830 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
5831 (PRIuGRUB_UINT32_T): Likewise.
5832 (PRIxGRUB_UINT64_T): Likewise.
5833
1aa4fe88
VS
58342010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 Implement loading palette on ieee1275_fb.
5837
5838 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
5839 (have_setcolors): Likewise.
5840 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
5841 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
5842 (grub_video_ieee1275_set_palette): Implement.
5843
25761e13
VS
58442010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
58452010-09-11 Colin Watson <cjwatson@ubuntu.com>
5846
5847 * util/grub-install.in (grub_partition): New variable.
5848 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
5849 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
5850 Fixes a bug reported by Yves Blusseau.
5851
050abaea
VS
58522010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 Fix emu on mipsel.
5855
5856 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
5857 =grub_cpu_flush_cache on all mips and not only yeeloong.
5858 * configure.ac (COND_mips): New conditional.
5859 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
5860 platforms.
5861 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
5862 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
5863 [GRUB_LINKER_HAVE_INIT]: New function.
5864 (grub_emu_post_init): Likewise.
5865 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
5866 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
5867 * include/grub/cache.h (_mips): Include mips/cache.h.
5868 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
5869 LVM and RAID prototypes.
5870 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
5871 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
5872 function.
5873
5ed7d816
CW
58742010-09-10 Colin Watson <cjwatson@ubuntu.com>
5875
5876 * util/grub-install.in: Don't try to verify core.img until after
5877 running grub-mkimage to create it.
5878
90367e04
RM
58792010-09-10 Robert Millan <rmh@gnu.org>
5880
5881 * util/grub.d/10_hurd.in: Add misc readability checks.
5882 * util/grub.d/10_kfreebsd.in: Likewise.
5883 * util/grub.d/10_linux.in: Likewise.
5884
c452fa66
CW
58852010-09-10 Colin Watson <cjwatson@ubuntu.com>
5886
5887 * util/grub-install.in: ${imgext} won't be defined here until the
5888 install branch is merged. For the meantime, only verify core.img on
5889 i386-pc and sparc64-ieee1275 platforms.
5890
c38fe9f4
RM
58912010-09-10 Robert Millan <rmh@gnu.org>
5892
5893 Solaris support in grub_find_zpool_from_dir(). Thanks
5894 Seth Goldberg for referring to getextmntent() facility.
5895
5896 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
5897 `sys/mkdev.h'.
5898 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
5899 `<sys/mnttab.h>'.
5900 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
5901 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
5902 method for finding zpool name.
5903
905f7773
CW
59042010-09-10 Colin Watson <cjwatson@ubuntu.com>
5905
5906 grub-fstest needs the host and hostfs modules while other utilities
5907 actively require those modules to be absent, so grub-fstest needs
5908 its own initialisation and finalisation code.
5909
5910 * Makefile.am (grub_fstest.pp): New target.
5911 (grub_fstest_init.lst): Likewise.
5912 (grub_fstest_init.c): Likewise.
5913 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
5914
fb90b546
RM
59152010-09-10 Robert Millan <rmh@gnu.org>
5916
5917 * configure.ac: Check for `struct statfs.f_fstypename' and
5918 `struct statfs.f_mntfromname'.
5919
5920 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
5921 kFreeBSD-specific code.
5922
66d4bea5
RM
59232010-09-10 Robert Millan <rmh@gnu.org>
5924
5925 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
5926 on ZFS. Now non-main filesystems are supported as / too.
5927
b6a690ee
CW
59282010-09-09 Colin Watson <cjwatson@ubuntu.com>
5929
5930 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
5931 and grub-core/disk/host.c to ...
5932 (grub-fstest): ... here. Having the host disk implementation
5933 present confuses grub-probe and other utility programs.
5934
5935 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
5936 when writing to a file, not when writing to stdout.
5937
8901b00c 59382010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
5939
5940 * tests/partmap_test.in: New test for partitions.
5941 * Makefile.util.def: Rules for new test.
5942
7bf45fdd
RM
59432010-09-09 Robert Millan <rmh@gnu.org>
5944
5945 * util/grub-probe.c (probe): Fix a pair of unhandled error
5946 conditions.
5947
4dfbc574
RM
59482010-09-09 Robert Millan <rmh@gnu.org>
5949
5950 Basic Btrfs support (detection and UUID).
5951
5952 * grub-core/fs/btrfs.c: New file.
5953 * Makefile.util.def (library): Register btrfs.c.
5954 * grub-core/Makefile.core.def: Likewise.
5955
6b8e78ae
RM
59562010-09-08 Robert Millan <rmh@gnu.org>
5957
5958 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
5959 with (optional) parameters to specify device and relative path.
5960 * util/grub-install.in: Use is_path_readable_by_grub() to
5961 verify readability of a few critical files.
5962 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
5963 verify readability of grub.cfg.new.
5964
27f21a8b
VS
59652010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
5966
5967 Split minix.mod into minix.mod and minix2.mod.
5968
5969 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
5970 * grub-core/Makefile.core.def (minix2): New module.
5971 * grub-core/fs/minix.c: Use definitions instead of runtime version
5972 checking.
5973 * grub-core/fs/minix2.c: New file.
5974
c0e53ea5
YB
59752010-09-08 Yves Blusseau <blusseau@zetam.org>
5976
5977 Add new --boot-directory option to replace --root-directory
5978
5979 * util/grub-install.in: Add new --boot-directory option
5980 * util/grub-reboot.in: Likewise.
5981 * util/grub-set-default.in: Likewise.
5982
b9fe6ea2
YB
59832010-09-08 Yves Blusseau <blusseau@zetam.org>
5984
5985 * util/grub-mkconfig.in: Use new variable.
5986
d87aedff
YB
59872010-09-08 Yves Blusseau <blusseau@zetam.org>
5988
5989 * configure.ac: Define some useful variables.
5990
e55e8495
VS
59912010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5994 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
5995 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
5996 Use terminfo and don't use cursor-on/cursor-off unless it's known
5997 to work.
5998 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
5999 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
6000
6fa6d675
CW
60012010-09-08 Colin Watson <cjwatson@ubuntu.com>
6002
6003 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
6004 starts with "(,", fill the drive containing the loaded image in
6005 between those two characters, but expect that a full partition
6006 specification including partition map names will follow.
6007
92f2aef0
RM
60082010-09-08 Robert Millan <rmh@gnu.org>
6009
6010 * configure.ac: Remove `--enable-grub-fstest' option.
6011 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
6012
6013 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
6014 `grub-fstest' instead of `grub-probe' for readability verification.
6015 * util/grub-probe.c (probe): Remove readability verification kludge.
6016
99fd620d
RM
60172010-09-08 Robert Millan <rmh@gnu.org>
6018
6019 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
6020 initializing `GRUB_FS'.
6021
058e30ac 60222010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
6023
6024 Not command (!) support to GRUB script.
6025
6026 * tests/grub_script_not.in: New test.
6027 * Makefile.util.def: Rules for new test.
6028
6029 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
6030 ! command as a special case.
6031 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
6032
b61d05ed 60332010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6034
058e30ac 6035 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
6036 grub_free.
b61d05ed 6037
4d69c786 60382010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6039
6040 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
6041
aa3119c4 60422010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6043
6044 * docs/grub.texi (Shell-like scripting): Documentation for break,
6045 continue, shift and return commands.
6046
db0f7e3d
VS
60472010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 Rename CD-ROM to cd on BIOS.
6050
6051 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
6052 "cd".
6053 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
6054
88b87c93
VS
60552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
6058 * util/grub-probe.c (main): Likewise.
6059 * util/i386/pc/grub-setup.c (main): Likewise.
6060 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6061 Reported and debugged by: alexxy
6062
294f324d
VS
60632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
6066 diagnostic info.
6067
d7ee3441
JS
60682010-09-05 Jo Shields <directhex@apebox.org>
6069
6070 * util/grub.d/30_os-prober.in: Add missing classes.
6071
d7e06c1f
VS
60722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 * docs/grub.texi (Theme file format): Document new position format.
6075
fc157e53
VS
60762010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
6079 a table. Use @code instead of @verbatim.
6080
506e9a1c
CB
60812010-09-05 Colin D Bennett <colin@gibibit.com>
6082
6083 Gfxmenu documentation.
6084
6085 * docs/grub.texi (Theme file format): New chapter.
6086
f0aff67c
SJ
60872010-09-05 Szymon Janc <szymon@janc.net.pl>
6088
6089 * grub-core/Makefile.core.def (xzio): New module.
6090 * grub-core/io/xzio.c: New file.
6091 * grub-core/lib/xzembed/xz.h: New file (from xembed).
6092 * grub-core/lib/xzembed/xz_config.h: Likewise.
6093 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
6094 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
6095 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
6096 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
6097 * grub-core/lib/xzembed/xz_private.h: Likewise.
6098 * grub-core/lib/xzembed/xz_stream.h: Likewise.
6099 * include/grub/file.h (grub_file_filter_id): New compression filter
6100 GRUB_FILE_FILTER_XZIO.
6101
82a85062
VS
61022010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
6105 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
6106 size.
6107
3579415d
VS
61082010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
6111 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
6112
5124ae6d
VS
61132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6114
6115 Uncompressed checksum support.
6116
6117 * grub-core/commands/hashsum.c (options): Add option --uncompress.
6118 (check_list): New parameter uncompress.
6119 (grub_cmd_hashsum): Handle --uncompress.
6120
9aadb3d1
VS
61212010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 Reintroduce testload.
6124
6125 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
6126 from here ...
6127 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
6128 (GRUB_MOD_INIT): New function.
6129 (GRUB_MOD_FINI): Likewise.
6130 * grub-core/Makefile.core.def (testload): New module.
6131
a17792c3
SJ
61322010-09-05 Szymon Janc <szymon@janc.net.pl>
6133
6134 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
6135 (uint8_t): New type.
6136 (uint16_t): Likewise.
6137 (uint32_t): Likewise.
6138 (uint64_t): Likewise.
6139
b81e40a3
SJ
61402010-09-05 Szymon Janc <szymon@janc.net.pl>
6141
6142 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
6143
fc2ef117
VS
61442010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
6147 Made static.
6148 (grub_gzfile_open): Removed. All users updated.
6149 (GRUB_MOD_INIT): New function.
6150 (GRUB_MOD_FINI): Likewise.
6151 * grub-core/kern/file.c (grub_file_filters_all): New variable.
6152 (grub_file_filters_enabled): Likewise.
6153 (grub_file_open): Handle filters.
6154 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
6155 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
6156 * include/grub/file.h (grub_file_filter_id_t): New type.
6157 (grub_file_filter_t): Likewise.
6158 (grub_file_filters_all): New extern variable.
6159 (grub_file_filters_enabled): Likewise.
6160 (grub_file_filter_register): New inline function.
6161 (grub_file_filter_unregister): Likewise.
6162 (grub_file_filter_disable): Likewise.
6163 (grub_file_filter_disable_compression): Likewise.
6164 * include/grub/gzio.h: Removed.
6165
35ee15e0
BC
61662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6167
6168 Filename expansion support for wildcards in GRUB script.
6169
6170 * tests/grub_script_expansion.in: New test.
6171 * Makefile.util.def: Rule for new test.
6172
6173 * grub-core/commands/wildcard.c: New file, implements filename
6174 expansion support for GRUB script.
6175 * grub-core/Makefile.core.def: Rule update for regexp.mod.
6176 * grub-core/script/argv.c: Cosmetic changes.
6177 * grub-core/script/execute.c (grub_script_arglist_to_argv):
6178 Refactored to perform wildcard expansion on arguments.
6179 * include/grub/script_sh.h (grub_script_wildcard_translator): New
6180 struct.
6181
6182 * tests/util/grub-shell.in: Fix quoting for read input.
6183
5f0c4aca
BC
61842010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6185
6186 Support for updating environment variables with matched substrings
6187 of regexp.
6188
6189 * tests/grub_cmd_regexp.in: New test.
6190 * Makefile.util.def: Rule for new test.
6191
6192 * grub-core/commands/regexp.c: New option -s to update environment
6193 variables with regexp matches.
6194
3759a35f
SJ
61952010-09-04 Szymon Janc <szymon@janc.net.pl>
6196
6197 * include/grub/file.h (grub_file): New member not_easly_seekable.
6198 (grub_file_seekable): New inline function.
6199 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
6200 easily seekable.
6201 (grub_gzio_open): Set not_easly_seekable.
6202 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
6203 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
6204
ed8c6dec
BC
62052010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6206
6207 Support for options to appear multiple times on cmdline.
6208
6209 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
6210 * grub-core/commands/extcmd.c: Support for repeatable option.
6211 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
6212 repeatable option support.
6213
6214 Refactor menuentry into a regular command.
6215
6216 * grub-core/commands/menuentry.c: New file, menuentry command
6217 implementation.
6218 * grub-core/Makefile.core.def: Rule update for normal.mod.
6219 * grub-core/normal/main.c: Moved menuentry creation to
6220 grub-core/commands/menuentry.c.
6221 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
6222 (grub_menu_execute_entry_real): Removed.
6223 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
6224 function.
6225 (grub_script_execute_menuentry): Removed.
6226 * grub-core/script/parser.y (menuentry): Removed.
6227 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
6228 * grub-core/script/yylex.l (menuentry): Removed.
6229 * include/grub/menu.h (grub_menu_init): New prototype.
6230 (grub_menu_fini): New prototype.
6231 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
6232 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
6233 (grub_script_execute_sourcecode): New prototype.
6234
dacd0cf0
BC
62352010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6236
6237 "return" command for GRUB script functions.
6238
6239 * tests/grub_script_return.in: New test.
6240 * Makefile.util.def: Rules for new test.
6241
6242 * grub-core/script/execute.c (grub_script_return): New function.
6243 * grub-core/script/main.c: Register/unregister return commaond.
6244 * include/grub/script_sh.h (grub_script_return): New prototype.
6245
52e72f9d
BC
62462010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6247
6248 "setparams" command to update positional parameters.
6249
6250 * tests/grub_script_setparams.in: New test.
6251 * Makefile.util.def: Rules for new test.
6252
6253 * grub-core/script/argv.c (grub_script_argv_make): New function.
6254 * grub-core/script/execute.c (replace_scope): New function.
6255 (grub_script_setparams): New function.
6256 * grub-core/script/lexer.c: Remove unused variables.
6257 * grub-core/script/main.c: Register/unregister setparams command.
6258 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
6259 (grub_script_setparams): New prototype.
6260
25b60c91
BC
62612010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6262
6263 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
6264 grub_free order.
6265
37e7bf68
BC
62662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6267
6268 Support for passing block of commands as an argument to extcmds.
6269
6270 * Makefile.util.def: Rules for new test.
6271 * tests/grub_script_blockarg.in: New test.
6272 * grub-core/tests/test_blockarg.c: New file, block argument
6273 command used in the test.
6274
6275 * include/grub/extcmd.h (grub_extcmd_context): New struct.
6276 (grub_register_extcmd_prio): New function prototype.
6277 (grub_extcmd_dispatcher): New function prototype.
6278 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
6279 type.
6280 * include/grub/script_sh.h (struct grub_script): New members
6281 `children', `next_siblings' and `refcnt' for block arguments and
6282 reference counting.
6283 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
6284 (grub_script_arg): New member `script' for block argument.
6285 (grub_script_argv): New member `script' for block argument.
6286 (grub_parser_param): New member `scripts' for block argument.
6287 (grub_script_mem_free): New extern function prototype.
6288 (grub_script_ref): New function prototype.
6289 (grub_script_unref): New function prototype.
6290
6291 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
6292 extcmd form to support block arguments.
6293 * grub-core/script/argv.c: Block arguments support.
6294 * grub-core/script/execute.c: Likewise.
6295 * grub-core/script/lexer.c: Likewise.
6296 * grub-core/script/main.c: Likewise.
6297 * grub-core/script/script.c: Likewise.
6298 * grub-core/script/parser.y: Likewise. New `block' and `block0'
6299 non-terminals.
6300
6301 * grub-core/commands/acpi.c: Update extcmd implementations with
6302 grub_extcmd_context_t.
6303 * grub-core/commands/cat.c: Likewise.
6304 * grub-core/commands/echo.c: Likewise.
6305 * grub-core/commands/extcmd.c: Likewise.
6306 * grub-core/commands/hashsum.c: Likewise.
6307 * grub-core/commands/hdparm.c: Likewise.
6308 * grub-core/commands/help.c: Likewise.
6309 * grub-core/commands/hexdump.c: Likewise.
6310 * grub-core/commands/i386/cpuid.c: Likewise.
6311 * grub-core/commands/i386/pc/drivemap.c: Likewise.
6312 * grub-core/commands/i386/pc/halt.c: Likewise.
6313 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6314 * grub-core/commands/iorw.c: Likewise.
6315 * grub-core/commands/keystatus.c: Likewise.
6316 * grub-core/commands/loadenv.c: Likewise.
6317 * grub-core/commands/ls.c: Likewise.
6318 * grub-core/commands/lspci.c: Likewise.
6319 * grub-core/commands/memrw.c: Likewise.
6320 * grub-core/commands/probe.c: Likewise.
6321 * grub-core/commands/search_wrap.c: Likewise.
6322 * grub-core/commands/setpci.c: Likewise.
6323 * grub-core/commands/sleep.c: Likewise.
6324 * grub-core/disk/loopback.c: Likewise.
6325 * grub-core/hello/hello.c: Likewise.
6326 * grub-core/loader/i386/bsd.c: Likewise.
6327 * grub-core/loader/xnu.c: Likewise.
6328 * grub-core/term/gfxterm.c: Likewise.
6329 * grub-core/term/serial.c: Likewise.
6330 * grub-core/tests/lib/functional_test.c: Likewise.
6331
888d1500
BC
63322010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6333
6334 Multi-line quoted strings support.
6335
6336 * grub-core/script/lexer.c (append_newline): Removed.
6337 (grub_script_lexer_yywrap): Refactored.
6338 (grub_script_lexer_init): Refactored.
6339 * grub-core/script/yylex.l (yywrap): New function.
6340 (grub_lexer_resplit): New function.
6341 (grub_lexer_unput): New function.
6342 * include/grub/script_sh.h (grub_lexer_param): New members, unput
6343 and resplit.
6344 * tests/grub_script_echo1.in: Added few more testcases.
6345
dda060dd
VS
63462010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 * grub-core/kern/misc.c: Don't add abort alias in utils.
6349 Reported by: echoline.
6350
6556eba9
BC
63512010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
6352
6353 Add missing files into "make dist" tarball for other platforms.
6354
6355 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
6356 * conf/Makefile.common (dist_noinst_DATA): New variable.
6357 * conf/Makefile.extra-dist: Added missing make dist files.
6358 * grub-core/Makefile.core.def: Likewise.
6359
c8e7bf5f
VS
63602010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 Compress grub_prefix.
6363
6364 * grub-core/boot/i386/pc/lnxboot.S: Use
6365 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
6366 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
6367 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
6368 GRUB_MACHINE_PREFIX_END. All users updated.
6369 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
6370 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
6371 + 0x40.
6372 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6373 * util/grub-mkimage.c (image_target_desc): Change data_end to
6374 prefix_end. All users updated.
6375
a7c00cdb
VS
63762010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
6379 value.
6380 (grub_openbsd_boot): Likewise.
6381 (grub_netbsd_boot): Likewise.
6382 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
6383 (grub_xnu_boot): Likewise.
6384
9f915872
VS
63852010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * configure.ac: Clean LIBS variable after tests.
6388
efa1bee7
CW
63892010-09-02 Colin Watson <cjwatson@ubuntu.com>
6390
6391 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
6392
61d720e5
VS
63932010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
6396 echo if libdevmapper will be used.
6397
ef8e0ec8
IT
63982010-09-02 Ian Turner <Ian.Turner@deshaw.com>
6399
6400 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
6401 constant for the same file.
6402
03e261d8
VS
64032010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
6406
c2a4eba6
CW
64072010-09-02 Colin Watson <cjwatson@ubuntu.com>
6408
6409 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
6410 grub-core/*.pp.
6411
9056cbf3
CW
64122010-09-02 Colin Watson <cjwatson@ubuntu.com>
6413
6414 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
6415 required by the boot protocol.
6416
6417 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
6418 ebp and edi members.
6419 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
6420 state.ebp and state.edi.
6421 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
6422 %ebp and %edi according to grub_relocator32_ebp and
6423 grub_relocator32_edi respectively.
6424 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
6425 and state.edi.
6426
529cc99a
VS
64272010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 Add i386-pc-pxe image target.
6430
6431 * util/grub-mkimage.c (image_target_desc): New enum value
6432 IMAGE_I386_PC_PXE.
6433 (image_targets): New target i386-pc-pxe.
6434 (generate_image): Handle i386-pc-pxe image.
6435
9a093920
VS
64362010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 Fix grub_pxe_scan.
6439
6440 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
6441 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
6442 All users updated.
6443 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
6444 (grub_pxe_pxenv): Correct type.
6445
f9cefc4e
CW
64462010-09-01 Colin Watson <cjwatson@ubuntu.com>
6447
6448 * NEWS: Document most of the important changes since 1.98.
6449
4066f57f
CW
64502010-09-01 Colin Watson <cjwatson@ubuntu.com>
6451
6452 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
6453 generated manual page) a little.
6454
da2891f9
CW
64552010-09-01 Colin Watson <cjwatson@ubuntu.com>
6456
6457 * docs/grub.texi: Add myself as an author.
6458
ad717fae
VS
64592010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * Makefile.util.def (libgrub.a): Add missing sunpc.
6462 Reported by: Seth Goldberg.
6463
eefe8abd
VS
64642010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 Interrupt wrapping and code simplifications.
6467
9494ef9a
VS
6468 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
6469 x86_noieee1275 which are functionaly equivalent in this case.
6470 (grub-install): Make source on each platform explicit. Enable on
6471 all noemu.
6472 * gentpl.py (x86_efi_pc): Removed group.
6473 (x86_noefi): Likewise.
6474 (i386_noefi): Likewise.
6475 (x86_noieee1275): Likewise.
6476 (i386_noieee1275): Likewise.
6477 (i386_noefi_noieee1275): Likewise.
6478 (i386_pc_qemu_coreboot): Likewise.
6479 (i386_coreboot_multiboot): Likewise.
6480 (i386_pc_coreboot_multiboot_qemu): Likewise.
6481 (x86_noefi_mips): Likewise.
6482 (noieee1275): Likewise.
6483 (ieee1275_mips): Likewise.
6484 (noemu_noieee1275): Likewise.
6485 (cmos): New group.
6486 (usb): Likewise.
6487 (videoinkernel): Likewise.
6488 (videomodules): Likewise.
eefe8abd 6489 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
6490 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
6491 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
6492 include/grub/loader.h, include/grub/msdos_partition.h,
6493 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
6494 include/grub/machine/console.h, include/grub/machine/vga.h,
6495 include/grub/machine/vbe.h, include/grub/machine/init.h,
6496 include/grub/machine/kernel.h, include/grub/cpu/time.h,
6497 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 6498 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
6499 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
6500 * grub-core/Makefile.core.def (kernel): Explicit the source for
6501 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
6502 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
6503 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
6504 Use videoinkernel tag.
6505 (usb): Enable on all usb.
6506 (usbserial_common): Likewise.
6507 (usbserial_pl2303): Likewise.
6508 (usbserial_ftdi): Likewise.
6509 (uhci): Enable on all x86.
6510 (ohci): Enable on all pci.
6511 (cmostest): Enable on all CMOS.
6512 (acpi): Include commands/acpi.c on all platforms.
6513 (halt): Add relevant lib/*/halt.c.
6514 (hdparm): Enable on all pci.
6515 (lspci): Likewise.
6516 (usbtest): Enable on all usb.
6517 (ata): Enable on all pci.
6518 (ata_pthru): Likewise.
6519 (usbms): Enable on all usb.
6520 (usb_keyboard): Likewise.
6521 (font): Use tag videomodules.
6522 (bufio): Likewise.
6523 (datetime): Use tag cmos. Enable on all noemu.
6524 (mmap): Use tags common and x86.
6525 (gfxterm): Use tag videomodules.
6526 (bitmap): Likewise.
6527 (bitmap_scale): Likewise.
6528 (video_fb): Likewise.
6529 (video): Likewise.
6530 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
6531 adjust padding accordingly. All users updated.
6532 (grub_ohci_transaction): Fix bad format specification.
6533 (GRUB_MOD_INIT): Add asserts for struct size.
6534 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
6535 (grub_alloc_td): Likewise.
6536 (grub_free_queue): Likewise.
6537 (grub_uhci_transfer): Likewise.
6538 (grub_uhci_transaction): Fix bad format specification.
6539 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
6540 (grub_usb_bulk_readwrite): Likewise.
6541 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
6542 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
6543 Made static.
6544 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
6545 Made static.
6546 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
6547 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
6548 Transformed into C.
6549 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
6550 Moved from here ...
6551 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
6552 ... here. Transformed into C. Made static.
6553 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
6554 Moved from here ...
6555 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
6556 ... here. Transformed into C. Made static.
6557 * grub-core/kern/i386/pc/startup.S
6558 (grub_biosdisk_check_int13_extensions): Moved from here ...
6559 * grub-core/disk/i386/pc/biosdisk.c
6560 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
6561 Made static.
6562 * grub-core/kern/i386/pc/startup.S
6563 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
6564 * grub-core/disk/i386/pc/biosdisk.c
6565 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
6566 Transformed into C. Made static.
6567 * grub-core/kern/i386/pc/startup.S
6568 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
6569 * grub-core/disk/i386/pc/biosdisk.c
6570 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
6571 Transformed into C. Made static.
6572 * grub-core/kern/i386/pc/startup.S
6573 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
6574 * grub-core/disk/i386/pc/biosdisk.c
6575 (grub_biosdisk_get_diskinfo_standard): ... here.
6576 Transformed into C. Made static.
6577 * grub-core/kern/i386/pc/startup.S
6578 (grub_biosdisk_get_num_floppies): Moved from here ...
6579 * grub-core/disk/i386/pc/biosdisk.c
6580 (grub_biosdisk_get_num_floppies): ... here.
6581 Transformed into C. Made static.
6582 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
6583 New function.
6584 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
6585 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
6586 Transformed into C. Made static.
6587 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
6588 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
6589 Transformed into C. Made static.
6590 * grub-core/kern/i386/ieee1275/init.c: Removed.
6591 * grub-core/kern/i386/misc.S: Likewise.
6592 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
6593 Splitted from here ...
6594 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
6595 Transformed into C. Made static. All users updated.
6596 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
6597 Transformed into C. Made static. All users updated.
6598 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
6599 Moved from here...
6600 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
6601 Transformed into C. Made static. All users updated.
6602 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
6603 Moved from here...
6604 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
6605 Transformed into C. Made static. All users updated.
6606 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
6607 Removed (replaced by C version).
6608 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
6609 Moved from here...
6610 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
6611 Transformed into C. Made static.
6612 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
6613 Moved from here...
6614 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
6615 ... here. Transformed into C.
6616 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
6617 Moved from here...
6618 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
6619 ... here. Transformed into C.
6620 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
6621 Moved from here...
6622 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
6623 ... here. Transformed into C. Made static.
6624 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
6625 Moved from here...
6626 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
6627 ... here. Transformed into C.
21ed554b
VS
6628 * grub-core/kern/i386/pc/startup.S
6629 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
6630 * grub-core/video/i386/pc/vbe.c
6631 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
6632 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
6633 Moved from here...
6634 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
6635 ... here. Transformed into C.
6636 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
6637 Moved from here...
6638 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
6639 ... here. Transformed into C.
6640 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
6641 Moved from here...
6642 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
6643 ... here. Transformed into C.
6644 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
6645 Moved from here...
6646 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
6647 ... here. Transformed into C.
6648 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
6649 Moved from here...
6650 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
6651 ... here. Transformed into C. Made static.
6652 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
6653 Moved from here...
6654 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
6655 ... here. Transformed into C. Made static.
6656 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
6657 Moved from here...
6658 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
6659 ... here. Transformed into C. Made static.
6660 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
6661 pxe_rm_entry as third argument.
6662 (grub_bios_interrupt): New function.
6663 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
6664 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
6665 of calling grub_stop.
6666 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
6667 * grub-core/lib/efi/halt.c (grub_halt): ...here.
6668 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
6669 * grub-core/lib/emu/halt.c (grub_halt): ... here.
6670 * grub-core/lib/i386/halt.c: Moved from here ...
6671 * grub-core/lib/i386/halt.c: ... here.
6672 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
6673 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
6674 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
6675 grub_stop_floppy.
6676 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
6677 * include/grub/i386/coreboot/init.h: Removed.
6678 * include/grub/i386/multiboot/init.h: Likewise.
6679 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
6680 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
6681 * include/grub/i386/pc/int.h: New file.
6682 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
6683 (grub_pxe_scan): Removed.
6684 (grub_pxe_call): Update prototype.
6685 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
6686 prototypes.
6687 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
6688 * include/grub/i386/qemu/init.h: Removed.
6689 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
6690 noreturn.
6691 (grub_halt): Likewise.
6692 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
6693 (grub_reboot): Likewise.
6694 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
6695 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
6696 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
6697
215dd471
RM
66982010-08-30 Robert Millan <rmh@gnu.org>
6699
6700 * NEWS: Document addition of ZFS support in `grub-install' and
6701 `grub-mkconfig'.
6702
ebd65b82
BC
67032010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
6704
6705 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
6706 dprintf output.
6707
11721d19
VS
67082010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 Remove leftover embedding of font objects.
6711
6712 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
6713 * util/grub-install.in (font): Removed.
6714 * util/grub-mkimage.c (generate_image): Remove font support. All users
6715 updated.
6716
37837d4e
VS
67172010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 Remove leftover embedding of font objects.
6720
6721 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
6722 * util/grub-install.in (font): Removed.
6723 * util/grub-mkimage.c (generate_image): Remove font support. All users
6724 updated.
6725
b4c1aae0
VS
67262010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 6729 Reported by: Ian Turner
b4c1aae0 6730
8920a08d
VS
67312010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
6734 timeout to avoid indefinite boot stalling.
6735
f21db033
VS
67362010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6737
6738 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
6739 (grub_env_write_color_highlight): Likewise.
6740
9a9de209
VS
67412010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * grub-core/normal/term.c (print_more): Return to normal and not
6744 to standard state after printing "---MORE---".
6745
3dca01d7
VS
67462010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
6749 Mask out the bit 0x80 since it has other meaning that specifiing color.
6750
0b986c40
VS
67512010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 New relocator. Allows for more kernel support and more straightforward
6754 loader writing.
6755
6756 * Makefile.am (BOOTTARGET): New variable.
6757 (QEMU32): Likewise.
6758 (linux.init.x86_64): New target.
6759 (linux.init.i386): Likewise.
6760 (multiboot.elf): Likewise.
6761 (kfreebsd.elf): Likewise.
6762 (kfreebsd.aout): Likewise.
6763 (pc-chainloader.elf): Likewise.
6764 (pc-chainloader.bin): Likewise.
6765 (ntldr.elf): Likewise.
6766 (ntldr.bin): Likewise.
6767 (multiboot2.elf): Likewise.
6768 (kfreebsd.init.x86_64): Likewise.
6769 (kfreebsd.init.i386): Likewise.
6770 (knetbsd.init.i386): Likewise.
6771 (kopenbsd.init.i386): Likewise.
6772 (knetbsd.init.x86_64): Likewise.
6773 (kopenbsd.init.x86_64): Likewise.
6774 (linux-initramfs.i386): Likewise.
6775 (linux-initramfs.x86_64): Likewise.
6776 (kfreebsd-mfsroot.i386.img): Likewise.
6777 (knetbsd.image.i386): Likewise.
6778 (kopenbsd.image.i386): Likewise.
6779 (kopenbsd.image.x86_64): Likewise.
6780 (knetbsd.miniroot-image.i386.img): Likewise.
6781 (kfreebsd-mfsroot.x86_64.img): Likewise.
6782 (knetbsd.image.x86_64): Likewise.
6783 (knetbsd.miniroot-image.x86_64.img): Likewise.
6784 (kfreebsd-mfsroot.i386.gz): Likewise.
6785 (bootcheck-kfreebsd-i386): Likewise.
6786 (kfreebsd-mfsroot.x86_64.gz): Likewise.
6787 (bootcheck-kfreebsd-x86_64): Likewise.
6788 (knetbsd.miniroot-image.i386.gz): Likewise.
6789 (bootcheck-knetbsd-i386): Likewise.
6790 (bootcheck-kopenbsd-i386): Likewise.
6791 (bootcheck-kopenbsd-x86_64): Likewise.
6792 (knetbsd.miniroot-image.x86_64.gz): Likewise.
6793 (bootcheck-knetbsd-x86_64): Likewise.
6794 (bootcheck-linux-i386): Likewise.
6795 (bootcheck-linux-x86_64): Likewise.
6796 (bootcheck-linux16-i386): Likewise.
6797 (bootcheck-linux16-x86_64): Likewise.
6798 (bootcheck-multiboot): Likewise.
6799 (bootcheck-multiboot2): Likewise.
6800 (bootcheck-kfreebsd-aout): Likewise.
6801 (bootcheck-pc-chainloader): Likewise.
6802 (bootcheck-ntldr): Likewise.
6803 (CLEANFILES): Add new targets.
6804 (BOOTCHECKS): New variable.
6805 (.PHONY): Add bootchecks.
6806 (SUCCESSFUL_BOOT_STRING): New variable.
6807 (BOOTCHECK_TIMEOUT): Likewise.
6808 (bootcheck): New target
6809 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
6810 * configure.ac: Correct efiemu excuse.
6811 * docs/grub.texi (Supported kernels): New chapter.
6812 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
6813 include/grub/mm_private.h. Simplify inclusion of
6814 include/grub/boot.h, include/grub/loader.h
6815 and include/grub/msdos_partition.h
6816 (KERNEL_HEADER_FILES) [i386_coreboot]:
6817 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
6818 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
6819 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
6820 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
6821 include/grub/machine/loader.h.
6822 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
6823 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
6824 extra_dist.
6825 (pci.mod): Enable on i386-multiboot.
6826 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
6827 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
6828 i386-qemu.
6829 (relocator.mod): Rewritten.
6830 (aout.mod): Enable on all x86.
6831 (bsd.mod): Likewise.
6832 (ntldr.mod): New module.
6833 (linux.mod): Use loader/i386/linux.c on all x86.
6834 (xnu.mod): Enable on all x86.
6835 (vga_text.mod): disable on EFI and QEMU.
6836 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
6837 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
6838 * grub-core/efiemu/loadcore.c: Likewise.
6839 * grub-core/efiemu/main.c: Likewise.
6840 (grub_efiemu_exit_boot_services): Removed.
6841 (grub_efiemu_finish_boot_services): Likewise.
6842 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
6843 function.
6844 * grub-core/efiemu/i386/nocfgtables.c: New file.
6845 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
6846 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
6847 (grub_efi_finish_boot_services): Moved from here ...
6848 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
6849 Fille finish memory map and related data.
6850 (finish_mmap_buf): New variable.
6851 (grub_efi_uintn_t finish_mmap_size): Likewise.
6852 (grub_efi_uintn_t finish_key): Likewise.
6853 (grub_efi_uintn_t finish_desc_size): Likewise.
6854 (grub_efi_uint32_t finish_desc_version): Likewise.
6855 (grub_efi_is_finished): Likewise.
6856 (grub_efi_get_memory_map): Use saved memory map if EFI is already
6857 finished.
6858 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
6859 (grub_elf64_phdr_iterate): Likewise.
6860 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
6861 (grub_os_area_size): Likewise.
6862 (grub_machine_init): Don't reserve os area.
6863 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
6864 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
6865 * grub-core/kern/i386/loader.S: Removed.
6866 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
6867 (grub_os_area_size): Likewise.
6868 (grub_machine_init): Don't reserve os area.
6869 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
6870 Don't call grub_dl_unload_all.
6871 Don't include loader.S.
6872 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
6873 Declare the memory after _end as available.
6874 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 6875 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 6876 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
6877 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
6878 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
6879 * include/grub/mm_private.h (grub_mm_header): ... here.
6880 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
6881 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
6882 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
6883 (grub_mm_region): ..here. Removed addr. Added pre_size.
6884 All users updated.
6885 * grub-core/kern/mm.c (base): Renamed to ...
6886 (grub_mm_base): ... this. Made global.
6887 (grub_real_malloc): Alloc from end of region.
6888 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
6889 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
6890 * grub-core/kern/powerpc/cache_flush.S: ... here.
6891 * grub-core/lib/efi/relocator.c: New file.
6892 * grub-core/lib/i386/relocator.c: Rewritten.
6893 * grub-core/lib/i386/relocator16.S: New file.
6894 * grub-core/lib/i386/relocator32.S: Likewise.
6895 * grub-core/lib/i386/relocator64.S: Likewise.
6896 * grub-core/lib/i386/relocator_asm.S: Rewritten.
6897 * grub-core/lib/i386/relocator_common.S: New file.
6898 * grub-core/lib/ieee1275/relocator.c: Likewise.
6899 * grub-core/lib/mips/relocator.c: Rewritten.
6900 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
6901 stylistic adjustments.
6902 * grub-core/lib/powerpc/relocator.c: New file.
6903 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
6904 * grub-core/lib/relocator.c: Rewritten.
6905 * grub-core/lib/x86_64/relocator_asm.S: New file.
6906 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
6907 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
6908 (bsd_tag): New struct.
6909 (tags): New variable.
6910 (tags_last): Likewise.
6911 (netbsd_module): New struct.
6912 (netbsd_mods): New variable.
6913 (netbsd_mods_last): Likewise.
6914 (openbsd_opts): New parameter "serial".
6915 (OPENBSD_SERIAL_ARG): New definition.
6916 (netbsd_opts): New parameter "serial".
6917 (NETBSD_SERIAL_ARG): New definition.
6918 (grub_freebsd_add_meta): Reorganised into ...
6919 (grub_bsd_add_meta): ...this. All users updated.
6920 (grub_freebsd_add_mmap): Reorganised into ...
6921 (generate_e820_mmap): ...this...
6922 (grub_bsd_add_mmap): ...and this. All users updated.
6923 (grub_freebsd_list_modules): Use tags.
6924 (grub_netbsd_add_meta_module): New function.
6925 (grub_netbsd_list_modules): Likewise.
6926 (grub_freebsd_boot): Use relocator and finish EFI.
6927 (grub_openbsd_boot): Likewise.
6928 (grub_netbsd_setup_video): New function.
6929 (grub_netbsd_add_modules): Likewise.
6930 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
6931 and finish EFI.
6932 (grub_bsd_unload): Unload tags.
6933 (grub_bsd_load_aout): Use relocator.
6934 (grub_bsd_elf32_size_hook): New function.
6935 (grub_bsd_elf32_hook): Use relocator.
6936 (grub_bsd_elf64_size_hook): New function.
6937 (grub_bsd_elf64_hook): Use relocator.
6938 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
6939 (grub_bsd_load): Zero-out openbsd_ramdisk.
6940 (grub_bsd_load): Use relocator.
6941 (grub_cmd_openbsd): Support serial.
6942 (grub_cmd_netbsd): Support modules.
6943 (grub_cmd_freebsd_module): Use relocator.
6944 (grub_netbsd_module_load): New function.
6945 (grub_cmd_netbsd_module): Likewise.
6946 (grub_cmd_openbsd_ramdisk): Likewise.
6947 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
6948 kopenbsd_ramdisk.
6949 (GRUB_MOD_FINI): Unregister new commands.
6950 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
6951 (grub_freebsd_load_elfmodule_obj): Use relocator.
6952 (grub_freebsd_load_elfmodule): Likewise.
6953 (grub_freebsd_load_elf_meta): Likewise.
6954 (grub_netbsd_load_elf_meta): New function.
6955 (grub_openbsd_find_ramdisk): Likewise.
6956 * grub-core/loader/i386/bsd_helper.S: Removed.
6957 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
6958 * grub-core/loader/i386/bsd_trampoline.S: Removed.
6959 * grub-core/loader/i386/efi/linux.c: Likewise.
6960 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
6961 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
6962 (DEFAULT_VIDEO_MODE): Likewise.
6963 (real_mode_target): New variable.
6964 (prot_mode_target): Likewise.
6965 (initrd_mem_target): Likewise.
6966 (relocator): Likewise.
6967 (efi_mmap_buf): Likewise.
6968 (efi_mmap_size): Likewise.
6969 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
6970 (free_pages): Use relocator.
6971 (allocate_pages): Account for efi_mmap and use relocator. Return error.
6972 (grub_linux_setup_video): Return error.
6973 (grub_linux_trampoline_start): Removed.
6974 (grub_linux_trampoline_end): Likewise.
6975 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
6976 andd video parameters depending on firmware.
6977 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
6978 [GRUB_MACHINE_EFI]: Pass EFI parameters.
6979 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
6980 (grub_cmd_initrd): Use relocator.
6981 * grub-core/loader/i386/linux_trampoline.S: Removed.
6982 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
6983 (elf_sec_entsize): Likewise.
6984 (elf_sec_shstrndx): Likewise.
6985 (elf_sections): Likewise.
6986 (grub_multiboot_load): Use relocator.
6987 (grub_multiboot_get_mbi_size): Account for sections.
6988 (grub_multiboot_make_mbi): Use relocator and support sections.
6989 (grub_multiboot_add_elfsyms): New function.
6990 (grub_multiboot_free_mbi): Free sections.
6991 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
6992 (grub_linux_real_target): Likewise.
6993 (grub_linux_real_chunk): Likewise.
6994 (grub_linux16_prot_size): Likewise.
6995 (grub_linux16_boot): Use relocator.
6996 (grub_linux_unload): Unload relocator.
6997 (grub_cmd_linux): Use relocator.
6998 (grub_cmd_initrd): Likewise.
6999 * grub-core/loader/i386/pc/ntldr.c: New file.
7000 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
7001 Don't try to guess CPU frequency.
7002 (grub_xnu_set_video): Stretch bitmap.
7003 (grub_xnu_boot): Use relocator.
7004 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
7005 (grub_linux_unload): Free relocator.
7006 (grub_linux_load32): Use relocator.
7007 (grub_linux_load64): Likewise.
7008 (grub_cmd_initrd): Likewise.
7009 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
7010 (grub_multiboot_unload): Unload relocator.
7011 (grub_cmd_multiboot): Use relocator.
7012 (grub_cmd_module): Likewise.
7013 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
7014 Use relocator and support sections.
7015 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
7016 (elf_sec_entsize): Likewise.
7017 (elf_sec_shstrndx): Likewise.
7018 (elf_sections): Likewise.
7019 (grub_multiboot_load): Use relocator.
7020 (grub_multiboot_get_mbi_size): Account for sections.
7021 (grub_multiboot_make_mbi): Use relocator and support sections.
7022 (grub_multiboot_add_elfsyms): New function.
7023 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
7024 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
7025 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
7026 Prototype changed. All users updated.
7027 (grub_xnu_align_heap): Simplified.
7028 (grub_xnu_writetree_toheap): Likewise.
7029 (grub_xnu_unload): Unload relocator.
7030 (grub_cmd_xnu_kernel): Use relocator.
7031 (grub_cmd_xnu_kernel64): Likewise.
7032 (grub_xnu_register_memory): Simplified.
7033 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
7034 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
7035 EFI is finished.
7036 (grub_console_checkkey): Likewise.
7037 (grub_console_getkey): Likewise.
7038 (grub_console_getwh): Likewise.
7039 (grub_console_getxy): Likewise.
7040 (grub_console_gotoxy): Likewise.
7041 (grub_console_cls): Likewise.
7042 (grub_console_setcolorstate): Likewise.
7043 (grub_console_setcursor): Likewise.
7044 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
7045 * grub-core/tests/boot/kbsd.init-i386.S: New file.
7046 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
7047 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
7048 * grub-core/tests/boot/kernel-8086.S: Likewise.
7049 * grub-core/tests/boot/kernel-i386.S: Likewise.
7050 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
7051 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
7052 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
7053 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
7054 * grub-core/tests/boot/knetbsd.cfg: Likewise.
7055 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
7056 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
7057 * grub-core/tests/boot/linux.cfg: Likewise.
7058 * grub-core/tests/boot/linux.init-i386.S: Likewise.
7059 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
7060 * grub-core/tests/boot/linux16.cfg: Likewise.
7061 * grub-core/tests/boot/multiboot.cfg: Likewise.
7062 * grub-core/tests/boot/multiboot2.cfg: Likewise.
7063 * grub-core/tests/boot/ntldr.cfg: Likewise.
7064 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
7065 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
7066 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
7067 New definition.
7068 * include/grub/dl.h (grub_dl_unload_all): Removed.
7069 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
7070 (grub_efi_finish_boot_services): Change prototype.
7071 (grub_efi_is_finished): New variable.
7072 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
7073 Changed prototype.
7074 (grub_efiemu_finish_boot_services): Removed.
7075 (grub_machine_efiemu_init_tables): New prototype.
7076 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
7077 (grub_elf64_phdr_iterate): Likewise.
7078 * include/grub/i386/bsd.h: Include relocator.h.
7079 (freebsd_tag_header): New struct.
7080 (grub_openbsd_bios_mmap): Removed.
7081 (grub_unix_real_boot): Removed.
7082 (grub_freebsd_load_elfmodule32): Changed prototype.
7083 (grub_freebsd_load_elfmodule_obj64): Likewise.
7084 (grub_freebsd_load_elf_meta32): Likewise.
7085 (grub_freebsd_load_elf_meta64): Likewise.
7086 (grub_freebsd_add_meta): Removed.
7087 (grub_netbsd_load_elf_meta32): New prototype.
7088 (grub_netbsd_load_elf_meta64): Likewise.
7089 (grub_bsd_add_meta): Likewise.
7090 (grub_openbsd_ramdisk_descriptor): New struct.
7091 (grub_openbsd_find_ramdisk32): New prototype.
7092 (grub_openbsd_find_ramdisk64): Likewise.
7093 * include/grub/i386/coreboot/loader.h: Removed.
7094 * include/grub/i386/efi/loader.h: Likewise.
7095 * include/grub/i386/ieee1275/loader.h: Likewise.
7096 * include/grub/i386/linux.h (linux_kernel_header): Change void *
7097 to grub_uint32_t.
7098 * include/grub/i386/loader.h: Removed.
7099 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
7100 value.
7101 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
7102 (grub_phys_addr_t): New type.
7103 (grub_vtop): New inline function.
7104 (grub_map_memory): Likewise.
7105 (grub_unmap_memory): Likewise.
7106 * include/grub/i386/multiboot/loader.h: Removed.
7107 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
7108 (NETBSD_BTINFO_CONSOLE): New definition.
7109 (NETBSD_BTINFO_SYMTAB): Likewise.
7110 (NETBSD_BTINFO_MODULES): Likewise.
7111 (NETBSD_BTINFO_FRAMEBUF): Likewise.
7112 (grub_netbsd_bootinfo): New struct.
7113 (grub_netbsd_btinfo_common): Use explicit bitsize.
7114 (grub_netbsd_btinfo_mmap_entry): Removed.
7115 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
7116 (grub_netbsd_btinfo_bootdisk): New struct.
7117 (grub_netbsd_btinfo_symtab): Likewise.
7118 (grub_netbsd_btinfo_serial): Likewise.
7119 (grub_netbsd_btinfo_modules): Likewise.
7120 (grub_netbsd_btinfo_framebuf): Likewise.
7121 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
7122 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
7123 Likewise.
7124 (grub_openbsd_bootargs): Use explicit bitsize.
7125 (grub_openbsd_bootarg_console): New struct.
7126 (GRUB_OPENBSD_COM_MAJOR): New definition.
7127 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
7128 * include/grub/i386/pc/efiemu.h: Removed.
7129 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
7130 * include/grub/i386/qemu/loader.h: Removed.
7131 * include/grub/i386/relocator.h: Rewritten.
7132 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
7133 * include/grub/mips/memory.h: New file.
7134 * include/grub/mips/multiboot.h: Rewritten.
7135 * include/grub/mips/relocator.h: Rewritten.
7136 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
7137 (grub_vtop): New function.
7138 (grub_map_memory): Likewise.
7139 (grub_unmap_memory): Likewise.
7140 * include/grub/misc.h (ALIGN_DOWN): New definition.
7141 * include/grub/mm.h (grub_mm_check_real): New proto.
7142 (GRUB_MM_CHECK): New definition.
7143 * include/grub/mm_private.h: New file.
7144 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
7145 (grub_multiboot_get_mbi_size): Removed.
7146 (grub_multiboot_make_mbi): Change prottype.
7147 (grub_multiboot_set_accepts_video): New proto.
7148 (grub_multiboot_add_elfsyms): Likewise.
7149 (grub_multiboot_payload_eip): New variable.
7150 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
7151 New prototype.
7152 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
7153 New definition.
7154 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
7155 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
7156 * include/grub/powerpc/ieee1275/loader.h: Removed.
7157 * include/grub/powerpc/memory.h: New file.
7158 * include/grub/powerpc/relocator.h: Likewise.
7159 * include/grub/relocator.h: Likewise.
7160 * include/grub/relocator_private.h: Likewise.
7161 * include/grub/sparc64/ieee1275/loader.h: Removed.
7162 * include/grub/x86_64/memory.h: New file.
7163 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
7164 (grub_xnu_heap_malloc): Likewise.
7165 (grub_xnu_heap_real_start): Removed.
7166 (grub_xnu_heap_start): Likewise.
7167 (grub_xnu_relocator): New variable.
7168 (grub_xnu_heap_target_start): Likewise.
7169 * tests/util/grub-shell.in: Support non-pc.
7170 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 7171
5303b85d
VS
71722010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
7175 on malloc error.
7176 (grub_bidi_logical_to_visual): Check that malloc succeded.
7177 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
7178 puts.
7179 (grub_xputs_normal): Likewise.
7180
d768d159
VS
71812010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
7184 extra_dist.
7185
71862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 * grub-core/efiemu/runtime/efiemu.sh: Removed.
7189
5bf84df4
VS
71902010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
7193
3626810e
VS
71942010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
7197 dprintf.
7198
a7363f53
BC
71992010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
7200
7201 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
7202
902f75f6
VS
72032010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 * grub-core/normal/term.c (print_more): Fix a memory leak.
7206 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
7207 (grub_xputs_normal): Likewise.
7208
3c707967
VS
72092010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
7212 the begining of the string
7213
2053cc07
VS
72142010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 * grub-core/script/script.c (grub_script_parse): Free parsed on
7217 failure.
7218
46422ebf
VS
72192010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
7222 on failure.
7223
9e0fa3f6
VS
72242010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
7227 return.
7228
3393cf16
VS
72292010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
7232 (scroll_up): Fix a memory leak.
7233
b17540cb
VS
72342010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
7237 errors.
7238
67140446
VS
72392010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 Handle USB pendrives exposed as floppies.
7242
7243 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
7244 floppy.
7245 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
7246 Check for partitions on all devices.
7247
e35e46fc
VS
72482010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7249
7250 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
7251 (readkey): Likewise.
7252
d24c6190
BC
72532010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7254
7255 Multiple variable names support to "export" command.
7256
7257 * normal/context.c (grub_cmd_export): "export" command supports
7258 multiple variable names.
7259
04ddcc6a
ST
72602010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
7261
7262 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
7263 --target=drive output to Mach device name.
7264
0c8b61d8
BC
72652010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
7266
7267 New Automake based build system for GRUB.
7268
7269 * ABOUT-NLS: New file.
7270 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
7271 in Makefile.util.def file.
7272 * Makefile.util.def: New file. Autogen build definitions file for
7273 GRUB host utils.
7274 * conf/Makefile.common: New file. Common variables for GRUB host
7275 utils and target modules.
7276 * conf/Makefile.extra-dist: New file. Extra files for make dist.
7277 * docs/Makefile.am: New file. Automake file for docs.
7278 * gentpl.py: New file. Python script to generate Autogen
7279 template.
7280 * grub-core/Makefile.am: New file. GRUB target modules' rules
7281 that doesn't fit in Makefile.core.def file.
7282 * grub-core/Makefile.core.def: New file. Autogen build
7283 definitions file for GRUB target modules.
7284 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
7285 specific setjmp.S file.
7286 * po/Makefile.am: New file.
7287
7288 * .bzrignore: New ignores.
7289 * INSTALL: New requirements, without Ruby.
7290 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
7291 * autogen.sh: Updated to invoke autogen as necessary.
7292 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
7293 and defines for Automake conditionals.
7294 * geninit.sh: Refactoring.
7295
7296 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
7297 necessary.
7298 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
7299 New prototype.
7300
7301 * include/grub/test.h: Fix functional test modules' naming.
7302 * grub-core/tests/example_functional_test.c: Fix test module name.
7303
7304 * util/misc.c: Hosted versions' of grub functions for libgrub.a
7305 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
7306 * util/grub-editenv.c: Likewise.
7307 * util/grub-fstest.c: Likewise.
7308 * util/grub-mkdevicemap.c: Likewise.
7309 * util/grub-mkfont.c: Likewise.
7310 * util/grub-mkimage.c: Likewise.
7311 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7312 * util/grub-probe.c: Likewise.
7313 * util/grub-script-check.c: Likewise.
7314 * util/i386/pc/grub-setup.c: Likewise.
7315 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7316
7317 * tests/util/grub-shell.in: Fix override directory path.
7318 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
7319 * util/import_gcry.py: Create Makefile.gcry.def file instead.
7320
7321 * util/lvm.c: Update #includes.
7322 * util/raid.c: Likewise.
7323 * util/resolve.c: Likewise.
7324 * grub-core/bus/emu/pci.c: Likewise.
7325 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
7326 * grub-core/lib/posix_wrap/string.h: Likewise.
7327 * grub-core/kern/emu/main.c: Likewise.
7328
7329 * grub-core/gensymlist.sh: New file. Script for generating kernel
7330 symbols file.
7331 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
7332
7333 * grub-core/gentrigtables.c: Fix unused variable warnings.
7334
7335 * Makefile.in: Removed.
7336 * conf/any-emu.rmk: Removed.
7337 * conf/common.rmk: Removed.
7338 * conf/i386-coreboot.rmk: Removed.
7339 * conf/i386-efi.rmk: Removed.
7340 * conf/i386-ieee1275.rmk: Removed.
7341 * conf/i386-multiboot.rmk: Removed.
7342 * conf/i386-pc.rmk: Removed.
7343 * conf/i386-qemu.rmk: Removed.
7344 * conf/i386.rmk: Removed.
7345 * conf/mips-yeeloong.rmk: Removed.
7346 * conf/mips.rmk: Removed.
7347 * conf/powerpc-ieee1275.rmk: Removed.
7348 * conf/sparc64-ieee1275.rmk: Removed.
7349 * conf/tests.rmk: Removed.
7350 * conf/x86-efi.rmk: Removed.
7351 * conf/x86_64-efi.rmk: Removed.
7352 * gendistlist.sh: Removed.
7353 * geninitheader.sh: Removed.
7354 * genkernsyms.sh.in: Removed.
7355 * genmk.rb: Removed.
7356 * gensymlist.sh.in: Removed.
7357 * mkinstalldirs: Removed.
7358 * boot: Moved ...
7359 * grub-core/boot: ... to here.
7360 * bus: Moved ...
7361 * grub-core/bus: ... to here.
7362 * commands: Moved ...
7363 * grub-core/commands: ... to here.
7364 * disk: Moved ...
7365 * grub-core/disk: ... to here.
7366 * efiemu: Moved ...
7367 * grub-core/efiemu: ... to here.
7368 * font: Moved ...
7369 * grub-core/font: ... to here.
7370 * fs: Moved ...
7371 * grub-core/fs: ... to here.
7372 * gencmdlist.sh: Moved ...
7373 * grub-core/gencmdlist.sh: ... to here.
7374 * genemuinit.sh: Moved ...
7375 * grub-core/genemuinit.sh: ... to here.
7376 * genemuinitheader.sh: Moved ...
7377 * grub-core/genemuinitheader.sh: ... to here.
7378 * genfslist.sh: Moved ...
7379 * grub-core/genfslist.sh: ... to here.
7380 * genhandlerlist.sh: Moved ...
7381 * grub-core/genhandlerlist.sh: ... to here.
7382 * genmoddep.awk: Moved ...
7383 * grub-core/genmoddep.awk: ... to here.
7384 * genmodsrc.sh: Moved ...
7385 * grub-core/genmodsrc.sh: ... to here.
7386 * genpartmaplist.sh: Moved ...
7387 * grub-core/genpartmaplist.sh: ... to here.
7388 * genparttoollist.sh: Moved ...
7389 * grub-core/genparttoollist.sh: ... to here.
7390 * genterminallist.sh: Moved ...
7391 * grub-core/genterminallist.sh: ... to here.
7392 * gentrigtables.c: Moved ...
7393 * grub-core/gentrigtables.c: ... to here.
7394 * genvideolist.sh: Moved ...
7395 * grub-core/genvideolist.sh: ... to here.
7396 * gettext: Moved ...
7397 * grub-core/gettext: ... to here.
7398 * gfxmenu: Moved ...
7399 * grub-core/gfxmenu: ... to here.
7400 * gnulib: Moved ...
7401 * grub-core/gnulib: ... to here.
7402 * hello: Moved ...
7403 * grub-core/hello: ... to here.
7404 * hook: Moved ...
7405 * grub-core/hook: ... to here.
7406 * io: Moved ...
7407 * grub-core/io: ... to here.
7408 * kern: Moved ...
7409 * grub-core/kern: ... to here.
7410 * lib: Moved ...
7411 * grub-core/lib: ... to here.
7412 * loader: Moved ...
7413 * grub-core/loader: ... to here.
7414 * mmap: Moved ...
7415 * grub-core/mmap: ... to here.
7416 * normal: Moved ...
7417 * grub-core/normal: ... to here.
7418 * partmap: Moved ...
7419 * grub-core/partmap: ... to here.
7420 * parttool: Moved ...
7421 * grub-core/parttool: ... to here.
7422 * script: Moved ...
7423 * grub-core/script: ... to here.
7424 * term: Moved ...
7425 * grub-core/term: ... to here
7426 * tests/example_functional_test.c: Moved ...
7427 * grub-core/tests/example_functional_test.c: ... to here.
7428 * tests/lib/functional_test.c: Moved ...
7429 * grub-core/tests/lib/functional_test.c: ... to here.
7430 * tests/lib/test.c: Moved ...
7431 * grub-core/tests/lib/test.c: ... to here.
7432 * video: Moved ...
7433 * grub-core/video: ... to here.
7434
645586e6
BC
74352010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
7436
7437 Replace --enable-grub-emu-modules with grub-emu-lite.
7438
7439 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
7440 cache.S.
7441
7442 * include/grub/emu/misc.h (grub_emu_init): New prototype.
7443 * kern/emu/full.c: New file. For grub-emu specific initialization.
7444 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
7445 * kern/emu/main.c: Call initialization function grub_emu_init.
7446
7447 * Makefile.in: Include grub-emu-lite in install.
7448 * commands/parttool.c: Use grub_no_autoload to differentiate
7449 between grub-emu and grub-emu-lite.
7450 * include/grub/misc.h: New variable grub_no_autoload.
7451
7452 * conf/any-emu.rmk: New rules for grub-emu-lite.
7453 * configure.ac: Remove --enable-grub-emu-modules.
7454 * genmk.rb: Cleanup unnecessary rules.
7455 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
7456
7457 * normal/main.c: Don't load list files on grub-emu-lite.
7458 * util/misc.c (grub_arch_sync_caches): Removed.
7459
f86a4030
CW
74602010-08-23 Colin Watson <cjwatson@ubuntu.com>
7461
7462 * kern/mips/startup.S (grub_prefix): Update comment to refer to
7463 grub-mkimage rather than grub-mkelfimage.
7464 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
7465
06776944
VS
74662010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
7469 a key after CapsLock or NumLock. It's just a qemu bug.
7470
df262419
VS
74712010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
7474 needed by libusb wrapper.
7475
b40ea81b
ST
74762010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
7477
7478 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
7479
dee50575
VS
74802010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
7483 --nounzip is passed.
7484
fb1d7b79
VS
74852010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 USB hotunplugging and USB serial support.
7488
7489 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
7490 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
7491 (grub_uhci_transfer): Respect timeout and set *actual.
7492 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
7493 non-standard length.
7494 (grub_usb_device_attach): Autoload modules.
7495 (GRUB_MOD_INIT): Set grub_term_poll_usb.
7496 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
7497 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
7498 users updated.
7499 (grub_usb_add_hub): Fill nports and children.
7500 (attach_root_port): Receive hub instead of controller.
7501 All users updated. Fill hub->devices.
7502 (grub_usb_root_hub): Allocate hub->devices.
7503 (detach_device): New function.
7504 (poll_nonroot_hub): Fill children and detach devices.
7505 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
7506 actual arguments. All users updated.
7507 (grub_usb_bulk_read_extended): New function.
7508 * bus/usb/serial/common.c: New file.
7509 * bus/usb/serial/ftdi.c: Likewise.
7510 * bus/usb/serial/pl2303.c: Likewise.
7511 * commands/terminal.c (handle_command): Support wildcard.
7512 * commands/usbtest.c: Output "Unknown" instead of empty string.
7513 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
7514 (usbserial_common_mod_SOURCES): New variable.
7515 (usbserial_common_mod_CFLAGS): Likewise.
7516 (usbserial_common_mod_LDFLAGS): Likewise.
7517 (pkglib_MODULES): Add usbserial_pl2303.mod.
7518 (usbserial_pl2303_mod_SOURCES): New variable.
7519 (usbserial_pl2303_mod_CFLAGS): Likewise.
7520 (usbserial_pl2303_mod_LDFLAGS): Likewise.
7521 (pkglib_MODULES): Add usbserial_ftdi.mod.
7522 (usbserial_ftdi_mod_SOURCES): New variable.
7523 (usbserial_ftdi_mod_CFLAGS): Likewise.
7524 (usbserial_ftdi_mod_LDFLAGS): Likewise.
7525 (pkglib_MODULES): Add serial.mod.
7526 (serial_mod_SOURCES): New variable.
7527 (serial_mod_CFLAGS): Likewise.
7528 (serial_mod_LDFLAGS): Likewise.
7529 * conf/i386-pc.rmk: Likewise.
7530 * conf/mips-yeeloong.rmk: Likewise.
7531 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
7532 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7533 * disk/usbms.c (first_available_slot): New variable.
7534 (grub_usbms_attach): Don't reuse free slots due to potential cache
7535 problems.
7536 * include/grub/serial.h: Moved to ..
7537 * include/grub/ns8250.h: ...this.
7538 * include/grub/serial.h: New file.
7539 * include/grub/term.h (grub_term_poll_usb): New variable.
7540 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
7541 readkey. All users updated.
7542 (grub_terminfo_output_state): Pass term to put.
7543 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
7544 (grub_usb_controller_dev): Add timeout and actual arguments to
7545 transfer. All users updated.
7546 (grub_usb_interface): New field detach_data.
7547 (grub_usb_device): New fields children and nports.
7548 (grub_usb_ep_type_t): New type.
7549 (grub_usb_get_ep_type): New function.
7550 (grub_usb_bulk_read_extended): Likewise.
7551 * include/grub/usbdesc.h (grub_usb_desc): New type.
7552 * include/grub/usbserial.h: New file.
7553 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
7554 * kern/term.c (grub_term_poll_usb): New variable.
7555 (grub_getkey): Call grub_term_poll_usb if set.
7556 (grub_checkkey): Likewise.
7557 (grub_getkeystatus): Likewise.
7558 * term/serial.c: Moved controller-specific parts to ...
7559 * term/ns8250.c: ... here.
7560 * term/serial.c: Mostly rewritten.
7561 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
7562 according to spec.
7563
21a313de
RM
75642010-08-20 Robert Millan <rmh@gnu.org>
7565
7566 Make kFreeBSD code more generic to support ext2fs as root, ufs as
7567 a separate module and maybe other interesting combinations.
7568
7569 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
7570 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
7571 (kfreebsd_entry): Add generic filesystem module load routine.
7572 Map GRUB `ext2' to kFreeBSD `ext2fs'.
7573
63c734a6
CW
75742010-08-20 Colin Watson <cjwatson@ubuntu.com>
7575
7576 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
7577 "numcenter" (I misunderstood the purpose of this entry).
7578 * docs/grub.texi (sendkey): Likewise.
7579
c4d16542
CW
75802010-08-20 Colin Watson <cjwatson@ubuntu.com>
7581
7582 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
7583 status flag options; simply omitting the option is equivalent and
7584 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
7585 (keysym_table): Rename "num5numlock" to "numlock".
7586 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
7587 can uniformly say that only the last of multiple `sendkey'
7588 invocations has any effect.
7589 * docs/grub.texi (sendkey): New section.
7590
93541d66
CW
75912010-08-19 Colin Watson <cjwatson@ubuntu.com>
7592
7593 * commands/i386/pc/sendkey.c (options): Fix three typos.
7594
b4ece5e1
VS
75952010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7596
7597 Implement sendkey support.
7598
7599 * commands/i386/pc/sendkey.c: New file.
7600 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
7601 (sendkey_mod_SOURCES): New variable.
7602 (sendkey_mod_CFLAGS): Likewise.
7603 (sendkey_mod_LDFLAGS): Likewise.
7604
51f1f5af
CW
76052010-08-18 Colin Watson <cjwatson@ubuntu.com>
7606
7607 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
7608 fix warnings from Autoconf.
7609
9da94e05
CW
76102010-08-18 Colin Watson <cjwatson@ubuntu.com>
7611
7612 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
7613 to avoid false positives with some assemblers that output things
7614 like "someprefix_func" as part of their output.
7615
729a0f2e
RM
76162010-08-15 Robert Millan <rmh@gnu.org>
7617
7618 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
7619 errors.
7620 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
7621 grub_get_libzfs_handle() errors.
7622
f3710e08
RM
76232010-08-14 Robert Millan <rmh@gnu.org>
7624
7625 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
7626 filesystem is not ZFS.
7627
7a3c13de
BC
76282010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
7629
7630 Fix for misspelled color names defaulting to black/black (bug
7631 reported by Doug Nazar)
7632
7633 * include/grub/normal.h (grub_parse_color_name_pair): Add return
7634 status to prototype.
7635 * normal/color.c (grub_parse_color_name_pair): Return failure
7636 status.
7637 (grub_env_write_color_normal): Ignore bad color names.
7638 (grub_env_write_color_highlight): Likewise.
7639 * normal/main.c (GRUB_MOD_INIT): Set default color names.
7640
ab8ba50d
BC
76412010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
7642
7643 "shift" command support to GRUB script.
7644
7645 * include/grub/script_sh.h (grub_script_shift): New prototype.
7646 * script/execute.c (grub_script_shift): New function.
7647 * script/main.c (grub_script_init): Register shift command.
7648 (grub_script_fini): Unregister shift command.
7649 * util/grub-script-check.c (grub_script_cmd_shift): New function.
7650
7651 * tests/grub_script_shift.in: New testcase.
7652 * conf/tests.rmk: Rules for new testcase.
7653
4d61999e
BC
76542010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
7655
7656 "continue" command support to GRUB script.
7657
7658 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
7659 (grub_script_break): Continue support.
7660 * script/main.c (grub_script_init): Register continue command.
7661 (grub_script_fini): Unregister continue command.
7662
7663 * tests/grub_script_continue.in: New testcase.
7664 * conf/tests.rmk: Rules for new testcase.
7665
4df51e00
BC
76662010-08-12 BVK Chaitanya <bvk@dbook>
7667
7668 "break" command support to GRUB script.
7669
7670 * conf/common.rmk: Rule updates to grub-script-check.
7671 * include/grub/misc.h (grub_min): New function.
7672 * include/grub/script_sh.h (grub_script_init): New prototype.
7673 (grub_script_fini): New prototype.
7674 (grub_script_break): New prototype.
7675 * script/main.c (grub_script_init): New function.
7676 (grub_script_fini): New function.
7677 * script/execute.c (grub_script_break): New function.
7678 * normal/main.c: Calls to grub_script_{init,fini}.
7679 * util/grub-script-check.c (grub_script_break): New function.
7680
7681 * tests/grub_script_break.in: New testcase.
7682 * conf/tests.rmk: Rules for new test case.
7683
f12c8420
BC
76842010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
7685
7686 Function parameters support to GRUB script.
7687
7688 * script/yylex.l (VARIABLE): Regular expression update.
7689 * script/function.c (grub_script_function_call): Moved ...
7690 * script/execute.c (grub_script_function_call): ... to here.
7691 (grub_script_execute_arglist_to_argv): Removed.
7692 (grub_script_arglist_to_argv): New function.
7693 * script/argv.c: New file.
7694 (grub_script_argv_free): New function.
7695 (grub_script_argv_next): Likewise.
7696 (grub_script_argv_append): Likewise.
7697 (grub_script_argv_split_append): Likewise.
7698 * include/grub/script_sh.h (grub_script_argv): New struct.
7699 (grub_script_argv_free): New function.
7700 (grub_script_argv_next): Likewise.
7701 (grub_script_argv_append): Likewise.
7702 (grub_script_argv_split_append): Likewise.
7703
7704 * conf/common.rmk (normal.mod): New source script/argv.c.
7705
7706 * tests/grub_script_echo1.in: More tests.
7707 * tests/grub_script_vars1.in: Likewise.
7708 * tests/grub_script_functions.in: New test case.
7709 * conf/tests.rmk: Rules for new testcase.
7710
8022b748
BC
77112010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
7712
7713 Remove grub_script_cmdblock struct.
7714
7715 * include/grub/script_sh.h: Remove grub_script_cmdblock.
7716 * script/parser.y: Likewise.
7717 * script/execute.c: Rename cmdblock suffix to cmdlist.
7718 * script/script.c: Likewise.
7719 * util/grub-script-check.c: Likewise.
7720
79a6ba61
YB
77212010-08-11 Yves Blusseau <blusseau@zetam.org>
7722
7723 * .bzrignore: add grub-macho2img
7724
d04b9414
VS
77252010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
7726
7727 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
7728
f947ab49
VS
77292010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
7730
7731 Remove the dump of sm712 initialisation sequence.
7732
7733 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
7734 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
7735 (GRUB_VGA_IO_MISC_WRITE): Likewise.
7736 (GRUB_VGA_CR_*): Added many registers.
7737 (GRUB_VGA_SR_*): Likewise.
7738 (GRUB_VGA_GR_*): Likewise.
7739 (grub_vga_write_arx): New function.
7740 (grub_video_hw_config): New struct.
7741 (grub_vga_set_geometry): New function.
7742 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
7743 GRUB_PCI_CLASS_SUBCLASS_VGA.
7744 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
7745 * video/sm712.c (grub_sm712_write_reg): New function
7746 (grub_sm712_read_reg): Likewise.
7747 (grub_sm712_sr_write): Likewise.
7748 (grub_sm712_gr_write): Likewise.
7749 (grub_sm712_cr_write): Likewise.
7750 (grub_sm712_write_arx): Likewise.
7751 (grub_sm712_cr_shadow_write): Likewise.
7752 (grub_sm712_write_dda_lookup): Likewise.
7753 (grub_video_sm712_setup): Initialise the video rather then
7754 blindly replay the dump.
7755 (main) [TEST]: Add a routine to be able to compile as standalone for
7756 tests.
7757 * video/sm712_init.c (sm712_init): Removed.
7758 (sm712_sr_seq1): New array.
7759 (sm712_sr_seq2): Likewise.
7760
f0206638
VS
77612010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 * include/grub/vga.h: Add missing grub/pci.h include.
7764
2764da3b
YB
77652010-08-10 Yves Blusseau <blusseau@zetam.org>
7766
7767 * util/grub-macho2img.c (main): fix typo
7768
cf0c775e
VS
77692010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
7772 (grub_vga_gr_read): Likewise.
7773 (grub_vga_cr_write): Likewise.
7774 (grub_vga_cr_read): Likewise.
7775 (grub_vga_sr_write): Likewise.
7776 (grub_vga_sr_read): Likewise.
7777 (grub_vga_palette_read): Likewise.
7778 (grub_vga_palette_write): Likewise.
7779 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
7780 (grub_sm712_sr_read): New function.
7781 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
7782 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
7783
07f360e9
RM
77842010-08-09 Robert Millan <rmh@gnu.org>
7785
7786 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
7787 out unused variables on non-ZFS build.
7788
346c2072
RM
77892010-08-08 Robert Millan <rmh@gnu.org>
7790
7791 Fix path generation for sub-filesystems in ZFS.
7792
7793 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
7794 missing slash.
7795
71175420
RM
77962010-08-08 Robert Millan <rmh@gnu.org>
7797
7798 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
7799
0d8286f3
RM
78002010-08-08 Robert Millan <rmh@gnu.org>
7801
7802 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
7803 exist, issue a proper error message (rely on `ls' for translated
7804 strings).
7805
55dd2924
RM
78062010-08-08 Robert Millan <rmh@gnu.org>
7807
7808 Fix grub-probe invocation.
7809
7810 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
7811
d3dd9e80
RM
78122010-08-04 Robert Millan <rmh@gnu.org>
7813
7814 * configure.ac: Remove checks for getfsstat() and getmntany().
7815 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
7816 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
7817 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
7818 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
7819 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
7820 function.
7821 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
7822 via find_mount_point_from_dir() and getfsstat() / getmntany().
7823
0de22aa9
RM
78242010-08-04 Robert Millan <rmh@gnu.org>
7825
7826 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
7827 (grub_find_zpool_from_mount_point): Merge into ...
7828 (grub_find_zpool_from_dir): ... this.
7829 * kern/emu/misc.c: Likewise.
7830
7831 * kern/emu/misc.c
7832 (grub_make_system_path_relative_to_its_root): Replace
7833 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
7834 with grub_find_zpool_from_dir().
7835 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
7836
62858144
RM
78372010-08-04 Robert Millan <rmh@gnu.org>
7838
7839 Support OpenSolaris in ZFS device resolution.
7840
7841 * configure.ac: Check for getmntany().
7842 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
7843 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
7844 support.
7845
9dd6fd50
RM
78462010-08-03 Robert Millan <rmh@gnu.org>
7847
7848 Fix grub-emu build.
7849
7850 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
7851 * include/grub/emu/misc.h: ... here.
7852
7853 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
7854 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
7855
7856 * util/misc.c: Remove `<grub/util/libzfs.h>'.
7857 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
7858 (grub_get_libzfs_handle): Move to ...
7859 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
7860 (grub_get_libzfs_handle): ... here.
7861
c9f7ff97
BC
78622010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
7863
7864 * script/execute.c (grub_script_execute_cmdline): Check for NULL
7865 as command name case.
7866
a870a783
CW
78672010-08-02 Colin Watson <cjwatson@ubuntu.com>
7868
7869 * disk/raid.c (insert_array): Select unique numbers for named arrays
7870 as well, for use as keys in the disk cache.
7871
c7db243b
RM
78722010-08-01 Robert Millan <rmh@gnu.org>
7873
7874 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
7875 kFreeBSD device name, except on ZFS where the filesystem label is
7876 used.
7877 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
7878 `/boot/zfs/zpool.cache'.
7879 Set mountfrom kernel variable using ${kfreebsd_device}.
7880
f7abdefb
RM
78812010-08-01 Robert Millan <rmh@gnu.org>
7882
7883 Make it even harder to use uninitialized `libzfs_handle' (and
7884 make the interface a bit simpler).
7885
7886 * include/grub/util/misc.h (grub_util_init_libzfs)
7887 (libzfs_handle): Remove.
7888 (grub_get_libzfs_handle): New prototype.
7889
7890 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
7891 attribute.
7892 (grub_util_init_libzfs): Remove.
7893 (grub_get_libzfs_handle): New function.
7894
7895 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
7896 grub_get_libzfs_handle() to obtain a libzfs handle instead of
7897 accessing `libzfs_handle' directly.
7898
c882acc0
RM
78992010-08-01 Robert Millan <rmh@gnu.org>
7900
7901 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
7902 (grub_find_zpool_from_mount_point): New function prototypes.
7903
7904 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
7905 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
7906
7907 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
7908 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
7909 `static' attribute.
7910
7911 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
7912 finding zpool from mount point into ...
7913 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
7914
7915 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
7916 requested path is part of a ZFS pool, use
7917 grub_find_zpool_from_mount_point() to detect its filesystem name,
7918 and generate a path with `/fsname@path' syntax.
7919
8bfe31d8
CW
79202010-08-01 Colin Watson <cjwatson@ubuntu.com>
7921
7922 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
7923 (void) rather than () so that this is a proper prototype.
7924
553df63d
VS
79252010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
7928
8687cf07
VS
79292010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
7932 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
7933
ea9be8ea
CW
79342010-08-01 Colin Watson <cjwatson@ubuntu.com>
7935
7936 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
7937
6eea041a
CW
79382010-08-01 Colin Watson <cjwatson@ubuntu.com>
7939
7940 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
7941
2cfb45df
CW
79422010-08-01 Colin Watson <cjwatson@ubuntu.com>
7943
7944 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
7945 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
7946 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
7947 disable gfxpayload.
7948 (Shell-like scripting): Add real content.
7949 (Serial terminal): Suggest `terminal_input serial; terminal_output
7950 serial' rather than putting the two commands on separate lines,
7951 since console input will be inoperative after the first command.
7952 (menuentry): Document --class, --users, and --hotkey options.
7953 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
7954 Vladimir Serbinenko).
7955
7decd202
VS
79562010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
79572010-08-01 Colin Watson <cjwatson@ubuntu.com>
7958
7959 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
7960
c882acc0
RM
79612010-08-01 Robert Millan <rmh@gnu.org>
7962
7963 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
7964 (grub_find_zpool_from_mount_point): New function prototypes.
7965
7966 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
7967 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
7968
7969 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
7970 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
7971 `static' attribute.
7972
7973 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
7974 finding zpool from mount point into ...
7975 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
7976
7977 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
7978 requested path is part of a ZFS pool, use
7979 grub_find_zpool_from_mount_point() to detect its filesystem name,
7980 and generate a path with `/fsname@path' syntax.
7981
deb0caa3
RM
79822010-08-01 Robert Millan <rmh@gnu.org>
7983
7984 Prevent accidental use of uninitialized libzfs_handle.
7985
7986 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
7987 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
7988 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
7989
ce04ef47
CW
79902010-08-01 Colin Watson <cjwatson@ubuntu.com>
7991
7992 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
7993 util/grub.d/10_linux.in). Fixes Debian bug #591093.
7994
ebf53056
RM
79952010-08-01 Robert Millan <rmh@gnu.org>
7996
7997 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 7998
3710bb6b
RM
79992010-07-31 Robert Millan <rmh@gnu.org>
8000
8001 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
8002
8072efeb
RM
80032010-07-31 Robert Millan <rmh@gnu.org>
8004
8005 * kern/emu/misc.c: Add missing license header.
8006
3169f4c7
RM
80072010-07-31 Robert Millan <rmh@gnu.org>
8008
8009 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
8010
8011 * include/grub/util/libnvpair.h: Include `<config.h>'.
8012 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
8013 declaring libnvpair prototypes ourselves.
8014 * include/grub/util/libzfs.h: Include `<config.h>'.
8015 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
8016 declaring libzfs prototypes ourselves.
8017
8018 (libzfs_handle): Moved to ...
8019 * include/grub/util/misc.h (libzfs_handle): ... here.
8020 Include `<grub/util/libzfs.h>'.
8021
c9a00aee
RM
80222010-07-30 Robert Millan <rmh@gnu.org>
8023
8024 * include/grub/emu/misc.h: Add missing license header.
8025
a184f9c8
RM
80262010-07-30 Robert Millan <rmh@gnu.org>
8027
8028 Enable `grub-probe -t device' resolution on ZFS.
8029
8030 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
8031 * include/grub/util/libnvpair.h: New file.
8032 * include/grub/util/libzfs.h: New file.
8033
8034 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
8035 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
8036 `<grub/util/libnvpair.h>'.
8037 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
8038
8039 (find_mount_point_from_dir): New static function.
8040 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
8041 function.
8042 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
8043 find_root_device_from_libzfs() before ressorting to find_root_device().
8044
8045 * include/grub/util/misc.h (grub_util_init_libzfs): New function
8046 prototype.
8047 * util/misc.c: Include `<grub/util/libzfs.h>'.
8048 (grub_util_init_libzfs): New function.
8049 [HAVE_LIBZFS] (libzfs_handle): New global variable.
8050 [HAVE_LIBZFS] (fini_libzfs): New static function.
8051 (grub_util_init_libzfs): New function.
8052 * util/grub-probe.c (main): Call grub_util_init_libzfs().
8053
f7790cdd
RM
80542010-07-30 Robert Millan <rmh@gnu.org>
8055
8056 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
8057 (xmalloc, xrealloc, xstrdup, xasprintf): Add
8058 `warn_unused_result' attribute.
8059 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
8060 (grub_xasprintf, grub_xvasprintf): Likewise.
8061 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
8062
0806b63c
RM
80632010-07-29 Robert Millan <rmh@gnu.org>
8064
8065 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
8066 (probe): Handle `PRINT_FS_LABEL'.
8067 (main): Handle `-t fs_label'.
8068
9f841f5c
RM
80692010-07-29 Robert Millan <rmh@gnu.org>
8070
8071 * configure.ac: Remove grub-mkisofs checks.
8072
46371121
VS
80732010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 * util/ieee1275/grub-install.in: Don't use empty grub_device.
8076 Reported by: Lennart Sorensen.
8077
80782010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8079
8080 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
8081 prior to terminal_input/terminal_output separation. It's been over 1.5
8082 years and those versions weren't widely deployed.
8083
a9600892
CW
80842010-07-22 Colin Watson <cjwatson@ubuntu.com>
8085
8086 * disk/raid.c (insert_array): Don't count named arrays when looking
8087 for unused array numbers.
697e053c 8088 Reported and tested by: Michael Guntsche.
a9600892 8089
c03507df
CW
80902010-07-20 Colin Watson <cjwatson@ubuntu.com>
8091
8092 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
8093 implementation of this so that grub-emu links again, with a note
8094 that this should support hotplugging in the future.
8095
b26f1c11
CW
80962010-07-20 Colin Watson <cjwatson@ubuntu.com>
8097
8098 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
8099
efc9d7f1
CW
81002010-07-20 Colin Watson <cjwatson@ubuntu.com>
8101
8102 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
8103 handle on failure.
8104 (grub_loopback_close): Remove empty function.
8105 (grub_loopback_dev): Remove close method.
8106
dd8ff5c9
CW
81072010-07-20 Colin Watson <cjwatson@ubuntu.com>
8108
8109 Disable EFI cursor when the EFI console becomes inactive.
8110
8111 * term/efi/console.c (grub_efi_console_init): New function.
8112 (grub_efi_console_fini): New function.
8113 (grub_console_term_output): Register init and fini methods.
8114
5e3bec67
VS
81152010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 * tests/util/grub-shell-tester.in: Remove bashism and declare as
8118 sh script.
8119
afaec079
VS
81202010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8121
8122 * disk/loopback.c (grub_loopback): Replace filename with file.
8123 (delete_loopback): Handle new semantics.
8124 (grub_cmd_loopback): Likewise.
8125 (grub_loopback_iterate): Likewise.
8126 (grub_loopback_close): Likewise.
8127
a6a11f3c
VS
81282010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
8131 with -p "".
8132 Reported by: Tito Keitel.
8133
64a638b0
VS
81342010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 * docs/grub.texi (Naming convention): Document new naming convention.
8137
ab8ba957
VS
81382010-07-20 Vadim Solomin <vadic052@gmail.com>
81392010-07-20 Colin Watson <cjwatson@ubuntu.com>
8140
8141 Generate device.map in something closer to the old ordering.
8142
8143 * util/deviceiter.c (struct device): New declaration.
8144 (compare_file_names): Rename to ...
8145 (compare_devices): ... this. Sort by kernel name in preference to
8146 the stable by-id name, but keep the latter as a fallback comparison.
8147 Update header comment.
8148 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
8149 of `struct device' rather than of plain file names.
8150
a29d6a4b
TF
81512010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
8152
8153 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
8154 on i386.
8155
39d824e8
VS
81562010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8157
8158 * commands/acpi.c (setup_common_tables): Use sizeof instead of
8159 hardcoding size.
8160 (setv1table): Likewise.
8161
f058276b
FZ
81622010-07-20 Colin Watson <cjwatson@ubuntu.com>
8163
8164 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
8165 removing the homehost if present.
8166 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
8167 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
8168 removing the homehost if present.
8169 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
8170 if possible.
8171 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
8172
8173 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
8174 parameter. Set its pointer target to 0.
8175 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
8176 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
8177 `data_offset' value from the superblock for 1.x metadata.
8178 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
8179 data on the device.
8180 (insert_array): Record the start sector of data on the device.
8181 (grub_raid_register): Pass start_sector parameters to
8182 grub_raid_list->detect and insert_array.
8183 * include/grub/raid.h (struct grub_raid_array): Add start_sector
8184 member.
8185 (struct grub_raid): Add start_sector parameter to `detect'.
8186
8187 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
8188 __attribute__ ((packed)), leaving a comment.
8189 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
8190 (grub_mdraid_detect_09): ... here and ...
8191 (grub_mdraid_detect_1x): ... here.
8192
81932010-07-20 Peter Henn <peter.henn@web.de>
8194
8195 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
8196 chunk size and disk size, which are already given as sector counts
8197 as distinct from the 0.90 units. Fetch the correct device number
8198 from the role table instead of using the table index.
8199
82002010-07-20 Felix Zielcke <fzielcke@z-51.de>
8201
8202 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
8203 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
8204 (WriteMostly1): New macro.
8205 Set array->name to NULL for metadata format 0.90. Add support for
8206 metadata 1.x. Fix some comments.
8207 * disk/raid.c (): Add support for name based RAID arrays. Fix a
8208 few comments.
8209 * util/getroot.c (grub_util_get_grub_dev): Add support for
8210 /dev/md/name style devices.
8211
4b761da9
CW
82122010-07-20 Colin Watson <cjwatson@ubuntu.com>
8213
8214 * .bzrignore: Ignore 20_linux_xen.
8215
5771289a
CW
82162010-07-17 Colin Watson <cjwatson@ubuntu.com>
8217
8218 * util/import_unicode.py: Remove unnecessary imports.
8219
5dab68df
AN
82202010-07-17 Aleš Nesrsta <starous@volny.cz>
8221
8222 Hotplugging and USB hub support.
8223
8224 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
8225 (grub_ohci): Likewise.
8226 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
8227 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
8228 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
8229 (GRUB_OHCI_CTRL_EDS): Likewise.
8230 (GRUB_OHCI_BULK_EDS): Likewise.
8231 (GRUB_OHCI_TDS): Likewise.
8232 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
8233 (grub_ohci_ed_phys2virt): New function.
8234 (grub_ohci_virt_to_phys): Likewise.
8235 (grub_ohci_td_phys2virt): Likewise.
8236 (grub_ohci_td_virt2phys): Likewise.
8237 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
8238 attachment.
8239 (grub_ohci_find_ed): New function.
8240 (grub_ohci_alloc_td): Likewise.
8241 (grub_ohci_free_td): Likewise.
8242 (grub_ohci_free_tds): Likewise.
8243 (grub_ohci_transfer): Use previously allocated memory.
8244 (grub_ohci_portstatus): Reset status changed bit.
8245 (grub_ohci_detect_dev): Supply status changed.
8246 (grub_ohci_fini_hw): Free memory.
8247 (grub_ohci_restore_hw): Reallocate memory.
8248 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
8249 Reset status change.
8250 (grub_uhci_detect_dev): Supply status_change.
8251 * bus/usb/usb.c (attach_hooks): New var.
8252 (grub_usb_device_attach): New function.
8253 (grub_usb_register_attach_hook_class): Likewise.
8254 (grub_usb_unregister_attach_hook_class): Likewise.
8255 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
8256 (grub_usb_add_hub): Reset connection changed bit.
8257 (attach_root_port): New function.
8258 (grub_usb_root_hub): Likewise.
8259 (poll_nonroot_hub): Likewise.
8260 (grub_usb_poll_devices): Likewise.
8261 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
8262 * disk/usbms.c (grub_usbms_open): Use device hooks.
8263 (grub_usbms_iterate) :Poll devices.
8264 (grub_usbms_finddevs): Split into ...
8265 (grub_usbms_attach): ... this ...
8266 (grub_usbms_attach): ... and this.
8267 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
8268 in detect_dev.
8269 (grub_usb_interface): New fields attached and detach_hook.
8270 (grub_usb_attach_hook_class): New type.
8271 (grub_usb_attach_desc): New struct.
8272 (grub_usb_register_attach_hook_class): New function.
8273 (grub_usb_unregister_attach_hook_class): Likewise.
8274 (grub_usb_poll_devices): Likewise.
8275 (grub_usb_device_attach): Likewise.
8276 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
8277 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
8278
3222efaf
VS
82792010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
8282 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
8283 delta determination style. Works with most NetBSD partitions too.
8284
139b714a
VS
82852010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8286
8287 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
8288 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
8289
986aad56
VS
82902010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8291
8292 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
8293
99be513c
AB
82942010-07-14 Anton Blanchard <anton@samba.org>
8295
8296 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
8297 ET_DYN files.
8298
18075f62
GS
82992010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
8300
8301 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
8302
8d9a5b15
GS
83032010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
8304
8305 * kern/partition.c (grub_partition_check_containment): New function to
8306 check that a partition is physically contained in a parent. Since
8307 offsets are relative (and non-negative), this reduces to checking that
8308 the partition ends before its parent.
8309 (grub_partition_map_probe): Discard out-of-range sub-partitions.
8310 (grub_partition_iterate): Likewise.
8311 * include/grub/partition.h (grub_partition_map): Slightly more detailed
8312 comments.
8313 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
8314 partitions that start before their parent, and add debug printfs.
8315
19563c25
CW
83162010-07-13 Colin Watson <cjwatson@ubuntu.com>
8317
8318 * Makefile.in (.SUFFIX): Spell correctly, as ...
8319 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
8320 bare module name without `.mod', e.g. `test') tried to invoke a
8321 Modula-2 compiler.
8322
1a1f1e67
CW
83232010-07-13 Colin Watson <cjwatson@ubuntu.com>
8324
8325 * README: Point to the Info manual.
8326
811b0dca
JS
83272010-07-13 Jiro SEKIBA <jir@unicus.jp>
8328
8329 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
8330 2nd superblock position from partition size.
8331
e4f4eafc
CW
83322010-07-10 Colin Watson <cjwatson@ubuntu.com>
8333
8334 * Makefile.in (MAINTAINER_CLEANFILES): Remove
8335 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
8336 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
8337 outputs.
8338
4274c30f
VS
83392010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 Restructure SCSI .id handling.
8342 Reported and tested by: Aleš Nesrsta.
8343
8344 * disk/ata.c (grub_atapi_close): Removed. All users updated.
8345 (grub_atapi_dev): Changed .name to "ata". New field .id.
8346 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
8347 (grub_usbms_dev): New field .id.
8348 * disk/scsi.c (grub_scsi_iterate): Generate name.
8349 (grub_scsi_open): Parse name.
8350 * include/grub/scsi.h (grub_make_scsi_id): New function.
8351 (grub_scsi_dev): Change iterate and open to number instead of naming
8352 busses. All users updated.
8353 (grub_scsi): Remove name. Add .bus.
8354
5bc24388
VS
83552010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 * commands/help.c (grub_cmd_help): Fix a typo.
8358
249975ba
VS
83592010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8360
8361 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
8362 Reported and tested by: Colin Watson.
8363
3eaac1a1
VS
83642010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8365
8366 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
8367 in this context.
8368
becce1b1
VS
83692010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
8372
f7bf0918
CW
83732010-07-07 Colin Watson <cjwatson@ubuntu.com>
8374
8375 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
8376 indentation.
8377
0b0f9620
CW
83782010-07-06 Colin Watson <cjwatson@ubuntu.com>
8379
8380 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
8381 and disk/raid6_recover.c.
8382 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8383 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
8384
1e545469
CW
83852010-07-06 Colin Watson <cjwatson@ubuntu.com>
8386
8387 * term/gfxterm.c (repaint_schedulded): Rename to ...
8388 (repaint_scheduled): ... this. Update all callers.
8389 (repaint_was_schedulded): Rename to ...
8390 (repaint_was_scheduled): ... this. Update all callers.
8391
5357687a
CW
83922010-07-06 Colin Watson <cjwatson@ubuntu.com>
8393
8394 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
8395 which we expect to be handled by upper layers.
8396
29d7e783
BC
83972010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
8398
8399 * bus/usb/usbhub.c: #include time.h header.
8400
37582066
CW
84012010-07-06 Colin Watson <cjwatson@ubuntu.com>
8402
8403 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
8404 entry_name also for entries without stat blocks (e.g. ".."); fixes
8405 corruption of the first entry in a directory.
8406
c8c06953
CW
84072010-07-06 Colin Watson <cjwatson@ubuntu.com>
8408
8409 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
8410 after setting gfxterm as the active terminal. GRUB_BACKGROUND
8411 doesn't work otherwise.
8412
e75056f1
CW
84132010-07-05 Colin Watson <cjwatson@ubuntu.com>
8414
8415 * docs/grub.texi (Features): Update list of supported file systems.
8416 (GNU/Linux): Update for GRUB 2.
8417 (Serial terminal): Remove mention of --disable-serial, which was a
8418 GRUB Legacy configure option. Update instructions to use
8419 `terminal_input' and `terminal_output' rather than `terminal'.
8420 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
8421 configuration' and `Installing GRUB using grub-install'.
8422 (Menu entry editor): Update for GRUB 2.
8423 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
8424 Document new -a, -u, and -v options.
8425 (initrd): New section.
8426 (initrd16): New section.
8427 (linux): New section.
8428 (linux16): New section.
8429 (search): The `var' argument to `--set' is optional.
8430 (GRUB only offers a rescue shell): Go into a little more detail on
8431 drive ordering.
8432
5cf69151
CW
84332010-07-05 Colin Watson <cjwatson@ubuntu.com>
8434
8435 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
8436
e3f90044
CW
84372010-07-05 Colin Watson <cjwatson@ubuntu.com>
8438
8439 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
8440 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
8441
38d8f4f3
CW
84422010-07-05 Colin Watson <cjwatson@ubuntu.com>
8443
8444 * util/i386/pc/grub-setup.c (setup): Rename prefix to
8445 install_prefix, in line with install_dos_part and install_bsd_part.
8446 Add new prefix variable, which is copied to install_prefix after
8447 comparing core.img in memory with the one read from disk in the
8448 no-embedding case, and use that rather than overwriting
8449 install_prefix immediately when installing to a partition.
8450 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
8451 Bicakci.
8452
57ebd41e
GS
84532010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
8454
8455 * configure.ac: Avoid == in test command, it's not portable.
8456 * util/grub.d/30_os-prober.in: Likewise.
8457
cb7f64b2
CW
84582010-07-04 Colin Watson <cjwatson@ubuntu.com>
8459
8460 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
8461
6b654bb0
GS
84622010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
8463
8464 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
8465 multiple (top-level) partmaps.
8466
72a2026d
VS
84672010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8468
8469 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 8470 Reported by: Tino Keitel.
72a2026d 8471
df3eb88f
VS
84722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 Bidi and diacritics support.
8475
8476 * Makefile.in (widthspec.bin): New target.
8477 (widthspec.h): Likewise.
8478 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
8479 * autogen.sh: Generate unidata.c.
8480 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
8481 * commands/ls.c (grub_ls_list_devices): Likewise.
8482 (grub_ls_list_files): Likewise.
8483 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
8484 (grub_mini_cmd_lsmod): Likewise.
8485 * commands/read.c: Likewise.
8486 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
8487 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
8488 * lib/arg.c (grub_arg_show_help): Likewise.
8489 * lib/crypto.c (grub_password_get): Likewise.
8490 * normal/auth.c (grub_username_get): Likewise.
8491 * normal/misc.c (grub_normal_print_device_info): Likewise.
8492 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
8493 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
8494 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
8495 (normal/charset.c_DEPENDENCIES): New variable.
8496 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
8497 (pkglib_MODULES): Remove charset.mod.
8498 (charset_mod_SOURCES): Removed.
8499 (charset_mod_CFLAGS): Likewise.
8500 (charset_mod_LDFLAGS): Likewise.
8501 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
8502 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
8503 and term/tparm.c.
8504 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8505 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8506 (kernel_img_HEADERS): Add terminfo.h.
8507 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
8508 Fill ->font. Reverse ascii bitmaps.
8509 (grub_font_get_xheight): New function.
8510 * font/font.c (grub_font_get_string_width): Moved from here ...
8511 * gfxmenu/font.c (grub_font_get_string_width): ... here.
8512 * font/font.c (grub_font_draw_string): Moved from here ...
8513 * gfxmenu/font.c (grub_font_draw_string): ... here.
8514 * font/font.c (grub_font_dup_glyph): New function.
8515 (grub_font_blit_glyph): Likewise.
8516 (grub_font_blit_glyph_mirror): Likewise.
8517 (blit_comb): Likewise.
8518 (grub_font_construct_dry_run): Likewise.
8519 (grub_font_get_constructed_device_width): Likewise.
8520 (grub_font_construct_glyph): Likewise.
8521 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
8522 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
8523 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
8524 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
8525 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
8526 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
8527 (grub_font_get_xheight): New proto.
8528 (grub_font_get_constructed_device_width): Likewise.
8529 (grub_font_construct_glyph): Likewise.
8530 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
8531 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
8532 * include/grub/font.h (grub_font_draw_string): Moved from here ...
8533 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
8534 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
8535 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
8536 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
8537 (grub_console_getcharwidth): Likewise.
8538 * include/grub/misc.h (grub_xputs): New proto.
8539 (grub_puts): Inlined.
8540 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
8541 (grub_normal_get_line_counter): Removed.
8542 (grub_install_newline_hook): Likewise.
8543 (grub_normal_get_char_counter): New proto.
8544 (grub_normal_reset_more): Likewise.
8545 (grub_xputs_normal): Likewise.
8546 * include/grub/powerpc/ieee1275/console.h: Removed.
8547 * include/grub/sparc64/ieee1275/console.h: Likewise.
8548 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
8549 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
8550 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
8551 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
8552 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
8553 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
8554 (grub_term_input): Pass reference to self. All users updated.
8555 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
8556 Pass reference to self. New fields normal_color, highlight_color and
8557 data. All users updated.
8558 (grub_putchar): Removed.
8559 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
8560 (grub_unicode_estimate_width): New function.
8561 (grub_term_getcharwidth): Add defaults.
8562 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
8563 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
8564 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
8565 (grub_cls): Remove EXPORT_FUNC.
8566 (grub_setcolorstate): Inline.
8567 (grub_newline_hook): Removed.
8568 * include/grub/terminfo.h: Rewritten. All users updated.
8569 * include/grub/unicode.h: New file.
8570 * include/grub/video.h (grub_video_signed_rect): New type.
8571 * kern/emu/console.c (grub_console_highlight_color): Removed.
8572 (grub_console_normal_color): Likewise.
8573 (grub_console_standard_color): Made static.
8574 (grub_ncurses_putchar): Remove mapping.
8575 (grub_ncurses_getcharwidth): Removed.
8576 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
8577 (grub_ncurses_setcolor): Removed.
8578 (grub_ncurses_getcolor): Likewise.
8579 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
8580 (grub_console_putchar): ... this.
8581 (grub_console_putchar): Handle argument difference.
8582 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
8583 console_init_early and console_init_lately.
8584 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
8585 * kern/misc.c (grub_puts): Removed.
8586 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
8587 (grub_vsnprintf_real): Remove str = NULL support.
8588 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
8589 * normal/charset.c (grub_utf8_to_ucs4): ... here.
8590 * kern/term.c (grub_putcode): Renamed to ...
8591 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
8592 (grub_putchar): Removed.
8593 (grub_xputs_dumb): New function.
8594 (grub_xputs): New variable.
8595 * lib/charset.c: Move from here ...
8596 * normal/charset.c: ... to here.
8597 (grub_ucs4_to_utf8): New function.
8598 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
8599 (join_types): New variable.
8600 (unpack_join): New function.
8601 (bidi_types): New variable.
8602 (unpack_bidi): New function.
8603 (get_bidi_type): Likewise.
8604 (get_join_type): Likewise.
8605 (is_mirrored): Likewise.
8606 (grub_unicode_get_comb_type): Likewise.
8607 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
8608 (is_type_after): Likewise.
8609 (grub_unicode_aglomerate_comb): Likewise.
8610 (bidi_line_wrap): Likewise.
8611 (grub_bidi_line_logical_to_visual): Likewise.
8612 (grub_bidi_logical_to_visual): Likewise.
8613 (grub_unicode_mirror_code): Likewise.
8614 (grub_unicode_shape_code): Likewise.
8615 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
8616 Don't use grub_putchar.
8617 * normal/main.c (grub_normal_init_page): Use grub_putcode.
8618 (grub_normal_reader_init): Likewise.
8619 (grub_xputs_saved): New variable.
8620 (GRUB_MOD_INIT): Set grub_xputs.
8621 (GRUB_MOD_FINI): Restore grub_xputs.
8622 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
8623 (menu_init): Avoid printing gfxmenu error.
8624 (show_menu): Use grub_normal_get_char_counter.
8625 * normal/menu_entry.c (update_screen): Fix out-of-array.
8626 (complete): Avoid NULL dereferencing.
8627 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
8628 * normal/menu_text.c (print_spaces): Removed.
8629 (grub_print_ucs4): Likewise.
8630 (grub_print_message_indented): Use grub_print_ucs4.
8631 (print_message): Use grub_putcode.
8632 (print_entry): Hanlde diacritics.
8633 * normal/term.c (term_state): New type.
8634 (grub_more_lines): Removed.
8635 (term_states): New variable.
8636 (grub_normal_line_counter): Renamed to ..
8637 (grub_normal_char_counter): ...this. All users updated.
8638 (grub_normal_get_line_counter): Renamed to ...
8639 (grub_normal_get_char_counter): ... this.
8640 (grub_normal_reset_more): New function.
8641 (process_newline): Removed.
8642 (print_more): New function.
8643 (grub_install_newline_hook): Removed.
8644 (map_code): New function.
8645 (grub_puts_terminal): Use grub_print_ucs4.
8646 (putglyph): New function.
8647 (putcode_real): Likewise.
8648 (grub_putcode): Use putcode_real.
8649 (get_maxwidth): New function.
8650 (get_startwidth): Likewise.
8651 (print_ucs4_terminal): Likewise.
8652 (find_term_state): Likewise.
8653 (put_glyphs_terminal): Likewise.
8654 (print_backlog): Likewise.
8655 (print_ucs4_real): Likewise.
8656 (grub_print_ucs4): Likewise.
8657 (grub_xputs_normal): Likewise.
8658 * term/efi/console.c (grub_console_putchar): Output diacritics.
8659 (grub_console_getcharwidth): Removed.
8660 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
8661 * term/gfxterm.c (clear_char): Free chars.
8662 (scroll_up): Avoid leaking memory.
8663 (grub_gfxterm_putchar): Support diacritics.
8664 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
8665 * term/i386/pc/console.c (grub_console_term_output): Declare as
8666 GRUB_TERM_CODE_TYPE_VGA.
8667 * term/i386/pc/vga.c (grub_vga_term): Declare as
8668 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
8669 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
8670 GRUB_TERM_CODE_TYPE_VGA.
8671 * term/i386/vga_common.c (map_char): Removed.
8672 (grub_console_putchar): Likewise.
8673 (grub_console_getcharwidth): Likewise.
8674 * term/ieee1275/ofconsole.c: Simplify using terminfo.
8675 (colors): Reordered to match terminfo.
8676 (grub_ofconsole_normal_color): Removed.
8677 (grub_ofconsole_writeesc): Likewise.
8678 (grub_ofconsole_highlight_color): Likewise.
8679 (grub_ofconsole_getcharwidth): Likewise.
8680 (grub_ofconsole_setcolorstate): Likewise.
8681 (grub_ofconsole_setcolor): Likewise.
8682 (grub_ofconsole_getcolor): Likewise.
8683 (grub_ofconsole_readkey): Renamed to ...
8684 (readkey): ... this. Remove escape sequence handling. Return -1 on no
8685 key.
8686 (grub_ofconsole_checkkey): Removed.
8687 (grub_ofconsole_getkey): Likewise.
8688 (grub_ofconsole_getxy): Likewise.
8689 (grub_ofconsole_gotoxy): Likewise.
8690 (grub_ofconsole_cls): Likewise.
8691 (grub_ofconsole_refresh): Likewise.
8692 (grub_ofconsole_terminfo_input): New struct.
8693 (grub_ofconsole_terminfo_output): Likewise.
8694 (grub_ofconsole_term_input): Use terminfo.
8695 (grub_ofconsole_term_output): Likewise.
8696 (grub_console_init): Split into ...
8697 (grub_console_init_early): ...this and ...
8698 (grub_console_init_lately): ...this. Use terminfo.
8699 (grub_ofconsole_putchar): Renamed to ...
8700 (put): ... this. Remove mapping.
8701 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
8702 * term/serial.c: Simplify using terminfo.
8703 (xpos): Removed.
8704 (ypos): Likewise.
8705 (keep_track): Likewise.
8706 (registered): Likewise.
8707 (input_buf): Likewise.
8708 (npending): Likewise.
8709 (serial_translate_key_sequence): Likewise.
8710 (fill_input_buf): Likewise.
8711 (grub_serial_checkkey): Likewise.
8712 (grub_serial_getkey): Likewise.
8713 (grub_serial_getxy): Likewise.
8714 (grub_serial_gotoxy): Likewise.
8715 (grub_serial_putchar): Likewise.
8716 (grub_serial_cls): Likewise.
8717 (grub_serial_setcolorstate): Likewise.
8718 (grub_serial_setcursor): Likewise.
8719 (serial_hw_init): Use serial_hw_fetch.
8720 (grub_serial_terminfo_input): New variable.
8721 (grub_serial_terminfo_output): Likewise.
8722 (grub_serial_term_input): Use terminfo.
8723 (grub_serial_term_output): Likewise.
8724 * term/terminfo.c (putstr): Use put.
8725 (grub_terminfo_all_free): New function
8726 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
8727 (grub_terminfo_output_register): New function.
8728 (grub_terminfo_output_unregister): Likewise.
8729 (grub_terminfo_getxy): Likewise.
8730 (grub_terminfo_readkey): Likewise.
8731 (grub_terminfo_checkkey): Likewise.
8732 (grub_terminfo_getkey): Likewise.
8733 (grub_terminfo_input_init): Likewise.
8734 (print_terminfo): Likewise.
8735 (grub_cmd_terminfo): Handle encoding.
8736 (grub_terminfo_gotoxy): Track position.
8737 (grub_terminfo_cls): Likewise.
8738 (grub_terminfo_putchar): Likewise.
8739 (grub_terminfo_setcolorstate): Handle colors
8740 (grub_terminfo_cursor_on): This ...
8741 (grub_terminfo_cursor_off): ... and this merged into ...
8742 (grub_terminfo_setcursor): ... this.
8743 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
8744 * unicode/ArabicShaping.txt: New file (imported from Unicode).
8745 * unicode/BidiMirroring.txt: Likewise.
8746 * unicode/UnicodeData.txt: Likewise.
8747 * unicode/COPYING: Likewise.
8748 * util/grub-editenv.c (grub_putchar): Removed.
8749 (grub_xputs_real): New function.
8750 (grub_xputs): New variable.
8751 * util/grub-fstest.c (grub_putchar): Removed.
8752 (grub_xputs_real): New function.
8753 (grub_xputs): New variable.
8754 * util/grub-mkdevicemap.c (grub_putchar): Removed.
8755 (grub_xputs_real): New function.
8756 (grub_xputs): New variable.
8757 * util/grub-probe.c (grub_putchar): Removed.
8758 (grub_xputs_real): New function.
8759 (grub_xputs): New variable.
8760 * util/grub-script-check.c (grub_putchar): Removed.
8761 (grub_xputs_real): New function.
8762 (grub_xputs): New variable.
8763 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
8764 (grub_xputs_real): New function.
8765 (grub_xputs): New variable.
8766 * util/import_unicode.py: New file.
8767 * util/grub-mkfont.c (ft_errmsgs): New array.
8768 (grub_glyph_info): Make bitmap a pointer.
8769 (file_formats): New type WIDTH_SPEC.
8770 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
8771 (options): Add width-spec.
8772 (help): Likewise.
8773 (add_char): Renamed to ...
8774 (add_glyph): ... this.
8775 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
8776 (glyph_replace): New type.
8777 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
8778 (add_char): New function.
8779 (add_subst): Likewise.
8780 (process_cursive): Likewise.
8781 (add_font): Handle GSUB.
8782 (write_font_width_spec): New function.
8783 (main): Sort glyphs.
8784 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
8785 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
8786 * kern/term.c (grub_cls): Moved from here...
8787 * normal/term.c (grub_cls): ... here.
8788
50f0bcda
CW
87892010-07-02 Colin Watson <cjwatson@ubuntu.com>
8790
8791 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
8792 suitable for using within the format argument of printf when
8793 converting grub_size_t.
8794 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
8795 "x" to convert grub_size_t arguments.
8796
40372103
VS
87972010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
8800 too long captions.
8801 (list_get_minimal_size): Take selection box into account.
8802
942a10c7
VS
88032010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
8806 NULL font.
8807
2bdb2892
CW
88082010-07-02 Colin Watson <cjwatson@ubuntu.com>
8809
8810 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
8811 devices when iterating over /dev/disk/by-id; they will be handled
8812 later if appropriate, which they aren't always (e.g. LVM).
8813
e03ed6c1
CW
88142010-07-02 Colin Watson <cjwatson@ubuntu.com>
8815
8816 * include/grub/misc.h (grub_reboot): Declare as noreturn.
8817 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
8818 fails.
8819 (grub_halt): Likewise.
8820 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
8821 reset-all fails.
8822 (grub_halt): Don't return, even if all of shut-down, power-off, and
8823 poweroff fail.
8824
47695765
CW
88252010-07-02 Colin Watson <cjwatson@ubuntu.com>
8826
8827 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
8828 arguments, not three.
8829
507736c8
CW
88302010-07-02 Colin Watson <cjwatson@ubuntu.com>
8831
8832 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
8833 * util/grub.d/10_linux.in: Use it to check for LVM, so that
8834 LVM-on-RAID is handled correctly.
8835
e3c8cd37
CW
88362010-07-02 Colin Watson <cjwatson@ubuntu.com>
8837
8838 * docs/grub.texi (Changes from GRUB Legacy): New section.
8839 (Future): Fix typo.
8840
8d4a2fec
CW
88412010-07-02 Colin Watson <cjwatson@ubuntu.com>
8842
8843 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
8844 grub.d/README accidentally ends up executable for one reason or
8845 another. Ignore it.
8846
1c4827be
VS
88472010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
8850 (gpt_partition_map_iterate): Support non-512B sectors.
8851
d9a0c941
VS
88522010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 * kern/efi/init.c (grub_efi_init): Disable watchdog.
8855 Tested by: Seth Goldberg.
8856
48f27e87
VS
88572010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
8860 Properly align mbi.
8861 Reported by: Seth Goldberg.
8862
b0c4f956
VS
88632010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * util/grub-mkrescue.in: Avoid module duplication.
8866
105a2e8c
SF
88672010-07-01 Sean Finney <seanius@seanius.net>
8868
8869 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
8870
5944958c
SF
88712010-07-01 Sean Finney <seanius@seanius.net>
8872
8873 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
8874
88752010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
8876
8877 * disk/lvm.c (grub_lvm_checkvalue): New function.
8878 (grub_lvm_check_flag): Likewise.
8879
b79889ba
RM
88802010-07-01 Robert Millan <rmh@gnu.org>
8881
8882 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
8883 Support 'p' as partition separator on kernel of FreeBSD (used
8884 with GPT labels).
8885 (grub_util_biosdisk_get_grub_dev): Likewise.
8886
ec1d04f1
VS
88872010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 Yeeloong firmware port.
8890
8891 * boot/mips/yeeloong/fwstart.S: New file.
8892 * bus/cs5536.c (gpiodump): New const.
8893 (set_io_space): New function.
8894 (set_iod): Likewise.
8895 (set_p2d): Likewise.
8896 (grub_cs5536_init_geode): Likewise.
8897 * commands/mips/yeeloong/lsspd.c: New file.
8898 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
8899 (serial_mod_SOURCES): New variable.
8900 (serial_mod_CFLAGS): Likewise.
8901 (serial_mod_LDFLAGS): Likewise.
8902 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
8903 term/terminfo.c and term/tparm.c.
8904 (pkglib_IMAGES): Add fwstart.img.
8905 (fwstart_img_SOURCES): New variable.
8906 (fwstart_img_CFLAGS): Likewise.
8907 (fwstart_img_ASFLAGS): Likewise.
8908 (fwstart_img_LDFLAGS): Likewise.
8909 (fwstart_img_FORMAT): Likewise.
8910 (pkglib_MODULES): Add lsspd.mod.
8911 (lsspd_mod_SOURCES): New variable.
8912 (lsspd_mod_CFLAGS): Likewise.
8913 (lsspd_mod_LDFLAGS): Likewise.
8914 (pkglib_MODULES): Add halt.mod.
8915 (halt_mod_SOURCES): New variable.
8916 (halt_mod_CFLAGS): Likewise.
8917 (halt_mod_LDFLAGS): Likewise.
8918 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
8919 (serial_mod_SOURCES): Removed.
8920 (serial_mod_CFLAGS): Likewise.
8921 (serial_mod_LDFLAGS): Likewise.
8922 * disk/ata.c (check_device): New function.
8923 (grub_ata_device_initialize): Use check_device.
8924 (grub_ata_iterate): Recheck devices.
8925 (grub_ata_open): Likewise.
8926 (grub_atapi_iterate): Likewise.
8927 (grub_atapi_open): Likewise.
8928 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
8929 (GRUB_ATA_CH1_PORT1): Likewise.
8930 (GRUB_ATA_CH0_PORT2): Likewise.
8931 (GRUB_ATA_CH1_PORT2): Likewise.
8932 * include/grub/mips/loongson.h: New file.
8933 * include/grub/mips/yeeloong/ec.h: Likewise.
8934 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
8935 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
8936 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
8937 * include/grub/misc.h (grub_halt): Declare as noreturn.
8938 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
8939 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
8940 (UART_ENABLE_FIFO_TRIGGER1): New definition.
8941 (UART_ENABLE_DTRRTS): Likewise.
8942 (UART_ENABLE_MODEM): Removed.
8943 (UART_ENABLE_OUT2): New const.
8944 * include/grub/term.h (grub_term_register_input_active): New function.
8945 (grub_term_register_output_active): Likewise.
8946 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
8947 argument.
8948 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
8949 (init_pci): New function.
8950 (grub_machine_init): Execute platform init when firmware. Init serial.
8951 (grub_halt): Implement.
8952 (grub_exit): Likewise.
8953 (grub_reboot): Likewise.
8954 * term/serial.c (serial_hw_init): Update macros.
8955 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
8956 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
8957 (image_targets): New target mipsel-yeeloong-flash.
8958 (generate_image): Support IMAGE_YEELOONG_FLASH.
8959 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
8960 (grub_video_sm712_setup): Init card.
8961 (grub_video_sm712_set_palette): Removed.
8962 * video/sm712_init.c: New file.
8963
ff4a70d2
CW
89642010-06-30 Colin Watson <cjwatson@ubuntu.com>
8965
8966 * Makefile.in (install-local): Temporarily prepend $(builddir) to
8967 PATH when running help2man and then run it on the unadorned
8968 executable names, rather than passing $(builddir)/* paths to
8969 help2man. This avoids the build directory ending up in generated
8970 manual pages.
8971
1246efeb
CW
89722010-06-29 Colin Watson <cjwatson@ubuntu.com>
8973
8974 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
8975 to avoid accidents when debugging with 'sh -x'.
8976 * util/grub-mkrescue.in: Likewise.
8977 * util/grub.d/00_header.in: Likewise.
8978 * util/grub.d/10_hurd.in: Likewise.
8979 * util/grub.d/10_kfreebsd.in: Likewise.
8980 * util/grub.d/10_linux.in: Likewise.
8981 * util/grub.d/10_netbsd.in: Likewise.
8982 * util/grub.d/10_windows.in: Likewise.
8983 * util/grub.d/20_linux_xen.in: Likewise.
8984 * util/grub.d/30_os-prober.in: Likewise.
8985 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8986
1ba9b889
CW
89872010-06-29 Colin Watson <cjwatson@ubuntu.com>
8988
8989 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
8990 last character in the buffer.
8991 Reported by: Vladimir Serbinenko.
8992
dccaf99d
RM
89932010-06-29 Robert Millan <rmh@gnu.org>
8994
8995 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
8996 (Command-line and menu entry commands): Document `badram' command.
8997
d500ed12
RM
89982010-06-28 Robert Millan <rmh@gnu.org>
8999
9000 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
9001 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
9002 command using ${GRUB_BADRAM} as parameter.
9003
20bc84a6
CW
90042010-06-28 Colin Watson <cjwatson@ubuntu.com>
9005
9006 * docs/grub.texi (Device map): New section.
9007 (Themes): New section (stub).
9008 * Makefile.in (docs/grub.info): The info documentation now builds
9009 without errors. Make sure it stays that way.
9010
4045dee1
VS
90112010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 Use normal parser for menu entries.
9014 Reported by: Thomas Frauendorfer
9015
9016 * include/grub/parser.h (grub_parser_execute): Don't export.
9017 * normal/menu.c (grub_menu_execute_entry_real): New function.
9018 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
9019
bca58c7b
CW
90202010-06-28 Colin Watson <cjwatson@ubuntu.com>
9021
9022 * docs/grub.texi (Embedded configuration): New section (replacing
9023 old "Preset Menu" stub).
9024 (Images): New section.
9025 (configfile): Note that any menu entries defined in `file' are shown
9026 immediately.
9027
dec53e63
JT
90282010-06-28 Josh Triplett <josh@joshtriplett.org>
9029
9030 * mmap/i386/pc/mmap_helper.S: Set CF on return.
9031
c06e40f7
CW
90322010-06-28 Colin Watson <cjwatson@ubuntu.com>
9033
9034 * util/grub-install.in: Add --debug-image= option.
9035
cb88052b
CW
90362010-06-28 Colin Watson <cjwatson@ubuntu.com>
9037
9038 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
9039 possible on Linux.
9040
9041 * util/deviceiter.c (check_device): Rename to ...
9042 (check_device_readable_unique): ... this. Update all callers.
9043 Maintain and check a list of which devices (by canonicalized name)
9044 have already been seen.
9045 (clear_seen_devices): New function.
9046 (compare_file_names) [__linux__]: New function.
9047 (grub_util_iterate_devices): Clear the list of seen devices on exit
9048 and (just in case) on entry.
9049 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
9050 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
9051 seen-devices list, superseded by general code in check_device.
9052
bbe34652
CW
90532010-06-28 Colin Watson <cjwatson@ubuntu.com>
9054
9055 * commands/cat.c (options): New variable.
9056 (grub_cmd_cat): Parse options. If the --dos option is given, print
9057 DOS-style "\r\n" line endings as simple newlines (Debian bug
9058 #586358).
9059 (GRUB_MOD_INIT): Use extcmd.
9060 (GRUB_MOD_FINI): Likewise.
9061 * docs/grub.texi (cat): Document --dos.
9062
412e09f3
VS
90632010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 XEN with Linux grub-mkconfig support.
9066
9067 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
9068 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
9069 GRUB_CMDLINE_XEN_DEFAULT.
9070 * util/grub.d/20_linux_xen.in: New file.
9071
53f3ef38 90722010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
9073
9074 Initialise VGA video on qemu ourselves.
9075
9076 * boot/i386/qemu/boot.S: Don't call 0xc000.
9077 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
9078 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
9079 (kernel_img_HEADERS): Add pci.h.
9080 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
9081 * configure.ac: Force unifont on qemu and yeeloong.
9082 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
9083 (grub_vga_palette_write): Use correct register.
9084 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
9085 Call grub_qemu_init_cirrus.
9086 * kern/i386/qemu/init.c: New file.
9087 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
9088
9089 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
9090
c75be4fb
PR
90912010-06-26 Pavel Roskin <proski@gnu.org>
9092
9093 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
9094 13.
9095
d8034603
CW
90962010-06-26 Colin Watson <cjwatson@ubuntu.com>
9097
9098 * docs/grub.texi (Simple configuration): Explain that
9099 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
9100 set to `true' to disable their respective recovery entries, not
9101 merely set.
9102
3fa06487
CW
91032010-06-26 Colin Watson <cjwatson@ubuntu.com>
9104
9105 Make the `source' command slightly faster.
9106
9107 * normal/main.c (grub_normal_execute): Don't re-read list files when
9108 nested.
9109
e9b29642
CW
91102010-06-23 Colin Watson <cjwatson@ubuntu.com>
9111
9112 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
9113 field position and mask size to red fields from mode_info, not
9114 green.
9115 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
9116 Remove redundant tag->common.framebuffer_type assignment.
9117 Reported by: Seth Goldberg.
9118
e726542f
CW
91192010-06-23 Colin Watson <cjwatson@ubuntu.com>
9120
9121 Sync up other versions of the Linux loader with Robert Millan's
9122 change of 2010-01-09, "Make loader output a bit more user-friendly".
9123
9124 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
9125 grub_dprintf().
9126 (grub_cmd_linux): Likewise.
9127 (grub_cmd_initrd): Likewise.
9128 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
9129 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9130
d6e98a17
CW
91312010-06-21 Colin Watson <cjwatson@ubuntu.com>
9132
9133 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
9134 larger than MEMORY_MAP_SIZE.
9135
14d3f08e
BC
91362010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
9137
9138 Fix parallel build.
9139
9140 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
9141 dependency.
9142 * script/parser.y: #include grub_script.tab.h header.
9143
4f9613a3
VS
91442010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9145
9146 Support >3GiB and <16MiB RAM in i386-qemu.
9147
9148 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
9149 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
9150 (grub_lower_mem): Removed.
9151 (grub_upper_mem): Likewise.
9152 (mem_size): Made static.
9153 (above_4g): New variable.
9154 (grub_machine_mmap_init): Detect small mem_size and above_4g.
9155 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
9156 support.
9157
05e51879
VS
91582010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9159
9160 Cirrus 5446 and Bochs video cards support.
9161
9162 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
9163 video_bochs.mod
9164 (video_cirrus_mod_SOURCES): New variable.
9165 (video_cirrus_mod_CFLAGS): Likewise.
9166 (video_cirrus_mod_LDFLAGS): Likewise.
9167 (video_bochs_mod_SOURCES): Likewise.
9168 (video_bochs_mod_CFLAGS): Likewise.
9169 (video_bochs_mod_LDFLAGS): Likewise.
9170 * include/grub/vga.h: New file.
9171 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
9172 (grub_video_fb_set_page_t): New type.
9173 (grub_video_fb_setup): New prototype.
9174 (grub_video_fb_swap_buffers): Likewise.
9175 (grub_video_fb_get_info_and_fini): Likewise.
9176 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
9177 (CRTC_DATA_PORT): Likewise.
9178 (CRTC_CURSOR): Likewise.
9179 (CRTC_CURSOR_ADDR_HIGH): Likewise.
9180 (CRTC_CURSOR_ADDR_LOW): Likewise.
9181 (CRTC_CURSOR_DISABLE): Likewise.
9182 (update_cursor): Use grub_vga_cr_write.
9183 (grub_vga_text_setcursor): Likewise.
9184 * video/bochs.c: New file.
9185 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
9186 (palette): Likewise.
9187 (palette_size): Likewise.
9188 (framebuffer): New variable.
9189 (grub_video_fb_init): Use 'framebuffer'.
9190 (grub_video_fb_fini): Likewise.
9191 (grub_video_fb_get_info): Likewise.
9192 (grub_video_fb_get_palette): Likewise.
9193 (grub_video_fb_set_palette): Likewise.
9194 (grub_video_fb_set_viewport): Likewise.
9195 (grub_video_fb_get_viewport): Likewise.
9196 (grub_video_fb_map_color): Likewise.
9197 (grub_video_fb_map_rgb): Likewise.
9198 (grub_video_fb_map_rgba): Likewise.
9199 (grub_video_fb_unmap_color): Likewise.
9200 (grub_video_fb_unmap_color_int): Likewise.
9201 (grub_video_fb_fill_rect): Likewise.
9202 (grub_video_fb_blit_bitmap): Likewise.
9203 (grub_video_fb_blit_render_target): Likewise.
9204 (grub_video_fb_scroll): Likewise.
9205 (grub_video_fb_create_render_target): Likewise.
9206 (grub_video_fb_doublebuf_blit_init): Likewise.
9207 (grub_video_fb_set_active_render_target): Handle doublebuffering.
9208 (doublebuf_pageflipping_update_screen): New function.
9209 (doublebuf_pageflipping_init): Likewise.
9210 (grub_video_fb_setup): Likewise.
9211 (grub_video_fb_swap_buffers): Likewise.
9212 (grub_video_fb_get_info_and_fini): Likewise.
9213 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
9214 All users updated.
9215 (doublebuf_pageflipping_commit): Restructured into ...
9216 (doublebuf_pageflipping_set_page): ... this.
9217 (doublebuf_pageflipping_update_screen): Removed.
9218 (doublebuf_pageflipping_init): Likewise.
9219 (double_buffering_init): Likewise.
9220 (grub_video_vbe_setup): Use grub_video_fb_setup.
9221 (grub_video_vbe_swap_buffers): Removed.
9222 (grub_video_vbe_set_active_render_target): Likewise.
9223 (grub_video_vbe_get_active_render_target): Likewise.
9224 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
9225 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
9226 grub_video_fb_set_active_render_target and
9227 grub_video_fb_get_active_render_target.
9228 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
9229 (SEQUENCER_DATA_PORT): Likewise.
9230 (MAP_MASK_REGISTER): Likewise.
9231 (CRTC_ADDR_PORT): Likewise.
9232 (CRTC_DATA_PORT): Likewise.
9233 (START_ADDR_HIGH_REGISTER): Likewise.
9234 (START_ADDR_LOW_REGISTER): Likewise.
9235 (GRAPHICS_ADDR_PORT): Likewise.
9236 (GRAPHICS_DATA_PORT): Likewise.
9237 (READ_MAP_REGISTER): Likewise.
9238 (INPUT_STATUS1_REGISTER): Likewise.
9239 (INPUT_STATUS1_VERTR_BIT): Likewise.
9240 (get_map_mask): Use grub_vga_sr_read.
9241 (set_map_mask): Use grub_vga_sr_write.
9242 (set_read_map): Use grub_vga_gr_write.
9243 (set_start_address): Use grub_vga_cr_write.
9244 * video/sm712.c (framebuffer): Remove leftover fields.
9245
4321c64a
CW
92462010-06-20 Colin Watson <cjwatson@ubuntu.com>
9247
9248 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
9249 setting GRUB_VIDEO_BACKEND. Make it available as a user override
9250 instead. Replace the gfxterm backend check with a check that
9251 ${GRUB_PREFIX}/video.lst is non-empty.
9252 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
9253 again.
9254 (load_video): New generated function. Call it before loading
9255 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
9256 * util/grub.d/10_linux.in (linux_entry): Call load_video.
9257 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
9258 * docs/grub.texi (Simple configuration): Document
9259 GRUB_VIDEO_BACKEND.
9260
92612010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 Use video functions in linux and xnu loaders.
9264
9265 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
9266 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
9267 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
9268 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
9269 loader/i386/pc/linux.c.
9270 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
9271 (find_line_len): Removed.
9272 (find_framebuf): Likewise.
9273 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
9274 * loader/i386/efi/xnu.c: Removed.
9275 * loader/i386/pc/xnu.c: Moved from here...
9276 * loader/i386/xnu.c: ...here.
9277
9278 Enable priorities in video drivers.
9279
9280 * include/grub/video.h (grub_video_adapter_prio_t): New type.
9281 (grub_video_adapter): New field prio.
9282 (grub_video_register): Respect prio when inserting.
9283 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
9284 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
9285 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
9286 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
9287 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
9288 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
9289 * video/sm712.c (grub_video_sm712_adapter): Likewise.
9290
9291 Fix SDL driver ID.
9292
9293 * include/grub/video.h (grub_video_driver_id_t): New value
9294 GRUB_VIDEO_DRIVER_SDL.
9295 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
9296
7d24e434
CW
92972010-06-17 Colin Watson <cjwatson@ubuntu.com>
9298
9299 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
9300 argument to printf.
9301 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9302
c88a83f6
CW
93032010-06-17 Colin Watson <cjwatson@ubuntu.com>
9304
9305 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
9306 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9307
094dfb69
CW
93082010-06-17 Colin Watson <cjwatson@ubuntu.com>
9309
9310 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
9311 directly, and recommend grub-install instead.
9312 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9313
2164da6b
CW
93142010-06-17 Colin Watson <cjwatson@ubuntu.com>
9315
9316 Fix i386-pc prefix handling with nested partitions (Debian bug
9317 #585068). Note that the case where the core image is booted using
9318 multiboot and relocated from its original location still requires
9319 more work.
9320
9321 * kern/i386/pc/init.c (make_install_device): If the prefix starts
9322 with "(,", fill the boot drive in between those two characters, but
9323 expect that a full partition specification including partition map
9324 names will follow.
9325 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
9326 specified, write a prefix without the drive name but including a
9327 full partition specification.
9328
044e2e60
CW
93292010-06-16 Colin Watson <cjwatson@ubuntu.com>
9330
9331 * util/grub-mkconfig.in: Ignore non-option arguments, for
9332 compatibility with older versions (before 2010-06-12) which did the
9333 same. In particular, this makes it easier to ship an update-grub
9334 wrapper which is compatible with that used with GRUB Legacy (Debian
9335 bug #586056).
9336
5591324f
GS
93372010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9338
9339 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
9340 for manual page generation.
9341
662e24d5
GS
93422010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9343
9344 * po/POTFILES: Remove leftover commands/handler.c.
9345
8d70754e
CW
93462010-06-14 Colin Watson <cjwatson@ubuntu.com>
9347
9348 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
9349 left this script non-functional.
9350
41160e2e
CW
93512010-06-14 Colin Watson <cjwatson@ubuntu.com>
9352
9353 * docs/man/grub-emu.h2m: New file.
9354
b5309cc1
CW
93552010-06-13 Colin Watson <cjwatson@ubuntu.com>
9356
9357 * docs/grub.texi (Commands): Document reduced command set in rescue
9358 mode.
9359 (cpuid): New section.
9360
fcb2d090
GS
93612010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
9362
9363 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
9364 new partition naming style.
9365 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
9366
96e5c556
BC
93672010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
9368
9369 Add "-o grub.iso" like cmdline options support.
9370
9371 * util/grub-install.in: Improve cmdline option parsing.
9372 * util/grub-mkconfig.in: Likewise.
9373 * util/grub-mkrescue.in: Likewise.
9374 * util/grub-reboot.in: Likewise.
9375 * util/grub-set-default.in: Likewise.
9376 * util/i386/efi/grub-install.in: Likewise.
9377 * util/ieee1275/grub-install.in: Likewise.
9378 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9379
c16be99b
CW
93802010-06-12 Colin Watson <cjwatson@ubuntu.com>
9381
9382 * .bzrignore: Ignore 41_custom.
9383
ce08a9fb
TS
93842010-06-12 Thomas Schmitt <scdbackup@gmx.net>
9385
9386 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
9387
7beac90c
CW
93882010-06-12 Colin Watson <cjwatson@ubuntu.com>
9389
9390 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
9391 prototype declarations.
9392
9393 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
9394 generating fs, partmap, and video lists.
9395 * include/grub/fs.h (grub_fs_register): Omit prototype if
9396 GRUB_LST_GENERATOR is defined.
9397 * include/grub/partition.h (grub_partition_map_register): Likewise.
9398 * include/grub/video.h (grub_video_register): Likewise.
9399
1c8f0f8d
JM
94002010-06-12 Javier Martín <lordhabbit@gmail.com>
9401
9402 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
9403
a6085973
TS
94042010-06-12 Thomas Schmitt <scdbackup@gmx.net>
9405
9406 * util/grub-mkrescue.in: Support --xorriso argument.
9407
25c56d29
VS
94082010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9409
9410 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
9411 Suggested by: Thomas Schmitt.
9412
e03e4b24
VS
94132010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
9416 Suggested by: Thomas Schmitt.
9417
57711df6
VS
94182010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 custom.cfg support.
9421
9422 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
9423 * util/grub.d/41_custom.in: New file.
9424
ee62c427
CW
94252010-06-12 Colin Watson <cjwatson@ubuntu.com>
9426
9427 * util/grub-mkrescue.in (make_image): Remove sh module, which has
9428 been merged back into normal.
9429
283af07a
CW
94302010-06-11 Colin Watson <cjwatson@ubuntu.com>
9431
9432 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
9433 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
9434
56a0d956
CW
94352010-06-11 Colin Watson <cjwatson@ubuntu.com>
9436
9437 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
9438 when generating manual pages.
9439 * docs/man/grub-bin2h.h2m: New file.
9440 * docs/man/grub-editenv.h2m: New file.
9441 * docs/man/grub-fstest.h2m: New file.
9442 * docs/man/grub-install.h2m: New file.
9443 * docs/man/grub-macho2img.h2m: New file.
9444 * docs/man/grub-mkconfig.h2m: New file.
9445 * docs/man/grub-mkdevicemap.h2m: New file.
9446 * docs/man/grub-mkfont.h2m: New file.
9447 * docs/man/grub-mkimage.h2m: New file.
9448 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
9449 * docs/man/grub-mkrelpath.h2m: New file.
9450 * docs/man/grub-mkrescue.h2m: New file.
9451 * docs/man/grub-ofpathname.h2m: New file.
9452 * docs/man/grub-pe2elf.h2m: New file.
9453 * docs/man/grub-probe.h2m: New file.
9454 * docs/man/grub-reboot.h2m: New file.
9455 * docs/man/grub-script-check.h2m: New file.
9456 * docs/man/grub-set-default.h2m: New file.
9457 * docs/man/grub-setup.h2m: New file.
9458
3a37e322
VS
94592010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 Use FOR_* macros instead of *_iterate whenever possible.
9462
9463 * commands/handler.c: Removed.
9464 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
9465 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
9466 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9467 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
9468 (grub_probe_SOURCES): Remove kern/parser.c.
9469 (util/grub-script-check.c_DEPENDENCIES): Removed.
9470 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
9471 and grub_script_check_init.c.
9472 (grub_script_check_init.lst): Removed.
9473 (grub_script_check_init.h): Likewise.
9474 (grub_script_check_init.c): Likewise.
9475 (pkglib_MODULES): Remove handler.mod and sh.mod.
9476 (handler_mod_SOURCES): Removed.
9477 (handler_mod_CFLAGS): Likewise.
9478 (handler_mod_LDFLAGS): Likewise.
9479 (normal_mod_SOURCES): Remove normal/handler.c.
9480 Add script/main.c, script/script.c, script/execute.c,
9481 script/function.c, script/lexer.c, grub_script.tab.c
9482 and grub_script.yy.c.
9483 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9484 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9485 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
9486 (grub_setup_SOURCES): Remove kern/parser.c.
9487 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9488 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
9489 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
9490 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9491 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9492 (grub_setup_SOURCES): Remove kern/parser.c.
9493 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9494 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
9495 * include/grub/command.h (grub_command_iterate): Removed.
9496 (FOR_COMMANDS): New macro.
9497 * include/grub/dl.h (grub_dl): New member next.
9498 (grub_dl_iterate): Removed.
9499 (grub_dl_head): New variable declaration.
9500 (FOR_DL_MODULES): New macro.
9501 * include/grub/fs.h: Include list.h.
9502 (grub_fs): Make next first element.
9503 (grub_fs_list): New variable declaration.
9504 (grub_fs_register): Make inline.
9505 (grub_fs_unregister): Likewise.
9506 (grub_fs_iterate): Removed.
9507 (FOR_FILESYSTEMS): New macro.
9508 * include/grub/handler.h: Removed.
9509 * include/grub/list.h (grub_list_hook_t): Removed.
9510 (grub_list_test_t): Likewise.
9511 (grub_list_pop): Likewise.
9512 (grub_list_iterate): Likewise.
9513 (grub_list_insert): Likewise.
9514 (FOR_LIST_ELEMENTS): New macro.
9515 * include/grub/parser.h (grub_parser_class): Removed.
9516 (grub_parser_register): Likewise.
9517 (grub_parser_unregister): Likewise.
9518 (grub_parser_get_current): Likewise.
9519 (grub_parser_set_current): Likewise.
9520 (grub_register_rescue_parser): Likewise.
9521 (grub_rescue_parse_line): New function.
9522 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
9523 * include/grub/script_sh.h (grub_script_function_list): New variable
9524 declaration.
9525 (FOR_SCRIPT_FUNCTIONS): New macro.
9526 (grub_script_function_iterate): Removed.
9527 (grub_normal_parse_line): New prototype.
9528 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
9529 (FOR_DISABLED_TERM_INPUTS): Likewise.
9530 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
9531 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
9532 * include/grub/video.h (grub_video_adapter): Move 'next' to first
9533 element.
9534 (grub_video_register): Inline.
9535 (grub_video_unregister): Likewise.
9536 (grub_video_adapter_list): New variable declaration.
9537 (grub_video_iterate): Removed.
9538 (FOR_VIDEO_ADAPTERS): New macro.
9539 * kern/dl.c (grub_dl_list): Removed. All users updated.
9540 (grub_dl_iterate): Removed.
9541 * kern/fs.c (grub_fs_list): Make global.
9542 (grub_fs_register): Removed.
9543 (grub_fs_unregister): Likewise.
9544 (grub_fs_iterate): Likewise.
9545 * kern/handler.c: Removed.
9546 * kern/list.c (grub_list_pop): Removed.
9547 (grub_list_iterate): Likewise.
9548 (grub_list_insert): Likewise.
9549 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
9550 (grub_prio_list_insert): Don't use grub_list_insert.
9551 * kern/main.c (grub_register_rescue_parser): Don't call
9552 grub_register_rescue_parser.
9553 * kern/parser.c (grub_parser_class): Removed.
9554 (grub_parser_execute): Use grub_rescue_parse_line.
9555 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
9556 (grub_rescue_parser): Removed.
9557 (grub_register_rescue_parser): Likewise.
9558 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
9559 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
9560 (grub_auth_check_authentication): Likewise.
9561 * normal/completion.c (iterate_command): Removed.
9562 (grub_normal_do_completion): Use FOR_COMMANDS.
9563 * normal/handler.c: Removed.
9564 * normal/main.c (read_config_file): Remove parser changing.
9565 (grub_normal_execute): Don't call read_handler_list.
9566 (grub_normal_read_line_real): Statically allocate prompt.
9567 (grub_cmdline_run): Use grub_normal_parse_line.
9568 (GRUB_MOD_FINI): Don't call free_handler_list.
9569 * normal/menu_entry.c (run): Likewise.
9570 * script/function.c (grub_script_function_list): Make global.
9571 (grub_script_function_iterate): Removed.
9572 * script/main.c (grub_normal_parse_line): Make global.
9573 (grub_sh_parser): Removed.
9574 (GRUB_MOD_INIT): Likewise.
9575 (GRUB_MOD_FINI): Likewise.
9576 * tests/lib/functional_test.c (grub_functional_test): Use
9577 FOR_LIST_ELEMENTS.
9578 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
9579 (grub_test_run): Use FOR_LIST_ELEMENTS.
9580 * tests/lib/unit_test.c (main): Likewise.
9581 * util/deviceiter.c (grub_util_iterate_devices): Don't use
9582 grub_list_pop.
9583 * util/grub-fstest.c (grub_term_input_class): Removed.
9584 (grub_term_output_class): Likewise.
9585 * util/grub-probe.c: Likewise.
9586 * util/i386/pc/grub-setup.c: Likewise.
9587 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9588 * util/grub-script-check.c (main): Don't call grub_init_all and
9589 grub_fini_all.
9590 * video/video.c (grub_video_adapter_list): Make global.
9591 (grub_video_register): Removed.
9592 (grub_video_unregister): Likewise.
9593 (grub_video_iterate): Likewise.
9594
6289c3a7
VS
95952010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9596
9597 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
9598 reported by Henrique Ferreiro.
9599
91460247
RM
96002010-06-09 Robert Millan <rmh@gnu.org>
9601
9602 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
9603 ones, when both are available.
9604
0ea7c4f9
GS
96052010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9606
9607 Make --version uniform and avoid hard-coded program name.
9608
9609 * util/grub-mkimage.c (main): Use `program_name' instead of
9610 hard-coded string.
9611 * util/i386/pc/grub-setup.c (main): Likewise.
9612 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
9613 * util/grub-install.in: Save the basename of $0 in $self, and use the
9614 latter in informational messages. Use the same format for --version
9615 as the binary programs.
9616 * util/grub-mkconfig.in: Likewise.
9617 * util/grub-mkrescue.in: Likewise.
9618 * util/grub-reboot.in: Likewise.
9619 * util/grub-set-default.in: Likewise.
9620 * util/i386/efi/grub-install.in: Likewise.
9621 * util/ieee1275/grub-install.in: Likewise.
9622 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9623
e8a6f3b6
GS
96242010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9625
9626 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
9627 embedding area. Use <= instead of == when checking for non-emptiness.
9628
f4d095d7
GS
96292010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9630
9631 * configure.ac: Add `.' to the directories searched for unifont.
9632
50e532ca
CW
96332010-06-08 Colin Watson <cjwatson@ubuntu.com>
9634
9635 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
9636 grub_script.yy.h.
9637
d39f3dec
CW
96382010-06-08 Colin Watson <cjwatson@ubuntu.com>
9639
9640 * docs/grub.texi (History): Expand to cover GRUB 2.
9641 (Serial terminal): Refer to `terminal_input' and `terminal_output'
9642 commands, not `terminal'.
9643 (serial): Likewise.
9644 (terminal_input): New section.
9645 (terminal_output): New section.
9646 (uppermem): New section (stub).
9647 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
9648
6ef0ddb4
CW
96492010-06-08 Colin Watson <cjwatson@ubuntu.com>
9650
9651 * docs/grub.texi (Security): Menu entries are unrestricted by
9652 default, not restricted to superusers as I had previously thought.
9653 Reword to account for this.
9654
e0f4c438
CW
96552010-06-07 Colin Watson <cjwatson@ubuntu.com>
9656
9657 * kern/emu/misc.c (device_mapper_null_log): New function.
9658 (grub_device_mapper_supported): New function.
9659 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
9660 prototype.
9661 * kern/emu/hostdisk.c (find_partition_start): Check whether
9662 device-mapper is supported before trying to use it.
9663 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
9664
da908200
CW
96652010-06-07 Colin Watson <cjwatson@ubuntu.com>
9666
9667 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
9668 (File name syntax): Likewise.
9669 (help): --all is no longer supported in GRUB 2. Be more precise
9670 about pattern matching.
9671
fb55c3ac
CW
96722010-06-07 Colin Watson <cjwatson@ubuntu.com>
9673
9674 * normal/completion.c (grub_normal_do_completion): When completing
9675 arguments to "set" and the current word contains an equals sign,
9676 skip to after the equals sign before starting completion.
9677
258c2573
CW
96782010-06-07 Colin Watson <cjwatson@ubuntu.com>
9679
9680 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
9681
ee75515e
CW
96822010-06-07 Colin Watson <cjwatson@ubuntu.com>
9683
9684 * docs/grub.texi (Network): New section.
9685 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
9686 `(nd)' as in GRUB Legacy.
9687 (pxe_unload): New section.
9688
a6a700aa
CW
96892010-06-07 Colin Watson <cjwatson@ubuntu.com>
9690
9691 * docs/grub.texi (Troubleshooting): `echo' is not usually available
9692 in the rescue shell, so recommend using `set' instead. Thanks,
9693 Jordan Uggla.
9694
4003dd38
CW
96952010-06-07 Colin Watson <cjwatson@ubuntu.com>
9696
9697 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
9698 (password): New section.
9699 (password_pbkdf2): New section.
9700 (search): New section.
9701 (Security): New section.
9702 (Troubleshooting): New section, currently very incomplete.
9703 (Invoking grub-mkpasswd-pbkdf2): New section.
9704 (Internals): New section, currently very incomplete.
9705
e1cbcc40
CW
97062010-06-07 Colin Watson <cjwatson@ubuntu.com>
9707
9708 * util/grub.d/00_header.in: Add some more quoting (of
9709 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
9710 work again.
9711 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
9712
db8fa1ad
CW
97132010-06-07 Colin Watson <cjwatson@ubuntu.com>
9714
9715 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
9716 to `count', fixing variable shadowing that broke the -c option.
9717
97182010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
9719
9720 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
9721 in case they contain spaces.
9722
f28a9212
CW
97232010-06-04 Colin Watson <cjwatson@ubuntu.com>
9724
9725 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
9726 "part_" to partmap module names, in line with grub-install.
9727 Reported by: Jindřich Makovička (Debian bug #584426).
9728
9cdfe32f
CW
97292010-06-04 Colin Watson <cjwatson@ubuntu.com>
9730
9731 * util/grub-mkimage.c: Make target-related error messages slightly
9732 more helpful; -O talks about "format". Explicitly point to the use
9733 of -O if no target is specified.
9734 Reported by: Didier Raboud (Debian bug #584415).
9735
795b593a
CW
97362010-06-03 Colin Watson <cjwatson@ubuntu.com>
9737
9738 * INSTALL: Document several build requirements for optional features
9739 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
9740
9d9b5833
GS
97412010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
9742
9743 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
9744 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
9745 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
9746
0819fec8
CW
97472010-06-02 Colin Watson <cjwatson@ubuntu.com>
9748
9749 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
9750 Thanks to Jordan Uggla for spotting this.
9751
49396b4f
VS
97522010-06-02 Aleš Nesrsta <starous@volny.cz>
9753
9754 Finally make USB usable.
9755
9756 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
9757 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
9758 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
9759 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
9760 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
9761 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
9762 (GRUB_OHCI_FSMPS): Likewise.
9763 (GRUB_OHCI_PERIODIC_START): Likewise.
9764 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
9765 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
9766 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
9767 (GRUB_OHCI_SET_PORT_RESET): Likewise.
9768 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
9769 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
9770 (grub_ohci_transaction): Likewise.
9771 (grub_ohci_transfer): Improve condition detection algorithms.
9772 Handle toggle property. Program the transactions correctly.
9773 Improve error handling. Various important fixups.
9774 (grub_ohci_portstatus): Put register writes in right order.
9775 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
9776 (grub_uhci_transfer): Don't show "failed" message on success.
9777 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
9778 array.
9779 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
9780 determine its size.
9781 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
9782 before initialization is completed. Use IN direction for empty
9783 transfers. Use last_trans and compute toggle.
9784 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
9785 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
9786 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
9787 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
9788 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
9789 (grub_usb_device): Increase toggle to 256.
9790 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
9791 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
9792 GRUB_USBMS_SUBCLASS_SFF8070.
9793 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
9794 (grub_scsi_inquiry): New member page and alloc_length.
9795 (grub_scsi_request_sense): New structure.
9796 (grub_scsi_request_sense_data): Likewise.
9797 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
9798 control.
9799 * disk/scsi.c (grub_scsi_request_sense): New function.
9800 (grub_scsi_test_unit_ready): Likewise.
9801 (grub_scsi_inquiry): Fill new fields.
9802 (grub_scsi_read_capacity): Likewise.
9803 (grub_scsi_read10): Add request sense at the end.
9804 (grub_scsi_read12): Likewise.
9805 (grub_scsi_write10): Likewise.
9806 (grub_scsi_write12): Likewise.
9807 (grub_scsi_open): Add Test Unit Ready.
9808 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
9809 Support additional subclasses. Con't clear halt yet. Activate the
9810 proper config. Calculate LUNs correctly.
9811 (grub_usbms_transfer): Various important fixups.
9812
98132010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
9816 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
9817 (grub_ohci_fini_hw): New function.
9818 (grub_ohci_restore_hw): Likewise.
9819 (GRUB_MOD_INIT(ohci)): Register preboot hook.
9820 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
9821 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
9822
98232010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9824
9825 Dedicated DMA allocations.
9826
9827 * bus/pci.c (grub_memalign_dma32): New function
9828 (grub_dma_free): Likewise.
9829 (grub_dma_get_virt): Likewise.
9830 (grub_dma_get_phys): Likewise.
9831 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
9832 (grub_ohci_pci_iter): Use dma32_alloc.
9833 (grub_ohci_transfer): Likewise.
9834 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
9835 (grub_usb_bulk_readwrite): Likewise.
9836 * include/grub/pci.h: Add declarations.
9837
98382010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 CS5536 support.
9841
9842 * bus/cs5536.c: New file.
9843 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
9844 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
9845 (cs5536_mod_SOURCES): New variable.
9846 (cs5536_mod_CFLAGS): Likewise.
9847 (cs5536_mod_LDFLAGS): Likewise.
9848 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
9849 machine/pci.h.
9850 (kernel_img_SOURCES): Add bus/cs5536.c.
9851 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
9852 usb_keyboard.mod.
9853 (usb_mod_SOURCES): New variable.
9854 (usb_mod_CFLAGS): New variable.
9855 (usb_mod_LDFLAGS): New variable.
9856 (usbtest_mod_SOURCES): New variable.
9857 (usbtest_mod_CFLAGS): New variable.
9858 (usbtest_mod_LDFLAGS): New variable.
9859 (ohci_mod_SOURCES): New variable.
9860 (ohci_mod_CFLAGS): New variable.
9861 (ohci_mod_LDFLAGS): New variable.
9862 (usbms_mod_SOURCES): New variable.
9863 (usbms_mod_CFLAGS): New variable.
9864 (usbms_mod_LDFLAGS): New variable.
9865 (usb_keyboard_mod_SOURCES): New variable.
9866 (usb_keyboard_mod_CFLAGS): New variable.
9867 (usb_keyboard_mod_LDFLAGS): New variable.
9868 * include/grub/smbus.h: New file.
9869 * include/grub/cs5536.h: New file.
9870
0b35b2a9
CW
98712010-06-02 Colin Watson <cjwatson@ubuntu.com>
9872
9873 * util/grub.d/00_header.in: Add safety check to make sure that
9874 ${locale_dir} exists before trying to probe it.
9875
ca0afd5b
CW
98762010-06-02 Colin Watson <cjwatson@ubuntu.com>
9877
9878 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
9879 per the GNU Coding Standards; this is now too obscure to be worth
9880 documenting.
9881 (QNX): Likewise.
9882 (chainloader): Remove cross-reference to `SCO UnixWare'.
9883
1c41aa78
CW
98842010-06-02 Colin Watson <cjwatson@ubuntu.com>
9885
9886 * docs/grub.texi (Chain-loading): New section.
9887 (DOS/Windows): New section, borrowed from GRUB Legacy with details
9888 adjusted for GRUB 2.
9889 (SCO UnixWare): Likewise.
9890 (QNX): Likewise.
9891 (chainloader): Add reference to `Block list syntax'.
9892 (drivemap): New section.
9893 (parttool): New section.
9894
bb8ea0f5
CW
98952010-06-02 Colin Watson <cjwatson@ubuntu.com>
9896
9897 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
9898 the grub shell'.
9899 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
9900 (Installing GRUB using grub-install): Remove reference to the grub
9901 shell; mention `grub-mkimage' and `grub-setup' instead.
9902 (Invoking grub-install): Likewise.
9903 (Interface): Add reference to `Menu entry editor'.
9904 (serial): Remove `--device' option.
9905
288dd6ed
CW
99062010-06-02 Colin Watson <cjwatson@ubuntu.com>
9907
9908 * docs/grub.texi (Configuration): New section, documenting
9909 configuration file generation using grub-mkconfig. I've left a slot
9910 for documenting the full shell scripting format but have not yet
9911 started on writing that up.
9912 (Invoking grub-mkconfig): New section.
9913
34c9f0e9
CW
99142010-06-02 Colin Watson <cjwatson@ubuntu.com>
9915
9916 * docs/grub.texi (direntry): Remove grub-terminfo reference.
9917 (GNU GRUB manual): Likewise.
9918 (General commands): Update description of `terminfo' for GRUB 2.
9919
9121567e
CW
99202010-06-02 Colin Watson <cjwatson@ubuntu.com>
9921
9922 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
9923 (GRUB_MOD_INIT): Fix capitalisation.
9924 * docs/grub.texi (Command-line and menu entry commands): Document
9925 gettext and gptsync commands.
9926
ab631611
CW
99272010-06-02 Colin Watson <cjwatson@ubuntu.com>
9928
9929 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
9930 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
9931
bde4a9ac
CW
99322010-06-01 Colin Watson <cjwatson@ubuntu.com>
9933
9934 Add btrfs probing support, currently only in the single-device case.
9935
9936 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
9937 function.
9938 (grub_guess_root_device): Call find_root_device_from_mountinfo
9939 before looking in /dev.
9940
b1d17e10
VS
99412010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
9944 GRUB_DISK_SIZE_UNKNOWN.
9945 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
9946
dfbfe004
JS
99472010-05-31 Jiro SEKIBA <jir@unicus.jp>
9948
9949 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
9950 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
9951 corrupted or not synced properly.
9952
c2ffc8e9
VS
99532010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9954
9955 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
9956 Reported by: Seth Goldberg.
9957
56293166
VS
99582010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9959
9960 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
9961 addition of dest.
9962 Reported by: Seth Goldberg.
9963
7620e7de
VS
99642010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9965
9966 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
9967 Reported by: Seth Goldberg.
9968
c837af3f
VS
99692010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
9972 64-bit address as signed on MIPS.
9973
c7c75cf4
CW
99742010-05-28 Colin Watson <cjwatson@ubuntu.com>
9975
9976 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
9977 to the empty string.
9978
fa4b8490
BC
99792010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
9980
9981 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
9982
9983 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
9984 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
9985 * kern/misc.c (__enable_execute_stack): Disable on
9986 GRUB_MACHINE_EMU.
9987
a33075b9
CW
99882010-05-28 Colin Watson <cjwatson@ubuntu.com>
9989
9990 Make grub-probe work with symbolic links under /dev/mapper as well
9991 as with real block devices. The Linux world seems to be (at best)
9992 in transition here, and GRUB shouldn't get caught in the middle.
9993
9994 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
9995 /dev/mapper.
9996
d8708134
CW
99972010-05-27 Colin Watson <cjwatson@ubuntu.com>
9998
9999 * util/grub-script-check.c (main): Ensure defined behaviour on empty
10000 input files (in which case exit zero).
10001
db2102a0
CW
100022010-05-27 Colin Watson <cjwatson@ubuntu.com>
10003
10004 * kern/emu/misc.c (canonicalize_file_name): realpath can still
10005 return NULL for various reasons even if it has a maximum-length
10006 buffer: for example, there might be a symlink loop, or the path
10007 might exceed PATH_MAX. If this happens, return NULL.
10008
5fdba519
RM
100092010-05-27 Robert Millan <rmh@gnu.org>
10010
10011 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
10012 partmap module to handle cross-partmap setups.
10013 Reported by Orestes Mas. Gràcies!
10014
d1d368e4
CW
100152010-05-27 Colin Watson <cjwatson@ubuntu.com>
10016
10017 * util/grub-mkrescue.in: Initialise override_dir rather than
10018 assuming that it's unset or empty in the environment.
10019
95ac3c73
GS
100202010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
10021
10022 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
10023 variable index into p_index to suppress a warning with -Wshadow.
10024
7d8c0213
BC
100252010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
10026
10027 * INSTALL: Added flex >= 2.5.35 requirement.
10028
db4d5813
VS
100292010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10030
10031 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
10032
f24f4300
VS
100332010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10034
10035 cmostest support.
10036
10037 * commands/i386/cmostest.c: New file.
10038 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
10039 (cmostest_mod_SOURCES): New variable.
10040 (cmostest_mod_CFLAGS): Likewise.
10041 (cmostest_mod_LDFLAGS): Likewise.
10042 * conf/i386-pc.rmk: Likewise.
10043 * docs/grub.texi (Vendor power-on keys): New section.
10044 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
10045 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
10046 and GRUB_BUTTON_CMOS_ADDRESS.
10047 * util/grub.d/00_header.in: Handle powering-on by separate button.
10048
ad603f61
VS
100492010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
10052 Removed drawing_scrollbar argument. All users updated
10053 Fixes #29792.
10054 Reported by Jo Shields
10055
3ecb080a
VS
100562010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
10059 buffer since gfxterm handles double repaint.
10060
5f2316c1
VS
100612010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
10064 * term/gfxterm.c (real_scroll): Likewise.
10065
9a25f885
VS
100662010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
10069 before calling BIOS.
10070
39fbb79a
VS
100712010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 * include/grub/i18n.h: Always enable grub_gettext.
10074
228cfa97
VS
100752010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
10078 partition naming style.
10079
21717c8f
CW
100802010-05-21 Colin Watson <cjwatson@ubuntu.com>
10081
10082 * util/grub-mkconfig.in: Fix handling of -o so that it works when
10083 not the first option.
10084
c0f48e65
CW
100852010-05-20 Colin Watson <cjwatson@ubuntu.com>
10086
10087 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
10088
96779aec
CW
100892010-05-20 Colin Watson <cjwatson@ubuntu.com>
10090
10091 * util/misc.c: Move inclusion of <limits.h> to ...
10092 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
10093
fa9d256e
GS
100942010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
10095
10096 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
10097 Fix merge error in NetBSD code.
10098 (find_partition_start) [__NetBSD__]: Likewise.
10099
123b7a85
BC
101002010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
10101
10102 Fix grub-mkrescue usage unit testing.
10103
10104 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
10105
74276c0d
CF
101062010-05-18 Christian Franke <franke@computer.org>
10107
10108 * util/grub.d/10_windows.in: Use path names instead of
10109 drive letters to prevent warning from Cygwin 1.7.
10110 Add drivemap command to menuentry if needed.
10111
c4f7b523
ST
101122010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
10113
10114 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
10115 gnumach and gnumach.gz.
10116
95b97950
VS
101172010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 * include/grub/i18n.h (gettext): Inline instead of using #define.
10120 (grub_gettext): Likewise.
10121 (_): Likewise.
10122
01b8d2d7
VS
101232010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
10126 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
10127 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
10128 (main): Add a slash after pkglibdirroot.
10129
654e1d1e
VS
101302010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * util/grub-install.in: Add missing "in" keyword.
10133
26966aeb
VS
101342010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
10137 Reported by: Seth Goldberg.
10138
75006747
VS
101392010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
10142
74cbf5bd
CW
101432010-05-18 Colin Watson <cjwatson@ubuntu.com>
10144
10145 * configure.ac: Check for Linux device-mapper support.
10146
10147 * util/hostdisk.c (device_is_mapped): New function.
10148 (find_partition_start): New function, partly broken out from
10149 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
10150 device-mapper support added.
10151 (linux_find_partition): Use find_partition_start.
10152 (convert_system_partition_to_system_disk): Add `st' argument.
10153 Support Linux /dev/mapper/* devices if device-mapper support is
10154 available; only DM-RAID devices are understood at present.
10155 (find_system_device): Add `st' argument. Pass it to
10156 convert_system_partition_to_system_disk.
10157 (grub_util_biosdisk_get_grub_dev): Pass stat result to
10158 find_system_device and convert_system_partition_to_system_disk. Use
10159 find_partition_start.
10160
10161 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
10162 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
10163 * util/deviceiter.c [__linux__]: Define MINOR.
10164 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
10165 * util/mkdevicemap.c (grub_putchar): New function.
10166 (grub_getkey): New function.
10167 (grub_refresh): New function.
10168 (main): Set debug=all if -v -v is used.
10169
355b51e9
CW
101702010-05-18 Colin Watson <cjwatson@ubuntu.com>
10171
10172 Fix build with non-GNU libcs.
10173
10174 * util/misc.c (canonicalize_file_name): Move to ...
10175 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
10176 grub_make_system_path_relative_to_its_root.
10177
7fb5c25f
CW
101782010-05-18 Colin Watson <cjwatson@ubuntu.com>
10179
10180 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
10181 we handle finding grub-mkimage. Default to finding grub-mkimage in
10182 ${bindir} with program_transform_name applied, and provide a
10183 --grub-mkimage option to override this.
10184
1d3293d6
VS
101852010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 Remove grub-mkisofs.
10188
10189 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
10190 (grub_mkisofs_SOURCES): Removed.
10191 (grub_mkisofs_CFLAGS): Removed.
10192 * util/mkisofs/defaults.h: Removed.
10193 * util/mkisofs/eltorito.c: Likewise.
10194 * util/mkisofs/exclude.h: Likewise.
10195 * util/mkisofs/hash.c: Likewise.
10196 * util/mkisofs/include/: Likewise.
10197 * util/mkisofs/include/fctldefs.h: Likewise.
10198 * util/mkisofs/include/mconfig.h: Likewise.
10199 * util/mkisofs/include/prototyp.h: Likewise.
10200 * util/mkisofs/include/statdefs.h: Likewise.
10201 * util/mkisofs/iso9660.h: Likewise.
10202 * util/mkisofs/joliet.c: Likewise.
10203 * util/mkisofs/match.c: Likewise.
10204 * util/mkisofs/match.h: Likewise.
10205 * util/mkisofs/mkisofs.c: Likewise.
10206 * util/mkisofs/mkisofs.h: Likewise.
10207 * util/mkisofs/msdos_partition.h: Likewise.
10208 * util/mkisofs/multi.c: Likewise.
10209 * util/mkisofs/name.c: Likewise.
10210 * util/mkisofs/rock.c: Likewise.
10211 * util/mkisofs/tree.c: Likewise.
10212 * util/mkisofs/write.c: Likewise.
10213
5dde9afe
VS
102142010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10215
10216 Unify grub-mkimage accross platforms.
10217
10218 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
10219 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
10220 (grub_mkelfimage_SOURCES): Removed.
10221 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
10222 (util/grub-mkimage.c_DEPENDENCIES): .. this.
10223 (bin_UTILITIES): Add grub-mkimage.
10224 (grub_mkimage_SOURCES): New variable.
10225 (kernel_img_HEADERS): Remove machine/kernel.h.
10226 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
10227 (pkglib_PROGRAMS): Add kernel.img.
10228 (kernel_img_HEADERS): Add machine/kernel.h.
10229 (kernel_img_FORMAT): Removed.
10230 (bin_UTILITIES): Remove grub-mkimage.
10231 (grub_mkimage_SOURCES): Removed.
10232 (grub_mkimage_CFLAGS): Likewise.
10233 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10234 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
10235 (pkglib_PROGRAMS): Add kernel.img.
10236 (bin_UTILITIES): Remove grub-mkimage.
10237 (grub_mkimage_SOURCES): Removed.
10238 (grub_mkimage_CFLAGS): Likewise.
10239 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10240 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
10241 (pkglib_PROGRAMS): Add kernel.img.
10242 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
10243 (pkglib_PROGRAMS): Add kernel.img.
10244 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
10245 (grub_mkimage_SOURCES): Removed.
10246 (grub_mkimage_CFLAGS): Likewise.
10247 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10248 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
10249 (pkglib_PROGRAMS): Add kernel.img.
10250 (bin_UTILITIES): Remove grub-mkimage.
10251 (grub_mkimage_SOURCES): Removed.
10252 (grub_mkimage_CFLAGS): Likewise.
10253 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10254 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
10255 (grub_mkimage_SOURCES): Removed.
10256 (grub_mkimage_CFLAGS): Likewise.
10257 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10258 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
10259 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
10260 (grub_pe32_optional_header): ... this.
10261 (grub_pe64_optional_header): ... and this. All users updated.
10262 (GRUB_PE32_PE32_MAGIC): Split into ..
10263 (GRUB_PE32_PE32_MAGIC): .. this.
10264 (GRUB_PE32_PE64_MAGIC): .. and this.
10265 (GRUB_PE32_SIGNATURE_SIZE): New definition.
10266 * include/grub/elf.h (PT_GNU_STACK): New definition.
10267 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
10268 * include/grub/i386/efi/kernel.h: Likewise.
10269 * include/grub/i386/kernel.h: Likewise.
10270 * include/grub/i386/pc/kernel.h: Likewise.
10271 * include/grub/i386/qemu/boot.h: Likewise.
10272 * include/grub/mips/kernel.h: Likewise.
10273 * include/grub/mips/qemu-mips/kernel.h: Likewise.
10274 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
10275 * include/grub/powerpc/kernel.h: Likewise.
10276 * include/grub/sparc64/ieee1275/boot.h: Likewise.
10277 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
10278 * include/grub/sparc64/kernel.h: Likewise.
10279 * include/grub/x86_64/efi/kernel.h: Likewise.
10280 * include/grub/x86_64/kernel.h: Likewise.
10281 * include/grub/offsets.h: New file.
10282 * include/grub/kernel.h (grub_module_info): Split into ...
10283 (grub_module_info32): ... this.
10284 (grub_module_info64): ... and this.
10285 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
10286 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
10287 (grub_boot_blocklist): Moved from here ...
10288 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
10289 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
10290 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
10291 * include/grub/types.h (grub_target_to_host16): Removed.
10292 (grub_target_to_host32): Likewise.
10293 (grub_target_to_host64): Likewise.
10294 (grub_host_to_target16): Likewise.
10295 (grub_host_to_target32): Likewise.
10296 (grub_host_to_target64): Likewise.
10297 (grub_host_to_target_addr): Likewise.
10298
10299 Support grub-mkrescue for efi, coreboot and qemu.
10300
10301 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
10302 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
10303 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
10304 * util/grub-mkrawimage.c: Moved from here ...
10305 * util/grub-mkimage.c: ... here. All users updated.
10306 (ALIGN_ADDR): Use image_target.
10307 (TARGET_NO_FIELD): New const.
10308 (image_target_desc): New type.
10309 (image_targets): New array.
10310 (grub_target_to_host64): Use image_target.
10311 (grub_target_to_host32): Likewise.
10312 (grub_target_to_host16): Likewise.
10313 (grub_host_to_target64): Likewise.
10314 (grub_host_to_target32): Likewise.
10315 (grub_host_to_target16): Likewise.
10316 (grub_host_to_target_addr): Likewise.
10317 (generate_image): Handle multiimage.
10318 (main): Require -O parameter. All users updated.
10319 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
10320 util/efi/grub-mkimage.c
10321 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
10322 New option --rom-directory.
10323 Use xorriso.
10324 * util/i386/efi/grub-mkimage.c: Removed.
10325 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
10326 (grub_target_to_host32): Likewise.
10327 (grub_target_to_host64): Likewise.
10328 (grub_host_to_target16): Likewise.
10329 (grub_host_to_target32): Likewise.
10330 (grub_host_to_target64): Likewise.
10331 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
10332 (grub_target_to_host32): Likewise.
10333 (grub_target_to_host64): Likewise.
10334 (grub_host_to_target16): Likewise.
10335 (grub_host_to_target32): Likewise.
10336 (grub_host_to_target64): Likewise.
10337
f4fc97d0
BC
103382010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
10339
10340 Source tree is reorganized for emu build.
10341
10342 * include/grub/util/console.h: Move from here...
10343 * include/grub/emu/console.h: ...to here.
10344 * include/grub/util/getroot.h: Move from here...
10345 * include/grub/emu/getroot.h: ...to here.
10346 * include/grub/util/hostdisk.h: Move from here...
10347 * include/grub/emu/hostdisk.h: ...to here.
10348 * util/console.c: Move from here...
10349 * kern/emu/console.c: ...to here.
10350 * util/getroot.c: Move from here...
10351 * kern/emu/getroot.c: ...to here.
10352 * util/grub-emu.c: Move from here...
10353 * kern/emu/main.c: ...to here.
10354 * util/hostdisk.c: Move from here...
10355 * kern/emu/hostdisk.c: ...to here.
10356 * util/hostfs.c: Move from here...
10357 * kern/emu/hostfs.c: ...to here.
10358 * util/mm.c: Move from here...
10359 * kern/emu/mm.c: ...to here.
10360 * util/pci.c: Move from here...
10361 * bus/emu/pci.c: ...to here.
10362 * util/sdl.c: Move from here...
10363 * video/emu/sdl.c: ...to here.
10364 * util/time.c: Move from here...
10365 * kern/emu/time.c: ...to here.
10366 * util/usb.c: Move from here...
10367 * bus/usb/emu/usb.c: ...to here.
10368
10369 * include/grub/emu/misc.h: New header for grub-emu functions.
10370 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
10371
10372 * conf/any-emu.rmk: Rule updates for above renames.
10373 * conf/common.rmk: Likewise.
10374 * conf/i386-pc.rmk: Likewise.
10375 * conf/i386-qemu.rmk: Likewise.
10376 * conf/mips.rmk: Likewise.
10377 * conf/sparc64-ieee1275.rmk: Likewise.
10378 * conf/x86-efi.rmk: Likewise.
10379
10380 * disk/lvm.h: #include updates for above renames.
10381 * util/grub-mkrelpath.c: Likewise.
10382 * util/grub-probe.c: Likewise.
10383 * util/i386/pc/grub-setup.c: Likewise.
10384 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10385 * kern/emu/console.c: Likewise.
10386 * kern/emu/getroot.c: Likewise.
10387 * kern/emu/hostdisk.c: Likewise.
10388 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
10389
10390 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
10391 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
10392 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
10393 * util/misc.c: Remove grub-emu functions.
10394
cced9145
VS
103952010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10396
10397 Fix gfxmenu crash.
10398 Reported by: Thorsten Grützmacher.
10399
10400 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
10401 timeout hook.
10402 (circprog_set_property): Register and unregister timeout hook.
10403 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
10404 (label_destroy): Free template. and unregister hook.
10405 (label_set_state): New function.
10406 (label_set_property): Handle templates and hooks.
10407 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
10408 timeout hook.
10409 (progress_bar_set_property): Register and unregister timeout hook.
10410 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
10411 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
10412 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
10413 (update_timeout_visit): Removed.
10414 (update_timeouts): New function.
10415 (redraw_timeouts): Likewise.
10416 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
10417 (grub_gfxmenu_clear_timeout): Likewise.
10418 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
10419 (grub_gfxmenu_timeout_notify): Likewise.
10420 (grub_gfxmenu_timeout_notifications): New external variable.
10421 (grub_gfxmenu_timeout_register): New function.
10422 (grub_gfxmenu_timeout_unregister): Likewise.
10423
c6e5caab
VS
104242010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10425
10426 Transform (broken) vga terminal into (working) vga video driver.
10427
10428 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
10429 video/i386/pc/vga.c.
10430 * include/grub/video.h (grub_video_driver_id):
10431 Add GRUB_VIDEO_DRIVER_VGA.
10432 * term/i386/pc/vga.c: Renamed to ...
10433 * video/i386/pc/vga.c: ...this
10434 (DEBUG_VGA): Removed.
10435 (CHAR_WIDTH): Likewise.
10436 (CHAR_HEIGHT): Likewise.
10437 (TEXT_WIDTH): Likewise.
10438 (TEXT_HEIGHT): Likewise.
10439 (DEFAULT_FG_COLOR): Likewise.
10440 (DEFAULT_BG_COLOR): Likewise.
10441 (colored_char): Likewise.
10442 (xpos): Likewise.
10443 (ypos): Likewise.
10444 (cursor_state): Likewise.
10445 (fg_color): Likewise.
10446 (bg_color): Likewise.
10447 (text_buf): Likewise.
10448 (page): Likewise.
10449 (font): Likewise.
10450 (framebuffer): New variable.
10451 (set_read_map): Disabled.
10452 (setup): New variable.
10453 (is_target): Likewise.
10454 (grub_vga_mod_init): Likewise.
10455 (grub_vga_mod_fini): Likewise.
10456 (check_vga_mem): Likewise.
10457 (write_char): Likewise.
10458 (write_cursor): Likewise.
10459 (scroll_up): Likewise.
10460 (grub_vga_putchar): Likewise.
10461 (grub_vga_getcharwidth): Likewise.
10462 (grub_vga_getwh): Likewise.
10463 (grub_vga_getxy): Likewise.
10464 (grub_vga_gotoxy): Likewise.
10465 (grub_vga_cls): Likewise.
10466 (grub_vga_setcolorstate): Likewise.
10467 (grub_vga_setcursor): Likewise.
10468 (grub_video_vga_init): New function.
10469 (grub_video_vga_setup): Likewise.
10470 (grub_video_vga_fini): Likewise.
10471 (update_target): Likewise.
10472 (grub_video_vga_blit_bitmap): Likewise.
10473 (grub_video_vga_blit_render_target): Likewise.
10474 (grub_video_vga_set_active_render_target): Likewise.
10475 (grub_video_vga_get_active_render_target): Likewise.
10476 (grub_video_vga_swap_buffers): Likewise.
10477 (grub_video_vga_set_palette): Likewise.
10478 (grub_video_vga_get_info_and_fini): Likewise.
10479 (grub_vga_term): Removed.
10480 (grub_video_vga_adapter): New variable.
10481 (GRUB_MOD_INIT): Register a video driver instead of terminal.
10482 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
10483
2bf61a98
VS
104842010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10485
10486 * video/readers/jpeg.c: Indented.
10487
09ddcd11
VS
104882010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 Various jpeg cleanups.
10491
10492 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
10493 (grub_jpeg_decode_quan_table): Use sizeof.
10494 (grub_jpeg_decode_du): Use ARRAY_SIZE.
10495
e5507505
PH
104962010-05-05 Peter Hurley <No e-mail available> (tiny change)
10497
10498 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
10499 tables. Ignore non-last ac bit.
10500 (grub_jpeg_decode_quan_table): Likewise.
10501
7e720a9b
VS
105022010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
10505 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
10506 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10507 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
10508 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
10509 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
10510
a7fc080b
VS
105112010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
10514 error.
10515
2bf6012d
VS
105162010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
10519
265d68cd
VS
105202010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10521
10522 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
10523 condition.
10524
105252010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
10526
10527 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
10528 part.
10529
265d68cd 105302010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
10531
10532 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
10533 pointers.
10534
265d68cd 105352010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
10536
10537 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
10538
d1b61374
CF
105392010-05-01 Christian Franke <franke@computer.org>
10540
10541 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
10542 Remove broken Cygwin path conversion.
10543 * util/misc.c: [__CYGWIN__] Add include and define.
10544 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
10545 for Cygwin 1.7.
10546 (make_system_path_relative_to_its_root): Simplify loop, replace early
10547 return by break.
10548 [__CYGWIN__] Add conversion to win32 path.
10549 Include "/" case in trailing slash removal.
10550
3558c6e9
VS
105512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10552
10553 * kern/main.c (grub_load_config): Fix copy-pasted comment.
10554 Reported by: Seth Goldberg
10555
f5f3ff93
VS
105562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10557
10558 * commands/help.c (grub_cmd_help): Fix a typo.
10559 Reported by: Seth Goldberg
10560
d8b5cd40
VS
105612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10562
10563 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
10564 name and add N_.
10565 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
10566 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
10567 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
10568 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
10569 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
10570 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
10571 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
10572 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
10573 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
10574 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10575 * normal/context.c (GRUB_MOD_INIT): Likewise.
10576 * normal/main.c (GRUB_MOD_INIT): Likewise.
10577 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
10578 * term/serial.c (GRUB_MOD_INIT): Likewise.
10579 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
10580
88c14915
VS
105812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10582
10583 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
10584 extra == 0.
10585
165134bc
VS
105862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 * commands/iorw.c: New file.
10589 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
10590 (iorw_mod_SOURCES): New variable.
10591 (iorw_mod_CFLAGS): Likewise.
10592 (iorw_mod_LDFLAGS): Likewise.
10593
c5ac9b32
VS
105942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 Hotkey support
10597
10598 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
10599 * normal/main.c (hotkey_aliases): New variable.
10600 (grub_normal_add_menu_entry): Parse "--hotkey".
10601 * normal/menu_text.c (run_menu): Handle hotkeys.
10602
ce60689c
VS
106032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10604
10605 * kern/i386/coreboot/init.c (grub_machine_init): Call
10606 grub_machine_mmap_init on qemu.
10607
0359d006
VS
106082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10609
10610 * boot/i386/qemu/boot.S: Add a missing .code16.
10611
7819a456
VS
106122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10613
10614 Use LBIO on coreboot.
10615
10616 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
10617 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
10618 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
10619 New declaration.
10620 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
10621 grub_machine_mmap_init on coreboot.
10622 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
10623 GRUB_LINUXBIOS_MEMBER_LINK.
10624 (grub_machine_mmap_iterate): Fix declaration.
10625 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
10626
7210dca9
VS
106272010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 Split coreboot and multiboot ports.
10630
10631 * conf/i386-multiboot.rmk: New file.
10632 * configure.ac: Add multiboot port.
10633 * include/grub/i386/multiboot/boot.h: New file.
10634 * include/grub/i386/multiboot/console.h: Likewise.
10635 * include/grub/i386/multiboot/init.h: Likewise.
10636 * include/grub/i386/multiboot/kernel.h: Likewise.
10637 * include/grub/i386/multiboot/loader.h: Likewise.
10638 * include/grub/i386/multiboot/memory.h: Likewise.
10639 * include/grub/i386/multiboot/serial.h: Likewise.
10640 * include/grub/i386/multiboot/time.h: Likewise.
10641 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
10642 * loader/multiboot.c: Likewise.
10643 * loader/multiboot_mbi2.c: Likewise.
10644 * util/grub-mkrescue.in: Generate multiboot rescue.
10645
6f8aaf68
VS
106462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10647
3080f7a7
VS
10648 * kern/parser.c (grub_parser_execute): Cope with read-only config.
10649
106502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10651
10652 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
10653
10654 * commands/terminal.c (abstract_terminal): New struct.
10655 (handle_command): New function. Based on grub_cmd_terminal_input.
10656 (grub_cmd_terminal_input): Use handle_command.
10657 (grub_cmd_terminal_output): Use handle_command.
10658
a8ebb841
BC
106592010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
10660
10661 Fix comment handling.
10662
10663 * tests/grub_script_comments.in: New testcase.
10664 * conf/tests.rmk: Rules for new testcase.
10665 * script/yylex.l: Updated flex rules.
10666
bb06ba08
ST
106672010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
10668
10669 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
10670 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
10671 if argc is 1.
bb06ba08 10672
cc9d2425
VS
106732010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
10676 autogen issues.
10677
460d8402
CF
106782010-04-26 Christian Franke <franke@computer.org>
10679
10680 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
10681 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
10682 (grub_get_prefix): Remove function.
10683 * util/grub-emu.c (main): Replace grub_get_prefix () call by
10684 make_system_path_relative_to_its_root ().
10685 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
10686
553c01f9
CF
106872010-04-24 Christian Franke <franke@computer.org>
10688
10689 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
10690 (kernel_img_LDFLAGS): Remove -static-libgcc.
10691
2aec1692
CF
106922010-04-24 Christian Franke <franke@computer.org>
10693
10694 * configure.ac: Do not CHECK_BSS_START_SYMBOL
10695 and CHECK_END_SYMBOL if grub-emu is built.
10696 Unset TARGET_OBJ2ELF if grub-emu is built
10697 without module support.
10698
f67dc308
JS
106992010-04-24 Jiro SEKIBA <jir@unicus.jp>
10700
10701 Nilfs2 support.
10702
10703 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
10704 (grub_fstest_SOURCES): Likewise.
10705 (pkglib_MODULES): Add nilfs2.mod.
10706 (nilfs2_mod_SOURCES): New variable.
10707 (nilfs2_mod_CFLAGS): Likewise.
10708 (nilfs2_mod_LDFLAGS): Likewise.
10709 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
10710 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
10711 * fs/nilfs2.c: New file.
10712
4ba8d354
VS
107132010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10714
10715 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
10716 is not supported.
10717
0d2c20c6
GS
107182010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
10719
10720 Add grub-mkconfig support for NetBSD.
10721
10722 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
10723 * util/grub-mkconfig.in: export new NetBSD specific variables.
10724 * po/POTFILES-shell: added 10_netbsd.in.
10725 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
10726
bc4a2d83
BC
107272010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
10728
10729 Fix emu build with grub-emu-pci and grub-emu-modules.
10730
10731 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
10732 functions.
10733 * include/grub/libpciaccess.h: New file.
10734 * conf/any-emu.rmk: Update kernel headers for emu build.
10735
f48c87aa
VS
107362010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10737
10738 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
10739
18959385
VS
107402010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10741
10742 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
10743
0037de3f
VS
107442010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10745
10746 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
10747 Retrieve chosen/bootpath if bootpath isn't hardcoded.
10748 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
10749 util/ieee1275/ofpath.c.
10750 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
10751 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
10752 * include/grub/sparc64/ieee1275/boot.h
10753 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
10754 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
10755 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
10756 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
10757 const char *.
10758 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
10759 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
10760 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
10761 install.
10762
38e55e90
GS
107632010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
10764
10765 * util/grub-mkconfig.in: Corrected two == equality tests.
10766 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
10767 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
10768 expect a number appended to it.
10769 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
10770 expects a number appended to it.
10771
a9e6ff28
VS
107722010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10773
10774 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
10775
0b830b8f
VS
107762010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10777
10778 * util/hostdisk.c (make_device_name): Change to new partition naming.
10779
0973daeb
VS
107802010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10781
10782 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
10783
460d8402 107842010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
10785
10786 * Makefile.in: Add missing localedir setting.
10787
0b456309
CW
107882010-04-14 Colin Watson <cjwatson@ubuntu.com>
10789
10790 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
10791 mistake in r2156. Noticed by Anthony Fok.
10792
10793 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
10794 @localedir@.
10795 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
10796
08f46d62
BC
107972010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
10798
10799 Fix a spurious, uninitialized variable warning.
10800
10801 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
10802 Initialize variable, shdr.
10803 (grub_freebsd_load_elfmodule): Likewise.
10804 (grub_freebsd_load_elf_meta): Likewise.
10805
8c4a72d4
BC
108062010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
10807
10808 Fix for escaped dollar in double quoted strings.
10809
10810 * script/yylex.l: Updated flex rules.
10811 * conf/tests.rmk: Rule for new testcase.
10812 * tests/grub_script_dollar.in: New testcase.
10813
ce44826e
CPE
108142010-04-13 Carles Pina i Estany <carles@pina.cat>
108152010-04-13 Colin Watson <cjwatson@ubuntu.com>
10816
10817 Enclose all translated strings in grub.cfg in single quotes, and
10818 escape them appropriately (Ubuntu bug #552921).
10819
10820 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
10821 * util/grub.d/10_hurd.in: Use it.
10822 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
10823 * util/grub.d/10_linux.in (linux_entry): Likewise.
10824
4b0cd8f8
VS
108252010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10826
10827 Fix cygwin compilation.
10828
10829 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
10830 * include/grub/misc.h (__register_frame_info)
10831 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
10832 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
10833 * kern/misc.c (__register_frame_info)
10834 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
10835 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
10836
01fcf061
VS
108372010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
10840
5d04b11e
VS
108412010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 Unify libgcc processing.
10844
10845 * Makefile.in (kernel_img_LDFLAGS): New variable.
10846 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
10847 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
10848 overwriting.
10849 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
10850 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
10851 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
10852 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
10853 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
10854 overwriting. Remove -lgcc and -static-libgcc
10855 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
10856 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
10857 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
10858 (kernel_img_LDFLAGS): Append instead of overwriting.
10859 Remove -lgcc and -static-libgcc
10860 * conf/sparc64-ieee1275.rmk: Likewise.
10861 * include/grub/powerpc/libgcc.h: Move to ...
10862 * include/grub/libgcc.h: .. this.
10863 * include/grub/libgcc.h: Don't export most of the function on x86.
10864 (__bswapsi2): New export.
10865 (__bswapdi2): Likewise.
10866 * include/grub/mips/libgcc.h: Removed.
10867 * include/grub/sparc64/libgcc.h: Likewise.
10868
b7f3ac29
VS
108692010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10870
10871 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
10872 disk_info_msg (conflicts with gettexting into languages with cases).
10873
2c7031b1
GS
108742010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
10875
10876 Add grub-probe support for NetBSD.
10877
10878 * util/getroot.c (find_root_device): Convert block device to
10879 character device on NetBSD.
10880 * util/probe.c (probe): Require character device on NetBSD.
10881 * util/hostdisk.c: NetBSD specific headers.
10882 (configure_device_driver): new function to tune device driver
10883 parameters (currently only for NetBSD floppy driver).
10884 (grub_util_biosdisk_open): NetBSD specific code (get disk size
10885 via disklabel ioctl).
10886 (open_device): call configure_device_driver on NetBSD.
10887 (convert_system_partition_to_system_disk): NetBSD specific code.
10888 (device_is_wholedisk): Likewise.
10889 (grub_util_biosdisk_get_grub_dev): Likewise.
10890 (make_device_name): Fixed a typo in bsd_part_str.
10891 * configure.ac: check for opendisk() and getrawpartition() on
10892 NetBSD and set LIBUTIL.
10893 * Makefile.in: add LIBUTIL to LIBS.
10894
f516290c
BC
108952010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
10896
10897 Documentation fix.
10898
10899 * util/grub-script-check.c: Better help message.
10900
d8dcc0df
BC
109012010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
10902
10903 Fix FreeBSD build.
10904
10905 * configure.ac: Flex version check.
10906 * conf/common.rmk: Add -Wno-error to sh.mod.
10907 * script/yylex.l: Remove all #pragma.
10908
6734334a
VS
109092010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * include/grub/util/misc.h (canonicalise_file_name): Add missing
10912 prototype.
10913 Reported by: Seth Goldberg.
10914
daea6abd
VS
109152010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10916
10917 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
10918 Rename "module" to "module2".
10919 Reported by: Seth Goldberg.
10920
f2fd9d2b
VS
109212010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
10924 EXPORT_FUNC.
10925 Reported by: Seth Goldberg.
10926
be124579
VS
109272010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10928
10929 * lib/posix_wrap/locale.h: Add missing file.
10930 Reported by: Seth Goldberg.
10931
ef5da797
VS
109322010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10933
10934 grub-emu module load support.
10935
10936 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
10937 NO_DYNAMIC_MODULES switched to this.
10938 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
10939 (CFLAGS): Likewise.
10940 * conf/any-emu.rmk: Generate symlist.
10941 (kernel_img_HEADERS): Add util/datetime.h.
10942 (kernel_img_HEADERS) [sdl]: Add sdl.h.
10943 (kernel_img_HEADERS) [libusb]: Add libusb.h.
10944 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
10945 kern/$(target_cpu)/cache.S.
10946 * configure.ac (grub-emu-modules): New option.
10947 * genmk.rb: Handle multiple source lists.
10948 * include/grub/sdl.h: New file.
10949 * include/grub/libusb.h: Likewise.
10950 * util/grub-emu.c (main): Hanle (host) root.
10951 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
10952 GRUB_ERR_UNKNOWN_DEVICE.
10953 * util/misc.c: Move mm functions to ...
10954 * util/mm.c: ... here. All users updated.
10955
47822096
VS
109562010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
10957
10958 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
10959 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
10960 missing files.
10961 (maintainer-clean): Remove libgcrypt-grub.
10962
5d7e7445
VS
109632010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
10964
10965 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
10966
25f4e252
EC
109672010-04-09 EFI Coder <eficoder@hotmail.com>
10968
10969 * normal/menu_text.c (print_message): Clean up the message and show
10970 the Fn information when on EFI
10971 * term/efi/console.c (grub_console_checkkey): Add F4 support.
10972
027de555
VS
109732010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
10976 All users updated.
10977 * normal/crypto.c (read_crypto_list): Likewise.
10978 * normal/dyncmd.c (read_command_list): Likewise.
10979 * normal/term.c (read_terminal_list): Likewise.
10980 * normal/main.c (read_lists): Use explicit prefix.
10981 (read_lists_hook): Use read_lists.
10982 (grub_normal_execute): Likewise.
10983
47779711
VS
109842010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
10987 Reported by: Thomas Schmitt.
10988 Add -no-emul-boot to grub-mkisofs parameters.
10989
1118c32e
VS
109902010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * font/font.c: Indented.
10993
7d652447
BC
109942010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
10995
10996 Elif support to GRUB script (by Deepak Vankadaru).
10997
10998 * tests/grub_script_if.in: New testcase.
10999 * conf/tests.rmk: Rule for new testcase.
11000 * script/parser.y: Grammar rules for elif.
11001
34bb22df
BC
110022010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
11003
11004 While and until loops support to GRUB script.
11005
11006 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
11007 (grub_script_create_cmdwhile): New function prototype.
11008 (grub_script_execute_cmdwhile): New function prototype.
11009 * script/execute.c (grub_script_execute_cmdwhile): New function.
11010 * script/parser.y (command): New commands.
11011 (whilecmd): New grammar rule.
11012 (untilcmd): New grammar rule.
11013 * script/script.c (grub_script_create_cmdwhile): New function.
11014 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
11015 function.
11016
11017 * tests/grub_script_while1.in: New testcase.
11018 * conf/tests.rmk: Rule for new testcase.
11019
e215d8e0
VS
110202010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11021
11022 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
11023 as *.jpg.
11024
d7c43ba1
MV
110252010-04-09 Mario Vazquez <mariovazq@gmail.com>
11026
11027 GRUB_BACKGROUND support.
11028
11029 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
11030 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
11031
d64795c0
VS
110322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11033
11034 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 11035 Idea by: Mario Vazquez
d64795c0
VS
11036
11037 * util/grub.d/00_header.in: Load pf2 and image modules.
11038
f267f83a
VS
110392010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11040
11041 grub-mkconfig multiple terminal support.
11042
11043 * util/grub-mkconfig.in: Handle multiple terminals correctly.
11044 * util/grub.d/00_header.in: Likewise.
11045
b7841ceb
VS
110462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11047
11048 * Makefile.in: Specify files explicitly instead of using $< and $@ since
11049 we use cd $(srcdir).
11050
df60998c
CW
110512010-04-08 Colin Watson <cjwatson@ubuntu.com>
11052
11053 * util/grub.d/10_linux.in: Only use the first word of
11054 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
11055 spaces in GRUB_DISTRIBUTOR.
11056 * util/grub.d/10_kfreebsd.in: Likewise.
11057 * util/grub.d/10_hurd.in: Likewise.
11058
fa09c82e
BC
110592010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
11060
14e18ae3 11061 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
11062
11063 * tests/util/grub-shell.in: Remove -serial stdio option.
11064
daf892b3
BC
110652010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11066
11067 POSIX header file wrappers.
11068
11069 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
11070 equivalents.
11071 * lib/posix_wrap/ctype.h: Likewise.
11072 * lib/posix_wrap/errno.h: Likewise.
11073 * lib/posix_wrap/langinfo.h: Likewise.
11074 * lib/posix_wrap/limits.h: Likewise.
11075 * lib/posix_wrap/localcharset.h: Likewise.
11076 * lib/posix_wrap/stdint.h: Likewise.
11077 * lib/posix_wrap/stdio.h: Likewise.
11078 * lib/posix_wrap/stdlib.h: Likewise.
11079 * lib/posix_wrap/string.h: Likewise.
11080 * lib/posix_wrap/sys/types.h: Likewise.
11081 * lib/posix_wrap/unistd.h: Likewise.
11082 * lib/posix_wrap/wchar.h: Likewise.
11083 * lib/posix_wrap/wctype.h: Likewise.
11084 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
11085 (grub_script.yy.h): Likewise.
11086 * script/yylex.l: Remove POSIX emulation #defines.
11087 * Makefile.in (POSIX_CFLAGS): New variable.
11088 (GNULIB_UTIL_CFLAGS): Likewise.
11089
11090 Regexp support.
11091
11092 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
11093 (regexp_mod_SOURCES): New variable.
11094 (regexp_mod_CFLAGS): Likewise.
11095 (regexp_mod_LDFLAGS): Likewise.
11096 * commands/regexp.c: New file.
11097 * gnulib/regcomp.c: New file. Imported from gnulib.
11098 * gnulib/regex.c: Likewise.
11099 * gnulib/regex_internal.c: Likewise.
11100 * gnulib/regex_internal.h: Likewise.
11101 * gnulib/regexec.c: Likewise.
11102 * gnulib/regex.h: Likewise.
11103
974ac4f7
VS
111042010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11105
11106 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
11107 unsupported video mode types.
11108
2622c3ff
VS
111092010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11110
11111 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
11112
064cb524
VS
111132010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11114
11115 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
11116 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
11117
a8c3b552
VS
111182010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11119
11120 Remove unused grub_vga_get_font.
11121
11122 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
11123 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
11124
187bbe3d
GS
111252010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11126
11127 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
11128 * include/grub/misc.h: Likewise.
11129
b9396631
GS
111302010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11131
11132 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
11133 for which failure is fatal.
11134
50479feb
GS
111352010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11136
11137 * util/grub-install.in: Use mkdir -p to create grub directory.
11138 * util/i386/efi/grub-install.in: Likewise.
11139 * util/ieee1275/grub-install.in: Likewise.
11140
b1654fdf
GS
111412010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11142
11143 * Makefile.in (LEX): new variable.
11144
bd5a6415
GS
111452010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11146
11147 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
11148 `=' and added double quotes on operands of this equality test.
11149
3db3a82b
VS
111502010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 * Makefile.in (uninstall): Remove a leftover debug echo.
11153 Reported by: Grégoire Sutre
11154
38023412
VS
111552010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 MIPS multiboot2 support.
11158
11159 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
11160 (multiboot2_mod_SOURCES): New variable.
11161 (multiboot2_mod_CFLAGS): Likewise.
11162 (multiboot2_mod_LDFLAGS): Likewise.
11163 (multiboot2_mod_ASFLAGS): Likewise.
11164 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
11165 definition.
11166 (MULTIBOOT_ENTRY_REGISTER): Likewise.
11167 (MULTIBOOT_MBI_REGISTER): Likewise.
11168 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
11169 (MULTIBOOT_ELF32_MACHINE): Likewise.
11170 (MULTIBOOT_ELF64_MACHINE): Likewise.
11171 * include/grub/mips/multiboot.h: New file.
11172 * include/grub/video.h (grub_video_driver_id): New type
11173 GRUB_VIDEO_DRIVER_SM712.
11174 (grub_video_get_info_and_fini): Export.
11175 (grub_video_get_palette): Likewise.
11176 (grub_video_get_driver_id): Likewise.
11177 * include/multiboot2.h: Resynced with spec.
11178 * loader/i386/multiboot.c: Moved from here ...
11179 * loader/multiboot.c: ... here. All users updated.
11180 (grub_multiboot_boot): Use platform-specific macros.
11181 * loader/i386/multiboot_elfxx.c: Moved from here ...
11182 * loader/multiboot_elfxx.c: ... here. All users updated.
11183 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
11184 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
11185 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
11186
47674667
VS
111872010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11188
11189 Import gnulib argp module.
11190
11191 * gnulib/argp-ba.c: New file.
11192 * gnulib/argp-eexst.c: Likewise.
11193 * gnulib/argp-fmtstream.c: Likewise.
11194 * gnulib/argp-fmtstream.h: Likewise.
11195 * gnulib/argp-fs-xinl.c: Likewise.
11196 * gnulib/argp-help.c: Likewise.
11197 * gnulib/argp-namefrob.h: Likewise.
11198 * gnulib/argp-parse.c: Likewise.
11199 * gnulib/argp-pin.c: Likewise.
11200 * gnulib/argp-pv.c: Likewise.
11201 * gnulib/argp-pvh.c: Likewise.
11202 * gnulib/argp-version-etc.c: Likewise.
11203 * gnulib/argp-version-etc.h: Likewise.
11204 * gnulib/argp-xinl.c: Likewise.
11205 * gnulib/argp.h: Likewise.
11206
495442ed
VS
112072010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * kern/device.c (grub_device_iterate): Clear errors after failed
11210 opening device.
11211
f9fd65df
VS
112122010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
11215 returned by firmware.
11216
af09641e
VS
112172010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11218
11219 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
11220 compilation on coreboot and qemu
11221
016883a5
VS
112222010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 * include/multiboot2.h: Resync with spec.
11225
f97e1f7d
VS
112262010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 Multiboot2 tag support
11229
11230 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
11231 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
11232 Remove loader/multiboot_loader.c.
11233 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
11234 (grub_multiboot2_real_boot): Likewise.
11235 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
11236 (grub_get_multiboot_mmap_count): New proto.
11237 (grub_fill_multiboot_mmap): Likewise.
11238 (grub_multiboot_set_video_mode): Likewise.
11239 (grub_multiboot_set_console): Likewise.
11240 (grub_multiboot_load): Likewise.
11241 (grub_multiboot_load_elf): Likewise.
11242 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
11243 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
11244 * include/multiboot.h: Resynced with specification.
11245 * include/multiboot2.h: Resynced with specification.
11246 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
11247 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
11248 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
11249 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
11250 users updated.
11251 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
11252 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
11253 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
11254 Removed.
11255 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
11256 Moved from here...
11257 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
11258 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11259 Moved from here...
11260 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
11261 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
11262 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
11263 All users updated.
11264 * loader/i386/multiboot_mbi2.c: New file.
11265
3506b90b
VS
112662010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11267
11268 Resync with gnulib.
11269
11270 * Makefile.in (GNULIB_CFLAGS): New variable.
11271 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
11272 (grub_script_check_CFLAGS): New variable.
11273 * gnulib/alloca.h: Resync with gnulib.
11274 * gnulib/error.c: Likewise.
11275 * gnulib/error.h: Likewise.
11276 * gnulib/fnmatch.c: Likewise.
11277 * gnulib/fnmatch_loop.c: Likewise.
11278 * gnulib/getdelim.c: Likewise.
11279 * gnulib/getline.c: Likewise.
11280 * gnulib/getopt.c: Likewise.
11281 * gnulib/getopt1.c: Likewise.
11282 * gnulib/getopt_int.h: Likewise.
11283 * gnulib/gettext.h: Likewise.
11284 * gnulib/progname.c: Likewise.
11285 * gnulib/progname.h: Likewise.
11286
394a3120
GS
112872010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
11288
11289 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
11290 which is the case with --disabled-nls.
11291
11292 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
11293 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
11294 * util/misc.c: Likewise.
11295 * util/mkisofs/mkisofs.c: Likewise.
11296 * util/mkisofs/mkisofs.h: Likewise.
11297
969d1c78
VS
112982010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11299
11300 Simplify Apple CC support.
11301
11302 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
11303 Add 0 byte at the end not to have a symbol with empty target.
11304 * mmap/i386/pc/mmap_helper.S: Likewise.
11305 * genmk.rb: Ignore errors 2030 and 2050.
11306 * kern/i386/pc/startup.S: Use LOCAL when possible.
11307
8d2977bb
BC
113082010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
11309
11310 Testcase and the fix for final semicolon on cmdline.
11311
11312 * tests/grub_script_final_semicolon.in: New testcase.
11313 * conf/tests.rmk: Rules for the new testcase.
11314 * script/parser.y: Grammar fix.
11315
a7bd6915
BC
113162010-03-26 BVK Chaitanya <bvk@localhost>
11317
11318 Blank lines testcase for GRUB script.
11319
11320 * tests/grub_script_blanklines.in: New testcase.
11321 * conf/tests.rmk: Rules for the new testcase.
11322
e4ff6628
VS
113232010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11324
11325 Don't use __FILE__.
11326
11327 * genmk.rb: Add -DGRUB_FILE to all C targets.
11328 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
11329 * include/grub/list.h: Likewise.
11330 * include/grub/misc.h: Likewise.
11331 * include/grub/mm.h: Likewise.
11332 * include/grub/test.h: Likewise.
11333 * kern/mm.c: Likewise.
11334 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
11335
6a5cf6b6
VS
113362010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11337
11338 Sunpc partitions support.
11339
11340 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
11341 (grub_fstest_SOURCES): Likewise.
11342 (pkglib_MODULES): Add part_sunpc.mod.
11343 (part_sunpc_mod_SOURCES): New variable.
11344 (part_sunpc_mod_CFLAGS): Likewise.
11345 (part_sunpc_mod_LDFLAGS): Likewise.
11346 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
11347 * partmap/sunpc.c: New file.
11348
746d9045
BC
113492010-03-26 BVK Chaitanya <bvk@localhost>
11350
11351 For loop support to GRUB script.
11352
11353 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
11354 (grub_script_create_cmdfor): New function prototype.
11355 (grub_script_execute_cmdfor): New function prototype.
11356 * script/execute.c (grub_script_execute_cmdfor): New function.
11357 * script/parser.y (command): New for command.
11358 (forcmd): New grammar rule.
11359 * script/script.c (grub_script_create_cmdfor): New function.
11360 * util/grub-script-check.c (grub_script_execute_cmdfor): New
11361 function.
11362 * tests/grub_script_for1.in: New testcase.
11363 * conf/tests.rmk: Rules for new testcase.
11364
18486b18
VS
113652010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11366
11367 Nested partitions
11368
11369 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
11370 'partition' is NULL, grub_partition_get_start already does that.
11371 * commands/loadenv.c (check_blocklists): Likewise.
11372 (write_blocklists): Likewise.
11373 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
11374 (grub_fstest_SOURCES): Likewise.
11375 (pkglib_MODULES): Add part_bsd.mod.
11376 (part_bsd_mod_SOURCES): New variable.
11377 (part_bsd_mod_CFLAGS): Likewise.
11378 (part_bsd_mod_LDFLAGS): Likewise.
11379 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
11380 (grub_emu_SOURCES): Likewise.
11381 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11382 * include/grub/bsdlabel.h: New file.
11383 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
11384 'get_name'.
11385 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
11386 (grub_partition_map_list): New variable.
11387 (grub_partition_map_register): Inline.
11388 (grub_partition_map_unregister): Likewise.
11389 (FOR_PARTITION_MAPS): New macro.
11390 (grub_partition_map_iterate): Removed.
11391 (grub_partition_get_start): Handle nested partitions.
11392 * include/grub/msdos_partition.h: Remove bsd-related entries.
11393 (grub_pc_partition): Remove.
11394 * kern/disk.c (grub_disk_close): Free partition data.
11395 (grub_disk_adjust_range): Handle nested partitions.
11396 * kern/partition.c (grub_partition_map_probe): New function.
11397 (grub_partition_probe): Parse name to number, handle subpartitions.
11398 (get_partmap): New function.
11399 (grub_partition_iterate): Handle subpartitions.
11400 (grub_partition_get_name): Likewise.
11401 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
11402 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
11403 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
11404 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
11405 Set 'number'.
11406 (acorn_partition_map_probe): Remove.
11407 (acorn_partition_map_get_name): Likewise.
11408 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
11409 Set 'number'.
11410 Set 'index' to 0 since there can be only one partition entry per sector.
11411 (amiga_partition_map_probe): Remove.
11412 (amiga_partition_map_get_name): Likewise.
11413 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
11414 Set 'number'.
11415 Set 'offset' and 'index' to real positions of partitions.
11416 (apple_partition_map_probe): Remove.
11417 (apple_partition_map_get_name): Likewise.
11418 * partmap/bsdlabel.c: New file.
11419 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
11420 Set 'number'.
11421 Allocate 'data' so it can be correctly freed.
11422 Set 'index' to offset inside sector.
11423 (gpt_partition_map_probe): Remove.
11424 (gpt_partition_map_get_name): Likewise.
11425 * partmap/msdos.c (grub_partition_parse): Remove.
11426 (pc_partition_map_iterate): Don't force raw access.
11427 Set 'number'.
11428 Make 'ext_offset' a local variable.
11429 (pc_partition_map_probe): Remove.
11430 (pc_partition_map_get_name): Remove.
11431 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
11432 Set 'number'.
11433 (sun_partition_map_probe): Remove.
11434 (sun_partition_map_get_name): Likewise.
11435 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
11436 (grub_pcpart_type): Likewise.
11437 * util/hostdisk.c (open_device): Handle new numbering scheme.
11438 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
11439 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
11440 * util/grub-probe.c (probe_partmap): Handle nested paritions.
11441 * util/grub-install.in: Insert all subpartition modules.
11442 * util/ieee1275/grub-install.in: Likewise.
11443
a3940f88
AG
114442010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
11445
11446 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
11447 grammar.
11448
21b99926 114492010-03-24 Colin Watson <cjwatson@ubuntu.com>
11450
11451 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
11452
bed1d352
CW
114532010-03-21 Colin Watson <cjwatson@ubuntu.com>
11454
11455 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
11456 match where 'make install' puts them.
11457 * util/i386/efi/grub-install.in: Likewise.
11458
c9f58427
CW
114592010-03-19 Colin Watson <cjwatson@ubuntu.com>
11460
11461 * .bzrignore: Add gentrigtables, grub-script-check,
11462 grub_script_check_init.c, grub_script_check_init.h, and
11463 trigtables.c.
11464
f84afb27
VS
114652010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
11466
11467 * kern/parser.c: Indented.
11468
ed0e3d30
VS
114692010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
11470
11471 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
11472
0ea81d98
VS
114732010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
11474
11475 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
11476 alpha_mask_size == 0 case.
11477
0cdc2a09
BC
114782010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
11479
11480 GRUB shell lexer and parser improvements.
11481
11482 * conf/any-emu.rmk: Build rule updates.
11483 * conf/common.rmk: Likewise.
11484 * conf/i386-coreboot.rmk: Likewise.
11485 * conf/i386-efi.rmk: Likewise.
11486 * conf/i386-ieee1275.rmk: Likewise.
11487 * conf/i386-pc.rmk: Likewise.
11488 * conf/powerpc-ieee1275.rmk: Likewise.
11489 * conf/x86_64-efi.rmk: Likewise.
11490
11491 * configure.ac: Configure check for flex.
11492
11493 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
11494 types.
11495 (grub_lexer_param): Struct member updates.
11496 (grub_parser_param): Likewise.
11497 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
11498 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
11499 (grub_script_lexer_init): Prototype update.
11500 (grub_script_lexer_record_start): Likewise.
11501 (grub_script_lexer_record_stop): Likewise.
11502 (grub_script_lexer_yywrap): New function prototype.
11503 (grub_script_lexer_fini): Likewise.
11504 (grub_script_execute_argument_to_string): Removed by...
11505 (grub_script_execute_argument_to_argv): ...better version.
11506
11507 * script/execute.c (ROUND_UPTO): New macro.
11508 (grub_script_execute_cmdline): Out of memory fixes.
11509 (grub_script_execute_menuentry): Likewise.
11510 (grub_script_execute_argument_to_string): Removed. Update all
11511 users by...
11512 (grub_script_execute_argument_to_argv): ...better version.
11513 * script/function.c (grub_script_function_create): Use
11514 grub_script_execute_argument_to_argv instead of
11515 grub_script_execute_argument_to_string.
11516
11517 * script/lexer.c (check_varstate): Removed.
11518 (check_textstate): Removed.
11519 (grub_script_lexer_record_start): Likewise.
11520 (grub_script_lexer_record_stop): Likewise.
11521 (recordchar): Replaced with...
11522 (grub_script_lexer_record): ...new function.
11523 (nextchar): Removed.
11524 (grub_script_lexer_init): Rewritten.
11525 (grub_script_yylex): Rewritten.
11526 (append_newline): New function.
11527 (grub_script_lexer_yywrap): New function.
11528 (grub_script_lexer_fini): New function.
11529 (grub_script_yyerror): Sets error flag.
11530
11531 * script/yylex.l: New file.
11532 (grub_lexer_yyfree): Wrapper for flex yyffre.
11533 (grub_lexer_yyalloc): Likewise.
11534 (grub_lexer_yyrealloc): Likewise.
11535 * script/parser.y: Refactored.
11536
11537 * script/script.c (grub_script_arg_add): Out of memory fixes.
11538 (grub_script_add_arglist): Likewise.
11539 (grub_script_create_cmdline): Likewise.
11540 (grub_script_create_cmdmenu): Likewise.
11541 (grub_script_add_cmd): Likewise.
11542 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
11543 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
11544 unnecessary code.
11545
11546 * tests/grub_script_echo1.in: New testcase.
11547 * tests/grub_script_vars1.in: New testcase.
11548 * tests/grub_script_echo_keywords.in: New testcase.
11549
1d63a066
VS
115502010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
11551
11552 Remove some redundancy in build system.
11553
11554 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
11555 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
11556 (TARGET_LDFLAGS): Add -nostdlib.
11557 (TARGET_IMG_LDFLAGS): Likewise.
11558 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
11559 anything since mmap isn't available.
11560 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
11561 Add util/time.c.
11562 (pkglib_MODULES): Remove reboot.mod.
11563 (reboot_mod_SOURCES): Removed.
11564 (reboot_mod_CFLAGS): Likewise.
11565 (reboot_mod_LDFLAGS): Likewise.
11566 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
11567 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
11568 (DEFSYMFILES): Add kernel_syms.lst.
11569 (kernel_img_HEADERS): Add common headers.
11570 (symlist.c): New target.
11571 (kernel_syms.lst): Likewise.
11572 (pkglib_MODULES): Add memdisk.mod.
11573 (memdisk_mod_SOURCES): New variable.
11574 (memdisk_mod_CFLAGS): Likewise.
11575 (memdisk_mod_LDFLAGS): Likewise.
11576 (pkglib_MODULES): Add reboot.mod.
11577 (reboot_mod_SOURCES): New variable.
11578 (reboot_mod_CFLAGS): Likewise.
11579 (reboot_mod_LDFLAGS): Likewise.
11580 (pkglib_MODULES): Add date.mod.
11581 (date_mod_SOURCES): New variable.
11582 (date_mod_CFLAGS): Likewise.
11583 (date_mod_LDFLAGS): Likewise.
11584 (pkglib_MODULES): Add datehook.mod.
11585 (datehook_mod_SOURCES): New variable.
11586 (datehook_mod_CFLAGS): Likewise.
11587 (datehook_mod_LDFLAGS): Likewise.
11588 (pkglib_MODULES): Add lsmmap.mod.
11589 (lsmmap_mod_SOURCES): New variable.
11590 (lsmmap_mod_CFLAGS): Likewise.
11591 (lsmmap_mod_LDFLAGS): Likewise.
11592 (pkglib_MODULES): Add boot.mod.
11593 (boot_mod_SOURCES): New variable.
11594 (boot_mod_CFLAGS): Likewise.
11595 (boot_mod_LDFLAGS): Likewise.
11596 * conf/i386-coreboot.rmk: Removed redundant parts.
11597 * conf/i386-ieee1275.rmk: Likewise.
11598 * conf/i386-pc.rmk: Likewise.
11599 * conf/mips-yeeloong.rmk: Likewise.
11600 * conf/mips.rmk: Likewise.
11601 * conf/powerpc-ieee1275.rmk: Likewise.
11602 * conf/sparc64-ieee1275.rmk: Likewise.
11603 * conf/x86_64-efi.rmk: Likewise.
11604 * conf/i386-coreboot.rmk: Moved qemu parts ..
11605 * conf/i386-qemu.rmk: ... here
11606 * conf/i386-efi.rmk: Moved common parts to...
11607 * conf/x86-efi.rmk: ... here.
11608 * conf/i386.rmk: Added modules common to all x86 variants.
11609 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
11610 * disk/memdisk.c: Remove grub/machine/kernel.h.
11611 * gensymlist.sh.in: Include symbol.h.
11612 * hook/datehook.c: Correct module name.
11613 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
11614 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
11615 * include/grub/i386/efi/serial.h: New file.
11616 * include/grub/x86_64/efi/serial.h: Likewise.
11617 * util/time.c: Likewise.
11618 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
11619
463ac55f
CK
116202010-03-14 Colin King <colin.king@ubuntu.com>
116212010-03-14 Colin Watson <cjwatson@ubuntu.com>
11622
11623 Shrink the pre-partition-table part of boot.img by eight bytes.
11624
11625 * boot/i386/pc/boot.S (ERR): New macro.
11626 (chs_mode): Use ERR.
11627 (geometry_error): Likewise.
11628 (hd_probe_error): Remove. This is only used once, so we wrwite
11629 it inline instead.
11630 (read_error): Instead of printing read_error_string, just set up
11631 %si and fall through to ...
11632 (error_message): ... this new function, also used by ERR.
11633
08e46ede
CW
116342010-03-14 Colin Watson <cjwatson@ubuntu.com>
11635
11636 Speed up consecutive hostdisk operations on the same device.
11637
11638 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
11639 (grub_util_biosdisk_open): Initialise disk->data.
11640 (struct linux_partition_cache): New structure.
11641 (linux_find_partition): Cache partition start positions; these are
11642 expensive to compute on every read and write.
11643 (open_device): Cache open file descriptor in disk->data, so that we
11644 don't have to reopen it and flush the buffer cache for consecutive
11645 operations on the same device.
11646 (grub_util_biosdisk_close): New function.
11647 (grub_util_biosdisk_dev): Set `close' member.
11648
11649 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
11650 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
11651 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11652 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
11653 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
11654
4a6d2d06
VS
116552010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
11656
11657 Compile parts of grub-emu as modules.
11658
11659 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
11660 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
11661 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
11662 (all-local): Add $(GRUB_EMU).
11663 (install-local): Install $(GRUB_EMU).
11664 (uninstall): Uninstall $(GRUB_EMU).
11665 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
11666 * kern/dl.c: Likewise.
11667 * commands/sleep.c: Not include machine/time.h.
11668 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
11669 (COMMON_CFLAGS): Likewise.
11670 (sbin_UTILITIES): Remove grub-emu.
11671 (grub_emu_SOURCES): Removed.
11672 (kernel_img_RELOCATABLE): New variable.
11673 (pkglib_PROGRAMS): Add kernel.img.
11674 (kernel_img_SOURCES): New variable
11675 (kernel_img_CFLAGS): Likewise.
11676 (kernel_img_LDFLAGS): Likewise.
11677 (TARGET_NO_STRIP): Likewise.
11678 (TARGET_NO_DYNAMIC_MODULES): Likewise.
11679 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
11680 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
11681 (grub-emu): New target.
11682 (GRUB_EMU): New variable.
11683 * configure.ac: Whitelist -emu as possible x86_64 architecture.
11684 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
11685 * loader/xnu.c: Likewise.
11686 * include/grub/pci.h: Likewise.
11687 * genemuinit.sh: New file.
11688 * genemuinitheader.sh: Likewise.
11689 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
11690 Support TARGET_NO_DYNAMIC_MODULES.
11691 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
11692 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
11693 * disk/loopback.c: Likewise.
11694 * font/font_cmd.c: Likewise.
11695 * partmap/acorn.c: Likewise.
11696 * partmap/amiga.c: Likewise.
11697 * partmap/apple.c: Likewise.
11698 * partmap/gpt.c: Likewise.
11699 * partmap/msdos.c: Likewise.
11700 * partmap/sun.c: Likewise.
11701 * parttool/msdospart.c: Likewise.
11702 * term/gfxterm.c: Likewise.
11703 * video/bitmap.c: Likewise.
11704 * video/readers/jpeg.c: Likewise.
11705 * video/readers/png.c: Likewise.
11706 * video/readers/tga.c: Likewise.
11707 * video/video.c: Likewise.
11708 * util/grub-emu.c (read_command_list): Removed.
11709 (main): Don't call util_init_nls.
11710 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
11711 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
11712
91fdd2ed
VS
117132010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
11714
11715 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
11716 date.mod, datehook.mod.
11717 (datetime_mod_SOURCES): New variable.
11718 (datetime_mod_CFLAGS): Likewise.
11719 (datetime_mod_LDFLAGS): Likewise.
11720 (date_mod_SOURCES): Likewise.
11721 (date_mod_CFLAGS): Likewise.
11722 (date_mod_LDFLAGS): Likewise.
11723 (datehook_mod_SOURCES): Likewise.
11724 (datehook_mod_CFLAGS): Likewise.
11725 (datehook_mod_LDFLAGS): Likewise.
11726 * conf/sparc64-ieee1275.rmk: Likewise.
11727 * lib/ieee1275/datetime.c: New file.
11728
873ccae6
VS
117292010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
11732 (ieee1275_fb_mod_SOURCES): New variable.
11733 (ieee1275_fb_mod_CFLAGS): Likewise.
11734 (ieee1275_fb_mod_LDFLAGS): Likewise.
11735 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
11736 New proto.
11737 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
11738 (HEAP_MAX_ADDR): Likewise.
11739 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
11740 type.
11741 Correct stop condition.
11742 (grub_ieee1275_devices_iterate): New function.
11743 * video/ieee1275.c: New file.
11744
601c97c0
VS
117452010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
11748
11749 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
11750 as scratch.
11751 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
11752 SCRATCH_PAD_DISKBOOT as scratch.
11753 (bootit): Pass Openfirmware pointer in %o4.
11754 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
11755 of 0x200000.
11756 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
11757 with util/grub-mkrawimage.c.
11758 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
11759 * include/grub/aout.h (AOUT_MID_SUN): New definition.
11760 (grub_aout_get_type) [GRUB_UTIL]: Removed.
11761 (grub_aout_load) [GRUB_UTIL]: Likewise.
11762 * include/grub/kernel.h (grub_modules_get_end): New proto.
11763 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
11764 (SCRATCH_PAD_BOOT): New definition.
11765 (SCRATCH_PAD_DISKBOOT): Likewise.
11766 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
11767 * include/grub/sparc64/ieee1275/ieee1275.h
11768 (grub_ieee1275_original_stack): New variable
11769 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
11770 New definition
11771 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
11772 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
11773 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
11774 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
11775 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
11776 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
11777 (grub_platform_image_format_t): New type.
11778 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
11779 * kern/main.c (grub_modules_get_end)
11780 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
11781 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
11782 (codestart): Switch stacks.
11783 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
11784 variable.
11785 (grub_heap_init): Use grub_modules_get_end.
11786 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
11787 stack.
11788 * util/grub-mkrawimage.c (generate_image): Support sparc64.
11789 (main): Likewise.
11790 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
11791
d68b491e
TG
117922010-03-14 Thorsten Glaser <tg@mirbsd.org>
11793
11794 * util/grub-mkrescue.in: Base ISO UUID on UTC.
11795
4e02ed50
MK
117962010-03-08 Matt Kraai <kraai@ftbfs.org>
11797
11798 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
11799 bug #559005).
11800
1f15fc1e
VS
118012010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
11802
11803 * genmoddep.awk: Output all missing symbols and not only first.
11804
fce5d8ff
VS
118052010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11806
11807 * NEWS: Put the date of 1.98 release.
11808
d1e8a02f
VS
118092010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11810
11811 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
11812 ft2build.h.
11813
696fd607
VS
118142010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11815
11816 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
11817 completition in the middle of string.
11818
33e2e6f3
VS
118192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11820
11821 * util/grub-mkrescue.in: Use mktemp with explicit template.
11822
b1f6d291
VS
118232010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11824
11825 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
11826
2ac227c7
VS
118272010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11828
11829 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
11830 right pointer.
11831
8f9a632b
VS
118322010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11833
11834 Fix FreeBSD compilation.
11835
11836 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
11837 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
11838
60b03859
VS
118392010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11840
11841 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
11842
48a5a769
VS
118432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11844
11845 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
11846
3ab4bd77
VS
118472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
11850
d116e0d8
RM
118512010-03-04 Robert Millan <rmh.grub@aybabtu.com>
11852
11853 Support relative image path in theme file.
11854
11855 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
11856 (image_set_property): Handle theme_dir and relative path.
11857
c7ef54aa
VS
118582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 * configure.ac: Alias amd64 to x86_64.
11861
fcee14ed
VS
118622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 * NEWS: mention multiboot on EFI.
11865
d0780363
VS
118662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11867
11868 * kern/main.c (grub_load_modules): Handle errors from init functions of
11869 embeded modules.
11870
41168ea4
VS
118712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11872
11873 * normal/autofs.c (autoload_fs_module): Handle errors.
11874
b54d93ac
VS
118752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11876
11877 Disable linux.mod on qemu-mips since it's not functional and leads
11878 to compilation failure.
11879
11880 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
11881 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
11882 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
11883 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
11884 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
11885 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
11886 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
11887 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
11888 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
11889 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
11890 Reported by: BVK Chaitanya
11891
fc8345da
JU
118922010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
11893
11894 * INSTALL: Add gettext as a dependency and add qemu to a new section
11895 "Prerequisites for make-check".
11896
4760f979
CF
118972010-03-04 Christian Franke <franke@computer.org>
11898
11899 * util/grub-pe2elf.c: Add missing include "progname.h".
11900
f209b5b2
VS
119012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11902
11903 * normal/crypto.c (read_crypto_list): Fix a typo.
11904 Reported by: Seth Goldberg.
11905
b4b7be98
VS
119062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11907
11908 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 11909 Reported by: Seth Goldberg.
b4b7be98 11910
c0ee0385
VS
119112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11912
11913 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
11914 ascii.bitmaps.
11915
a8efbf64
VS
119162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11917
11918 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 11919 Reported by: Seth Goldberg.
a8efbf64 11920
08dcd913
VS
119212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * util/i386/efi/grub-install.in: Copy gettext files.
11924
c4d0b332
VS
119252010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
11926
11927 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
11928
c6f2fe52
VS
119292010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
11930
11931 Wait for user entry basing on presence of output rather than on errors.
11932
11933 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
11934 (grub_install_newline_hook): Likewise.
11935 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
11936 * normal/menu.c (show_menu): Check line_counter to determine presence
11937 of output.
11938 * normal/term.c (grub_normal_line_counter): New variable.
11939 (grub_normal_get_line_counter): New function.
11940 (grub_install_newline_hook): Likewise.
11941
5382b1e4
VS
119422010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
11945
5519963b
VS
119462010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
11947
11948 * configure.ac: Update version to 1.98.
11949
72b28631
VS
119502010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11951
11952 * util/grub.d/10_linux.in (linux_entry): Don't default to
11953 gfxpayload=keep if Linux doesn't support video handover.
11954
c140a180
VS
119552010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 Don't compile video modules on yeeloong since video subsystem is part
11958 of kernel.
11959
11960 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
11961 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
11962 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
11963 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
11964 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
11965 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
11966 * include/grub/bitmap_scale.h: Likewise.
11967 * include/grub/bufio.h: Likewise.
11968 * include/grub/font.h: Likewise.
11969 * include/grub/gfxterm.h: Likewise.
11970 * include/grub/video.h: Likewise.
11971 * include/grub/vbe.h: Don't include video_fb.h.
11972 * video/i386/pc/vbe.c: Include video_fb.h.
11973 * commands/i386/pc/vbetest.c: Include video.h.
11974
a0ca21c2
CW
119752010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
11976
11977 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
11978 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
11979 default entry if GRUB_SAVEDEFAULT=true. This allows using
11980 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
11981 saving a new default on every boot.
11982
4a8a763c
VS
119832010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11984
11985 * normal/crypto.c (read_crypto_list): Fix a memory leak.
11986 * normal/term.c (read_terminal_list): Likewise.
11987 * normal/main.c (grub_normal_init_page): Likewise.
11988 (grub_normal_read_line_real): Likewise.
11989
607ffde2
VS
119902010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11991
11992 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
11993 memory leak.
11994 Reported by: Seth Goldberg.
11995
2b8fa975
CW
119962010-02-24 Joey Korkames <joey+lists@kidfixit.com>
11997
11998 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
11999 duplicate declaration of `start'.
12000
618307dd
VS
120012010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
12004 filename.
12005 Reported by: Georgy Buranov
12006
7dd05b96 120072010-02-20 Carles Pina i Estany <carles@pina.cat>
12008
12009 * util/grub-mkrawimage.c (usage): Change string formatting to
12010 improve gettext.
12011
d1484a42
MRA
120122010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
12013
12014 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
12015 backspace keys.
12016
42b1d186
VS
120172010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12018
12019 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
12020 Reported by: Michael Suchanek.
12021
120222010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
12023
12024 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
12025 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
12026
d9f31a41
VS
120272010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
12028
12029 Remove any reference to non-free fonts.
12030
12031 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
12032 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
12033 uses non-free components.
12034 * font/font.c (grub_font_get_name): Remove example name.
12035 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
12036 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
12037 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
12038 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
12039
2793c71e
GB
120402010-02-16 Georgy Buranov <gburanov@gmail.com>
12041
12042 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
12043
402e3779
VS
120442010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12045
12046 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
12047 Double divisor.
12048 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
12049 features.
12050 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
12051
0dd1e0dd
VS
120522010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12053
12054 * gensymlist.sh.in: Use TARGET_CC instead of CC.
12055
6fa7cfce
ST
120562010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12057
12058 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
12059 * docs/grub.texi (Command-line and menu entry commands): Document play
12060 command.
12061
37c8483b
ST
120622010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12063
12064 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
12065 parse arguments as inline tempo and notes. Move code for playing notes
12066 to...
12067 (play): ... new function.
12068
14da0fb7
ST
120692010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12070
12071 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
12072 grub_uint16_t instead of short.
12073 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
12074 disk from little endian to cpu endianness.
12075
04459e70
ST
120762010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
12077
12078 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
12079 GRUB_TICKS_PER_SECOND instead of 120.
12080
a0876943
VS
120812010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12082
12083 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
12084 escape sequence after \e.
12085
e29f95dc
VS
120862010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12087
12088 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
12089 non-ASCII characters.
12090
d27859b2
VS
120912010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12092
12093 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
12094 set root in single quotes to prevent \, from being unescaped.
12095
bc028f2f
VS
120962010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12097
12098 Prevent unknown commands from stopping menuentry execution.
12099
12100 * script/execute.c (grub_script_execute_cmdline): Print error after
12101 unknown command.
12102
095f5f82
VS
121032010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12104
12105 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
12106 Reported by: Pavel Pisa.
12107
8c717950
VS
121082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12109
12110 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
12111
904935c3
VS
121122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12113
12114 Merge grub_ieee1275_map_physical into grub_map and rename to
12115 grub_ieee1275_map
12116
12117 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
12118 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
12119 Remove.
12120 * kern/ieee1275/openfw.c (grub_map): Rename to ...
12121 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
12122 necessary.
12123 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
12124
5b59a4e3
VS
121252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12126
12127 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
12128 opening and not after.
12129
69e137e8
VS
121302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12131
12132 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
12133 constants.
12134
2c0fcc36
VS
121352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
12138 (alloc_phys): Use ALIGN_UP instead of align_addr.
12139
8c6052ce
VS
121402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12141
12142 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
12143
17cec782
VS
121442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12145
12146 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
12147
e0128bbd
VS
121482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
12151 verbose dprintf.
12152
ca62070b
VS
121532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12154
12155 Fix over-4GiB seek on sparc64.
12156
12157 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
12158 Replace pos_i and pos_lo with pos. All users updated.
12159 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12160 New constant.
12161 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12162 Likewise.
12163 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
12164 and pos_lo.
12165
bdca2607
VS
121662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12167
12168 * util/grub-mkrawimage.c (main): Call set_program_name.
12169
da278c4d
VS
121702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 Properly align 64-bit targets.
12173
12174 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
12175 (generate_image): Use ALIGN_ADDR.
12176
b274d734
VS
121772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12178
12179 Properly create cross-endian images.
12180
12181 * include/grub/types.h (grub_host_to_target_addr): New macro
12182 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
12183
82da2062
VS
121842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12185
12186 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
12187
7cae4377
VS
121882010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12189
12190 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
12191
12192 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
12193 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
12194 (grub_linux_boot): Divide by 64K when on VESA.
12195
65a533e7
VS
121962010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12197
12198 Support GRUB_GFXPAYLOAD_LINUX.
12199
12200 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
12201 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
12202
dd01d397
VS
122032010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12204
12205 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
12206 to show messages instead of discarding them.
12207 Process errors after executing command and not before. Keep old method
12208 too as precaution.
12209
660960d6
VS
122102010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12211
12212 * configure.ac: Check for ft2build.h.
12213
62509f04
VS
122142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12215
12216 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
12217
473df63d
VS
122182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12219
12220 * genkernsyms.sh.in: Use TARGET_CC.
12221
c98d2a13
CW
122222010-02-07 Colin Watson <cjwatson@ubuntu.com>
12223
12224 * NEWS: Update.
12225
6e14234c
VS
122262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12227
12228 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
12229 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
12230 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 12231
b255e9cf
YB
122322010-02-07 Yves Blusseau <blusseau@zetam.org>
12233
6e14234c 12234 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 12235
98e6959d
VS
122362010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12237
12238 Fix warnings in grub-emu when compiling with maximum warning options.
12239
12240 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
12241 (grub_arch_modules_addr): Return 0 and not NULL.
12242 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 12243 (xstrdup): Use newstr instead of dup.
f88d801b
VS
12244 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
12245 of disk to dsk to avoid shadowing.
74e4934e
VS
12246 (find_free_slot): Fix prototype.
12247 * util/getroot.c (grub_util_is_dmraid): Make static.
12248 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
12249 Add missing prototype.
12250 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 12251
74e31b5c
VS
122522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 * loader/i386/linux.c (grub_linux_setup_video): Handle error
12255 appropriately.
12256
6b2ad14b
VS
122572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
12260 code out.
12261
8f891adc
VS
122622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12263
12264 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
12265 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
12266 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
12267 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
12268 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
12269 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
12270
74b45184
VS
122712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12272
12273 * include/grub/err.h (grub_err_printf): Don't export.
12274
a4bced77
VS
122752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12276
12277 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
12278
007d0695
VS
122792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12280
12281 * include/grub/i18n.h (grub_gettext_dummy): Removed.
12282 * kern/misc.c (grub_gettext_dummy): Make static.
12283
b6c0d9c2
VS
122842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12285
12286 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
12287 by non-valid ones.
12288 * kern/term.c (grub_putchar): Likewise.
12289
f51a90d0
VS
122902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12291
12292 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
12293 buggy hook call and memory leak.
12294
6846cec5
VS
122952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12296
12297 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
12298
468d69fe
VS
122992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12300
12301 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
12302
51906b8c
VS
123032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12304
12305 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
12306 modevar.
12307 Return grub_errno on allocation error.
12308
09706ce5
VS
123092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
12312
911df80c
YB
123132010-02-06 Yves Blusseau <blusseau@zetam.org>
12314
12315 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
12316 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
12317
3746a6bc
VS
123182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
12321 non-pxe disk.
12322 (grub_pxefs_open): Likewise.
12323
09706ce5
VS
123242010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12325
12326 * util/grub.d/10_hurd.in: Add --class information to menuentries.
12327 * util/grub.d/10_kfreebsd.in: Likewise.
12328 * util/grub.d/10_linux.in: Likewise.
12329
7cc192d9
VS
123302010-02-06 Colin D Bennett <colin@gibibit.com>
12331
12332 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
12333 (gfxmenu_mod_SOURCES): New variable.
12334 (gfxmenu_mod_CFLAGS): Likewise.
12335 (gfxmenu_mod_LDFLAGS): Likewise.
12336 * include/grub/term.h (grub_term_set_current_output): Declare
12337 argument as const.
12338 * docs/gfxmenu-theme-example.txt: New file.
12339 * gfxmenu/gfxmenu.c: Likewise.
12340 * gfxmenu/gui_box.c: Likewise.
12341 * gfxmenu/gui_canvas.c: Likewise.
12342 * gfxmenu/gui_circular_progress.c: Likewise.
12343 * gfxmenu/gui_image.c: Likewise.
12344 * gfxmenu/gui_label.c: Likewise.
12345 * gfxmenu/gui_list.c: Likewise.
12346 * gfxmenu/gui_progress_bar.c: Likewise.
12347 * gfxmenu/gui_string_util.c: Likewise.
12348 * gfxmenu/gui_util.c: Likewise.
12349 * gfxmenu/icon_manager.c: Likewise.
12350 * gfxmenu/model.c: Likewise.
12351 * gfxmenu/named_colors.c: Likewise.
12352 * gfxmenu/theme_loader.c: Likewise.
12353 * gfxmenu/view.c: Likewise.
12354 * gfxmenu/widget-box.c: Likewise.
12355 * include/grub/gfxmenu_model.h: Likewise.
12356 * include/grub/gfxmenu_view.h: Likewise.
12357 * include/grub/gfxwidgets.h: Likewise.
12358 * include/grub/gui.h: Likewise.
12359 * include/grub/gui_string_util.h: Likewise.
12360 * include/grub/icon_manager.h: Likewise.
12361
123622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12363
12364 Agglomerate scrolling in gfxterm.
12365
12366 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
12367 (grub_virtual_screen_setup): Initialise 'total_screen'.
12368 (write_char): Split to ...
12369 (paint_char): ... this ...
12370 (write_char): ... and this.
12371 (paint_char): Handle delayed scrolling.
12372 (draw_cursor): Likewise.
12373 (scroll_up): Split to ...
12374 (real_scroll): ... this ...
12375 (scroll_up): ... and this.
12376 (real_scroll): Handle multi-line scroll and draw below-the-bottom
12377 characters.
12378 (grub_gfxterm_refresh): Call real_scroll.
12379
123802010-02-06 Colin D Bennett <colin@gibibit.com>
12381
12382 * include/grub/misc.h (grub_iscntrl): New inline function.
12383 (grub_isalnum): Likewise.
12384 (grub_strtol): Likewise.
12385
123862010-02-06 Colin D Bennett <colin@gibibit.com>
12387
12388 * normal/menu_text.c (get_entry_number): Move from here ...
12389 * normal/menu.c (get_entry_number): ... moved here.
12390 * include/grub/menu.h (grub_menu_get_default_entry_index):
12391 New prototype.
12392 * normal/menu.c (grub_menu_get_default_entry_index): New function.
12393 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
12394 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
12395 (grub_menu_viewer_should_return): Likewise.
12396 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
12397 * normal/menu_text.c (run_menu): Enable menu switching.
12398 * normal/menu_viewer.c (should_return): New variable.
12399 (menu_viewer_changed): Likewise.
12400 (grub_menu_viewer_show_menu): Handle menu viewer changes.
12401 (grub_menu_viewer_should_return): New function.
12402 (menuviewer_write_hook): Likewise.
12403 (grub_menu_viewer_init): Likewise.
12404
124052010-02-06 Colin D Bennet <colin@gibibit.com>
124062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12407
12408 Support for gfxterm in a window.
12409
12410 * include/grub/gfxterm.h: New file.
12411 * include/grub/video.h (struct grub_video_rect): New declaration.
12412 (grub_video_rect_t): Likewise.
12413 * term/gfxterm.c (struct grub_gfxterm_window): New type.
12414 (refcount): New variable.
12415 (render_target): Likewise.
12416 (window): Likewise.
12417 (repaint_callback): Likewise.
12418 (grub_virtual_screen_setup): Use 'render_target'.
12419 (init_window): New function.
12420 (grub_gfxterm_init_window): Likewise.
12421 (grub_gfxterm_init): Check reference counter.
12422 Use init_window.
12423 (destroy_window): New function.
12424 (grub_gfxterm_destroy_window): Likewise.
12425 (grub_gfxterm_fini): Check reference counter.
12426 Use destroy_window.
12427 (redraw_screen_rect): Restore viewport.
12428 Use 'render_target' and 'window'.
12429 Call 'repaint_callback'.
12430 (write_char): Use 'render_target'.
12431 (draw_cursor): Likewise.
12432 (scroll_up): Restore viewport.
12433 Use 'render_target' and 'window'.
12434 Call 'repaint_callback'.
12435 (grub_gfxterm_cls): Likewise.
12436 (grub_gfxterm_refresh): Use 'window'.
12437 (grub_gfxterm_set_repaint_callback): New function.
12438 (grub_gfxterm_background_image_cmd): Use 'window'.
12439 (grub_gfxterm_get_term): New function.
12440 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
12441
124422010-02-06 Colin D Bennett <colin@gibibit.com>
12443
12444 Bitmap scaling support.
12445
12446 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
12447 (bitmap_scale_mod_SOURCES): New variable.
12448 (bitmap_scale_mod_CFLAGS): Likewise.
12449 (bitmap_scale_mod_LDFLAGS): Likewise.
12450 * include/grub/bitmap_scale.h: New file.
12451 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
12452 (background_image_cmd_options): New variable.
12453 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
12454 (cmd): Rename and change type to ...
12455 (background_image_cmd_handle): ... this. All users updated.
12456 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
12457 * video/bitmap_scale.c: New file.
12458
124592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12460
12461 SDL support.
12462
12463 * Makefile.in (LIBSDL): New variable.
12464 (enable_grub_emu_sdl): Likewise.
12465 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
12466 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
12467 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
12468 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
12469 * util/sdl.c: New file.
12470
124712010-02-06 Colin D Bennett <colin@gibibit.com>
124722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12473
12474 Double buffering support.
12475
12476 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
12477 * include/grub/video.h: Update comment.
12478 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
12479 New type.
12480 (grub_video_fb_doublebuf_blit_init): New prototype.
12481 * term/gfxterm.c (scroll_up): Support double buffering.
12482 (grub_gfxterm_refresh): Likewise.
12483 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
12484 (grub_video_fb_doublebuf_blit_init): Likewise.
12485 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
12486 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
12487 'displayed_page', 'render_page' and 'update_screen'.
12488 (grub_video_vbe_fini): Free offscreen buffer.
12489 (doublebuf_pageflipping_commit): New function.
12490 (doublebuf_pageflipping_update_screen): Likewise.
12491 (doublebuf_pageflipping_init): Likewise.
12492 (double_buffering_init): Likewise.
12493 (grub_video_vbe_setup): Enable doublebuffering.
12494 (grub_video_vbe_swap_buffers): Implement.
12495 (grub_video_vbe_set_active_render_target): Handle double buffering.
12496 (grub_video_vbe_get_active_render_target): Likewise.
12497 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
12498 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
12499 (grub_video_vbe_enable_double_buffering): Likewise.
12500 (grub_video_vbe_swap_buffers): Use update_screen.
12501 (grub_video_set_mode): Use double buffering.
12502
125032010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12504
12505 * maintainance/gentrigtables.py: Remove.
12506 * lib/trig.c: Likewise.
12507
12508 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
12509
12510 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
12511 `trigtables.c'.
12512 (trigtables.c): New rule.
12513 (gentrigtables): Likewise.
12514 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
12515
125162010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12517
12518 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
12519 integer constants.
12520
125212010-02-06 Colin D Bennet <colin@gibibit.com>
12522
12523 Trigonometry support.
12524
12525 * include/grub/trig.h: New file.
12526 * lib/trig.c: Likewise.
12527 * maintainance/gentrigtables.py: Likewise.
12528 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
12529 (trig_mod_SOURCES): New variable.
12530 (trig_mod_CFLAGS): Likewise.
12531 (trig_mod_LDFLAGS): Likewise.
12532
5562834e
VS
125332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12534
12535 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
12536 disk devices.
12537
4f8528fc
VS
125382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
12541 error.
12542
2b4068e9
VS
125432010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12544
12545 * util/hostdisk.c (open_device): Don't use partition device when reading
12546 before the partition.
12547 (grub_util_biosdisk_read): Don't read from partition and before the
12548 partition in single operation.
12549 (grub_util_biosdisk_write): Don't write to partition and before the
12550 partition in single operation.
12551
399f6e4d
TL
125522010-02-03 Torsten Landschoff <torsten@debian.org>
12553
12554 * kern/disk.c (grub_disk_read): Fix offset computation when reading
12555 last sectors.
12556
996649b0
VS
125572010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12558
12559 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
12560 CDROM reads.
12561 (grub_biosdisk_write): Refuse to write to CDROM.
12562
3b205d4d
VS
125632010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12564
12565 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
12566
61e89d9d
VS
125672010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 * font/font.c (find_glyph): Check that bmp_idx is available before
12570 using it.
12571 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
12572 with (font == NULL).
12573
bf7fcba2
CS
125742010-01-28 Christian Schmitt <chris@ilovelinux.de>
12575
12576 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
12577
f45d2663
BC
125782010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
12579
12580 * include/grub/script_sh.h (sourcecode): Add const qualifier.
12581 * util/grub-script-check.c (getline): Fix empty lines case.
12582
ec1444e6
RM
125832010-01-28 Robert Millan <rmh.grub@aybabtu.com>
12584
12585 * Makefile.in (check): Exit with fail status when one of the tests
12586 fails.
12587 * tests/example_functional_test.c (example_test): Fix reversed assert.
12588 * tests/example_unit_test.c (example_test): Likewise.
12589
2e1cb9bb
CW
125902010-01-28 Colin Watson <cjwatson@ubuntu.com>
12591
12592 * util/grub.d/10_linux.in: This script does not use any of the
12593 contents of gettext.sh, only the external command `gettext', so stop
12594 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
12595 the same prefix as GRUB.)
12596 * util/grub.d/10_kfreebsd.in: Likewise.
12597
63533ab0
VS
125982010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12599
12600 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
12601 of the line.
12602
989e1f93
VS
126032010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12604
12605 * kern/disk.c (grub_disk_read): Fix offset computation when reading
12606 last sectors.
12607
e709ebe2
VS
126082010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12609
12610 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
12611 having a 4KiB and not 32KiB buffer size.
12612
27dea7ed
RM
126132010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12614
12615 * util/hostfs.c: Include `<errno.h>'.
12616 (grub_hostfs_read): Handle errors from fseeko() and fread().
12617
67667b9c
RM
126182010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12619
12620 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
12621 loop when using read hooks on files whose size isn't sector-aligned.
12622
c294d9d8
RM
126232010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12624
12625 Remove unused parameter.
12626
12627 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
12628 (grub_iso9660_open): Remove initialization of `data->length'.
12629
af75a9f1
RM
126302010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12631
12632 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
12633 memleak conditions.
12634
254e2ce5 126352010-01-27 Carles Pina i Estany <carles@pina.cat>
12636
12637 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
12638 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
12639
b510928c 126402010-01-26 Carles Pina i Estany <carles@pina.cat>
12641
12642 * util/bin2h.c (usage): Fix warning (space after backslash).
12643
aa2f9dd2 126442010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 12645
12646 * font/font.c: Include `grub/fontformat.h.
12647 Remove font file format constants.
12648 (grub_font_load): Use the new macros.
12649 * include/grub/fontformat.h: New file.
12650 * util/grub-mkfont.c: Include `grub/fontformat.c'.
12651 (write_font_pf2): Use the new macros.
12652
94e7e712
RM
126532010-01-26 Robert Millan <rmh.grub@aybabtu.com>
12654
12655 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
12656 does.
12657
3973a59a
RM
126582010-01-26 Robert Millan <rmh.grub@aybabtu.com>
12659
12660 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
12661
12662 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
12663 (_start): Macroify `0x7F'.
12664
12665 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
12666 (make_install_device): Use "(pxe)" as fallback prefix when booting
12667 via PXE.
12668
42e0cba3
GS
126692010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12670
12671 * configure.ac: Reset LIBS after check for libgcc symbols.
12672
847effd8
CW
126732010-01-25 Colin Watson <cjwatson@ubuntu.com>
12674
12675 * util/hostdisk.c (open_device): Add trailing newline to debug
12676 message.
12677
ea4a7e35
GS
126782010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
12679
12680 * configure.ac: Check for `limits.h'.
12681 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
12682
67951a53
RM
126832010-01-24 Robert Millan <rmh.grub@aybabtu.com>
12684
12685 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
12686 capitalize error strings.
12687
c273d4ce
ST
126882010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
12689
12690 * util/grub.d/10_hurd.in: Add a recovery mode.
12691
69be5b74
VS
126922010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12693
12694 * configure.ac: Check for libgcc symbols with -nostdlib.
12695
fc9e5810
BC
126962010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
12697
12698 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
12699
4b358c0a
VS
127002010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
12703 stack since heap may be unavailable at that point.
12704 (grub_ofconsole_gotoxy): Likewise.
12705
454fcd1c
VS
127062010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 * configure.ac: Check for _restgpr_14_x.
12709 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
12710 and _savegpr_* prototypes.
12711
566863ca
RM
127122010-01-22 Robert Millan <rmh.grub@aybabtu.com>
12713
12714 Use generic grub_reboot() for i386-efi.
12715
12716 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
12717 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
12718 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
12719
bf86e59a
VS
127202010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12721
12722 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
12723 presence of "prefix" variable as it breaks when normal.mod is
12724 embedded.
12725
d645e0f8
VS
127262010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
12727
12728 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
12729 stack since heap is unavailable at that point.
12730
f9ab2e25
VS
127312010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
12732
12733 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
12734 (grub_freebsd_bootinfo): Rewritten.
12735 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
12736
01fc7054
VS
127372010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
12738
12739 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
12740
caab4fd6
RM
127412010-01-21 Robert Millan <rmh.grub@aybabtu.com>
12742
12743 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
12744 domain now.
12745
67eb1427
FZ
127462010-01-20 Felix Zielcke <fzielcke@z-51.de>
12747
12748 * util/misc.c (make_system_path_relative_to_its_root): Change the work
12749 around for handling "/" to the correct fix. Fix a memory leak. Use
12750 xstrdup instead of strdup.
12751
a9ed4ff3
VS
127522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12753
12754 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
12755
127562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
12757
12758 Optimise glyph lookup by Basic Multilingual Plane lookup array.
12759
12760 * font/font.c (struct grub_font): New member 'bmp_idx'.
12761 (font_init): Initialise 'bmp_idx'.
12762 (load_font_index): Fill 'bmp_idx'.
12763 (find_glyph): Make inline. Use bmp_idx for BMP characters.
12764
48209f4f
VS
127652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12766
12767 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
12768 unnecessary calls.
12769
9f0a4bb7
VS
127702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12771
12772 Move context handling out of the kernel.
12773
12774 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
12775 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
12776 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
12777 * conf/i386-efi.rmk: Likewise.
12778 * conf/i386-ieee1275.rmk: Likewise.
12779 * conf/i386-pc.rmk: Likewise.
12780 * conf/powerpc-ieee1275.rmk: Likewise.
12781 * conf/sparc64-ieee1275.rmk: Likewise.
12782 * conf/x86_64-efi.rmk: Likewise.
12783 * include/grub/env.h: Include grub/menu.h.
12784 (grub_env_var_type): Removed.
12785 (grub_env_var): Replaced field 'type' with 'global'.
12786 (grub_env_find): New prototype.
12787 (grub_env_context_open): Remove EXPORT_FUNC.
12788 (grub_env_context_close): Likewise.
12789 (grub_env_export): Likewise.
12790 (grub_env_set_data_slot): Removed.
12791 (grub_env_get_data_slot): Likewise.
12792 (grub_env_unset_data_slot): Likewise.
12793 (grub_env_unset_menu): New prototype.
12794 (grub_env_set_menu): Likewise.
12795 (grub_env_get_menu): Likewise.
12796 * include/grub/env_private.h: New file.
12797 * include/grub/normal.h (grub_context_init): New prototype.
12798 (grub_context_fini): Likewise.
12799 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
12800 * normal/context.c (grub_cmd_export): ... to here.
12801 * kern/env.c: Include env_private.h.
12802 (HASHSZ): Moved to include/grub/env_private.h.
12803 (grub_env_context): Likewise.
12804 (grub_env_sorted_var): Likewise.
12805 (current_context): Renamed from this ...
12806 (grub_current_context): ...to this. 'static' removed. All users updated.
12807 (grub_env_find): Removed 'static'.
12808 (grub_env_context_open): Moved to normal/context.c.
12809 (grub_env_context_close): Likewise.
12810 (grub_env_export): Likewise.
12811 (mangle_data_slot_name): Removed.
12812 (grub_env_set_data_slot): Likewise.
12813 (grub_env_get_data_slot): Likewise.
12814 (grub_env_unset_data_slot): Likewise.
12815 * kern/main.c (grub_set_root_dev): Don't export root.
12816 It will be done later.
12817 (grub_main): Don't export prefix.
12818 It will be done later.
12819 * normal/context.c: New file.
12820 * normal/main.c (free_menu): Use grub_env_unset_menu.
12821 (grub_normal_add_menu_entry): Use grub_env_get_menu.
12822 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
12823 (GRUB_MOD_INIT(normal)): Call grub_context_init.
12824 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
12825
8dd35b8c
VS
128262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12827
12828 setpci support.
12829
12830 * commands/setpci.c: New file.
12831 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
12832 (setpci_mod_SOURCES): New variable.
12833 (setpci_mod_CFLAGS): Likewise.
12834 (setpci_mod_LDFLAGS): Likewise.
12835
449193d5
VS
128362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12837
12838 Byte-addressable PCI configuration space.
12839
12840 * bus/pci.c (grub_pci_make_address): Use byte address instead of
12841 dword address.
12842 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
12843 GRUB_PCI_REG_CACHELINE.
12844 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
12845 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
12846 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
12847 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
12848 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
12849 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
12850 grub_pci_make_address.
12851 (lock_rom_area): Likewise.
12852 * commands/lspci.c (grub_lspci_iter): Use macroses
12853 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
12854 of grub_pci_make_address.
12855 * disk/ata.c (grub_ata_pciinit): Likewise.
12856 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
12857 (GRUB_PCI_REG_VENDOR): Likewise.
12858 (GRUB_PCI_REG_DEVICE): Likewise.
12859 (GRUB_PCI_REG_COMMAND): Likewise.
12860 (GRUB_PCI_REG_STATUS): Likewise.
12861 (GRUB_PCI_REG_REVISION): Likewise.
12862 (GRUB_PCI_REG_CLASS): Likewise.
12863 (GRUB_PCI_REG_CACHELINE): Likewise.
12864 (GRUB_PCI_REG_LAT_TIMER): Likewise.
12865 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
12866 (GRUB_PCI_REG_BIST): Likewise.
12867 (GRUB_PCI_REG_ADDRESSES): Likewise.
12868 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
12869 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
12870 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
12871 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
12872 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
12873 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
12874 (GRUB_PCI_REG_CIS_POINTER): Likewise.
12875 (GRUB_PCI_REG_SUBVENDOR): Likewise.
12876 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
12877 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
12878 (GRUB_PCI_REG_CAP_POINTER): Likewise.
12879 (GRUB_PCI_REG_IRQ_LINE): Likewise.
12880 (GRUB_PCI_REG_IRQ_PIN): Likewise.
12881 (GRUB_PCI_REG_MIN_GNT): Likewise.
12882 (GRUB_PCI_REG_MAX_LAT): Likewise.
12883 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
12884 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
12885 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 12886 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
12887 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
12888 space.
12889
96d73208
RM
128902010-01-20 Robert Millan <rmh.grub@aybabtu.com>
12891
12892 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
12893 can be reliably determined to be supported.
12894
d4484482
RM
128952010-01-20 Robert Millan <rmh.grub@aybabtu.com>
12896
12897 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
12898 that VESA is supported.
12899 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
12900 supported.
12901
00308ecf
VS
129022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12903
12904 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
12905
f66924a4
RM
129062010-01-20 Robert Millan <rmh.grub@aybabtu.com>
12907
12908 * util/misc.c (make_system_path_relative_to_its_root): Work around
12909 special-casing of "/", as previous incarnation of this routine did.
12910
cbca0ada
VS
129112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 Fix any-emu compilation.
12914
12915 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
12916 * grub_bin2h_SOURCES: New variable.
12917
34a66d99
RM
129182010-01-20 Robert Millan <rmh.grub@aybabtu.com>
12919
12920 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
12921
94fabf58
RM
129222010-01-20 Robert Millan <rmh.grub@aybabtu.com>
12923
12924 * util/grub.d/00_header.in: Fix handling of locale_dir.
12925
02cf98ca
VS
129262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12927
12928 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
12929 as possible unifont location (Gentoo).
12930 Reported by: Alexander Brüning
12931
327dbcd7
VS
129322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12933
12934 Don't try to generate lists for kernel.img.
12935
12936 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
12937 (pkglib_MODULES): Remove kernel.img.
12938 (kernel_img_EXPORTS): Removed.
12939 (kernel_img_RELOCATABLE): New variable.
12940 * conf/x86_64-efi.rmk: Likewise.
12941 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
12942
ca467290
VS
129432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12944
12945 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
12946 grub_xasprintf or grub_snprintf.
12947 (grub_vsprintf): Likewise.
12948 (grub_snprintf): New proto.
12949 (grub_vsnprintf): Likewise.
12950 (grub_xasprintf): Likewise.
12951 (grub_xvasprintf): Likewise.
12952 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
12953 (grub_sprintf): Removed.
12954 (grub_vsnprintf): New function.
12955 (grub_snprintf): Likewise.
12956 (grub_xvasprintf): Likewise.
12957 (grub_xasprintf): Likewise.
12958 (grub_vsprintf): Renamed to ...
12959 (grub_vsnprintf_real): ...this. New argument max_len.
12960
aca655fd
BC
129612010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
12962
12963 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
12964 fix grub-script-check warning.
12965
7ee92c32
VS
129662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12967
12968 * include/grub/font.h (grub_font_load): Fix prototype.
12969
f80927ca
VS
129702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12971
12972 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
12973
119c50ea
VS
129742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12975
12976 * include/grub/x86_64/at_keyboard.h: New file.
12977
47d5f3c1
VS
129782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12979
12980 * loader/mips/linux.c: Include missing grub/i18n.h.
12981
55ff5266
RM
129822009-12-20 Robert Millan <rmh.grub@aybabtu.com>
12983
12984 * normal/menu.c (notify_execution_failure): Clarify error message.
12985
c893cc87
RM
129862009-12-20 Robert Millan <rmh.grub@aybabtu.com>
12987
12988 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
12989 return value (and revert all return statements). Update users.
12990
917dd370
CW
129912010-01-20 Dan Merillat <debian@dan.merillat.org>
12992
12993 * kern/device.c (grub_device_iterate): Allocate new part_ent
12994 structure based on sizeof (*p) rather than sizeof (p->next), to
12995 account for structure padding.
12996
12997 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
12998 disk is NULL, which might happen for LVM physical volumes with no
12999 LVM signature.
13000
d4a4ee57
RM
130012009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13002
13003 * loader/mips/linux.c (grub_cmd_initrd)
13004 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
13005
130062009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13007
13008 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
13009 (grub_video_video_init, grub_video_bitmap_init)
13010 (grub_font_manager_init, grub_term_gfxterm_init)
13011 (grub_at_keyboard_init): New extern declarations.
13012 (grub_machine_init): Initialize gfxterm and at_keyboard.
13013
13014 * kern/main.c (grub_main): Revert grub_printf delay kludge.
13015
13016 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
13017 `gfxterm.mod' into core image.
13018
13019 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13020 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13021 (kernel_img_FORMAT): Copy to ...
13022
13023 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13024 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13025 (kernel_img_FORMAT): ... here, and ...
13026
13027 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13028 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13029 (kernel_img_FORMAT): ... here.
13030
13031 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
13032 and input (at_keyboard) terminals in kernel.
13033 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
13034
13035 (pkglib_MODULES): Remove `pci.mod'.
13036 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
13037 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
13038 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
13039 (at_keyboard_mod_LDFLAGS): Remove variables.
13040
130412010-01-11 Felix Zielcke <fzielcke@z-51.de>
13042
13043 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
13044
130452009-12-10 Robert Millan <rmh.grub@aybabtu.com>
13046
13047 * include/grub/mips/libgcc.h: Only export symbols for functions
13048 that libgcc provides.
13049
130502009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
13051
13052 MIPS support.
13053
13054 * bus/bonito.c: New file.
13055 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
13056 GRUB_PCI_NUM_DEVICES.
13057 * term/i386/pc/serial.c: Move to ...
13058 * term/serial.c: ... here. All users updated.
13059 * util/i386/pc/grub-mkimage.c: Move to ...
13060 * util/grub-mkrawimage.c: ... here. All users updated.
13061 * term/i386/pc/at_keyboard.c: Move to ...
13062 * term/at_keyboard.c: ... here. All users updated.
13063 * conf/mips-qemu-mips.rmk: New file.
13064 * conf/mips-yeeloong.rmk: Likewise.
13065 * conf/mips.rmk: Likewise.
13066 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
13067 mipsel-qemu-mips.
13068 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
13069 to port addresses.
13070 (grub_ata_pciinit): Support CS5536.
13071 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
13072 * font/font_cmd.c (loadfont_command): Open file before passing it to
13073 grub_font_load.
13074 (pseudo_file_read): New function.
13075 (pseudo_file_close): Likewise.
13076 (pseudo_fs): New structure.
13077 (load_font_module): New function.
13078 (GRUB_MOD_INIT(font_manager)): Load embedded font.
13079 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
13080 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
13081 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
13082 * include/grub/i386/at_keyboard.h: Split into ...
13083 * include/grub/at_keyboard.h: ... this ...
13084 * include/grub/i386/at_keyboard.h: ... and this.
13085 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
13086 New prototype.
13087 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
13088 updated.
13089 (grub_elf64_size): Likewise.
13090 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
13091 filename.
13092 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
13093 * include/grub/i386/coreboot/serial.h: Rewritten.
13094 * include/grub/i386/ieee1275/serial.h: Include
13095 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
13096 * include/grub/i386/pc/serial.h: Moved from here ...
13097 * include/grub/serial.h: ... to here. All users updated.
13098 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
13099 (GRUB_PCI_NUM_BUS): Likewise.
13100 (GRUB_PCI_NUM_DEVICES): Likewise.
13101 (grub_pci_device_map_range): Add missing volatile keyword.
13102 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
13103 * include/grub/mips/at_keyboard.h: New file.
13104 * include/grub/mips/cache.h: Likewise.
13105 * include/grub/mips/io.h: Likewise.
13106 * include/grub/mips/kernel.h: Likewise.
13107 * include/grub/mips/libgcc.h: Likewise.
13108 * include/grub/mips/pci.h: Likewise.
13109 * include/grub/mips/qemu-mips/boot.h: Likewise.
13110 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13111 * include/grub/mips/qemu-mips/loader.h: Likewise.
13112 * include/grub/mips/qemu-mips/memory.h: Likewise.
13113 * include/grub/mips/qemu-mips/serial.h: Likewise.
13114 * include/grub/mips/qemu-mips/time.h: Likewise.
13115 * include/grub/mips/relocator.h: Likewise.
13116 * include/grub/mips/time.h: Likewise.
13117 * include/grub/mips/types.h: Likewise.
13118 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
13119 * include/grub/mips/yeeloong/boot.h: Likewise.
13120 * include/grub/mips/yeeloong/kernel.h: Likewise.
13121 * include/grub/mips/yeeloong/loader.h: Likewise.
13122 * include/grub/mips/yeeloong/memory.h: Likewise.
13123 * include/grub/mips/yeeloong/pci.h: Likewise.
13124 * include/grub/mips/yeeloong/serial.h: Likewise.
13125 * include/grub/mips/yeeloong/time.h: Likewise.
13126 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
13127 * kern/elf.c (grub_elf32_size): New parameter. All users
13128 updated.
13129 (grub_elf64_size): Likewise.
13130 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
13131 Load modules before saying "Welcome to GRUB!".
13132 Call grub_refresh after saying "Welcome to GRUB!".
13133 * kern/mips/cache.S: New file.
13134 * kern/mips/cache_flush.S: Likewise.
13135 * kern/mips/dl.c: Likewise.
13136 * kern/mips/init.c: Likewise.
13137 * kern/mips/qemu-mips/init.c: Likewise.
13138 * kern/mips/startup.S: Likewise.
13139 * kern/mips/yeeloong/init.c: Likewise.
13140 * kern/term.c (grub_putcode): Handle NULL terminal.
13141 (grub_getcharwidth): Likewise.
13142 (grub_getkey): Likewise.
13143 (grub_checkkey): Likewise.
13144 (grub_getkeystatus): Likewise.
13145 (grub_getxy): Likewise.
13146 (grub_getwh): Likewise.
13147 (grub_gotoxy): Likewise.
13148 (grub_cls): Likewise.
13149 (grub_setcolorstate): Likewise.
13150 (grub_setcolor): Likewise.
13151 (grub_getcolor): Likewise.
13152 (grub_refresh): Likewise.
13153 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
13154 (write_jump): Add hatch nop.
13155 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
13156 * lib/mips/setjmp.S: New file.
13157 * loader/mips/linux.c: Likewise.
13158 * term/i386/pc/at_keyboard.c: Move from here ...
13159 * term/at_keyboard.c: ... to here.
13160 * term/i386/pc/serial.c: Moved from here ...
13161 * term/serial.c: ... to here. All users updated.
13162 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
13163 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
13164 (serial_translate_key_sequence): Avoid deadlock.
13165 (grub_serial_getkey): Handle backspace.
13166 (grub_serial_putchar): Fix newline handling.
13167 * util/i386/pc/grub-mkimage.c: Move from here ...
13168 * util/grub-mkrawimage.c: ... to here. All users updated.
13169 (generate_image): New parameters 'font_path' and 'format'.
13170 Support embedding font.
13171 Use grub_host_to_target* instead of grub_cpu_to_le*.
13172 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
13173 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
13174 (options): New option "--font".
13175 (usage): Likewise.
13176 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
13177 (main): Handle "--font".
13178 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
13179 (grub_virtual_screen_setup): Set bg_color_display.
13180 (redraw_screen_rect): Use bg_color_display instead of incorrect
13181 bg_color.
13182 (grub_gfxterm_cls): Likewise.
13183 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
13184 Support embedding config file.
13185 (add_segments): Likewise.
13186 (options): New option "--config".
13187 (main): Handle "--config".
13188 * video/sm712.c: New file.
13189
25c2b5b3
RM
131902010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13191
13192 Fix parallel builds.
13193
13194 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
13195 font.c depend on ascii.h).
13196
131972010-01-12 Carles Pina i Estany <carles@pina.cat>
13198
13199 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
13200
132012010-01-11 Carles Pina i Estany <carles@pina.cat>
13202
13203 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
13204 By default: disabled.
13205 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
13206 parameter.
13207
132082010-01-10 Carles Pina i Estany <carles@pina.cat>
13209
13210 * font/font.c: Update copyright years.
13211 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
13212
132132010-01-10 Carles Pina i Estany <carles@pina.cat>
13214
13215 * font/font.c: Include `ascii.h'.
13216 (ASCII_BITMAP_SIZE): New macro.
13217 (ascii_font_glyph): Define.
13218 (ascii_glyph_lookup): New function.
13219 (grub_font_get_string_width): Change comment. If glyph not found, use
13220 ascii_glyph_lookup.
13221 (grub_font_get_glyph_with_fallback): If glyph not available returns
13222 ascii_glyph_lookup.
13223 * util/grub-mkfont.c (file_formats): New enum.
13224 (options): Add `ascii-bitmaps' new option.
13225 (usage): Add `asii-bitmaps' new option.
13226 (write_font_ascii_bitmap): New function.
13227 (write_font): Rename to ...
13228 (write_font_p2): ... this. Remove print_glyphs call.
13229 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
13230 used. Call print_glyphs.
13231 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
13232
132332010-01-14 Robert Millan <rmh.grub@aybabtu.com>
13234
13235 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
13236 (grub_bin2h_SOURCES): New variable.
13237 * util/bin2h.c: New file.
13238
915fc1b8
VS
132392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13240
13241 * include/multiboot.h: Resynced with spec.
13242 * include/multiboot2.h: Likewise.
13243 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
13244 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
13245
9444b678
RM
132462010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13247
13248 * include/grub/term.h (grub_term_register_input,
13249 grub_term_register_output): Check return of terminal init()
13250 routines, and abort if errors are raised.
13251
13252 * commands/terminal.c: Update copyright year.
13253
cba98e8d
RM
132542010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13255
13256 * commands/terminal.c (grub_cmd_terminal_input)
13257 (grub_cmd_terminal_output): Check return of terminal init()
13258 routines, and abort if errors are raised.
13259
6f7db5d6
VS
132602010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13261
13262 * include/grub/i386/bsd.h: Fix include pathes.
13263
262bff8d
VS
132642010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13265
13266 Add missing *BSD copyright headers.
13267
13268 * include/grub/aout.h: Add BSD licence.
13269 * include/grub/i386/bsd.h: Parts under different licences moved to ...
13270 * include/grub/i386/freebsd_linker.h: ... here,
13271 * include/grub/i386/freebsd_reboot.h: ... here,
13272 * include/grub/i386/netbsd_bootinfo.h: ... here,
13273 * include/grub/i386/netbsd_reboot.h: ... here,
13274 * include/grub/i386/openbsd_bootarg.h: ... here,
13275 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
13276 licence to each file.
13277
b2cab848
RM
132782010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13279
13280 * acinclude.m4: Remove `nop' assembly instruction; it's not
13281 implemented by all architectures.
13282
2cb6be4b
RM
132832010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13284
13285 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
13286 ELILO. This is no longer necessary.
13287
a2eaee15
BC
132882010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
13289
13290 Added new tool, grub-scrit-check to verify grub.cfg syntax.
13291
13292 * util/grub-script-check.c: grub-script-check tool.
13293 * conf/common.rmk: Make rules for grub-script-check.
13294
88d17012
RM
132952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13296
13297 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
13298 spotting it back in 2008. Shame on me for forgetting he did.
13299
13300 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
13301
8040619d
RM
133022010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13303
13304 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
13305 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
13306 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
13307 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
13308 (GRUB_VIDEO_TYPE_EFI): Rename to ...
13309 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
13310
a0c2a0f6
RM
133112010-01-17 Robert Millan <rmh.grub@aybabtu.com>
13312
13313 * include/grub/test.h: Add license header.
13314 * tests/example_functional_test.c: Likewise.
13315 * tests/example_unit_test.c: Likewise.
13316 * tests/lib/functional_test.c: Likewise.
13317 * tests/lib/test.c: Likewise.
13318 * tests/lib/unit_test.c: Likewise.
13319
b0b13907
VS
133202010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 Use flag-based instead of hook-based video mode selection and "auto"
13323 keyword.
13324
13325 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
13326 (grub_video_set_mode): Changed prototype. All users updated.
13327 (grub_video_check_mode_flag): New inline function.
13328 * video/video.c (parse_modespec): New function.
13329 (grub_video_set_mode): Parse flags and keywords.
13330
ea379330 133312010-01-17 Carles Pina i Estany <carles@pina.cat>
13332
13333 * util/misc.c (grub_util_info): Fix the order of the parameters in a
13334 fprintf call.
13335
e15c215e
FZ
133362010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
13337
13338 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
13339
409ae1c9 133402010-01-16 Carles Pina i Estany <carles@pina.cat>
13341
13342 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
13343 string.
13344 * util/grub-emu.c (usage): Likewise.
13345 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
13346 * util/i386/efi/grub-mkimage.c (usage): Likewise.
13347 * util/i386/pc/grub-mkimage.c (usage): Likewise.
13348 * util/i386/pc/grub-setup.c (usage): Likewise.
13349
70a14d3d 133502010-01-16 Carles Pina i Estany <carles@pina.cat>
13351
13352 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
13353 the message.
13354 (grub_util_info): Likewise.
13355 (grub_util_error): Likewise.
13356 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
13357 and/or new lines in `grub_util_warna', `grub_util_info',
13358 `grub_util_error' calls.
13359 * util/getroot.c: Likewise.
13360 * util/grub-editenv.c: Likewise.
13361 * util/grub-emu.c: Likewise.
13362 * util/grub-fstest.c: Likewise.
13363 * util/grub-mkdevicemap.c: Likewise.
13364 * util/grub-mkfont.c: Likewise.
13365 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13366 * util/grub-mkrelpath.c: Likewise.
13367 * util/grub-pe2elf.c: Likewise.
13368 * util/grub-probe.c: Likewise.
13369 * util/hostdisk.c: Likewise.
13370 * util/i386/efi/grub-mkimage.c: Likewise.
13371 * util/i386/pc/grub-mkimage.c: Likewise.
13372 * util/i386/pc/grub-setup.c: Likewise.
13373 * util/ieee1275/ofpath.c: Likewise.
13374 * util/mkisofs/eltorito.c: Likewise.
13375 * util/mkisofs/rock.c: Likewise.
13376 * util/mkisofs/write.c: Likewise.
13377 * util/raid.c: Likewise.
13378 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
13379 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13380
a0b766fc
VS
133812010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13382
13383 Enable multiboot on non-pc.
13384
13385 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
13386 multiboot.mod and multiboot2.mod to ...
13387 * conf/i386.rmk (pkglib_MODULES): ... here.
13388 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
13389 Moved to ...
13390 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
13391 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
13392 Moved to ...
13393 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
13394 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
13395 Moved to ...
13396 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
13397 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
13398 Moved to ...
13399 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
13400 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
13401 relocator.mod.
13402 (ata_mod_SOURCES): Removed.
13403 (ata_mod_CFLAGS): Likewise.
13404 (ata_mod_LDFLAGS): Likewise.
13405 (relocator_mod_SOURCES): Removed.
13406 (relocator_mod_CFLAGS): Likewise.
13407 (relocator_mod_ASFLAGS): Likewise.
13408 (relocator_mod_LDFLAGS): Likewise.
13409 Include i386.mk.
13410 * include/grub/x86_64/multiboot.h: New file.
13411 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
13412 Terminate EFI.
13413
884ade56
VS
134142010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13415
13416 Video multiboot support.
13417
13418 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
13419 New prototype.
13420 * include/multiboot.h: Resynced with multiboot specification.
13421 * include/multiboot2.h: Likewise.
13422 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
13423 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
13424 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
13425 (HAS_VGA_TEXT): Likewise.
13426 (accepts_video): New variable.
13427 (grub_multiboot_set_accepts_video): New function.
13428 (grub_multiboot_get_mbi_size): Account for video structures.
13429 (set_video_mode): New function.
13430 (retrieve_video_parameters): Likewise.
13431 (grub_multiboot_make_mbi): Fill video fields.
13432
0d90e8a6
VS
134332010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13434
13435 Video driver ids.
13436
13437 * include/grub/video.h (grub_video_driver_id): New type.
13438 (grub_video_adapter): New member 'id'. All users updated.
13439 (grub_video_get_driver_id): New proto.
13440 * video/video.c (grub_video_get_driver_id): New function.
13441
5c71db1b 134422010-01-14 Carles Pina i Estany <carles@pina.cat>
13443
13444 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
13445 `var=val'.
13446
cca15b52 134472010-01-14 Carles Pina i Estany <carles@pina.cat>
13448
13449 * normal/cmdline.c (print_completion): Gettextizze.
13450
c586fbb2 134512001-01-14 Carles Pina i Estany <carles@pina.cat>
13452
13453 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
13454
ba2f6848 134552010-01-14 Carles Pina i Estany <carles@pina.cat>
13456
13457 * gettext/gettext.c (grub_gettext_translate): Push and pop
13458 grub_errno.
13459 (grub_gettext_delete_list): Change comment style.
13460 * kern/err.c (grub_error): Gettextizze.
13461 (grub_fatal): Gettextizze.
13462
0a46429a
RM
134632010-01-14 Robert Millan <rmh.grub@aybabtu.com>
13464
13465 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
13466 (grub_linux16_real_boot): ... this.
13467 * kern/i386/loader.S: Likewise.
13468 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
13469 (grub_linux16_boot): New function. Switches to text mode and calls
13470 grub_linux16_real_boot().
13471
13472 * loader/i386/bsd.c: Include `<grub/video.h>'.
13473 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
13474 text mode before calling grub_unix_real_boot().
13475
13476 * loader/i386/multiboot.c: Include `<grub/video.h>'.
13477 (grub_multiboot_boot): Switch to text mode before calling
13478 grub_relocator32_boot().
13479
13480 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
13481 (grub_chainloader_boot): Switch to text mode before calling
13482 grub_chainloader_real_boot().
13483
d6f93a66
RM
134842010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
134852010-01-05 Colin Watson <cjwatson@ubuntu.com>
13486
13487 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
13488 non-empty value.
13489
134902010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
134912010-01-05 Colin Watson <cjwatson@ubuntu.com>
13492
13493 * util/grub.d/00_header.in: Define a "savedefault" function for use
13494 in menu entries.
13495 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
13496
134972010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
134982010-01-05 Colin Watson <cjwatson@ubuntu.com>
13499
13500 * util/grub-mkconfig_lib.in (save_default_entry): Only set
13501 saved_entry if boot_once is unset.
13502 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
13503 previous saved entry (i.e. grub-reboot).
13504
135052009-12-08 Colin Watson <cjwatson@ubuntu.com>
13506
13507 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
13508
135092009-12-08 Colin Watson <cjwatson@ubuntu.com>
13510
13511 * util/grub.d/00_header.in: Use `set var=val' rather than plain
13512 `var=val'.
13513 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
13514
135152009-12-08 Colin Watson <cjwatson@ubuntu.com>
13516
13517 * util/grub-reboot.in: Fix --version output.
13518 * util/grub-set-default.in: Likewise.
13519
135202009-12-08 Colin Watson <cjwatson@ubuntu.com>
13521
13522 * util/grub.d/00_header.in: Silently ignore zero-sized environment
13523 blocks.
13524
135252009-12-08 Colin Watson <cjwatson@ubuntu.com>
13526
13527 * util/grub.d/00_header.in: Quote the value assigned to `default',
13528 in case it contains spaces.
13529
135302009-12-08 Colin Watson <cjwatson@ubuntu.com>
13531
13532 * util/grub.d/30_os-prober.in: Fix merge error that moved a
13533 `save_default_entry' call from the macosx case to the linux case.
13534
135352009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
135362009-10-25 Colin Watson <cjwatson@ubuntu.com>
13537
13538 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
13539 in `chosen' environment variable.
13540 * normal/menu_text.c (get_entry_number): Check if the variable
13541 matches the title of a menu entry.
13542 (run_menu): Pass menu to get_entry_number.
13543
13544 * util/grub-reboot.in: New file.
13545 * util/grub-set-default.in: New file.
13546 * conf/common.rmk (grub-reboot): New utility.
13547 (grub-set-default): New utility.
13548
13549 * util/grub-mkconfig_lib.in (save_default_entry): New function.
13550 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
13551 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
13552 move it to `saved_entry' for the next boot. Load environment on
13553 initialisation.
13554 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
13555 * util/grub.d/10_hurd.in: Likewise.
13556 * util/grub.d/10_linux.in (linux_entry): Likewise.
13557 * util/grub.d/10_windows.in: Likewise.
13558 * util/grub.d/30_os-prober.in: Likewise.
13559
13560 * util/grub-install.in: Create environment block.
13561 * util/i386/efi/grub-install.in: Likewise.
13562 * util/ieee1275/grub-install.in: Likewise.
13563 * util/sparc64/ieee1275/grub-install.in: Likewise.
13564
0934d184
BC
135652010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
13566
13567 Unit testing framework for GRUB.
13568
13569 * Makefile.in: Test framework build rules for 'make check'.
13570 * conf/tests.rmk: Build rules for individual tests and framework.
13571
13572 * include/grub/test.h: Header file for whitebox tests.
13573 * tests/lib/functional_test.c: Framework support for whitebox
13574 functional tests.
13575 * tests/lib/test.c: Common whitebox testing code for unit and
13576 functional tests.
13577 * tests/lib/unit_test.c: Framework support for whitebox unit
13578 tests.
13579
13580 * tests/util/grub-shell-tester.in: Support utility for grub-script
13581 tests.
13582 * tests/util/grub-shell.in: Utility to execute grub-script
13583 commands in a Qemu instance.
13584
13585 * tests/example_functional_test.c: Example whitebox functional
13586 test.
13587 * tests/example_grub_script_test.in: Example grub-script test.
13588 * tests/example_scripted_test.in: Example scripted test.
13589 * tests/example_unit_test.c: Example whitebox unit test.
13590
9c4ffeeb
VS
135912010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13592
13593 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
13594 Add loader/i386/multiboot_mbi.c.
13595 (multiboot2_mod_SOURCES): Likewise.
13596 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
13597 (multiboot2_mod_SOURCES): Likewise.
13598 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
13599 (grub_multiboot_make_mbi): Likewise.
13600 (grub_multiboot_free_mbi): Likewise.
13601 (grub_multiboot_init_mbi): Likewise.
13602 (grub_multiboot_add_module): Likewise.
13603 (grub_multiboot_set_bootdev): Likewise.
13604 * loader/i386/multiboot.c (mbi): Removed.
13605 (mbi_dest): Likewise.
13606 (alloc_mbi): New variable.
13607 (grub_multiboot_payload_size): Removed. All users updated.
13608 (grub_multiboot_pure_size): New variable.
13609 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
13610 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
13611 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
13612 (grub_fill_multiboot_mmap): Likewise.
13613 (grub_multiboot_get_bootdev): Likewise.
13614 (grub_multiboot): Use multiboot_mbi functions.
13615 * loader/i386/multiboot_mbi.c: New file.
13616
17383dfe
VS
136172010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13618
13619 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
13620 it would result in module crash.
13621
c1f28820
VS
136222010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
13625 (grub_ofconsole_getwh): Split to ...
13626 (grub_ofconsole_getwh): ... this.
13627 (grub_ofconsole_dimensions): ...and this.
13628 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
13629
58655a16
RM
136302010-01-13 Robert Millan <rmh.grub@aybabtu.com>
13631
13632 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
13633
10891398
VS
136342010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 * loader/i386/pc/multiboot2.c: Removed stalled file.
13637
0b8a223c
VS
136382010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13639
13640 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
13641 Reported by: Grégoire Sutre
13642
92ab12b0
RM
136432010-01-11 Robert Millan <rmh.grub@aybabtu.com>
13644
13645 * util/misc.c (canonicalize_file_name): New function.
13646 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
13647 instead of realpath().
13648
a788afb6
CW
136492010-01-11 Colin Watson <cjwatson@ubuntu.com>
13650
13651 * util/grub-install.in (usage): Clarify meaning of --root-directory,
13652 and make it clearer that it's optional. Based on confusion
13653 witnessed on IRC.
13654
ffa8e3d2
VS
136552010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13656
13657 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
13658 in premature implicit newline.
13659
e9060a9d
VS
136602010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13661
13662 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
13663 which resulted in garbled command line at the end of screen.
13664
f0d0c0b7
RM
136652010-01-10 Robert Millan <rmh.grub@aybabtu.com>
13666
13667 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
13668 initialization with similar approach as with other Linux loaders.
13669
0e60bae7
RM
136702010-01-10 Robert Millan <rmh.grub@aybabtu.com>
13671
13672 Fix i386-ieee1275 build.
13673
13674 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
13675 and grub_term_height() for video_{width,height} initialization.
13676
136772010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
13678
13679 Fix grub-emu build.
13680
13681 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
13682
cdb3f378
RM
136832010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
136842010-01-09 Robert Millan <rmh.grub@aybabtu.com>
13685
13686 Support for multiple terminals.
13687
13688 * Makefile.in (pkglib_DATA): terminal.lst.
13689 (terminal.lst): New target.
13690 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
13691 (GRUB_MOD_INIT(handler)): Likewise.
13692 (GRUB_MOD_FINI(handler)): Likewise.
13693 * commands/help.c (grub_cmd_help): Handle multiple terminals.
13694 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
13695 * commands/sleep.c (do_print): Use grub_term_restore_pos.
13696 (grub_cmd_sleep): Use grub_term_save_pos.
13697 * commands/terminal.c: New file.
13698 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
13699 commands/terminal.c and lib/charset.c.
13700 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
13701 (pkglib_MODULES): Add terminal.mod.
13702 (terminal_mod_SOURCES): New variable.
13703 (terminal_mod_CFLAGS): Likewise.
13704 (terminal_mod_LDFLAGS): Likewise.
13705 * genhandlerlist.sh: Don't handle terminals.
13706 * genmk.rb: Generate terminal-*.lst.
13707 * genterminallist.sh: New file.
13708 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
13709 (grub_is_valid_utf8): Likewise.
13710 (grub_utf8_to_ucs4_alloc): Likewise.
13711 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
13712 (grub_menu_register_viewer): Changed argument.
13713 (grub_menu_try_text): New proto.
13714 (grub_gfxmenu_try_hook): New declaration.
13715 * include/grub/normal.h (grub_normal_exit_level): New declaration.
13716 (grub_menu_init_page): Additional argument term.
13717 (grub_normal_init_page): Likewise.
13718 (grub_cmdline_get): Arguments simplified.
13719 (grub_utf8_to_ucs4_alloc): Removed.
13720 (grub_print_ucs4): Additional argument term.
13721 (grub_getstringwidth): Likewise.
13722 (grub_print_message_indented): Likewise.
13723 (grub_menu_text_register_instances): New proto.
13724 (grub_show_menu): Likewise.
13725 (read_terminal_list): Likewise.
13726 (grub_set_more): Likewise.
13727 * include/grub/parser.h: Include handler.h.
13728 * include/grub/reader.h: Rewritten.
13729 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
13730 (GRUB_TERM_WIDTH): Changed to function.
13731 (GRUB_TERM_HEIGHT): Likewise.
13732 (GRUB_TERM_BORDER_WIDTH): Likewise.
13733 (GRUB_TERM_BORDER_HEIGHT): Likewise.
13734 (GRUB_TERM_NUM_ENTRIES): Likewise.
13735 (GRUB_TERM_ENTRY_WIDTH): Likewise.
13736 (GRUB_TERM_CURSOR_X): Likewise.
13737 (grub_term_input_class): Likewise.
13738 (grub_term_output_class): Likewise.
13739 (grub_term_outputs_disabled): New declaration.
13740 (grub_term_inputs_disabled): Likewise.
13741 (grub_term_outputs): Likewise.
13742 (grub_term_inputs): Likewise.
13743 (grub_term_register_input): Rewritten.
13744 (grub_term_register_output): Likewise.
13745 (grub_term_unregister_input): Likewise.
13746 (grub_term_unregister_output): Likewise.
13747 (FOR_ACTIVE_TERM_INPUTS): New macro.
13748 (FOR_DISABLED_TERM_INPUTS): Likewise.
13749 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
13750 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
13751 * include/grub/terminfo.h: Add oterm argument to all protypes.
13752 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
13753 Use grub_rescue_run.
13754 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
13755 All users updated.
13756 * kern/reader.c: Removed. All users updated.
13757 * kern/rescue_reader.c (grub_rescue_init): Removed.
13758 (grub_rescue_reader): Likewise.
13759 (grub_register_rescue_reader): Likewise.
13760 (grub_rescue_run): New function based on kern/reader.c.
13761 * kern/term.c: Adapted for multiterm.
13762 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
13763 (grub_is_valid_utf8): Likewise.
13764 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
13765 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
13766 right terminal.
13767 * loader/i386/linux.c (grub_linux_boot): Likewise.
13768 * normal/auth.c (grub_username_get): New function.
13769 (grub_auth_check_authentication): Use grub_username_get.
13770 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
13771 * normal/color.c: Adapt for multiterm.
13772 * normal/main.c (read_config_file): Don't use grub_reader_loop.
13773 (grub_normal_init_page): Additional argument term.
13774 (read_lists): Call read_terminal_lists.
13775 (grub_enter_normal_mode): Call grub_cmdline_run.
13776 Handle grub_normal_exit_level.
13777 (grub_cmd_normal): Make reentrant.
13778 (grub_cmd_normal_exit): New function.
13779 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
13780 * normal/menu.c: Adapt for multiterm.
13781 * normal/menu_entry.c: Likewise.
13782 * normal/menu_text.c: Likewise.
13783 * normal/menu_viewer.c: Removed. All users updated.
13784 * normal/term.c: New file.
13785 * util/console.c: Change order of includes to workaround a bug in
13786 ncurses headers.
13787 * term/terminfo.c: New argument oterm on all exported functions.
13788 All users updated.
13789 * util/grub-editenv.c (grub_term_input_class): Removed.
13790 (grub_term_output_class): Likewise.
13791
1a064917
RM
137922010-01-09 Robert Millan <rmh.grub@aybabtu.com>
13793
13794 Make loader output a bit more user-friendly.
13795
13796 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
13797 is being loaded. Likewise for the Hurd.
13798
13799 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
13800 that kernel of FreeBSD ${version} is being loaded.
13801
13802 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
13803 grub_dprintf().
13804 (grub_cmd_initrd): Likewise.
13805 * util/grub.d/10_linux.in (linux_entry): Print message indicating
13806 that Linux ${version} is being loaded. Likewise for initrd.
13807
5ce0a83a 138082010-01-09 Carles Pina i Estany <carles@pina.cat>
13809
13810 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
13811
809bbfeb 138122010-01-08 Carles Pina i Estany <carles@pina.cat>
13813
13814 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
13815 (GRUB_MOD_INIT): Gettextizze.
13816 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
13817 (GRUB_MOD_INIT): Gettextizze.
13818 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
13819 (grub_cmd_linux): Capitalise Linux.
13820 (GRUB_MOD_INIT): Gettextizze.
13821 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
13822 (grub_cmd_linux): Capitalise Linux.
13823 (GRUB_MOD_INIT): Gettextizze.
13824 * loader/i386/linux.c: Include `<grub/i18n.h>'.
13825 (grub_cmd_linux): Capitalise Linux.
13826 (GRUB_MOD_INIT): Gettextizze.
13827 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
13828 (GRUB_MOD_INIT): Gettextizze.
13829 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
13830 (grub_cmd_linux): Capitalise Linux.
13831 (GRUB_MOD_INIT): Gettextizze.
13832 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
13833 (grub_cpu_xnu_init): Gettextizze.
13834 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
13835 (GRUB_MOD_INIT): Gettextizze.
13836 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
13837 (GRUB_MOD_INIT): Gettextizze.
13838 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
13839 (grub_linux_load64): Capitalise Linux.
13840 (GRUB_MOD_INIT): Gettextizze.
13841 * loader/xnu.c: Include `<grub/i18n.h>'.
13842 (GRUB_MOD_INIT): Gettextizze.
13843 * po/POTFILES: Add `loader/efi/appleloader.c',
13844 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
13845 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
13846 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
13847 `loader/i386/xnu.c', `loader/multiboot_loader.c',
13848 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
13849 and `loader/xnu.c'.
13850
b394b2ca
RM
138512010-01-08 Robert Millan <rmh.grub@aybabtu.com>
13852
13853 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
13854
138552010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
13856
13857 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
13858 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
13859 * util/mkisofs/mkisofs.c (main): Readjust --version output.
13860
bc8b32b3
RM
138612010-01-07 Robert Millan <rmh.grub@aybabtu.com>
13862
13863 Reset Multiboot 2 support. New loader implements the draft in
13864 /branches/multiboot2 and shares as much code as possible with the
13865 production Multiboot 1 implementation.
13866
13867 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
13868 * loader/multiboot2.c: Likewise.
13869 * loader/i386/multiboot_helper.S: Likewise.
13870 * include/multiboot2.h: Replace with latest version from the draft
13871 in /branches/multiboot2.
13872
13873 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
13874 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
13875 and `loader/multiboot2.c'.
13876 (pkglib_MODULES): Add `multiboot2.mod'.
13877 (multiboot2_mod_SOURCES): New variable.
13878 (multiboot2_mod_LDFLAGS): Likewise.
13879 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
13880
13881 * conf/i386-pc.rmk: Likewise.
13882
13883 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
13884 (multiboot_mod_SOURCES): Remove variable.
13885 (multiboot_mod_LDFLAGS): Likewise.
13886 (multiboot_mod_CFLAGS): Likewise.
13887
13888 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
13889 `<multiboot2.h>' instead of `<multiboot.h>'.
13890 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
13891 (MULTIBOOT_HEADER_MAGIC): New macros.
13892
13893 * loader/multiboot_loader.c (module_version_status): Remove variable.
13894 (find_multi_boot2_header): Remove function.
13895 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
13896 logic. Always check for the Multiboot version we're compiling for.
13897 (grub_cmd_module_loader): Likewise.
13898 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
13899 command instead of `multiboot'.
13900
5d2c52b8
RM
139012010-01-07 Robert Millan <rmh.grub@aybabtu.com>
13902
13903 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
13904 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
13905 all users.
13906
53108d92
RM
139072010-01-07 Robert Millan <rmh.grub@aybabtu.com>
139082010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13909
13910 Fix breakage introduced with previous commit.
13911
13912 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
13913 commands.
13914 * normal/handler.c (read_handler_list): Revert part of previous commit
13915 affecting this file.
13916 * normal/main.c (read_lists): Move read_handler_list() call back to ...
13917 (grub_normal_execute): ... here.
13918
e2e936b2
RM
139192010-01-07 Robert Millan <rmh.grub@aybabtu.com>
13920
13921 Merge prefix-redefinition-fix branch.
13922
13923 * normal/autofs.c (read_fs_list): Make function capable of being
13924 run multiple times, gracefuly replacing the previous data
13925 structures.
13926 * normal/dyncmd.c (read_command_list): Likewise.
13927 * normal/handler.c (read_handler_list): Likewise.
13928 * normal/main.c (read_lists): New function. Calls all the
13929 list reading functions.
13930 (grub_normal_execute): Use read_lists() instead of calling all
13931 list reading functions explicitly. Register read_lists() as a
13932 variable hook attached to ${prefix}.
13933
607a3701
VS
139342010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13935
13936 Merge crypto branch.
13937
13938 * Makefile.in (pkglib_DATA): Add crypto.lst.
13939 (crypto.lst): New target.
13940 * commands/hashsum.c: New file.
13941 * commands/password.c (check_password): Use grub_crypto_memcmp.
13942 * commands/password_pbkdf2.c: New file.
13943 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
13944 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
13945 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
13946 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
13947 -I$(srcdir)/lib/libgcrypt_wrap.
13948 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
13949 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
13950 password_pbkdf2.mod.
13951 (crypto_mod_SOURCES): New variable.
13952 (crypto_mod_CFLAGS): Likewise.
13953 (crypto_mod_LDFLAGS): Likewise.
13954 (hashsum_mod_SOURCES): New variable.
13955 (hashsum_mod_CFLAGS): Likewise.
13956 (hashsum_mod_LDFLAGS): Likewise.
13957 (pbkdf2_mod_SOURCES): New variable.
13958 (pbkdf2_mod_CFLAGS): Likewise.
13959 (pbkdf2_mod_LDFLAGS): Likewise.
13960 (password_pbkdf2_mod_SOURCES): New variable.
13961 (password_pbkdf2_mod_CFLAGS): Likewise.
13962 (password_pbkdf2_mod_LDFLAGS): Likewise.
13963 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
13964 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
13965 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
13966 Include conf/gcry.rmk.
13967 * include/grub/auth.h: Rewritten.
13968 * include/grub/crypto.h: New file.
13969 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
13970 * include/grub/normal.h (read_crypto_list): New prototype.
13971 * lib/crypto.c: New file.
13972 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
13973 * lib/pbkdf2.c: Likewise.
13974 * normal/auth.c (grub_auth_strcmp): Removed.
13975 (grub_iswordseparator): Likewise.
13976 (grub_auth_strword): Likewise.
13977 (is_authenticated): Use grub_strword.
13978 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
13979 and grub_strword. Pass entered password to authentication callback.
13980 * normal/crypto.c: New file.
13981 * normal/main.c: Call read_crypto_list.
13982 * util/grub-mkpasswd-pbkdf2.c: New file.
13983 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
13984
42841caa
VS
139852010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
13986
13987 Fix descent and ascent calculation.
13988
13989 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
13990 (options): New option "asce".
13991 (usage): Likewise.
13992 (add_char): Ignore invalid glyphs for descent calculation.
13993 Calculate ascent from actual content.
13994 (print_glyphs): Use 'asce'.
13995 (write_font): Likewise. Allow ascent override.
13996 (main): Handle "asce" option.
13997
e7730de7 139982010-01-06 Carles Pina i Estany <carles@pina.cat>
13999
14000 * kern/err.c: Include `<grub/i18n.h>'.
14001 (grub_print_error): Add full stop. Gettextizze.
14002 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
14003 (grub_bsd_load_elf): Capitalise ELF.
14004 (grub_cmd_freebsd_loadenv): Add `s' in error string.
14005 (grub_cmd_freebsd_module): Likewise.
14006 (grub_cmd_freebsd_module_elf): Likewise.
14007 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
14008
40e3a41f 140092010-01-06 Carles Pina i Estany <carles@pina.cat>
14010
14011 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
14012 * commands/search_file.c (HELP_MESSAGE): New macro.
14013 * commands/search_label.c (HELP_MESSAGE): Likewise.
14014 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
14015 * po/POTFILES: Add `commands/search_file.c',
14016 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
14017 `commands/search.c'.
14018
83507e68
RM
140192010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14020
14021 * config.rpath: Update from Gnulib.
14022
465c787b
YB
140232010-01-05 Yves Blusseau <blusseau@zetam.org>
14024
14025 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
14026
6581dd3a
YB
140272010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
14028
14029 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
14030
3bff18c5
CW
140312010-01-05 Colin Watson <cjwatson@ubuntu.com>
14032
14033 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
14034 arguments to fread so that we get a return value in bytes, rather
14035 than something that will normally be rounded down to 0.
14036 Adjust error handling to avoid producing garbage when size_t is not
14037 the same size as long long.
14038
a1368118
CW
140392010-01-05 Colin Watson <cjwatson@ubuntu.com>
14040
14041 * util/mkisofs/write.c (padblock_write): Check return value of
14042 fread.
14043
7c302978
RM
140442010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14045
14046 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
14047 floppy images now.
14048
14049 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
14050
e33ace06
RM
140512010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14052
14053 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
14054 instead of manual alignment.
14055 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
14056 verbose). Avoid attempts to read past end of the device
14057 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
14058 but GRUB_DISK_CACHE_SIZE may exceed that).
14059
4b856776
RM
140602010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14061
14062 * commands/crc.c (grub_cmd_crc): Abort on read errors.
14063 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
14064 it to upper layer.
14065
52c2d97f
VS
140662010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14067
14068 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
14069 New constant.
14070 (grub_efi_piwg_device_path): New structure
14071 (grub_efi_piwg_device_path_t): New type.
14072 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
14073 (devpath_1): Transform to a structure. All users updated.
14074 (devpath_2): Likewise.
14075 (devpath_3): Likewise.
14076 (devpath_4): Likewise.
14077 (devpath_5): Likewise.
14078
98ff6a54
VS
140792010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14080
14081 * loader/efi/appleloader.c: Restored. Update all users.
14082
3a73dcb6
RM
140832010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14084
14085 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
14086
14087 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
14088 (struct boot_blocklist): Move from here ...
14089 * include/grub/i386/pc/boot.h [ASM_FILE]
14090 (struct grub_boot_blocklist): ... to here. Update all users.
14091 (setup): Only initialize `start' member of `first_block'
14092 structure. Add assert() calls to verify the other members.
14093
14094 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
14095 (generate_image): Fix broken blocklist length initialization.
14096 Add assert() call to verify blocklist `segment' field.
14097
ab0eeb0c
RM
140982010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14099
14100 * loader/efi/appleloader.c: Remove. Update all users.
14101
58bc8bd5
RM
141022010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14103
14104 * boot/i386/pc/boot.S: Update copyright year.
14105 * boot/i386/pc/cdboot.S: Likewise.
14106 * boot/i386/pc/diskboot.S: Likewise.
14107 * boot/i386/pc/lnxboot.S: Likewise.
14108 * boot/i386/pc/pxeboot.S: Likewise.
14109 * bus/pci.c: Likewise.
14110 * commands/cmp.c: Likewise.
14111 * commands/help.c: Likewise.
14112 * commands/hexdump.c: Likewise.
14113 * commands/i386/pc/halt.c: Likewise.
14114 * commands/i386/pc/play.c: Likewise.
14115 * commands/i386/pc/vbeinfo.c: Likewise.
14116 * commands/ls.c: Likewise.
14117 * commands/test.c: Likewise.
14118 * disk/dmraid_nvidia.c: Likewise.
14119 * disk/i386/pc/biosdisk.c: Likewise.
14120 * disk/ieee1275/nand.c: Likewise.
14121 * disk/ieee1275/ofdisk.c: Likewise.
14122 * disk/lvm.c: Likewise.
14123 * disk/raid.c: Likewise.
14124 * disk/raid6_recover.c: Likewise.
14125 * disk/scsi.c: Likewise.
14126 * fs/affs.c: Likewise.
14127 * fs/cpio.c: Likewise.
14128 * fs/ext2.c: Likewise.
14129 * fs/hfs.c: Likewise.
14130 * fs/iso9660.c: Likewise.
14131 * fs/ntfs.c: Likewise.
14132 * fs/sfs.c: Likewise.
14133 * fs/udf.c: Likewise.
14134 * fs/ufs.c: Likewise.
14135 * fs/xfs.c: Likewise.
14136 * gencmdlist.sh: Likewise.
14137 * genmk.rb: Likewise.
14138 * include/grub/disk.h: Likewise.
14139 * include/grub/efi/api.h: Likewise.
14140 * include/grub/efi/efi.h: Likewise.
14141 * include/grub/efi/pe32.h: Likewise.
14142 * include/grub/elf.h: Likewise.
14143 * include/grub/fs.h: Likewise.
14144 * include/grub/i386/at_keyboard.h: Likewise.
14145 * include/grub/i386/pc/memory.h: Likewise.
14146 * include/grub/i386/pc/vbe.h: Likewise.
14147 * include/grub/i386/pci.h: Likewise.
14148 * include/grub/i386/tsc.h: Likewise.
14149 * include/grub/ieee1275/ieee1275.h: Likewise.
14150 * include/grub/ntfs.h: Likewise.
14151 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
14152 * include/grub/sparc64/libgcc.h: Likewise.
14153 * include/grub/symbol.h: Likewise.
14154 * include/grub/types.h: Likewise.
14155 * include/multiboot2.h: Likewise.
14156 * io/gzio.c: Likewise.
14157 * kern/device.c: Likewise.
14158 * kern/disk.c: Likewise.
14159 * kern/efi/efi.c: Likewise.
14160 * kern/efi/mm.c: Likewise.
14161 * kern/elf.c: Likewise.
14162 * kern/file.c: Likewise.
14163 * kern/i386/dl.c: Likewise.
14164 * kern/i386/pc/init.c: Likewise.
14165 * kern/i386/pc/startup.S: Likewise.
14166 * kern/ieee1275/ieee1275.c: Likewise.
14167 * kern/ieee1275/init.c: Likewise.
14168 * kern/main.c: Likewise.
14169 * kern/mm.c: Likewise.
14170 * kern/powerpc/dl.c: Likewise.
14171 * kern/sparc64/dl.c: Likewise.
14172 * kern/x86_64/dl.c: Likewise.
14173 * lib/hexdump.c: Likewise.
14174 * loader/efi/appleloader.c: Likewise.
14175 * loader/i386/ieee1275/linux.c: Likewise.
14176 * loader/i386/pc/chainloader.c: Likewise.
14177 * loader/i386/pc/linux.c: Likewise.
14178 * loader/i386/pc/multiboot2.c: Likewise.
14179 * loader/ieee1275/multiboot2.c: Likewise.
14180 * loader/multiboot2.c: Likewise.
14181 * loader/multiboot_loader.c: Likewise.
14182 * loader/powerpc/ieee1275/linux.c: Likewise.
14183 * normal/completion.c: Likewise.
14184 * normal/menu_entry.c: Likewise.
14185 * partmap/apple.c: Likewise.
14186 * util/grub.d/10_hurd.in: Likewise.
14187 * util/hostfs.c: Likewise.
14188 * video/readers/png.c: Likewise.
14189
e2d70b5c
CW
141902010-01-03 Colin Watson <cjwatson@ubuntu.com>
14191
14192 * include/grub/misc.h (GNUC_PREREQ): New macro.
14193 (ATTRIBUTE_ERROR): New macro.
14194 * include/grub/list.h (grub_bad_type_cast_real): Use
14195 ATTRIBUTE_ERROR.
14196
a173283f 141972010-01-03 Carles Pina i Estany <carles@pina.cat>
14198
14199 * normal/menu_text.c (print_message): Change messages.
14200
7fa7ff74 142012010-01-03 Carles Pina i Estany <carles@pina.cat>
14202
14203 * normal/menu_entry.c (store_completion): Gettextizze.
14204
136d24f6 142052010-01-03 Carles Pina i Estany <carles@pina.cat>
14206
14207 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
14208
f936862e 142092010-01-03 Carles Pina i Estany <carles@pina.cat>
14210
14211 * po/POTFILES: Sort correctly.
14212
29c44ad1 142132010-01-03 Carles Pina i Estany <carles@pina.cat>
14214
14215 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
14216 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
14217 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
14218 full stop.
14219 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
14220 summary. Gettextizze the strings.
14221 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
14222 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
14223 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
14224 full stop.
14225 (GRUB_MOD_INIT): Remove command name from summary.
14226 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
14227 summary.
14228 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
14229 * term/i386/pc/serial.c (options): Add full stops.
14230 (GRUB_MOD_INIT): Remove command name from the summary.
14231
77a79592 142322010-01-03 Carles Pina i Estany <carles@pina.cat>
14233
14234 * commands/acpi.c: Gettextizze help strings and/or options. Include
14235 `grub/i18n.h' if needed.
14236 * commands/blocklist.c: Likewise.
14237 * commands/boot.c: Likewise.
14238 * commands/cat.c: Likewise.
14239 * commands/cmp.c: Likewise.
14240 * commands/configfile.c: Likewise.
14241 * commands/crc.c: Likewise.
14242 * commands/date.c: Likewise.
14243 * commands/echo.c: Likewise.
14244 * commands/efi/fixvideo.c: Likewise.
14245 * commands/efi/loadbios.c: Likewise.
14246 * commands/gptsync.c: Likewise.
14247 * commands/halt.c: Likewise.
14248 * commands/handler.c: Likewise.
14249 * commands/hdparm.c: Likewise.
14250 * commands/hexdump.c: Likewise.
14251 * commands/i386/cpuid.c: Likewise.
14252 * commands/i386/pc/drivemap.c: Likewise.
14253 * commands/i386/pc/halt.c: Likewise.
14254 * commands/i386/pc/pxecmd.c: Likewise.
14255 * commands/i386/pc/vbeinfo.c: Likewise.
14256 * commands/i386/pc/vbetest.c: Likewise.
14257 * commands/ieee1275/suspend.c: Likewise.
14258 * commands/keystatus.c: Likewise.
14259 * commands/loadenv.c: Likewise.
14260 * commands/ls.c: Likewise.
14261 * commands/lsmmap.c: Likewise.
14262 * commands/lspci.c: Likewise.
14263 * commands/memrw.c: Likewise.
14264 * commands/minicmd.c: Likewise.
14265 * commands/parttool.c: Likewise.
14266 * commands/password.c: Likewise.
14267 * commands/probe.c: Likewise.
14268 * commands/read.c: Likewise.
14269 * commands/reboot.c: Likewise.
14270 * commands/search.c: Likewise.
14271 * commands/sleep.c: Likewise.
14272 * commands/test.c: Likewise.
14273 * commands/true.c: Likewise.
14274 * commands/usbtest.c: Likewise.
14275 * commands/videotest.c: Likewise.
14276 * commands/xnu_uuid.c: Likewise.
14277 * disk/loopback.c: Likewise.
14278 * hello/hello.c: Likewise.
14279 * loader/i386/bsd.c: Likewise.
14280 * term/i386/pc/serial.c: Likewise.
14281 * po/POTFILES: Add new files.
14282
da8d5c53
CW
142832010-01-02 Colin Watson <cjwatson@ubuntu.com>
14284
14285 * term/i386/pc/at_keyboard.c
14286 (keyboard_controller_wait_untill_ready): Rename to ...
14287 (keyboard_controller_wait_until_ready): ... this. Update all users.
14288
33937904 142892010-01-01 Carles Pina i Estany <carles@pina.cat>
14290
14291 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
14292 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
14293 string using string width.
14294 * normal/menu_text.c (grub_print_message_indented): Use
14295 grub_print_spaces and not print_spaces.
14296 (print_timeout): Likewise.
14297 (print_spaces): Move to...
14298 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
14299
3fd3b8d8
RM
143002010-01-01 Robert Millan <rmh.grub@aybabtu.com>
14301
14302 Import from Gnulib.
14303
14304 * gnulib/getdelim.c: New file.
14305 * gnulib/getline.c: Likewise.
14306
33433555
VS
143072009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
14308
14309 * include/grub/list.h (grub_assert_fail): Removed.
14310 (grub_bad_type_cast_real): New function.
14311 (grub_bad_type_cast): New macro.
14312 (GRUB_AS_LIST): Use grub_bad_type_cast.
14313 (GRUB_AS_LIST_P): Likewise.
e44721e8 14314 (GRUB_AS_NAMED_LIST): Likewise.
33433555 14315 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 14316 (GRUB_AS_PRIO_LIST): Likewise.
33433555 14317 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 14318 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 14319
f5a51306
VS
143202009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
14321
14322 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
14323 Fix syntax error.
14324
90d1e879
RM
143252009-12-29 Robert Millan <rmh.grub@aybabtu.com>
14326
14327 * configure.ac: Check for TARGET_CFLAGS initialization before we
14328 initialize it ourselves (sigh).
14329 Move a few modifications to TARGET_CFLAGS to be unconditional
14330 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
14331 eh_frame)
14332
14333 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
14334 * term/i386/pc/at_keyboard.c
14335 (keyboard_controller_wait_untill_ready): Likewise.
14336 (keyboard_controller_led): Rename `led_status' paramter to avoid
14337 name conflict.
14338
465b5a81 143392009-12-28 Carles Pina i Estany <carles@pina.cat>
14340
14341 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
14342 quotes.
14343
c181849b
VS
143442009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14345
14346 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
14347
9c8739a4
VS
143482009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14349
14350 * normal/menu_text.c (grub_print_message_indented): Prevent
14351 past-the-end-of-array dereference.
14352
3e74249c
VS
143532009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14354
14355 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
14356 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
14357
64fd18ed 143582009-12-27 Carles Pina i Estany <carles@pina.cat>
14359
14360 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
14361 * normal/main.c (grub_normal_read_line): Remove a space from the
14362 default prompt.
14363
714af9b9 143642009-12-27 Carles Pina i Estany <carles@pina.cat>
14365
14366 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
14367 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14368 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
14369 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
14370 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14371 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14372 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14373
82f3e412 143742009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 14375
14376 * video/readers/jpeg.c (cmd): Declare.
14377 (grub_cmd_jpegtest): Use `grub_command_t' type.
14378 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14379 Assign to `cmd'.
14380 (GRUB_MOD_FINI): Use `cmd' to unregister.
14381 * video/readers/png.c (cmd): Declare.
14382 (grub_cmd_pngtest): Use `grub_command_t' type.
14383 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14384 Assign to `cmd'.
14385 (GRUB_MOD_FINI): Use `cmd' to unregister.
14386 * video/readers/tga.c (cmd): Declare.
14387 (grub_cmd_tgatest): Use `grub_command_t' type.
14388 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14389 Assign to `cmd'.
14390 (GRUB_MOD_FINI): Use `cmd' to unregister.
14391
82f3e412 143922009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 14393
14394 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
14395 stops.
14396 * kern/corecmd.c (grub_register_core_commands): Likewise.
14397 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
14398 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
14399 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
14400 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14401 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
14402 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
14403 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
14404 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
14405 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14406 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14407 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14408 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14409 * normal/handler.c (insert_handler): Likewise.
14410 * normal/main.c (GRUB_MOD_INIT): Likewise.
14411 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14412
fdcdbb66 144132009-12-26 Carles Pina i Estany <carles@pina.cat>
14414
14415 * commands/help.c (grub_cmd_help): Print the command name before the
14416 summary.
14417 (GRUB_MOD_INIT): Remove command name from the summary.
14418 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 14419 string as summary.
fdcdbb66 14420 * lib/arg.c (find_long): Print the command name before the summary.
14421 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
14422 summary.
14423 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
14424 * commands/cat.c (GRUB_MOD_INIT): Likewise.
14425 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
14426 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
14427 * commands/crc.c (GRUB_MOD_INIT): Likewise.
14428 * commands/date.c (GRUB_MOD_INIT): Likewise.
14429 * commands/echo.c (GRUB_MOD_INIT): Likewise.
14430 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
14431 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
14432 * commands/handler.c (GRUB_MOD_INIT): Likewise.
14433 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
14434 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
14435 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
14436 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
14437 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
14438 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
14439 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
14440 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
14441 * commands/ls.c (GRUB_MOD_INIT): Likewise.
14442 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
14443 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
14444 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
14445 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
14446 * commands/password.c (GRUB_MOD_INIT): Likewise.
14447 * commands/probe.c (GRUB_MOD_INIT): Likewise.
14448 * commands/read.c (GRUB_MOD_INIT): Likewise.
14449 * commands/search.c (GRUB_MOD_INIT): Likewise.
14450 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
14451 * commands/test.c (GRUB_MOD_INIT): Likewise.
14452 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
14453 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14454 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14455 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
14456 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14457 * lib/arg.c (GRUB_MOD_INIT): Likewise.
14458 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
14459 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
14460 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14461 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14462 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14463 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
14464 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
14465 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
14466
9c288be2
VS
144672009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14468
14469 Use search command for preliminar UUID search.
14470
14471 * commands/search.c: Split into ...
14472 * commands/search_wrap.c: ...this
14473 * commands/search.c: ...and this.
14474 * commands/search_file.c: New file.
14475 * commands/search_label.c: New file.
14476 * commands/search_uuid.c: New file.
14477 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
14478 Add commands/search_wrap.c, commands/search_file.c,
14479 commands/search_label.c and commands/search_uuid.c.
14480 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
14481 (search_mod_SOURCES): Set to commands/search_wrap.c.
14482 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
14483 search_label.mod.
14484 (search_fs_file_mod_SOURCES): New variable.
14485 (search_fs_file_mod_CFLAGS): Likewise.
14486 (search_fs_file_mod_LDFLAGS): Likewise.
14487 (search_label_mod_SOURCES): Likewise.
14488 (search_label_mod_CFLAGS): Likewise.
14489 (search_label_mod_LDFLAGS): Likewise.
14490 (search_fs_uuid_mod_SOURCES): New variable.
14491 (search_fs_uuid_mod_CFLAGS): Likewise.
14492 (search_fs_uuid_mod_LDFLAGS): Likewise.
14493 (fs_file_mod_SOURCES): Removed.
14494 (fs_file_mod_CFLAGS): Likewise.
14495 (fs_file_mod_LDFLAGS): Likewise.
14496 (fs_uuid_mod_SOURCES): Removed.
14497 (fs_uuid_mod_CFLAGS): Likewise.
14498 (fs_uuid_mod_LDFLAGS): Likewise.
14499 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
14500 Set to util/grub-install.in.
14501 * disk/fs_file.c: Removed.
14502 * disk/fs_uuid.c: Likewise.
14503 * include/grub/search.h: New file.
14504 * util/grub-install.in: Handle sparc64.
14505 Create and use load.cfg.
14506 * util/sparc64/ieee1275/grub-install.in: Removed.
14507
db943399
VS
145082009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
14511 Ignore return status if CF is cleared.
14512 (grub_biosdisk_get_diskinfo_standard): Likewise.
14513
3fdae612
RM
145142009-12-25 Robert Millan <rmh.grub@aybabtu.com>
14515
14516 * term/i386/pc/at_keyboard.c
14517 (keyboard_controller_wait_untill_ready): New function.
14518 (grub_keyboard_controller_write, grub_keyboard_controller_read)
14519 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
14520 for keyboard polling, rather than duplicate the same loop. This
14521 saves a few bytes in code size.
14522
7ebaa2b4
VS
145232009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14524
14525 Support for (pxe[:server[:gateway]]) syntax and
14526 use environment variable for PXE.
14527
14528 * commands/i386/pc/pxecmd.c (options): Removed.
14529 (print_ip): Removed.
14530 (grub_cmd_pxe): Removed
14531 (grub_cmd_pxe_unload): New function.
14532 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
14533 (grub_pxe_your_ip): Made static.
14534 (grub_pxe_default_server_ip): Likewise.
14535 (grub_pxe_default_gateway_ip): Likewise.
14536 (grub_pxe_blksize): Likewise.
14537 (parse_ip): New function.
14538 (grub_pxe_open): Support server and gateway specification.
14539 (grub_pxe_close): Free disk->data.
14540 (grub_pxefs_open): Use disk->data.
14541 (grub_pxefs_read): Likewise.
14542 (grub_env_write_readonly): New function.
14543 (set_mac_env): Likewise.
14544 (set_env_limn_ro): Likewise.
14545 (parse_dhcp_vendor): Likewise.
14546 (grub_pxe_detect): Set the environment variables.
14547 (set_ip_env): New function.
14548 (write_ip_env): Likewise.
14549 (grub_env_write_pxe_default_server): Likewise.
14550 (grub_env_write_pxe_default_gateway): Likewise.
14551 (grub_env_write_pxe_blocksize): Likewise.
14552 (GRUB_MOD_INIT(pxe)): Set environment variables.
14553 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
14554 (grub_pxe_mac_addr_t): ... this. All users updated.
14555 (grub_pxe_your_ip): Removed.
14556 (grub_pxe_server_ip): Likewise.
14557 (grub_pxe_gateway_ip): Likewise.
14558 (grub_pxe_blksize): Likewise.
14559
ec5f98ab 145602009-12-25 Carles Pina i Estany <carles@pina.cat>
14561
14562 * commands/help.c: Include `<grub/i18n.h>'.
14563 (grub_cmd_help): Gettextizze.
14564 (GRUB_MOD_INIT): Likewise.
14565 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
14566 (GRUB_MOD_INIT): Gettextizze.
14567 * commands/search.c: Include `<grub/i18n.h>'.
14568 (options): Gettextizze.
14569 (GRUB_MOD_INIT): Gettextizze.
14570 * lib/arg.c: Include `<grub/i18n.h>'.
14571 (help_options): Gettextizze.
14572 (find_long): Likewise.
14573 (grub_arg_show_help): Likewise.
14574 * normal/dyncmd.c: Include `<grub/i18n.h>'.
14575 (read_command_list): Gettextizze.
14576 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 14577 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 14578
22815526
RM
145792009-12-25 Robert Millan <rmh.grub@aybabtu.com>
14580
14581 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
14582 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
14583 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
14584 (led_status): New variable.
14585 (keyboard_controller_led): New function.
14586 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
14587 update led status for caps lock, num lock and scroll lock.
14588
0ad46fd7
FZ
145892009-12-25 Felix Zielcke <fzielcke@z-51.de>
14590
14591 * util/hostdisk.c (open_device): Fix a comment.
14592
d0e158c2
RM
145932009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14594
14595 * util/grub-install.in (host_os): New variable.
14596 * util/i386/efi/grub-install.in (host_os): Likewise.
14597
401c0ad6
RM
145982009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14599
14600 * util/mkisofs/write.c (padblock_write): Abort when given an
14601 excedingly large embed image, instead of silently truncating it.
14602
d14d3370
RM
146032009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14604
14605 * include/multiboot.h: Indentation fixes.
14606
eeed10b4
RM
146072009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14608
14609 * include/multiboot.h (struct multiboot_aout_symbol_table)
14610 (struct multiboot_elf_section_header_table): New structure
14611 declarations (stolen from GRUB Legacy).
14612 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
14613 table information.
14614
14615 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
14616 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
14617 type aliases.
14618
681c70ab
RM
146192009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14620
14621 * include/multiboot.h: Make comments src2texi-friendly.
14622
e4d47d8d
RM
146232009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14624
14625 For consistency with [multiboot]/docs/boot.S.
14626
14627 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
14628 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
14629 (MULTIBOOT_MAGIC2): Rename from this ...
14630 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
14631
a0b70bda
RM
146322009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14633
14634 * include/multiboot.h: Remove `<grub/types.h>'.
14635 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
14636 types. Update all users.
14637
61ba42be 146382009-12-25 Carles Pina i Estany <carles@pina.cat>
14639
14640 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
14641 `couldn't' and `can not' by `cannot'.
14642 * commands/i386/pc/drivemap.c: Likewise.
14643 * disk/ata.c: Likewise.
14644 * disk/ieee1275/nand.c: Likewise.
14645 * fs/affs.c: Likewise.
14646 * fs/fat.c: Likewise.
14647 * fs/hfs.c: Likewise.
14648 * fs/hfsplus.c: Likewise.
14649 * fs/iso9660.c: Likewise.
14650 * fs/jfs.c: Likewise.
14651 * fs/minix.c: Likewise.
14652 * fs/reiserfs.c: Likewise.
14653 * fs/sfs.c: Likewise.
14654 * fs/udf.c: Likewise.
14655 * fs/ufs.c: Likewise.
14656 * fs/xfs.c: Likewise.
14657 * loader/powerpc/ieee1275/linux.c: Likewise.
14658 * loader/sparc64/ieee1275/linux.c: Likewise.
14659 * util/grub-probe.c: Likewise.
14660 * util/misc.c: Likewise.
14661
7fd0baee 146622009-12-24 Carles Pina i Estany <carles@pina.cat>
14663
14664 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
14665 grub_errno calls.
14666 * commands/acpi.c: Likewise.
14667 * commands/blocklist.c: Likewise.
14668 * commands/efi/loadbios.c: Likewise.
14669 * commands/i386/pc/drivemap.c: Likewise.
14670 * commands/loadenv.c: Likewise.
14671 * commands/memrw.c: Likewise.
14672 * commands/password.c: Likewise.
14673 * commands/videotest.c: Likewise.
14674 * disk/ata.c: Likewise.
14675 * disk/ata_pthru.c: Likewise.
14676 * disk/dmraid_nvidia.c: Likewise.
14677 * disk/ieee1275/nand.c: Likewise.
14678 * disk/ieee1275/ofdisk.c: Likewise.
14679 * disk/loopback.c: Likewise.
14680 * disk/lvm.c: Likewise.
14681 * disk/mdraid_linux.c: Likewise.
14682 * disk/raid.c: Likewise.
14683 * disk/raid6_recover.c: Likewise.
14684 * disk/scsi.c: Likewise.
14685 * efiemu/main.c: Likewise.
14686 * efiemu/mm.c: Likewise.
14687 * efiemu/pnvram.c: Likewise.
14688 * efiemu/symbols.c: Likewise.
14689 * font/font.c: Likewise.
14690 * fs/cpio.c: Likewise.
14691 * fs/hfsplus.c: Likewise.
14692 * fs/iso9660.c: Likewise.
14693 * fs/jfs.c: Likewise.
14694 * fs/minix.c: Likewise.
14695 * fs/ntfs.c: Likewise.
14696 * fs/ntfscomp.c: Likewise.
14697 * fs/reiserfs.c: Likewise.
14698 * fs/ufs.c: Likewise.
14699 * fs/xfs.c: Likewise.
14700 * gettext/gettext.c: Likewise.
14701 * include/grub/auth.h: Likewise.
14702 * kern/elf.c: Likewise.
14703 * kern/file.c: Likewise.
14704 * kern/ieee1275/init.c: Likewise.
14705 * kern/ieee1275/mmap.c: Likewise.
14706 * kern/ieee1275/openfw.c: Likewise.
14707 * kern/powerpc/dl.c: Likewise.
14708 * kern/sparc64/dl.c: Likewise.
14709 * lib/arg.c: Likewise.
14710 * loader/i386/bsd.c: Likewise.
14711 * loader/i386/bsdXX.c: Likewise.
14712 * loader/i386/efi/linux.c: Likewise.
14713 * loader/i386/efi/xnu.c: Likewise.
14714 * loader/i386/ieee1275/linux.c: Likewise.
14715 * loader/i386/linux.c: Likewise.
14716 * loader/i386/multiboot.c: Likewise.
14717 * loader/i386/pc/linux.c: Likewise.
14718 * loader/i386/pc/multiboot2.c: Likewise.
14719 * loader/i386/xnu.c: Likewise.
14720 * loader/ieee1275/multiboot2.c: Likewise.
14721 * loader/macho.c: Likewise.
14722 * loader/machoXX.c: Likewise.
14723 * loader/multiboot2.c: Likewise.
14724 * loader/multiboot_loader.c: Likewise.
14725 * loader/powerpc/ieee1275/linux.c: Likewise.
14726 * loader/sparc64/ieee1275/linux.c: Likewise.
14727 * loader/xnu.c: Likewise.
14728 * loader/xnu_resume.c: Likewise.
14729 * mmap/i386/pc/mmap.c: Likewise.
14730 * normal/menu_viewer.c: Likewise.
14731 * partmap/acorn.c: Likewise.
14732 * partmap/amiga.c: Likewise.
14733 * partmap/apple.c: Likewise.
14734 * script/lexer.c: Likewise.
14735 * term/gfxterm.c: Likewise.
14736 * term/i386/pc/serial.c: Likewise.
14737 * term/i386/pc/vga.c: Likewise.
14738 * term/ieee1275/ofconsole.c: Likewise.
14739 * term/terminfo.c: Likewise.
14740 * video/bitmap.c: Likewise.
14741 * video/efi_gop.c: Likewise.
14742 * video/efi_uga.c: Likewise.
14743 * video/fb/video_fb.c: Likewise.
14744 * video/i386/pc/vbe.c: Likewise.
14745 * video/readers/tga.c: Likewise.
14746 * video/video.c: Likewise.
14747
0ad46fd7 147482009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
14749
14750 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
14751 * commands/lspci.c: Likewise.
14752 * commands/probe.c: Likewise.
14753 * commands/xnu_uuid.c: Likewise.
14754 * conf/i386-coreboot.rmk: Likewise.
14755 * conf/i386-efi.rmk: Likewise.
14756 * conf/i386-ieee1275.rmk: Likewise.
14757 * conf/i386-pc.rmk: Likewise.
14758 * conf/powerpc-ieee1275.rmk: Likewise.
14759 * conf/sparc64-ieee1275.rmk: Likewise.
14760 * conf/x86_64-efi.rmk: Likewise.
14761 * fs/i386/pc/pxe.c: Likewise.
14762 * gettext/gettext.c: Likewise.
14763 * include/grub/efi/graphics_output.h: Likewise.
14764 * include/grub/i386/pc/memory.h: Likewise.
14765 * kern/env.c: Likewise.
14766 * kern/i386/qemu/startup.S: Likewise.
14767 * lib/i386/pc/biosnum.c: Likewise.
14768 * lib/i386/relocator.c: Likewise.
14769 * lib/i386/relocator_asm.S: Likewise.
14770 * lib/relocator.c: Likewise.
14771 * loader/i386/bsd.c: Likewise.
14772 * loader/i386/multiboot.c: Likewise.
14773 * loader/i386/pc/chainloader.c: Likewise.
14774 * loader/i386/xnu.c: Likewise.
14775 * loader/xnu.c: Likewise.
14776 * normal/main.c: Likewise.
14777 * normal/menu_text.c: Likewise.
14778 * util/getroot.c: Likewise.
14779 * util/grub-mkconfig_lib.in: Likewise.
14780 * util/grub.d/00_header.in: Likewise.
14781 * util/i386/pc/grub-mkimage.c: Likewise.
14782 * util/mkisofs/eltorito.c: Likewise.
14783 * util/mkisofs/exclude.h: Likewise.
14784 * util/mkisofs/hash.c: Likewise.
14785 * util/mkisofs/iso9660.h: Likewise.
14786 * util/mkisofs/joliet.c: Likewise.
14787 * util/mkisofs/mkisofs.c: Likewise.
14788 * util/mkisofs/mkisofs.h: Likewise.
14789 * util/mkisofs/multi.c: Likewise.
14790 * util/mkisofs/name.c: Likewise.
14791 * util/mkisofs/rock.c: Likewise.
14792 * util/mkisofs/tree.c: Likewise.
14793 * util/mkisofs/write.c: Likewise.
14794 * video/efi_gop.c: Likewise.
14795
009ec743
VS
147962009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14797
14798 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
14799 size counting.
14800
0ad46fd7 148012009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
14802
14803 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
14804 * genmk.rb (class SCRIPT): Modify the target file instead of source.
14805
d3d30ea0
VS
148062009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
14809 (GRUB_MOD_INIT(memrw)): Update help line.
14810
a34f5c70
VS
148112009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14812
14813 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
14814 Use grub_extcmd_t. All users updated.
14815 (options): New variable.
14816 (grub_cmd_read): Restructure for readability. Support "-v" option.
14817 (grub_cmd_write): Restructure for readability.
14818
0ad46fd7 148192009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
14820
14821 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
14822
0ad46fd7 148232009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
14824
14825 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
14826 with the actual contents of the correspondending make variable.
14827 * util/grub-mkrescue.in (pkglib_DATA): New variable.
14828 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
14829 specifying `*.lst' and `efiemu??.o'
14830
0ad46fd7 148312009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
14832
14833 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
14834 after function name.
14835 Noticed by Rene Engelhard <rene@debian.org>.
14836
dc77a799
VS
148372009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14838
14839 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
14840 (options): New variable.
14841 (iospace): Likewise.
14842 (grub_lspci_iter): List IO spaces if "-i" was given.
14843 (grub_cmd_lspci): Parse options.
14844 (GRUB_MOD_INIT(lspci)): Use extcmd.
14845 (GRUB_MOD_FINI(lspci)): Likewise.
14846
0ad46fd7 148472009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
14848
14849 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
14850 `function' keyword.
14851 Patch by Tony Mancill <tmancill@debian.org>.
14852
b5d5993b
VS
148532009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14854
14855 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
14856 (grub_uhci_portstatus): Likewise.
14857 (grub_uhci_portstatus): Add necessary delay.
11d18281 14858 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 14859
941903f2 148602009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 14861
941903f2 14862 * commands/acpi.c (options): Fix capitalizations and/or full stops.
14863 (GRUB_MOD_INIT): Likewise.
14864 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 14865 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
14866 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 14867 * commands/efi/loadbios.c (enable_rom_area): Likewise.
14868 (enable_rom_area): Likewise.
14869 (GRUB_MOD_INIT): Likewise.
14870 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
14871 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
14872 * commands/handler.c (GRUB_MOD_INIT): Likewise.
14873 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
14874 * commands/hexdump.c (options): Likewise.
14875 * commands/i386/cpuid.c (options): Likewise.
14876 (GRUB_MOD_INIT): Likewise.
14877 * commands/i386/pc/drivemap.c (options): Likewise.
14878 (GRUB_MOD_INIT): Likewise.
14879 * commands/i386/pc/halt (options): Likewise.
14880 (GRUB_MOD_INIT): Likewise.
14881 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
14882 * commands/i386/pc/pxecmd.c (options): Likewise.
14883 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
14884 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
14885 * commands/keystatus.c (options): Likewise.
14886 (GRUB_MOD_INIT): Likewise.
14887 * commands/loadenv.c (options): Likewise.
14888 * commands/ls.c (options): Likewise.
14889 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
14890 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
14891 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
14892 * commands/parttool.c (helpmsg): Likewise.
14893 * commands/probe.c (options): Likewise.
14894 * commands/read.c (GRUB_MOD_INIT): Likewise.
14895 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
14896 * commands/search.c (options): Likewise.
14897 * commands/sleep.c (options): Likewise.
14898 * commands/test.c (GRUB_MOD_INIT): Likewise.
14899 * commands/true.c (GRUB_MOD_INIT): Likewise.
14900 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
14901 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
14902 * lib/arg.c (help_options): Likewise.
e9bbb4e7 14903 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
14904 `$(XGETTEXT)'.
98a50553 14905 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 14906
0ad46fd7 149072009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 14908
ef3c2c3a 14909 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
14910 instead of specifying them explicit.
14911
7922f68b
RM
149122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
14913
14914 * NEWS: Add grub-probe support for GNU/Hurd.
14915
537ce47f
RM
149162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
14917
14918 * NEWS: gettext was added after 1.97.
14919
9b214e3a
RM
149202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
14921
14922 * util/mkisofs/msdos_partition.h: New file (based on
14923 include/grub/msdos_partition.h).
14924 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
14925 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
14926 (ld_options, main): Recognize --protective-msdos-label.
14927 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
14928 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
14929 (padblock_write): If `use_protective_msdos_label' is set, patch a
14930 protective DOS-style label in the output image.
14931
14932 * util/grub-mkrescue.in: Use --protective-msdos-label.
14933
e9309813
RM
149342009-12-21 Robert Millan <rmh.grub@aybabtu.com>
14935
14936 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
14937 boot.
14938
0ae56929
RM
149392009-12-21 Robert Millan <rmh.grub@aybabtu.com>
14940
14941 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
14942 variables.
14943 (ld_options, main): Recognize `--embedded-boot'.
14944 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
14945 declarations.
14946 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
14947 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
14948 (padblock_write): Likewise. Rewrite to support embedded boot image.
14949
14950 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
14951 for BIOS-based disk boot instead of only ElTorito.
14952
b15937b1
RM
149532009-12-21 Robert Millan <rmh.grub@aybabtu.com>
14954
14955 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
14956 build (not needed for bootstrap).
14957
52cc3ce0
RM
149582009-12-21 Robert Millan <rmh.grub@aybabtu.com>
14959
14960 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
14961 from i386-pc build (not needed for bootstrap).
14962 Rewrite a pair of strings.
14963
36f5ff04
RM
149642009-12-21 Robert Millan <rmh.grub@aybabtu.com>
14965
14966 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
14967
973c6c85 149682009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
14969
14970 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
14971
05d21547
AB
149722009-12-21 Andreas Born <futur.andy@googlemail.com>
14973
14974 * kern/env.c (grub_env_context_open): Mark exported variable for
14975 reexport.
14976
0175d51f
AB
149772009-12-21 Andreas Born <futur.andy@googlemail.com>
14978
14979 * kern/env.c (grub_env_export): Create nonexistent variables before
14980 exporting.
14981
7f39d92f 149822009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 14983
7f39d92f 14984 * include/grub/auth.h: Include `<grub/i18n.h>'.
14985 (GRUB_GET_PASSWORD): Gettextizze string.
14986 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
14987 menu_text.c.
14988 (grub_utf8_to_ucs4_alloc): Fix indentation.
14989 (grub_print_ucs4): Likewise.
14990 (grub_getstringwidth): Likewise.
14991 (print_message_indented): New declaration.
14992 * normal/auth.c: Include `<grub/i18n.h>'.
14993 (grub_auth_check_authentication): Gettexttize string.
14994 * normal/cmdline.c: Include `<grub/i18n.h>'.
14995 (grub_cmdline_get): Gettextizze.
14996 * normal/color.c: Include `<grub/i18n.h>'.
14997 (grub_parse_color_name_pair): Gettexttize strings.
14998 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
14999 string (use `print_message_indented').
15000 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
15001 `include/grub/normal.h'.
15002 (print_message_indented): Renamed to ...
15003 (grub_print_message_indented): ... this. Remove `static' qualifer (now
15004 used in normal/main.c).
15005 (print_message): Use `grub_print_message_indented' instead of
15006 `print_message_indented'.
15007 (print_timeout): Likewise.
15008 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
15009 (grub_normal_print_device_info): Gettexttize strings.
15010 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
15011
3041d898
VS
150122009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15013
15014 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
15015 of arguments. Return number of tokens and not arguments. All users
15016 updated.
15017
de15bf8e
VS
150182009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15019
15020 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
15021 non-MSDOS paritions.
15022
e0a6ca52
VS
150232009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15024
15025 * include/grub/types.h (UNUSED): Removed since it conflicts with
15026 NetBSD headers. All users changed to direct __attribute__ ((unused)).
15027 Reported by Grégoire Sutre.
15028
b99518d1 150292009-12-19 Carles Pina i Estany <carles@pina.cat>
15030
15031 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
15032 (grub_print_ucs4_alloc): Likewise.
15033 (grub_getstringwidth): Likewise.
15034 * normal/main.c (grub_normal_init_page): Gettextize version string.
15035 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
15036 (getstringwidth): Renamed to ...
15037 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
15038 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
15039 (grub_print_ucs4): Remove `static' qualifer (now used in
15040 normal/main.c).
15041 * po/POTFILES: Add normal/main.c.
15042
bfd5e52b 150432009-12-19 Carles Pina i Estany <carles@pina.cat>
15044
15045 * normal/menu_text.c (STANDARD_MARGIN): New macro.
15046 (print_message_indented): Add `margin_left' and `margin_right'
15047 parameters.
15048 (print_message): Update `print_message_indented' calls. Adds '\n' to the
15049 strings.
15050 (print_timeout): Use `print_message_indented' to print the message.
15051 Deletes `second_stage' parameter.
15052 (run_menu): Update `print_timeout' calls.
15053
5a1ad2b9
VS
150542009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15055
15056 Fix console palette on OpenFirmware.
15057
15058 * term/ieee1275/ofconsole.c (MAX): Removed.
15059 (colors): Redone based on VGA palette.
15060 (grub_ofconsole_setcolor): Discard brightness bit since only 8
15061 colors are supported.
15062 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
15063
b045f00a
VS
150642009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15065
15066 Fix potential EfiEmu double prepare.
15067
15068 * efiemu/main.c (prepared): New variable
15069 (grub_efiemu_unload): Set prepare to '0'.
15070 (grub_efiemu_prepare): Return if already prepared. Set prepared.
15071
15072 set_virtual_address_map support.
15073
15074 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
15075 prototype.
15076 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
15077 prototype.
15078 (grub_efiemu_crc32): Likewise.
15079 (grub_efiemu_crc64): Likewise.
15080 (grub_efiemu_set_virtual_address_map): Likewise.
15081 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
15082 New definition.
15083 (grub_autoefi_set_virtual_address_map): Likewise.
15084 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
15085 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
15086 Restructure flow to accomodate it.
15087 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
15088 (grub_efiemu_crc): Recompute CRC32.
15089 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
15090 (efiemu_ptv_relocated): ... this. Made global. All users updated.
15091 * efiemu/symbols.c (relocated_handle): New variable.
15092 (grub_efiemu_free_syms): Free relocated_handle.
15093 (grub_efiemu_alloc_syms): Allocate relocated_handle.
15094 (grub_efiemu_write_sym_markers): New function.
15095 (grub_efiemu_set_virtual_address_map): Likewise.
15096
15097 Newer XNU parameters.
15098
15099 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
15100 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
15101 (grub_xnu_fill_devicetree): New prototype.
15102 (grub_xnu_heap_real_start): New variable.
15103 * loader/xnu.c (get_name_ptr): New function.
15104 (grub_xnu_load_driver): Fill namelen and name.
15105
15106 64-bit xnu support.
15107
15108 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
15109 and 'loader/macho64.c'.
15110 * conf/i386-pc.rmk: Likewise.
15111 * conf/x86_64-efi.rmk: Likewise.
15112 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
15113 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
15114 * include/grub/macho.h (grub_macho_segment64): New structure.
15115 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
15116 (grub_macho_size32): ... to this.
15117 (grub_macho32_get_entry_point): Renamed from ...
15118 (grub_macho_get_entry_point32): ... to this.
15119 (grub_macho_contains_macho64): New prototype.
15120 (grub_macho_size64): Likewise.
15121 (grub_macho_get_entry_point64): Likewise.
15122 (grub_macho32_load): Renamed from ...
15123 (grub_macho_load32): ... to this.
15124 (grub_macho32_filesize): Renamed from ...
15125 (grub_macho_filesize32): ... to this.
15126 (grub_macho32_readfile): Renamed from ...
15127 (grub_macho_readfile32): ... to this.
15128 (grub_macho_filesize64): New prototype.
15129 (grub_macho_readfile64): Likewise.
15130 (grub_macho_parse32): Likewise.
15131 (grub_macho_parse64): Likewise.
15132 * loader/macho.c: Split into ...
15133 * loader/machoXX.c: ... and this. Replace 32 with XX.
15134 * loader/macho32.c: New file.
15135 * loader/macho64.c: Likewise.
15136 * loader/xnu.c (grub_xnu_is_64bit): New variable.
15137 (grub_cmd_xnu_kernel): Make 32-bit only.
15138 (grub_cmd_xnu_kernel64): New function.
15139 (grub_xnu_load_driver): Support Mach-O 64.
15140 (grub_cmd_xnu_mkext): Likewise.
15141 * util/grub.d/30_os-prober.in (osx_entry): New function.
15142 Generate entries for 64-bit boot too.
15143
15144 Eliminate ad-hoc tree format in XNU and EfiEmu.
15145
15146 * efiemu/main.c (grub_efiemu_prepare): Update comment.
15147 * efiemu/pnvram.c: Rewritten to use environment variables.
15148 All users updated.
15149
15150 Inline utf16_to_utf8.
15151
15152 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
15153 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
15154 All users updated.
15155 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
15156
15157 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
15158 * commands/usbtest.c (grub_usb_get_string): ... move here.
15159 (usb_print_str): Fix error handling.
15160 * include/grub/usb.h (grub_usb_get_string): Remove.
15161
15162 UTF-8 to UTF-16 transformation.
15163
15164 * conf/common.rmk (pkglib_MODULES): Add charset.mod
15165 (charset_mod_SOURCES): New variable.
15166 (charset_mod_CFLAGS): Likewise.
15167 (charset_mod_LDFLAGS): Likewise.
15168 * include/grub/utf.h: New file.
15169 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
15170
15171 Support for device properties.
15172
15173 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
15174 (grub_xnu_devprop_device_header): Likewise.
15175 (grub_xnu_devprop_device_descriptor): Likewise.
15176 (grub_xnu_devprop_add_device): New prototype.
15177 (grub_xnu_devprop_remove_device): Likewise.
15178 (grub_xnu_devprop_remove_property): Likewise.
15179 (grub_xnu_devprop_add_property_utf8): Likewise.
15180 (grub_xnu_devprop_add_property_utf16): Likewise.
15181 (grub_cpu_xnu_init): Likewise.
15182 (grub_cpu_xnu_fini): Likewise.
15183 (grub_cpu_xnu_unload): Likewise.
15184 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
15185 (property_descriptor): Likewise.
15186 (devices): New variable.
15187 (grub_xnu_devprop_remove_property): New function.
15188 (grub_xnu_devprop_add_device): Likewise.
15189 (grub_xnu_devprop_remove_device): Likewise.
15190 (grub_xnu_devprop_add_property): Likewise.
15191 (grub_xnu_devprop_add_property_utf8): Likewise.
15192 (grub_xnu_devprop_add_property_utf16): Likewise.
15193 (hextoval): Likewise.
15194 (grub_cpu_xnu_fill_devprop): Likewise.
15195 (grub_cmd_devprop_load): Likewise.
15196 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
15197 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
15198 (cmd_devprop_load): New variable.
15199 (grub_cpu_xnu_init): New function.
15200 (grub_cpu_xnu_fini): Likewise.
15201 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
15202 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
15203 (grub_cmd_xnu_devtree): Likewise.
15204 (hextoval): New function.
15205 (unescape): Likewise.
15206 (grub_xnu_fill_devicetree): Likewise.
15207
15208 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
15209 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
15210
0945f181
VS
152112009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15212
15213 Workaround for broken ATI VBE.
15214
15215 * video/i386/pc/vbe.c (last_set_mode): New variable.
15216 (grub_vbe_set_video_mode): Set 'last_set_mode'.
15217 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
15218 (grub_video_vbe_setup): Don't check for reserved flag.
15219
0ad46fd7 152202009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
15221
15222 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
15223 the `find' command.
15224
c179ebe4
VS
152252009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15226
15227 UUID support for HFS.
15228
15229 * fs/hfs.c (grub_hfs_uuid): New function.
15230 (grub_hfs_fs): New value .uuid.
15231 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
15232
0ad46fd7 152332009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
15234
15235 Fix a segfault with parsing unknown long options.
15236
15237 * util/grub-mkrelpath.c (options): Zero terminate it.
15238
c4a3e41a
CPE
152392009-12-13 Carles Pina i Estany <carles@pina.cat>
15240
15241 * include/grub/misc.h (grub_puts): New declaration.
15242 (grub_puts_): Likewise.
a22008a6 15243 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
15244 (grub_puts_): Likewise.
15245
2e8a7602
RM
152462009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15247
15248 * util/grub-probe.c (probe): Improve error message.
15249
b50b77b9
RM
152502009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15251
15252 * loader/i386/multiboot_elfxx.c
15253 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
15254 initialization.
15255
152562009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15257
15258 Relocator framework
15259
15260 * loader/i386/xnu_helper.S: Removed. All users updated.
15261 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
15262 (relocator_mod_SOURCES): New variable.
15263 (relocator_mod_CFLAGS): Likewise.
15264 (relocator_mod_LDFLAGS): Likewise.
15265 (relocator_mod_ASFLAGS): Likewise.
15266 * conf/x86_64.rmk: Likewise.
15267 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
15268 (grub_multiboot_payload_entry_offset): Likewise.
15269 (grub_multiboot_forward_relocator): Likewise.
15270 (grub_multiboot_forward_relocator_end): Likewise.
15271 (grub_multiboot_backward_relocator): Likewise.
15272 (grub_multiboot_backward_relocator_end): Likewise.
15273 (grub_multiboot_payload_eip): New variable.
15274 (grub_multiboot_payload_orig): Likewise.
15275 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
15276 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
15277 * include/grub/i386/memory.h
15278 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
15279 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
15280 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
15281 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
15282 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
15283 * include/grub/i386/relocator.h: New file.
15284 * include/grub/x86_64/relocator.h: Likewise.
15285 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
15286 (XNU_RELOCATOR): New macro.
15287 (grub_xnu_launcher_start): Remove.
15288 (grub_xnu_launcher_end): Likewise.
15289 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
15290 (grub_xnu_heap_real_start): Remove.
15291 (grub_xnu_heap_start): Change to void *. All users updated.
15292 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
15293 * lib/i386/relocator.c: New file.
15294 * lib/i386/relocator_asm.S: Likewise.
15295 * lib/i386/relocator_backward.S: Likewise.
15296 * lib/mips/relocator.c: Likewise.
15297 * lib/mips/relocator_asm.S: Likewise.
15298 * lib/relocator.c: Likewise.
15299 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
15300 (entry): Removed.
15301 (playground): Likewise.
15302 (grub_multiboot_payload_orig): New variable.
15303 (grub_multiboot_payload_dest): Likewise.
15304 (grub_multiboot_payload_size): Likewise.
15305 (grub_multiboot_payload_eip): Likewise.
15306 (grub_multiboot_payload_esp): Likewise.
15307 (grub_multiboot_boot): Use grub_relocator32_boot.
15308 (grub_multiboot_unload): Free relocators.
15309 (grub_multiboot): Setup stack. Use relocators.
15310 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
15311 (grub_multiboot_load_elfXX): Use relocators.
15312 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
15313 (grub_multiboot_payload_size): Likewise.
15314 (grub_multiboot_payload_dest): Likewise.
15315 (grub_multiboot_payload_entry_offset): Likewise.
15316 (grub_multiboot_forward_relocator): Likewise.
15317 (grub_multiboot_backward_relocator): Likewise.
15318 (grub_multiboot_real_boot): Likewise.
15319 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
15320 (grub_xnu_entry_point): Likewise.
15321 (grub_xnu_arg1): Likewise.
15322 (grub_xnu_stack): Likewise.
15323 (grub_xnu_launch): Removed.
15324 (grub_xnu_boot_resume): New function.
15325 (grub_xnu_boot): Use relocators.
15326 * loader/i386/xnu_helper.S: Removed.
15327 * loader/xnu.c (grub_xnu_heap_start): New variable.
15328 (grub_xnu_heap_size): Likewise.
15329 (grub_xnu_heap_malloc): Use relocators.
15330 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
15331
29eb90c6
VS
153322009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15333
15334 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
15335 anything.
15336
31027430
CPE
153372009-12-13 Carles Pina i Estany <carles@pina.cat>
15338
15339 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
15340 GRUB_ERR_NONE before calling grub_env_set.
15341
dc0c71d9
RM
153422009-12-12 Robert Millan <rmh@aybabtu.com>
15343
15344 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
15345 * genmk.rb (video): New variable.
15346 (CLEANFILES, VIDEOFILES): Add #{video}.
15347 (#{video}): New target rule.
15348 * genvideolist.sh: New file.
15349 * Makefile.in (pkglib_DATA): Add video.lst.
15350 (video.lst): New target rule.
15351 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
15352 `video.lst'.
15353 * util/grub.d/30_os-prober.in: Replace `vbe' with
15354 ${GRUB_VIDEO_BACKEND}.
15355
2a4bfcf0
RM
153562009-12-11 Robert Millan <rmh.grub@aybabtu.com>
15357
15358 * THANKS: Add David Miller.
15359
2a3aa4d5
RM
153602009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
15361
15362 libpciaccess support.
15363
15364 * Makefile.in (LIBPCIACCESS): New variable.
15365 (enable_grub_emu_pci): Likewise.
15366 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
15367 util/pci.c and commands/lspci.c.
15368 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
15369 * configure.ac (grub-emu-pci): New option.
15370 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
15371 (grub_pci_device_unmap_range): Likewise.
15372 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
15373 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
15374 (grub_pci_address_t) [!GRUB_UTIL]: New type.
15375 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
15376 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
15377 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
15378 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
15379 * include/grub/pciutils.h: New file.
15380 * util/pci.c: Likewise.
15381
0ad46fd7 153822009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
15383
15384 * util/misc.c: Don't include <errno.h> twice.
15385
0ad46fd7 153862009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
15387
15388 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
15389 name in an error message.
15390 (grub_biosdisk_rw): Likewise.
15391
2e59983c
VS
153922009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15393
15394 Eliminate NTFS 4Gib barrier.
15395
15396 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
15397 (read_run_data): Likewise.
15398 (grub_ntfs_read_run_list): Likewise.
15399 (grub_ntfs_read_block): Likewise.
15400 (grub_ntfs_iterate_dir): Likewise.
15401 (read_mft): Likewise.
15402 (read_data): Likewise.
15403 Use COM_LOG_LEN.
15404 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
15405 to avoid 64-bit division
15406 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
15407 (grub_ntfs_rlst): Use grub_disk_addr_t.
15408
71ee178a
VS
154092009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15410
15411 Eliminate grub-fstest 4Gib barrier.
15412
15413 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
15414 (read_file): Fix error reporting.
15415
2520d4b8
VS
154162009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15417
15418 Eliminate hexdump 4Gib barrier.
15419
15420 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
15421 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
15422
e1f27065
VS
154232009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15424
15425 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
15426 Fixes amarsh bug.
15427
1a0f7f45
RM
154282009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
15429
15430 Remove miscellaneous files in distclean target.
15431
15432 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
15433
c631d9fb
CW
154342009-12-09 Colin Watson <cjwatson@ubuntu.com>
15435
15436 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
15437 if they're already set. This resolves the conflict between my
15438 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
15439 fixing the --grub-probe option again.
15440 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
15441 change on 2009-10-06, so that we now once again source
15442 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
15443
7c7b6106
RM
154442009-12-08 Robert Millan <rmh.grub@aybabtu.com>
15445
15446 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
15447 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
15448 `util/devicemap.c'.
15449
e3069ec1
CPE
154502009-12-08 Carles Pina i Estany <carles@pina.cat>
15451
15452 * include/grub/misc.h (grub_printf_): New declaration.
15453 * kern/misc.c (grub_printf_): New definition.
15454 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
15455 instead of `grub_printf' and `_'.
15456 * normal/menu_entry.c (store_completion): Likewise.
15457 (run): Likewise.
15458 (grub_menu_entry_run): Likewise.
15459 * normal/menu_text.c (grub_wait_after_message): Likewise.
15460 (notify_booting): Likewise.
15461 (notify_fallback): Likewise.
15462 (notify_execution_failure): Likewise.
15463
d6ceebf1
CW
154642009-12-07 Colin Watson <cjwatson@ubuntu.com>
15465
15466 * configure.ac: Check for vasprintf.
15467 * util/misc.c (asprintf): Move allocation from here ...
15468 (vasprintf): ... to here. New function.
15469 (xasprintf): New function.
15470 * include/grub/util/misc.h (vasprintf, xasprintf): Add
15471 prototypes.
15472 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15473 * util/grub-mkfont.c (write_font): Likewise.
15474 * util/grub-probe.c (probe): Likewise.
15475 * util/hostdisk.c (make_device_name): Likewise.
15476
de6daa8b
DM
154772009-12-06 David S. Miller <davem@sunset.davemloft.net>
15478
15479 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
15480 anything even prefixed with 'cdrom' as a cdrom.
15481
0ad46fd7 154822009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
15483
15484 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
15485 mount points.
15486
98d3dc02
CPE
154872009-12-05 Carles Pina i Estany <carles@pina.cat>
15488
15489 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
15490 grub_gettext_msg_list.
15491 (grub_gettext_gettranslation_from_position): Return const char *
15492 and not char *.
a2c1332b 15493 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
15494 returns from the list if existing there.
15495 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
15496 (grub_gettext_delete_list): Delete the list.
15497 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
15498 lang environment variable is changed.
15499 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
15500
b283f108
VS
155012009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
15502
15503 Rename kernel.mod to kernel.img.
15504
15505 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
15506 (kernel_mod_EXPORTS): Rename to ...
15507 (kernel_img_EXPORTS): ... this.
15508 (kernel_mod_SOURCES): Rename to ...
15509 (kernel_img_SOURCES): ... this.
15510 (kernel_mod_HEADERS): Rename to ...
15511 (kernel_img_HEADERS): ... this. All users updated.
15512 (kernel_mod_CFLAGS): Rename to ...
15513 (kernel_img_CFLAGS): ... this.
15514 (kernel_mod_ASFLAGS): Rename to ...
15515 (kernel_img_ASFLAGS): ... this.
15516 (kernel_mod_LDFLAGS): Rename to ...
15517 (kernel_img_LDFLAGS): ... this.
15518 * conf/x86_64-efi.rmk: Likewise.
15519 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
15520 (read_kernel_image): ... this. All users updated.
15521 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
15522
69055f8a
CPE
155232009-12-05 Carles Pina i Estany <carles@pina.cat>
15524
15525 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
15526 (print_spaces): New function.
15527 (grub_print_ucs4): New function.
15528 (getstringwidth): New function.
15529 (print_message_indented): New function.
15530 (print_message): Gettexttize strings using print_message_indented.
15531 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
15532 width.
15533 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 15534 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
15535 Gettextize.
15536 * normal/menu_entry.c (store_completion): Cleanup the gettextized
15537 string.
15538 (run): Likewise.
15539 (grub_menu_entry_run): Likewise.
15540 * PO/POTFILES: Add normal/menu_entry.c.
15541
f616f51c
VS
155422009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
15545
57bbe3be
CPE
155462009-12-05 Carles Pina i Estany <carles@pina.cat>
15547
15548 * util/grub-install.in: Install gettext .mo files.
15549 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
15550
013d67a1
CPE
155512009-12-05 Carles Pina i Estany <carles@pina.cat>
15552
15553 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
15554 grub_dprintf.
15555
fb954db0
RM
155562009-12-05 Robert Millan <rmh.grub@aybabtu.com>
15557
15558 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
15559 non-firmware-dependant one in realmode.S takes precedence.
15560
6b8474f8
RM
155612009-12-04 Robert Millan <rmh.grub@aybabtu.com>
15562
15563 * commands/halt.c: Replace misc arch-specific headers with
15564 `<grub/misc.h>'.
15565 * commands/reboot.c: Likewise.
15566 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
15567 `<grub/misc.h>'.
15568 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
15569 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
15570 (kernel_img_SOURCES): ... to here.
15571
15572 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
15573 * include/grub/i386/pc/init.h: Likewise.
15574 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15575 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15576
15577 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
15578
15579 * include/grub/i386/halt.h: Remove.
15580 * include/grub/i386/reboot.h: Likewise.
15581
15582 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
15583
4b2e6ca2
DM
155842009-12-03 David S. Miller <davem@sunset.davemloft.net>
15585
15586 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
15587 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
15588 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
15589 "progname.h"
15590 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
15591 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15592 (usage): Add missing comma in printf.
15593
5239348f
RM
155942009-12-02 Robert Millan <rmh.grub@aybabtu.com>
15595
15596 Use the same reboot approach on i386 coreboot and qemu as we do on
15597 BIOS.
15598
15599 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
15600 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
15601 * kern/i386/reboot.c: Remove.
15602 * include/grub/i386/reboot.h (grub_reboot): Export function.
15603 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
15604 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
15605 0xf000:0xfff0 instead of 0xffff:0x0000.
15606 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
15607 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
15608
ef34cbd4
RM
156092009-11-30 Robert Millan <rmh.grub@aybabtu.com>
15610
15611 Fix $srcdir != $objdir build.
15612
15613 * Makefile.in (po/%.po): Rewrite as ...
15614 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
15615
dc9837ea
ST
156162009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
15617
15618 Fix GNU/Hurd grub-install crash.
15619 * util/grub-probe.c (probe): Try to access `path' only when it is not
15620 NULL.
15621
2f857f98
VS
156222009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
15623
15624 Correct module naming.
15625
15626 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
15627 (GRUB_MOD_INIT(efi_uga)): ... to this
15628 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
15629 (GRUB_MOD_FINI(efi_uga)): ... to this
15630 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
15631 (GRUB_MOD_INIT(efi_gop)): ... to this
15632 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
15633 (GRUB_MOD_FINI(efi_gop)): ... to this
15634
c5448046
RM
156352009-11-28 Robert Millan <rmh.grub@aybabtu.com>
15636
15637 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
15638 translatable.
15639 (usage): Translate `arg' strings using gettext().
15640 Thanks to Jordi Mallach for the suggestion.
15641
c85184ad
VS
156422009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
15643
15644 GOP support. Based on patch from Bean
15645 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
15646
15647 * video/efi_gop.c: New file.
15648 * include/grub/efi/graphics_output.h: Likewise.
15649 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
15650 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
15651 variables.
15652 * conf/x86_64-efi.rmk: Likewise.
15653
8a4c48d8
VS
156542009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
15655
15656 Rename efi_fb to efi_uga.
15657
15658 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
15659 'efi_uga.mod'.
15660 (efi_fb_mod_SOURCES): Rename this ...
15661 (efi_uga_mod_SOURCES): ... to this.
15662 (efi_fb_mod_CFLAGS): Rename this ...
15663 (efi_uga_mod_CFLAGS): ... to this.
15664 (efi_fb_mod_LDFLAGS): Rename this ...
15665 (efi_uga_mod_LDFLAGS): ... to this.
15666 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
15667 'efi_uga.mod'.
15668 (efi_fb_mod_SOURCES): Rename this ...
15669 (efi_uga_mod_SOURCES): ... to this.
15670 (efi_fb_mod_CFLAGS): Rename this ...
15671 (efi_uga_mod_CFLAGS): ... to this.
15672 (efi_fb_mod_LDFLAGS): Rename this ...
15673 (efi_uga_mod_LDFLAGS): ... to this.
15674 * video/efi_fb.c: Move this ...
15675 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
15676
fb6c1a7b
RM
156772009-11-27 Robert Millan <rmh.grub@aybabtu.com>
15678
15679 * po/README: New file. Explain our PO file workflow.
15680
3bc7896c
RM
156812009-11-27 Robert Millan <rmh.grub@aybabtu.com>
15682
15683 * po/ChangeLog: Remove. Move relevant entries back to ...
15684 * ChangeLog: ... here.
15685 * po/ca.po: Remove (now handled by TLP).
15686 * po/id.po: Likewise.
15687 * po/zh_CN.po: Likewise.
15688 * Makefile.in (LINGUAS): Initialize in a way that supports
15689 empty set.
15690
9ed4841d
RM
156912009-11-27 Robert Millan <rmh.grub@aybabtu.com>
15692
15693 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
15694 reliing on po/LINGUAS.
15695 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
15696 (po/%.po): ... this.
15697
0ad46fd7 156982009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
15699
15700 * util/i386/efi/grub-mkimage.c: Include "progname.h".
15701 (main): Use `program_name' instead of nonexistent `progname'.
15702
e30dd392
FZ
157032009-11-26 Felix Zielcke <fzielcke@z-51.de>
15704
15705 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
15706 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
15707
7656de4f
RM
157082009-11-26 Robert Millan <rmh.grub@aybabtu.com>
15709
15710 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
15711 commit.
15712 * conf/i386-efi.rmk: Likewise.
15713 * conf/i386-ieee1275.rmk: Likewise.
15714 * conf/powerpc-ieee1275.rmk: Likewise.
15715 * conf/sparc64-ieee1275.rmk: Likewise.
15716 * conf/x86_64-efi.rmk: Likewise.
15717
db77c4d4
FZ
157182009-11-26 Felix Zielcke <fzielcke@z-51.de>
15719
15720 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
15721
a755bb04
FZ
157222009-11-26 Felix Zielcke <fzielcke@z-51.de>
15723
15724 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
15725
8a4c07fd
RM
157262009-11-26 Robert Millan <rmh.grub@aybabtu.com>
15727
15728 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
15729 (grub_mkdevicemap_SOURCES): New variable.
15730 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
15731 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
15732 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
15733 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
15734 (grub_mkdevicemap_SOURCES): Remove.
15735 * conf/i386-efi.rmk: Likewise.
15736 * conf/i386-ieee1275.rmk: Likewise.
15737 * conf/i386-pc.rmk: Likewise.
15738 * conf/powerpc-ieee1275.rmk: Likewise.
15739 * conf/sparc64-ieee1275.rmk: Likewise.
15740 * conf/x86_64-efi.rmk: Likewise.
15741 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
15742 (usage): Fix strings to use `program_name'.
15743 (main): Initialize gettext.
15744 * util/grub-editenv.c: Likewise.
15745 * util/grub-emu.c: Likewise.
15746 * util/grub-fstest.c: Likewise.
15747 * util/grub-mkdevicemap.c: Likewise.
15748 * util/grub-mkfont.c: Likewise.
15749 * util/grub-mkrelpath.c: Likewise.
15750 * util/grub-pe2elf.c: Likewise.
15751 * util/grub-probe.c: Likewise.
15752 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
15753 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
15754 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15755
15756 * util/misc.c: Include `"progname.h"'.
15757 (progname): Remove variable.
15758 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
15759
6f61ed55
FZ
157602009-11-25 Felix Zielcke <fzielcke@z-51.de>
15761
15762 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
15763 printf and print a newline after the menuentry header line.
15764 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
15765
f022876b
FZ
157662009-11-25 Felix Zielcke <fzielcke@z-51.de>
15767
15768 autoconf >= 2.60 support $(localedir).
15769
15770 * INSTALL: Note that autoconf 2.60 is required.
15771 * configure.ac (AC_PREREQ): Bump to 2.60.
15772 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
15773 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
15774
6717926e
YB
157752009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
15776
15777 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
15778 aclocal is run.
15779
08806a54
RM
157802009-11-25 Robert Millan <rmh.grub@aybabtu.com>
15781
15782 * normal/main.c (grub_normal_read_line): Fix off-by-one
15783 buffer overflow.
15784
13b33fba
RM
157852009-11-25 Robert Millan <rmh.grub@aybabtu.com>
15786
15787 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
15788 "parser.grub" in grub_command_execute() call.
15789
4a8572e9
CPE
157902009-11-24 Carles Pina i Estany <carles@pina.cat>
15791
15792 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
15793 * conf/i386-efi.rmk: Likewise.
15794 * conf/i386-ieee1275.rmk: Likewise.
15795 * conf/i386-pc.rmk: Likewise.
15796 * conf/powerpc-ieee1275.rmk: Likewise.
15797 * conf/sparc64-ieee1275.rmk: Likewise.
15798 * conf/x86_64-efi.rmk: Likewise.
15799 * gettext/gettex.c: Include <grub/i18n.h>.
15800 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
15801 here ...
15802 * include/grub/i18n.h: ... to here
15803 * include/grub/i18n.h: ... to here.
15804 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 15805 (grub_gettext_dummy): Move above user.
4a8572e9 15806
bee48093
FZ
158072009-11-24 Felix Zielcke <fzielcke@z-51.de>
15808
15809 * util/Makefile.in (install-local): Convert a `for' into a normal
15810 shell expansion.
15811
a031e91c
RM
158122009-11-24 Robert Millan <rmh.grub@aybabtu.com>
15813
15814 * autogen.sh: Add automake call.
15815 * config.guess: Remove.
15816 * config.sub: Likewise.
15817 * install-sh: Likewise.
15818
26bec39d
FZ
158192009-11-24 Felix Zielcke <fzielcke@z-51.de>
15820
15821 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
15822
8e2532fd
FZ
158232009-11-24 Felix Zielcke <fzielcke@z-51.de>
15824
15825 * util/Makefile.in (install-local): Convert a make `$(foreach)'
15826 function to a normal shell `for'.
15827
fefa1b7d
FZ
158282009-11-24 Felix Zielcke <fzielcke@z-51.de>
15829
15830 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
15831
4501250b
FZ
158322009-11-24 Felix Zielcke <fzielcke@z-51.de>
15833
15834 * util/grub-mkrelpath.c: New file.
15835 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
15836 (grub_mkrelpath_SOURCES): New variable.
15837 * include/grub/util/misc.h: New function prototype.
15838 * util/misc.c (make_system_path_relative_to_its_root): New function.
15839
15840 * util/grub-mkconfig_lib.in (bindir): New variable.
15841 (grub_mkrelpath): Likewise.
15842 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
15843
15844 * util/probe.c (probe): Make the file path relative to its root.
15845 Change a info message to use the GRUB path. Enable again the
15846 check if we can read the file with GRUB facilities.
15847
15848 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
15849 to its root.
15850
11d9778b
FZ
158512009-11-24 Felix Zielcke <fzielcke@z-51.de>
15852
15853 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
15854 platform.
15855
4465287d
FZ
158562009-11-24 Felix Zielcke <fzielcke@z-51.de>
15857
15858 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
15859 strncmp().
15860
62b47f22
FZ
158612009-11-24 Felix Zielcke <fzielcke@z-51.de>
15862
15863 * util/getroot.c (grub_util_is_dmraid): New function.
15864 (grub_util_get_dev_abstraction): Treat dmraid and multipath
15865 devices as normal ones, not as LVM.
15866
1eafb9b9 158672009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
15868
15869 * conf/common.rmk: Add grub-gettext_lib target and updates
15870 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
15871 LDFLAGS.
15872 * gettext/gettext.c: New file. (Reads mo files).
15873 * include/grub/file.h (grub_file_pread): New prototype.
15874 * include/grub/i18n.h (_): New prototype.
15875 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
15876 prototypes.
15877 * kern/misc.c (grub_gettext_dummy): New function.
15878 * normal/menu_text.c: Include <grub/i18n.h>.
15879 * normal/menu_text.c (print_timeout): Gettexttize string.
15880 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
15881 * po/POTFILES: Add `normal/menu_text.c'.
15882 * po/ca.po: Add new translations.
c3ea6bd4
CPE
15883 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
15884 gettext module and defines locale_dir and lang in grub.cfg.
15885 * NEWS: Add gettext support.
15886
0fdb2568
RM
158872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
15888
15889 * util/hostdisk.c: Include `<grub/i18n.h>'.
15890 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
15891 (make_device_name): Rewrite using asprintf.
15892 (convert_system_partition_to_system_disk): Replace 0 with NULL.
15893 (find_system_device): If a device is not found, generate one just
15894 by reusing the OS path name.
15895 (read_device_map): Make it permissible for device.map not to exist.
15896
f515aa62
RM
158972009-11-23 Robert Millan <rmh.grub@aybabtu.com>
15898
15899 * script/sh/execute.c: Move from here ...
15900 * script/execute.c: ... to here. Update all users.
15901 * script/sh/function.c: Move from here ...
15902 * script/function.c: ... to here. Update all users.
15903 * script/sh/lexer.c: Move from here ...
15904 * script/lexer.c: ... to here. Update all users.
15905 * script/sh/main.c: Move from here ...
15906 * script/main.c: ... to here. Update all users.
15907 * script/sh/parser.y: Move from here ...
15908 * script/parser.y: ... to here. Update all users.
15909 * script/sh/script.c: Move from here ...
15910 * script/script.c: ... to here. Update all users.
15911
f84b481b
RM
159122009-11-23 Robert Millan <rmh.grub@aybabtu.com>
15913
15914 * configure.ac: Detect all `emu' platforms. Define
15915 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
15916 --enable-grub-emu logic. Disable include/grub/machine
15917 symlink on `emu' platforms.
15918
15919 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
15920 * gensymlist.sh.in: Likewise.
15921
15922 * include/grub/i386/coreboot/machine.h: Remove file.
15923 * include/grub/i386/efi/machine.h: Likewise.
15924 * include/grub/i386/ieee1275/machine.h: Likewise.
15925 * include/grub/i386/pc/machine.h: Likewise.
15926 * include/grub/i386/qemu/machine.h: Likewise.
15927 * include/grub/powerpc/ieee1275/machine.h: Likewise.
15928 * include/grub/sparc64/ieee1275/machine.h: Likewise.
15929 * include/grub/x86_64/efi/machine.h: Likewise.
15930
15931 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
15932 * commands/halt.c: Likewise.
15933 * commands/reboot.c: Likewise.
15934 * include/grub/autoefi.h: Likewise.
15935 * include/grub/i386/at_keyboard.h: Likewise.
15936 * include/grub/i386/kernel.h: Likewise.
15937 * include/grub/i386/loader.h: Likewise.
15938 * include/grub/i386/pc/memory.h: Likewise.
15939 * kern/dl.c: Likewise.
15940 * kern/i386/coreboot/init.c: Likewise.
15941 * loader/i386/bsd.c: Likewise.
15942 * loader/i386/linux.c: Likewise.
15943 * loader/multiboot_loader.c: Likewise.
15944 * term/i386/pc/serial.c: Likewise.
15945 * term/usb_keyboard.c: Likewise.
15946
15947 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
15948 `<grub/machine/machine.h>'
15949 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
15950 * util/misc.c: Remove `<grub/machine/machine.h>' and
15951 `<grub/machine/time.h>'.
15952
15953 * Makefile.in (enable_grub_emu): Remove variable.
15954 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
15955
15956 * conf/any-emu.rmk: New file.
15957 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
15958 (grub_emu_init.c): Move from here ...
15959 * conf/any-emu.rmk: ... to here.
15960
15961 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
15962 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
15963 * conf/any-emu.rmk: ... to here.
15964
4efeab03
RM
159652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
15966
15967 * include/grub/parser.h (grub_parser_register): Document need
15968 of `name' parameter.
15969 * normal/main.c (grub_normal_read_line): Simplify prompt string.
15970 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
15971 "sh" to "grub".
15972
ea1dd8bf
RM
159732009-11-23 Robert Millan <rmh.grub@aybabtu.com>
15974
15975 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
15976 `$(XGETTEXT)'.
15977 * include/grub/i18n.h (N_): New macro.
15978 * util/mkisofs/mkisofs.h: Likewise.
15979 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
15980 around N_().
15981 (usage): Use gettext() to translate help strings when printing them.
15982
0c140626
RM
159832009-11-23 Robert Millan <rmh.grub@aybabtu.com>
15984
15985 Based on patch from Bean
15986 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
15987
15988 * video/efi_fb.c: New file.
15989 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
15990 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
15991 variables.
15992 * conf/x86_64-efi.rmk: Likewise.
15993
87d58298
RM
159942009-11-22 Robert Millan <rmh.grub@aybabtu.com>
15995
15996 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
15997 * util/i386/pc/grub-setup.c: Likewise.
15998
994cc3a3
ST
159992009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16000
16001 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
16002 <hurd/fs.h>
16003 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
16004 file_get_storage_info to implement grub_guess_root_device.
16005
26a61d6a
FZ
160062009-11-21 Felix Zielcke <fzielcke@z-51.de>
16007
16008 * Makefile.in (target): Use make's builtin $(shell) function
16009 instead of calling directly $(SHELL) to create the locale directories,
16010 inside the $(foreach) function.
16011
74ff1dd5
FZ
160122009-11-21 Felix Zielcke <fzielcke@z-51.de>
16013
16014 * util/grub-mkrescue.in: Print an error and usage if output option
16015 has not been given.
16016
0b787d0e
FZ
160172009-11-21 Felix Zielcke <fzielcke@z-51.de>
16018
16019 Patch from Loïc Minier <loic.minier@ubuntu.com>.
16020 * util/grub.d/30_os-prober.in: Cope with Linux entries where
16021 root and /boot are on different devices.
16022
1164b270
RM
160232009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16024
16025 Fix build for srcdir != objdir.
16026
16027 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
16028 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
16029 $(srcdir).
16030 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
16031 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
16032 reference for input.
16033
13774a2f
RM
160342009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16035
16036 * util/grub-mkrescue.in: Use source directory direcly (without copiing
16037 or hardlinking it). Remove -J option, Joliet is not compatible with
16038 multiple source directories.
16039
efda854e
RM
160402009-11-21 Carles Pina i Estany <carles@pina.cat>
160412009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16042
16043 * util/grub-mkrescue.in: Recognize `--override-directory' option.
16044 (process_input_dir): New function. Process an arbitrary input
16045 directory.
16046 Misc adjustments to support both "override mode" and system-wide mode.
16047
6c09890c
FZ
160482009-11-20 Felix Zielcke <fzielcke@z-51.de>
16049
16050 * configure.ac (UNIFONT_BDF): Rename to ...
16051 (FONT_SOURCE): ... this. Update all users.
16052
a797824f
FZ
160532009-11-20 Felix Zielcke <fzielcke@z-51.de>
16054
16055 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
16056 to the list of unifont files to look for.
16057
cd4f42b0
RM
160582009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16059
16060 Patch from Joe Auricchio <jauricchio@gmail.com>
16061 * commands/minicmd.c (grub_mini_cmd_clear): New function.
16062 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
16063 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
16064
393c783d
FZ
160652009-11-19 Felix Zielcke <fzielcke@z-51.de>
16066
16067 * Makefile.in (install-local): Add a missing backslash.
16068
b2f1e327
FZ
160692009-11-19 Felix Zielcke <fzielcke@z-51.de>
16070
16071 * include/grub/x86_64/io.h: New file.
16072
f577f7a0
RM
160732009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16074
16075 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
16076 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
16077 Include `"progname.h"'.
16078 (main): Initialize gettext.
16079 * util/i386/pc/grub-setup.c: Gettexttize.
16080 * util/i386/pc/grub-mkimage.c: Likewise.
16081
16082 * Makefile.in (po/*.po): Redefine as ...
16083 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
16084
3bc7896c
RM
16085 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
16086
c37943b6
RM
160872009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16088
16089 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
16090 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
16091 (program_name): Remove.
16092 (main): Initialize gettext support.
6323f705
RM
16093 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
16094 Include `<libintl.h>'.
16095 (_): New macro.
c37943b6
RM
16096
16097 * util/mkisofs/eltorito.c: Gettexttize.
16098 * util/mkisofs/joliet.c: Likewise.
16099 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
16100 * util/mkisofs/multi.c: Likewise.
16101 * util/mkisofs/rock.c: Likewise.
16102 * util/mkisofs/tree.c: Likewise.
16103 * util/mkisofs/write.c: Likewise.
16104
3bc7896c
RM
16105 * po/POTFILES: Update with new files.
16106
5ce77c6e
RM
161072009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16108
16109 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
16110 * util/mkisofs/iso9660.h: Likewise.
16111 * util/mkisofs/joliet.c: Likewise.
16112 * util/mkisofs/mkisofs.c: Likewise.
16113 * util/mkisofs/mkisofs.h: Likewise.
16114 * util/mkisofs/rock.c: Likewise.
16115 * util/mkisofs/tree.c: Likewise.
16116 * util/mkisofs/write.c: Likewise.
16117
16118 * util/mkisofs/eltorito.c (rcsid): Remove.
16119 * util/mkisofs/hash.c: Likewise.
16120 * util/mkisofs/joliet.c: Likewise.
16121 * util/mkisofs/name.c: Likewise.
16122 * util/mkisofs/rock.c: Likewise.
16123 * util/mkisofs/tree.c: Likewise.
16124 * util/mkisofs/write.c: Likewise.
16125
1dabbc77
RM
161262009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16127
16128 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
16129 instead of static allocation.
16130 * util/mkisofs/match.h: Likewise.
16131
633877cb
RM
161322009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16133
3bc7896c
RM
16134 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
16135 and `util/grub.d/10_linux.in'.
633877cb
RM
16136 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
16137 translatable Shell files.
16138
af1c0c85
RM
161392009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16140
16141 * Makefile.in ($(srcdir)/aclocal.m4): New target.
16142
769ae37b
RM
161432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16144
16145 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 16146 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
16147 * util/grub.d/10_kfreebsd.in (bindir): New variable.
16148 Add gettext initialization.
16149 (kfreebsd_entry): Make menuentry output translatable.
16150
161512009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16152
16153 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
16154 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
16155 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
16156 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
16157 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 16158 * po/LINGUAS: New file.
769ae37b
RM
16159
161602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16161
16162 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
16163 other things).
16164 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
16165 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
16166 bindtextdomain() calls for gettext initialization.
16167
161682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16169
16170 * gnulib/progname.c: New file (imported from Gnulib).
16171 * gnulib/progname.h: Likewise.
16172 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16173 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
16174 (usage): Replace `progname' with `program_name'.
16175 (main): Use set_program_name() for program name initialization.
16176
161772009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16178
16179 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
16180 from here ...
16181 * Makefile.in (CPPFLAGS): ... to here.
16182
161832009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16184
16185 * aclocal.m4: Move from here ...
16186 * acinclude.m4: ... to here.
16187 * autogen.sh: Add call to `aclocal'.
16188 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
16189
161902009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16191
16192 * Makefile.in (CLEANFILES): Add `po/*.mo'.
16193 (LINGUAS): New variable.
16194 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
16195 (install-local): Install MO files.
16196 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
16197 * include/grub/i18n.h: New file.
3bc7896c
RM
16198 * po/POTFILES: New file.
16199 * po/ca.po: New file.
769ae37b
RM
16200 * util/grub.d/10_linux.in (bindir): New variable.
16201 Add gettext initialization.
16202 (linux_entry): Make menuentry output translatable.
16203 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
16204 (usage): Make --help output translatable.
16205 (main): Initialize gettext.
16206
02c0a6ad
RM
162072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16208
16209 * import_gcry.py: New file (written by Vladimir with minor
16210 adjustments).
16211 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
16212 ciphers.
16213 * INSTALL: Document that Python is required for bootstrap.
16214
162152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16216
16217 Import ciphers from libgcrypt 1.4.4.
16218
16219 * lib/libgcrypt/cipher/ChangeLog
16220 * lib/libgcrypt/cipher/ac.c
16221 * lib/libgcrypt/cipher/arcfour.c
16222 * lib/libgcrypt/cipher/bithelp.h
16223 * lib/libgcrypt/cipher/blowfish.c
16224 * lib/libgcrypt/cipher/camellia-glue.c
16225 * lib/libgcrypt/cipher/camellia.c
16226 * lib/libgcrypt/cipher/camellia.h
16227 * lib/libgcrypt/cipher/cast5.c
16228 * lib/libgcrypt/cipher/cipher.c
16229 * lib/libgcrypt/cipher/crc.c
16230 * lib/libgcrypt/cipher/des.c
16231 * lib/libgcrypt/cipher/dsa.c
16232 * lib/libgcrypt/cipher/ecc.c
16233 * lib/libgcrypt/cipher/elgamal.c
16234 * lib/libgcrypt/cipher/hash-common.c
16235 * lib/libgcrypt/cipher/hash-common.h
16236 * lib/libgcrypt/cipher/hmac-tests.c
16237 * lib/libgcrypt/cipher/md.c
16238 * lib/libgcrypt/cipher/md4.c
16239 * lib/libgcrypt/cipher/md5.c
16240 * lib/libgcrypt/cipher/primegen.c
16241 * lib/libgcrypt/cipher/pubkey.c
16242 * lib/libgcrypt/cipher/rfc2268.c
16243 * lib/libgcrypt/cipher/rijndael-tables.h
16244 * lib/libgcrypt/cipher/rijndael.c
16245 * lib/libgcrypt/cipher/rmd.h
16246 * lib/libgcrypt/cipher/rmd160.c
16247 * lib/libgcrypt/cipher/rsa.c
16248 * lib/libgcrypt/cipher/seed.c
16249 * lib/libgcrypt/cipher/serpent.c
16250 * lib/libgcrypt/cipher/sha1.c
16251 * lib/libgcrypt/cipher/sha256.c
16252 * lib/libgcrypt/cipher/sha512.c
16253 * lib/libgcrypt/cipher/tiger.c
16254 * lib/libgcrypt/cipher/twofish.c
16255 * lib/libgcrypt/cipher/whirlpool.c
16256
af2f93ac
RM
162572009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16258
16259 Fix build for systems without error().
16260
16261 * gnulib/error.c: New file (imported from Gnulib).
16262 * gnulib/error.h: Likewise.
16263 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
16264 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
16265 (this variable is now used by error()).
16266
73fb3dd5
FZ
162672009-11-16 Felix Zielcke <fzielcke@z-51.de>
16268
814f5e96
FZ
16269 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
16270 instead of relying that char is signed.
73fb3dd5 16271
a691ca33
VS
162722009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16273
16274 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
16275 blocksize different from specified.
16276 (grub_pxefs_read): Likewise.
16277
2af8f0f4
FZ
162782009-11-16 Felix Zielcke <fzielcke@z-51.de>
16279
16280 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
16281
16282 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
16283 (grub_ata_readwrite): Likewise. Update 2 format strings.
16284 (grub_atapi_read): Likewise.
16285
16286 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
16287 * conf/i386.rmk (pkglib_MODULES): ... to here ...
16288 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
16289 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
16290 (ata_mod_LDFLAGS): Move from here ...
16291 * conf/i386.rmk: ... to here ...
16292 * conf/x86_64-efi.rmk: ... and here.
16293 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
16294 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
16295
83bdecaf
RM
162962009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16297
16298 Relicense multiboot.h, with RMS' blessing.
16299
16300 * include/multiboot.h: Change to X11 license.
16301
fd6fd3d7
RM
163022009-11-15 Robert Millan <rmh.grub@aybabtu.com>
16303
16304 Support --version in grub-mkisofs.
16305
16306 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
16307 (OPTION_VERSION): New macro.
16308 (ld_options): Recognize --version.
16309 (usage): Move `program_name' from here ...
16310 (program_name): ... to here. Add `static' qualifier.
16311 (main): Recognize `OPTION_VERSION'.
16312
16a88c49
FZ
163132009-11-15 Felix Zielcke <fzielcke@z-51.de>
16314
16315 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
16316 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
16317
a4158476
RM
163182009-11-14 Robert Millan <rmh.grub@aybabtu.com>
16319
16320 Fix help2man generation for mkisofs.
16321
16322 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
16323 (usage): Send output to stdout (rather than stderr).
16324
fc2208b0
RM
163252009-11-14 Robert Millan <rmh.grub@aybabtu.com>
16326
16327 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
16328 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
16329 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
16330 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
16331 (bin_SCRIPTS): Add `grub-mkfloppy'.
16332 (grub_mkfloppy_SOURCES): New variable.
16333
16334 * util/grub-mkrescue.in: New file.
16335 * util/i386/pc/grub-mkfloppy.in: New file.
16336
16337 * util/i386/coreboot/grub-mkrescue.in: Remove.
16338 * util/i386/pc/grub-mkrescue.in: Remove.
16339
8d0edf4a
RM
163402009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16341
16342 * include/grub/multiboot.h (struct grub_multiboot_header): Move
16343 from here ...
16344 * include/multiboot.h (struct multiboot_header): ... to here. Update
16345 all users.
16346 * include/grub/multiboot.h (struct grub_multiboot_info): Move
16347 from here ...
16348 * include/multiboot.h (struct multiboot_info): ... to here. Update
16349 all users.
16350 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
16351 from here ...
16352 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
16353 Update all users.
16354 * include/grub/multiboot.h (struct grub_mod_list): Move
16355 from here ...
16356 * include/multiboot.h (struct multiboot_mod_list): ... to here.
16357 Update all users.
16358
a73f5969
RM
163592009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16360
16361 * include/multiboot2.h (multiboot_word): Rename from this ...
16362 (multiboot2_word): ... to this. Update all users.
16363 (multiboot_header): Rename from this ...
16364 (multiboot2_header): ... to this. Update all users.
16365 (multiboot_tag_header): Rename from this ...
16366 (multiboot2_tag_header): ... to this. Update all users.
16367 (multiboot_tag_start): Rename from this ...
16368 (multiboot2_tag_start): ... to this. Update all users.
16369 (multiboot_tag_name): Rename from this ...
16370 (multiboot2_tag_name): ... to this. Update all users.
16371 (multiboot_tag_module): Rename from this ...
16372 (multiboot2_tag_module): ... to this. Update all users.
16373 (multiboot_tag_memory): Rename from this ...
16374 (multiboot2_tag_memory): ... to this. Update all users.
16375 (multiboot_tag_unused): Rename from this ...
16376 (multiboot2_tag_unused): ... to this. Update all users.
16377 (multiboot_tag_end): Rename from this ...
16378 (multiboot2_tag_end): ... to this. Update all users.
16379
1c8927f0
RM
163802009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16381
16382 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
16383 this platform we should support Multiboot1 first.
16384
16385 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
16386 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
16387 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
16388
6e1e0d89
RM
163892009-11-12 Robert Millan <rmh.grub@aybabtu.com>
16390
16391 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
16392 of write calls (converting them to fwrite() if they aren't already).
16393 (get_torito_desc): Likewise.
16394 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
16395
7f2b34d8
RM
163962009-11-12 Robert Millan <rmh.grub@aybabtu.com>
16397
16398 * util/i386/pc/grub-install.in: Move from here ...
16399 * util/grub-install.in: ... to here. Update all users.
16400
c0ef3311
CW
164012009-11-11 Colin Watson <cjwatson@ubuntu.com>
16402
16403 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
16404
e1f240ff
RM
164052009-11-11 Robert Millan <rmh.grub@aybabtu.com>
16406
16407 Support for El Torito without floppy emulation.
16408
16409 * util/mkisofs/eltorito.c: Include `<errno.h>'.
16410 (init_boot_catalog): Improve error handling.
16411 (get_torito_desc): Don't use floppy emulation unless requested by
16412 user. Patch boot information table when requested via
16413 `-boot-info-table'.
16414 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
16415 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
16416 (use_boot_info_table): New variables.
16417 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
16418 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
16419 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
16420 `--eltorito-emul-floppy'.
16421 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
16422 and `OPTION_ELTORITO_EMUL_FLOPPY'.
16423 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
16424 (use_boot_info_table, get_731): New prototypes.
16425 * util/mkisofs/write.c (get_731): New function.
16426
af7d4de5
FZ
164272009-11-11 Felix Zielcke <fzielcke@z-51.de>
16428
16429 Fix the generation of the man page.
16430
16431 * util/pc/i386/grub-install.in: Source
16432 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
16433
2c55dbc0
RM
164342009-11-11 Robert Millan <rmh.grub@aybabtu.com>
16435
16436 Large file support for grub-mkisofs.
16437
16438 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
16439 * util/mkisofs/mkisofs.c (next_extent, last_extent)
16440 (session_start): Upgrade type to `uint64_t'. Update all users.
16441 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
16442 (struct directory_entry): Upgrade type of `starting_block' and
16443 `size' to `uint64_t'. Update all users.
16444 (struct deferred): Remove unused structure.
16445 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
16446 Update all users.
16447 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
16448 file is larger than `UINT32_MAX'.
16449 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
16450 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
16451 return value.
16452 (struct deferred_write): Upgrade type of `extent' and `size' to
16453 `uint64_t'. Update all users.
16454 (last_extent_written): Upgrade type to `uint64_t'. Update all
16455 users.
16456 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
16457 Update all users. Upgrade type of `remain' to `int64_t' and
16458 `use' to `size_t'. Use error() to handle fread() errors.
16459 (write_files): Rely on write_one_file() rather than calling
16460 xfwrite() directly.
16461
6a9cead5
FZ
164622009-11-09 Felix Zielcke <fzielcke@z-51.de>
16463
16464 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
16465
4825d790
RM
164662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16467
16468 * util/mkisofs/fnmatch.c: Remove.
16469 * util/mkisofs/getopt1.c: Likewise.
16470 * util/mkisofs/getopt.c: Likewise.
16471 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
16472 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
16473 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
16474 `gnulib/getopt1.c' and `gnulib/getopt.c'.
16475 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
16476
16477 * configure.ac: Detect `mingw32msvc' host_os.
16478 Check for lstat(), getuid() and getgid().
16479
16480 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
16481 instances of `u_char' with `uint8_t'.
16482
16483 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
16484 [!HAVE_GETUID] (getuid): New function (stub).
16485 [!HAVE_GETGID] (getgid): Likewise.
16486 [!HAVE_LSTAT] (lstat): Likewise.
16487 [!S_IROTH] (S_IROTH): New macro (dummy).
16488 [!S_IRGRP] (S_IRGRP): Likewise.
16489
84b860d8
RM
164902009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16491
16492 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
16493 conditional expression).
16494
66e9b712
RM
164952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16496
16497 Import from Gnulib.
16498
16499 * gnulib/fnmatch.c: New file.
16500 * gnulib/fnmatch.h: Likewise.
16501 * gnulib/fnmatch_loop.c: Likewise.
16502 * gnulib/getopt.c: Likewise.
16503 * gnulib/getopt.h: Likewise.
16504 * gnulib/getopt1.c: Likewise.
16505 * gnulib/getopt_int.h: Likewise.
16506 * gnulib/gettext.h: Likewise.
16507
34f4a5b0
RM
165082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16509
16510 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
16511 * normal/handler.c (read_handler_list): Likewise.
16512
ac451143
RM
165132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16514
16515 Misc cleanup.
16516
16517 * kern/command.c (grub_register_command_prio): Use
16518 grub_zalloc() instead of explicitly zeroing data.
16519 * kern/list.c: Include `<grub/mm.h>'.
16520 (grub_named_list_find): Replace `0' with `NULL'.
16521 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
16522 (fs_module_list): Change type to `grub_named_list_t'. Update all
16523 users.
16524 * normal/dyncmd.c (read_command_list): Add space between function
16525 call and parenthesis.
16526 * normal/handler.c (read_handler_list): Likewise.
16527
4089b167
RM
165282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16529
16530 * normal/auth.c (punishment_delay): Moved from here ...
16531 (grub_auth_strcmp): ... to here (inside function).
16532
325f5037
RM
165332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16534
16535 * include/grub/list.h (struct grub_named_list): Remove `const'
16536 qualifier from `name'.
16537 (struct grub_prio_list): Likewise.
16538
7aea29a3
RM
165392009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16540
16541 * normal/auth.c: Include `<grub/time.h>'.
16542 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
16543
3fd6f044
RM
165442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16545
16546 * normal/auth.c (punishment_delay): New variable.
16547 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
16548 (grub_auth_check_authentication): Punish failed login attempts with
16549 an incremental (2^N) delay.
16550
a4cd68e4
RM
165512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16552
16553 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
16554 path with $(srcdir).
16555
7ad12f43
VS
165562009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16557
16558 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
16559
c1129f03
RM
165602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16561
16562 * util/i386/coreboot/grub-mkrescue.in: New file.
16563 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
16564 variables.
16565
16566 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
16567 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
16568 * configure.ac: Add header and function checks to satisfy grub-mkisofs
16569 requirements.
16570 * util/mkisofs/defaults.h: New file.
16571 * util/mkisofs/eltorito.c: Likewise.
16572 * util/mkisofs/exclude.h: Likewise.
16573 * util/mkisofs/fnmatch.c: Likewise.
16574 * util/mkisofs/getopt.c: Likewise.
16575 * util/mkisofs/getopt1.c: Likewise.
16576 * util/mkisofs/hash.c: Likewise.
16577 * util/mkisofs/include/fctldefs.h: Likewise.
16578 * util/mkisofs/include/mconfig.h: Likewise.
16579 * util/mkisofs/include/prototyp.h: Likewise.
16580 * util/mkisofs/include/statdefs.h: Likewise.
16581 * util/mkisofs/iso9660.h: Likewise.
16582 * util/mkisofs/joliet.c: Likewise.
16583 * util/mkisofs/match.c: Likewise.
16584 * util/mkisofs/match.h: Likewise.
16585 * util/mkisofs/mkisofs.c: Likewise.
16586 * util/mkisofs/mkisofs.h: Likewise.
16587 * util/mkisofs/multi.c: Likewise.
16588 * util/mkisofs/name.c: Likewise.
16589 * util/mkisofs/rock.c: Likewise.
16590 * util/mkisofs/tree.c: Likewise.
16591 * util/mkisofs/write.c: Likewise.
16592
ec8bb77d
VS
165932009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16594
16595 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
16596 being insecure.
16597
3716b12c
RM
165982009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16599
16600 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
16601 `grub-mkimage' (and use $0 when possible).
16602
b97b7b91
RM
166032009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16604
16605 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
16606 error message for excessively large memory map.
16607
04114812
RM
166082009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16609
16610 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
16611 executable bit.
16612
e4eb2373
RM
166132009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16614
16615 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
16616 message for coreboot users.
16617
c926e1d5 166182009-11-07 Robert Millan <rmh.grub@aybabtu.com>
16619
16620 Fix build with GNU gold.
16621
16622 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
16623 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
16624 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
16625 link addresses.
16626 * aclocal.m4: Likewise.
16627
86e5b1db 166282009-11-04 Felix Zielcke <fzielcke@z-51.de>
16629
16630 * configure.ac (AC_PREREQ): Bump to 2.59d.
16631 * INSTALL: Make it more clear when Autoconf and Ruby are
16632 needed and when to run `./autogen.sh'.
16633
246cd78f 166342009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
16635
16636 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
16637 OSes.
16638
4f9dfb37 166392009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
16640
16641 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
16642
b82bd5e1 166432009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
16644
16645 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
16646 giving it to GNU Mach.
16647
ff1a9bca 166482009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
16649
16650 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
16651 GNU partition number to get internal GRUB partition number.
16652
61697d9c 166532009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
16654
16655 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
16656 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
16657
a50569e1 166582009-11-01 Robert Millan <rmh.grub@aybabtu.com>
16659
16660 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
16661 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
16662 case.
16663
5b153867 166642009-11-01 Felix Zielcke <fzielcke@z-51.de>
16665
16666 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
16667
d9e2cd70 166682009-10-30 Robert Millan <rmh.grub@aybabtu.com>
16669
16670 Fix build problem.
16671
16672 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
16673 `-isystem=$(srcdir)/include'.
16674
805111a4 166752009-10-30 Robert Millan <rmh.grub@aybabtu.com>
16676
16677 * util/i386/pc/grub-install.in: Remove hint that device.map should be
16678 checked (grub-install doesn't currently rely on it).
16679
fa6e945f 166802009-10-29 Robert Millan <rmh.grub@aybabtu.com>
16681
16682 Revert SVN r2660.
16683
16684 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
16685 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
16686 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
16687 * conf/i386-ieee1275.rmk: Likewise.
16688 * conf/i386-pc.rmk: Likewise.
16689 * conf/powerpc-ieee1275.rmk: Likewise.
16690 * conf/sparc64-ieee1275.rmk: Likewise.
16691 * conf/x86_64-efi.rmk: Likewise.
16692
cee15086 166932009-10-28 Robert Millan <rmh.grub@aybabtu.com>
16694
16695 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
16696
95b9239e 166972009-10-28 Robert Millan <rmh.grub@aybabtu.com>
16698
16699 * include/grub/misc.h: Stop checking for APPLE_CC.
16700
2ed19dfd 167012009-10-28 Robert Millan <rmh.grub@aybabtu.com>
16702
16703 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
16704 doesn't cause an infinite call loop.
16705
fdcdde19 167062009-10-28 Felix Zielcke <fzielcke@z-51.de>
16707
16708 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
16709 strings.
16710
cefabfe1 167112009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16712
16713 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
16714 variable.
16715 * Makefile.in: Likewise.
16716
ed96ab6d 167172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16718
16719 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
16720
0579b753 167212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16722
16723 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
16724
478df409 167252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16726
16727 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
16728
083d1679 167292009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16730
16731 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
16732 from here ...
16733 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
16734
5947ae32 167352009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16736
16737 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
16738 in $(MAKEINFO) invocation. This makes it clear in output that
16739 errors are being ignored.
16740
94180ff6 167412009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16742
16743 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
16744 from here ...
16745 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
16746 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
16747 * conf/i386-ieee1275.rmk: Likewise.
16748 * conf/i386-pc.rmk: Likewise.
16749 * conf/powerpc-ieee1275.rmk: Likewise.
16750 * conf/sparc64-ieee1275.rmk: Likewise.
16751 * conf/x86_64-efi.rmk: Likewise.
16752
9031b03a 167532009-10-26 Colin Watson <cjwatson@ubuntu.com>
16754
16755 * util/grub-editenv.c (main): If only a command is given, use
16756 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
16757 (usage): FILENAME is now optional and has a default.
16758
e4f6809b 167592009-10-26 Colin Watson <cjwatson@ubuntu.com>
16760
16761 Improve grub-mkconfig performance when there are several menu
16762 entries on a single filesystem.
16763
16764 * util/grub.d/10_linux.in (linux_entry): Cache the output of
16765 prepare_grub_to_access_device.
16766 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16767 * util/grub.d/30_os-prober.in: Likewise.
16768
67937d4d 167692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16770
16771 * util/grub.d/10_freebsd.in: Remove.
16772 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
16773 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
16774
ee3756cc 167752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16776
5c35048e 16777 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 16778
4dea1c6f 167792009-10-25 Robert Millan <rmh.grub@aybabtu.com>
16780
16781 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
16782 grub_util_error() call.
16783
042484d7 167842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
16785
16786 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
16787 `reserved_first_sector' member.
16788 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
16789 `reserved_first_sector' to 1.
16790 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
16791 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
16792 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
16793 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
16794 filesystems which begin at first sector.
16795 (options): New option --skip-fs-probe.
16796 (main): Handle --skip-fs-probe and pass it to setup().
16797
d64448a7 167982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
16799
16800 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
16801 (memset): Fix function prototype.
16802
508d42ec 168032009-10-25 Robert Millan <rmh.grub@aybabtu.com>
168042009-10-25 Vasily Averin <vvs@parallels.com>
16805
16806 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
16807 `dirent.direntlen == 0'.
16808
b240e30c 168092009-10-25 Robert Millan <rmh.grub@aybabtu.com>
16810
16811 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
16812 `cpio'.
16813 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
16814
346e7fbe 168152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
16816
16817 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
16818 `__trampoline_setup' and `__ucmpdi2'.
16819 * include/grub/powerpc/libgcc.h: Only export symbols for functions
16820 that libgcc provides.
16821
cdb308b0 168222009-10-25 Robert Millan <rmh.grub@aybabtu.com>
16823
16824 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
16825 * include/grub/sparc64/libgcc.h (memset): Likewise.
16826 * include/grub/misc.h (memset, memcmp): New function prototypes.
16827
fb26abc2 168282009-10-25 Robert Millan <rmh.grub@aybabtu.com>
16829
16830 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
16831 `cpio'.
16832 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
16833
f6693890 168342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
16835
16836 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
16837 * docs/grub.cfg: Compensate for recent change in multiboot
16838 loader (since 2009-08-14 it won't pass filename to payload).
16839 * util/grub.d/10_hurd.in: Likewise.
16840
0933cdc0 168412009-10-21 Felix Zielcke <fzielcke@z-51.de>
16842
16843 * config.guess: Update to latest version from config git
16844 repository.
16845 * config.sub: Likewise.
16846
3b2fe8c2 168472009-10-20 Robert Millan <rmh.grub@aybabtu.com>
16848
16849 Fix build on sparc64.
16850
16851 * configure.ac: Perform checks for libgcc symbols before
16852 adding `-nostdlib' to LDFLAGS.
16853
46695a62 168542009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16855
16856 Let user specify OpenBSD root device.
16857
16858 * loader/i386/bsd.c (openbsd_root): New variable.
16859 (openbsd_opts): New option 'root'.
16860 (OPENBSD_ROOT_ARG): New macro.
16861 (grub_openbsd_boot): Use 'openbsd_root'.
16862 (grub_cmd_openbsd): Fill 'openbsd_root'.
16863
d2b6b7fc 168642009-10-16 Robert Millan <rmh.grub@aybabtu.com>
16865
16866 * NEWS: Misc adjustments.
16867
421bd7ac 168682009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16869
16870 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
16871
f1d29d87 168722009-10-16 Robert Millan <rmh.grub@aybabtu.com>
16873
16874 * configure.ac: Bump version to 1.97.
16875
6f3cd880 168762009-10-16 Colin Watson <cjwatson@ubuntu.com>
16877
16878 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
16879 -mno-3dnow on x86 architectures. Some toolchains enable these
16880 features by default, but they rely on registers that aren't enabled
16881 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
16882
035f7122 168832009-10-15 Robert Millan <rmh.grub@aybabtu.com>
16884
16885 Make entry text a bit more readable.
16886
16887 * util/grub.d/10_linux.in: Add `with' before `Linux'.
16888
44998e58 168892009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
16890
16891 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
16892
cd2851b3 168932009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
16894
16895 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
16896 operations.
16897
c6f3b249 168982009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
16899
16900 * configure.ac: Add missing dollar.
16901
6b5886ba 169022009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
16903
16904 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
16905
16906 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
16907 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
16908 exports.
16909 * include/grub/sparc64/libgcc.h: Likewise. Use
16910 preprocessor conditionals.
16911
e9d66f6d 169122009-10-14 Robert Millan <rmh.grub@aybabtu.com>
16913
16914 * conf/common.rmk (grub-dumpbios): Remove rule.
16915 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
16916 * util/grub-dumpbios.in: Remove file.
16917
9155bc17 169182009-10-14 Robert Millan <rmh.grub@aybabtu.com>
16919
16920 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
16921 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
16922
16923 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
16924 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
16925 users.
16926
16927 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
16928 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
16929 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
16930 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
16931 users.
16932
bf7f7a18 169332009-10-12 Robert Millan <rmh.grub@aybabtu.com>
16934
16935 * term/tparm.c: Switch to GPLv3.
16936
86564c26 169372009-10-09 Robert Millan <rmh.grub@aybabtu.com>
16938
16939 * include/grub/i386/cpuid.h: Add header protection.
16940
5c936493 169412009-10-09 Robert Millan <rmh.grub@aybabtu.com>
16942
16943 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
16944
16945 * include/grub/i386/cpuid.h: New file.
16946 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
16947 (has_longmode): Rename to ...
16948 (grub_cpuid_has_longmode): ... this. Update all users. Remove
16949 `static' attribute.
16950 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
16951 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
16952 on a CPU that doesn't implement AMD64 instruction set.
16953
186e7cf2 169542009-10-06 Colin Watson <cjwatson@ubuntu.com>
16955
16956 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
16957 that version.texi is rebuilt on version number changes.
16958
83b65c4a 169592009-10-06 Colin Watson <cjwatson@ubuntu.com>
16960
16961 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
16962 Fixes bug #27602.
16963
d244281c 169642009-10-06 Colin Watson <cjwatson@ubuntu.com>
16965
16966 * util/i386/pc/grub-install.in: Source
16967 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
16968 that the --grub-probe option will work.
16969 * util/sparc64/ieee1275/grub-install.in: Likewise.
16970
da25306d 169712009-10-05 Robert Millan <rmh.grub@aybabtu.com>
16972
16973 * configure.ac: Bump version to 1.97~beta4.
16974
e8ee83c0 169752009-10-03 Robert Millan <rmh.grub@aybabtu.com>
16976
16977 Resync grub-mkdevicemap in x86_64-efi.
16978
16979 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
16980 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
16981 `util/devicemap.c'.
16982
50dcabcf 169832009-10-01 Colin Watson <cjwatson@ubuntu.com>
16984
16985 * util/grub-editenv.c (create_envblk_file): Write new block with a
16986 .new suffix and then rename it into place, to ensure atomic
16987 creation.
16988
0e51c3a7 169892009-09-28 Robert Millan <rmh.grub@aybabtu.com>
16990
16991 Do not automatically install headers.
16992
16993 * Makefile.in (include_DATA): Remove. Update all users.
16994
31299a95 169952009-09-26 Robert Millan <rmh.grub@aybabtu.com>
16996
16997 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
16998 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
16999
17000 * util/osdetect.lua: Remove.
17001 * script/lua/lauxlib.c: Likewise.
17002 * script/lua/ldebug.c: Likewise.
17003 * script/lua/grub_main.c: Likewise.
17004 * script/lua/lauxlib.h: Likewise.
17005 * script/lua/ldebug.h: Likewise.
17006 * script/lua/ltablib.c: Likewise.
17007 * script/lua/liolib.c: Likewise.
17008 * script/lua/lstrlib.c: Likewise.
17009 * script/lua/lualib.h: Likewise.
17010 * script/lua/ldo.c: Likewise.
17011 * script/lua/ldump.c: Likewise.
17012 * script/lua/ldo.h: Likewise.
17013 * script/lua/loslib.c: Likewise.
17014 * script/lua/lundump.c: Likewise.
17015 * script/lua/grub_lib.c: Likewise.
17016 * script/lua/ldblib.c: Likewise.
17017 * script/lua/lundump.h: Likewise.
17018 * script/lua/lmem.c: Likewise.
17019 * script/lua/grub_lib.h: Likewise.
17020 * script/lua/lmathlib.c: Likewise.
17021 * script/lua/lstate.c: Likewise.
17022 * script/lua/ltm.c: Likewise.
17023 * script/lua/lvm.c: Likewise.
17024 * script/lua/lmem.h: Likewise.
17025 * script/lua/lstate.h: Likewise.
17026 * script/lua/ltm.h: Likewise.
17027 * script/lua/ltable.c: Likewise.
17028 * script/lua/lvm.h: Likewise.
17029 * script/lua/llex.c: Likewise.
17030 * script/lua/lgc.c: Likewise.
17031 * script/lua/grub_lua.h: Likewise.
17032 * script/lua/loadlib.c: Likewise.
17033 * script/lua/lfunc.c: Likewise.
17034 * script/lua/lopcodes.c: Likewise.
17035 * script/lua/lparser.c: Likewise.
17036 * script/lua/ltable.h: Likewise.
17037 * script/lua/llex.h: Likewise.
17038 * script/lua/lgc.h: Likewise.
17039 * script/lua/lfunc.h: Likewise.
17040 * script/lua/lbaselib.c: Likewise.
17041 * script/lua/lopcodes.h: Likewise.
17042 * script/lua/lparser.h: Likewise.
17043 * script/lua/lzio.c: Likewise.
17044 * script/lua/linit.c: Likewise.
17045 * script/lua/lobject.c: Likewise.
17046 * script/lua/llimits.h: Likewise.
17047 * script/lua/lstring.c: Likewise.
17048 * script/lua/lzio.h: Likewise.
17049 * script/lua/lapi.c: Likewise.
17050 * script/lua/lcode.c: Likewise.
17051 * script/lua/lua.h: Likewise.
17052 * script/lua/lobject.h: Likewise.
17053 * script/lua/lstring.h: Likewise.
17054 * script/lua/lapi.h: Likewise.
17055 * script/lua/lcode.h: Likewise.
17056 * script/lua/luaconf.h: Likewise.
17057
cb8a2c38 170582009-09-26 Colin Watson <cjwatson@ubuntu.com>
17059
17060 * docs/grub.texi (Command-line and menu entry commands): Document
17061 date and echo commands.
17062
6b9b6276 170632009-09-24 Pavel Roskin <proski@gnu.org>
17064
17065 * include/grub/kernel.h (struct grub_module_header): Remove
17066 `grub_module_header_types'. Make `type' unsigned. Make `size'
17067 32-bit on all platforms.
17068 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
17069 8-bit field. Use grub_host_to_target32() for `size'.
17070 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
17071 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
17072 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
17073
4e5a02a7 170742009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17075
17076 Fix "lost keypress" bug in at_keyboard.
17077
17078 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
17079 Checks for readyness of input buffer (without flushing it).
17080 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
17081 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
17082
c6dcedf6 170832009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17084
17085 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
17086 size check within GRUB_MACHINE_PCBIOS section.
17087
74c958b1 170882009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17089
17090 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
17091 return value.
17092 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
17093 KEYBOARD_ISREADY check.
17094 (grub_at_keyboard_checkkey): Rename to ...
17095 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
17096 Remove gratuitous cast.
17097
ff420223 170982009-09-23 Colin Watson <cjwatson@ubuntu.com>
17099
17100 * configure.ac: Call AC_PROG_MKDIR_P.
17101 * Makefile.in (docs/stamp-vti): Create docs directory. Create
17102 version.texi in $(builddir) rather than $(srcdir).
17103 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
17104 to makeinfo's @include search path.
17105
d96875df 171062009-09-23 Felix Zielcke <fzielcke@z-51.de>
17107
17108 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
17109
9b3f8365 171102009-09-23 Felix Zielcke <fzielcke@z-51.de>
17111
17112 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
17113 for `*.dpkg-new'.
17114
c44c90db 171152009-09-21 Colin Watson <cjwatson@ubuntu.com>
17116
17117 Build info documentation. Some code borrowed from Automake.
17118
17119 * configure.ac: Check for makeinfo.
17120 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
17121 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
17122 docs/version.texi.
17123 (MOSTLYCLEANFILES): Add vti.tmp.
17124 (docs/version.texi, docs/stamp-vti): Update automatically.
17125 (docs/grub.info): Build info documentation. Use --force and ignore
17126 errors for now.
17127 (all-local): Add $(INFOS).
17128 (install-local): Install info files.
17129 (uninstall): Uninstall info files.
17130 * docs/version.texi: Remove from revision control. This file is
17131 automatically generated on build now.
17132 * gendistlist.sh: Add `*.info'.
17133
e0b37bb5 171342009-09-21 Felix Zielcke <fzielcke@z-51.de>
17135
17136 * kern/term.c: Fix indentation.
17137
5a78865b 171382009-09-21 Felix Zielcke <fzielcke@z-51.de>
17139
17140 * util/hostdisk.c: Fix a comment.
17141
dace7e8a 171422009-09-20 Robert Millan <rmh.grub@aybabtu.com>
17143
17144 Fix regression introduced in r2539.
17145
17146 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
17147 to 0xA1.
17148
a83d079b 171492009-09-19 Colin Watson <cjwatson@ubuntu.com>
17150
17151 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 17152 os-prober. Under normal operation, it does not print anything to
17153 stderr; if it does, we need to debug it, and throwing away stderr
17154 makes that excessively difficult.
a83d079b 17155
be94a509 171562009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
17157
17158 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
17159
63f745e8 171602009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17161
17162 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
17163 AC_LANG_PROGRAM from autoconf.
17164 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
17165 prototypes (fixes warning).
17166
17167 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
17168 `--disable-werror' was used.
17169
bbb2a70f 171702009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17171
17172 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
17173 uninitialized `lastaddr'.
17174
77c24f1d 171752009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17176
0f0b8c87 17177 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 17178
07197f23 171792009-09-14 Colin Watson <cjwatson@ubuntu.com>
17180
17181 * commands/test.c (get_fileinfo): Return immediately if
17182 grub_fs_probe fails.
17183
dabf1798 171842009-09-14 José Martínez <xosemp@gmail.com>
17185
17186 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
17187
d52109a7 171882009-09-14 Colin Watson <cjwatson@ubuntu.com>
17189
17190 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
17191 output.
17192
56532179 171932009-09-13 Robert Millan <rmh.grub@aybabtu.com>
17194
17195 * configure.ac: Remove --enable-grub-pe2elf. Only build
17196 grub-pe2elf when needed by the build system itself.
17197 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
17198
8ef070f5 171992009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17200
17201 * configure.ac: Bump version to 1.97~beta3.
17202 * docs/version.texi: Likewise.
17203
61229557 172042009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17205
17206 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
17207 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
17208 from here ...
17209 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
17210 (grub_linux_setup_video): ... to here (with some adjustments).
17211
5c9f8d84 172122009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17213
17214 Fix memory corruption issue (spotted by Colin Watson).
17215
17216 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
17217 causing returned size to be stored in an incorrect memory location.
17218 Fix use of uninitialized value when storing the returned size.
17219
e8f5d6e9 172202009-09-12 Yves Blusseau <blusseau@zetam.org>
17221
17222 Change clean rules to properly remove files
17223
17224 * genmk.rb: add new clean rules
17225 * Makefile.in (clean): add the new targets
17226 (mostlyclean): likewise
17227
cda2a409 172282009-09-11 Colin Watson <cjwatson@ubuntu.com>
17229
17230 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
17231 to grub_uint64_t.
17232 * fs/ntfs.c (init_file): Understand 64-bit sizes for
17233 non-resident files.
17234
86695375 172352009-09-11 Colin Watson <cjwatson@ubuntu.com>
17236
17237 * configure.ac: Don't look for help2man when cross-compiling. Fixes
17238 part of bug #27349.
17239
8aa1541a 172402009-09-10 Felix Zielcke <fzielcke@z-51.de>
17241
17242 * util/grub-mkconfig.in: Make the created config mode 400 and
17243 print a warning if it fails.
17244
48d9bb0a 172452009-09-10 Robert Millan <rmh.grub@aybabtu.com>
17246
17247 * util/grub.d/40_custom.in: Ask user to type custom entries below
17248 comment, rather than below 'exec tail' line.
17249
3b0521be 172502009-09-10 Colin Watson <cjwatson@ubuntu.com>
17251
17252 * util/grub.d/40_custom.in: Make sure that the explanatory text is
17253 visible in grub.cfg.
17254
50051d55 172552009-09-10 Colin Watson <cjwatson@ubuntu.com>
17256
17257 * util/grub.d/40_custom.in: Make it a little clearer how to use this
17258 file.
17259
c0d34387 172602009-09-10 Felix Zielcke <fzielcke@z-51.de>
17261
17262 * docs/grub.cfg: Add an example menu entry for memtest86+.
17263
80a608f3 172642009-09-09 Felix Zielcke <fzielcke@z-51.de>
17265
a2094832 17266 * config.guess: Update to latest version from config git.
80a608f3 17267 * config.sub: Likewise.
17268
99423078 172692009-09-08 Colin Watson <cjwatson@ubuntu.com>
17270
17271 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
17272 unknown-command case. Fixes bug #27320.
17273
44454e4c 172742009-09-08 Felix Zielcke <fzielcke@z-51.de>
17275
17276 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
17277 `help' if the command exists.
17278
e30d87ad 172792009-09-06 Robert Millan <rmh.grub@aybabtu.com>
17280
17281 * INSTALL: Require GCC 4.1.3 or later.
17282
9a86f1ec 172832009-09-06 Yves Blusseau <blusseau@zetam.org>
17284
17285 * Makefile.in (RMKFILES): add i386-qemu.rmk
17286 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
17287 $(srcdir)/stamp-h.in
17288
7f26d466 172892009-09-05 Robert Millan <rmh.grub@aybabtu.com>
17290
17291 * util/grub-probe.c (probe): Comment out buggy codepath, which
17292 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
17293 should be re-enabled after 1.97.
17294
3a613259 172952009-09-05 Felix Zielcke <fzielcke@z-51.de>
17296
17297 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
17298 find searches for.
17299
197f76c7 173002009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
17301
17302 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
17303 unnecessary calls to grub_error.
17304
70ba68ce 173052009-09-04 Colin Watson <cjwatson@ubuntu.com>
17306
17307 * NEWS: Mention `keystatus' and Unicode fonts.
17308
4ff0d7a4 173092009-09-04 Robert Millan <rmh.grub@aybabtu.com>
17310
17311 * configure.ac: Bump version to 1.97~beta2.
17312 * docs/version.texi: Likewise.
17313
77c55a87 173142009-09-03 Colin Watson <cjwatson@ubuntu.com>
17315
17316 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
17317 containing unwind information in some cases where it previously did
17318 not. Use -fno-dwarf2-cfi-asm if available to restore the old
17319 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
17320 discussion.
17321
f79572cd 173222009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
17323
17324 Embedding loadenv module into grub-emu
17325
17326 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
17327 commands/loadenv.c
17328 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
17329 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
17330 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
17331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
17332 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
17333 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
17334
93a81088 173352009-09-03 Magnus Granberg <zorry@ume.nu>
17336
17337 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
17338 include -fPIE in the default specs.
17339 * configure.ac: Check if pie_possible is yes and add -fno-PIE
17340 to TARGET_CFLAGS.
17341
160034b2 173422009-09-03 Felix Zielcke <fzielcke@z-51.de>
17343
17344 * INSTALL: Note that GNU Bison 2.3 or later is required.
17345
087c07c4 173462009-09-03 Colin Watson <cjwatson@ubuntu.com>
17347
17348 * kern/i386/pc/startup.S: Fix typo.
17349
cbf978c0 173502009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17351
17352 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
17353 according to GCS.
17354
173552009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 17356
17357 * docs/grub.texi (Naming convention): Describe one-based partition
17358 numbering.
17359 (Device syntax): Likewise.
17360 (File name syntax): Likewise.
17361 (Block list syntax): Likewise.
17362 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
17363 menu.lst.
17364 (File name syntax): Likewise.
17365 (Command-line and menu entry commands): Document acpi, blocklist,
17366 crc, export, insmod, keystatus, ls, set, and unset commands.
17367
f3e8cdfd 173682009-09-02 Colin Watson <cjwatson@ubuntu.com>
17369
17370 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
17371 to avoid implying that only one of --shift, --ctrl, or --alt may be
17372 used.
17373
c0bc232b 173742009-09-02 Colin Watson <cjwatson@ubuntu.com>
17375
17376 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
17377 rather than comparing against S_IFREG, which will almost never work.
17378
aa0f752d 173792009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
17380
17381 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
17382 (write_blocklists): Likewise.
17383
ecb3166a 173842009-09-01 Colin Watson <cjwatson@ubuntu.com>
17385
17386 * script/lua/grub_lua.h (fputs): Supply a format string as the first
17387 argument to grub_printf.
17388
c403a125 173892009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 17390
17391 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 17392 non GNU test.
31aba781 17393
b5e7312c 173942009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17395
17396 * kern/file.c (grub_file_read): Spelling fix
17397
fe00f472 173982009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17399
17400 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
17401 loading of headers in some cases.
17402
cc55302e 174032009-08-30 Robert Millan <rmh.grub@aybabtu.com>
17404
17405 * configure.ac: Bump version to 1.97~beta1.
17406 * docs/version.texi: Likewise.
17407
5c90cdd2 174082009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 17409
17410 * include/grub/i386/xnu.h: Add license header.
17411 include grub/err.h explicitly.
17412
c90edae4 174132009-08-29 Robert Millan <rmh.grub@aybabtu.com>
17414
17415 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
17416 to `ufs' in the vfs.root.mountfrom kernel parameter.
17417
d8888b5c 174182009-08-29 Robert Millan <rmh.grub@aybabtu.com>
17419
17420 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
17421
17422 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
17423 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
17424
17425 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
17426 `ARRAY_SIZE' macro.
17427
6f07b921 174282009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17429
17430 * kern/file.c (grub_file_read): Check offset.
17431 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
17432 * fs/jfs.c (grub_jfs_read_file): Likewise.
17433 * fs/ntfs.c (grub_ntfs_read): Likewise.
17434 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
17435 * fs/minix.c (grub_minix_read_file): Correct offset check.
17436 * fs/ufs.c (grub_ufs_read_file): Likewise.
17437
b4f34077 174382009-08-28 Colin Watson <cjwatson@ubuntu.com>
17439
17440 * term/i386/pc/console.c (bios_data_area): Cast
17441 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
17442
e7c69859 174432009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17444
17445 1-bit optimised blitters.
17446
17447 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
17448 prototype.
17449 (grub_video_fbblit_replace_24bit_1bit): Likewise.
17450 (grub_video_fbblit_replace_16bit_1bit): Likewise.
17451 (grub_video_fbblit_replace_8bit_1bit): Likewise.
17452 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
17453 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
17454 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
17455 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
17456 function.
17457 (grub_video_fbblit_replace_24bit_1bit): Likewise.
17458 (grub_video_fbblit_replace_16bit_1bit): Likewise.
17459 (grub_video_fbblit_replace_8bit_1bit): Likewise.
17460 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
17461 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
17462 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
17463 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
17464 when possible.
17465 * video/video.c (grub_video_get_blit_format): Return
17466 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
17467
a57da43f 174682009-08-28 Colin Watson <cjwatson@ubuntu.com>
17469
17470 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
17471 the first argument to grub_printf.
17472
4cbe67e5 174732009-08-28 Colin Watson <cjwatson@ubuntu.com>
174742009-08-28 Robert Millan <rmh.grub@aybabtu.com>
17475
17476 Add `getkeystatus' terminal method. Add a new `keystatus' command
17477 to query it.
17478
17479 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
17480 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
17481 modifier key bitmasks.
17482 (struct grub_term_input): Add `getkeystatus' member.
17483 (grub_getkeystatus): Add prototype.
17484 * kern/term.c (grub_getkeystatus): New function.
17485
17486 * include/grub/i386/pc/memory.h
17487 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
17488 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
17489 Data Area layout.
17490 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
17491 (grub_console_term_input): Set `getkeystatus' member.
17492 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
17493 constants.
17494 (grub_usb_keyboard_getreport): Likewise.
17495 (grub_usb_keyboard_checkkey): Likewise.
17496 (grub_usb_keyboard_getkeystatus): New function.
17497 (grub_usb_keyboard_term): Set `getkeystatus' member.
17498
17499 * commands/keystatus.c: New file.
17500 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
17501 (keystatus_mod_SOURCES): New variable.
17502 (keystatus_mod_CFLAGS): Likewise.
17503 (keystatus_mod_LDFLAGS): Likewise.
17504 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
17505 commands/keystatus.c.
17506 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17507 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17508 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17510 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17511 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 17512
6e2a9085 175132009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17514
17515 Split befs.mod and afs.mod into *_be.mod and *.mod
17516
17517 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
17518 (grub_fstest_SOURCES): Likewise.
17519 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
17520 (afs_be_mod_SOURCES): New variable.
17521 (afs_be_mod_CFLAGS): Likewise.
17522 (afs_be_mod_LDFLAGS): Likewise.
17523 (befs_be_mod_SOURCES): Likewise.
17524 (befs_be_mod_CFLAGS): Likewise.
17525 (befs_be_mod_LDFLAGS): Likewise.
17526 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
17527 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17528 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17529 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17530 (grub_emu_SOURCES): Likewise.
17531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17532 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17533 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17534 * fs/afs_be.c: New file.
17535 * fs/befs_be.c: New file.
17536 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
17537 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
17538 (U16): Replaced with ...
17539 (grub_afs_to_cpu16): ...this. All users updated.
17540 (U32): Replaced with ...
17541 (grub_afs_to_cpu32): ...this. All users updated.
17542 (U64): Replaced with ...
17543 (grub_afs_to_cpu64): ...this. All users updated.
17544 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
17545 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 17546 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 17547 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
17548 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
17549 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
17550 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
17551 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
17552 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
17553 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
17554 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
17555
32a71655 175562009-08-26 Bean <bean123ch@gmail.com>
17557
17558 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
17559 64-bit number.
17560 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17561 (grub_xfs_inode_block): Change return type to grub_uint64_t.
17562 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
17563
552bf6c5 175642009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17565
17566 NetBSD memory map support.
17567
17568 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
17569 (grub_netbsd_btinfo_mmap_header): New structure.
17570 (grub_netbsd_btinfo_mmap_entry): Likewise.
17571 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
17572
1ae2078c 175732009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17574
17575 Enable bsd.mod on coreboot.
17576
17577 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
17578 (bsd_mod_SOURCES): New variable.
17579 (bsd_mod_CFLAGS): Likewise.
17580 (bsd_mod_LDFLAGS): Likewise.
17581 (bsd_mod_ASFLAGS): Likewise.
17582 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
17583 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
17584
beefc598 175852009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17586
17587 Cleanup NetBSD root support.
17588
17589 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
17590 grub_bsd_get_device.
17591 Fix typo.
17592
3b76e68b 175932009-08-25 Felix Zielcke <fzielcke@z-51.de>
17594
17595 * util/grub.d/00_header.in: Move check for the video backend of
17596 gfxterm from here ...
17597 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
17598 a suitable video backend.
17599
aea664ea 176002009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17601
17602 Fix breakage in grub-setup.
17603
17604 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
17605 "msdos_partition_map".
17606
ff747d50 176072009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17608
17609 Fix breakage in normal/auth.c.
17610
17611 * normal/auth.c (grub_iswordseparator): New function.
17612
e7e1f93f 176132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17614
17615 Authentication support.
17616
17617 * commands/password.c: New file.
17618 * conf/common.rmk (pkglib_MODULES): Add password.mod.
17619 (password_mod_SOURCES): New variable.
17620 (password_mod_CFLAGS): Likewise.
17621 (password_mod_LDFLAGS): Likewise.
17622 (normal_mod_SOURCES): Add normal/auth.c.
17623 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
17624 normal/auth.c.
17625 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17626 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17627 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17629 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17630 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17631 * include/grub/auth.h: New file.
17632 * include/grub/err.h (grub_err_t): New enum value
17633 GRUB_ERR_ACCESS_DENIED.
17634 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
17635 'users'.
17636 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
17637 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
17638 users updated.
17639 * normal/auth.c: New file.
17640 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
17641 (grub_cmdline_run): Don't allow to go to command line without
17642 authentication.
17643 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
17644 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
17645 menuentry without superuser rights.
17646 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
17647 user isn't a superuser.
17648
70f1161d 176492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
17650
17651 Save space by inlining misc.c functions.
17652
17653 * kern/misc.c (grub_iswordseparator): Made static.
17654 * kern/misc.c (grub_strcat): Moved from here ...
17655 * include/grub/misc.h (grub_strcat): ... here. Inlined.
17656 * kern/misc.c (grub_strncat): Moved from here ...
17657 * include/grub/misc.h (grub_strncat): ... here. Inlined.
17658 * kern/misc.c (grub_strcasecmp): Moved from here ...
17659 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
17660 * kern/misc.c (grub_strncasecmp): Moved from here ...
17661 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
17662 * kern/misc.c (grub_isalpha): Moved from here ...
17663 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
17664 * kern/misc.c (grub_isdigit): Moved from here ...
17665 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
17666 * kern/misc.c (grub_isgraph): Moved from here ...
17667 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
17668 * kern/misc.c (grub_tolower): Moved from here ...
17669 * include/grub/misc.h (grub_tolower): ... here. Inlined.
17670
48e40bff 176712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
17672
17673 * script/sh/function.c (grub_script_function_find): Cut error message
17674 not to flood terminal.
17675 * script/sh/lexer.c (grub_script_yylex): Remove command line length
17676 limit.
17677 * script/sh/script.c (grub_script_arg_add): Duplicate string.
17678
c385bfc3 176792009-08-24 Colin Watson <cjwatson@ubuntu.com>
17680
17681 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
17682 `report' grub_uint8_t *.
17683 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
17684 Use a 50-millisecond timeout rather than just repeating
17685 grub_usb_keyboard_getreport 50 times.
17686 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
17687
2d21e3e8 176882009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
17689
17690 Rename *_partition_map to part_*
17691
17692 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
17693 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
17694 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
17695 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
17696 All users updated.
17697 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
17698 All users updated.
17699 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
17700 * util/grub-probe.c (probe_partmap): Don't transform partition name
17701 to get module name.
17702
dd103c4e 177032009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
17704
17705 Fix OpenBSD and NetBSD support.
17706
17707 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
17708 memory address conflict.
17709 (OPENBSD_MMAP_ACPI): New definition.
17710 (OPENBSD_MMAP_NVS): Likewise.
17711 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
17712 and OPENBSD_MMAP_NVS.
17713 Add memory map terminator
17714 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 17715 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 17716
16c84d74 177172009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
17718
17719 Let user specify NetBSD root device.
17720
17721 * loader/i386/bsd.c (netbsd_root): New variable.
17722 (netbsd_opts): New option 'root'.
17723 (NETBSD_ROOT_ARG): New macro.
17724 (grub_netbsd_boot): Use 'netbsd_root'.
17725 (grub_bsd_unload): Free 'netbsd_root'.
17726 (grub_cmd_netbsd): Fill 'netbsd_root'.
17727
adb29902 177282009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
17729
17730 Support for 64-bit NetBSD.
17731
17732 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
17733 point when booting non-FreeBSD.
17734
f5ae9f74 177352009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
17736
17737 Support --no-smp and --no-acpi for NetBSD.
17738
17739 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
17740 (NETBSD_AB_NOACPI): Likewise.
17741 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
17742 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
17743
de74f136 177442009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17745
17746 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
17747 errors.
17748 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
17749 errors. Call grub_error when needed.
17750
e9a925da 177512009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17752
17753 * commands/search.c (search_fs): Try searching without autoload first.
17754 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
17755 filesystem module explicitly for faster booting.
17756
5174302b 177572009-08-23 Colin Watson <cjwatson@ubuntu.com>
17758
17759 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
17760
c8c80635 177612009-08-23 Colin Watson <cjwatson@ubuntu.com>
17762
17763 * util/grub.d/30_os-prober.in: Disable os-prober if
17764 `GRUB_DISABLE_OS_PROBER' was set to true.
17765
71acf5e5 177662009-08-23 Robert Millan <rmh.grub@aybabtu.com>
17767
17768 * partmap/pc.c: Rename to ...
17769 * partmap/msdos.c: ... this. Update all users.
17770 (grub_pc_partition_map): Rename to ...
17771 (grub_msdos_partition_map): ... this. Update all users.
17772
17773 * parttool/pcpart.c: Rename to ...
17774 * parttool/msdospart.c: ... this. Update all users.
17775
17776 * include/grub/pc_partition.h: Rename to ...
17777 * include/grub/msdos_partition.h: ... this. Update all users.
17778 (grub_pc_partition_bsd_entry): Rename to ...
17779 (grub_msdos_partition_bsd_entry): ... this. Update all users.
17780 (grub_pc_partition_disk_label): Rename to ...
17781 (grub_msdos_partition_disk_label): ... this. Update all users.
17782 (grub_pc_partition_entry): Rename to ...
17783 (grub_msdos_partition_entry): ... this. Update all users.
17784 (grub_pc_partition_mbr): Rename to ...
17785 (grub_msdos_partition_mbr): ... this. Update all users.
17786 (grub_pc_partition): Rename to ...
17787 (grub_msdos_partition): ... this. Update all users.
17788 (grub_pc_partition_is_empty): Rename to ...
17789 (grub_msdos_partition_is_empty): ... this. Update all users.
17790 (grub_pc_partition_is_extended): Rename to ...
17791 (grub_msdos_partition_is_extended): ... this. Update all users.
17792 (grub_pc_partition_is_bsd): Rename to ...
17793 (grub_msdos_partition_is_bsd): ... this. Update all users.
17794
17795 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
17796 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
17797 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
17798 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
17799 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
17800 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
17801 (gpt_mod_LDFLAGS): Rename to ...
17802 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
17803 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
17804 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
17805 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
17806 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
17807 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
17808 (part_gpt_mod_LDFLAGS): ... this.
17809 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
17810 `pcpart.mod' to `msdospart.mod'.
17811 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
17812 to ...
17813 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
17814 (msdospart_mod_LDFLAGS): ... this.
17815
c11fded5 178162009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17817
17818 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
17819 (openbsd_opts): Likewise.
17820 (netbsd_opts): Likewise.
17821 (freebsd_flags): Added 0 terminator.
17822 (openbsd_flags): Likewise.
17823 (netbsd_flags): Likewise.
17824 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
17825 (grub_cmd_freebsd): Transformed into extended command.
17826 (grub_cmd_openbsd): Likewise.
17827 (grub_cmd_netbsd): Likewise.
17828 (cmd_freebsd): Changed type to grub_extcmd_t.
17829 (cmd_openbsd): Likewise.
17830 (cmd_netbsd): Likewise.
17831 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
17832 grub_cmd_openbsd as extended commands.
17833 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
17834 cmd_netbsd and cmd_openbsd
17835
11d1c769 178362009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17837
17838 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
17839
7a9094e5 178402009-08-21 Pavel Roskin <proski@gnu.org>
17841
5496c37e 17842 * Makefile.in (install-local): When checking if a file is in the
17843 build directory, use "test -e" to detect symlinks.
17844
7a9094e5 17845 * Makefile.in (install-local): Remove all files in
17846 $(DESTDIR)$(pkglibdir) before installing new files there.
17847
e53cea11 178482009-08-18 Felix Zielcke <fzielcke@z-51.de>
17849
17850 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
17851 grub-mkelfimage.
17852
9aced544 178532009-08-18 Felix Zielcke <fzielcke@z-51.de>
17854
17855 * util/grub-mkconfig.in: Don't use gfxterm by default if not
17856 explicitly specified by the user.
17857
b7da6bab 178582009-08-18 Pavel Roskin <proski@gnu.org>
17859
17860 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
17861 grub_uint8_t pointer for data.
17862 * include/grub/fbutil.h (struct grub_video_fbblit_info):
17863 Likewise.
17864 * video/fb/fbutil.c: Remove unnecessary casts.
17865
19f1b335 178662009-08-17 Michal Suchanek <hramrach@centrum.cz>
17867
17868 VBE cleanup.
17869
17870 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
17871 (grub_vbe_set_video_mode): Save active mode info
17872 only after setting the mode.
17873 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
17874 second argument.
17875
2f467aa9 178762009-08-17 Michal Suchanek <hramrach@centrum.cz>
17877
17878 Rename variables for clarity.
17879
17880 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
17881 (active_vbe_mode_info): ... this. All users updated.
17882 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
17883 All users updated.
17884 (initial_mode): Rename to ...
17885 (initial_vbe_mode): ... this. All users updated.
17886 (mode_in_use): Rename to ..
17887 (vbe_mode_in_use): ... this. All users updated.
17888 (mode_list): Rename to ..
17889 (vbe_mode_list): ... this. All users updated.
17890 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
17891 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
17892 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
17893 'mode_list_size' to 'vbe_mode_list_size'.
17894 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
17895 'best_mode_info' to 'best_vbe_mode_info' and
17896 'best_mode' to 'best_vbe_mode'
17897
6025fcd7 178982009-08-17 Michal Suchanek <hramrach@centrum.cz>
17899
17900 Remove duplicate grub_video_fb_get_video_ptr.
17901
17902 * include/grub/fbutil.h (get_data_ptr): Rename to ...
17903 (grub_video_fb_get_video_ptr): ... this.
17904 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
17905 * video/fb/fbutil.c: Add comment about addressing.
17906 (get_data_ptr): Rename to ...
17907 (grub_video_fb_get_video_ptr): ... this. All users updated.
17908 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
17909
cc8c6faf 179102009-08-17 Robert Millan <rmh.grub@aybabtu.com>
17911
17912 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
17913 grub_dprintf() that was just added.
17914
08aa61f0 179152009-08-17 Robert Millan <rmh.grub@aybabtu.com>
17916
17917 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
17918 (DEFAULT_VIDEO_MODE): Remove macros.
17919 (grub_linux_boot): Remove assumption that Linux has FB support,
17920 and use "text" as default video mode.
17921
7cef4f75 179222009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
17923
17924 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
17925 grub_dprintf.
17926 * fs/fat.c (grub_fat_read_data): Likewise.
17927
e1f39873 179282009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
17929
17930 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
17931 payload.
17932 (grub_module): Likewise.
17933
c166d79e 179342009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
17935
17936 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
17937 mbi->cmdline but free playground.
17938
c60cee8e 179392009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
17940
17941 Handle group offset on UFS1.
17942
17943 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
17944 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
17945
c0d8b5d4 179462009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
17947
17948 Split ufs.mod into ufs1.mod and ufs2.mod.
17949
17950 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
17951 (grub_fstest_SOURCES): Likewise.
17952 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
17953 (ufs_mod_SOURCES): Remove.
17954 (ufs_mod_CFLAGS): Likewise.
17955 (ufs_mod_LDFLAGS): Likewise.
17956 (ufs1_mod_SOURCES): New variable.
17957 (ufs1_mod_CFLAGS): Likewise.
17958 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 17959 (ufs2_mod_SOURCES): New variable.
17960 (ufs2_mod_CFLAGS): Likewise.
17961 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 17962 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
17963 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
17964 Likewise.
17965 (grub_emu_SOURCES): Likewise.
17966 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17967 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17968 (grub_setup_SOURCES): Likewise.
17969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17970 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
17971 (grub_setup_SOURCES): Likewise.
17972 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
17973 Likewise.
17974 * fs/ufs2.c: New file.
17975 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
17976
d3539132 179772009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
17978
17979 Framebuffer split.
17980
17981 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
17982 subsystem at the end.
17983 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
17984 (video_fb_mod_SOURCES): New variable.
17985 (video_fb_mod_CFLAGS): Likewise.
17986 (video_fb_mod_LDFLAGS): Likewise.
17987 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
17988 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
17989 * video/i386/pc/vbeblit.c: Moved from here ...
17990 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
17991 * video/i386/pc/vbefill.c: Moved from here ...
17992 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
17993 * video/i386/pc/vbeutil.c: Moved from here ...
17994 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
17995 * include/grub/i386/pc/vbeblit.h: Moved from here ...
17996 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
17997 * include/grub/i386/pc/vbefill.h: Moved from here ...
17998 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
17999 * include/grub/i386/pc/vbeutil.h: Moved from here ...
18000 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
18001 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
18002 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
18003 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
18004 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
18005 (grub_video_adapter): Added 'get_info_and_fini'.
18006 (grub_video_get_info_and_fini): New prototype.
18007 (grub_video_set_mode): make modestring const char *.
18008 * loader/i386/linux.c (grub_linux_setup_video): Use
18009 grub_video_get_info_and_fini.
18010 (grub_linux_boot): Move modesetting just before booting.
18011 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
18012 grub_video_get_info_and_fini.
18013 * video/i386/pc/vbe.c: Moved framebuffer part ...
18014 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
18015 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
18016 grub_video_fbstd_colors and grub_video_fb_set_palette.
18017 (grub_video_vbe_init): Clear 'framebuffer' variable and use
18018 grub_video_fb_init.
18019 (grub_video_vbe_fini): Use grub_video_fb_fini.
18020 (grub_video_vbe_setup): Use framebuffer.render_target instead of
18021 render_target and use grub_video_fb_set_active_render_target and
18022 grub_video_fb_set_palette.
18023 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
18024 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
18025 (grub_video_vbe_adapter): Use framebuffer.
18026 * video/video.c (grub_video_get_info_and_fini): New function.
18027 (grub_video_set_mode): Make modestring const char *.
18028 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
18029 values are already initialised.
18030
d404ee56 180312009-08-14 Pavel Roskin <proski@gnu.org>
18032
18033 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
18034 ABS and APPLE_CC.
18035 * boot/i386/pc/diskboot.S: Likewise.
18036 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
18037 sectors allow compilation on MacOSX.
18038 * conf/i386-pc.rmk: Enable unconditional compilation of
18039 lnxboot.img.
18040
9a10df16 180412009-08-13 Colin Watson <cjwatson@ubuntu.com>
18042
18043 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
18044 * util/grub.d/00_header.in: Enter interruptible sleep if
18045 GRUB_HIDDEN_TIMEOUT is set.
18046
be3c9ca7 180472009-08-13 Yves Blusseau <blusseau@zetam.org>
18048
18049 * include/grub/symbol.h: Add the LOCAL macro.
18050 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
18051 starting with "L_".
18052
1f9e557e 180532009-08-13 Pavel Roskin <proski@gnu.org>
18054
9ca62843 18055 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
18056 any modern compilers we support.
18057
1f9e557e 18058 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
18059 Use local labels starting with "L_" so that Apple assembler
18060 knows they are local.
18061
81623db6 180622009-08-10 Robert Millan <rmh.grub@aybabtu.com>
18063
18064 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
18065 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
18066 (bsd_kernel_types): ... this enum.
18067
18068 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
18069 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
18070 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
18071
18072 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
18073 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
18074 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
18075 messages.
18076
f5d35e7a 180772009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18078
18079 * util/grub-dumpdevtree: Moved from here ...
18080 * util/i386/efi/grub-dumpdevtree: ... to here.
18081 (hexify): New function. Converts a string to its hex version.
18082 Generate hex versions of "efi" and "device-properties" by calling
18083 hexify() on the ASCII strings rather than by hardcoding numbers.
18084
d1e1d527 180852009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18086
18087 * fs/jfs.c: Update copyright year.
18088
1ebbe064 180892009-08-08 Felix Zielcke <fzielcke@z-51.de>
18090
18091 * util/grub.d/00_header.in: Fix a comment.
18092 * util/grub.d/10_linux.in: Likewise.
18093 * util/grub.d/10_windows.in: Likewise.
18094 * util/grub.d/10_hurd.in: Likewise.
18095
a78c8d24 180962009-08-08 Felix Zielcke <fzielcke@z-51.de>
18097
18098 * util/grub-mkconfig.in: Allow the user to specify the used font
18099 with GRUB_FONT.
18100
29a6b9e8 181012009-08-08 Pavel Roskin <proski@gnu.org>
18102
b5f16cc4 18103 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
18104 available, xfs.mod needs it now.
18105
2f5cb827 18106 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
18107 the "g" modifier in sed when the intention is to strip something
18108 once. This fixes comparison of kernels with multiple dashes.
18109
29a6b9e8 18110 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
18111 on it. Add missing space before closing bracket. Fix
18112 misleading formatting.
18113
892a3d98 181142009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18115
18116 * docs/grub.texi: Major overhaul. Remove all sections that are
18117 specific to GRUB Legacy, or mostly composed of Legacy-specific
18118 information.
18119
ed94253f 181202009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18121
18122 * docs/version.texi: New file. Provides version information for
18123 grub.texi.
18124
126d6628 181252009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18126
18127 * docs/grub.texi: Update CVS information to SVN.
18128 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
18129
998b5aa9 181302009-08-07 Felix Zielcke <fzielcke@z-51.de>
18131
18132 * util/grub-mkconfig.in: Remove a wrong `fi'.
18133
818e094a 181342009-08-07 Felix Zielcke <fzielcke@z-51.de>
18135
18136 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
18137 (grub_jfs_uuid): New function.
18138 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
18139
b969c52f 181402009-08-07 Felix Zielcke <fzielcke@z-51.de>
18141
18142 * util/grub-mkconfig_lib.in (font_path): Move the functionality
18143 of it to ...
18144 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
18145 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
18146
7a4894cc 181472009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18148
18149 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
18150 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
18151 Update all users.
18152
18153 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
18154 not just "vmlinu[zx]".
18155 Moved from here ...
18156 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
18157 all users.
18158
18159 * util/grub.d/10_linux.in (find_latest): Moved from here ...
18160 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
18161 all users.
18162
4e2171f8 181632009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18164
18165 * util/grub.d/10_freebsd.in: Use an absolute device path for
18166 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
18167
6dcfcb32 181682009-08-06 Felix Zielcke <fzielcke@z-51.de>
18169
18170 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
18171 handling of multiple abstraction modules.
18172
f56a8756 181732009-08-04 Robert Millan <rmh.grub@aybabtu.com>
18174
18175 Fix a bug resulting in black screen when loading Linux using a
18176 packed video mode.
18177
18178 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
18179 function.
18180
18181 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
18182 (grub_vbe_bios_getset_dac_palette_width): New function.
18183 (grub_vbe_bios_get_dac_palette_width)
18184 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
18185 grub_vbe_bios_getset_dac_palette_width()).
18186
18187 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
18188 check for return status.
18189 (grub_vbe_get_video_mode_info): When getting information for a packed
18190 mode (<= 8 bpp), obtain DAC palette width using
18191 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
18192 {red,green,blue}_mark_size.
18193
222671b2 181942009-08-04 Felix Zielcke <fzielcke@z-51.de>
18195
ecb1a6d9 18196 * commands/search.c (options): Fix help output to match actual code.
222671b2 18197
f84114f5 181982009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
18199
18200 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
18201 of homegrown code.
18202
bd288a20 182032009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 18204
18205 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
18206 on XFS or ReiserFS.
18207
8aab5e25 182082009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18209
18210 Support Apple partition map with sector size different from 512 bytes.
18211
18212 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
18213 (apple_partition_map_iterate): Respect 'aheader.blocksize'
18214 and 'apart.partmap_size'.
18215
6ad6258a 182162009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
182172009-08-01 Robert Millan <rmh.grub@aybabtu.com>
18218
18219 Fix cpuid command.
18220
18221 * commands/i386/cpuid.c (options): New variable.
18222 (grub_cmd_cpuid): Return real error.
18223 (GRUB_MOD_INIT(cpuid)): Declare options.
18224
67459bc6 182252009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
18226
18227 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
18228 valid.
18229
fbc6ab54 182302009-07-31 Bean <bean123ch@gmail.com>
18231
18232 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
18233 log2_inode.
18234 (grub_fshelp_node): Move inode field to the end.
18235 (grub_xfs_data): Remove inode field.
18236 (grub_xfs_inode_block): Calculate inode size using sblock.
18237 (grub_xfs_inode_offset): Likewise.
18238 (grub_xfs_read_inode): Calculate inode size using sblock.
18239 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
18240 (grub_xfs_iterate_dir): Calculate inode size using sblock.
18241 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
18242 to match inode size.
18243 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
18244 not accessible when data is null.
18245 (grub_xfs_open): Likewise.
18246
f45d6cfc 182472009-07-31 Bean <bean123ch@gmail.com>
18248
18249 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
18250 Don't change pv->disk if it's already set.
18251
18252 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
18253 (grub_raid_register): ... here.
18254 (grub_raid_rescan): Removed.
18255
18256 * include/grub/raid.h (grub_raid_rescan): Removed.
18257
18258 * util/grub-fstest.c: Remove include file <grub/raid.h>.
18259 (fstest): Replace grub_raid_rescan with module fini function followed
18260 by init function.
18261
18262 * util/grub-probe.c: Add include file <grub/raid.h>.
18263 (probe_raid_level): New function.
18264 (probe): Detect abstraction by walking the disk device, support two
18265 level of abstraction (LVM on RAID) when detecting partition map.
18266
24443b5a 182672009-07-31 Pavel Roskin <proski@gnu.org>
18268
18269 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
18270 to grub_zalloc(), it was erroneous.
18271 Reported by Bean <bean123ch@gmail.com>
18272
a275d9e7 182732009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
18274
18275 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 18276 embedding zone, not only the first one.
a275d9e7 18277
56c5a47f 182782009-07-29 Joe Auricchio <jauricchio@gmail.com>
18279
18280 * term/gfxterm.c (clear_char): New function.
18281 (grub_virtual_screen_setup): Use clear_char.
18282 (scroll_up): Likewise.
18283 (grub_virtual_screen_cls): Likewise.
18284
67bb323a 182852009-07-29 Felix Zielcke <fzielcke@z-51.de>
18286
18287 * util/deviceiter.c (get_acceleraid_disk_name): New static
18288 function.
18289 (grub_util_iterate_devices): Handle Accelraid devices.
18290 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
18291
388a7c75 182922009-07-28 Robert Millan <rmh.grub@aybabtu.com>
18293
18294 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
18295 separator for the suggested gfxpayload string (';' collides with the
18296 parser and needs escaping).
18297
3bb7abcf 182982009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18299
18300 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
18301 Clear direction flag before jumping to OS.
18302 (grub_multiboot2_real_boot): Likewise.
18303
2ddd36d7 183042009-07-28 Felix Zielcke <fzielcke@z-51.de>
18305
18306 * util/i386/pc/grub-install: Fix parsing of --disk-module
18307 option.
18308
c521b62b 183092009-07-28 Felix Zielcke <fzielcke@z-51.de>
18310
18311 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
18312 when embedding.
18313
880e0a0c 183142009-07-26 Felix Zielcke <fzielcke@z-51.de>
18315
18316 * util/grub-mkconfig.in (package_version): New variable.
18317 Use it do display the version.
18318
2366e356 183192009-07-25 Felix Zielcke <fzielcke@z-51.de>
18320
18321 * kern/file.c (grub_file_open): Revert to previous check with
18322 grub_errno.
18323
7ad8c80e 183242009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18325
18326 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
18327 from help line. It's out of sync with code.
18328
72b9658b 183292009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18330
18331 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
18332 entries on failed boot.
18333
77435277 183342009-07-25 Felix Zielcke <fzielcke@z-51.de>
18335
18336 * kern/file.c (grub_file_open): Fix an error check.
18337
fcaa8b21 183382009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
18339
35d16c74 18340 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
18341 partition map couldn't be identified.
fcaa8b21 18342
48904cd1 183432009-07-23 Pavel Roskin <proski@gnu.org>
18344
ef3c317f 18345 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
18346 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
18347 case of little endian words becomes just an optimization.
18348 Respect const modifier.
ad8ea1f4 18349 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 18350
48904cd1 18351 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
18352 to avoid loss of upper bits if align is unsigned and shorter
18353 than addr.
18354
260c9a89 183552009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
18356
18357 UUID support for UFS
18358
18359 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
18360 (grub_ufs_uuid): New function.
18361 (grub_ufs_fs): add .uuid
18362
f76ce889 183632009-07-21 Pavel Roskin <proski@gnu.org>
18364
18365 * kern/dl.c (grub_dl_check_header): Make static.
18366
6a6cbcaf 183672009-07-21 Felix Zielcke <fzielcke@z-51.de>
18368
18369 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
18370 add drivemap for Vista. It breaks Windows 7.
18371
cffcddb2 183722009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
18373
18374 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
18375 128 bytes
18376
1ef44b80 183772009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18378
18379 Add BFS support
18380
18381 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
18382 (grub_fstest_SOURCES): Likewise.
18383 (pkglib_MODULES): Add befs.mod.
18384 (befs_mod_SOURCES): New variable.
18385 (befs_mod_CFLAGS): Likewise.
18386 (befs_mod_LDFLAGS): Likewise.
18387 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18388 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18389 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18390 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18391 (grub_setup_SOURCES): Likewise.
18392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18393 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18394 (grub_setup_SOURCES): Likewise.
18395 * fs/befs.c: New file.
18396 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
18397 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
18398 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
18399 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
18400 (B_KEY_INDEX_ALIGN): New declaration.
18401 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
18402 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
18403 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
18404 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
18405 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
18406 (grub_afs_mount) [MODE_BFS]: Likewise.
18407 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
18408 (grub_afs_fs): Use GRUB_AFS_FSNAME
18409 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
18410 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
18411 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
18412 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
18413
4f253044 184142009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
18415
18416 * util/getroot.c (find_root_device): Add support for MacOSX.
18417 * util/hostdisk.c: Likewise.
18418
57a55913 184192009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18420
18421 * font/font.c (find_glyph): Check whether a font is present to avoid
18422 segmentation fault.
75421ca9 18423
184242009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 18425
18426 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
18427
e98cd0c2 184282009-07-20 Pavel Roskin <proski@gnu.org>
18429
18430 * configure.ac: Trim excessively wordy excuses.
18431
1d2d169a 184322009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18433
18434 Add symlink, mtime and label support to AtheFS.
18435
18436 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
18437 (grub_afs_iterate_dir): Handle symlinks.
18438 (grub_afs_open): Use grub_afs_read_symlink.
18439 (grub_afs_dir): Likewise.
18440 Pass mtime.
18441 (grub_afs_label): New function.
18442 (grub_afs_fs): Add grub_afs_label.
18443 (grub_afs_read_symlink): New function.
18444
186f3189 184452009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18446
18447 Fix AtheFS support.
18448
18449 * fs/afs.c: Fix comments style.
18450 (grub_afs_blockrun): Declare as packed.
18451 (grub_afs_datastream): Likewise.
18452 (grub_afs_bnode): Likewise.
18453 (grub_afs_btree): Likewise.
18454 (grub_afs_sblock): Likewise.
18455 Declare `name' as char.
18456 (grub_afs_inode): Declare as packed.
18457 Change void *vnode to grub_uint32_t unused.
18458 (grub_afs_iterate_dir): Check that key_size is positive.
18459 (grub_afs_mount): Don't read superblock twice.
75421ca9 18460 (grub_afs_dir): Don't free node in case of error,
186f3189 18461 grub_fshelp_find_file already handles this.
18462 (grub_afs_open): Likewise.
18463
5680109e 184642009-07-19 Pavel Roskin <proski@gnu.org>
18465
18466 * Makefile.in: Remove LIBLZO and enable_lzo.
18467 * conf/i386-pc.rmk: Remove lzo support.
18468 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
18469 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
18470 support.
18471 * kern/i386/pc/lzo1x.S: Remove.
18472 * kern/i386/pc/startup.S: Remove lzo support.
18473 * util/i386/pc/grub-mkimage.c: Likewise.
18474
ac70fa32 184752009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
18476
18477 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
18478 * fs/xfs.c (grub_xfs_dir): Likewise.
18479 * fs/afs.c (grub_afs_dir): Likewise.
18480 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
18481 (grub_iso9660_open): Likewise.
18482 * fs/jfs.c (grub_jfs_open): Likewise.
18483 * fs/ext2.c (grub_ext2_dir): Likewise.
18484 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
18485 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 18486
eab58da2 184872009-07-16 Pavel Roskin <proski@gnu.org>
18488
d2838156 18489 * configure.ac: Never add "-c" to CFLAGS.
18490
55c70904 18491 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
18492
43e6200c 18493 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
18494 grub_cv_cc_efiemu should be used.
18495
ce7a733d 18496 * configure.ac: Typo fixes.
18497
eab58da2 18498 * kern/mm.c (grub_zalloc): New function.
18499 (grub_debug_zalloc): Likewise.
18500 * include/grub/mm.h: Declare grub_zalloc() and
18501 grub_debug_zalloc().
18502 * util/misc.c (grub_zalloc): New function.
18503 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
18504 instead of grub_malloc(), remove unneeded initializations.
18505 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
18506 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
18507 * commands/parttool.c (grub_cmd_parttool): Likewise.
18508 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
18509 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
18510 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
18511 * disk/usbms.c (grub_usbms_finddevs): Likewise.
18512 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
18513 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
18514 (grub_cmd_efiemu_pnvram): Likewise.
18515 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
18516 * fs/iso9660.c (grub_iso9660_mount): Likewise.
18517 (grub_iso9660_iterate_dir): Likewise.
18518 * fs/jfs.c (grub_jfs_opendir): Likewise.
18519 * fs/ntfs.c (list_file): Likewise.
18520 (grub_ntfs_mount): Likewise.
18521 * kern/disk.c (grub_disk_open): Likewise.
18522 * kern/dl.c (grub_dl_load_core): Likewise.
18523 * kern/elf.c (grub_elf_file): Likewise.
18524 * kern/env.c (grub_env_context_open): Likewise.
18525 (grub_env_set): Likewise.
18526 (grub_env_set_data_slot): Likewise.
18527 * kern/file.c (grub_file_open): Likewise.
18528 * kern/fs.c (grub_fs_blocklist_open): Likewise.
18529 * loader/i386/multiboot.c (grub_module): Likewise.
18530 * loader/xnu.c (grub_xnu_create_key): Likewise.
18531 (grub_xnu_create_value): Likewise.
18532 * normal/main.c (grub_normal_add_menu_entry): Likewise.
18533 (read_config_file): Likewise.
18534 * normal/menu_entry.c (make_screen): Likewise.
18535 * partmap/sun.c (sun_partition_map_iterate): Likewise.
18536 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
18537 * script/sh/script.c (grub_script_parse): Likewise.
18538 * video/bitmap.c (grub_video_bitmap_create): Likewise.
18539 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18540 * video/readers/png.c (grub_png_output_byte): Likewise.
18541 (grub_video_reader_png): Likewise.
18542
830afef7 185432009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 18544
18545 Enable all targets that can be built by default
18546
830afef7 18547 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 18548 grub-mkfont and grub-fstest if they can be built
18549
ee293aee 185502009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18551
18552 Fix hang and segmentation fault in grub-emu-usb
18553
18554 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
18555 * util/usb.c (grub_libusb_devices): likewise
18556 (grub_libusb_init): rename to ...
18557 (GRUB_MOD_INIT (libusb)):...this
18558 (grub_libusb_fini): rename to ..
18559 (GRUB_MOD_FINI (libusb)):...this
18560 * disk/usbms.c (grub_usbms_transfer): fix retry logic
18561 * include/grub/disk.h (grub_raid_init): removed, it's useless
18562 (grub_raid_fini): likewise
18563 (grub_lvm_init): likewise
18564 (grub_lvm_fini): likewise
18565 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
18566 by grub_init_all
18567
94414221 185682009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18569
18570 Fix libusb
18571
18572 * Makefile.in (LIBUSB): new macro
18573 * genmk.rb (Utility/print_tail): new method
18574 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
18575 (top level): call util.print_tail at the end.
18576
59ade63d 185772009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18578
18579 Make FreeBSD accept zpool.cache
18580
18581 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
18582 type is /boot/zfs/zpool.cache
18583
a58da8c7 185842009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18585
18586 Fix 64-bit efiemu
18587
18588 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
18589 correct wrong typedef
18590 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
18591
20591577 185922009-07-15 Pavel Roskin <proski@gnu.org>
18593
560ca572 18594 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
18595 * kern/disk.c (struct grub_disk_cache): Likewise.
18596
e8e8e4fd 18597 * commands/probe.c (options): Typo fix.
18598
fde24e10 18599 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
18600 Increase to 0x5a to accommodate FAT32. Adjust other offsets
18601 accordingly.
18602 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
18603
379c54c1 18604 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
18605 the end of "Error" to make the message more readable.
18606
7bd8f5bf 18607 * boot/i386/pc/boot.S (kernel_segment): Remove.
18608 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
18609 for destination.
18610
40b132c5 18611 * boot/i386/pc/boot.S (boot_version): Remove.
18612 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
18613 Remove.
18614
20591577 18615 * include/grub/i386/pc/boot.h: Sort all offsets.
18616 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
18617 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
18618 * boot/i386/pc/boot.S: Assert location of every offset listed in
18619 include/grub/i386/pc/boot.h.
18620
2df32b2c 186212009-07-13 Pavel Roskin <proski@gnu.org>
18622
44b5d879 18623 * include/grub/i386/coreboot/machine.h: Rename
18624 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
18625 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
18626 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
18627
17dc3751 18628 * kern/dl.c: Force native word size to suppress warnings when
18629 compiling grub-emu.
18630
2df32b2c 18631 * kern/device.c (grub_device_iterate): Change struct part_ent to
18632 hold the name, not a pointer to it. Use one grub_malloc() per
18633 partition, not two. Free partition_name if grub_malloc() fails.
18634 Set ents to NULL only before grub_partition_iterate() is called.
18635
75c59f59 186362009-07-11 Bean <bean123ch@gmail.com>
18637
18638 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
18639 childname.
18640
0ae1bf88 186412009-07-10 Bean <bean123ch@gmail.com>
186422009-07-10 Robert Millan <rmh.grub@aybabtu.com>
18643
18644 * kern/ieee1275/openfw.c (grub_children_iterate)
18645 (grub_devalias_iterate): Fix size evaluation for property or path
18646 strings, which was broken since r2132.
18647
8279cade 186482009-07-07 Pavel Roskin <proski@gnu.org>
18649
7d8a52d3 18650 * commands/search.c (search_file): Merge into ...
18651 (search_fs): ... this. Accept search type as argument.
18652 (grub_cmd_search): Pass search type to search_fs().
18653
25f9a05a 18654 * include/grub/util/console.h: New file.
18655 * util/console.c: Use it instead of grub/machine/console.h.
18656 * util/grub-emu.c: Likewise.
18657
8279cade 18658 * lib/arg.c (find_long_option): Remove.
18659 (find_long): Add `len' argument, make `s' const char *.
18660 (grub_arg_parse): Parse long options in place, not in a
18661 temporary buffer.
18662
4a11b60f 186632009-07-06 Pavel Roskin <proski@gnu.org>
18664
99f68041 18665 * commands/search.c (search_fs): Fix potential NULL pointer
18666 dereference.
18667
4a11b60f 18668 * commands/search.c (search_fs): Replace QUID macro with quid_fn
18669 function pointer.
18670
e110f4de 186712009-07-06 Daniel Mierswa <impulze@impulze.org>
18672
18673 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
18674 comparison.
18675
46eeb6a2 186762009-07-05 Pavel Roskin <proski@gnu.org>
18677
bab74958 18678 * include/grub/i386/linux.h (struct linux_kernel_params):
18679 Restore padding3, it's still needed.
18680
46eeb6a2 18681 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
18682 FreeBSD.
18683 * util/osdetect.lua: Likewise.
18684
b4a1dc79 186852009-07-05 Bean <bean123ch@gmail.com>
18686
18687 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
18688
18689 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
18690 (grub_lua_getenv): Likewise.
18691 (grub_lua_setenv): Likewise.
18692 (save_errno): New function.
18693 (push_result): Likewise.
18694 (grub_lua_enum_device): Likewise.
18695 (grub_lua_enum_file): Likewise.
18696 (grub_lua_file_open): Likewise.
18697 (grub_lua_file_close): Likewise.
18698 (grub_lua_file_seek): Likewise.
18699 (grub_lua_file_read): Likewise.
18700 (grub_lua_file_getline): Likewise.
18701 (grub_lua_file_getsize): Likewise.
18702 (grub_lua_file_getpos): Likewise.
18703 (grub_lua_file_eof): Likewise.
18704 (grub_lua_file_exist): Likewise.
18705 (grub_lua_add_menu): Likewise.
18706
18707 * script/lua/grub_lua.h (isupper): New inline function.
18708 (islower): Likewise.
18709 (ispunct): Likewise.
18710 (isxdigit): Likewise.
18711 (strcspn): Change to normal function.
18712 (strpbkr): New function declaration.
18713 (memchr): Likewise.
18714
18715 * script/lua/grub_main.c (scan_str): New function.
18716 (strcspn): Likewise.
18717 (strpbrk): Likewise.
18718 (memchr): Likewise.
18719
18720 * script/lua/linit.c (lualibs): Enable the string library.
18721
18722 * util/osdetect.lua: New file.
18723
2da92295 187242009-07-04 Robert Millan <rmh.grub@aybabtu.com>
18725
18726 * include/grub/i386/linux.h (struct linux_kernel_params): Add
18727 `capabilities' member.
18728
b2582ec9 187292009-07-02 Pavel Roskin <proski@gnu.org>
18730
18731 * genparttoollist.sh: Add missing newline at the end.
18732
32622956 187332009-07-01 Pavel Roskin <proski@gnu.org>
18734
87a7339e 18735 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
18736
d23af54e 18737 * util/hostdisk.c (open_device): Remove `const' from
18738 `sysctl_size', as sysctlbyname() can change it (in this case it
18739 doesn't actually happen).
18740
c94b18a9 18741 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
18742 using signed long int constants.
18743
c6cd3ef0 18744 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
18745 constant to avoid a warning on FreeBSD.
18746
0df63420 18747 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
18748 where it's needed.
18749
999577f1 18750 * Makefile.in: Install include/grub/machine symlink.
18751
6f41557f 18752 * Makefile.in: When installing symlinks, use "cp -fR", which
18753 works on FreeBSD and MacOSX.
18754 From Yves Blusseau <cl7m42e02@sneakemail.com>
18755
c8d22988 18756 * kern/dl.c (grub_dl_resolve_symbol): Make static.
18757 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
18758
1b96e952 18759 * util/misc.c: Move grub_reboot() and grub_halt() ...
18760 * util/grub-emu.c: ... here. Make main_env static.
18761 * include/grub/util/misc.h: Remove main_env.
18762
2ef0084d 18763 * kern/mm.c: Use correct format to print size_t.
18764
32622956 18765 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
18766 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
18767 * kern/powerpc/dl.c: Likewise.
18768 * kern/sparc64/dl.c: Likewise.
18769 * kern/x86_64/dl.c: Likewise.
18770
3f7f0cd0 187712009-07-01 Robert Millan <rmh.grub@aybabtu.com>
18772
18773 Fix grub-emu build on sparc64-ieee1275.
18774
75421ca9 18775 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 18776 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
18777
211d06b5 187782009-07-01 Robert Millan <rmh.grub@aybabtu.com>
18779
18780 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
18781 (grub_reboot, grub_halt): New functions.
18782
18783 * util/i386/pc/misc.c: Delete. Update all users.
18784 * util/sparc64/ieee1275/misc.c: Likewise.
18785 * util/powerpc/ieee1275/misc.c: Likewise.
18786
aaf53e3c 187872009-07-01 Robert Millan <rmh.grub@aybabtu.com>
18788
18789 * conf/i386.rmk (setjmp_mod_SOURCES)
18790 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
18791 * conf/common.rmk (setjmp_mod_SOURCES)
18792 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
18793 to use $(target_cpu).
18794 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
18795 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
18796 * conf/powerpc-ieee1275.rmk: Likewise.
18797 * conf/sparc64-ieee1275.rmk: Likewise.
18798
18799 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
18800 $(target_cpu) for kern/$(target_cpu)/dl.c.
18801 * conf/i386-efi.rmk: Likewise.
18802 * conf/i386-ieee1275.rmk: Likewise.
18803 * conf/x86_64-efi.rmk: Likewise.
18804 * conf/i386-coreboot.rmk: Likewise.
18805 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
18806 $(target_cpu) for kern/$(target_cpu)/dl.c and for
18807 kern/$(target_cpu)/cache.S.
18808 * conf/sparc64-ieee1275.rmk: Likewise.
18809
a337130b 188102009-07-01 Robert Millan <rmh.grub@aybabtu.com>
18811
18812 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
18813 type to `grub_uint8_t', and adjust `padding9' accordingly.
18814
c6fe4d53 188152009-06-29 Robert Millan <rmh.grub@aybabtu.com>
18816
b09db61d 18817 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
18818
c6fe4d53 18819 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
18820 assembly in final jump, using register constraints.
18821
b09db61d 18822 (grub_linux_boot): For text mode, initialize `have_vga' using
18823 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
18824
18825 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
18826 right before the final jump.
18827
18828 Set `video_mode' to 0x3.
18829
18830 Document initialization of `video_page', `video_mode' and
18831 `video_ega_bx'.
18832
28333ad0 188332009-06-29 Robert Millan <rmh.grub@aybabtu.com>
18834
18835 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
18836 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 18837 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 18838
02164e1b 188392009-06-29 Robert Millan <rmh.grub@aybabtu.com>
18840
18841 Fix build on Debian / sparc.
18842
18843 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
18844
18b6c557 188452009-06-28 Pavel Roskin <proski@gnu.org>
18846
85f2aab6 18847 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
18848 fix a warning.
18849
18b6c557 18850 * util/grub.d/10_linux.in: Match SUSE style initrd names.
18851
ad760f81 188522009-06-27 Robert Millan <rmh.grub@aybabtu.com>
18853
18854 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
18855 `err'.
18856
87a4623b 188572009-06-27 Robert Millan <rmh.grub@aybabtu.com>
18858
18859 Revert r2338.
18860
18861 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
18862 file can't be opened. grub_file_open() is already supposed to set
75421ca9 18863 grub_errno / grub_errmsg appropriately.
87a4623b 18864 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18865
8231fb77 188662009-06-27 Pavel Roskin <proski@gnu.org>
188672009-06-27 Robert Millan <rmh.grub@aybabtu.com>
18868
18869 * include/grub/dl.h: Include grub/elf.h.
18870 (struct grub_dl): Add symtab field.
18871 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
18872 GRUB_MODULES_MACHINE_READONLY.
18873 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
18874 of the header for read-only modules.
18875 (grub_dl_unload): Free mod->symtab for read-only modules.
18876 * kern/i386/dl.c: Use mod->symtab.
18877 * kern/powerpc/dl.c: Likewise.
18878 * kern/sparc64/dl.c: Likewise.
18879 * kern/x86_64/dl.c: Likewise.
18880
18881 * conf/i386-qemu.rmk: New file.
18882 * kern/i386/qemu/startup.S: Likewise.
18883 * kern/i386/qemu/mmap.c: Likewise.
18884 * boot/i386/qemu/boot.S: Likewise.
18885 * include/grub/i386/qemu/time.h: Likewise.
18886 * include/grub/i386/qemu/serial.h: Likewise.
18887 * include/grub/i386/qemu/kernel.h: Likewise.
18888 * include/grub/i386/qemu/console.h: Likewise.
18889 * include/grub/i386/qemu/boot.h: Likewise.
18890 * include/grub/i386/qemu/init.h: Likewise.
18891 * include/grub/i386/qemu/machine.h: Likewise.
18892 * include/grub/i386/qemu/loader.h: Likewise.
18893 * include/grub/i386/qemu/memory.h: Likewise.
18894
18895 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
18896 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
18897 [qemu] (pkglib_IMAGES): Add `boot.img'.
18898 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
18899 [qemu] (boot_img_FORMAT): New variables.
18900 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
18901 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
18902 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
18903 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18904 [qemu] (kernel_img_FORMAT): New variables.
18905
18906 * configure.ac: Recognise `i386-qemu'.
18907
18908 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
18909 (for no compression).
18910 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
18911 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
18912 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
18913 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
18914 ifdefs).
18915
97fe384e 189162009-06-27 Pavel Roskin <proski@gnu.org>
18917
18918 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
18919 read.
18920 * efiemu/prepare32.c: Likewise.
18921 * efiemu/prepare64.c: Likewise.
18922
c402ab17 189232009-06-26 Pavel Roskin <proski@gnu.org>
18924
18925 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
18926 * include/grub/elf.h: Define symbols without "32" or "64" based
18927 on GRUB_TARGET_WORDSIZE.
18928 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
18929 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
18930 ELF definitions.
18931 * efiemu/loadcore64.c: Likewise.
18932 * loader/i386/bsd32.c: Likewise.
18933 * loader/i386/bsd64.c: Likewise.
18934 * kern/dl.c: Remove own ELF definitions.
18935 * util/i386/efi/grub-mkimage.c: Likewise.
18936
9bbdfd4d 189372009-06-23 Robert Millan <rmh.grub@aybabtu.com>
18938
18939 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
18940 segment 0x0 unconditionally, because the reference generated by
18941 GAS is an absolute address.
18942
a42ce6e9 189432009-06-22 Robert Millan <rmh.grub@aybabtu.com>
18944
18945 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
18946 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
18947
c952cf92 189482009-06-22 Robert Millan <rmh.grub@aybabtu.com>
18949
18950 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
18951 indexes. Check for -f explicitly.
cc3752ad 18952 (search_file): Improve error message.
18953 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 18954
132a0a59 189552009-06-22 Robert Millan <rmh.grub@aybabtu.com>
18956
18957 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
18958 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
18959
387a140c 189602009-06-22 Robert Millan <rmh.grub@aybabtu.com>
18961
18962 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
18963 * conf/i386-ieee1275.rmk: Likewise.
18964 * conf/i386-coreboot.rmk: Likewise.
18965
18966 * kern/i386/pc/startup.S (grub_stop): Remove function.
18967 * kern/i386/ieee1275/startup.S: Likewise.
18968 * kern/i386/coreboot/startup.S: Likewise.
18969 * kern/i386/misc.S (grub_stop): New function.
18970
41da9665 189712009-06-22 Robert Millan <rmh.grub@aybabtu.com>
18972
18973 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
18974 * kern/i386/realmode.S (real_to_prot): ... to here.
18975
bf337234 189762009-06-22 Robert Millan <rmh.grub@aybabtu.com>
18977
18978 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
18979 with `kernel.img'.
18980 (kernel_elf_SOURCES): Rename to ...
18981 (kernel_img_SOURCES): ... this.
18982 (kernel_elf_HEADERS): Rename to ...
18983 (kernel_img_HEADERS): ... this. Update all users.
18984 (kernel_elf_ASFLAGS): Rename to ...
18985 (kernel_img_ASFLAGS): ... this.
18986 (kernel_elf_CFLAGS): Rename to ...
18987 (kernel_img_CFLAGS): ... this.
18988 (kernel_elf_LDFLAGS): Rename to ...
18989 (kernel_img_LDFLAGS): ... this.
18990 * conf/i386-coreboot.rmk: Likewise.
18991 * conf/powerpc-ieee1275.rmk: Likewise.
18992
18993 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
18994 with "kernel.img".
18995
f52196ff 189962009-06-21 Pavel Roskin <proski@gnu.org>
18997
c3cee413 18998 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
18999 to match nested functions.
19000 * loader/sparc64/ieee1275/linux.c: Likewise.
19001
f52196ff 19002 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
19003
58750afc 190042009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19005
19006 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
19007 all i386 platforms.
19008
15355c7d 190092009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19010
19011 Fix asm file handling on ELF, and remove workarounds.
19012
19013 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 19014 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 19015 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
19016 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
19017
3f3ec72b 190182009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
19019
19020 Load BSD ELF modules
19021
19022 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
19023 and loader/i386/bsd64.c
19024 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
19025 (FREEBSD_MODTYPE_ELF_MODULE): New definition
19026 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
19027 (grub_freebsd_load_elfmodule32): New declaration
19028 (grub_freebsd_load_elfmoduleobj64): Likewise
19029 (grub_freebsd_load_elf_meta32): Likewise
19030 (grub_freebsd_load_elf_meta64): Likewise
19031 (grub_freebsd_add_meta): Likewise
19032 (grub_freebsd_add_meta_module): Likewise
19033 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
19034 (grub_freebsd_add_meta_module): Likewise and move module-specific
19035 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
19036 (grub_cmd_freebsd): Add elf-kernel specific parts
19037 based on grub_freebsd_add_meta_module
19038 (grub_cmd_freebsd_module): Add type parsing moved from
19039 grub_freebsd_add_meta_module
19040 (grub_cmd_freebsd_module_elf): New function
19041 (cmd_freebsd_module_elf): New variable
19042 (GRUB_MOD_INIT): Register freebsd_module_elf
19043 * loader/i386/bsd32.c: New file
19044 * loader/i386/bsd64.c: Likewise
19045 * loader/i386/bsdXX.c: Likewise
19046 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
19047 (grub_elf64_load): Likewise
19048 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
19049 All users updated
19050 (grub_elf64_load_hook_t): Likewise
19051
0db15301 190522009-06-21 Colin Watson <cjwatson@ubuntu.com>
19053
19054 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
19055 variable.
19056 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
19057 don't write a menu entry for recovery mode.
19058
546796c1 190592009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19060
19061 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
19062 after it's no longer needed.
19063
cd7310d5 190642009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19065
19066 * include/grub/i386/loader.h (grub_linux_prot_size)
19067 (grub_linux_tmp_addr, grub_linux_real_addr)
19068 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
19069 GRUB_MACHINE_PCBIOS.
19070 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
19071 common grub_util_info() call to ...
19072 (generate_image): ... here.
19073 Fix use of uninitialized memory, comparison of signed with
19074 unsigned integers and memory leak.
19075 Remove bogus module address message.
19076
ab32d3b5 190772009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19078
19079 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
19080 grub_raid_register
19081 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
19082
024ef597 190832009-06-19 Pavel Roskin <proski@gnu.org>
19084
19085 * configure.ac: Remove stray AC_MSG_CHECKING.
19086
3ac72b51 190872009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
19088
19089 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 19090
e14cd814 190912009-06-18 Pavel Roskin <proski@gnu.org>
19092
19093 * conf/common.rmk: Add fs_file.mod.
19094 * disk/fs_file.c: New file.
19095 * include/grub/disk.h (enum grub_disk_dev_id): Add
19096 GRUB_DISK_DEVICE_FILE_ID.
19097
26586d98 190982009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19099
19100 Fix build with Apple's toolchain. Part 2
19101
19102 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
19103 a fake start
19104
26de2bcd 191052009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19106
19107 Fix build with Apple's toolchain. Part 1
19108
19109 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
19110 for long calls
19111 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 19112 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 19113 Apple's toolchain
19114
09b3490b 191152009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19116
19117 Fix warnings
19118
19119 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
19120 (decomp_block): initialize ch
19121 use grub_memcpy instead of memcpy
19122
c22a006a 191232009-06-17 Pavel Roskin <proski@gnu.org>
19124
d3638678 19125 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
19126 version, use declarations needed to use vga_text as the startup
19127 console.
19128
c22a006a 19129 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
19130 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
19131 the kernel.
19132 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
19133 and grub_at_keyboard_fini(), it's done on module load and
19134 unload.
19135
05b129e0 191362009-06-17 Felix Zielcke <fzielcke@z-51.de>
19137
19138 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
19139 file can't be found.
19140 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19141
cf24ed9e 191422009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19143
19144 Fix newline handling
19145
19146 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 19147 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 19148 (grub_script_yylex): don't segfault on unterminated script
19149 newline terminates command and variable
19150
74aa8e4b 191512009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19152
19153 avoid double grub_adjust_range call. Bug reported by David Simner
19154
19155 * kern/disk.c (grub_disk_write): change to raw disk access before
19156 calling disk_read
19157
1bd265f3 191582009-06-17 Colin Watson <cjwatson@ubuntu.com>
19159
19160 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
19161 spaces, for the benefit of help2man.
19162 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19163
a2d08c06 191642009-06-16 Pavel Roskin <proski@gnu.org>
19165
19166 * kern/i386/halt.c: Include grub/machine/init.h.
19167 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
19168
b97bcb19 191692009-06-16 Felix Zielcke <fzielcke@z-51.de>
19170
19171 * util/grub.d/30_os-prober.in: Use ${root} in the generated
19172 drivemap menuentry.
19173
0644f96c 191742009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
19175
19176 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
19177 `echo' command.
19178
3ef17a2e 191792009-06-16 Pavel Roskin <proski@gnu.org>
19180
19181 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
19182 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
19183 save %dx, we only need %dl and we never change it.
19184 * boot/i386/pc/cdboot.S: Don't set the root drive.
19185 * boot/i386/pc/pxeboot.S: Likewise.
19186 * include/grub/i386/pc/boot.h: Remove
19187 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
19188 GRUB_BOOT_MACHINE_DRIVE_CHECK.
19189 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
19190 * kern/i386/pc/init.c (make_install_device): Remove references
19191 to grub_root_drive.
19192 * kern/i386/pc/startup.S: Likewise.
19193 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
19194
693fe637 191952009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19196
19197 xnu_uuid command
19198
19199 * commands/xnu_uuid.c: new file
19200 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
19201 (xnu_uuid_mod_SOURCES): new variable
19202 (xnu_uuid_mod_CFLAGS): likewise
19203 (xnu_uuid_mod_LDFLAGS): likewise
19204 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19205 * conf/i386-ieee1275.rmk: likewise
19206 * conf/i386-pc.rmk: likewise
19207 * conf/powerpc-ieee1275.rmk: likewise
19208 * conf/sparc64-ieee1275.rmk: likewise
19209 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
19210
c9da87d0 192112009-06-16 Pavel Roskin <proski@gnu.org>
19212
19213 * configure.ac: Avoid '==' in test command, it's not portable.
19214
9c6f4596 192152009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19216
19217 Probe command
19218
19219 * commands/probe.c: new file
19220 * conf/common.rmk (pkglib_MODULES): add probe.mod
19221 (probe_mod_SOURCES): new variable
19222 (probe_mod_CFLAGS): likewise
19223 (probe_mod_LDFLAGS): likewise
19224 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19225 * conf/i386-ieee1275.rmk: likewise
19226 * conf/i386-pc.rmk: likewise
19227 * conf/powerpc-ieee1275.rmk: likewise
19228 * conf/sparc64-ieee1275.rmk: likewise
19229
70b7f9fd 192302009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
19231
19232 Fix handling of string like \"hello\" and "a
19233 b"
19234
19235 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
19236 (grub_script_yylex): fix parsing of quoting, escaping and newline
19237
71c79a6b 192382009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
19239
dd74360c 19240 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 19241 handling
dd74360c 19242
0644f96c 192432009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 19244
19245 * util/grub-mkconfig.in: Fix parsing of --output option.
19246
e40893c3 192472009-06-12 Pavel Roskin <proski@gnu.org>
19248
19249 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
19250 genmk.rb don't need to be generated or installed.
19251
3a1acfe2 192522009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19253
19254 * commands/i386/pc/drivemap_int13h.S: add more comments
19255
3a4575d4 192562009-06-11 Pavel Roskin <proski@gnu.org>
19257
0658e928 19258 * Makefile.in (uninstall): Uninstall manuals.
19259
ca0388f0 19260 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
19261 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
19262 and update-grub_lib in two places.
19263 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
19264
e3b27c39 19265 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
19266 a compiler warning.
19267
3a4575d4 19268 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
19269 `entry_lo' to fix variable shadowing.
19270
af1f4f55 192712009-06-11 Christian Franke <franke@computer.org>
19272
19273 * kern/misc.c (__enable_execute_stack): Add missing return type
19274 to prevent gcc warning.
19275
5225e649 192762009-06-11 Felix Zielcke <fzielcke@z-51.de>
19277
19278 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
19279
7d83bd47 192802009-06-11 Pavel Roskin <proski@gnu.org>
19281
c1cb63ba 19282 * Makefile.in: Don't rely on any scripts being executable.
19283 Always use $(SHELL) to run shell scripts.
19284
7d83bd47 19285 * configure.ac: Always define ___main if using -nostdlib. This
19286 fixes tests on Cygwin.
19287
948f48e7 192882009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
19289
19290 UDF fix
19291
7d83bd47 19292 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 19293 is in bytes and not in blocks
7d83bd47 19294
8ada9bc1 192952009-06-11 Pavel Roskin <proski@gnu.org>
19296
19297 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
19298 warning.
19299
25ad2323 193002009-06-11 Felix Zielcke <fzielcke@z-51.de>
19301
19302 * util/grub.d/30_os-prober.in: Fix a comment. Source
19303 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
19304 to set the root device. Place drivemap command in the generated
19305 chain entry.
19306
e65acb0c 193072009-06-11 Pavel Roskin <proski@gnu.org>
19308
19309 * configure.ac: Remove host_m32. Issues with 64-bit utilities
19310 have long been resolved.
19311
f285fe2d 193122009-06-11 Colin Watson <cjwatson@ubuntu.com>
19313
bd47b0b5 19314 * util/grub.d/10_linux.in: Capitalise "Linux".
19315
f285fe2d 19316 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
19317
a0c62e4e 193182009-06-11 Pavel Roskin <proski@gnu.org>
19319
b6783cb2 19320 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
19321 fix a gcc warning and ensure that the function won't ever exit.
19322
dde032e8 19323 * kern/i386/ieee1275/init.c: Add missing prototype for
19324 grub_stop_floppy().
19325
22cd079d 19326 * loader/ieee1275/multiboot2.c [__i386__]: Include
19327 grub/cpu/multiboot.h.
19328
a0c62e4e 19329 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
19330 casts to short - they are not portable and cause warnings. Fix
19331 use of uninitialized values in input_buf. Use ARRAY_SIZE.
19332
63963d17 193332009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
19334
19335 Drivemap fixes
19336
19337 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
19338 new function
19339 (grub_get_root_biosnumber_saved): new variable
19340 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
19341 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 19342 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 19343 %dx after the call if necessary
19344 * conf/common.rmk (pkglib_MODULES): remove boot.mod
19345 (boot_mod_SOURCES): remove
19346 (boot_mod_CFLAGS): remove
19347 (boot_mod_LDFLAGS): remove
19348 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
19349 (boot_mod_SOURCES): new variable
19350 (boot_mod_CFLAGS): likewise
19351 (boot_mod_LDFLAGS): likewise
19352 * conf/i386-efi.rmk: likewise
19353 * conf/i386-ieee1275.rmk: likewise
19354 * conf/i386-pc.rmk: likewise
19355 * conf/powerpc-ieee1275.rmk: likewise
19356 * conf/sparc64-ieee1275.rmk: likewise
19357 * conf/x86_64-efi.rmk: likewise
19358 * include/grub/i386/pc/biosnum.h: new file
19359 * lib/i386/pc/biosnum.c: likewise
19360 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
19361 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
19362 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 19363
33abf7ae 193642009-06-10 Pavel Roskin <proski@gnu.org>
19365
5ac35b35 19366 * io/gzio.c (test_header): Don't reuse one buffer for all data.
19367 Use separate variables. Read only the file size at the end, but
19368 not the checksum that we don't use.
19369
5c5215d5 19370 * kern/file.c (grub_file_read): Use void pointer for the buffer.
19371 Adjust all callers.
19372
27d5fef7 19373 * kern/ieee1275/openfw.c: Remove libc includes.
19374 * kern/ieee1275/cmain.c: Likewise.
19375 * include/grub/ieee1275/ieee1275.h: Likewise.
19376
33abf7ae 19377 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
19378 compiler warnings.
19379
19d50c2b 193802009-06-10 Felix Zielcke <fzielcke@z-51.de>
19381
19382 * Makefile.in: Remove all trailing whitespace.
19383 * conf/i386-pc.rmk: Likewise.
19384 * conf/powerpc-ieee1275.rmk: Likewise.
19385 * conf/sparc64-ieee1275.rmk: Likewise.
19386 * docs/grub.texi: Likewise.
19387 * docs/texinfo.tex: Likewise.
19388 * disk/fs_uuid.c: Likewise.
19389 * disk/lvm.c: Likewise.
19390 * disk/scsi.c: Likewise.
19391 * disk/ata.c: Likewise.
19392 * disk/ieee1275/ofdisk.c: Likewise.
19393 * disk/i386/pc/biosdisk.c: Likewise.
19394 * disk/host.c: Likewise.
19395 * disk/raid.c: Likewise.
19396 * disk/efi/efidisk.c: Likewise.
19397 * disk/usbms.c: Likewise.
19398 * disk/memdisk.c: Likewise.
19399 * disk/loopback.c: Likewise.
19400 * kern/powerpc/dl.c: Likewise.
19401 * kern/device.c: Likewise.
19402 * kern/dl.c: Likewise.
19403 * kern/sparc64/dl.c: Likewise.
19404 * kern/ieee1275/ieee1275.c: Likewise.
19405 * kern/term.c: Likewise.
19406 * kern/fs.c: Likewise.
19407 * kern/i386/dl.c: Likewise.
19408 * kern/i386/pc/startup.S: Likewise.
19409 * kern/i386/pc/init.c: Likewise.
19410 * kern/i386/pc/mmap.c: Likewise.
19411 * kern/i386/pc/lzo1x.S: Likewise.
19412 * kern/i386/ieee1275/init.c: Likewise.
19413 * kern/i386/realmode.S: Likewise.
19414 * kern/i386/tsc.c: Likewise.
19415 * kern/partition.c: Likewise.
19416 * kern/corecmd.c: Likewise.
19417 * kern/file.c: Likewise.
19418 * kern/efi/efi.c: Likewise.
19419 * kern/efi/init.c: Likewise.
19420 * kern/efi/mm.c: Likewise.
19421 * kern/main.c: Likewise.
19422 * kern/err.c: Likewise.
19423 * kern/env.c: Likewise.
19424 * kern/disk.c: Likewise.
19425 * kern/generic/millisleep.c: Likewise.
19426 * kern/generic/rtc_get_time_ms.c: Likewise.
19427 * kern/misc.c: Likewise.
19428 * kern/parser.c: Likewise.
19429 * genmk.rb: Likewise.
19430 * configure.ac: Likewise.
19431 * boot/i386/pc/diskboot.S: Likewise.
19432 * boot/i386/pc/pxeboot.S: Likewise.
19433 * boot/i386/pc/boot.S: Likewise.
19434 * boot/i386/pc/lnxboot.S: Likewise.
19435 * boot/i386/pc/cdboot.S: Likewise.
19436 * parttool/pcpart.c: Likewise.
19437 * video/readers/tga.c: Likewise.
19438 * video/video.c: Likewise.
19439 * video/bitmap.c: Likewise.
19440 * lib/envblk.c: Likewise.
19441 * lib/i386/setjmp.S: Likewise.
19442 * fs/xfs.c: Likewise.
19443 * fs/afs.c: Likewise.
19444 * fs/fat.c: Likewise.
19445 * fs/ntfs.c: Likewise.
19446 * fs/udf.c: Likewise.
19447 * fs/affs.c: Likewise.
19448 * fs/iso9660.c: Likewise.
19449 * fs/hfs.c: Likewise.
19450 * fs/fshelp.c: Likewise.
19451 * fs/ext2.c: Likewise.
19452 * fs/jfs.c: Likewise.
19453 * fs/reiserfs.c: Likewise.
19454 * fs/hfsplus.c: Likewise.
19455 * fs/minix.c: Likewise.
19456 * fs/cpio.c: Likewise.
19457 * fs/sfs.c: Likewise.
19458 * fs/ufs.c: Likewise.
19459 * efiemu/prepare.c: Likewise.
19460 * efiemu/loadcore_common.c: Likewise.
19461 * efiemu/runtime/efiemu.sh: Likewise.
19462 * efiemu/runtime/efiemu.S: Likewise.
19463 * efiemu/runtime/efiemu.c: Likewise.
19464 * efiemu/pnvram.c: Likewise.
19465 * efiemu/main.c: Likewise.
19466 * efiemu/i386/pc/cfgtables.c: Likewise.
19467 * efiemu/i386/loadcore64.c: Likewise.
19468 * efiemu/i386/loadcore32.c: Likewise.
19469 * efiemu/loadcore.c: Likewise.
19470 * efiemu/symbols.c: Likewise.
19471 * efiemu/mm.c: Likewise.
19472 * include/grub/autoefi.h: Likewise.
19473 * include/grub/datetime.h: Likewise.
19474 * include/grub/term.h: Likewise.
19475 * include/grub/hfs.h: Likewise.
19476 * include/grub/lvm.h: Likewise.
19477 * include/grub/i386/tsc.h: Likewise.
19478 * include/grub/i386/linux.h: Likewise.
19479 * include/grub/i386/xnu.h: Likewise.
19480 * include/grub/i386/efiemu.h: Likewise.
19481 * include/grub/i386/pc/biosdisk.h: Likewise.
19482 * include/grub/i386/pc/memory.h: Likewise.
19483 * include/grub/i386/pc/vbe.h: Likewise.
19484 * include/grub/parttool.h: Likewise.
19485 * include/grub/video.h: Likewise.
19486 * include/grub/memory.h: Likewise.
19487 * include/grub/fs.h: Likewise.
19488 * include/grub/partition.h: Likewise.
19489 * include/grub/xnu.h: Likewise.
19490 * include/grub/efi/api.h: Likewise.
19491 * include/grub/efi/pe32.h: Likewise.
19492 * include/grub/efi/memory.h: Likewise.
19493 * include/grub/multiboot.h: Likewise.
19494 * include/grub/usbdesc.h: Likewise.
19495 * include/grub/multiboot2.h: Likewise.
19496 * include/grub/acpi.h: Likewise.
19497 * include/grub/efiemu/efiemu.h: Likewise.
19498 * include/grub/disk.h: Likewise.
19499 * include/grub/ieee1275/ieee1275.h: Likewise.
19500 * include/grub/net.h: Likewise.
19501 * include/grub/machoload.h: Likewise.
19502 * include/grub/macho.h: Likewise.
19503 * include/multiboot.h: Likewise.
19504 * genmoddep.awk: Likewise.
19505 * normal/main.c: Likewise.
19506 * normal/menu_entry.c: Likewise.
19507 * normal/menu_viewer.c: Likewise.
19508 * normal/completion.c: Likewise.
19509 * normal/cmdline.c: Likewise.
19510 * normal/misc.c: Likewise.
19511 * normal/datetime.c: Likewise.
19512 * bus/usb/usbtrans.c: Likewise.
19513 * bus/usb/ohci.c: Likewise.
19514 * bus/usb/uhci.c: Likewise.
19515 * bus/usb/usb.c: Likewise.
19516 * mmap/efi/mmap.c: Likewise.
19517 * mmap/i386/pc/mmap_helper.S: Likewise.
19518 * mmap/i386/pc/mmap.c: Likewise.
19519 * mmap/i386/mmap.c: Likewise.
19520 * mmap/i386/uppermem.c: Likewise.
19521 * mmap/mmap.c: Likewise.
19522 * commands/acpi.c: Likewise.
19523 * commands/echo.c: Likewise.
19524 * commands/blocklist.c: Likewise.
19525 * commands/loadenv.c: Likewise.
19526 * commands/usbtest.c: Likewise.
19527 * commands/boot.c: Likewise.
19528 * commands/parttool.c: Likewise.
19529 * commands/search.c: Likewise.
19530 * commands/cat.c: Likewise.
19531 * commands/i386/pc/play.c: Likewise.
19532 * commands/i386/pc/drivemap.c: Likewise.
19533 * commands/i386/pc/vbeinfo.c: Likewise.
19534 * commands/i386/pc/acpi.c: Likewise.
19535 * commands/i386/pc/vbetest.c: Likewise.
19536 * commands/ls.c: Likewise.
19537 * commands/cmp.c: Likewise.
19538 * commands/test.c: Likewise.
19539 * commands/efi/acpi.c: Likewise.
19540 * commands/gptsync.c: Likewise.
19541 * commands/help.c: Likewise.
19542 * partmap/amiga.c: Likewise.
19543 * partmap/apple.c: Likewise.
19544 * partmap/acorn.c: Likewise.
19545 * partmap/pc.c: Likewise.
19546 * partmap/sun.c: Likewise.
19547 * partmap/gpt.c: Likewise.
19548 * script/sh/lexer.c: Likewise.
19549 * script/sh/function.c: Likewise.
19550 * font/font.c: Likewise.
19551 * font/font_cmd.c: Likewise.
19552 * loader/powerpc/ieee1275/linux.c: Likewise.
19553 * loader/efi/chainloader.c: Likewise.
19554 * loader/multiboot_loader.c: Likewise.
19555 * loader/macho.c: Likewise.
19556 * loader/i386/multiboot.c: Likewise.
19557 * loader/i386/linux.c: Likewise.
19558 * loader/i386/pc/linux.c: Likewise.
19559 * loader/i386/pc/multiboot2.c: Likewise.
19560 * loader/i386/pc/chainloader.c: Likewise.
19561 * loader/i386/pc/xnu.c: Likewise.
19562 * loader/i386/bsd_trampoline.S: Likewise.
19563 * loader/i386/efi/linux.c: Likewise.
19564 * loader/i386/multiboot_elfxx.c: Likewise.
19565 * loader/i386/bsd_helper.S: Likewise.
19566 * loader/i386/bsd.c: Likewise.
19567 * loader/i386/linux_trampoline.S: Likewise.
19568 * loader/i386/xnu_helper.S: Likewise.
19569 * loader/i386/xnu.c: Likewise.
19570 * loader/i386/bsd_pagetable.c: Likewise.
19571 * loader/i386/multiboot_helper.S: Likewise.
19572 * loader/xnu.c: Likewise.
19573 * loader/xnu_resume.c: Likewise.
19574 * io/gzio.c: Likewise.
19575 * term/efi/console.c: Likewise.
19576 * term/terminfo.c: Likewise.
19577 * term/ieee1275/ofconsole.c: Likewise.
19578 * term/i386/pc/serial.c: Likewise.
19579 * term/i386/pc/vesafb.c: Likewise.
19580 * term/i386/pc/vga.c: Likewise.
19581 * term/usb_keyboard.c: Likewise.
19582 * term/gfxterm.c: Likewise.
19583 * aclocal.m4: Likewise.
19584 * util/lvm.c: Likewise.
19585 * util/grub.d/30_os-prober.in: Likewise.
19586 * util/grub.d/10_hurd.in: Likewise.
19587 * util/console.c: Likewise.
19588 * util/grub-macho2img.c: Likewise.
19589 * util/grub-probe.c: Likewise.
19590 * util/hostfs.c: Likewise.
19591 * util/i386/pc/grub-mkimage.c: Likewise.
19592 * util/i386/pc/grub-setup.c: Likewise.
19593 * util/i386/efi/grub-mkimage.c: Likewise.
19594 * util/grub-mkconfig.in: Likewise.
19595 * util/raid.c: Likewise.
19596 * util/resolve.c: Likewise.
19597 * util/grub-mkdevicemap.c: Likewise.
19598 * util/grub-emu.c: Likewise.
19599 * util/getroot.c: Likewise.
19600 * util/hostdisk.c: Likewise.
19601 * util/usb.c: Likewise.
19602 * util/grub-editenv.c: Likewise.
19603 * util/misc.c: Likewise.
19604
d2d49665 196052009-06-10 Felix Zielcke <fzielcke@z-51.de>
19606
19607 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
19608 `genparttoollist.sh'.
19609 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
19610 Add `*.sh' to the list find searches for and change `mdate.sh'
19611 to `mdate-sh'.
19612
fe052e37 196132009-06-10 Pavel Roskin <proski@gnu.org>
19614
2763ac18 19615 * include/grub/multiboot2.h: Provide compatibility defines for
19616 multiboot2.h.
19617 * include/multiboot2.h: Include stdint.h only if needed, using
19618 angle brackets.
19619 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
19620 grub/multiboot2.h.
19621 * loader/ieee1275/multiboot2.c: Likewise.
19622 * loader/multiboot2.c: Likewise.
19623 * loader/multiboot_loader.c: Likewise.
19624
437e6adc 19625 * configure.ac: Use -nostdlib when probing for the target. It
19626 should not be required to have libc for the target.
19627
06a6836c 19628 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
19629 they fail without libc headers for the target.
19630 * include/grub/powerpc/libgcc.h: Use weak attribute for all
19631 exports.
19632 * include/grub/sparc64/libgcc.h: Likewise. Don't use
19633 preprocessor conditionals.
19634
fe052e37 19635 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
19636 build system doesn't need to be aware of the tar.c internals.
19637
afd22553 196382009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 19639
afd22553 19640 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 19641
6b787c4f 196422009-06-09 Robert Millan <rmh.grub@aybabtu.com>
19643
19644 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
19645 disk limit to 26 for IDE, Virtio, Xen and SCSI.
19646
196472009-06-09 Felix Zielcke <fzielcke@z-51.de>
19648
19649 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 19650 aren't available if ata.mod gets used.
6b787c4f 19651
473d1e45 196522009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 19653
473d1e45 19654 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 19655 initialising controller.
473d1e45 19656 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 19657
255a27d4 196582009-06-08 Felix Zielcke <fzielcke@z-51.de>
19659
19660 * util/i386/pc/grub-install.in: Add a parameter --disk-module
19661 to choose between ata and biosdisk module on i386-pc.
19662
473d1e45 196632009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 19664
d55842d8 19665 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
19666 Subclass and Programming Interface fields in terms of the 3 byte
19667 Class Code register.
19668 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
19669
fa5db0b1 19670 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
19671 interface is OHCI. Add grub_dprintf for symmetry with
19672 bus/usb/uhci.c.
19673 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
19674 interface is UHCI. Add interf variable for programming
19675 interface. Print interface with class/subclass.
19676
c0947beb 19677 * bus/usb/ohci.c: Set interf with correct field.
19678
69da8877 19679 * bus/usb/uhci.c: Remove unneeded doubled lines.
19680 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
19681 Remove whitespace inside comment.
19682
9e172e30 196832009-06-08 Robert Millan <rmh.grub@aybabtu.com>
19684
19685 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
19686 as fallback an equivalent option without depth.
19687
de65ee2b 196882009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
19689
19690 Not fail if unable to retrieve C/H/S on LBA disks
19691
473d1e45 19692 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 19693 if unable to retrieve C/H/S on LBA disks
19694
b57ea2c9 196952009-06-08 Pavel Roskin <proski@gnu.org>
19696
19697 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
19698 about aliasing.
19699
af361263 197002009-06-08 Felix Zielcke <fzielcke@z-51.de>
19701
19702 * Makefile.in (uninstall): Remove all $lib_DATA files.
19703
4c9ec6b3 197042009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
19705
19706 Bugfix: install on partitionless device
19707
19708 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
19709 is a whole disk
19710
e76fc924 197112009-06-08 Felix Zielcke <fzielcke@z-51.de>
19712
19713 * Makefile.in (uninstall): Remove all $include_DATA files.
19714
ba5a0d05 197152009-06-08 Felix Zielcke <fzielcke@z-51.de>
19716
19717 * commands/true.c: New file. Implement the true and false commands.
19718 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
19719 (true_mod_SOURCES): New variable.
19720 (true_mod_CFLAGS): Likewise.
19721 (true_mod_LDFLAGS): Likewise.
19722
c8048e32 197232009-06-05 Colin D Bennett <colin@gibibit.com>
19724
19725 Optimized font character lookup using binary search instead of linear
19726 search. Fonts now are required to have the character index ordered by
19727 code point.
19728
19729 * font/font.c (load_font_index): Verify that fonts have ordered
19730 character indices.
19731 (find_glyph): Use binary search instead of linear search to find a
19732 character in a font.
19733
408305be 197342009-06-05 Michael Scherer <misc@mandriva.org>
19735
19736 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
19737 uses case sensitive btree.
19738 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
19739 only for case insensitive filesystems.
19740
8ee1e0d9 197412009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
19742
19743 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
19744 * conf/common.rmk (search_mod_CFLAGS): likewise
19745
a9966eb1 197462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19747
473d1e45 19748 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 19749 compensate a compiler bug
19750
9e7100fb 197512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19752
473d1e45 19753 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 19754 instead of '\b'
473d1e45 19755
ede21d71 197562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19757
19758 Definitions for creating asm symbols with Apple's CC
19759
19760 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
19761 [APPLE_CC] (VARIABLE): likewise
19762
9dbf7653 197632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19764
19765 Disable lnxboot.img when compiled
19766 with Apple's CC
19767
19768 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
19769 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
19770 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
19771 [! APPLE_CC] (CODE_LENG): skip
19772 [! APPLE_CC] (setup_sects): likewise
19773 [! APPLE_CC]: skip filling
473d1e45 19774
e93cdc3d 197752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19776
19777 Address in trampolines based on 32-bit registers when compiled
19778 with Apple's CC
19779
473d1e45 19780 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 19781 for addresses
19782 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
19783
6c688477 197842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19785
19786 Avoid aliases when compiling with Apple's CC for PCBIOS machine
19787
19788 * kern/misc.c [APPLE_CC] (memcpy): new function
19789 [APPLE_CC] (memmove): likewise
19790 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 19791 (memcpy): define alias conditionally on !APPLE_CC
6c688477 19792 (memset): likewise
19793 (abort): likewise
19794 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
19795 APPLE_CC are defined
19796 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
19797 (grub_assert_fail): make prototype conditional
19798
e37ffc5c 197992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19800
19801 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
19802
473d1e45 19803 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
19804 grub-macho2img
e37ffc5c 19805 (CLEANFILES): add grub-macho2img
19806 (grub_macho2img_SOURCES): new variable
19807 * kern/i386/pc/startup.S (bss_start): new variable
19808 (bss_end): likewise
19809 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
19810 * util/grub-macho2img.c: new file
19811
cf00df31 198122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19813
19814 Use objconv when compiling with Apple's CC
19815
19816 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
19817 (efiemu64.o): likewise
19818 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
19819 when compiling with Apple's CC
19820 (efiemu64_s.o): likewise
19821 * configure.ac: check for objconv when compiling with Apple's CC
19822 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 19823
d119a20c 198242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19825
19826 Define segment as well as section when compiling with
19827 Apple's CC
19828
19829 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
19830 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
19831 (efiemu_convert_pointer): likewise
19832 (efiemu_set_virtual_address_map): likewise
19833 (efiemu_convert_pointer): likewise
19834 (efiemu_getcrc32): likewise
19835 (init_crc32_table): likewise
19836 (reflect): likewise
19837 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
19838 (GRUB_MOD_DEP): likewise
473d1e45 19839
c8600122 198402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19841
19842 Allow a compilation without -mcmodel=large
19843
19844 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
19845 when compiled without -mcmodel=large
473d1e45 19846 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 19847 without -mcmodel=large
473d1e45 19848 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 19849 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 19850
e8df1d4e 198512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19852
19853 Remove nested functions in efiemu core
19854
19855 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 19856
cc6c3ac1 198572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19858
19859 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
19860
19861 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
19862 temporary storage
473d1e45 19863 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
19864 using Apple's CC
cc6c3ac1 19865 (grub_cpu_is_tsc_supported): likewise
19866 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 19867
3e325901 198682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19869
19870 Absolute addressing through constant with Apple's cc
19871
19872 * kern/i386/pc/startup.S: Define necessary constants
19873 and address through it when using ABS with Apple's CC
19874 * boot/i386/pc/diskboot.S: likewise
19875 * boot/i386/pc/boot.S: likewise
19876 * boot/i386/pc/lnxboot.S: likewise
19877 * boot/i386/pc/cdboot.S: likewise
19878 * mmap/i386/pc/mmap_helper.S: likewise
19879 * commands/i386/pc/drivemap_int13h.S: likewise
19880
2b167a72 198812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19882
19883 Check if compiler is apple cc
19884
19885 * Makefile.in (ASFLAGS): new variable
19886 (TARGET_ASFLAGS): likewise
19887 (TARGET_MODULE_FORMAT): likewise
19888 (TARGET_APPLE_CC): likewise
19889 (OBJCONV): likewise
19890 (TARGET_IMG_CFLAGS): likewise
19891 (TARGET_CPPFLAGS): add includedir
19892 * configure.ac: call grub_apple_cc and grub_apple_target_cc
19893 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
19894 Check for linker script only if compiler isn't Apple's CC
19895 (TARGET_MODULE_FORMAT): set
19896 (TARGET_APPLE_CC): likewise
19897 (TARGET_ASFLAGS): likewise
19898 (ASFLAGS): likewise
19899 Check for objcopy only if compiler isn't Apple's CC
19900 Check for BSS symbol only if compiler isn't Apple's CC
19901 * genmk.rb: adapt nm options if we use Apple's utils
19902 * aclocal.m4 (grub_apple_cc): new test
19903 (grub_apple_target_cc): likewise
473d1e45 19904
fb14123e 199052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19906
19907 Simplify sed expressions and improve awk
19908
19909 * Makefile.in (install-local): simplify sed expression
19910 * gencmdlist.sh: likewise
19911 * genmoddep.awk: avoid adding module as a dependency of itself
19912
5b889789 199132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19914
19915 Add missing start symbols
19916
19917 * boot/i386/pc/boot.S: add start
fb14123e 19918 * boot/i386/pc/pxeboot.S: likewise
473d1e45 19919
fd2bf2e3 199202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19921
19922 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 19923
19924 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 19925 (relocate_addresses): consider both r_addend and value at offset
19926 (make_mods_section): zerofill modinfo and header
19927 (convert_elf): write prefix here
473d1e45 19928
5389763d 199292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19930
19931 Use .asciz instead of .string
19932
19933 * i386/pc/diskboot.S: use .asciz instead of .string
19934 * i386/pc/boot.S: likewise
19935 * include/grub/dl.h (GRUB_MOD_DEP): likewise
19936 (GRUB_MOD_NAME): likewise
473d1e45 19937
3eb5ed4e 199382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19939
19940 gfxpayload support
19941
19942 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
19943 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
19944 (grub_video_setup): remove
19945 (grub_video_set_mode): new prototype
19946 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
19947 (vid_mode): remove
19948 (linux_vesafb_res): compile only on PCBIOS
19949 (grub_linux_boot): support gfxpayload
19950 * loader/i386/pc/xnu.c (video_hook): new function
19951 (grub_xnu_set_video): support gfxpayload
19952 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
19953 (DEFAULT_VIDEO_HEIGHT): likewise
19954 (DEFAULT_VIDEO_FLAGS): likewise
19955 (DEFAULT_VIDEO_MODE): new definition
19956 (video_hook): new function
19957 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 19958 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 19959 loading xnu
19960 * video/video.c (grub_video_setup): removed
473d1e45 19961 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 19962 grub_video_setup
19963
4b0e1143 199642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19965
19966 Avoid calling biosdisk in drivemap
19967
19968 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
19969 (revparse_biosdisk): likewise
19970 (list_mappings): derive name from id directly
19971 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 19972
fda6cb98 199732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19974
19975 Script fixes
19976
19977 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
19978 (grub_lexer_param): add tokenonhold
19979 (grub_script_create_cmdline): remove cmdline. All callers updated
19980 (grub_script_function_create): make functionname
19981 grub_script_arg. All callers updated
19982 (grub_script_execute_argument_to_string): new prototype
19983 * kern/parser.c (state_transitions): reorder
19984 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 19985 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 19986 make global
19987 (grub_script_execute_cmdline): use new format
19988 * script/sh/function.c (grub_script_function_create): make functionname
19989 grub_script_arg. All callers updated
473d1e45 19990 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 19991 (grub_script_yylex): remove
19992 (grub_script_yylex2): renamed to ...
19993 (grub_script_yylex): ...renamed
19994 parse the expressions like a${b}c
19995 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
19996 (GRUB_PARSER_TOKEN_VAR): remove
19997 (GRUB_PARSER_TOKEN_NAME): likewise
19998 ("if"): declare as typeless
19999 ("while"): likewise
20000 ("function"): likewise
20001 ("else"): likewise
20002 ("then"): likewise
20003 ("fi"): likewise
20004 (text): remove
20005 (argument): likewise
20006 (script): accept empty scripts and make exit on error
20007 (arguments): use GRUB_PARSER_TOKEN_ARG
20008 (function): likewise
20009 (command): move error handling to script
20010 (menuentry): move grub_script_lexer_ref before
473d1e45 20011 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 20012 argument. All callers updated
20013
f4448a07 200142009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20015
20016 Prevent GRUB from probing floppies during boot.
20017
20018 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
20019 * commands/search.c (options): Add --no-floppy.
20020 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
20021 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
20022 --no-floppy when searching for UUIDs.
20023
2bf5885a 200242009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20025
20026 Simplify the code duplication in commands/search.c.
20027
20028 * commands/search.c (search_label, search_fs_uuid): Merge into ...
20029 (search_fs): ... this. Update all users.
20030
f6fd460a 200312009-06-03 Felix Zielcke <fzielcke@z-51.de>
20032
20033 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
20034
cbb3c83e 200352009-05-28 Pavel Roskin <proski@gnu.org>
20036
57788cfd 20037 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
20038 Remove the original symlink explicitly.
20039
cbb3c83e 20040 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
20041 just one slash. That's how grub_fshelp_find_file() does it.
20042
cd0d5e30 200432009-05-26 Pavel Roskin <proski@gnu.org>
20044
f0f8bbe2 20045 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
20046 to `str'.
20047
cd0d5e30 20048 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
20049 possibly unused.
20050
8c2cab51 200512009-05-25 Christian Franke <franke@computer.org>
20052
20053 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
20054 register.
20055 (grub_atapi_identify): Add wait after drive select.
20056 (grub_ata_identify): Do more strict status register check before
20057 calling grub_atapi_identify (). Suppress error message if status
20058 register is 0x00 after command failure. Add status register
20059 check after PIO read to avoid bogus identify due to stuck DRQ.
20060 Thanks to Pavel Roskin for testing.
20061 (grub_device_initialize): Remove unsafe status register check.
20062 Thanks to 'phcoder' for problem report and patch.
20063 Prevent sign extension in debug message.
20064
230c0ad6 200652009-05-23 Colin D Bennett <colin@gibibit.com>
20066
20067 Cleaned up `include/grub/normal.h'. Grouped prototypes by
20068 definition file, and functions defined in `normal/menu.c' have had
20069 their prototypes moved to `include/grub/menu.h' for consistency.
20070
20071 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
20072 from normal.h.
20073 (grub_menu_get_entry): Likewise.
20074 (grub_menu_get_timeout): Likewise.
20075 (grub_menu_set_timeout): Likewise.
20076 (grub_menu_execute_entry): Likewise.
20077 (grub_menu_execute_with_fallback): Likewise.
20078 (grub_menu_entry_run): Likewise.
20079
20080 * include/grub/normal.h: Re-ordered and grouped function
20081 prototypes by file that the function is defined in.
20082 (grub_menu_execute_callback): Removed; moved to menu.h.
20083 (grub_menu_get_entry): Likewise.
20084 (grub_menu_get_timeout): Likewise.
20085 (grub_menu_set_timeout): Likewise.
20086 (grub_menu_execute_entry): Likewise.
20087 (grub_menu_execute_with_fallback): Likewise.
20088 (grub_menu_entry_run): Likewise.
20089 (grub_menu_addentry): Renamed from this ...
20090 (grub_normal_add_menu_entry): ... to this.
20091
20092 * normal/main.c (grub_menu_addentry): Renamed from this ...
20093 (grub_normal_add_menu_entry): ... to this.
20094
20095 * script/sh/execute.c (grub_script_execute_menuentry): Update
20096 reference to renamed grub_menu_addentry function.
20097
861f03a5 200982009-05-23 Felix Zielcke <fzielcke@z-51.de>
20099
20100 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
20101
96b1619a 201022009-05-22 Pavel Roskin <proski@gnu.org>
20103
bf6a5fb2 20104 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
20105 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
20106 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
20107 compiling for the i386 targets, but not for the utilities.
20108
96b1619a 20109 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
20110 to grub_uint8_t.
20111 (grub_root_drive): Likewise.
20112 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
20113 remove alignment.
20114 (grub_root_drive): Change size to byte.
20115 (grub_start_addr): Remove.
20116 (grub_end_addr): Likewise.
20117 (grub_apm_bios_info): Likewise.
20118
b729776b 201192009-05-21 Felix Zielcke <fzielcke@z-51.de>
20120
20121 * normal/i386: Remove.
20122 * normal/powerpc: Likewise.
20123 * normal/sparc64: Likewise.
20124 * normal/x86_64: Likewise.
20125
0a15ce80 201262009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
20127
20128 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 20129 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 20130 * loader/i386/xnu_helper.S: Likewise
d6da58e6 20131
33db9015 201322009-05-18 Colin D Bennett <colin@gibibit.com>
20133
d6da58e6 20134 Display error messages when parsing a Lua statement fails.
20135 Previously, executing a syntactically invalid statement like
20136 ")foo" or "bar;" would silently fail.
33db9015 20137
20138 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 20139 (grub_lua_parse_line): Improved reporting of Lua parser and
20140 execution errors.
33db9015 20141
46422c89 201422009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20143
20144 Remove -Werror which causes build to fail on some systems
20145
20146 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
20147 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
20148 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 20149
22f53a96 201502009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20151
20152 trampoline for linux on 64-bit platform
20153
18f547ad 20154 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
20155 loader/i386/efi/linux_trampoline.S
20156 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 20157 declaration
d6da58e6 20158 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
20159 here
22f53a96 20160 * loader/i386/linux_trampoline.S: moved here
d6da58e6 20161 * loader/i386/efi/linux.c (allocate_pages): reserve space for
20162 trampoline
22f53a96 20163 (jumpvector): removed
20164 (grub_linux_trampoline_start): new declaration
20165 (grub_linux_trampoline_end): likewise
20166 (grub_linux_boot): use trampoline when on 64-bit platform
20167 * loader/i386/linux.c: likewise
20168
cb5a0f40 201692009-05-16 Pavel Roskin <proski@gnu.org>
20170
20171 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
20172 const to avoid a warning.
20173 (grub_lua_setenv): Likewise.
20174 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
20175 lmsg to fix a warning.
20176
334f2c28 201772009-05-16 Felix Zielcke <fzielcke@z-51.de>
20178
20179 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 20180 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20181 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
20182 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20183 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20184 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20185 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20186 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 20187
59e5d3ec 201882009-05-16 Felix Zielcke <fzielcke@z-51.de>
20189
20190 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
20191
9d87a1ba 201922009-05-16 Bean <bean123ch@gmail.com>
20193
20194 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
20195 (lua_mod_SOURCES): New variable.
20196 (lua_mod_CFLAGS): Likewise.
20197 (lua_mod_LDFLAGS): Likewise.
20198
20199 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
20200 (setjmp_mod_SOURCES): New variable.
20201 (setjmp_mod_CFLAGS): Likewise.
20202 (setjmp_LDFLAGS): Likewise.
20203
20204 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
20205 (setjmp_mod_SOURCES): New variable.
20206 (setjmp_mod_CFLAGS): Likewise.
20207 (setjmp_LDFLAGS): Likewise.
20208
20209 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20210 (setjmp_mod_SOURCES): New variable.
20211 (setjmp_mod_CFLAGS): Likewise.
20212 (setjmp_LDFLAGS): Likewise.
20213
20214 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20215 (setjmp_mod_SOURCES): New variable.
20216 (setjmp_mod_CFLAGS): Likewise.
20217 (setjmp_LDFLAGS): Likewise.
20218
20219 * normal/i386/setjmp.S: Moved from here ...
20220 * lib/i386/setjmp.S: ... Moved here
20221 * normal/x86_64/setjmp.S: Moved from here ...
20222 * lib/x86_64/setjmp.S: ... Moved here
20223 * normal/powerpc/setjmp.S: Moved from here ...
20224 * lib/powerpc/setjmp.S: ... Moved here
20225 * normal/sparc64/setjmp.S: Moved from here ...
20226 * lib/sparc64/setjmp.S: ... Moved here
20227
20228 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
20229 returns_twice in mingw.
20230
20231 * script/lua/grub_lib.c: New file.
20232 * script/lua/grub_lib.h: Likewise.
20233 * script/lua/grub_lua.h: Likewise.
20234 * script/lua/grub_main.c: Likewise.
20235 * script/lua/lapi.c: Likewise.
20236 * script/lua/lapi.h: Likewise.
20237 * script/lua/lauxlib.c: Likewise.
20238 * script/lua/lauxlib.h: Likewise.
20239 * script/lua/lbaselib.c: Likewise.
20240 * script/lua/lcode.c: Likewise.
20241 * script/lua/lcode.h: Likewise.
20242 * script/lua/ldblib.c: Likewise.
20243 * script/lua/ldebug.c: Likewise.
20244 * script/lua/ldebug.h: Likewise.
20245 * script/lua/ldo.c: Likewise.
20246 * script/lua/ldo.h: Likewise.
20247 * script/lua/ldump.c: Likewise.
20248 * script/lua/lfunc.c: Likewise.
20249 * script/lua/lfunc.h: Likewise.
20250 * script/lua/lgc.c: Likewise.
20251 * script/lua/lgc.h: Likewise.
20252 * script/lua/linit.c: Likewise.
20253 * script/lua/liolib.c: Likewise.
20254 * script/lua/llex.c: Likewise.
20255 * script/lua/llex.h: Likewise.
20256 * script/lua/llimits.h: Likewise.
20257 * script/lua/lmathlib.c: Likewise.
20258 * script/lua/lmem.c: Likewise.
20259 * script/lua/lmem.h: Likewise.
20260 * script/lua/loadlib.c: Likewise.
20261 * script/lua/lobject.c: Likewise.
20262 * script/lua/lobject.h: Likewise.
20263 * script/lua/lopcodes.c: Likewise.
20264 * script/lua/lopcodes.h: Likewise.
20265 * script/lua/loslib.c: Likewise.
20266 * script/lua/lparser.c: Likewise.
20267 * script/lua/lparser.h: Likewise.
20268 * script/lua/lstate.c: Likewise.
20269 * script/lua/lstate.h: Likewise.
20270 * script/lua/lstring.c: Likewise.
20271 * script/lua/lstring.h: Likewise.
20272 * script/lua/lstrlib.c: Likewise.
20273 * script/lua/ltable.c: Likewise.
20274 * script/lua/ltable.h: Likewise.
20275 * script/lua/ltablib.c: Likewise.
20276 * script/lua/ltm.c: Likewise.
20277 * script/lua/ltm.h: Likewise.
20278 * script/lua/lua.h: Likewise.
20279 * script/lua/luaconf.h: Likewise.
20280 * script/lua/lualib.h: Likewise.
20281 * script/lua/lundump.c: Likewise.
20282 * script/lua/lundump.h: Likewise.
20283 * script/lua/lvm.c: Likewise.
20284 * script/lua/lvm.h: Likewise.
20285 * script/lua/lzio.c: Likewise.
20286 * script/lua/lzio.h: Likewise.
20287
5e898c9d 202882009-05-16 Bean <bean123ch@gmail.com>
20289
20290 * include/grub/kernel.h (grub_module_header_types): Add type
20291 OBJ_TYPE_CONFIG.
20292
20293 * kern/main.c (grub_load_config): New function.
20294 (grub_main): Call grub_load_config to read boot config.
20295
20296 * grub-mkimage (generate_image): New parameter config_path.
20297 (options): New option --config.
20298 (main): Parse --config option, and pass it to generate_image.
20299
cf353a47 203002009-05-14 Christian Franke <franke@computer.org>
20301
20302 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
20303 This fixes build on Cygwin.
20304
3834887f 203052009-05-14 Pavel Roskin <proski@gnu.org>
20306
20307 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
20308 jump. This saves two bytes, so the typical case of 2 swapped
20309 drives would fit 32 bytes.
20310
8090fc01 203112009-05-13 Pavel Roskin <proski@gnu.org>
20312
ac963883 20313 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
20314 grub_uint32_t to avoid a warning.
20315
8090fc01 20316 * loader/i386/linux.c (allocate_pages): When assigning
20317 real_mode_mem, cast through grub_size_t to fix a warning. The
20318 code already makes sure that the value would fit a pointer.
20319 (grub_linux_setup_video): Cast render_target->data to
20320 grub_size_t to fix a warning.
20321
18f547ad 203222009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 20323
20324 * commands/i386/pc/drivemap.c: New file - implement drivemap
20325 command.
20326 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
20327 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
20328
6f6a8b28 203292009-05-13 Pavel Roskin <proski@gnu.org>
20330
20331 * util/i386/pc/grub-setup.c (setup): Remove unused variable
20332 embedding_area_exists.
20333
15fbf4c4 203342009-05-13 Robert Millan <rmh.grub@aybabtu.com>
20335
20336 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
20337 it easier to understand / work with.
59978c8a 20338 Improve warning messages for cases where there's no embedding area,
20339 or when it is too small (or core.img too large).
15fbf4c4 20340
238e871f 203412009-05-13 Pavel Roskin <proski@gnu.org>
20342
0ab3a9a4 20343 * loader/i386/pc/multiboot2.c: Add necessary includes for
20344 grub_multiboot2_real_boot().
20345
a2c8c5f8 20346 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
20347 PX record is always little-endian. We only need the lower 2
20348 bytes of the mode.
20349
faec96af 20350 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
20351 facilitate code reuse.
20352 (grub_cpio_mount): Use "struct head", not a char buffer. This
20353 fixes a warning reported by gcc 4.4.
20354
238e871f 20355 * kernel/disk.c (grub_disk_read): Use void pointer for the
20356 buffer.
20357 (grub_disk_write): Use const void pointer for the buffer.
20358 Adjust all callers. Remove unnecessary casts.
20359
901d2f0c 203602009-05-10 Robert Millan <rmh.grub@aybabtu.com>
20361
20362 * util/i386/pc/grub-install.in: Update copyright year.
20363
18f547ad 203642009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 20365
20366 gptsync
20367
20368 * commands/gptsync.c: new file
20369 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
20370 (gptsync_mod_SOURCES): new variable
20371 (gptsync_mod_CFLAGS): likewise
20372 (gptsync_mod_LDFLAGS): likewise
18f547ad 20373 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 20374 new definition
20375 (GRUB_PC_PARTITION_TYPE_HFS): likewise
20376 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
20377 * conf/i386-ieee1275.rmk: likewise
20378 * conf/i386-pc.rmk: likewise
20379 * conf/powerpc-ieee1275.rmk: likewise
20380
b4ba690a 203812009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20382
20383 Fixed grub-emu
20384
20385 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
20386 (grub_dl_ref): likewise
20387
317e1a44 203882009-05-08 Robert Millan <rmh.grub@aybabtu.com>
20389
20390 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
20391 split in two functions (one for msdos and one for gpt).
20392
041b8094 203932009-05-08 Pavel Roskin <proski@gnu.org>
20394
752473c2 20395 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
20396 not modified.
20397
041b8094 20398 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
20399 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
20400 Initialize them with -1. Add sanity check for bad1. Eliminate
20401 nerr variable.
20402
172800ce 204032009-05-08 David S. Miller <davem@davemloft.net>
20404
20405 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
20406
29aa5e81 204072009-05-06 Robert Millan <rmh.grub@aybabtu.com>
20408
20409 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 20410 existence.
29aa5e81 20411
96613b62 204122009-05-05 Felix Zielcke <fzielcke@z-51.de>
20413
20414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 20415 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 20416
eef73c8a 204172009-05-05 David S. Miller <davem@davemloft.net>
20418
20419 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
20420
119494b5 204212009-05-05 Pavel Roskin <proski@gnu.org>
20422
20423 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
20424 of grub_dl_ref() and grub_dl_unref().
20425 * commands/parttool.c: Remove preprocessor conditionals around
20426 grub_dl_ref() and grub_dl_unref().
20427 * fs/affs.c: Likewise.
20428 * fs/afs.c: Likewise.
20429 * fs/cpio.c: Likewise.
20430 * fs/ext2.c: Likewise.
20431 * fs/fat.c: Likewise.
20432 * fs/hfs.c: Likewise.
20433 * fs/hfsplus.c: Likewise.
20434 * fs/iso9660.c: Likewise.
20435 * fs/jfs.c: Likewise.
20436 * fs/minix.c: Likewise.
20437 * fs/ntfs.c: Likewise.
20438 * fs/reiserfs.c: Likewise.
20439 * fs/sfs.c: Likewise.
20440 * fs/udf.c: Likewise.
20441 * fs/ufs.c: Likewise.
20442 * fs/xfs.c: Likewise.
20443 * include/grub/dl.h: Likewise.
20444 * loader/xnu.c: Likewise.
20445
de5fd76e 204462009-05-04 Pavel Roskin <proski@gnu.org>
20447
20448 * commands/acpi.c: Remove unused variable my_mod.
20449 * partmap/amiga.c: Likewise.
20450 * partmap/apple.c: Likewise.
20451 * partmap/gpt.c: Likewise.
20452 * partmap/pc.c: Likewise.
20453 * partmap/sun.c: Likewise.
20454 * term/gfxterm.c: Likewise.
20455 * term/i386/pc/vesafb.c: Likewise.
20456 * term/i386/pc/vga.c: Likewise.
20457
983598ad 204582009-05-04 David S. Miller <davem@davemloft.net>
20459
20460 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
20461 pointer args to grub_ieee1275_get_property().
20462
8aadec43 20463 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
20464
9554b15e 20465 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
20466 devices, and do not traverse down under controller nodes.
20467
67e23c90 20468 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
20469 (grub_ofdisk_open): Use it to un-escape "," characters.
20470 * kern/disk.c (find_part_sep): New.
20471 (grub_disk_open): Use it to find the first non-escaped ','
20472 character in the disk name.
20473 * util/ieee1275/devicemap.c (escape_of_path): New.
20474 (grub_util_emit_devicemap_entry): Use it.
20475 * util/sparc64/ieee1275/grub-install.in: Update script to
20476 strip partition specifiers properly by not triggering on
20477 '\' escaped ',' characters.
20478
74bfdd2f 204792009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20480
20481 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
20482 to 0x300.
20483 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
20484 resolutions.
20485 (linux_vesafb_modes): Add a lot of additional modes to the list (based
20486 on documentation from Wikipedia).
20487
4241d2b1 204882009-05-04 Pavel Roskin <proski@gnu.org>
20489
20490 * disk/ata.c: Spelling fixes.
20491 * disk/raid.c: Likewise.
20492 * disk/usbms.c: Likewise.
20493 * disk/dmraid_nvidia.c: Likewise.
20494 * kern/ieee1275/openfw.c: Likewise.
20495 * kern/ieee1275/init.c: Likewise.
20496 * kern/ieee1275/cmain.c: Likewise.
20497 * boot/i386/pc/cdboot.S: Likewise.
20498 * video/readers/png.c: Likewise.
20499 * video/i386/pc/vbe.c: Likewise.
20500 * fs/udf.c: Likewise.
20501 * fs/hfs.c: Likewise.
20502 * fs/reiserfs.c: Likewise.
20503 * efiemu/runtime/efiemu.c: Likewise.
20504 * efiemu/main.c: Likewise.
20505 * efiemu/mm.c: Likewise.
20506 * include/grub/elf.h: Likewise.
20507 * include/grub/xnu.h: Likewise.
20508 * include/grub/usbdesc.h: Likewise.
20509 * include/grub/usb.h: Likewise.
20510 * include/grub/script_sh.h: Likewise.
20511 * include/grub/lib/LzmaEnc.h: Likewise.
20512 * include/grub/efiemu/efiemu.h: Likewise.
20513 * include/grub/command.h: Likewise.
20514 * normal/menu.c: Likewise.
20515 * normal/main.c: Likewise.
20516 * normal/datetime.c: Likewise.
20517 * bus/usb/uhci.c: Likewise.
20518 * mmap/i386/uppermem.c: Likewise.
20519 * mmap/mmap.c: Likewise.
20520 * commands/acpi.c: Likewise.
20521 * commands/test.c: Likewise.
20522 * partmap/apple.c: Likewise.
20523 * font/font.c: Likewise.
20524 * loader/sparc64/ieee1275/linux.c: Likewise.
20525 * loader/macho.c: Likewise.
20526 * loader/i386/bsd_trampoline.S: Likewise.
20527 * loader/i386/bsd.c: Likewise.
20528 * loader/xnu.c: Likewise.
20529 * term/i386/pc/vesafb.c: Likewise.
20530 * term/usb_keyboard.c: Likewise.
20531 * util/resolve.c: Likewise.
20532 * util/getroot.c: Likewise.
20533
0cfc0083 205342009-05-04 Felix Zielcke <fzielcke@z-51.de>
20535
20536 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
20537
7c1d00cd 205382009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20539
20540 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
20541 build error.
20542
b01f0548 205432009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20544
20545 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
20546 parameter only available on BIOS.
20547
ecc3eb22 205482009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
20549
20550 Removed wrong semicolon in declaration
20551
20552 * grub/misc.h (grub_dprintf): remove semicolon
20553
112972a9 205542009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20555
20556 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
20557 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
20558 is done by grub_cmd_linux() now).
20559 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
20560 restore video to text mode.
20561 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
20562 indicates lack of "vga=" parameter. "vga=0" is mapped to
20563 `GRUB_LINUX_VID_MODE_NORMAL'.
20564
afd5c115 205652009-05-04 Felix Zielcke <fzielcke@z-51.de>
20566
20567 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
20568 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
20569 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 20570 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 20571 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
20572 `grub_script.tab.c'.
20573
20574 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20575 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20576 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20577 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20578 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20579
faa517ce 20580 * Makefile.in: Remove duplicated 2008 in Copyright line.
20581
ae0c0bdc 205822009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20583
473d1e45 20584 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 20585 unconditionally.
20586 * include/grub/util/misc.h (grub_util_warn): New declaration.
20587
20588 * util/i386/pc/grub-install.in: Understand --force and pass it down
20589 to grub-setup.
20590
20591 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
20592 down to setup().
20593 (setup): Improve error messages and add warnings when requested to
20594 install in odd layouts. Refuse to install using blocklists unless
20595 --force was set.
20596
18f547ad 205972009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 20598
20599 * disk/raid.c (grub_raid_scan_device): Improve debug message.
20600
6d260daa 206012009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
20602
20603 Updated copyright year
20604
20605 * fs/hfsplus.c: updated copyright year
18f547ad 20606
69f853f8 206072009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
20608
20609 HFS+ UUID
20610
18f547ad 20611 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 20612 in the space previously used by unused3
20613 (grub_hfsplus_uuid): new function
20614 (grub_hfsplus_fs): added uuid field
20615
4c402e73 206162009-05-03 Pavel Roskin <proski@gnu.org>
20617
20618 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
20619 suppress warnings. It's no longer needed.
20620 * disk/host.c: Likewise.
20621 * disk/ata_pthru.c: Likewise.
20622 * disk/loopback.c: Likewise.
20623 * hook/datehook.c: Likewise.
20624 * parttool/pcpart.c: Likewise.
20625 * fs/i386/pc/pxe.c: Likewise.
20626 * fs/ntfscomp.c: Likewise.
20627 * efiemu/main.c: Likewise.
20628 * mmap/mmap.c: Likewise.
20629 * commands/crc.c: Likewise.
20630 * commands/hexdump.c: Likewise.
20631 * commands/hdparm.c: Likewise.
20632 * commands/acpi.c: Likewise.
20633 * commands/echo.c: Likewise.
20634 * commands/minicmd.c: Likewise.
20635 * commands/blocklist.c: Likewise.
20636 * commands/memrw.c: Likewise.
20637 * commands/loadenv.c: Likewise.
20638 * commands/usbtest.c: Likewise.
20639 * commands/lsmmap.c: Likewise.
20640 * commands/boot.c: Likewise.
20641 * commands/parttool.c: Likewise.
20642 * commands/configfile.c: Likewise.
20643 * commands/search.c: Likewise.
20644 * commands/ieee1275/suspend.c: Likewise.
20645 * commands/cat.c: Likewise.
20646 * commands/i386/pc/pxecmd.c: Likewise.
20647 * commands/i386/pc/play.c: Likewise.
20648 * commands/i386/pc/halt.c: Likewise.
20649 * commands/i386/pc/vbeinfo.c: Likewise.
20650 * commands/i386/pc/vbetest.c: Likewise.
20651 * commands/lspci.c: Likewise.
20652 * commands/date.c: Likewise.
20653 * commands/handler.c: Likewise.
20654 * commands/ls.c: Likewise.
20655 * commands/test.c: Likewise.
20656 * commands/cmp.c: Likewise.
20657 * commands/efi/loadbios.c: Likewise.
20658 * commands/efi/fixvideo.c: Likewise.
20659 * commands/halt.c: Likewise.
20660 * commands/help.c: Likewise.
20661 * commands/reboot.c: Likewise.
20662 * hello/hello.c: Likewise.
20663 * script/sh/main.c: Likewise.
20664 * loader/xnu.c: Likewise.
20665 * term/terminfo.c: Likewise.
20666 * term/i386/pc/serial.c: Likewise.
20667 * term/usb_keyboard.c: Likewise.
20668
515b5079 206692009-05-03 David S. Miller <davem@davemloft.net>
20670
20671 * normal/menu.c: Include grub/parser.h
20672
dfc31a22 206732009-05-03 Pavel Roskin <proski@gnu.org>
20674
2fee74f1 20675 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
20676 not char*.
20677 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
20678 Suggested by Javier Martín <lordhabbit@gmail.com>
20679
dfc31a22 20680 * util/i386/pc/grub-mkrescue.in: Allow for the case when
20681 efiemu??.o doesn't exist.
20682 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
20683 copying.
20684
18f547ad 206852009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 20686
20687 FreeBSD 64-bit support
20688
18f547ad 20689 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 20690 and loader/i386/bsd_trampoline.S
20691 (bsd_mod_ASFLAGS): new variable
20692 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
20693 (FREEBSD_MODTYPE_KERNEL64): likewise
20694 (grub_bsd64_trampoline_start): likewise
20695 (grub_bsd64_trampoline_end): likewise
20696 (grub_bsd64_trampoline_selfjump): likewise
20697 (grub_bsd64_trampoline_gdt): likewise
20698 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
20699 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
20700 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
20701 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 20702 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 20703 of "attrib" member
20704 * loader/i386/bsd_pagetable.c: new file
20705 * loader/i386/bsd_trampoline.S: likewise
20706 * loader/i386/bsd.c (ALIGN_QWORD): new macro
20707 (ALIGN_VAR): likewise
20708 (entry_hi): new variable
20709 (kern_end_mdofs): likewise
20710 (is_64bit): likewise
20711 (grub_freebsd_add_meta): use ALIGN_VAR
20712 (grub_e820_mmap): new declaration
20713 (grub_freebsd_add_mmap): new function
20714 (grub_freebsd_add_meta_module): support 64 bit kernels
20715 (grub_freebsd_list_modules): use ALIGN_VAR
20716 (gdt_descriptor): new declaration
20717 (grub_freebsd_boot): support 64 bit kernels
20718 (grub_bsd_elf64_hook): new function
20719 (grub_bsd_load_elf): support elf64
20720
038c5720 207212009-05-03 Bean <bean123ch@gmail.com>
20722
20723 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
20724 after we get the result of if statement.
20725
fc45fb58 207262009-05-03 Bean <bean123ch@gmail.com>
20727
20728 * Makefile.in (enable_efiemu): New variable.
20729
20730 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
20731 set.
20732 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
20733 path.
20734 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
20735 path, add -mno-red-zone option.
20736 (efiemu64_s.o): Likewise.
20737 (efiemu64.o): Use macro $^ for source file.
20738
20739 * configure.ac (--enable-efiemu): New option.
20740
bbee0f2b 207412009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20742
20743 xnu support
20744
20745 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
20746 (pkglib_MODULES): add xnu.mod
20747 (xnu_mod_SOURCES): new variable
20748 (xnu_mod_CFLAGS): likewise
20749 (xnu_mod_LDFLAGS): likewise
20750 (xnu_mod_ASFLAGS): likewise
20751 * conf/i386-pc.rmk: likewise
20752 * conf/x86_64-efi.rmk: likewise
7dd4a573 20753 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 20754 new declaration
20755 * include/grub/i386/macho.h: new file
20756 * include/grub/i386/xnu.h: likewise
20757 * include/grub/macho.h: likewise
20758 * include/grub/machoload.h: likewise
20759 * include/grub/x86_64/macho.h: likewise
20760 * include/grub/x86_64/xnu.h: likewise
20761 * include/grub/xnu.h: likewise
20762 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
20763 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
20764 * loader/i386/efi/xnu.c: new file
20765 * loader/i386/pc/xnu.c: likewise
20766 * loader/i386/xnu.c: likewise
20767 * loader/i386/xnu_helper.S: likewise
20768 * loader/macho.c: likewise
20769 * loader/xnu.c: likewise
20770 * loader/xnu_resume.c: likewise
20771 * util/grub-dumpdevtree: likewise
20772 * include/grub/i386/pit.h: include grub/err.h
20773 (grub_pit_wait): export
20774 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 20775
5caf964d 207762009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
20777
20778 Efiemu
7dd4a573 20779
5caf964d 20780 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 20781 _linux_efi, linux_efi.
20782 new files in grub-emu
5caf964d 20783 new targets efiemu32.o and efiemu64.o
20784 * loader/linux_normal_efiemu.c: likewise
20785 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 20786 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 20787 files to copy
20788 * include/grub/autoefi.h: new file
7dd4a573 20789 * include/grub/i386/efiemu.h: likewise
5caf964d 20790 * include/grub/i386/pc/efiemu.h: likewise
20791 * include/grub/efi/api.h: add LL suffix when necessary
20792 new definitions relating to tables
20793 * include/grub/efiemu/efiemu.h: new file
20794 * include/grub/efiemu/runtime.h: likewise
20795 * efiemu/prepare.c: likewise
20796 * efiemu/loadcore_common.c: likewise
20797 * efiemu/loadcore64.c: likewise
20798 * efiemu/runtime/efiemu.sh: likewise
20799 * efiemu/runtime/efiemu.S: likewise
20800 * efiemu/runtime/efiemu.c: likewise
20801 * efiemu/runtime/config.h: likewise
20802 * efiemu/prepare32.c: likewise
20803 * efiemu/main.c: likewise
20804 * efiemu/modules/pnvram.c: likewise
20805 * efiemu/modules/i386: likewise
20806 * efiemu/modules/i386/pc: likewise
20807 * efiemu/modules/acpi.c: likewise
20808 * efiemu/i386/pc/cfgtables.c: likewise
20809 * efiemu/i386/loadcore64.c: likewise
20810 * efiemu/i386/loadcore32.c: likewise
20811 * efiemu/prepare64.c: likewise
20812 * efiemu/loadcore.c: likewise
20813 * efiemu/symbols.c: likewise
20814 * efiemu/mm.c: likewise
20815 * efiemu/loadcore32.c: likewise
7dd4a573 20816
208172009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 20818
20819 ACPI spoofing
20820
20821 * commands/acpi.c: new file
20822 * commands/i386/pc/acpi.c: likewise
20823 * commands/efi/acpi.c: likewise
20824 * include/grub/acpi.h: likewise
20825 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
20826 (acpi_mod_SOURCES): new variable
20827 (acpi_mod_CFLAGS): likewise
20828 (acpi_mod_LDFLAGS): likewise
20829 * conf/i386-efi.rmk: likewise
20830 * conf/x86_64-efi.rmk: likewise
20831
7dd4a573 208322009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 20833
20834 Missing part from mmap patch
20835
20836 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
20837 (grub_mmap_unregister)
20838 (grub_mmap_free_and_unregister): use grub_mmap_register
20839
7dd4a573 208402009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 20841
20842 Mmap services
20843
20844 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
20845 * loader/i386/linux.c (find_mmap_size): likewise
20846 (allocate_pages): likewise
20847 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
20848 (grub_fill_multiboot_mmap): likewise
20849 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
20850 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
20851 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
20852 (OPENBSD_MMAP_RESERVED): likewise
20853 * include/grub/i386/pc/memory.h: include grub/memory.h
20854 (grub_lower_mem): removed
20855 (grub_upper_mem): likewise
20856 (GRUB_MACHINE_MEMORY_ACPI): new definition
20857 (GRUB_MACHINE_MEMORY_NVS): likewise
20858 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
20859 (GRUB_MACHINE_MEMORY_HOLE): likewise
20860 (grub_machine_mmap_register): likewise
20861 (grub_machine_mmap_unregister): likewise
20862 (grub_machine_get_upper): likewise
20863 (grub_machine_get_lower): likewise
20864 (grub_machine_get_post64): likewise
20865 * include/grub/i386/efi/memory.h: new file
20866 * include/grub/x86_64/efi/memory.h: likewise
20867 * include/grub/efi/memory.h: likewise
20868 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
20869 (mmap_mod_SOURCES): new variable
20870 (mmap_mod_LDFLAGS): likewise
20871 (mmap_mod_ASFLAGS): likewise
20872 * conf/i386-coreboot.rmk: likewise
20873 * conf/i386-ieee1275.rmk: likewise
20874 * conf/i386-efi.rmk: likewise
20875 * conf/x86_64-efi.rmk: likewise
20876 * include/grub/types.h (UINT_TO_PTR): new macro
20877 (PTR_TO_UINT32): likewise
20878 (PTR_TO_UINT64): likewise
20879 * include/grub/memory.h: new file
20880 * mmap/i386/pc/mmap.c: likewise
20881 * mmap/i386/pc/mmap_helper.S: likewise
20882 * mmap/i386/uppermem.c: likewise
20883 * mmap/mmap.c: likewise
20884 * mmap/efi/mmap.c: likewise
7dd4a573 20885 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 20886 grub_upper_mem
20887 * kern/i386/pc/init.c (grub_lower_mem): removed variable
20888 (grub_upper_mem): likewise
20889 (grub_machine_init): don't use grub_upper_mem,
20890 make grub_lower_mem local
20891 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
20892 grub_mmap_iterate and grub_mmap_get_upper
20893 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
20894
d558e6b5 208952009-05-02 Bean <bean123ch@gmail.com>
20896
20897 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
20898 script/sh/parser.y.
20899 (pkglib_MODULES): Add normal.mod and sh.mod.
20900 (normal_SOURCES): New variable.
20901 (normal_mod_CFLAGS): Likewise.
20902 (normal_mod_LDFLAGS): Likewise.
20903 (sh_mod_SOURCES): Likewise.
20904 (sh_mod_CFLAGS): Likewise.
20905 (sh_mod_LDFLAGS): Likewise.
20906
20907 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
20908 script/sh/lexer.c_DEPENDENCIES.
20909 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
20910 kern/rescue_reader.c and kern/rescue_parser.c.
20911 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
20912 (grub_emu_SOURCES): Change source files.
20913 (pkglib_MODULES): Remove normal.mod.
20914 (normal_SOURCES): Removed.
20915 (normal_mod_CFLAGS): Likewise.
20916 (normal_mod_LDFLAGS): Likewise.
20917 * conf/i386-coreboot.rmk: Likewise.
20918 * conf/i386-efi.rmk: Likewise.
20919 * conf/i386-ieee1276.rmk: Likewise.
20920 * conf/powerpc-ieee1275.rmk: Likewise.
20921 * conf/sparc64-ieee1275.rmk: Likewise.
20922 * conf/x86_64-efi.rmk: Likewise.
20923
20924 * include/grub/command.h (grub_command_execute): New inline function.
20925
20926 * include/grub/menu.h (grub_menu_entry): Removed commands field.
20927
20928 * include/grub/normal.h: Remove <grub/setjmp.h>.
20929 (grub_fs_module_list): Moved to normal/autofs.c.
20930 (grub_exit_env): Removed.
20931 (grub_command_execute): Likewise.
20932 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
20933 parameter script.
20934 (read_command_list): New function declaration.
20935 (read_fs_list): Likewise.
20936
20937 * include/parser.h: Include <grub/reader.h>.
20938 (grub_parser_split_cmdline): Change type of getline parameter.
20939 (grub_parser): New structure.
20940 (grub_parser_class): New variable.
20941 (grub_parser_execute): New function declaration.
20942 (grub_register_rescue_parser): Likewise.
20943 (grub_parser_register): New inline function.
20944 (grub_parser_unregister): Likewise.
20945 (grub_parser_get_current): Likewise.
20946 (grub_parser_set_current): Likewise.
20947
20948 * include/grub/reader.h: New file.
20949 * kern/reader.c: Likewise.
20950 * kern/rescue_parser.c: Likewise.
20951 * kern/rescue_reader.c: Likewise.
20952 * normal/autofs.c: Likewise.
20953 * normal/dyncmd.c: Likewise.
20954
20955 * include/grub/rescue.h: Removed.
20956 * normal/command.h: Likewise.
20957
20958 * include/grub/script.h: Moved to ...
20959 * include/grub/script_sh.h: ... Moved here.
20960 * normal/execute.c: Moved to ...
20961 * script/sh/execute.c: ... Moved here.
20962 * normal/function.c: Moved to ...
20963 * script/sh/function.c: ... Moved here.
20964 * normal/lexer.c: Moved to ...
20965 * script/sh/lexer.c: ... Moved here.
20966 * normal/parser.y: Moved to ...
20967 * script/sh/parser.y: ... Moved here.
20968 * normal/script.c: Moved to ...
20969 * script/sh/script.c: ... Moved here.
20970
20971 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
20972 <grub/reader.h>.
20973 (grub_exit_env): Removed.
20974 (fs_module_list): Moved to normal/autofs.c.
20975 (grub_file_getline): Don't handle comment here.
20976 (free_menu): Skip removed field entry->commands.
20977 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
20978 script parameter.
20979 (read_config_file): Removed nested parameter, change getline function.
20980 (grub_enter_normal_mode): Removed.
20981 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
20982 (read_command_list): Likewise.
20983 (autoload_fs_module): Moved to normal/autofs.c.
20984 (read_fs_list): Likewise.
20985 (reader_nested): New variable.
20986 (grub_normal_execute): Run parser.sh to switch to sh parser.
20987 (grub_cmd_rescue): Removed.
20988 (cmd_normal): Removed.
20989 (grub_cmd_normal): Unregister itself at the beginning. Don't register
20990 rescue command.
20991 (grub_cmdline_run): New function.
20992 (grub_normal_reader_init): Likewise.
20993 (grub_normal_read_line): Likewise.
20994 (grub_env_write_pager): Likewise.
20995 (cmdline): New variable.
20996 (grub_normal_reader): Likewise.
20997 (GRUB_MOD_INIT): Register normal reader and set as current, register
20998 pager hook, register normal command with grub_register_command_prio,
20999 so that it won't show up in command.lst.
21000 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
21001 grub_fs_autoload_hook.
21002
21003 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
21004 (grub_menu_execute_entry): Replace grub_script_execute with
21005 grub_parser_execute, change parameter to grub_command_execute.
21006
21007 * normal/menu_text.c: Remove <grub/script.h>.
21008
21009 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
21010 and <grub/parser.h>.
21011 (run): Change editor_getline to use new parser interface. Change
21012 parameter to grub_command_execute.
21013
21014 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
21015 <grub/reader.h> and <grub/parser.h>.
21016 (grub_load_normal_mode): Execute normal command.
21017 (grub_main): Call grub_register_core_commands,
21018 grub_register_rescue_parser and grub_register_rescue_reader, use
21019 grub_reader_loop to enter input loop.
21020
7dd4a573 21021 * kern/parser.c (grub_parser_split_cmdline): Change type of
21022 getline parameter.
d558e6b5 21023 (grub_parser_class): New variable.
21024 (grub_parser_execute): New function.
21025
21026 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
21027 * loader/multiboot2.c: Likewise.
21028 * loader/sparc64/ieee1275/linux.c: Likewise.
21029
21030 * util/grub-emu.c (read_command_list): New dummy function.
21031
18db813d 210322009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21033
21034 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
21035 count to 16 for CCISS and IDA.
21036
6c67de15 210372009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21038
21039 * normal/menu_text.c (grub_wait_after_message): Print a newline
21040 after waiting for user input.
21041
21042 * loader/i386/linux.c: Include `<grub/normal.h>'.
21043 (grub_cmd_linux): Improve the error message about `ask' mode, by
21044 waiting for user input so it's not missed (we can do this, since
21045 user requested interaction).
21046
d9dc87b0 210472009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21048
21049 Added missing lst to grub-mkrescue
21050
21051 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
21052 and ${input_dir}/parttool.lst
21053
ac8a2baa 210542009-04-30 David S. Miller <davem@davemloft.net>
21055
ad22a610 21056 * util/hostdisk.c (device_is_wholedisk): New function.
21057 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
21058 zero only if device_is_wholedisk() returns true.
21059
6966215d 21060 * util/hostdisk.c (convert_system_partition_to_system_disk):
21061 Handle virtual disk devices named /dev/vdiskX as found on sparc
21062 and powerpc.
21063
ac8a2baa 21064 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
21065 lettered partition specifier is found, convert to numbered.
21066
979b4fb4 210672009-04-29 David S. Miller <davem@davemloft.net>
21068
e2bf39b2 21069 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
21070 * include/grub/sparc64/ieee1275/memory.h: Likewise.
21071
3c64e104 21072 * normal/command.c: Add missing newline at end of file.
21073
979b4fb4 21074 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
21075 warnings.
21076 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
21077 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
21078 grub_ofdisk_read): Likewise, and deal similarly with the fact that
21079 ihandles have a 32-bit type but need to be stored in a "void *".
21080
136d9f82 210812009-04-28 Pavel Roskin <proski@gnu.org>
21082
9459c306 21083 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
21084 not disk. Adjust all dependencies.
2e08a26a 21085 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 21086 grub_disk_close().
21087
136d9f82 21088 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
21089 parent's partition, don't copy it by reference, as it gets freed
21090 on close.
21091
7dd4a573 210922009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 21093
21094 Preboot hooks support
21095
21096 * commands/boot.c (struct grub_preboot_t): new declaration
21097 (preboots_head): new variable
21098 (preboots_tail): likewise
21099 (grub_loader_register_preboot_hook): new function
21100 (grub_loader_unregister_preboot_hook): likewise
21101 (grub_loader_set): launch preboot hooks
21102 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
21103 (grub_loader_register_preboot_hook): new declaration
21104 (grub_loader_unregister_preboot_hook): likewise
21105
5af922b5 211062009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21107
21108 Warning fix
21109
7dd4a573 21110 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 21111 calling grub_dprintf
21112
a5562c30 211132009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
21114
21115 Bug and warning fixes
21116
7dd4a573 21117 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 21118 declaration
21119 * commands/test.c (test_parse): fixed bug with file tests and corrected
21120 declaration of find_file
21121
4006f85c 211222009-04-26 Pavel Roskin <proski@gnu.org>
21123
21124 * Makefile.in: Don't install empty manual pages if help2man is
21125 missing. Use help2man option for output, not shell redirection.
21126
5c77c3de 211272009-04-26 David S. Miller <davem@davemloft.net>
21128
21129 * util/grub-mkdevicemap.c (make_device_map): Add missing
21130 NESTED_FUNC_ATTR to process_device().
21131
033b10a8 211322009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21133
21134 Test command
21135
21136 * commands/test.c: rewritten to use bash-like test
21137
e4343593 211382009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21139
21140 Parttool autoloading and improvements
21141
7dd4a573 21142 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 21143 (parttool.lst): new target
21144 * genmk.rb: generate parttool-*
21145 (CLEANFILES): add #{parttool}
21146 (PARTTOOLFILES): new variable
21147 * genparttoollist.sh: new file
7dd4a573 21148 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 21149 (grub_pcpart_type): likewise
21150 * commands/parttool.c (helpmsg): new variable
21151 (grub_cmd_parttool): output help if not enough arguments are supplied
21152 autoload modules
21153 (GRUB_MOD_INIT(parttool)): use helpmsg
21154
0d312500 211552009-04-24 David S. Miller <davem@davemloft.net>
21156
7dd4a573 21157 Avoiding opening same device multiple times in device iterator.
0d312500 21158
21159 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 21160 and use it to build a list of partitions in iterate_disk() and
0d312500 21161 iterate_partition().
21162
ac20caff 21163 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
21164 on disk->data.
21165
0dcf7495 21166 * disk/ieee1275/nand.c (grub_nand_iterate): Return
21167 grub_devalias_iterate() result instead of unconditional 0.
21168 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
21169 Also, capture hook return value, either directly or via
21170 grub_children_iterate(), and propagate to caller.
21171 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
21172 grub_children_iterate): Return value is now 'int' instead of
21173 'grub_err_t'.
21174 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
21175 like a proper iterator, stopping when hooks return non-zero.
21176 (grub_devalias_iterate): Likewise.
21177
c8c08833 211782009-04-23 David S. Miller <davem@davemloft.net>
21179
21180 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
21181
f01005a8 211822009-04-22 David S. Miller <davem@davemloft.net>
21183
21184 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
21185 is larger than address_cells, use that value for address_cells too.
21186
4e8269da 21187 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
21188 IEEE1275_MAX_PATH_LEN): Define.
21189 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
21190 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
21191 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
21192 'devtype'. Explicitly NULL terminate devalias expansion.
21193
a1447506 21194 * util/sparc64/ieee1275/misc.c: New file.
21195 * util/sparc64/ieee1275/grub-setup.c: New file.
21196 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
21197 * util/sparc64/ieee1275/grub-mkimage.c: New file.
21198 * util/sparc64/ieee1275/grub-install.in: New file.
21199 * util/ieee1275/ofpath.c: New file.
21200 * util/ieee1275/devicemap.c: New file.
21201 * util/devicemap.c: New file.
21202 * util/deviceiter.c: New file.
21203 * kern/sparc64/ieee1275/init.c: New file.
21204 * include/grub/util/ofpath.h: New file.
21205 * include/grub/util/deviceiter.h: New file.
21206 * util/grub-mkdevicemap.c: Include deviceiter.h.
21207 Implement using grub_util_emit_devicemap_entry and
21208 grub_util_iterate_devices.
21209 * conf/i386-corebook.rmk: Build util/deviceiter.c and
21210 util/devicemap.c into grub-mkdevicemap
21211 * conf/i386-efi.rmk: Likewise.
21212 * conf/i386-ieee1275.rmk: Likewise.
21213 * conf/i386-pc.rmk: Likewise.
21214 * conf/powerpc-ieee1275.rmk: Likewise.
21215 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
21216 images and installation utilities. Build kernel as image
21217 instead of as elf binary. Use common rules as much as possible.
21218
7dd4a573 212192009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 21220
21221 Correct GPT definition
21222
7dd4a573 21223 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 21224 of "attrib" member
21225
c6c5219f 212262009-04-19 Felix Zielcke <fzielcke@z-51.de>
21227
21228 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
21229
0552ff9f 212302009-04-19 David S. Miller <davem@davemloft.net>
21231
21232 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
21233 (grub_rescue_cmd_linux): Rename to...
21234 (grub_cmd_linux): and fix prototype.
21235 (grub_rescue_cmd_initrd): Rename to...
21236 (grub_cmd_initrd): and fix prototype.
21237 (cmd_linux, cmd_initrd): New.
21238 (GRUB_MOD_INIT(linux)): Use grub_register_command().
21239 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
21240
d1a282fc 212412009-04-17 Pavel Roskin <proski@gnu.org>
21242
07c5039f 21243 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
21244 format.
21245 (grub_ohci_transfer): Likewise.
21246
b012002d 21247 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
21248
1bc09c35 21249 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
21250 return without a value. Fix inconsistent indentation.
21251
e0ff9126 21252 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
21253 match struct grub_fs.
21254
d1a282fc 21255 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
21256 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
21257 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21258 * commands/lspci.c (grub_lspci_iter): Likewise.
21259
a96df3f2 212602009-04-16 Bean <bean123ch@gmail.com>
21261
21262 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
21263 value.
21264
41bb0fe9 212652009-04-15 Pavel Roskin <proski@gnu.org>
21266
21267 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
21268 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
21269 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
21270 definitions.
21271
596c6970 212722009-04-15 Felix Zielcke <fzielcke@z-51.de>
21273
21274 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 21275 that no multiple data or metadata areas are supported and `Unknown
596c6970 21276 metadata header'.
21277
7dd4a573 212782009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 21279
21280 Move loader out of the kernel
21281
21282 * kern/loader.c: moved to ...
21283 * commands/boot.c: ... moved here
21284 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
21285 * commands/boot.c (grub_cmd_boot): moved here. All users updated
21286 * include/grub/kernel.h (grub_machine_fini): export
21287 * include/grub/loader.h (grub_loader_is_loaded): update declaration
21288 (grub_loader_set): likewise
21289 (grub_loader_unset): likewise
21290 (grub_loader_boot): likewise
21291 * conf/common.rmk: new module boot.mod
21292 (pkglib_MODULES): add boot.mod
21293 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
21294 (grub_emu_SOURCES): likewise
21295 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
21296 (grub_emu_SOURCES): likewise
21297 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
21298 (grub_emu_SOURCES): likewise
21299 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
21300 (grub_emu_SOURCES): likewise
21301 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
21302 (grub_emu_SOURCES): likewise
7dd4a573 21303 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
21304 (grub_emu_SOURCES): likewise
0d5d5653 21305 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 21306 (grub_emu_SOURCES): likewise
0d5d5653 21307
7dd4a573 213082009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 21309
21310 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 21311
5999d619 21312 * kern/misc.c (grub_itoa): Removed function
21313 (grub_ltoa): likewise
21314 (grub_vsprintf): use grub_lltoa
21315
7dd4a573 213162009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 21317
21318 Restore grub-emu
21319
21320 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
21321 * conf/i386-coreboot.rmk: likewise
21322 * conf/i386-ieee1275.rmk: likewise
21323 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 21324
20318222 213252009-04-15 Felix Zielcke <fzielcke@z-51.de>
21326
21327 * INSTALL: Add that `./autogen.sh' needs to be run before
21328 `./configure.'.
21329
d05f0df3 213302009-04-14 Bean <bean123ch@gmail.com>
21331
21332 * Makefile.in (pkglib_DATA): Add handler.lst.
21333 (handler.lst): New rule.
21334
21335 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
21336 * conf/i386-coreboot.rmk: Likewise.
21337 * conf/i386-ieee1275.rmk: Likewise.
21338 * conf/i386-efi.rmk: Likewise.
21339 * conf/x86_64-efi.rmk: Likewise.
21340 * conf/powerpc-ieee1275.rmk: Likewise.
21341 * conf/sparc64-ieee1275.rmk: Likewise.
21342
21343 * genhandlerlist.sh: New file.
21344
21345 * genmk.rb: Add rules to generate handler.lst.
21346
21347 * include/grub/normal.h (grub_file_getline): New function definition.
21348 (read_handler_list): Likewise.
21349 (free_handler_list): Likewise.
21350
21351 * include/grub/term.h (grub_term_register_input): Add name parameter
21352 for auto generation of handler.lst.
21353 (grub_term_register_output): Likewise.
21354
21355 * normal/handler.c: New file.
21356
21357 * normal/main.c (get_line): Renamed to grub_file_getline.
21358 (read_config_file): Use the newly renamed grub_file_getline.
21359 (read_command_list): Likewise.
21360 (read_fs_list): Likewise.
21361 (grub_normal_execute): Call read_handler_list to parse handler.lst.
21362 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
21363
21364 * term/efi/console.c (grub_console_init): Add name parameter for auto
21365 generation of handler.lst.
21366 * term/gfxterm.c: Likewise.
21367 * term/i386/pc/at_keyboard.c: Likewise.
21368 * term/i386/pc/console.c: Likewise.
21369 * term/i386/pc/serial.c: Likewise.
21370 * term/i386/pc/vesafb.c: Likewise.
21371 * term/i386/pc/vga.c: Likewise.
21372 * term/i386/pc/vga_text.c: Likewise.
21373 * term/ieee1275/ofconsole.c: Likewise.
21374 * term/usb_keyboard.c: Likewise.
21375
33c846be 213762009-04-14 Bean <bean123ch@gmail.com>
21377
21378 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
21379 properly with null character.
21380
4484e01e 213812009-04-14 Felix Zielcke <fzielcke@z-51.de>
21382
21383 * configure: Remove.
21384 * config.h.in: Likewise.
f93d668e 21385 * stamp-h.in: Likewise.
4484e01e 21386 * DISTLIST: Likewise.
21387 * conf/common.mk: Likewise.
21388 * conf/i386-coreboot.mk: Likewise.
21389 * conf/i386-efi.mk: Likewise.
21390 * conf/i386-ieee1275.mk: Likewise.
21391 * conf/i386.mk: Likewise.
21392 * conf/i386-pc.mk: Likewise.
21393 * conf/powerpc-ieee1275.mk: Likewise.
21394 * conf/sparc64-ieee1275.mk: Likewise.
21395 * conf/x86_64-efi.mk: Likewise.
21396
21397 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
21398 develop on GRUB.
21399
7dd4a573 214002009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 21401 David S. Miller <davem@davemloft.net>
21402
21403 * util/hostdisk.c (make_device_name): Fix buffer length
21404 calculations.
21405
e25b5a8c 214062009-04-14 Felix Zielcke <fzielcke@z-51.de>
21407
21408 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
21409 <sys/param.h> and <sys/sysctl.h>.
21410 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
21411 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
21412 opening the device and reset them afterwards.
21413
1f1f580c 214142009-04-13 Pavel Roskin <proski@gnu.org>
21415
21416 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
21417 Reported by John Stanley <jpsinthemix@verizon.net>
21418
7ebc2d6b 214192009-04-13 Robert Millan <rmh@aybabtu.com>
21420
21421 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 21422 that name for menuentries when appropriate.
7ebc2d6b 21423
d8ba3667 214242009-04-13 Felix Zielcke <fzielcke@z-51.de>
21425
21426 * util/grub.d/10_freebsd.in: Add a missing `fi'.
21427
cba416eb 214282009-04-13 Robert Millan <rmh@aybabtu.com>
21429
21430 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
21431 to Linux, simply abort telling the user it's no longer supported.
21432
a547a745 214332009-04-13 Felix Zielcke <fzielcke@z-51.de>
21434
21435 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 21436 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 21437 `freebsd_loadenv' only when devices.hints exist.
21438
232a769c 214392009-04-13 Pavel Roskin <proski@gnu.org>
21440
21441 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
21442
c3012039 214432009-04-13 Felix Zielcke <fzielcke@z-51.de>
21444
21445 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
21446 partition number.
21447 (grub_drive): Likewise.
21448
234022fe 214492009-04-13 David S. Miller <davem@davemloft.net>
21450
21451 * kern/sparc64/ieee1275/ieee1275.c: New file.
21452 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
21453 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
21454 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
21455 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
21456 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
21457 grub_ieee1275_alloc_physmem): Declare new exported functions.
21458
d8e1836c 21459 * include/grub/sparc64/ieee1275/loader.h: New file.
21460 * include/grub/sparc64/ieee1275/memory.h: Likewise.
21461 * include/grub/sparc64/kernel.h: Likewise.
21462 * loader/sparc64/ieee1275/linux.c: Likewise.
21463
96bd81ec 21464 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
21465 (grub_fstest_SOURCES): Likewise.
21466
6a4737e5 21467 * util/hostdisk.c (make_device_name): Do not make any assumptions
21468 about the length of drive names.
21469
1d7a72fd 21470 * kern/dl.c (grub_dl_load_file): Close file immediately when
21471 we are done using it.
21472
56bc2471 214732009-04-12 David S. Miller <davem@davemloft.net>
21474
21475 * kern/misc.c (grub_ltoa): Fix cast when handling negative
21476 values. Noticed by Pavel Roskin.
21477
df38d0bb 21478 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
21479 target compiler.
7dd4a573 21480
e382e93a 21481 * genmk.rb: Add more flexible image type specification, also
21482 pass --strip-unneeded to objcopy.
21483 * conf/i386-pc.rmk: Use *_FORMAT.
21484 * conf/i386-pc.mk: Rebuilt.
21485
f5dbbca9 21486 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
21487 (OFDISK_HASH_SZ): Define.
21488 (ofdisk_hash): New hash table.
21489 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
21490 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
21491 instead of device phandle which is not unique.
21492
91c88b12 21493 * kern/sparc64/ieee1275/init.c: Delete, replace with...
21494 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
21495 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
21496 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
21497 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
21498 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
21499 GRUB_KERNEL_MACHINE_DATA_END): Define.
21500 (grub_kernel_image_size, grub_total_module_size): Declare.
21501
5b5d4aa5 215022009-04-12 Pavel Roskin <proski@gnu.org>
21503
7dd4a573 21504 * configure.ac: Change the logic when we check for target tools.
21505 Do it when the target is specified and it's different from the
21506 specified value of the host.
5b5d4aa5 21507
c91e1793 215082009-04-11 Felix Zielcke <fzielcke@z-51.de>
21509
21510 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
21511 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
21512 GNU/kFreeBSD. Check if a device is a character device. Use
21513 DIOCGMEDIASIZE to get the size.
21514 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
21515 support for GNU/kFreeBSD.
21516 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
21517 is a character device instead of a block device. Add support for
21518 FreeBSD device names.
21519
21520 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
21521 is a character device instead of a block device.
21522
21523 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
21524 is a character device instead of a block device.
21525
b1ac8644 215262009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
21527
21528 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
21529 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
21530 FreeBSD. Check if a device is a character device. Use
21531 DIOCGMEDIASIZE to get the size.
21532 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
21533 support for FreeBSD.
21534 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
21535 is a character device instead of a block device. Add support for
21536 FreeBSD device names.
21537
21538 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
21539 a character device instead of a block device.
21540 (grub_util_check_char_device): New function.
21541
21542 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
21543 a character device instead of a block device.
21544
21545 * include/grub/util/getroot.h (grub_util_check_char_device): New
21546 prototype.
21547
a3f7515a 215482009-04-11 David S. Miller <davem@davemloft.net>
21549
21550 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
21551 static libgcc.
21552 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
21553 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
21554 function, if present.
21555 (__bswapdi2): Likewise.
21556
0d44993d 21557 * include/grub/sparc64/ieee1275/boot.h: New file.
21558 * boot/sparc64/ieee1275/boot.S: Likewise.
21559 * boot/sparc64/ieee1275/diskboot.S: Likewise.
21560
ed3d2bc2 21561 * kern/misc.c (grub_ltoa): New function.
21562 (grub_vsprintf): Use it to format 'long' integers.
21563
d3bfb59c 215642009-04-10 David S. Miller <davem@davemloft.net>
21565
21566 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
21567 slots are of type grub_ieee1275_cell_t.
21568 (grub_nand_read): Likewise.
21569 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
21570 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
21571 macros are used to compare values in arg/ret block of the call.
21572 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
21573 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
21574 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
21575 grub_ieee1275_instance_to_path, grub_ieee1275_write,
21576 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
21577 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
21578 grub_ieee1275_close, grub_ieee1275_set_property,
21579 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
21580 grub_ieee1275_cell_t.
21581 * kern/ieee1275/openfw.c (grub_map): Likewise.
21582 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
21583 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
21584
450e2238 21585 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
21586 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
21587 (grub_devalias_iterate): Likewise.
21588
7dd4a573 215892009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 21590
21591 UFS improvements
21592
21593 * fs/ufs.c (INODE_NBLOCKS): new definition
21594 (struct grub_ufs_dirent): added fields for non-BSD dirents
21595 (grub_ufs_get_file_block): fixed double indirect handling
21596 (grub_ufs_lookup_symlink): use more robust way to determine whether
21597 symlink is inline
21598 (grub_ufs_find_file): support for non-BSD dirents
21599 (grub_ufs_dir): support for non-BSD dirents
21600
e7e6862a 216012009-04-10 Bean <bean123ch@gnail.com>
21602
21603 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
21604 attribute, otherwise the size would be wrong for i386 platform.
21605
21606 * include/grub/pci.h (grub_pci_read_word): New inline function.
21607 (grub_pci_read_byte): Likewise.
21608 (grub_pci_write): Likewise.
21609 (grub_pci_write_word): Likewise.
21610 (grub_pci_write_byte): Likewise.
21611
21612 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
21613
21614 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
21615 (find_framebuf): Scan pci to locate the frame buffer address.
21616
21617 * commands/efi/fixvideo.c: New file.
21618
21619 * commands/efi/loadbios.c: Likewise.
21620
21621 * commands/memrw.c: Likewise.
21622
21623 * util/grub-dumpbios.in: Likewise.
21624
21625 * conf/common.rmk (grub-dumpbios): New utility.
21626 (pkglib_MODULES): New module memrw.mod.
21627 (memrw_mod_SOURCE): New macro.
21628 (memrw_mod_CFLAGS): Likewise.
21629 (memrw_mod_LDFLAGS): Likewise.
21630
7dd4a573 21631 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 21632 fixvideo.mod.
21633 (loadbios_mod_SOURCE): New macro.
21634 (loadbios_mod_CFLAGS): Likewise.
21635 (loadbios_mod_LDFLAGS): Likewise.
21636 (fixvideo_mod_SOURCE): Likewise.
21637 (fixvideo_mod_CFLAGS): Likewise.
21638 (fixvideo_mod_LDFLAGS): Likewise.
21639
7dd4a573 21640 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 21641 fixvideo.mod.
21642 (loadbios_mod_SOURCE): New macro.
21643 (loadbios_mod_CFLAGS): Likewise.
21644 (loadbios_mod_LDFLAGS): Likewise.
21645 (fixvideo_mod_SOURCE): Likewise.
21646 (fixvideo_mod_CFLAGS): Likewise.
21647 (fixvideo_mod_LDFLAGS): Likewise.
21648
af63ada2 216492009-04-08 Felix Zielcke <fzielcke@z-51.de>
21650
21651 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
21652
c2cdde70 216532009-04-07 David S. Miller <davem@davemloft.net>
21654
21655 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
21656 support for R_SPARC_OLO10 relocations. Fix compile warning for
21657 R_SPARC_WDISP30 case.
ea3f72cf 21658 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 21659
761319cf 216602009-04-06 Pavel Roskin <proski@gnu.org>
21661
1007d1f5 21662 * include/grub/misc.h (ARRAY_SIZE): New macro.
21663 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
21664 New macro.
21665 * loader/i386/linux.c (allocate_pages): Use free_pages().
21666 (grub_linux_unload): Don't use free_pages().
21667 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
21668 wrong index. Treat all other modes as text modes.
21669 (grub_cmd_linux): Initialize vid_mode unconditionally to
21670 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
21671
761319cf 21672 * commands/help.c (print_command_help): Use cmd->prio, not
21673 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
21674
ea761d40 216752009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 21676
ea761d40 21677 Parttool
21678
21679 * parttool/pcpart.c: new file
21680 * commands/parttool.c: likewise
21681 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
21682 (parttool_mod_SOURCES): new variable
21683 (parttool_mod_CFLAGS): likewise
21684 (parttool_mod_LDFLAGS): likewise
21685 (pcpart_mod_SOURCES): likewise
21686 (pcpart_mod_CFLAGS): likewise
21687 (pcpart_mod_LDFLAGS): likewise
7dd4a573 21688 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 21689 and parttool/pcpart.c
21690 * conf/i386-efi.rmk: likewise
21691 * conf/i386-ieee1275.rmk: likewise
21692 * conf/i386-pc.rmk: likewise
21693 * conf/powerpc-ieee1275.rmk: likewise
21694 * conf/sparc64-ieee1275.rmk: likewise
21695 * conf/x86_64-ieee1275.rmk: likewise
21696
05aaebfb 216972009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21698
21699 Support for mtime and further expandability of dir command
21700
21701 * include/grub/lib/datetime.h: moved to ...
7dd4a573 21702 * include/grub/datetime.h: ... moved here and added
05aaebfb 21703 declaration of grub_unixtime2datetime. All users updated
7dd4a573 21704 * include/grub/fs.h: new syntax for dir and mtime functions in
21705 struct grub_fs
05aaebfb 21706 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
21707 and GRUB_FSHELP_FLAGS_MASK
21708 * commands/ls.c (grub_ls_list_files): Write mtime in long format
21709 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
21710 (grub_ext2_mtime): new function
21711 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
21712 (grub_hfsplus_mtime): new function
21713 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
21714 (GRUB_UFS_ATTR_FILE): likewise
21715 (GRUB_UFS_ATTR_LNK): likewise
21716 (struct grub_ufs_sblock): new fields mtime
21717 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
21718 all users updated
21719 (grub_ufs_dir): mtime support
21720 (grub_ufs_mtime): new function
21721 * fs/affs.c (grub_affs_dir): use new dir syntax
21722 * fs/afs.c (grub_afs_dir): likewise
21723 * fs/cpio.c (grub_cpio_dir): likewise
21724 * fs/fat.c (grub_fat_find_dir): likewise
21725 * fs/hfs.c (grub_hfs_dir): likewise
21726 * fs/iso9660.c (grub_iso9660_dir): likewise
21727 * fs/jfs.c (grub_jfs_dir): likewise
21728 * fs/minix.c (grub_minix_dir): likewise
21729 * fs/ntfs.c (grub_ntfs_dir): likewise
21730 * fs/reiserfs.c (grub_reiserfs_dir): likewise
21731 * fs/sfs.c (grub_sfs_dir): likewise
21732 * fs/xfs.c (grub_xfs_dir): likewise
21733 * util/hostfs.c (grub_hostfs_dir): likewise
21734 * lib/datetime.c: moved to ...
21735 * normal/datetime.c: ... moved here
21736 (grub_unixtime2datetime): new function
21737 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 21738 * normal/completion.c (iterate_dir): use new dir syntax
21739 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 21740 last modification time of a volume
7dd4a573 21741 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 21742 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 21743 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 21744 (normal_mod_SOURCES): likewise
21745 (datetime_mod_SOURCES): Removed lib/datetime.c
21746 * conf/i386-efi.rmk: likewise
7dd4a573 21747 * conf/i386-ieee1275.rmk: likewise
05aaebfb 21748 * conf/i386-pc.rmk: likewise
21749 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 21750 * conf/sparc64-ieee1275.rmk: likewise
21751 * conf/x86_64-efi.rmk: likewise
05aaebfb 21752
8a7e1a14 217532009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21754
21755 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 21756
21757 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 21758 on grub_fat_find_dir
21759 (grub_fat_find_dir): use grub_fat_iterate_dir
21760 (grub_fat_label): likewise
21761
04186a9c 217622009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
21763
7dd4a573 21764 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 21765 and command.h
21766 remove extraneous kernel_elf_HEADERS
21767
da4c0bb6 217682009-04-04 Bean <bean123ch@gnail.com>
21769
21770 * include/grub/util/misc.h: Add dummy function fsync for mingw.
21771
21772 * util/misc.c: Likewise.
21773
54ad9555 217742009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
21775
21776 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
21777 instead of grub_printf.
21778
7a6bf9f2 217792009-04-03 Robert Millan <rmh@aybabtu.com>
21780
21781 * loader/i386/linux.c (grub_linux_setup_video): Fill
21782 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
21783 values from `mode info' structure instead of hardcoded
21784 values.
21785
3fcc2083 217862009-04-01 Pavel Roskin <proski@gnu.org>
21787
21788 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
21789 unused now.
21790 * genmk.rb: Likewise.
21791 * configure.ac: Likewise.
21792
5ec9740b 217932009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
21794
21795 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
21796 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
21797
5270cec8 217982009-04-01 David S. Miller <davem@davemloft.net>
21799
21800 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 21801 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 21802 (grub_setjmp): Mark with 'returns_twice' attribute.
21803 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
21804 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
21805 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
21806
9c3dd854 218072009-04-01 Robert Millan <rmh@aybabtu.com>
21808
21809 Reapply fix from 2008-07-28 which was accidentally reverted; also
21810 perform the same fix to a similar check in same function.
21811
21812 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
21813 with the same number are found, just use issue a warning with
21814 grub_dprintf(), as this error has been reported to be non-fatal.
21815
0d818b7e 218162009-03-31 Pavel Roskin <proski@gnu.org>
21817
21818 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
21819 for cross-compilation.
21820
95646d92 218212009-03-30 Robert Millan <rmh@aybabtu.com>
21822
21823 Fix i386-ieee1275 build.
21824
21825 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
21826 Remove declaration.
21827
6a003ed1 218282009-03-30 Pavel Roskin <proski@gnu.org>
21829
21830 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
21831 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
21832 zero-terminated, rely only on the strlen value. Fix comparison
21833 of strings differing in length.
21834
92f33540 218352009-03-30 Robert Millan <rmh@aybabtu.com>
21836
21837 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
21838 checking for abi version. Improve error messages on BIOS to notify
21839 user about `linux16' command.
21840
a8c48fd5 218412009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21842
f968172e 21843 Leak fixes
a8c48fd5 21844
f968172e 21845 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
21846 in case of collision
21847 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 21848
9c323f09 218492009-03-29 Robert Millan <rmh@aybabtu.com>
21850
21851 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
21852 set `vid_mode' accordingly.
21853 (grub_linux_boot): Process `vid_mode' and set video mode.
21854
ae68f423 218552009-03-29 Robert Millan <rmh@aybabtu.com>
21856
21857 * util/grub.d/10_linux.in (linux_entry): New function.
21858 Factorize generation of Linux boot entries.
21859
5709cfc4 218602009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
21861
21862 Make the format of Environment Block plain text. The boot loader
21863 part is not tested well yet.
7dd4a573 21864
5709cfc4 21865 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
21866 (buffer): Removed.
21867 (envblk): Likewise.
21868 (usage): Remove "info" and "clear". Add "unset". Update the
21869 description of "set", as this does not delete variables any
21870 longer.
21871 (create_envblk_file): Complete rewrite.
21872 (open_envblk_file): Likewise.
21873 (cmd_info): Removed.
21874 (cmd_list): Likewise.
21875 (cmd_set): Likewise.
21876 (cmd_clear): Likewise.
21877 (list_variables): New function.
21878 (write_envblk): Likewise.
21879 (set_variables): Likewise.
21880 (unset_variables): Likewise.
21881 (main): Complete rewrite.
21882
21883 * commands/loadenv.c (buffer): Removed.
21884 (envblk): Likewise.
21885 (open_envblk_file): New function.
21886 (read_envblk_file): Complete rewrite.
21887 (grub_cmd_load_env): Likewise.
21888 (grub_cmd_list_env): Likewise.
21889 (struct blocklist): New struct.
21890 (free_blocklists): New function.
21891 (check_blocklists): Likewise.
21892 (write_blocklists): Likewise.
21893 (grub_cmd_save_env): Complete rewrite.
21894
21895 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
21896 a plain text signature.
21897 (GRUB_ENVBLK_MAXLEN): Removed.
21898 (struct grub_envblk): Complete rewrite.
21899 (grub_envblk_find): Removed.
21900 (grub_envblk_insert): Likewise.
21901 (grub_envblk_open): New prototype.
21902 (grub_envblk_set): Likewise.
21903 (grub_envblk_delete): Put const to VALUE.
21904 (grub_envblk_iterate): Put const to NAME and VALUE.
21905 (grub_envblk_close): New prototype.
21906 (grub_envblk_buffer): New inline function.
21907 (grub_envblk_size): Likewise.
21908
21909 * lib/envblk.c: Include grub/mm.h.
21910 (grub_env_find): Removed.
21911 (grub_envblk_open): New function.
21912 (grub_envblk_close): Likewise.
21913 (escaped_value_len): Likewise.
21914 (find_next_line): Likewise.
21915 (grub_envblk_insert): Removed.
21916 (grub_envblk_set): New function.
21917 (grub_envblk_delete): Complete rewrite.
21918 (grub_envblk_iterate): Likewise.
21919
a9368fd3 219202009-03-28 Robert Millan <rmh@aybabtu.com>
21921
21922 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
21923 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
21924 variables. Use 16-bit loader.
21925 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
21926 loader.
21927 * kern/i386/loader.S (grub_linux_boot): Rename to ...
21928 (grub_linux16_boot): ... this. Update all users.
21929 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
21930 (grub_linux_boot): ... this. Update all users.
21931
21932 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
21933 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
21934 commands to `linux16' and `initrd16'.
21935 (GRUB_MOD_FINI(linux)): Rename to ...
21936 (GRUB_MOD_FINI(linux16)): ... this.
21937
e4dd5a7e 219382009-03-24 Pavel Roskin <proski@gnu.org>
21939
21940 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
21941 not just for compilation.
21942
c04d6e05 219432009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
21944
21945 Move multiboot helper out of kernel
21946
21947 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
21948 `loader/i386/multiboot_helper.S'.
21949 * conf/i386-coreboot.rmk: Likewise
21950 * conf/i386-ieee1275.rmk: Likewise
21951
21952 * kern/i386/loader.S: Move multiboot helpers from here...
21953 * loader/i386/multiboot_helper.S: ...moved here
21954 * include/grub/i386/loader.h: Move declarations of multiboot
21955 helpers from here...
21956 * include/grub/i386/multiboot.h: ...moved here
21957 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
21958
42a5b3fc 219592009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
21960
21961 * kern/env.c (grub_env_context_open): Added an argument to specify
21962 whether a new context inherits exported variables from current
21963 one. This is useful when making a sandbox to interpret a config
21964 file.
21965 All callers updated.
21966
21967 * include/grub/env.h (grub_env_context_open): Updated the prototype.
21968
b28bbc4e 219692009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
21970
21971 * kern/env.c (grub_env_context_close): Fix memory leaks.
21972
f04f02e4 219732009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
21974
21975 * normal/main.c (grub_normal_execute): Added an argument
21976 BATCH to specify if an interactive interface should be provided
21977 after reading a config file.
21978 All callers updated.
21979 (read_command_list): Prevent being executed twice.
21980 (read_fs_list): Likewise.
21981
42a5b3fc 21982 * include/grub/normal.h (grub_normal_execute): Updated the
21983 prototype.
f04f02e4 21984
41473ac2 219852009-03-22 Pavel Roskin <proski@gno.org>
21986
fbc00b0c 21987 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
21988 _start.
21989 * kern/i386/pc/startup.S: Likewise.
21990 * kern/i386/efi/startup.S: Likewise.
21991 * kern/i386/ieee1275/startup.S: Likewise.
21992 * kern/i386/coreboot/startup.S: Likewise.
21993 * kern/x86_64/efi/startup.S: Likewise.
21994
41473ac2 21995 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
21996 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
21997 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
21998
2274cc8f 219992009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
22000
22001 Bugfixes in multiboot for bugs uncovered by solaris kernel.
22002
22003 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
22004 limit detection.
22005 Use vaddr of correct segment for entry_point.
22006
b1b797cb 220072009-03-21 Bean <bean123ch@gmail.com>
22008
22009 * commands/blocklist.c: Add include file <grub/command.h>, remove
22010 <grub/normal.h> and <grub/arg.h>.
22011 (grub_cmd_blocklist): Use the new command interface.
22012 (GRUB_MOD_INIT): Likewise.
22013 (GRUB_MOD_FINI): Likewise.
22014 * commands/boot.c: Likewise.
22015 * commands/cat.c: Likewise.
22016 * commands/cmp.c: Likewise.
22017 * commands/configfile.c: Likewise.
22018 * commands/crc.c: Likewise.
22019 * commands/echo.c: Likewise.
22020 * commands/halt.c: Likewise.
22021 * commands/handler.c: Likewise.
22022 * commands/hdparm.c: Likewise.
22023 * commands/help.c: Likewise.
22024 * commands/hexdump.c: Likewise.
22025 * commands/loadenv.c: Likewise.
22026 * commands/ls.c: Likewise.
22027 * commands/lsmmap.c: Likewise.
22028 * commands/lspci.c: Likewise.
22029 * commands/loadenv.c: Likewise.
22030 * commands/read.c: Likewise.
22031 * commands/reboot.c: Likewise.
22032 * commands/search.c: Likewise.
22033 * commands/sleep.c: Likewise.
22034 * commands/test.c: Likewise.
22035 * commands/usbtest.c: Likewise.
22036 * commands/videotest.c: Likewise.
22037 * commands/i386/cpuid.c: Likewise.
22038 * commands/i386/pc/halt.c: Likewise.
22039 * commands/i386/pc/play.c: Likewise.
22040 * commands/i386/pc/pxecmd.c: Likewise.
22041 * commands/i386/pc/vbeinfo.c: Likewise.
22042 * commands/i386/pc/vbetest.c: Likewise.
22043 * commands/ieee1275/suspend.c: Likewise.
22044 * disk/loopback.c: Likewise.
22045 * font/font_cmd.c: Likewise.
22046 * hello/hello.c: Likewise.
22047 * loader/efi/appleloader.c: Likewise.
22048 * loader/efi/chainloader.c: Likewise.
22049 * loader/i386/bsd.c: Likewise.
22050 * loader/i386/efi/linux.c: Likewise.
22051 * loader/i386/ieee1275/linux.c: Likewise.
22052 * loader/i386/linux.c: Likewise.
22053 * loader/i386/pc/chainloader.c: Likewise.
22054 * loader/i386/pc/linux.c: Likewise.
22055 * loader/powerpc/ieee1275/linux.c: Likewise.
22056 * loader/multiboot_loader.c: Likewise.
22057 * term/gfxterm.c: Likewise.
22058 * term/i386/pc/serial.c: Likewise.
22059 * term/terminfo.c: Likewise.
22060
22061 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
22062 * term/i386/pc/vga.c: Likewise.
22063 * video/readers/jpeg.c: Likewise.
22064 * video/readers/png.c: Likewise.
22065 * video/readers/tga.c: Likewise.
22066
22067 * util/grub-fstest (cmd_loopback): Removed.
22068 (cmd_blocklist): Likewise.
22069 (cmd_ls): Likewise.
22070 (grub_register_command): Likewise.
22071 (grub_unregister_command): Likewise.
22072 (execute_command): Use grub_command_find to locate command and execute
22073 it.
22074
22075 * include/grub/efi/chainloader.h: Removed.
22076 * loader/efi/chainloader_normal.c: Likewise.
22077 * loader/i386/bsd_normal.c: Likewise.
22078 * loader/i386/pc/chainloader_normal.c: Likewise.
22079 * loader/i386/pc/multiboot_normal.c: Likewise.
22080 * loader/linux_normal.c: Likewise.
22081 * loader/multiboot_loader_normal.c: Likewise.
22082 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22083
22084 * gencmdlist.sh: Scan new registration command grub_register_extcmd
22085 and grub_register_command_p1.
22086
22087 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
22088 kern/command.c, lib/arg.c and commands/extcmd.c.
22089 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
22090 (minicmd_mod_SOURCES): New variable.
22091 (minicmd_mod_CFLAGS): Likewise.
22092 (minicmd_mod_LDFLAGS): Likewise.
22093 (extcmd_mod_SOURCES): Likewise.
22094 (extcmd_mod_CFLAGS): Likewise.
22095 (extcmd_mod_LDFLAGS): Likewise.
22096 (boot_mod_SOURCES): Removed.
22097 (boot_mod_CFLAGS): Likewise.
22098 (boot_mod_LDFLAGS): Likewise.
22099
22100 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
22101 kern/corecmd.c.
22102 (kernel_img_HEADERS): Add command.h.
22103 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
22104 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
22105 and lib/arg.c.
22106 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
22107 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
22108 remove the corresponding normal mode command.
22109 (normal_mod_SOURCES): Remove normal/arg.c.
22110 * conf/i386-coreboot.rmk: Likewise.
22111 * conf/i386-efi.rmk: Likewise.
22112 * conf/i386-ieee1275.rmk: Likewise.
22113 * conf/powerpc-ieee1275.rmk: Likewise.
22114 * conf/x86_64-efi.rmk: Likewise.
22115
22116 * include/grub/arg.h: Move from here ...
22117 * include/grub/lib/arg.h: ... to here.
22118
22119 * normal/arg.c: Move from here ...
22120 * lib/arg.c: ... to here.
22121
22122 * commands/extcmd.c: New file.
22123 * commands/minicmd.c: Likewise.
22124 * include/grub/command.h: Likewise.
22125 * include/grub/extcmd.h: Likewise.
22126 * kern/command.c: Likewise.
22127 * kern/corecmd.c: Likewise.
22128
22129 * kern/list.c (grub_list_iterate): Return int instead of void.
22130 (grub_list_insert): New function.
22131 (grub_prio_list_insert): Likewise.
22132
22133 * kern/rescue.c (grub_rescue_command): Removed.
22134 (grub_rescue_command_list): Likewise.
22135 (grub_rescue_register_command): Likewise.
22136 (grub_rescue_unregister_command): Likewise.
22137 (grub_rescue_cmd_boot): Move to minicmd.c
22138 (grub_rescue_cmd_help): Likewise.
22139 (grub_rescue_cmd_info): Likewise.
22140 (grub_rescue_cmd_boot): Likewise.
22141 (grub_rescue_cmd_testload): Likewise.
22142 (grub_rescue_cmd_dump): Likewise.
22143 (grub_rescue_cmd_rmmod): Likewise.
22144 (grub_rescue_cmd_lsmod): Likewise.
22145 (grub_rescue_cmd_exit): Likewise.
22146 (grub_rescue_print_devices): Moved to corecmd.c.
22147 (grub_rescue_print_files): Likewise.
22148 (grub_rescue_cmd_ls): Likewise.
22149 (grub_rescue_cmd_insmod): Likewise.
22150 (grub_rescue_cmd_set): Likewise.
22151 (grub_rescue_cmd_unset): Likewise.
7d074e3c 22152 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 22153 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 22154 commands, remove grub_rescue_register_command calls.
b1b797cb 22155
7d074e3c 22156 * normal/command.c (grub_register_command): Removed.
b1b797cb 22157 (grub_unregister_command): Likewise.
22158 (grub_command_find): Likewise.
22159 (grub_iterate_commands): Likewise.
22160 (rescue_command): Likewise.
22161 (export_command): Moved to corecmd.c.
22162 (set_command): Removed.
22163 (unset_command): Likewise.
22164 (insmod_command): Likewise.
22165 (rmmod_command): Likewise.
22166 (lsmod_command): Likewise.
22167 (grub_command_init): Likewise.
22168
22169 * normal/completion.c (iterate_command): Use cmd->prio to check for
22170 active command.
22171 (complete_arguments): Use grub_extcmd_t structure to find options.
22172 (grub_normal_do_completion): Change function grub_iterate_commands to
22173 grub_command_iterate.
22174
22175 * normal/execute.c (grub_script_execute_cmd): No need to parse
22176 argument here.
22177
22178 * normal/main.c (grub_dyncmd_dispatcher): New function.
22179 (read_command_list): Register unload commands as dyncmd.
22180 (grub_cmd_normal): Use new command interface, register rescue,
22181 unregister normal at entry, register normal, unregister rescue at exit.
22182
22183 * include/grub/list.h (grub_list_test_t): New type.
22184 (grub_list_iterate): Return int instead of void.
22185 (grub_list_insert): New function.
22186 (GRUB_AS_NAMED_LIST_P): New macro.
22187 (GRUB_AS_PRIO_LIST): Likewise.
22188 (GRUB_AS_PRIO_LIST_P): Likewise.
22189 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
22190 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
22191 (grub_prio_list): New structure.
22192 (grub_prio_list_insert): New function.
22193 (grub_prio_list_remove): New inline function.
22194
22195 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
22196 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
22197 (GRUB_COMMAND_FLAG_MENU): Likewise.
22198 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22199 (GRUB_COMMAND_FLAG_TITLE): Likewise.
22200 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22201 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
22202 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
22203 (grub_command): Likewise.
22204 (grub_register_command): Likewise.
22205 (grub_command_find): Likewise.
22206 (grub_iterate_commands): Likewise.
22207 (grub_command_init): Likewise.
22208 (grub_arg_parse): Likewise.
22209 (grub_arg_show_help): Likewise.
22210
22211 * include/grub/rescue.h (grub_rescue_register_command): Removed.
22212 (grub_rescue_unregister_command): Likewise.
22213
22214 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
22215 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
22216 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
22217
22218 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
22219 grub_rescue_cmd_initrd.
22220 * include/grub/i386/loader.h: Likewise.
22221 * include/grub/x86_64/loader.h: Likewise.
22222
22223 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
22224
1f4147aa 222252009-03-21 Bean <bean123ch@gmail.com>
22226
22227 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
22228 instead of stat in mingw environment.
22229
22230 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
22231
22232 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
22233
22234 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
22235 AC_CONFIG_LINKS.
22236
2156d5ba 222372009-03-21 Bean <bean123ch@gmail.com>
22238
22239 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
22240 out of range error.
22241
177b82ca 222422009-03-18 Michel Dänzer <michel@daenzer.net>
22243
22244 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
22245 checking inode flags for EXT4_EXTENTS_FLAG.
22246
14aad807 222472009-03-18 Robert Millan <rmh@aybabtu.com>
22248
22249 * loader/i386/linux.c: Include `<grub/video.h>' and
22250 `<grub/i386/pc/vbe.h>'..
22251 (grub_linux_setup_video): New function. Loosely based on the EFI one.
22252 (grub_linux32_boot): Attempt to configure video settings with
22253 grub_linux_setup_video().
22254 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
22255 to avoid grub_console_fini() which would step out of graphical mode
22256 unconditionally.
22257
8cf83a27 222582009-03-14 Robert Millan <rmh@aybabtu.com>
22259
22260 Fix build on powerpc.
22261 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
22262
40164e75 222632009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
22264
22265 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
22266 background image command.
22267
c58bc32a 222682009-03-12 Colin D Bennett <colin@gibibit.com>
22269
22270 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
22271 (grub_gfxterm_putchar): Extract pairs of identical calls to
22272 draw_cursor out of conditional blocks.
22273
5415144a 222742009-03-11 Pavel Roskin <proski@gnu.org>
22275
22276 * fs/hfs.c (grub_hfs_strncasecmp): New function.
22277 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
22278
6394042e 222792009-03-11 Robert Millan <rmh@aybabtu.com>
22280
22281 * loader/i386/multiboot_elfxx.c
22282 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
22283
b7b50e5f 222842009-03-11 Felix Zielcke <fzielcke@z-51.de>
22285
22286 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
22287 `kern/handler.c'.
22288
1ca7fc96 222892009-03-11 Robert Millan <rmh@aybabtu.com>
22290
22291 * loader/i386/multiboot.c (code_size): New variable.
22292 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 22293 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 22294 4-byte alignment to MBI and others by increasing
7d074e3c 22295 `boot_loader_name_length' appropriately.
1ca7fc96 22296
22297 * loader/i386/multiboot_elfxx.c
22298 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
22299
a83ea1d2 223002009-03-09 Felix Zielcke <fzielcke@z-51.de>
22301
22302 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
22303 `fs/ext2.c'.
22304
aa9f3bff 223052009-03-08 Robert Millan <rmh@aybabtu.com>
22306
22307 Make loader/i386/linux.c usable on i386-pc again.
22308
22309 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
22310 memory to heap.
22311 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
22312 `#error' stanza.
22313
d8b3b60e 223142009-03-07 Bean <bean123ch@gmail.com>
22315
22316 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
22317 allocation.
22318
b362c9e9 223192009-03-06 Robert Millan <rmh@aybabtu.com>
22320
22321 Fix display issue on terminals with screen size other than 80x25
22322 (e.g. gfxterm with resolution higher than 640x480).
22323
22324 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 22325 position relative to the center of the terminal instead of relying
b362c9e9 22326 on a hardcoded offset.
22327
9304eef1 223282009-03-04 Robert Millan <rmh@aybabtu.com>
22329
22330 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
22331 installed.
22332
22333 * Makefile.in (host_kernel): New variable.
22334 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
22335 scripts instead of just the windows one.
22336 * configure.ac: Initialize and AC_SUBST `host_kernel'.
22337
eabc95fb 223382009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 22339
22340 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
22341 `kern/handler.c'.
22342 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22343 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22344 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22346 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22347 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22348
ceb1223c 223492009-03-04 Felix Zielcke <fzielcke@z-51.de>
22350
22351 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
22352 or if there's no space for the disk label and print the partition number on a
22353 invalid magic.
22354
4910684a 223552009-03-04 Felix Zielcke <fzielcke@z-51.de>
22356
22357 * util/misc.c: Include <time.h>.
22358 (grub_millisleep): New function.
22359
7e9ca17a 223602009-03-04 Bean <bean123ch@gmail.com>
22361
22362 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
22363 another option -mno-red-zone.
22364
22365 * commands/handler.c: Change module description.
22366
22367 * kern/handler.c: Add missing space at the end of description line.
22368
22369 * kern/list.c: Likewise.
22370
f501677c 223712009-03-03 Robert Millan <rmh@aybabtu.com>
22372
22373 Move more components to the relocation area, and fix mbi pointer
22374 handling to use the destination rather than the origin (thanks to
22375 Vladimir Serbinenko for spotting).
22376
22377 * loader/i386/multiboot.c (mbi_dest): New variable.
22378 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
22379 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
22380 relocation area.
22381
9902d047 223822009-03-01 Bean <bean123ch@gmail.com>
22383
50fb7002 22384 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 22385 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
22386 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
22387 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
22388
22389 * loader/i386/efi/linux.c (acpi_guid): New variable.
22390 (acpi_guid): Likewise.
22391 (EBDA_SEG_ADDR): New constant.
22392 (LOW_MEM_ADDR): Likewise.
22393 (FAKE_EBDA_SEG): Likewise.
22394 (fake_bios_data): New function.
22395 (grub_linux_boot): Call fake_bios_data.
22396
71b9f361 223972009-03-01 Bean <bean123ch@gmail.com>
22398
22399 * commands/terminal.c: Removed.
22400
22401 * commands/handler.c: New file.
22402
22403 * include/grub/list.h: Likewise.
22404
22405 * include/grub/handler.h: Likewise.
22406
22407 * kern/list.c: Likewise.
22408
22409 * kern/handler.c: Likewise.
22410
22411 * kern/term.h: Include header file <grub/handler.h>.
22412 (grub_term_input): Move next field to the beginning.
22413 (grub_term_output): Likewise.
22414 (grub_term_input_class): New variable.
22415 (grub_term_output_class): Likewise.
22416 (grub_term_register_input): Changed to inline function.
22417 (grub_term_register_output): Likewise.
22418 (grub_term_unregister_input): Likewise.
22419 (grub_term_unregister_output): Likewise.
22420 (grub_term_set_current_input): Likewise.
22421 (grub_term_set_current_output): Likewise.
22422 (grub_term_get_current_input): Likewise.
22423 (grub_term_get_current_output): Likewise.
22424 (grub_term_iterate_input): Removed.
22425 (grub_term_iterate_output): Likewise.
22426
22427 * kern/term.c (grub_term_list_input): Removed.
22428 (grub_term_list_output): Likewise.
22429 (grub_term_input_class): New variable.
22430 (grub_term_output_class): Likewise.
50fb7002 22431 (grub_cur_term_input): Change variable as macro.
71b9f361 22432 (grub_cur_term_output): Likewise.
22433 (grub_term_register_input): Removed.
22434 (grub_term_register_output): Likewise.
22435 (grub_term_unregister_input): Likewise.
22436 (grub_term_unregister_output): Likewise.
22437 (grub_term_set_current_input): Likewise.
22438 (grub_term_set_current_output): Likewise.
22439 (grub_term_iterate_input): Likewise.
22440 (grub_term_iterate_output): Likewise.
22441 (grub_term_get_current_input): Likewise.
22442 (grub_term_get_current_output): Likewise.
22443
22444 * util/grub-editenv.c: Include header file <grub/handler.h>.
22445 (grub_term_get_current_input): Removed.
22446 (grub_term_get_current_output): Likewise.
22447 (grub_term_input_class): New variable.
50fb7002 22448 (grub_term_output_class): Likewise.
71b9f361 22449
22450 * util/grub-fstest.c (grub_term_get_current_input): Removed.
22451 (grub_term_get_current_output): Likewise.
22452 (grub_term_input_class): New variable.
50fb7002 22453 (grub_term_output_class): Likewise.
71b9f361 22454
22455 * util/grub-probe.c (grub_term_get_current_input): Removed.
22456 (grub_term_get_current_output): Likewise.
22457 (grub_term_input_class): New variable.
50fb7002 22458 (grub_term_output_class): Likewise.
71b9f361 22459
22460 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
22461 (grub_term_get_current_output): Likewise.
22462 (grub_term_input_class): New variable.
50fb7002 22463 (grub_term_output_class): Likewise.
71b9f361 22464
22465 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
22466 (terminal_mod_SOURCES): Likewise.
22467 (terminal_mod_CFLAGS): Likewise.
22468 (terminal_mod_LDFLAGS): Likewise.
22469
22470 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
22471 handler.c.
22472 (kernel_img_SOURCES): Add list.c and handler.c.
22473 (kernel_img_HEADERS): Add list.h and handler.h.
22474
22475 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
22476 handler.c.
22477 (kernel_mod_SOURCES): Add list.c and handler.c.
22478 (kernel_mod_HEADERS): Add list.h and handler.h.
22479
22480 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
22481 handler.c.
22482 (kernel_elf_SOURCES): Add list.c and handler.c.
22483 (kernel_elf_HEADERS): Add list.h and handler.h.
22484
22485 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
22486 handler.c.
22487 (kernel_elf_SOURCES): Add list.c and handler.c.
22488 (kernel_elf_HEADERS): Add list.h and handler.h.
22489
22490 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
22491 handler.c.
22492 (kernel_mod_SOURCES): Add list.c and handler.c.
22493 (kernel_mod_HEADERS): Add list.h and handler.h.
22494
22495 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
22496 handler.c.
22497 (kernel_elf_SOURCES): Add list.c and handler.c.
22498 (kernel_elf_HEADERS): Add list.h and handler.h.
22499
8a31787f 225002009-02-27 Robert Millan <rmh@aybabtu.com>
22501
22502 Factorize elf32 / elf64 code in Multiboot loader. This will
22503 prevent it from getting out of sync again.
22504
22505 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
22506 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
22507 grub_multiboot_load_elf64): Move from here ...
22508 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
22509 grub_multiboot_load_elf): ... to here (new file).
22510
51cd3dfc 225112009-02-27 Robert Millan <rmh@aybabtu.com>
22512
22513 * util/grub.d/10_linux.in: Rename "single-user mode" to
22514 "recovery mode".
22515
6e8c9c3a 225162009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
22517
22518 Don't leak in SCSI code.
22519 * disk/scsi.c (grub_scsi_close): free `scsi'.
22520
4b6bf4f9 225212009-02-27 Robert Millan <rmh@aybabtu.com>
22522
22523 * loader/i386/pc/multiboot.c: Move from here ...
22524 * loader/i386/multiboot.c: ... to here. Update all users.
22525
b9413424 225262009-02-27 Robert Millan <rmh@aybabtu.com>
22527
22528 Patch from Alexandre Bique <bique.alexandre@gmail.com>
22529 * util/i386/pc/grub-setup.c (setup): Fix directory path.
22530
50fb7002 225312009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 22532
22533 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
22534 b-tree.
22535
8cc50345 225362009-02-27 Robert Millan <rmh@aybabtu.com>
22537
22538 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
22539 `0x' qualifier as 0 when base is specified as parameter).
22540
6e09b8b7 225412009-02-24 Bean <bean123ch@gmail.com>
22542
22543 * configure.ac: Check for -mcmodel=large in x86_64 target.
22544
22545 * include/grub/efi/api.h (efi_call_10): New macro.
22546 (efi_wrap_10): New function.
22547
22548 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
22549 (GRUB_PE32_REL_BASED_HIGH): Likewise.
22550 (GRUB_PE32_REL_BASED_LOW): Likewise.
22551 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
22552 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
22553 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
22554 (GRUB_PE32_REL_BASED_SECTION): Likewise.
22555 (GRUB_PE32_REL_BASED_REL): Likewise.
22556 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
22557 (GRUB_PE32_REL_BASED_DIR64): Likewise.
22558 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
22559
22560 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
22561 issue.
22562
22563 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
22564 (efi_wrap_10): New function.
22565
22566 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
22567
22568 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
22569 MB/MBP model (NV chipset).
22570 (devdata_devs): Add devpath_5 to the list.
22571
22572 * load/i386/efi/linux.c (video_base): Remove variable.
22573 (RGB_MASK): New macro.
22574 (RGB_MAGIC): Likewise.
22575 (LINE_MIN): Likewise.
22576 (LINE_MAX): Likewise.
22577 (FBTEST_STEP): Likewise.
22578 (FBTEST_COUNT): Likewise.
22579 (fb_list): New variable.
22580 (grub_find_video_card): Remove function.
22581 (find_framebuf): New function.
22582 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
22583 line length.
22584
22585 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
22586 problem for x86_64.
22587
74b21bee 225882009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
22589
22590 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
22591
22592 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
22593 coding tool name.
22594
a455f472 225952009-02-22 Robert Millan <rmh@aybabtu.com>
22596
22597 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
22598 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
22599 in our relocation, instead of using it directly from heap. Also
22600 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
22601
6374daf3 226022009-02-21 Robert Millan <rmh@aybabtu.com>
22603
22604 Implement USB keyboard support (based on patch by Marco Gerards)
22605
22606 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
22607 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
22608 (usb_keyboard_mod_LDFLAGS): New variables.
22609
22610 * term/usb_keyboard.c: New file.
22611
8fa4ea70 226122009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22613
22614 Corrected wrong declaration
22615
22616 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
22617
353976ac 226182009-02-14 Christian Franke <franke@computer.org>
22619
22620 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
22621 (grub_lspci_iter): Print class code and programming interface byte.
22622
6aa1169b 226232009-02-14 Christian Franke <franke@computer.org>
22624
22625 * gendistlist.sh: Ignore `.svn' directories.
22626
265372ca 226272009-02-14 Felix Zielcke <fzielcke@z-51.de>
22628
22629 * fs/fat.c: Add 2009 to Copyright line.
22630
9ff516f3 226312009-02-14 Christian Franke <franke@computer.org>
22632
22633 * commands/hdparm.c: New file. Provides `hdparm' command
22634 which sends ATA commands via grub_disk_ata_pass_through ().
22635
22636 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
22637
22638 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
22639 and <grub/cpu/io.h> to include/grub/ata.h.
22640 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
22641 (GRUB_CDROM_SECTOR_SIZE): Remove.
22642 (GRUB_ATA_*): Move to include/grub/ata.h.
22643 (GRUB_ATAPI_*): Likewise.
22644 (enum grub_ata_commands): Likewise.
22645 (enum grub_ata_timeout_milliseconds): Likewise.
22646 (struct grub_ata_device): Likewise.
22647 (grub_ata_regset): Likewise.
22648 (grub_ata_regget): Likewise.
22649 (grub_ata_regset2): Likewise.
22650 (grub_ata_regget2): Likewise.
22651 (grub_ata_check_ready): Likewise.
22652 (grub_ata_wait_not_busy): Remove static, exported in
22653 include/grub/ata.h.
22654 (grub_ata_wait_drq): Likewise.
22655 (grub_ata_pio_read): Likewise.
22656
22657 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
22658 function for hdparm.mod.
22659
22660 * include/grub/ata.h: New file, contains declarations from
22661 disk/ata.c.
22662 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
22663
22664 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
22665 (grub_disk_ata_pass_through): New exported variable.
22666
22667 * kern/disk.c (grub_disk_ata_pass_through): New variable.
22668
772e23da 226692009-02-13 Colin D Bennett <colin@gibibit.com>
22670
22671 Support multiple fallback entries, and provide an API to support
22672 executing default+fallback menu entries. Renamed the `terminal' menu
22673 viewer to `text'.
22674
22675 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
22676 variable declaration.
22677 (grub_menu_execute_callback): New structure declaration.
22678 (grub_menu_execute_callback_t): New typedef.
22679 (grub_menu_execute_with_fallback): New function declaration.
22680 (grub_menu_get_entry): Likewise.
22681 (grub_menu_get_timeout): Likewise.
22682 (grub_menu_set_timeout): Likewise.
22683
22684 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
22685
22686 * normal/menu.c (grub_wait_after_message): Moved to
22687 `normal/menu_text.c'.
22688 (draw_border): Likewise.
22689 (print_message): Likewise.
22690 (print_entry): Likewise.
22691 (print_entries): Likewise.
22692 (grub_menu_init_page): Likewise.
22693 (get_entry_number): Likewise.
22694 (print_timeout): Likewise.
22695 (run_menu): Likewise.
22696 (grub_menu_execute_entry): Likewise.
22697 (show_text_menu): Likewise.
22698 (get_and_remove_first_entry_number): New function.
22699 (grub_menu_execute_with_fallback): Likewise.
22700 (get_entry): Renamed to ...
22701 (grub_menu_get_entry): .. this and made it global.
22702 (get_timeout): Renamed to ...
22703 (grub_menu_get_timeout): ... this and made it global.
22704 (set_timeout): Renamed to ...
22705 (grub_menu_set_timeout): ... this and made it global.
22706 (grub_normal_terminal_menu_viewer): Renamed to ...
22707 (grub_normal_text_menu_viewer): ... this.
22708
22709 * normal/menu_text.c: New file. Extracted text-menu-specific code
22710 from normal/menu.c.
22711
22712 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
22713 (normal_mod_SOURCES): Likewise.
22714
22715 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22716 (normal_mod_SOURCES): Likewise.
22717
22718 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22719 (normal_mod_SOURCES): Likewise.
22720
22721 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
22722 (normal_mod_SOURCES): Likewise.
22723
22724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22725 (normal_mod_SOURCES): Likewise.
22726
22727 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22728 (normal_mod_SOURCES): Likewise.
22729
22730 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22731 (normal_mod_SOURCES): Likewise.
22732
16ac430e 227332009-02-11 Robert Millan <rmh@aybabtu.com>
22734
22735 * util/grub.d/00_header.in: Update old reference to `font' command.
22736
06ff20fc 227372009-02-10 Felix Zielcke <fzielcke@z-51.de>
22738
22739 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
22740
22741 Based on patch from Javier Martín.
22742
96da9407 227432009-02-09 Felix Zielcke <fzielcke@z-51.de>
22744
22745 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 22746 to avoid false positives with FAT.
96da9407 22747 (grub_fstest_SOURCES): Likewise.
22748 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22749 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22751 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22752 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22753 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22754
6dca6fe4 227552009-02-09 Felix Zielcke <fzielcke@z-51.de>
22756
06ff20fc 22757 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 22758 bpb.version_specific.fat12_or_fat16.fstype and
22759 bpb.version_specific.fat32.fstype.
22760
2550c62f 227612009-02-08 Robert Millan <rmh@aybabtu.com>
22762
be110b30 22763 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 22764
56978920 227652009-02-08 Robert Millan <rmh@aybabtu.com>
22766
22767 * Makefile.in (host_os, host_cpu): New variables.
22768 (target_os): Remove. Update all users.
22769
d64399b5 227702009-02-08 Marco Gerards <marco@gnu.org>
22771
22772 * Makefile.in (enable_grub_emu_usb): New variable.
22773 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
22774 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
22775 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
22776 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
22777 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
22778 `usbtest.mod' and `usbms.mod'.
22779 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
22780 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
22781 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
22782 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
22783 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
22784 variables.
22785
22786 * disk/usbms.c: New file.
22787
22788 * include/grub/usb.h: Likewise.
22789
22790 * include/grub/usbtrans.h: Likewise.
22791
22792 * include/grub/usbdesc.h: Likewise.
22793
22794 * bus/usb/usbtrans.c: Likewise.
22795
22796 * bus/usb/ohci.c: Likewise.
22797
22798 * bus/usb/uhci.c: Likewise.
22799
22800 * bus/usb/usbhub.c: Likewise.
22801
22802 * bus/usb/usb.c: Likewise.
22803
22804 * commands/usbtest.c: Likewise.
22805
22806 * util/usb.c: Likewise.
50fb7002 22807
d64399b5 22808 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
22809
22810 * configure.ac: Test for libusb presence.
50fb7002 22811
d64399b5 22812 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
22813
2b40d6bb 228142009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
22815
22816 * kern/mm.c: Add more comments.
22817
73a4ce81 228182009-02-08 Robert Millan <rmh@aybabtu.com>
22819
22820 Patch from Javier Martín.
22821 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
22822 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
22823
f821ce59 228242009-02-08 Robert Millan <rmh@aybabtu.com>
22825
22826 * fs/cpio.c: Split tar functionality to ...
22827 * fs/tar.c: ... here (new file). Update all users.
22828
aebfc4b0 228292009-02-07 Robert Millan <rmh@aybabtu.com>
22830
22831 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
22832 backward-incompatible features.
22833
22834 Based on patch from Javier Martín, with some adjustments.
22835
50fb7002 228362009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 22837
22838 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
22839
0bb5115e 228402009-02-07 Robert Millan <rmh@aybabtu.com>
22841
22842 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
22843 position of `disk/lvm.c' to ensure grub_init_all() always picks it
22844 after the RAID stuff.
22845
38a0f8e7 228462009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
22847
50fb7002 22848 Fixes problem when running vbetest command as reported by
38a0f8e7 22849 Vladimir Serbinenko <phcoder@gmail.com>.
22850
22851 * (grub_vbe_set_video_mode): Fixed problem with text modes.
22852
3143cc1c 228532009-02-04 Felix Zielcke <fzielcke@z-51.de>
22854
22855 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
22856 /dev/md/NpN style mdraid devices.
22857
9cba6fce 228582009-02-03 Felix Zielcke <fzielcke@z-51.de>
22859
22860 * util/unifont2pff.rb: Remove.
22861
e507a2c1 228622009-02-03 Felix Zielcke <fzielcke@z-51.de>
22863
22864 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
22865 `#'.
22866
d2c2b4cd 228672009-02-03 Felix Zielcke <fzielcke@z-51.de>
22868
22869 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
22870 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22871 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22872 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22873 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22874 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22875 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22876
b4315fb0 228772009-02-02 Christian Franke <franke@computer.org>
22878
22879 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
22880
de3aa260 228812009-02-01 Felix Zielcke <fzielcke@z-51.de>
22882
7c3ff286 22883 * INSTALL: Note that we now require at least autoconf 2.59 and
22884 that LZO is optional.
de3aa260 22885
825a182b 228862009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
22887
22888 Base on patch on bug #24154 created by Tomas Tintera
22889 <trosos@seznam.cz>.
22890
22891 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
22892
a69ef770 228932009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
22894
7c3ff286 22895 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 22896 <bero@arklinux.org>.
22897
22898 * normal/parser.y (script_init): Add missing semicolon.
22899
6fa42fa6 229002009-01-31 Colin D Bennett <colin@gibibit.com>
22901
7c3ff286 22902 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 22903 (free_menu_entry_classes): Added.
22904 (grub_normal_menu_addentry): Added class property handling.
22905 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
22906 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
22907
22908 * normal/menu_viewer.c: New file.
22909
22910 * normal/menu.c (run_menu_entry): Renamed to ...
22911 (grub_menu_execute_entry): ... this and made it as global.
22912 (grub_menu_run): Renamed to ...
22913 (show_text_menu): ... this and made it local.
22914 (show_text_menu): Adapt to new function names.
22915 (grub_normal_terminal_menu_viewer): New global variable.
22916
22917 * include/grub/menu.h: New file.
22918
22919 * include/grub/menu_viewer.h: New file.
22920
22921 * include/grub/normal.h: Added include to grub/menu.h.
22922 (grub_menu_entry): Moved to include/grub/menu.h.
22923 (grub_menu_entry_t): Likewise.
22924 (grub_menu): Likewise.
22925 (grub_menu_t): Likewise.
22926 (grub_normal_terminal_menu_viewer): Added.
22927 (grub_menu_execute_entry): Likewise.
22928 (grub_menu_run): Removed.
22929
22930 * DISTLIST: Added include/grub/menu.h.
22931 Added include/grub/menu_viewer.h.
22932 Added normal/menu_viewer.c.
22933
229342009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
22935
22936 * normal/execute.c (grub_script_execute_menuentry): Changed to use
22937 arglist for menutitle arguments.
22938
22939 * normal/main.c (grub_normal_menu_addentry): Likewise.
22940
22941 * normal/parser.y (menuentry): Likewise.
22942
22943 * normal/script.c (grub_script_create_cmdmenu): Likewise.
22944
22945 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
22946 (grub_script_create_cmdmenu): Likewise.
22947
22948 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
22949
22950 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
22951 changes.
22952
22953 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
22954
22955 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
22956
22957 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
22958
22959 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
22960
22961 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
22962
22963 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
22964
56192c23 229652009-01-30 Christian Franke <franke@computer.org>
22966
22967 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
22968 in option help text.
22969
d72521b3 229702009-01-27 Pavel Roskin <proski@gnu.org>
22971
22972 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
22973
994b5e84 229742009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
22975
22976 * commands/lsmmap.c: Add include to grub/machine/memory.h.
22977
22978 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
22979
22980 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
22981 unregister function.
22982
6a7eab2c 229832009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
22984
22985 * disk/scsi.c (grub_scsi_read): Fix sign problem.
22986
22987 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
22988
22989 * util/grub-mkfont.c (usage): Fix typo.
22990
22991 * util/elf/grub-mkimage.c (load_modules): Fix warning.
22992
1806b56e 229932009-01-26 Daniel Mierswa <impulze@impulze.org>
22994
3fb18f09 22995 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
22996
336e1fb9 22997 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
22998
1806b56e 22999 * kern/misc.c (grub_strcasecmp): New function.
23000 (grub_strcasecmp): Use grub_size_t instead of int for length.
23001 Fix return value.
23002 * include/grub/misc.h: Update function prototypes.
23003
580b2a0f 230042009-01-26 Robert Millan <rmh@aybabtu.com>
23005
23006 * configure.ac: Fix cross-compilation check.
ef257b36 23007
d31c24f1 230082009-01-22 Christian Franke <franke@computer.org>
23009
23010 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
23011 (precision) digit string. Allow `.format2' without `format1' (width).
23012 Limit input chars for `%s' output to `format2' if specified. This is
23013 compatible with standard printf ().
23014
3138b44c 230152009-01-22 Christian Franke <franke@computer.org>
23016
23017 * disk/ata.c (grub_ata_wait_status): Replace by ...
23018 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
23019 other status bits may be invalid while BSY is asserted.
23020 (grub_ata_check_ready): New function.
23021 (grub_ata_cmd): Removed.
23022 (grub_ata_wait_drq): New function.
23023 (grub_ata_strncpy): Remove inline.
23024 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
23025 and error check now done by grub_ata_wait_drq ().
23026 (grub_ata_pio_write): Likewise.
23027 (grub_atapi_identify): Set DEV before check for !BSY. Use
23028 grub_ata_wait_drq () to wait for data.
23029 (grub_ata_device_initialize): Add status register check to
23030 detect missing SATA slave devices. Add debug messages.
23031 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
23032 (grub_atapi_packet): Set DEV before check for !BSY. Replace
23033 transfer loop by grub_ata_pio_write ().
23034 (grub_ata_identify): Set DEV before check for !BSY. Use
23035 grub_ata_wait_drq () to wait for data.
ef257b36 23036 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 23037 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
23038 read/write in one loop. Fix invalid command on write. Fix incomplete
23039 command on (size % batch) == 0. Add missing error check after write of
23040 last block. Add debug messages.
23041 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
23042
59a64ef6 230432009-01-19 Christian Franke <franke@computer.org>
23044
23045 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
23046 (GRUB_ATAPI_IREASON_*): Likewise.
23047 (grub_ata_pio_write): Fix timeout error return.
23048 (grub_atapi_identify): Add grub_ata_wait () after cmd.
23049 (grub_atapi_wait_drq): New function.
23050 (grub_atapi_packet): New parameter `size'.
23051 Use grub_atapi_wait_drq () and direct write instead of
23052 grub_ata_pio_write ().
23053 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
23054 reads the number of bytes requested by the device for each DRQ
23055 assertion.
23056 (grub_atapi_write): Remove old implementation, return not
23057 implemented instead.
23058
1cfe20b3 230592009-01-19 Christian Franke <franke@computer.org>
23060
23061 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
23062 of 512 to calculate data size.
23063 (grub_scsi_read12): Likewise.
23064 (grub_scsi_write10): Likewise.
23065 (grub_scsi_write12): Likewise.
23066 (grub_scsi_read): Adjust size according to blocksize.
23067 Add checks for invalid blocksize and unaligned transfer.
23068
bee5fe5d 230692009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
23070
23071 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
23072
ef257b36 23073 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 23074 width glyphs.
23075
3e643f8c 230762009-01-19 Robert Millan <rmh@aybabtu.com>
23077
23078 * config.guess: Update to latest version from config git.
23079 * config.sub: Likewise.
23080
4fa80998 230812009-01-17 Felix Zielcke <fzielcke@z-51.de>
23082
23083 * Makefile.in: Change font compilation to use new grub-mkfont instead
23084 of java version.
23085
23086 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
23087 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
23088 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23089 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23090 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
23091 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
23092 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
23093 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
23094 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
23095
7086085b 230962009-01-16 Christian Franke <franke@computer.org>
23097
23098 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
23099 (enum grub_ata_timeout_milliseconds): New enum.
23100 (grub_ata_wait_status): Add parameter milliseconds.
23101 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
23102 recovery from timed-out commands.
23103 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
23104 return grub_errno instead of REG_ERROR.
23105 (grub_ata_pio_write): Add parameter milliseconds.
23106 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
23107 Pass milliseconds to grub_ata_wait_status () and
23108 grub_ata_pio_read ().
23109 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
23110 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
23111 grub_ata_wait_status (). Fix IDENTIFY timeout check.
23112 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
23113 It is not suitable for device detection, because DEV bit is ignored,
23114 the command may run too long, and not all devices set the signature
23115 properly.
23116 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
23117 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
23118 Fix device selection, DEV bit must be set first to address the registers
23119 of the correct device.
23120 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
23121 grub_ata_pio_read/write ().
23122 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
23123 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
23124
4a412913 231252009-01-13 Carles Pina i Estany <carles@pina.cat>
23126
23127 * util/grub-editenv.c (main): Use fseeko(), not fseek().
23128
7795c55e 231292009-01-13 Bean <bean123ch@gmail.com>
d913988c 23130
23131 * util/grub-mkfont.c (write_font): forget to remove some debug code.
23132
7795c55e 231332009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 23134
23135 * Makefile.in: (enable_grub_mkfont): New variable.
23136 (freetype_cflags): Likewise.
23137 (freetype_libs): Likewise.
23138
23139 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
23140 (grub_mkfont_SOURCES): New variable.
23141 (grub_mkfont_CFLAGS): Likewise.
23142 (grub_mkfont_LDFLAGS): Likewise.
23143
23144 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
23145 library if `--enable-grub-mkfont' is requested.
23146 (enable_grub_mkfont): New variable.
23147 (freetype_cflags): Likewise.
23148 (freetype_libs): Likewise.
23149
23150 * util/grub-mkfont.c: New file.
23151
093af1fe 231522009-01-12 Christian Franke <franke@computer.org>
23153
23154 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
23155 mode check. Fix setting of compat_use[].
23156
f36cc108 231572009-01-10 Robert Millan <rmh@aybabtu.com>
23158
23159 Update a few copyright years which we forgot to do in 2008 (only for
23160 files whose changes made in 2008 were copyright-significant)
23161
23162 * Makefile.in: Add 2008 to Copyright line.
23163 * disk/ieee1275/ofdisk.c: Likewise.
23164 * disk/efi/efidisk.c: Likewise.
23165 * kern/dl.c: Likewise.
23166 * kern/sparc64/ieee1275/init.c: Likewise.
23167 * kern/mm.c: Likewise.
23168 * kern/efi/mm.c: Likewise.
23169 * boot/i386/pc/boot.S: Likewise.
23170 * genfslist.sh: Likewise.
23171 * fs/iso9660.c: Likewise.
23172 * fs/hfs.c: Likewise.
23173 * fs/jfs.c: Likewise.
23174 * fs/minix.c: Likewise.
23175 * fs/ufs.c: Likewise.
23176 * gensymlist.sh.in: Likewise.
23177 * genkernsyms.sh.in: Likewise.
23178 * include/grub/misc.h: Likewise.
23179 * include/grub/types.h: Likewise.
23180 * include/grub/symbol.h: Likewise.
23181 * include/grub/elf.h: Likewise.
23182 * include/grub/kernel.h: Likewise.
23183 * include/grub/disk.h: Likewise.
23184 * include/grub/dl.h: Likewise.
23185 * include/grub/i386/linux.h: Likewise.
23186 * include/grub/i386/pc/biosdisk.h: Likewise.
23187 * include/grub/efi/api.h: Likewise.
23188 * include/grub/efi/pe32.h: Likewise.
23189 * include/grub/util/misc.h: Likewise.
23190 * normal/execute.c: Likewise.
23191 * normal/arg.c: Likewise.
23192 * normal/completion.c: Likewise.
23193 * normal/lexer.c: Likewise.
23194 * normal/parser.y: Likewise.
23195 * normal/misc.c: Likewise.
23196 * commands/i386/pc/vbeinfo.c: Likewise.
23197 * commands/hexdump.c: Likewise.
23198 * commands/terminal.c: Likewise.
23199 * commands/ls.c: Likewise.
23200 * commands/help.c: Likewise.
23201 * partmap/pc.c: Likewise.
23202 * loader/efi/chainloader.c: Likewise.
23203 * loader/multiboot_loader.c: Likewise.
23204 * loader/i386/pc/multiboot2.c: Likewise.
23205 * term/efi/console.c: Likewise.
23206 * term/i386/pc/serial.c: Likewise.
23207 * util/lvm.c: Likewise.
23208 * util/console.c: Likewise.
23209 * util/i386/efi/grub-mkimage.c: Likewise.
23210 * util/raid.c: Likewise.
23211
7f02114b 232122009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
23213
23214 * commands/videotest.c: Removed include to grub/machine/memory.h.
23215
23216 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
23217 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
23218 (video_mod_SOURCES): Removed.
23219 (video_mod_CFLAGS): Likewise.
23220 (video_mod_LDFLAGS): Likewise.
23221 (gfxterm_mod_SOURCES): Likewise.
23222 (gfxterm_mod_CFLAGS): Likewise.
23223 (gfxterm_mod_LDFLAGS): Likewise.
23224 (videotest_mod_SOURCES): Likewise.
23225 (videotest_mod_CFLAGS): Likewise.
23226 (videotest_mod_LDFLAGS): Likewise.
23227 (bitmap_mod_SOURCES): Likewise.
23228 (bitmap_mod_CFLAGS): Likewise.
23229 (bitmap_mod_LDFLAGS): Likewise.
23230 (tga_mod_SOURCES): Likewise.
23231 (tga_mod_CFLAGS): Likewise.
23232 (tga_mod_LDFLAGS): Likewise.
23233 (jpeg_mod_SOURCES): Likewise.
23234 (jpeg_mod_CFLAGS): Likewise.
23235 (jpeg_mod_LDFLAGS): Likewise.
23236 (png_mod_SOURCES): Likewise.
23237 (png_mod_CFLAGS): Likewise.
23238 (png_mod_LDFLAGS): Likewise.
23239
23240 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
23241 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
23242 (video_mod_SOURCES): Added.
23243 (video_mod_CFLAGS): Likewise.
23244 (video_mod_LDFLAGS): Likewise.
23245 (videotest_mod_SOURCES): Likewise.
23246 (videotest_mod_CFLAGS): Likewise.
23247 (videotest_mod_LDFLAGS): Likewise.
23248 (bitmap_mod_SOURCES): Likewise.
23249 (bitmap_mod_CFLAGS): Likewise.
23250 (bitmap_mod_LDFLAGS): Likewise.
23251 (tga_mod_SOURCES): Likewise.
23252 (tga_mod_CFLAGS): Likewise.
23253 (tga_mod_LDFLAGS): Likewise.
23254 (jpeg_mod_SOURCES): Likewise.
23255 (jpeg_mod_CFLAGS): Likewise.
23256 (jpeg_mod_LDFLAGS): Likewise.
23257 (png_mod_SOURCES): Likewise.
23258 (png_mod_CFLAGS): Likewise.
23259 (png_mod_LDFLAGS): Likewise.
23260 (gfxterm_mod_SOURCES): Likewise.
23261 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 23262 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 23263
23264 * term/gfxterm.c: Removed include to grub/machine/memory.h,
23265 grub/machine/console.h.
23266
644fff97 232672009-01-04 Jerone Young <jerone@gmail.com>
23268
23269 Make on screen instructions clearer
23270
23271 Based on patch created by Jidanni <jidanni@jidanni.org>
23272
23273 * normal/menu.c: print clearer instructions on the screen
23274
1e901a75 232752009-01-02 Colin D Bennett <colin@gibibit.com>
23276
23277 New font engine.
34c44600 23278
1e901a75 23279 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
23280 build system and fixed gfxterm.c to work with different sized fonts.
23281
23282 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 23283
1e901a75 23284 * configure: Re-generated.
34c44600 23285
1e901a75 23286 * DISTLIST: Removed font/manager.c.
23287 Added font/font.c.
23288 Added font/font_cmd.c.
34c44600 23289
1e901a75 23290 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
23291 compilation.
34c44600 23292
1e901a75 23293 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 23294
23295 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 23296
23297 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 23298
1e901a75 23299 * normal/menu.c: Likewise.
34c44600 23300
1e901a75 23301 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
23302 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 23303
1e901a75 23304 * include/grub/font.h: Replaced with new file.
34c44600 23305
1e901a75 23306 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
23307 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
23308 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
23309 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
23310 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 23311 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 23312 fg_red, fg_green, fg_blue, fg_alpha.
23313 (grub_video_adapter): Removed blit_glyph.
34c44600 23314 (grub_video_blit_glyph): Removed.
23315
1e901a75 23316 * font/manager.c: Removed file.
34c44600 23317
23318 * font/font.c: New file.
23319
1e901a75 23320 * font/font_cmd.c: Likewise.
34c44600 23321
1e901a75 23322 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 23323
1e901a75 23324 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
23325 (grub_video_vbe_map_rgba): Likewise.
23326 (grub_video_vbe_unmap_color_int): Likewise.
23327 (grub_video_vbe_blit_glyph): Removed.
23328 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 23329
1e901a75 23330 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
23331 (get_pixel): Likewise.
34c44600 23332 (set_pixel): Likewise.
23333
1e901a75 23334 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 23335
1e901a75 23336 * term/gfxterm.c: Adapted to new font engine.
34c44600 23337
1e901a75 23338 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 23339
1e901a75 23340 * term/i386/pc/vga.c: Likewise.
34c44600 23341
1e901a75 23342 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 23343
1e901a75 23344 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 23345
1e901a75 23346 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 23347
1e901a75 23348 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 23349
1e901a75 23350 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 23351
1e901a75 23352 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 23353
1e901a75 23354 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 23355
1e901a75 23356 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 23357
1e901a75 23358 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
23359
23360 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 23361
1e901a75 23362 * util/grub-mkconfig_lib.in: Changed font extension.
23363
278922e8 233642008-12-28 Felix Zielcke <fzielcke@z-51.de>
23365
23366 * util/getroot.c (grub_util_get_grub_dev): Add support for
23367 /dev/md/dNNpNN style partitionable mdraid devices.
23368
3ced05cf 233692008-12-12 Alex Smith <alex@alex-smith.me.uk>
23370
23371 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
23372 at a time limit of the PXE TFTP API correctly.
23373 (grub_pxefs_close): Likewise.
23374
7fd0ee30 233752008-11-29 Robert Millan <rmh@aybabtu.com>
23376
34c44600 23377 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 23378 grub_ata_device_initialize() calls.
23379
34c44600 233802008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 23381
23382 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
23383 iteration failed.
23384 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
23385
89313780 233862008-11-28 Robert Millan <rmh@aybabtu.com>
23387
23388 Fix build on powerpc-ieee1275. Based on patch created by
23389 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
23390 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23391 `kern/ieee1275/mmap.c'.
23392 * include/grub/powerpc/ieee1275/memory.h: New file.
23393
15257703 23394 Provide grub-install on coreboot.
23395 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
23396 (grub_install_SOURCES): New variable.
23397 * util/i386/pc/grub-install.in: Add a few condition checks to make it
23398 usable on coreboot.
23399
9fc5388a 234002008-11-25 Felix Zielcke <fzielcke@z-51.de>
23401
23402 * util/grub-fstest.c (grub_term_get_current_input): Change return type
23403 to `grub_term_input_t'.
23404 (grub_term_get_current_output): Change return type to
23405 `grub_term_output_t'.
23406
bc3a2f31 234072008-11-22 Robert Millan <rmh@aybabtu.com>
23408
34c44600 23409 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 23410 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
23411 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
23412 grub_vga_text_cls().
23413
80fc88f2 23414 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 23415 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 23416
cbf36fd3 23417 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
23418 to 0x200000 (avoids trouble with some OFW implementations, and matches
23419 with the one in Yaboot).
23420 Reported by Manoel Abranches
23421
73e8e268 234222008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 23423
23424 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
23425 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
23426
73e8e268 23427 * util/grub-mkconfig_lib.in (grub_warn): New function.
23428 (convert_system_path_to_grub_path): Use grub_warn() when issuing
23429 warnings, to obtain consistent formatting.
23430 * util/grub.d/00_header.in: Likewise.
23431 * util/update-grub_lib.in: Likewise.
23432
e94045a1 23433 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 23434 Move comment text to `#error' stanza.
e94045a1 23435
79d29fd7 23436 Harmonize ieee1275's grub_available_iterate() with the generic
23437 grub_machine_mmap_iterate() interface (fixes a recently-introduced
23438 build problem on i386-ieee1275):
23439 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
23440 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
23441 parameter `type'. Update all users of this function.
23442 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
23443 `kern/ieee1275/mmap.c'.
23444 * kern/ieee1275/init.c
23445 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
23446 with ...
23447 (grub_machine_mmap_iterate): ... this.
23448 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
23449 return type to `grub_err_t'. Update all implementations of this
23450 function prototype.
23451 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
23452 Likewise.
23453
60d6b16e 23454 Add `lsmmap' command (lists firmware-provided memory map):
23455 * commands/lsmmap.c: New file.
23456 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
23457 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
23458 variables.
23459 * conf/powerpc-ieee1275.rmk: Likewise.
23460 * conf/i386-coreboot.rmk: Likewise.
23461 * conf/i386-ieee1275.rmk: Likewise.
23462
ebaaf49b 234632008-11-19 Robert Millan <rmh@aybabtu.com>
23464
23465 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 23466 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
23467 constraints to initrd allocation (based on code from
23468 loader/i386/pc/linux.c). Without them, initrd was allocated too high
23469 for Linux to find it.
ebaaf49b 23470
dfab719f 234712008-11-14 Robert Millan <rmh@aybabtu.com>
23472
23473 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
23474 order to cope with duplicate slashes.
23475
10fc3eb9 234762008-11-14 Robert Millan <rmh@aybabtu.com>
23477
23478 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
23479 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
23480 don't want to mess with lower memory, because it is used in the Linux
23481 loader.
23482
23483 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 23484 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 23485 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
23486 is in our heap (probably as a result of it being corrupted during
2f2a3442 23487 decompression). Add #error instance with comment to explain why this
23488 loader isn't currently usable on PC/BIOS.
10fc3eb9 23489
e2e07847 234902008-11-14 Robert Millan <rmh@aybabtu.com>
23491
23492 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 23493 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 23494
fe8e8d69 234952008-11-12 Robert Millan <rmh@aybabtu.com>
23496
23497 Make loader/i386/linux.c buildable on i386-pc (although disabled).
23498
23499 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
23500 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
23501 from here ...
23502 * include/grub/i386/pc/memory.h: ... to here.
23503
976b07d0 235042008-11-12 Robert Millan <rmh@aybabtu.com>
23505
23506 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
23507 split).
23508
23509 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
23510 (grub_console_cur_color, grub_console_real_putchar)
23511 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
23512 (grub_console_setcolorstate, grub_console_setcolor)
23513 (grub_console_getcolor): Move from here ...
23514 * include/grub/i386/vga_common.h: ... to here (new file).
23515
23516 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
23517 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
23518 `<grub/i386/io.h>'.
23519 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
23520 `<grub/i386/vga_common.h>'.
23521
76679cd3 235222008-11-12 Robert Millan <rmh@aybabtu.com>
23523
23524 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
23525 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
23526 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
23527 variables.
23528 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
23529 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
23530
23531 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
23532 grub_console_init() with call to grub_vga_text_init().
23533 (grub_machine_fini): Replace call to
23534 grub_console_fini() with call to grub_vga_text_fini() and
23535 grub_at_keyboard_fini().
23536
23537 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
23538 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
23539 (grub_console_setcolorstate, grub_console_setcolor)
23540 (grub_console_getcolor): New function prototypes.
23541
23542 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
23543 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
23544 (grub_vga_text_setcursor): Static-ize.
23545 (grub_vga_text_term): New structure.
23546 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
23547
23548 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
23549 (grub_console_cur_color, grub_console_standard_color)
23550 (grub_console_normal_color, grub_console_highlight_color)
23551 (map_char, grub_console_putchar, grub_console_getcharwidth)
23552 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
23553 (grub_console_getcolor): Move from here ...
23554 * term/i386/vga_common.c: ... to here (same function names).
23555
95b841d3 235562008-11-12 Robert Millan <rmh@aybabtu.com>
23557
23558 Use newly-added Multiboot support in coreboot.
23559
23560 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
23561 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
23562
23563 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
23564 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
23565 (codestart): Store the MBI in `startup_multiboot_info' when we're
23566 being loaded using Multiboot.
23567
23568 * kern/i386/coreboot/init.c (grub_machine_init): Move
23569 grub_at_keyboard_init() call to beginning of function (useful for
23570 debugging). Call grub_machine_mmap_init() before attempting to use
23571 grub_machine_mmap_iterate().
23572 (grub_lower_mem, grub_upper_mem): Move from here ...
23573 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
23574 here (new file).
23575
23576 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
23577 function prototype.
23578
761ca975 235792008-11-12 Robert Millan <rmh@aybabtu.com>
23580
23581 Fix a regression introduced by the at_keyboard.mod split. Because
23582 some terminals are default on some platforms and non-default on
23583 others, the first terminal being registered determines which is
23584 going to be default.
23585
23586 * kern/term.c (grub_term_register_input): If this is the first
23587 terminal being registered, set it as the current one.
23588 (grub_term_register_output): Likewise.
23589
23590 * term/efi/console.c (grub_console_init): Do not call
23591 grub_term_set_current_output() or grub_term_set_current_input().
23592 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
23593 * term/i386/pc/console.c (grub_console_init): Likewise.
23594 (grub_console_fini): Do not call grub_term_set_current_input()
23595 (but leave grub_term_set_current_output() to restore text mode).
23596
6c529df7 235972008-11-10 Robert Millan <rmh@aybabtu.com>
23598
23599 * util/grub.d/00_header.in: Add backward compatibility check for
23600 versions of terminal.mod that don't understand `terminal_input' or
23601 `terminal_output'.
23602
132e4113 236032008-11-09 Robert Millan <rmh@aybabtu.com>
23604
23605 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
23606 `terminal_input' / `terminal_output', not `terminal'.
23607
ac293d50 236082008-11-08 Robert Millan <rmh@aybabtu.com>
23609
23610 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 23611 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 23612
0025933a 236132008-11-08 Robert Millan <rmh@aybabtu.com>
23614
23615 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 23616 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 23617 members. Update all users.
23618 * util/console.c (grub_ncurses_term): Split in ...
23619 (grub_ncurses_term_input): ... this, and ...
23620 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 23621 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 23622
37c86336 236232008-11-08 Robert Millan <rmh@aybabtu.com>
23624
23625 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
23626 (PKGDATA): Add $(pkgdata_SRCDIR).
23627 (pkglib_BUILDDIR): New variable.
23628 (pkgdata_SRCDIR): New variable.
23629 (build_env.mk): New target.
23630 (include_DATA): New variable.
23631 (install-local): Install $(include_DATA) files in $(includedir).
23632
b6c15a2d 236332008-11-07 Pavel Roskin <proski@gnu.org>
23634
d99d46f1 23635 * gendistlist.sh: Use C locale for sorting to ensure consistent
23636 output on all systems.
23637
b6c15a2d 23638 * util/grub.d/00_header.in: Remove incorrect space before
23639 "serial".
23640
c32ee8c9 236412008-11-07 Robert Millan <rmh@aybabtu.com>
23642
23643 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
23644 per specification.
23645 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
23646 * loader/multiboot_loader.c (find_multi_boot2_header): New function
23647 (based on find_multi_boot1_header).
23648 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
23649 using find_multi_boot2_header(), and abort if neither Multiboot or
23650 Multiboot headers were found.
23651
651c29b7 236522008-11-07 Robert Millan <rmh@aybabtu.com>
23653
23654 Modularize at_keyboard.mod:
23655
23656 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
23657 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
23658 (at_keyboard_mod_LDFLAGS): New variables.
23659
23660 Actual terminal split:
23661
23662 * include/grub/term.h (struct grub_term): Split in ...
23663 (struct grub_term_input): ... this, and ...
23664 (struct grub_term_output): ... this. Update all users.
23665 (grub_term_set_current): Split in ...
23666 (grub_term_set_current_input): ... this, and ...
23667 (grub_term_set_current_output): ... this.
23668 (grub_term_get_current): Split in ...
23669 (grub_term_get_current_input): ... this, and ...
23670 (grub_term_get_current_output): ... this.
23671 (grub_term_register): Split in ...
23672 (grub_term_register_input): ... this, and ...
23673 (grub_term_register_output): ... this.
23674 (grub_term_unregister): Split in ...
23675 (grub_term_unregister_input): ... this, and ...
23676 (grub_term_unregister_output): ... this.
23677 (grub_term_iterate): Split in ...
23678 (grub_term_iterate_input): ... this, and ...
23679 (grub_term_iterate_output): ... this.
23680
23681 * kern/term.c (grub_term_list): Split in ...
23682 (grub_term_list_input): ... this, and ...
23683 (grub_term_list_output): ... this. Update all users.
23684 (grub_cur_term): Split in ...
23685 (grub_cur_term_input): ... this, and ...
23686 (grub_cur_term_output): ... this. Update all users.
23687 (grub_term_set_current): Split in ...
23688 (grub_term_set_current_input): ... this, and ...
23689 (grub_term_set_current_output): ... this.
23690 (grub_term_get_current): Split in ...
23691 (grub_term_get_current_input): ... this, and ...
23692 (grub_term_get_current_output): ... this.
23693 (grub_term_register): Split in ...
23694 (grub_term_register_input): ... this, and ...
23695 (grub_term_register_output): ... this.
23696 (grub_term_unregister): Split in ...
23697 (grub_term_unregister_input): ... this, and ...
23698 (grub_term_unregister_output): ... this.
23699 (grub_term_iterate): Split in ...
23700 (grub_term_iterate_input): ... this, and ...
23701 (grub_term_iterate_output): ... this.
23702
23703 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
23704 a check for input and one for output (and only attempt to get keys
23705 from user when input works).
23706
23707 * util/grub-probe.c (grub_term_get_current): Split in ...
23708 (grub_term_get_current_input): ... this, and ...
23709 (grub_term_get_current_output): ... this.
23710 * util/grub-fstest.c: Likewise.
23711 * util/i386/pc/grub-setup.c: Likewise.
23712 * util/grub-editenv.c: Likewise.
23713
23714 Portability adjustments:
23715
23716 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
23717 `term/i386/pc/at_keyboard.c'.
23718 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
23719 grub_keyboard_controller_init() (now handled by terminal .init).
23720 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
23721 grub_at_keyboard_init().
23722 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
23723 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
23724 at_keyboard.mod via input terminal interface).
23725 * include/grub/i386/coreboot/console.h: Convert into a stub for
23726 `<grub/i386/pc/console.h>'.
23727
23728 Migrate full terminals to new API:
23729
23730 * term/efi/console.c (grub_console_term): Split into ...
23731 (grub_console_term_input): ... this, and ...
23732 (grub_console_term_output): ... this. Update all users.
23733 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
23734 (grub_ofconsole_init): Split into ...
23735 (grub_ofconsole_init_input): ... this, and ...
23736 (grub_ofconsole_init_output): ... this.
23737 (grub_ofconsole_term): Split into ...
23738 (grub_ofconsole_term_input): ... this, and ...
23739 (grub_ofconsole_term_output): ... this. Update all users.
23740 * term/i386/pc/serial.c (grub_serial_term): Split into ...
23741 (grub_serial_term_input): ... this, and ...
23742 (grub_serial_term_output): ... this. Update all users.
23743 * term/i386/pc/console.c (grub_console_term): Split into ...
23744 (grub_console_term_input): ... this, and ...
23745 (grub_console_term_output): ... this. Update all users.
23746 (grub_console_term_input): Only enable it on PC/BIOS platform.
23747 (grub_console_init): Remove grub_keyboard_controller_init() call.
23748
23749 Migrate input terminals to new API:
23750
23751 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
23752 `i386' and `i386/pc' to enable build on x86_64 (this driver is
23753 i386-specific anyway).
23754 (grub_console_checkkey): Rename to ...
23755 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
23756 users.
23757 (grub_keyboard_controller_orig): New variable.
23758 (grub_console_getkey): Rename to ...
23759 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
23760 users.
23761 (grub_keyboard_controller_init): Static-ize. Save original
23762 controller value so that it can be restored ...
23763 (grub_keyboard_controller_fini): ... here (new function).
23764 (grub_at_keyboard_term): New structure.
23765 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
23766 functions.
23767
23768 Migrate output terminals to new API:
23769
23770 * term/i386/pc/vga.c (grub_vga_term): Change type to
23771 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
23772 members. Update all users.
23773 * term/gfxterm.c (grub_video_term): Change type to
23774 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
23775 members. Update all users.
23776 * include/grub/i386/pc/console.h (grub_console_checkkey)
23777 (grub_console_getkey): Do not export (no longer needed by gfxterm,
23778 etc).
23779
23780 Migrate `terminal' command and userland tools to new API:
23781
23782 * commands/terminal.c (grub_cmd_terminal): Split into ...
23783 (grub_cmd_terminal_input): ... this, and ...
23784 (grub_cmd_terminal_output): ... this.
23785 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
23786 `terminal_input' and `terminal_output'.
23787 * util/grub.d/00_header.in: Adjust `terminal' calls to new
23788 `terminal_input' / `terminal_output' API.
23789 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
23790 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
23791 provided ${GRUB_TERMINAL}, convert it).
23792
96e5d876 237932008-11-04 Robert Millan <rmh@aybabtu.com>
23794
23795 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
23796 for FreeBSD.
23797 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
23798
556f3775 237992008-11-03 Bean <bean123ch@gmail.com>
23800
23801 * kern/elf.c (grub_elf32_load): Revert to previous code.
23802 (grub_elf64_load): Likewise.
23803
23804 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
23805
926b9823 238062008-11-01 Robert Millan <rmh@aybabtu.com>
23807
23808 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
23809 (TARGET_CPPFLAGS): Likewise.
23810 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
23811
1432e958 238122008-11-01 Carles Pina i Estany <carles@pina.cat>
23813
23814 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
23815
dba3f844 238162008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 23817
23818 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
23819 addition of objects until the code is not going to be able to fail.
23820
dba3f844 238212008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 23822
23823 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
23824 (add a missing NULL check, and correct them by moving the pointer
23825 operations after the actual check).
23826
7ab28c21 238272008-10-29 Robert Millan <rmh@aybabtu.com>
23828
23829 * util/i386/pc/grub-install.in: Handle empty string as output from
23830 make_system_path_relative_to_its_root().
23831
1b7748eb 238322008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
23833
23834 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
23835 circular metadata worst case scenario. If the metadata is circular
23836 then copy the wrap in place.
23837 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
23838 project lib/format_text/layout.h
23839 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
23840
c9618ab2 238412008-10-03 Felix Zielcke <fzielcke@z-51.de>
23842
7a36edca 23843 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 23844
bf981c62 238452008-10-03 Felix Zielcke <fzielcke@z-51.de>
23846
23847 * util/update-grub_lib.in: Mention filename in warning message.
23848
6d994591 238492008-09-29 Felix Zielcke <fzielcke@z-51.de>
23850
23851 * NEWS: Update for rename of update-grub to grub-mkconfig.
23852
18ade780 238532008-09-29 Felix Zielcke <fzielcke@z-51.de>
23854
23855 * util/update-grub_lib.in: Copy to ...
23856 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 23857 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 23858 * util/update-grub.in: Rename to ...
23859 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
23860 option. Add `--output' option to allow users to specify the generated
23861 configuration file. Default to stdout.
23862 (update_grub_dir): Rename to ...
23863 (grub_mkconfig_dir): ... this.
23864 (grub_cfg): Default to an empty string.
23865 * conf/common.rmk (update-grub): Rename to ...
23866 (grub-mkconfig): ... this.
23867 (update-grub_lib): Copy to ...
23868 (grub-mkconfig_lib): ... this.
23869 (update-grub_SCRIPTS): Copy to ...
23870 (grub-mkconfig_SCRIPTS): ... this. Update all users.
23871 (update-grub_DATA): Rename to ...
23872 (grub-mkconfig_DATA): ... this.
23873
556ce6ac 238742008-09-28 Robert Millan <rmh@aybabtu.com>
23875
23876 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
23877 to `modified'. Add the real `created' field.
23878 (grub_iso9660_uuid): Use `modified' rather than `created' for
23879 constructing the UUID.
23880
238812008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 23882
23883 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
23884 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
23885
92274e85 238862008-09-28 Bean <bean123ch@gmail.com>
23887
23888 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
23889 Thanks to Christian Franke for finding this bug.
23890
add6f17a 238912008-09-25 Robert Millan <rmh@aybabtu.com>
23892
23893 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
23894 instances of grub_util_get_disk_name() (see previous commit).
23895
d2a367b8 238962008-09-25 Robert Millan <rmh@aybabtu.com>
23897
23898 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
23899 `util/i386/get_disk_name.c'.
23900 * conf/i386-efi.rmk: Likewise.
23901 * conf/x86_64-efi.rmk: Likewise.
23902 * conf/i386-coreboot.rmk: Likewise.
23903 * conf/i386-ieee1275.rmk: Likewise.
23904 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
23905 `util/ieee1275/get_disk_name.c'.
23906 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
23907 * util/ieee1275/get_disk_name.c: Remove file.
23908 * util/i386/get_disk_name.c: Remove file.
23909 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
23910 "hd%d" for device.map entries, rather than using
23911 grub_util_get_disk_name().
23912
81a06771 239132008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 23914
23915 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
23916 warning.
23917 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
23918
5a004279 239192008-09-24 Carles Pina i Estany <carles@pina.cat>
23920
23921 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
23922 Changed to 0x5100.
23923 (GRUB_TERM_PPAGE): Changed to 0x4900.
23924
397093d3 239252008-09-24 Robert Millan <rmh@aybabtu.com>
23926
23927 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
23928 macros (they were i386-pc specific).
23929 * include/grub/sparc64/ieee1275/console.h: Likewise.
23930 * include/grub/efi/console.h: Likewise.
23931
a91b6c7c 239322008-09-22 Bean <bean123ch@gmail.com>
23933
23934 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
23935 resident and in attribute list.
23936
23937 * include/grub/ntfs.h (BMP_LEN): Removed.
23938
c40fd116 239392008-09-22 Bean <bean123ch@gmail.com>
23940
81a06771 23941 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 23942 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
23943
23944 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
23945 error occurs, as grub_disk_open will call grub_disk_close, which will
23946 call p->close (scsi).
23947
81a06771 239482008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 23949
23950 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
23951 (AC_PREREQ): Bumped to 2.59.
23952 (AC_TRY_COMPILE): Replace obsolete macro with ...
23953 (AC_COMPILE_IFELSE): ... this.
23954 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
23955 (AC_LINK_IFELSE): ... this.
23956
5dc43410 239572008-09-21 Felix Zielcke <fzielcke@z-51.de>
23958
23959 * autogen.sh: Add a call to `gendistlist.sh'.
23960
9035dce4 239612008-09-19 Christian Franke <franke@computer.org>
23962
23963 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
23964 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
23965 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
23966 Export __enable_execute_stack() to modules.
23967 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
23968 New function.
23969
7fd75377 239702008-09-09 Felix Zielcke <fzielcke@z-51.de>
23971
040030b3 23972 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
23973 Sort the list.
23974
239752008-09-09 Felix Zielcke <fzielcke@z-51.de>
23976
23977 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 23978 #include <grub/util/hostdisk.h>.
23979
89d5ffcf 239802008-09-08 Robert Millan <rmh@aybabtu.com>
23981
23982 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
23983 segments when their filesz is zero (grub_file_read() interprets
81a06771 23984 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 23985 Use `lowest_segment' rather than 0 for calculating the current
23986 segment load address.
23987
40da438f 239882008-09-08 Robert Millan <rmh@aybabtu.com>
23989
23990 * util/hostdisk.c (open_device): Replace a grub_util_info() call
23991 with grub_dprintf("hostdisk", ...), as it was so verbose that it
23992 clobbered useful information.
23993
ddbf5556 239942008-09-08 Robert Millan <rmh@aybabtu.com>
23995
23996 * include/grub/util/biosdisk.h: Move to ...
23997 * include/grub/util/hostdisk.h: ... here. Update all users.
23998 * util/biosdisk.c: Move to ...
23999 * util/hostdisk.c: ... here. Update all users.
24000
783d0f48 240012008-09-07 Robert Millan <rmh@aybabtu.com>
24002
24003 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
24004 variables.
24005 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
24006 and length can be stored directly in the `mbi->mmap_addr' and
24007 `mbi->mmap_length' struct fields.
24008
548e2ea5 240092008-09-07 Robert Millan <rmh@aybabtu.com>
24010
24011 * conf/i386.rmk: New file. Provides declaration for building
24012 `cpuid.mod'.
24013 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
24014 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
24015 variables.
24016 Include `conf/i386.mk'.
24017 * conf/i386-efi.rmk: Likewise.
24018 * conf/x86_64-efi.rmk: Likewise.
24019 * conf/i386-coreboot.rmk: Likewise.
24020 * conf/i386-ieee1275.rmk: Likewise.
24021
0ea85a37 240222008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
24023
24024 Based on patch created by Colin D Bennett <colin@gibibit.com>.
24025 Adds optimization support for BGR based modes.
24026
24027 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
24028 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24029 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24030 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24031 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24032 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24033 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24034 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24035 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24036 (grub_video_i386_vbeblit_index_index): Likewise.
24037 (grub_video_i386_vbeblit_replace_directN): Added.
24038 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24039 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24040 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24041 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24042 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24043 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 24044 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 24045 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24046 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24047 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24048 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24049 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24050 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
24051
24052 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
24053 (grub_video_i386_vbefill_R8G8B8): Likewise.
24054 (grub_video_i386_vbefill_index): Likewise.
24055 (grub_video_i386_vbefill_direct32): Added.
24056 (grub_video_i386_vbefill_direct24): Likewise.
24057 (grub_video_i386_vbefill_direct16): Likewise.
24058 (grub_video_i386_vbefill_direct8): Likewise.
24059
81a06771 24060 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 24061 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
24062 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
24063 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
24064 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
24065 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 24066
0ea85a37 24067 * video/video.c (grub_video_get_blit_format): Updated to use new
24068 blit formats. Added handling for 16 bit color modes.
81a06771 24069
24070 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 24071 fillers.
24072 (common_blitter): Updated to use new blitters.
24073
24074 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
24075 Removed.
24076 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24077 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24078 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24079 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24080 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24081 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24082 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24083 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24084 (grub_video_i386_vbeblit_index_index): Likewise.
24085 (grub_video_i386_vbeblit_replace_directN): Added.
24086 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24087 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24088 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24089 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24090 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24091 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
24092 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
24093 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24094 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24095 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24096 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24097 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24098 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 24099
0ea85a37 24100 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
24101 (grub_video_i386_vbefill_R8G8B8): Likewise.
24102 (grub_video_i386_vbefill_index): Likewise.
24103 (grub_video_i386_vbefill_direct32): Added.
24104 (grub_video_i386_vbefill_direct24): Likewise.
24105 (grub_video_i386_vbefill_direct16): Likewise.
24106 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 24107
0ea85a37 24108 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
24109 types.
81a06771 24110
0ea85a37 24111 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
24112 types.
81a06771 24113
0ea85a37 24114 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
24115 blitter types.
81a06771 24116
0ea85a37 24117 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
24118 types.
24119
e8a83df6 241202008-09-06 Felix Zielcke <fzielcke@z-51.de>
24121
24122 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
24123 RAID level 1.
24124
6bcd8ee5 241252008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 24126
6bcd8ee5 24127 * fs/iso9660.c (grub_iso9660_date): New structure.
24128 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
24129 (grub_iso9660_uuid): New function.
c375ae58 24130
59261157 241312008-09-05 Bean <bean123ch@gmail.com>
24132
24133 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
24134
24135 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
24136 insensitive bit for names in Win32 and Win32 & DOS namespace.
24137
24138 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
24139
24140 * include/grub/types.h (LONG_MAX): Likewise.
24141
58b6645a 241422008-09-04 Felix Zielcke <fzielcke@z-51.de>
24143
4ee55921 24144 * util/getroot.c: Include <config.h>.
24145 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
24146 add support for /dev/md/N devices and handle LVM double dash escaping.
24147
241482008-09-04 Felix Zielcke <fzielcke@z-51.de>
24149
24150 * config.guess: Update to latest version from config git.
24151 * config.sub: Likewise.
58b6645a 24152
9124f65d 241532008-09-03 Robert Millan <rmh@aybabtu.com>
24154
24155 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
24156 `disk->total_sectors'.
24157
81a06771 241582008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 24159
24160 * include/grub/normal.h: Fixed incorrect comment for
24161 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
24162
81a06771 241632008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 24164
24165 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
24166 values with defines.
24167
24168 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
24169 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
24170 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
24171 (GRUB_VBE_MODEATTR_COLOR): Likewise.
24172 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
24173 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
24174 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
24175 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
24176 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
24177 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
24178 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
24179 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
24180 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
24181 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
24182 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
24183 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
24184 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
24185 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
24186 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
24187
93d5cbf8 241882008-08-31 Robert Millan <rmh@aybabtu.com>
24189
24190 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
24191 declaration.
24192 (grub_multiboot): Fix a few warnings.
24193
21751d50 241942008-08-31 Robert Millan <rmh@aybabtu.com>
24195
24196 * loader/i386/pc/multiboot.c: Update comment not to say that
24197 boot_device support is unimplemented.
24198
e27a75c5 241992008-08-31 Robert Millan <rmh@aybabtu.com>
24200
24201 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
24202 or memory map support are unimplemented.
24203
81a06771 242042008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 24205
24206 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
24207
81a06771 242082008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 24209
24210 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
24211 total video memory in 'vbeinfo' output; show color format details for
24212 each video mode.
24213
7c5d8d95 242142008-08-30 Pavel Roskin <proski@gnu.org>
24215
24216 * util/genmoddep.c: Remove for real this time.
24217 * DISTLIST: Remove util/genmoddep.c.
24218
4cebd25a 242192008-08-30 Robert Millan <rmh@aybabtu.com>
24220
24221 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
24222 as required by Multiboot spec (it was already 4-byte aligned, but
24223 only by chance).
24224
b497a269 242252008-08-29 Pavel Roskin <proski@gnu.org>
24226
e3925185 24227 * kern/powerpc/ieee1275/crt0.S: Rename to ...
24228 * kern/powerpc/ieee1275/startup.S: ... this.
24229 * conf/powerpc-ieee1275.rmk: Adjust for the above.
24230 * DISTLIST: Likewise.
24231
b497a269 24232 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
24233 grub/cpu/kernel.h. Add start label for consistency with other
24234 platforms. Add grub_prefix immediately after start. Add jump
24235 to the code after grub_prefix.
24236 * include/grub/powerpc/kernel.h: Provide valid values for
24237 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
24238
6e5a42fe 242392008-08-29 Bean <bean123ch@gmail.com>
24240
24241 * configure.ac: Change host_os to cygwin for mingw.
24242 (asprintf): New check for function.
24243
24244 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
24245 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
24246
24247 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 24248 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 24249 sync, sleep and grub_util_get_disk_size for mingw.
24250
24251 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
24252 to get size in mingw.
24253 (open_device): Use flag O_BINARY if it's defined.
24254 (find_root_device): Add dummy code for mingw.
24255
24256 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
24257 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
24258 (get_scsi_disk_name): Return 0 for mingw.
24259
24260 * util/hostfs.c: #include <grub/util/misc.h>.
24261 (grub_hostfs_open): Use "rb" flag to open file, use
24262 grub_util_get_disk_size to get disk size for mingw.
24263
24264 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
24265 (asprintf): New function if HAVE_ASPRINTF is not set.
24266 (sync): New function for mingw.
24267 (sleep): Likewise.
24268 (grub_util_get_disk_size): Likewise.
24269
ab3f2673 242702008-08-28 Pavel Roskin <proski@gnu.org>
24271
24272 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
24273 kern/time.c.
24274
1c282483 242752008-08-28 Robert Millan <rmh@aybabtu.com>
24276
24277 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
24278
678e849c 242792008-08-28 Robert Millan <rmh@aybabtu.com>
24280
24281 Change find_grub_drive() syntax so it doesn't prevent it from
24282 detecting NULL names as errors.
24283
24284 * util/biosdisk.c (find_grub_drive): Move free slot search code
24285 from here ...
24286 (find_free_slot): ... to here.
24287 (read_device_map): Use find_free_slot() to search for free slots.
24288
965c75ca 242892008-08-27 Marco Gerards <marco@gnu.org>
24290
24291 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
24292 (scsi_mod_SOURCES): New variable.
24293 (scsi_mod_CFLAGS): Likewise
24294 (scsi_mod_LDFLAGS): Likewise.
24295
24296 * disk/scsi.c: New file.
24297
24298 * include/grub/scsi.h: Likewise.
24299
24300 * include/grub/scsicmd.h: Likewise.
24301
24302 * disk/ata.c: Include <grub/scsi.h>.
24303 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
24304 instead.
24305 (grub_ata_iterate): Skip ATAPI devices.
24306 (grub_ata_open): Only handle ATAPI devices.
24307 (struct grub_atapi_read): Removed.
24308 (grub_atapi_readsector): Likewise.
24309 (grub_ata_read): No longer handle ATAPI devices.
24310 (grub_ata_write): Likewise.
24311 (grub_atapi_iterate): New function.
24312 (grub_atapi_read): Likewise.
24313 (grub_atapi_write): Likewise.
24314 (grub_atapi_open): Likewise.
24315 (grub_atapi_close): Likewise.
24316 (grub_atapi_dev): New variable.
24317 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
24318 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
24319
24320 * include/grub/disk.h (enum grub_disk_dev_id): Add
24321 `GRUB_DISK_DEVICE_SCSI_ID'.
24322
c07ae501 243232008-08-26 Robert Millan <rmh@aybabtu.com>
24324
24325 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
24326 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
24327 descriptive.
24328
5ed20adc 243292008-08-23 Bean <bean123ch@gmail.com>
24330
24331 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
24332 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
24333 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
24334 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
24335 dm_nv.mod.
24336 (raid5rec_mod_SOURCES): New macro.
24337 (raid5rec_mod_CFLAGS): Likewise.
24338 (raid5rec_mod_LDFLAGS): Likewise.
24339 (raid6rec_mod_SOURCES): Likewise.
24340 (raid6rec_mod_CFLAGS): Likewise.
24341 (raid6rec_mod_LDFLAGS): Likewise.
24342 (mdraid_mod_SOURCES): Likewise.
24343 (mdraid_mod_CFLAGS): Likewise.
24344 (mdraid_mod_LDFLAGS): Likewise.
24345 (dm_nv_mod_SOURCES): Likewise.
24346 (dm_nv_mod_CFLAGS): Likewise.
24347 (dm_nv_mod_LDFLAGS): Likewise.
24348
24349 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
24350 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
24351 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
24352
24353 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
24354 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
24355
24356 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24357
24358 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24359
24360 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24361
24362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24363
24364 * disk/raid5_recover.c: New file.
24365
24366 * disk/raid6_recover.c: Likewise.
24367
24368 * disk/mdraid_linux.c: Likewise.
24369
24370 * disk/dmraid_nvidia.c: Likewise.
24371
24372 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
24373 ULONG_MAX.
24374
24375 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
24376 calculate the size of raid device.
24377 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
24378 different layout of raid5.
24379 (grub_raid_scan_device): Remove code specific to mdraid.
24380 (grub_raid_list): New variable.
24381 (free_array): New function.
24382 (grub_raid_register): Likewise.
24383 (grub_raid_unregister): Likewise.
24384 (grub_raid_rescan): Likewise.
24385 (GRUB_MOD_INIT): Don't iterate device here.
24386 (GRUB_MOD_FINI): Use free_array to release resource.
24387
24388 * include/grub/raid.h: Remove macro and structure specific to mdraid.
24389 (grub_raid5_recover_func_t): New function variable type.
24390 (grub_raid6_recover_func_t): Likewise.
24391 (grub_raid5_recover_func): New variable.
24392 (grub_raid6_recover_func): Likewise.
24393 (grub_raid_register): New function.
24394 (grub_raid_unregister): Likewise.
24395 (grub_raid_rescan): Likewise.
24396 (grub_raid_block_xor): Likewise.
24397
24398 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
24399 (CMD_CRC): New macro.
24400 (part): Removed.
24401 (read_file): Handle device as well as file.
24402 (cmd_crc): New function.
24403 (fstest): Handle multiple disks.
24404 (options): Remove part, raw and long, add root and diskcount.
24405 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 24406 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 24407 add handling for the new options, support multiple disks.
24408
24409 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
24410
29c18915 244112008-08-23 Bean <bean123ch@gmail.com>
24412
24413 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
24414
24415 * genfslist.sh: Ignore kernel.mod.
24416
24417 * genpartmaplist.sh: Likewise.
24418
8415f261 244192008-08-23 Robert Millan <rmh@aybabtu.com>
24420
24421 * util/getroot.c (find_root_device): Skip anything that starts with
24422 a dot, not just directories. This avoids things like /dev/.tmp.md0.
24423
d5a7dc5b 244242008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 24425
d5a7dc5b 24426 * util/update-grub.in (GRUB_GFXMODE): Export variable.
24427 * util/grub.d/00_header.in: Allow the administrator to change default
24428 gfxmode via ${GRUB_GFXMODE}.
24429
380cfbb4 244302008-08-21 Felix Zielcke <fzielcke@z-51.de>
24431
24432 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
24433
c9baafe7 244342008-08-21 Robert Millan <rmh@aybabtu.com>
24435
24436 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
24437 loader.
24438 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
24439 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
24440
e290bef2 244412008-08-20 Carles Pina i Estany <carles@pina.cat>
24442
24443 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
24444 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
24445
f9dbfc96 244462008-08-19 Robert Millan <rmh@aybabtu.com>
24447
24448 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
24449 (struct grub_virtual_screen): Remove `cursor_color'.
24450 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
24451 initialization.
24452 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
24453
dd6bd6ab 244542008-08-18 Robert Millan <rmh@aybabtu.com>
24455
24456 Unify (identical) linux_normal.c files.
24457 * loader/i386/efi/linux_normal.c: Move from here ...
24458 * loader/linux_normal.c: ... to here. Update all users.
24459 * loader/i386/pc/linux_normal.c: Delete. Update all users.
24460 * loader/i386/ieee1275/linux_normal.c: Likewise.
24461
7f42f83e 244622008-08-18 Robert Millan <rmh@aybabtu.com>
24463
24464 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
24465 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
24466 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
24467 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
24468 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
24469 New macros.
24470 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
24471 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
24472 (GRUB_LINUX_CL_END_OFFSET): ... to here.
24473 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
24474 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
24475 (GRUB_EFI_CL_END_OFFSET): Rename to ...
24476 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
24477 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
24478 Initialize `params->video_cursor_x' and `params->video_cursor_y'
24479 portably using grub_getxy().
24480 Replace `-EFI' with `-bzImage' in boot message.
24481
38487ddb 244822008-08-17 Robert Millan <rmh@aybabtu.com>
24483
24484 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
24485
deceb3ec 244862008-08-17 Robert Millan <rmh@aybabtu.com>
24487
24488 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
24489
24490 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
24491 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
24492 (grub_machine_mmap_iterate): New function declaration.
24493 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
24494 structure.
24495 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
24496 macros.
24497
24498 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
24499 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
24500 Move e820 parsing from here ...
24501 * kern/i386/pc/mmap.c: New file.
24502 (grub_machine_mmap_iterate): ... to here.
24503
24504 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
24505 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
24506 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
24507 (grub_available_iterate): Redeclare to return `void', and redeclare
24508 its hook to use grub_uint64_t as addr and size parameters, and rename
24509 to ...
24510 (grub_machine_mmap_iterate): ... this. Update all users.
24511
24512 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
24513 to make it more readable. Rename to ...
24514 (grub_machine_mmap_iterate): ... this.
24515
24516 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
24517 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
24518 (grub_multiboot): Allocate an extra region after the payload, and fill
24519 it with a Multiboot memory map. Adjust a.out loader to calculate size
24520 with the extra space.
24521 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
24522 with the extra space.
24523
f8aa0f43 245242008-08-17 Carles Pina i Estany <carles@pina.cat>
24525
9807deb9 24526 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 24527
605f5bb6 245282008-08-17 Felix Zielcke <fzielcke@z-51.de>
24529
24530 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
24531 mdate-sh to the list `find' searches for.
24532 * DISTLIST: Regenerated.
24533
210db6c6 245342008-08-16 Felix Zielcke <fzielcke@z-51.de>
24535
24536 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
24537 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 24538 genmoddep.awk, gensymlist.sh.in.
24539 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 24540 * DISTLIST: Regenerated.
48cdbfd4 24541 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 24542
1082b929 245432008-08-16 Robert Millan <rmh@aybabtu.com>
24544
24545 * disk/raid.c (grub_raid_init): Handle/report errors set by
24546 grub_device_iterate().
24547 * disk/lvm.c (grub_lvm_init): Likewise.
24548
42ce5170 245492008-08-15 Bean <bean123ch@gmail.com>
24550
24551 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24552 and datehook.mod.
24553 (datetime_mod_SOURCES): New macro.
24554 (datetime_mod_CFLAGS): Likewise.
24555 (datetime_mod_LDFLAGS): Likewise.
24556 (date_mod_SOURCES): Likewise.
24557 (date_mod_CFLAGS): Likewise.
24558 (date_mod_LDFLAGS): Likewise.
24559 (datehook_mod_SOURCES): Likewise.
24560 (datehook_mod_CFLAGS): Likewise.
24561 (datehook_mod_LDFLAGS): Likewise.
24562
24563 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24564 and datehook.mod.
24565 (datetime_mod_SOURCES): New macro.
24566 (datetime_mod_CFLAGS): Likewise.
24567 (datetime_mod_LDFLAGS): Likewise.
24568 (date_mod_SOURCES): Likewise.
24569 (date_mod_CFLAGS): Likewise.
24570 (date_mod_LDFLAGS): Likewise.
24571 (datehook_mod_SOURCES): Likewise.
24572 (datehook_mod_CFLAGS): Likewise.
24573 (datehook_mod_LDFLAGS): Likewise.
24574
24575 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24576 and datehook.mod.
24577 (datetime_mod_SOURCES): New macro.
24578 (datetime_mod_CFLAGS): Likewise.
24579 (datetime_mod_LDFLAGS): Likewise.
24580 (date_mod_SOURCES): Likewise.
24581 (date_mod_CFLAGS): Likewise.
24582 (date_mod_LDFLAGS): Likewise.
24583 (datehook_mod_SOURCES): Likewise.
24584 (datehook_mod_CFLAGS): Likewise.
24585 (datehook_mod_LDFLAGS): Likewise.
24586
24587 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24588 and datehook.mod.
24589 (datetime_mod_SOURCES): New macro.
24590 (datetime_mod_CFLAGS): Likewise.
24591 (datetime_mod_LDFLAGS): Likewise.
24592 (date_mod_SOURCES): Likewise.
24593 (date_mod_CFLAGS): Likewise.
24594 (date_mod_LDFLAGS): Likewise.
24595 (datehook_mod_SOURCES): Likewise.
24596 (datehook_mod_CFLAGS): Likewise.
24597 (datehook_mod_LDFLAGS): Likewise.
24598
24599 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24600 and datehook.mod.
24601 (datetime_mod_SOURCES): New macro.
24602 (datetime_mod_CFLAGS): Likewise.
24603 (datetime_mod_LDFLAGS): Likewise.
24604 (date_mod_SOURCES): Likewise.
24605 (date_mod_CFLAGS): Likewise.
24606 (date_mod_LDFLAGS): Likewise.
24607 (datehook_mod_SOURCES): Likewise.
24608 (datehook_mod_CFLAGS): Likewise.
24609 (datehook_mod_LDFLAGS): Likewise.
24610
24611 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
24612
24613 * commands/date.c: New file.
24614
24615 * hook/datehook.c: Likewise.
24616
24617 * include/grub/lib/datetime.h: Likewise.
24618
24619 * include/grub/i386/cmos.h: Likewise.
24620
24621 * lib/datetime.c: Likewise.
24622
24623 * lib/i386/datetime.c: Likewise.
24624
24625 * lib/efi/datetime.c: Likewise.
24626
0e9242da 246272008-08-14 Robert Millan <rmh@aybabtu.com>
24628
24629 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
24630 (grub_mkelfimage_SOURCES): New variable.
24631 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
24632
24633 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
24634 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
24635 * conf/powerpc-ieee1275.rmk: Likewise.
24636 * conf/i386-ieee1275.rmk: Likewise.
24637
24638 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
24639 * kern/i386/coreboot/init.c: Likewise.
24640
24641 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
24642 with `<grub/cpu/kernel.h>'.
24643 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
24644 to ...
24645 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
24646 * kern/i386/coreboot/startup.S: Likewise.
24647
24648 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
24649 (GRUB_MOD_GAP): Remove.
24650 * include/grub/powerpc/kernel.h: New file.
24651 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
24652 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
24653 * include/grub/i386/kernel.h: New file.
24654 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
24655 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
24656 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
24657
24658 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
24659 `grub-mkelfimage'.
24660 Use --directory when invoking grub_mkimage.
24661
24662 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
24663 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
24664 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
24665 and GRUB_KERNEL_CPU_PREFIX.
24666
b86408f8 246672008-08-14 Felix Zielcke <fzielcke@z-51.de>
24668
d5e619ca 24669 * include/grub/err.h (grub_err_printf): New function prototype.
24670 * util/misc.c (grub_err_printf): New function.
24671 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
24672 grub_printf.
24673 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 24674
7161f0e0 246752008-08-13 Robert Millan <rmh@aybabtu.com>
24676
24677 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
24678
a1967522 246792008-08-13 Robert Millan <rmh@aybabtu.com>
24680
24681 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
24682 boot entry.
24683
371458b5 246842008-08-12 Robert Millan <rmh@aybabtu.com>
24685
24686 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
24687 of the relocation code from here ...
24688 (grub_multiboot): ... to here.
24689 (forward_relocator, backward_relocator): Move from here ...
24690 * kern/i386/loader.S (grub_multiboot_forward_relocator)
24691 (grub_multiboot_backward_relocator): ... to here.
24692 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
24693 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
24694 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
24695 (grub_multiboot_forward_relocator_end)
24696 (grub_multiboot_backward_relocator)
24697 (grub_multiboot_backward_relocator_end): New variables.
24698
05f9452b 246992008-08-12 Bean <bean123ch@gmail.com>
24700
24701 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
24702
20024ab0 247032008-08-11 Robert Millan <rmh@aybabtu.com>
24704
24705 * kern/i386/linuxbios/startup.S: Move from here ...
24706 * kern/i386/coreboot/startup.S: ... to here.
24707
24708 * kern/i386/linuxbios/init.c: Move from here ...
24709 * kern/i386/coreboot/init.c: ... to here.
24710
24711 * kern/i386/linuxbios/table.c: Move from here ...
24712 * kern/i386/coreboot/mmap.c: ... to here.
24713
24714 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
24715
e352e9cd 247162008-08-11 Robert Millan <rmh@aybabtu.com>
24717
24718 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
24719 errors. Leave it to the upper layer to handle them.
24720
2d05bc6a 247212008-08-09 Christian Franke <franke@computer.org>
24722
24723 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
24724 * conf/common.rmk: Install `grub-pe2elf' only if requested.
24725 Install `grub.d/10_windows' only on Cygwin.
24726 * configure.ac: Add subst of `target_os'.
24727 Check `target_os' also before setting TARGET_OBJ2ELF.
24728 Add `--enable-grub-pe2elf'.
24729
042bd419 247302008-08-08 Robert Millan <rmh@aybabtu.com>
24731
24732 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
24733 (grub_last_time): Change type to grub_uint64_t.
24734 (grub_disk_open): Migrate code from to using grub_get_time_ms().
24735 (grub_disk_close): Likewise.
24736
24737 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
24738 (run_menu): Migrate code from to using grub_get_time_ms().
24739
24740 * util/misc.c (grub_get_time_ms): New function.
24741
7f280db5 247422008-08-08 Marco Gerards <marco@gnu.org>
24743
24744 * disk/ata.c (grub_ata_regget): Change return type to
24745 `grub_uint8_t'.
24746 (grub_ata_regget2): Likewise.
24747 (grub_ata_wait_status): New function.
24748 (grub_ata_wait_busy): Removed function, updated all users to use
24749 `grub_ata_wait_status'.
24750 (grub_ata_wait_drq): Likewise.
24751 (grub_ata_cmd): New function.
24752 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
24753 error handling.
24754 (grub_ata_pio_write): Add error handling.
24755 (grub_atapi_identify): Likewise.
24756 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
24757 handling.
24758 (grub_ata_identify): Use `grub_ata_cmd' and improve error
24759 handling. Actually use the detected registers. Reorder the
24760 detection logic such that it is easier to read.
24761 (grub_ata_pciinit): Do not assign the same ID to each controller.
24762 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
24763 handling.
24764 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
24765
24766 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
24767
1fbc5e66 247682008-08-08 Marco Gerards <marco@gnu.org>
24769
24770 * NEWS: Update.
24771
819ce6c0 247722008-08-07 Bean <bean123ch@gmail.com>
24773
24774 * include/grub/x86_64/pci.h: New file.
24775
5c41d44d 247762008-08-07 Christian Franke <franke@computer.org>
24777
24778 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
24779 (TIMER2_GATE): Likewise.
24780 (grub_pit_wait): Add enable/disable of the timer2 gate
24781 bit of port 0x61. This fixes a possible infinite loop.
24782
5ebc275d 247832008-08-07 Bean <bean123ch@gmail.com>
24784
24785 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
24786 kern/i386/tsc.c and kern/i386/pit.c.
24787
24788 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
24789 x86_64 platform.
24790
24791 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
24792 <grub/i386/tsc.h>.
24793
24794 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
24795
e383b3d0 247962008-08-07 Bean <bean123ch@gmail.com>
24797
24798 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
24799
24800 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
24801
24802 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
24803 multiple inclusion. Add #include <grub/types.h>.
24804
1cbb58ac 248052008-08-06 Christian Franke <franke@computer.org>
24806
24807 * conf/common.rmk: Build and install `10_windows'.
24808 * util/grub.d/10_windows.in: New script.
24809
337f5a1e 248102008-08-06 Pavel Roskin <proski@gnu.org>
24811
24812 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
24813
057bc4ac 248142008-08-06 Robert Millan <rmh@aybabtu.com>
24815
24816 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
24817 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
24818
2b99f123 248192008-08-06 Bean <bean123ch@gmail.com>
24820
24821 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
24822 (grub_pxefs_fs_int): Remove dummy definition.
24823 (grub_pxefs_open): Use data->block_size to store the current block
24824 size setting.
24825 (grub_pxefs_read): Use block size stored in data->block_size. As the
24826 value of grub_pxe_blksize can be changed after the file is opened.
24827
9f0234cb 248282008-08-06 Bean <bean123ch@gmail.com>
24829
24830 * fs/i386/pc/pxe.c (curr_file): new variable.
24831 (grub_pxefs_open): Simply the handling of pxe file system. Don't
24832 require the dummy internal file system anymore.
24833 (grub_pxefs_read): Removed.
24834 (grub_pxefs_close): Likewise.
24835 (grub_pxefs_fs_int): Likewise.
24836 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
24837 connection when we switch file.
24838 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
24839
a55d42e0 248402008-08-06 Robert Millan <rmh@aybabtu.com>
24841
24842 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
24843 `halt.mod'.
24844 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
24845 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
24846
24847 * kern/i386/halt.c: New file.
24848 * kern/i386/reboot.c: Likewise.
24849 * include/grub/i386/reboot.h: Likewise.
24850 * include/grub/i386/halt.h: Likewise.
24851
24852 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
24853 Include `<grub/cpu/halt.h>'.
24854 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
24855 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
24856
24857 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
24858 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
24859 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
24860 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
24861 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
24862 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
24863 from here ...
24864 * include/grub/i386/at_keyboard.h: ... to here.
24865
24371d26 248662008-08-05 Robert Millan <rmh@aybabtu.com>
24867
24868 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
24869 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
24870 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
24871 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
24872 `kern/generic/millisleep.c'.
24873
24874 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
24875 instead of grub_get_rtc().
24876 (grub_tsc_init): Initialize `tsc_boot_time'.
24877
24878 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
24879 (grub_machine_init): Use grub_tsc_init() rather than
24880 installing an RTC-based handler via grub_install_get_time_ms().
24881
24882 * kern/i386/pit.c: New file.
24883 * include/grub/i386/pit.h: Likewise.
24884
9e7007b3 248852008-08-05 Bean <bean123ch@gmail.com>
24886
24887 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
24888
24889 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
24890 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
24891 (pxe_mod_SOURCES): New macro.
24892 (pxe_mod_CFLAGS): Likewise.
24893 (pxe_mod_LDFLAGS): Likewise.
24894 (pxecmd_mod_SOURCES): Likewise.
24895 (pxecmd_mod_CFLAGS): Likewise.
24896 (pxecmd_mod_LDFLAGS): Likewise.
24897
24898 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
24899 (grub_pxe_call): Likewise.
24900
24901 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
24902
24903 * commands/i386/pc/pxecmd.c: New file.
24904
9f0234cb 24905 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 24906
24907 * include/grub/i386/pc/pxe.h: Likewise.
24908
6977d49f 249092008-08-05 Bean <bean123ch@gmail.com>
24910
24911 * util/console.c (grub_console_cur_color): New variable.
24912 (grub_console_standard_color): Likewise.
24913 (grub_console_normal_color): Likewise.
24914 (grub_console_highlight_color): Likewise.
24915 (color_map): Likewise.
24916 (use_color): Likewise.
24917 (NUM_COLORS): New macro.
24918 (grub_ncurses_setcolorstate): Handle color properly.
24919 (grub_ncurses_setcolor): Don't change color here, just remember the
24920 settings, color will be set in grub_ncurses_setcolorstate.
24921 (grub_ncurses_getcolor): New function.
24922 (grub_ncurses_init): Initialize color pairs.
24923 (grub_ncurses_term): New member grub_ncurses_getcolor.
24924
9c2ff3ee 249252008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 24926
9c2ff3ee 24927 High resolution timer support. Implemented for x86 CPUs using TSC.
24928 Extracted generic grub_millisleep() so it's linked in only as needed.
24929 This requires a Pentium compatible CPU; if the RDTSC instruction is
24930 not supported, then it falls back on the generic grub_get_time_ms()
24931 implementation that uses the machine's RTC.
24932
24933 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
24934 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
24935 `kern/generic/millisleep.c'.
24936
24937 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
24938 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
24939
24940 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
24941 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
24942
24943 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
24944
24945 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
24946 `kern/generic/millisleep.c'.
24947
24948 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
24949
24950 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
24951
24952 * kern/generic/rtc_get_time_ms.c: New file.
24953
24954 * kern/generic/millisleep.c: New file.
337f5a1e 24955
9c2ff3ee 24956 * kern/misc.c: Don't include
24957 <kern/time.h> anymore.
24958 (grub_millisleep_generic): Removed.
24959
24960 * commands/sleep.c (grub_interruptible_millisleep): Uses
24961 grub_get_time_ms() instead of grub_get_rtc().
24962
24963 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
24964 function.
24965 (grub_cpu_is_cpuid_supported): New inline function.
24966 (grub_cpu_is_tsc_supported): New inline function.
24967 (grub_tsc_init): New function prototype.
24968 (grub_tsc_get_time_ms): New function prototype.
24969
24970 * kern/i386/tsc.c (grub_get_time_ms): New file.
24971
24972 * include/grub/time.h: Include <grub/types.h.
24973 (grub_millisleep_generic): Removed.
24974 (grub_get_time_ms): New prototype.
24975 (grub_install_get_time_ms): New prototype.
24976 (grub_rtc_get_time_ms): New prototype.
24977
24978 * kern/time.c (grub_get_time_ms): New function.
24979 (grub_install_get_time_ms): New function.
24980
24981 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
24982 <grub/time.h> anymore.
24983 (grub_millisleep): Removed.
24984 (grub_machine_init): Call grub_tsc_init.
24985
24986 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
24987 get_time_ms() implementation.
24988
24989 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
24990 (ieee1275_get_time_ms): New function.
24991 (grub_machine_init): Install get_time_ms() implementation.
24992
24993 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
24994 (grub_machine_init): Call grub_tsc_init().
24995 (grub_millisleep): Removed.
bf06a93f 24996
9c2ff3ee 24997 * kern/ieee1275/init.c (grub_millisleep): Removed.
24998 (grub_machine_init): Install ieee1275_get_time_ms()
24999 implementation.
25000 (ieee1275_get_time_ms): New function.
25001 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
25002 real work.
25003
9ec92aaf 250042008-08-05 Marco Gerards <marco@gnu.org>
25005
25006 * disk/ata.c: Include <grub/pci.h>.
25007 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
25008 (grub_ata_initialize): Rewritten.
25009 (grub_ata_device_initialize): New function.
25010
8d23f507 250112008-08-04 Pavel Roskin <proski@gnu.org>
25012
25013 * kern/main.c: Include grub/mm.h.
25014
5e15ee3d 250152008-08-04 Robert Millan <rmh@aybabtu.com>
25016
25017 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
25018 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
25019 corruption problem).
25020
a9053f8f 250212008-08-04 Robert Millan <rmh@aybabtu.com>
25022
25023 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
25024 warnings introduced in my last commit.
25025
dd19c7d7 250262008-08-03 Robert Millan <rmh@aybabtu.com>
25027
25028 Make PCI available on all i386 architectures.
25029
25030 * include/grub/i386/pc/pci.h: Move from here ...
25031 * include/grub/i386/pci.h: ... to here.
25032
25033 * include/grub/i386/pc/pci.h: Remove.
25034 * include/grub/i386/efi/pci.h: Remove.
25035 * include/grub/x86_64/efi/pci.h: Remove.
25036
25037 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
25038 `<grub/cpu/pci.h>'.
25039
25040 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
25041 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
25042 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
25043
25044 * conf/i386-ieee1275.rmk: Likewise.
25045
e14a6184 250462008-08-03 Robert Millan <rmh@aybabtu.com>
25047
25048 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
25049 (grub_console_setcursor): Make it possible to set cursor off.
25050
52768e37 250512008-08-03 Robert Millan <rmh@aybabtu.com>
25052
25053 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
25054 of modules instead of assuming which platform provides what.
25055 * util/update-grub.in: Likewise.
25056
2d52f57f 250572008-08-03 Robert Millan <rmh@aybabtu.com>
25058
25059 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
25060 instead of `grub_install_dos_part' to determine whether a drive needs
25061 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 25062 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 25063
2a5cd121 250642008-08-02 Robert Millan <rmh@aybabtu.com>
25065
25066 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
25067
93808428 250682008-08-02 Robert Millan <rmh@aybabtu.com>
25069
25070 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
25071 of informational grub_dprintf() calls.
25072
3bd0a12a 250732008-08-02 Robert Millan <rmh@aybabtu.com>
25074
25075 * disk/memdisk.c (memdisk_size): Don't initialize.
25076 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
25077
25078 * include/grub/i386/pc/kernel.h
25079 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
25080 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
25081 (grub_memdisk_image_size, grub_arch_memdisk_addr)
25082 (grub_arch_memdisk_size): Remove.
25083
25084 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
25085 field (was only used to transfer a constant). Add `type' field to
25086 support multiple module types.
25087 (grub_module_iterate): New function.
25088
25089 * kern/device.c (grub_device_open): Do not hide error messages
25090 when grub_disk_open() fails. Use grub_print_error() instead.
25091
25092 * kern/i386/pc/init.c (grub_arch_modules_addr)
25093 (grub_arch_memdisk_size): Remove functions.
25094 (grub_arch_modules_addr): Return the module address in high memory
25095 (now that it isn't copied anymore).
25096
25097 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
25098 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
25099 decompression routine (grub_total_module_size already includes that
25100 now). Don't copy modules back to low memory.
25101
25102 * kern/main.c: Include `<grub/mm.h>'.
25103 (grub_load_modules): Split out (and use) ...
25104 (grub_module_iterate): ... this function, which iterates through
25105 module objects and runs a hook.
25106 Comment out grub_mm_init_region() call, as it would cause non-ELF
25107 modules to be overwritten.
25108
25109 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
25110 the memdisk image in its own region, make it part of the module list.
25111 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
25112 (main): Parse --memdisk|-m option, and pass user-provided path as
25113 parameter to generate_image().
25114 (add_segments): Pass `memdisk_path' down to load_modules().
25115 (load_modules): Embed memdisk image in module section when requested.
25116 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
25117 `header.type' instead of `header.offset'.
25118
25119 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
25120 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
25121 (memdisk_mod_LDFLAGS): New variables.
25122 * conf/i386-coreboot.rmk: Likewise.
25123 * conf/i386-ieee1275.rmk: Likewise.
25124
a927cc73 251252008-08-02 Robert Millan <rmh@aybabtu.com>
25126
25127 * loader/i386/pc/multiboot.c (playground, forward_relocator)
25128 (backward_relocator): New variables. Used to allocate and relocate
25129 the payload, respectively.
25130 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 25131 address, install the appropriate relocator code in each bound of
a927cc73 25132 the payload, and set the entry point such that
25133 grub_multiboot_real_boot() will jump to one of them.
25134
25135 * kern/i386/loader.S (grub_multiboot_payload_size)
25136 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25137 (grub_multiboot_payload_entry_offset): New variables.
25138 (grub_multiboot_real_boot): Set cpu context to what the relocator
25139 expects, and jump to the relocator instead of the payload.
25140
25141 * include/grub/i386/loader.h (grub_multiboot_payload_size)
25142 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25143 (grub_multiboot_payload_entry_offset): Export.
25144
b15d8a0c 251452008-08-01 Bean <bean123ch@gmail.com>
25146
25147 * normal/menu_entry.c (editor_getline): Don't return the original
25148 string as result, as it will be released by lexer once it has done
25149 using it.
25150
cdfb3d22 251512008-08-01 Robert Millan <rmh@aybabtu.com>
25152
25153 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
25154 within menuentries, not before them.
25155 util/grub.d/10_hurd.in: Likewise.
25156
9175e93d 251572008-08-01 Bean <bean123ch@gmail.com>
25158
25159 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
25160 (bufio_mod_SOURCES): New macro.
25161 (bufio_mod_CFLAGS): Likewise.
25162 (bufio_mod_LDFLAGS): Likewise.
25163
25164 * include/grub/bufio.h: New file.
25165
25166 * io/bufio.c: Likewise.
25167
25168 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
25169 (grub_video_reader_png): Use grub_buffile_open to open file.
25170
25171 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
25172 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
25173
25174 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
25175 (grub_video_reader_tga): Use grub_buffile_open to open file.
25176
25177 * font/manager.c: Include <grub/bufio.h>.
25178 (add_font): Use grub_buffile_open to open file.
25179
3d8383e7 251802008-07-31 Robert Millan <rmh@aybabtu.com>
25181
25182 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
25183 ELF segments, use a macro for arbitrarily accessing any of them instead
25184 of preparing a pointer that allows access to one at a time.
25185 (grub_multiboot_load_elf64): Likewise.
25186
16e641b6 251872008-07-31 Bean <bean123ch@gmail.com>
25188
25189 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
25190 GRUB_KERNEL_MACHINE_DATA_END.
25191
59198b72 251922008-07-30 Robert Millan <rmh@aybabtu.com>
25193
25194 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
25195 Increase from 0x50 to 0x60.
25196 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
25197 use UUIDs to identify the root drive for them. If that's not
25198 possible, abort.
25199 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
25200 check, for cross-disk installs.
25201
ae88bca3 252022008-07-30 Robert Millan <rmh@aybabtu.com>
25203
25204 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
25205 is non-empty, use it to set the `prefix' environment variable instead
25206 of the usual approach.
25207 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
25208 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
25209 environment variable instead of dummy make_install_device().
25210
25211 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
25212 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 25213 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 25214
25215 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
25216 New variable reference.
25217 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
25218 New macro. Defines offset of `grub_prefix' within startup.S (relative
25219 to `start').
25220 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
25221 section within startup.S (relative to `start').
25222 * include/grub/i386/coreboot/kernel.h: Likewise.
25223
25224 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
25225 Overwrite grub_prefix with its contents, at the beginning of the
25226 first segment.
25227 (main): Understand -p|--prefix.
25228
14f41dd1 252292008-07-30 Robert Millan <rmh@aybabtu.com>
25230
25231 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
25232
4ca049a3 252332008-07-30 Robert Millan <rmh@aybabtu.com>
25234
25235 * term/i386/pc/vga_text.c (grub_console_cls): Use
25236 grub_console_gotoxy() to go back to beginning of the screen.
25237 Found by Patrick Georgi <patrick.georgi@coresystems.de>
25238
2921d337 252392008-07-29 Christian Franke <franke@computer.org>
25240
25241 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
25242 Add conversion of emulated mount points on Cygwin.
25243
b609876d 252442008-07-29 Christian Franke <franke@computer.org>
25245
25246 * util/update-grub.in: Add a check for admin
25247 group on Cygwin.
25248 Remove old `grub.cfg.new' before creation.
25249 Add `-f' to `mv' to handle the different filesystem
25250 semantics of Windows.
25251
e93e4679 252522008-07-29 Bean <bean123ch@gmail.com>
25253
25254 * normal/main.c (get_line): Fix buffer overflow bug.
25255
41694fd0 252562008-07-28 Robert Millan <rmh@aybabtu.com>
25257
25258 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
25259 (struct grub_apple_header): New struct. Describes the layout of
25260 the partmap header.
25261 (apple_partition_map_iterate): Check the header magic as well as the
25262 partition magic (which was already being checked).
25263
cfd0b4e6 252642008-07-28 Pavel Roskin <proski@gnu.org>
25265
25266 * genmk.rb: Add a warning to the beginning of the output that
25267 it's a generated file and should not be edited.
25268
93cce016 252692008-07-28 Robert Millan <rmh@aybabtu.com>
25270
25271 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25272 with the same number are found, just use issue a warning with
25273 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 25274
cd1df915 252752008-07-27 Robert Millan <rmh@aybabtu.com>
25276
25277 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
25278 information.
25279
b70a8427 252802008-07-27 Bean <bean123ch@gmail.com>
25281
25282 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
25283 (grub_fat_find_dir): Ignore case when comparing filename.
25284
8f5e379f 252852008-07-27 Bean <bean123ch@gmail.com>
25286
25287 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
25288 smallino, as it's more descriptive, and i8count can be confused with
25289 the other field count.
25290 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
25291 inode type.
25292
a85cd5a0 252932008-07-27 Bean <bean123ch@gmail.com>
25294
25295 * commands/crc.c: New file.
25296
25297 * lib/crc.c: Likewise.
25298
25299 * include/grub/lib/crc.h: Likewise.
25300
25301 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
25302
25303 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
25304 (hexdump): Move this function to ...
25305
25306 * lib/hexdump.c: ... here.
25307
25308 * include/grub/hexdump.h: Renamed to ...
25309
25310 * include/grub/lib/hexdump.h: ... this.
25311
25312 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
25313
25314 * util/grub-editenv.c: Likewise.
25315
25316 * include/envblk.h: Renamed to ...
25317
25318 * include/lib/envblk.h: ... this.
25319
25320 * util/envblk.c: Renamed to ...
25321
25322 * lib/envblk.c: ... this.
25323
25324 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
25325 lib/hexdump.c.
25326 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
25327 (pkglib_MODULES): Add crc.mod.
25328 (hexdump_mod_SOURCES): Add lib/hexdump.c.
25329 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
25330 (crc_mod_SOURCES): New macro.
25331 (crc_mod_CFLAGS): Likewise.
25332 (crc_mod_LDFLAGS): Likewise.
25333
25334 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
25335
25336 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25337
25338 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25339
25340 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25341
25342 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25343
c298def0 253442008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 25345
25346 * commands/help.c: Include <grub/term.h>.
25347 (TERM_WIDTH): Removed. Updated all users.
25348
cc349fb3 253492008-07-27 Pavel Roskin <proski@gnu.org>
25350
25351 * util/getroot.c (find_root_device): Rephrase a comment to avoid
25352 spurious warnings about a comment within a comment.
25353
9051607e 253542008-07-25 Robert Millan <rmh@aybabtu.com>
25355
25356 * util/getroot.c (find_root_device): Skip devices that match
25357 /dev/dm-[0-9]. This lets the real device be found for any type of
25358 abstraction (LVM, EVMS, RAID..).
25359 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
25360 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
25361 device is found first, find_root_device() will now skip it.
25362
01453bfc 253632008-07-24 Pavel Roskin <proski@gnu.org>
25364
25365 * include/grub/types.h: Use __builtin_bswap32() and
25366 __builtin_bswap64() with gcc 4.3 and newer.
25367
6af9849f 253682008-07-24 Christian Franke <franke@computer.org>
25369
3a0fa256 25370 * util/i386/pc/grub-install.in: If `--debug' is specified,
25371 pass `--verbose' to grub-setup.
25372 Abort script if make_system_path_relative_to_its_root() fails.
25373
7810e747 253742008-07-24 Bean <bean123ch@gmail.com>
25375
25376 * configure.ac: Fixed a bug caused by the previous cygwin patch,
25377 variable `target_platform' should be `platform'.
25378
42290e17 253792008-07-24 Bean <bean123ch@gmail.com>
25380
51cc5193 25381 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 25382 (grub_png_init_fixed_block): New function.
25383 (grub_png_decode_image_data): Handle fixed huffman code compression.
25384
2a8a80e4 253852008-07-24 Bean <bean123ch@gmail.com>
25386
25387 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
25388 (grub_pe2elf_SOURCES): New macro.
25389 (CLEANFILES): Add grub-pe2elf.
25390
25391 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
25392 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
25393 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
25394 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
25395 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
25396 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
25397 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
25398 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
25399 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
25400 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
25401 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
25402 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
25403 (GRUB_PE32_DT_FUNCTION): Likewise.
25404 (GRUB_PE32_REL_I386_DIR32): Likewise.
25405 (GRUB_PE32_REL_I386_REL32): Likewise.
25406 (grub_pe32_symbol): New structure.
25407 (grub_pe32_reloc): Likewise.
25408
25409 * util/grub-pe2elf.c: New file.
25410
25411 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
25412 start symbol in non pc platform.
25413
25414 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
25415
25416 The following patches are from Christian Franke.
25417
25418 * include/grub/dl.h: Remove .previous, gas supports this only
25419 for ELF format.
25420
25421 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
25422 Remove .type, gas supports this only for ELF format.
25423
25424 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
25425 nullbytes in symbol table. This fixes an infinite loop if table is
25426 zero filled.
25427
25428 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
25429 TARGET_IMG_LDFLAGS and EXEEXT.
25430
25431 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
25432 TARGET_IMG_LDFLAGS_AC.
25433 (grub_CHECK_STACK_ARG_PROBE): New function.
25434
25435 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
25436
25437 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
25438
25439 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
25440 to set TARGET_IMG_LD* accordingly.
25441 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
25442 Add call to grub_CHECK_STACK_ARG_PROBE.
25443 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
25444
25445 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
25446
25447 * genmk.rb: Add EXEEXT to CLEANFILES.
25448
12ccdb75 254492008-07-23 Robert Millan <rmh@aybabtu.com>
25450
25451 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
25452 define the codes for arrows and lines used for the menu).
25453 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
25454 as well.
25455
25456 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
25457 fonts, because the latter are too slow.
25458
18eeaf04 254592008-07-21 Bean <bean123ch@gmail.com>
25460
25461 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
25462 a20. Run keyboard test last, as it will cause macbook to halt.
25463
b095e2ad 254642008-07-18 Pavel Roskin <proski@gnu.org>
25465
25466 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
25467 load foreign architecture modules correctly anyway. Keep
25468 support for loading host architecture modules, whether we
25469 compile them or not.
25470
737feb35 254712008-07-17 Pavel Roskin <proski@gnu.org>
25472
3f4ce737 25473 * configure.ac: Use -m32 or -m64 regardless of whether we had to
25474 change target_cpu. The compiler default can mismatch target_cpu
25475 in any case.
25476
4ad2d049 25477 * disk/efi/efidisk.c: Fix format warnings on x86_64.
25478 * kern/efi/efi.c: Likewise.
25479
f6130a12 25480 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
25481 target compiler is functional.
25482 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
25483 are set up.
25484
58393a2d 25485 * configure.ac: Default to efi platform for x86_64-apple. Allow
25486 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
25487 adjustments from the rest, only do them if target is not
25488 explicitly given. Merge other adjustments with the final sanity
25489 check. Remove an extraneous check for supported CPU. Be
25490 specific which CPU and which platform is not supported.
25491
737feb35 25492 * configure.ac: Default to pc platform for x86_64.
25493
546f966a 254942008-07-17 Robert Millan <rmh@aybabtu.com>
25495
25496 Partial LinuxBIOS -> Coreboot rename.
25497
25498 * conf/i386-linuxbios.rmk: Renamed to ...
25499 * conf/i386-coreboot.rmk: ... this.
25500 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
25501 * configure.ac: Accept "coreboot" as input platform (but maintain
25502 compatibility with "linuxbios").
25503 * include/grub/i386/linuxbios: Renamed to ...
25504 * include/grub/i386/coreboot: ... this.
25505
20011694 255062008-07-17 Bean <bean123ch@gmail.com>
25507
25508 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 25509 (appleldr_mod_SOURCE): New variable.
20011694 25510 (appleldr_mod_CFLAGS): Likewise.
25511 (appleldr_mod_LDFLAGS): Likewise.
25512 (pci_mod_SOURCES): Likewise.
25513 (pci_mod_CFLAGS): Likewise.
25514 (pci_mod_LDFLAGS): Likewise.
25515 (lspci_mod_SOURCES): Likewise.
25516 (lspci_mod_CFLAGS): Likewise.
25517 (lspci_mod_LDFLAGS): Likewise.
25518
25519 * conf/x86_64-efi.rmk: New file.
25520
25521 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
25522 macro.
25523 (grub_efidisk_write): Likewise.
25524
25525 * include/efi/api.h (efi_call_0): New macro.
25526 (efi_call_1): Likewise.
25527 (efi_call_2): Likewise.
25528 (efi_call_3): Likewise.
25529 (efi_call_4): Likewise.
25530 (efi_call_5): Likewise.
25531 (efi_call_6): Likewise.
25532
25533 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
25534 grub_rescue_cmd_chainloader.
25535
25536 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
25537 (grub_pe32_optional_header): Change some fields based on i386 or
25538 x86_64 platform.
25539 (GRUB_PE32_PE32_MAGIC): Likewise.
25540
25541 * include/grub/efi/uga_draw.h: New file.
25542
25543 * include/grub/elf.h (STN_ABS): New constant.
25544 (R_X86_64_NONE): Relocation constant for x86_64.
25545 (R_X86_64_64): Likewise.
25546 (R_X86_64_PC32): Likewise.
25547 (R_X86_64_GOT32): Likewise.
25548 (R_X86_64_PLT32): Likewise.
25549 (R_X86_64_COPY): Likewise.
25550 (R_X86_64_GLOB_DAT): Likewise.
25551 (R_X86_64_JUMP_SLOT): Likewise.
25552 (R_X86_64_RELATIVE): Likewise.
25553 (R_X86_64_GOTPCREL): Likewise.
25554 (R_X86_64_32): Likewise.
25555 (R_X86_64_32S): Likewise.
25556 (R_X86_64_16): Likewise.
25557 (R_X86_64_PC16): Likewise.
25558 (R_X86_64_8): Likewise.
25559 (R_X86_64_PC8): Likewise.
25560
25561 * include/grub/i386/efi/pci.h: New file.
25562
25563 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
25564 Change it value based on platform.
25565 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
25566 (GRUB_E820_RAM): Likewise.
25567 (GRUB_E820_RESERVED): Likewise.
25568 (GRUB_E820_ACPI): Likewise.
25569 (GRUB_E820_NVS): Likewise.
25570 (GRUB_E820_EXEC_CODE): Likewise.
25571 (GRUB_E820_MAX_ENTRY): Likewise.
25572 (grub_e820_mmap): New structure.
25573 (linux_kernel_header): Change the efi field according to different
25574 kernel version, also field from linux_kernel_header.
25575
25576 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
25577
25578 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
25579 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
25580 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
25581 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
25582 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
25583 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
25584 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
25585 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
25586 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
25587 (GRUB_PCI_ADDR_IO_MASK): Likewise.
25588
25589 * include/grub/x86_64/efi/kernel.h: New file.
25590
25591 * include/grub/x86_64/efi/loader.h: Likewise.
25592
25593 * include/grub/x86_64/efi/machine.h: Likewise.
25594
25595 * include/grub/x86_64/efi/pci.h: Likewise.
25596
25597 * include/grub/x86_64/efi/time.h: Likewise.
25598
25599 * include/grub/x86_64/linux.h: Likewise.
25600
25601 * include/grub/x86_64/setjmp.h: Likewise.
25602
25603 * include/grub/x86_64/time.h: Likewise.
25604
25605 * include/grub/x86_64/types.h: Likewise.
25606
25607 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
25608 GRUB_TARGET_SIZEOF_VOID_P.
25609
25610 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
25611 (grub_efi_locate_handle): Likewise.
25612 (grub_efi_open_protocol): Likewise.
25613 (grub_efi_set_text_mode): Likewise.
25614 (grub_efi_stall): Likewise.
25615 (grub_exit): Likewise.
25616 (grub_reboot): Likewise.
25617 (grub_halt): Likewise.
25618 (grub_efi_exit_boot_services): Likewise.
25619 (grub_get_rtc): Likewise.
25620
25621 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
25622 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
25623 (grub_efi_allocate_pages): Wrap efi calls.
25624 (grub_efi_free_pages): Wrap efi calls.
25625 (grub_efi_get_memory_map): Wrap efi calls.
25626
25627 * kern/x86_64/dl.c: New file.
25628
25629 * kern/x86_64/efi/callwrap.S: Likewise.
25630
25631 * kern/x86_64/efi/startup.S: Likewise.
25632
25633 * loader/efi/appleloader.c: Likewise.
25634
25635 * loader/efi/chainloader.c (cmdline): New variable.
25636 (grub_chainloader_unload): Wrap efi calls.
25637 (grub_chainloader_boot): Likewise.
25638 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
25639 command line.
25640
25641 * loader/efi/chainloader_normal.c (chainloader_command):
25642 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
25643 command line.
25644
25645 * loader/i386/efi/linux.c (allocate_pages): Change allocation
25646 method.
25647 (grub_e820_add_region): New function.
25648 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
25649 booting.
25650 (grub_find_video_card): New function.
25651 (grub_linux_setup_video): New function.
25652 (grub_rescue_cmd_linux): Probe for video information.
25653
25654 * normal/x86_64/setjmp.S: New file.
25655
25656 * term/efi/console.c (map_char): New function.
25657 (grub_console_putchar): Map unicode char.
25658 (grub_console_checkkey): Wrap efi calls.
25659 (grub_console_getkey): Likewise.
25660 (grub_console_getwh): Likewise.
25661 (grub_console_gotoxy): Likewise.
25662 (grub_console_cls): Likewise.
25663 (grub_console_setcolorstate): Likewise.
25664 (grub_console_setcursor): Likewise.
25665
25666 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
25667
59652a20 256682008-07-16 Pavel Roskin <proski@gnu.org>
25669
ef294055 25670 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
25671 format strings.
25672
59652a20 25673 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
25674 pointer, not an integer. This fixes a warning and prevents
25675 precision loss on 64-bit systems.
25676 (relocate_addresses): Remove unneeded cast.
25677
afc3b5d7 256782008-07-15 Pavel Roskin <proski@gnu.org>
25679
506b2b3e 25680 * kern/i386/ieee1275/init.c: Include grub/cache.h.
25681
62ead89c 25682 * term/ieee1275/ofconsole.c: Disable code unused on i386.
25683
c4cd51d7 25684 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
25685 Fix comparison between signed and unsigned.
25686
0d3d8f28 25687 * include/grub/i386/ieee1275/console.h: Declare
25688 grub_console_init() and grub_console_fini().
25689
8804b286 25690 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
25691 It's empty and unused.
25692
ee01cf35 25693 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
25694 beginning to avoid warnings with some compilers.
25695
afc3b5d7 25696 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
25697 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
25698
e4e8eaa5 256992008-07-14 Pavel Roskin <proski@gnu.org>
25700
407aceb4 25701 * kern/env.c (grub_register_variable_hook): Don't copy empty
25702 string, it leaks memory. Pass "" to grub_env_set(), it should
25703 handle constant strings.
25704
e4e8eaa5 25705 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
25706 * commands/cmp.c (grub_cmd_cmp): Likewise.
25707 * kern/dl.c (grub_dl_flush_cache): Likewise.
25708 (grub_dl_load_core): Likewise.
25709 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
25710 (grub_elf64_load_phdrs): Likewise.
25711
d4e2dad3 257122008-07-13 Pavel Roskin <proski@gnu.org>
25713
25714 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
25715 between signed and unsigned.
25716 (LzmaEnc_Finish): Fix warning about an unused parameter.
25717
aa24b516 257182008-07-13 Bean <bean123ch@gmail.com>
25719
25720 * Makefile.in (enable_lzo): New rule.
25721
25722 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
25723
25724 * configure.ac (ENABLE_LZO): New option --enable-lzo.
25725
25726 * boot/i386/pc/lnxboot.S: #include <config.h>.
25727
25728 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 25729 its value according to the compression algorithm used, lzo or lzma.
aa24b516 25730
25731 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
25732 compression algorithm according to configure macro.
25733
25734 * kern/i386/pc/startup.S (codestart): Likewise.
25735
25736 * kern/i386/pc/lzma_decode.S: New file.
25737
25738 * include/grub/lib/LzFind.h: Likewise.
25739
25740 * include/grub/lib/LzHash.h: Likewise.
25741
25742 * include/grub/lib/LzmaDec.h: Likewise.
25743
25744 * include/grub/lib/LzmaEnc.h: Likewise.
25745
25746 * include/grub/lib/LzmaTypes.h: Likewise.
25747
25748 * lib/LzFind.c: Likewise.
25749
25750 * lib/LzmaDec.c: Likewise.
25751
25752 * lib/LzmaEnc.c: Likewise.
25753
4ae821ac 257542008-07-13 Bean <bean123ch@gmail.com>
25755
25756 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
25757 (grub_ext4_extent_header): New structure.
25758 (grub_ext4_extent): Likewise.
25759 (grub_ext4_extent_idx): Likewise.
25760 (grub_ext4_find_leaf): New function.
25761 (grub_ext2_read_block): Handle extents.
25762
9a745147 257632008-07-12 Robert Millan <rmh@aybabtu.com>
25764
25765 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
25766
d49a4cf6 257672008-07-11 Robert Millan <rmh@aybabtu.com>
25768
25769 * util/grub.d/40_custom.in: New file. Example on how to add custom
25770 entries to /etc/grub.d.
25771 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
25772 40_custom (implicitly, by merging all the grub.d rules).
25773
947414b4 257742008-07-11 Pavel Roskin <proski@gnu.org>
25775
0059cf6f 25776 * commands/read.c (grub_getline): Fix invalid memory access.
25777 Don't add newline to the variable value.
25778
947414b4 25779 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
25780 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
25781 (serial_hw_get_port): Check validity of the port number.
25782 (grub_cmd_serial): Check return value of serial_hw_get_port().
25783
62a02d00 257842008-07-07 Pavel Roskin <proski@gnu.org>
25785
25786 * boot/i386/pc/diskboot.S (notification_string): Replace
25787 "Loading kernel" with just "loading". This is shorter, less
25788 confusing and saves a few bytes for possible future changes.
25789
3e5581b0 257902008-07-05 Pavel Roskin <proski@gnu.org>
25791
ea387a48 25792 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
25793 size for ATAPI devices, they are undefined. Output sector
25794 number in decimal form.
25795
3e5581b0 25796 * disk/ata.c: Use named constants for status bits.
25797
fdecb8fd 257982008-07-04 Pavel Roskin <proski@gnu.org>
25799
bcd35b90 25800 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
25801 grub_addr_t before casting it to the void pointer to fix a
25802 warning. Non-addressable regions are discarded earlier.
25803 (grub_arch_modules_addr): Cast _end to grub_addr_t.
25804 * kern/i386/linuxbios/table.c: Include grub/misc.h.
25805 (check_signature): Don't shadow table_header.
25806 (grub_linuxbios_table_iterate): Cast numeric constants to
25807 grub_linuxbios_table_header_t.
25808 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
25809 grub_stop().
25810
af58ab3d 25811 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
25812 prevent warnings.
25813
1759aa57 25814 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
25815 pointer, which can cause warnings. Support 64-bit addresses.
25816
fdecb8fd 25817 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
25818 of sizeof(long). This fixes PowerPC image generation on x86_64.
25819
8516d2a8 258202008-07-04 Robert Millan <rmh@aybabtu.com>
25821
25822 This fixes a performance issue when pc & gpt partmap iterators
25823 didn't abort iteration even after our hook found what it was
fe987087 25824 looking for (often causing expensive probes of non-existent drives).
8516d2a8 25825
25826 Some callers relied on previous buggy behaviour, since they would
34c44600 25827 raise an error when their own hooks caused early abortion of its
8516d2a8 25828 iteration.
25829
25830 * kern/device.c (grub_device_open): Improve error message.
25831 * disk/lvm.c (grub_lvm_open): Likewise.
25832 * disk/raid.c (grub_raid_open): Likewise.
25833
25834 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
25835 when hook requests it, independently of grub_errno.
25836 (pc_partition_map_probe): Do not fail when find_func() caused
25837 early abortion of pc_partition_map_iterate().
25838
25839 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
25840 when hook requests it, independently of grub_errno.
25841 (gpt_partition_map_probe): Do not fail when find_func() caused
25842 early abortion of gpt_partition_map_iterate().
25843
25844 * kern/partition.c (grub_partition_iterate): Abort parent iteration
25845 when hook requests it, independently of grub_errno. Do not fail when
25846 part_map_iterate_hook() caused early abortion of p->iterate().
25847
25848 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
25849 when grub_partition_iterate() returned with non-zero.
25850
277d0de9 258512008-07-03 Pavel Roskin <proski@gnu.org>
25852
25853 * disk/ata.c (grub_ata_pio_write): Check status before writing,
25854 like we do in grub_ata_pio_read().
25855 (grub_ata_readwrite): Always write individual sectors. Fix the
25856 sector count for the remainder.
25857 (grub_ata_write): Enable writing to ATA devices. Correctly
25858 report error for ATAPI devices.
25859
d4c9b428 258602008-07-02 Pavel Roskin <proski@gnu.org>
25861
e43fc690 25862 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
25863 warning.
25864
f707af42 25865 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
25866 for every read sector, we already increment it for the whole
25867 batch. This fixes reading more than 256 sectors at once.
25868
11e16b15 25869 * util/grub-editenv.c (cmd_info): Cast argument to long
25870 explicitly. ptrdiff_t reduces to int on i386.
25871
cbabfdd4 25872 * util/grub-editenv.c (main): Be specific which parameter is
25873 missing.
25874
b8fbce0a 25875 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
25876 (memdisk): Make memdisk_orig_addr a pointer.
25877
c9c8e606 25878 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
25879 for file offsets, use grub_off_t instead. Fix printf format
25880 warnings.
25881
ca62e598 25882 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
25883 there. Real unexpected warnings should not drown in the noise
25884 about known problems.
25885
ce8d1766 25886 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
25887 grub_disk_addr_t for memory addresses.
25888
00c7a56a 25889 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
25890 explicitly to fix a warning.
25891
08d3ef09 25892 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
25893
cb71ba20 25894 * Makefile.in (MODULE_LDFLAGS): New variable.
25895 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
25896 the linker accepts --build-id=none.
25897 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
25898 MODULE_LDFLAGS.
25899 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
25900
d4c9b428 25901 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
25902 those in Linux XFS code. Provide a way to access 64-bit parent
25903 inode.
25904 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
25905 the end of struct grub_xfs_dir_header.
25906
d4156eee 259072008-07-02 Bean <bean123ch@gmail.com>
25908
25909 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
25910 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
25911 and GRUB_IEEE1275_FLAG_NO_ANSI.
25912
25913 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
25914 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
25915 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
25916
25917 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
25918 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
25919
25920 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
25921 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
25922
25923 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
25924 esc sequence on non ANSI terminal.
25925 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
25926
25927 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
25928 beginning of file.
25929
2270f77b 259302008-07-02 Bean <bean123ch@gmail.com>
25931
25932 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
25933 (grub_editenv_SOURCES): New variable.
25934 (pkglib_MODULES): Add loadenv.mod.
25935 (loadenv_mod_SOURCES): New variable.
25936 (loadenv_mod_CFLAGS): Likewise.
25937 (loadenv_mod_LDFLAGS): Likewise.
25938
25939 * include/grub/envblk.h: New file.
25940
25941 * util/envblk.c: New file.
25942
25943 * util/grub-editenv.c: New file.
25944
25945 * commands/loadenv.c: New file.
25946
0e9e51ec 259472008-07-01 Pavel Roskin <proski@gnu.org>
25948
d89b7634 25949 * include/multiboot2.h (struct multiboot_tag_module): Use char,
25950 not unsigned char. This fixes warnings and is consistent with
25951 other tags.
25952
bf1835b1 25953 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
25954
8222a04b 25955 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
25956
6a42d99d 25957 * term/tparm.c (analyze): Always set *popcount.
25958
10b159d1 25959 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
25960 cast to fix a warning.
25961
b8789f6c 25962 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
25963 cast to suppress a warning.
25964
29d7e38a 25965 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
25966 grub_fshelp_read_file() expects.
25967
f341f669 25968 * fs/fat.c: Fix UUID calculation on big-endian systems. We
25969 write uuid as a 32-bit value in CPU byte order, so declare and
25970 use it as such.
25971
0e9e51ec 25972 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
25973 long if the format specifier expects it.
25974 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
25975 * partmap/pc.c (pc_partition_map_iterate): Likewise.
25976 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
25977 long to fix a warning.
25978 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
25979 grub_dprintf() arguments to fix warnings.
25980
3aefa857 259812008-06-30 Pavel Roskin <proski@gnu.org>
25982
56c7668b 25983 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
25984 install_bsd_part immediately before core.img is embedded or
25985 modified on disk. This fixes core.img verification if core.img
25986 cannot be embedded.
25987
3aefa857 25988 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
25989 core_path to calculate the blocklist.
25990 Patch from Javier Martín <lordhabbit@gmail.com>
25991
5444088d 259922008-06-29 Robert Millan <rmh@aybabtu.com>
25993
25994 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
25995 block to disk block.
25996 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
25997 Patch from Niels Böhm <bitbucket@arcor.de>
25998
674835c8 259992008-06-29 Robert Millan <rmh@aybabtu.com>
26000
26001 * util/update-grub_lib.in (font_path): Search for fonts in
26002 /boot/grub first, which is more likely to be readable (we aren't
26003 deciding where fonts live, just looking for them).
26004
f527dbc8 260052008-06-26 Pavel Roskin <proski@gnu.org>
26006
6c2d8df6 26007 * util/biosdisk.c (read_device_map): Don't leave dead map
26008 entries for devices failing stat() check.
26009
f527dbc8 26010 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
26011 core_path_dev for the core.img path on the target device.
26012
aebe3d13 260132008-06-26 Robert Millan <rmh@aybabtu.com>
26014
26015 * disk/fs_uuid.c: New file.
26016 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
26017 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
26018 (fs_uuid_mod_LDFLAGS): New variables.
26019 * include/grub/disk.h (grub_disk_dev_id): Add
26020 `GRUB_DISK_DEVICE_UUID_ID'.
26021 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
26022 implement iterate().
26023
37aaf354 260242008-06-26 Robert Millan <rmh@aybabtu.com>
26025
26026 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
26027 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
26028 Linux image includes no initrd.
26029
25ff262a 260302008-06-21 Javier Martín <lordhabbit@gmail.com>
26031
26032 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
26033 call to resolve the core image location that effectively appended the
26034 name twice.
26035
76a2bd44 260362008-06-21 Robert Millan <rmh@aybabtu.com>
26037
26038 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
26039 call from here ...
26040
26041 * util/grub.d/10_hurd.in: ... to here ...
26042 * util/grub.d/10_linux.in: ... and here.
26043
650e1c79 260442008-06-19 Robert Millan <rmh@aybabtu.com>
26045
fe987087 26046 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 26047 after it has been set by grub_machine_set_prefix().
26048
6ce63911 260492008-06-19 Robert Millan <rmh@aybabtu.com>
26050
26051 * commands/search.c (search_label, search_fs_uuid, search_file): Print
26052 search result when not saving to variable, not the other way around.
26053 When saving to variable, abort iteration as soon as a match is found.
26054
73940cec 260552008-06-19 Robert Millan <rmh@aybabtu.com>
26056
26057 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
26058 check for partition that provides /boot/grub. Its logic is flawed,
26059 as it prevents prepare_grub_to_access_device() from being called
26060 multiple times.
26061
3c62a39d 260622008-06-19 Robert Millan <rmh@aybabtu.com>
26063
26064 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
26065 "insmod" command directly when abstraction modules are needed,
fe987087 26066 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 26067 since it had already been processed).
26068
47395a42 260692008-06-19 Pavel Roskin <proski@gnu.org>
26070
26071 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
26072 changed. This is needed in case GRUB_LIBDIR changes.
26073 * conf/i386-ieee1275.rmk: Likewise.
26074 * conf/i386-linuxbios.rmk: Likewise.
26075 * conf/i386-pc.rmk: Likewise.
26076 * conf/powerpc-ieee1275.rmk: Likewise.
26077
a145ac2d 260782008-06-18 Pavel Roskin <proski@gnu.org>
26079
26080 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
26081 kernel_elf_symlist.c to symlist.c for consistency with other
26082 architectures. Update all users.
26083 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26084
7847c51e 260852008-06-18 Robert Millan <rmh@aybabtu.com>
26086
26087 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
26088 it in prefix.
26089
26090 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
26091 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
26092 a RAID device, run setup() for all members independently on whether
26093 LVM abstraction is being used.
26094 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
26095 If grub-mkimage has set `*install_dos_part == -2', don't override this
26096 value.
26097 Perform *install_dos_part adjustments independently on whether
26098 we're embedding or not.
26099 Clarify error message when image is too big for embedding.
26100 Remove duplicate *install_dos_part stanza.
26101
b23e5644 261022008-06-17 Robert Millan <rmh@aybabtu.com>
26103
26104 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
26105 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
26106 variables.
26107 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
26108 values in grub_ofconsole_normal_color and
26109 grub_ofconsole_highlight_color (they're not directly related to
26110 background and foreground).
26111 (grub_ofconsole_setcolorstate): Extract background and foreground
26112 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
26113
0aac2f79 261142008-06-17 Robert Millan <rmh@aybabtu.com>
26115
26116 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
26117 /boot/grub for the check in last commit, not /boot (they could be
26118 different partitions).
26119
3cca7ef3 261202008-06-16 Robert Millan <rmh@aybabtu.com>
26121
26122 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
26123 asked to setup access for the same partition that provides /boot,
26124 don't bother using UUIDs since our root already has the value we
26125 want.
26126
347396d8 261272008-06-16 Robert Millan <rmh@aybabtu.com>
26128
26129 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
26130 I2O devices.
26131 Patch from Sven Mueller <sven@debian.org>.
26132
991477f8 261332008-06-16 Robert Millan <rmh@aybabtu.com>
26134
26135 * util/update-grub.in: Check for $EUID instead of $UID.
26136 Reported by Vincent Zweije.
26137
d31a32a1 261382008-06-16 Bean <bean123ch@gmail.com>
26139
fe987087 26140 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 26141 (grub_ext2_read_block): Likewise.
26142 (grub_ext2_read_inode): Likewise.
26143 (grub_ext2_mount): Likewise.
26144 (grub_ext2_close): Likewise.
26145 (grub_ext3_get_journal): Removed.
26146
fe987087 26147 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 26148 (grub_reiserfs_read_symlink): Likewise.
26149 (grub_reiserfs_mount): Likewise.
26150 (grub_reiserfs_open): Likewise.
26151 (grub_reiserfs_read): Likewise.
26152 (grub_reiserfs_close): Likewise.
26153 (grub_reiserfs_get_journal): Removed.
26154
26155 * fs/fshelp.c (grub_fshelp_read): Removed.
26156 (grub_fshelp_map_block): Likewise.
26157
26158 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
26159 (grub_fshelp_journal): Likewise.
26160 (grub_fshelp_read): Likewise.
26161 (grub_fshelp_map_block): Likewise.
26162
3540a760 261632008-06-16 Pavel Roskin <proski@gnu.org>
26164
26165 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
26166 floating point anymore.
26167 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
26168
95614c84 261692008-06-15 Pavel Roskin <proski@gnu.org>
26170
26171 * commands/ls.c (grub_ls_list_files): Use integer calculations
26172 for human readable format, avoid floating point use.
26173 * kern/misc.c (grub_ftoa): Remove.
26174 (grub_vsprintf): Remove floating point support.
26175
50465dd6 261762008-06-15 Robert Millan <rmh@aybabtu.com>
26177
fe6b695a 26178 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 26179 devices.
26180 Reported by Max Vozeler.
26181
a9207284 261822008-06-15 Robert Millan <rmh@aybabtu.com>
26183
26184 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
26185 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
26186 skipped later.
26187 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
26188 the beginning of the prefix.
26189
26190 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
26191 It is assumed that if we have a memdisk, grub-mkimage has set
26192 grub_prefix to include the "(memdisk)" drive in it.
26193
a7cbd45a 261942008-06-15 Robert Millan <rmh@aybabtu.com>
26195
26196 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
26197 Initialize keyboard controller after registering the terminal, so that
26198 grub_printf() can be called from grub_keyboard_controller_init().
26199
21cf716a 262002008-06-15 Robert Millan <rmh@aybabtu.com>
26201
26202 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
26203 extent-btree which is written as big endian on disk.
26204 Reported by Alain Greppin <al@chilibi.org>.
26205
23a64d8e 262062008-06-14 Robert Millan <rmh@aybabtu.com>
26207
26208 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
26209 * util/i386/pc/grub-install.in (modules): Likewise.
26210
d687651c 262112008-06-13 Pavel Roskin <proski@gnu.org>
26212
26213 * commands/ls.c (grub_ls_list_files): Fix format warnings.
26214
dfe9ddd4 262152008-06-13 Bean <bean123ch@gmail.com>
26216
26217 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
26218
26219 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
26220
26221 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
26222 to indicate sparse block.
26223
16ae7781 262242008-06-12 Pavel Roskin <proski@gnu.org>
26225
e6d1a308 26226 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
26227 number, grub_fshelp_read() does it for us.
26228
16ae7781 26229 * fs/fshelp.c (grub_fshelp_read): New function. Implement
26230 linear disk read with journal translation.
26231 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
26232 * include/grub/fshelp.h: Declare grub_fshelp_read().
26233
40fd3a2b 262342008-06-09 Pavel Roskin <proski@gnu.org>
26235
26236 * fs/minix.c (grub_minix_mount): Handle error reading
26237 superblock.
26238
f5679726 262392008-06-08 Robert Millan <rmh@aybabtu.com>
26240
26241 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
26242 don't append the RAID prefix afterwards.
26243 Reported by Clint Adams.
26244
ce525529 262452008-06-08 Robert Millan <rmh@aybabtu.com>
26246
26247 Based on description from Pavel:
26248 * kern/disk.c (grub_disk_check_range): Rename to ...
26249 (grub_disk_adjust_range): ... this. Add a comment explaining the
26250 tasks performed by this function.
26251
ad4936a0 262522008-06-08 Robert Millan <rmh@aybabtu.com>
26253
26254 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
26255 `num_serial' (for consistency with other variables).
26256 (struct grub_ntfs_data): Add `uuid' member.
26257 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
26258 (grub_ntfs_uuid): New function.
26259 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
26260
dc20b0f9 262612008-06-07 Pavel Roskin <proski@gnu.org>
26262
26263 * util/biosdisk.c (open_device): Revert last change to the
26264 function, it broke installation. The sector needs to be
26265 different dependent on which device is opened.
26266
c5e3cfba 262672008-06-06 Robert Millan <rmh@aybabtu.com>
26268
26269 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
26270 rest of GRUB, and breakage doesn't happen if its value were modified.
26271
26272 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26273 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
26274 a constant (same value).
26275 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
26276 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
26277
26a1f8c4 262782008-06-06 Robert Millan <rmh@aybabtu.com>
26279
26280 * util/biosdisk.c (open_device): Do not modify sector offset when
26281 accessing a partition. kern/disk.c already handles this for us.
26282
25d6b327 262832008-06-06 Robert Millan <rmh@aybabtu.com>
26284
26285 * util/grub-emu.c (grub_machine_init): Move code in this function from
26286 here ...
26287 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
26288 segfault in case grub_printf() is called).
26289
26290 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
26291 grub_probe. Update all users not to explicitly add it again.
26292 (grub_device): New variable; contains corresponding device for grubdir.
26293 (fs_module, partmap_module, devabstraction_module): Pass
26294 `--device ${grub_device}' to grub_probe to avoid traversing /dev
26295 every time.
26296
9ece62fb 262972008-06-05 Robert Millan <rmh@aybabtu.com>
26298
26299 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
26300 is found, print it (same layout as with labels).
26301
1ad36d37 263022008-06-04 Robert Millan <rmh@aybabtu.com>
26303
26304 * util/biosdisk.c (get_drive): Rename to ...
26305 (find_grub_drive): ... this. Update all users.
26306
26307 (get_os_disk): Rename to ...
26308 (convert_system_partition_to_system_disk): ... this. Update all users.
26309
26310 (find_drive): Rename to ...
26311 (find_system_device): ... this. Update all users.
26312
e6a30859 263132008-06-04 Robert Millan <rmh@aybabtu.com>
26314
26315 * util/biosdisk.c (get_os_disk): Handle IDA devices.
26316 * util/grub-mkdevicemap.c (get_mmc_disk_name)
26317 (make_device_map): Likewise.
26318
00c108a4 263192008-06-01 Robert Millan <rmh@aybabtu.com>
26320
26321 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
26322 before dereferencing it.
26323
26324 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
26325 union with fat12/fat16-specific ones. Add some new fields, including
26326 `num_serial' for both versions.
26327 (struct grub_fat_data): Add `uuid' member.
26328 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
26329 names. Initialize `data->uuid' using `num_serial'.
26330 (grub_fat_uuid): New function.
26331 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
26332
26333 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
26334 (grub_reiserfs_uuid): New function.
26335 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
26336 member.
26337
26338 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
26339 (grub_xfs_uuid): New function.
26340 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
26341
1385c5bb 263422008-06-01 Robert Millan <rmh@aybabtu.com>
26343
26344 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
26345 code that is backward compatible with pre-uuid search command.
26346
c682dfd7 263472008-05-31 Robert Millan <rmh@aybabtu.com>
26348
26349 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
26350 floppies after everything else, to ensure floppy drive isn't accessed
26351 unnecessarily (patch from Bean).
26352
b7db5d47 263532008-05-31 Robert Millan <rmh@aybabtu.com>
26354
26355 * commands/search.c (search_label, search_fs_uuid, search_file): Do
26356 not print device names when we were asked to set a variable.
26357
6e037aa9 263582008-05-31 Robert Millan <rmh@aybabtu.com>
26359
26360 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
26361 using "cursor-on" and "cursor-off" commands (understood at least by
26362 the Open Firmware flavour on OLPC).
26363
41305bc8 263642008-05-31 Michael Gorven <michael@gorven.za.net>
26365
26366 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
26367 on and off sequences.
26368
69ba137e 263692008-05-31 Robert Millan <rmh@aybabtu.com>
26370
26371 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
26372 * util/update-grub.in: Likewise.
26373
520ae21b 263742008-05-30 Pavel Roskin <proski@gnu.org>
26375
26376 * util/biosdisk.c (linux_find_partition): Simplify logic and
26377 make the code more universal. Keep special processing for
26378 devfs, but use a simple rule for all other devices. If the
26379 device ends with a number, append 'p' and the partition number.
26380 Otherwise, append only the partition number.
26381
5786569b 263822008-05-30 Robert Millan <rmh@aybabtu.com>
26383
26384 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
26385 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
26386 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
26387 the `root' parameter to Linux.
26388
51500452 263892008-05-30 Robert Millan <rmh@aybabtu.com>
26390
26391 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
26392 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
26393 --fs_uuid with --fs-uuid.
26394 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
26395 all filesystems support them).
26396
811d3878 263972008-05-30 Robert Millan <rmh@aybabtu.com>
26398
26399 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 26400 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 26401
cab63c95 264022008-05-30 Robert Millan <rmh@aybabtu.com>
26403
26404 * util/grub.d/00_header.in: Remove obsolete comment referencing
26405 convert_system_path_to_grub_path().
26406 * util/update-grub.in: Likewise.
26407 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
26408 (convert_system_path_to_grub_path): Add a warning message explaining
26409 that this function is deprecated. Rely on is_path_readable_by_grub()
26410 for the readability checks.
26411 (font_path): Use is_path_readable_by_grub() for the readability
26412 check rather than convert_system_path_to_grub_path().
26413
972e2f7a 264142008-05-30 Robert Millan <rmh@aybabtu.com>
26415
26416 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
26417 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
26418 converting it first.
26419 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
26420 grub.cfg for access to font file, and afterwards call it again to set
26421 the root device.
26422
62191274 264232008-05-30 Robert Millan <rmh@aybabtu.com>
26424
26425 * commands/search.c (options): Add --fs_uuid option.
26426 (search_fs_uuid): New function.
26427 (grub_cmd_search): Fix --set argument passing.
26428 Use search_fs_uuid() when requested via --fs_uuid.
26429 (grub_search_init): Update help message.
26430 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
26431 and redeclare it as an array of 16-bit words.
26432 (grub_ext2_uuid): New function.
26433 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
26434 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
26435 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
26436 (GRUB_DEVICE_BOOT_UUID): New variables.
26437 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
26438 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
26439 whenever possible.
26440 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
26441 just assume `root' variable has the right value.
26442 * util/grub.d/10_linux.in: Likewise.
26443 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
26444 via PRINT_FS_UUID.
26445 (main): Recognise `-t fs_uuid' argument.
26446
01b73ec8 264472008-05-30 Robert Millan <rmh@aybabtu.com>
26448
26449 * util/biosdisk.c (map): Redefine structure to hold information
26450 about GRUB drive name.
fe6b695a 26451 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 26452 drive names.
26453 (call_hook): Remove.
26454 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
26455 member. Assume drive has partitions.
26456 (grub_util_biosdisk_open): Access device names via `.device' struct
26457 member.
26458 (open_device): Likewise.
26459 (find_drive): Likewise.
26460 (read_device_map): Adjust map[] usage to match the new struct
26461 definition. Don't check for duplicates (still possible, but not cheap
26462 anymore).
26463 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
26464 (make_device_name): Remove assumption of BIOS-like drive names.
26465
22f16596 264662008-05-30 Pavel Roskin <proski@gnu.org>
26467
26468 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
26469 compiling execute.c doesn't need grub_script.tab.h anymore.
26470 (normal/command.c_DEPENDENCIES): Likewise.
26471 (normal/function.c_DEPENDENCIES): Likewise.
26472 * conf/i386-ieee1275.rmk: Likewise.
26473 * conf/i386-linuxbios.rmk: Likewise.
26474 * conf/i386-pc.rmk: Likewise.
26475 * conf/powerpc-ieee1275.rmk: Likewise.
26476 * conf/sparc64-ieee1275.rmk: Likewise.
26477
528ad8f2 264782008-05-29 Pavel Roskin <proski@gnu.org>
26479
d1dff95d 26480 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
26481 when scanning metadata for volume group name.
26482
528ad8f2 26483 * include/grub/script.h: Don't include grub_script.tab.h. It's
26484 a generated file, which may only be included from the files with
26485 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
26486 use union YYSTYPE, as the later allows forward declaration.
26487 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
26488
47248e08 264892008-05-29 Robert Millan <rmh@aybabtu.com>
26490
26491 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
26492 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
26493 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
26494 (grub_console_checkkey): Add grub_dprintf() call to report unknown
26495 scan codes.
26496
ee632529 264972008-05-29 Robert Millan <rmh@aybabtu.com>
26498
26499 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
26500 control key combinations.
26501
eee96e08 265022008-05-29 Robert Millan <rmh@aybabtu.com>
26503
26504 * util/powerpc/ieee1275/grub-install.in: Move from here ...
26505 * util/ieee1275/grub-install.in: ... to here.
26506 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
26507 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
26508 (grub_install_SOURCES): Likewise.
26509
da9a6a94 265102008-05-29 Robert Millan <rmh@aybabtu.com>
26511
26512 * fs/affs.c: Update copyright year.
26513 * fs/ext2.c: Likewise.
26514 * fs/fshelp.c: Likewise.
26515 * fs/hfsplus.c: Likewise.
26516 * fs/ntfs.c: Likewise.
26517 * fs/xfs.c: Likewise.
26518 * include/grub/fshelp.h: Likewise.
26519 * util/grub-mkdevicemap.c: Likewise.
26520
12e65f3a 265212008-05-28 Robert Millan <rmh@aybabtu.com>
26522
26523 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
26524 might need to be fatfs to support some firmware implementations
26525 (e.g. OFW or EFI).
26526
23023641 265272008-05-28 Robert Millan <rmh@aybabtu.com>
26528
26529 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
26530 devices.
26531 * util/grub-mkdevicemap.c (get_mmc_disk_name)
26532 (make_device_map): Likewise.
26533
887d2619 265342008-05-20 Bean <bean123ch@gmail.com>
26535
26536 * fs/fshelp.c (grub_fshelp_map_block): New function.
26537 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
26538 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
26539
26540 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
26541 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
26542 (grub_fshelp_journal): New structure.
26543 (grub_fshelp_map_block): New function prototype.
26544 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
26545 (grub_fshelp_map_block): Likewise.
26546
26547 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
26548 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
26549 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
26550 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
26551 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
26552 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
26553 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
26554 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
26555 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
26556 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
26557 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
26558 (grub_ext2_sblock): New members for journal support.
26559 (grub_ext3_journal_header): New structure.
26560 (grub_ext3_journal_revoke_header): Likewise.
26561 (grub_ext3_journal_block_tag): Likewise.
26562 (grub_ext3_journal_sblock): Likewise.
26563 (grub_fshelp_node): New members logfile and journal.
26564 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
26565 grub_fshelp_map_block to get real block number.
26566 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
26567 number.
26568 (grub_ext2_read_inode): Likewise.
26569 (grub_ext3_get_journal): New function.
26570 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
26571 (grub_ext2_close): Release memory used by journal.
26572
26573 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
26574 (REISERFS_MAGIC_DESC_BLOCK): New macro.
26575 (grub_reiserfs_transaction_header): Renamed to
26576 grub_reiserfs_description_block, replace field data with real_blocks.
26577 (grub_reiserfs_commit_block): New structure.
26578 (grub_reiserfs_data): New member journal.
26579 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
26580 number.
26581 (grub_reiserfs_read_symlink): Likewise.
26582 (grub_reiserfs_iterate_dir): Likewise.
26583 (grub_reiserfs_open): Likewise.
26584 (grub_reiserfs_read): Likewise.
26585 (grub_reiserfs_get_journal): New function.
26586 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
26587 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
26588 using grub_reiserfs_get_journal.
26589 (grub_reiserfs_close): Release memory used by journal.
26590
26591 * fs/affs.c (grub_affs_read_block): Change block type to
26592 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
26593
26594 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
26595
26596 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
26597
26598 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
26599
26600 * fs/udf.c (grub_udf_read_block): Change block type to
26601 grub_disk_addr_t. Use type cast to avoid warning.
26602
26603 * fs/xfs.c (grub_xfs_read_block): Likewise.
26604
b7c6bed5 266052008-05-16 Christian Franke <franke@computer.org>
26606
26607 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
26608 to ensure that break with ESC will always work.
26609 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
26610 Remove ESC from keyboard queue.
26611
eedf167f 266122008-05-16 Christian Franke <franke@computer.org>
26613
26614 * util/biosdisk.c: [__CYGWIN__] Add includes.
26615 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
26616 (get_os_disk): Move variable declarations to OS specific
26617 parts to avoid warning.
26618 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
26619 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
26620 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
26621 Cygwin.
26622 * util/getroot.c: [__CYGWIN__] Add includes.
26623 (strip_extra_slashes): Fix "/" case.
26624 [__CYGWIN__] (get_win32_path): New function.
26625 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
26626 [__CYGWIN__] (find_root_device): Disable.
26627 [__CYGWIN__] (get_bootsec_serial): New function.
26628 [__CYGWIN__] (find_cygwin_root_device): Likewise.
26629 [__linux__] (grub_guess_root_device): Add early returns to simplify
26630 structure.
26631 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
26632 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
26633 check for Linux only.
26634
a079699e 266352008-05-15 Bean <bean123ch@gmail.com>
26636
26637 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
26638 keyboard hang problem in apple's intel mac.
26639
1cf4059a 266402008-05-09 Robert Millan <rmh@aybabtu.com>
26641
26642 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
26643 devices.
26644 * util/grub-mkdevicemap.c (get_virtio_disk_name)
26645 (make_device_map): Likewise.
26646 Reported by Aurelien Jarno <aurel32@debian.org>
26647
ed759390 266482008-05-07 Ian Campbell <ijc@hellion.org.uk>
26649
26650 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
26651 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
26652 (make_device_map): Output entries for xvd type disks.
26653
b56c4eaa 266542008-05-07 Robert Millan <rmh@aybabtu.com>
26655
26656 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
26657 devices.
26658 * util/grub-mkdevicemap.c (get_cciss_disk_name)
26659 (make_device_map): Likewise.
26660 Reported by Roland Dreier <rdreier@cisco.com>
26661
7f8866ed 266622008-05-07 Robert Millan <rmh@aybabtu.com>
26663
26664 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
26665 grub_strstr() call. Correct a few mistakes in failure path handling.
26666
b0346e0f 266672008-05-06 Robert Millan <rmh@aybabtu.com>
26668
26669 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
26670 Do not print a trailing slash (therefore, the root directory is an
26671 empty string).
26672 (convert_system_path_to_grub_path): Do not remove trailing slash
26673 from make_system_path_relative_to_its_root() output.
26674
26675 * util/i386/pc/grub-install.in: Add trailing slash to output from
26676 make_system_path_relative_to_its_root().
26677
6cf12cbd 266782008-05-06 Robert Millan <rmh@aybabtu.com>
26679
26680 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
26681 ensures that output lines aren't intermangled with those sent to
26682 stderr (via grub_util_info()).
26683 * util/grub-probe.c (grub_refresh): Likewise.
26684 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
26685
0fbb3117 266862008-05-05 Christian Franke <franke@computer.org>
26687
26688 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
26689 Add Cygwin device names.
26690 (get_ide_disk_name) [__CYGWIN__]: Likewise.
26691 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
26692 (check_device): Return error instead of success on empty name.
26693 (make_device_map): Move label inside linux specific code to
26694 prevent compiler warning.
26695
8124cdb7 266962008-04-30 Robert Millan <rmh@aybabtu.com>
26697
26698 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
26699 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
26700 first boot option.
26701 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
26702
094c01d0 267032008-04-29 Robert Millan <rmh@aybabtu.com>
26704
26705 * docs/grub.cfg: New file (example GRUB configuration).
26706
f4b1fc02 267072008-04-26 Robert Millan <rmh@aybabtu.com>
26708
329ce2a5 26709 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
26710 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
26711 and `disk/ieee1275/nand.c'.
f4b1fc02 26712
25f16ec1 267132008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 26714
25f16ec1 26715 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
26716 i386-linuxbios.
26717
26718 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
26719 change the buffer size to 4096 for cdrom device.
26720
26721 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
26722 and nand.mod.
26723 (_linux_mod_SOURCES): New variable.
26724 (_linux_mod_CFLAGS): Likewise.
26725 (_linux_mod_LDFLAGS): Likewise.
26726 (linux_mod_SOURCES): Likewise.
26727 (linux_mod_CFLAGS): Likewise.
26728 (linux_mod_LDFLAGS): Likewise.
26729 (nand_mod_SOURCES): Likewise.
26730 (nand_mod_CFLAGS): Likewise.
26731 (nand_mod_LDFLAGS): Likewise.
26732
26733 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
26734 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
26735 type property. (nand device in olpc don't have this property)
26736
26737 * include/grub/disk.h (grub_disk_dev_id): New macro
26738 GRUB_DISK_DEVICE_NAND_ID.
26739
26740 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
26741 function prototype.
26742 (grub_rescue_cmd_initrd): Likewise.
26743
26744 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
26745 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
26746 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 26747
25f16ec1 26748 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
26749 GRUB_MACHINE_IEEE1275 is defined.
26750
26751 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
26752 Use NESTED_FUNC_ATTR attribute on the hook parameter.
26753
26754 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
26755 on nested function heap_init.
26756 (grub_upper_mem): New variable for i386-ieee1275.
26757 (grub_get_extended_memory): New function for i386-ieee1275.
26758 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
26759
26760 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
26761 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
26762 property.
f19dbdb7 26763
25f16ec1 26764 * loader/i386/ieee1275/linux.c: New file.
26765
26766 * loader/i386/ieee1275/linux_normal.c: New file.
26767
26768 * disk/ieee1275/nand.c: New file.
26769
e89d61e9 267702008-04-18 Thomas Schwinge <tschwinge@gnu.org>
26771
26772 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
26773 value.
26774 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
26775
602566f6 267762008-04-18 Robert Millan <rmh@aybabtu.com>
26777
26778 Restructures early code path on ieee1275 to unify grub_main() as
26779 the first C function that is executed in every platform.
26780
26781 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
26782 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
26783 cmain().
26784 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
26785 * kern/ieee1275/cmain.c (cmain): Rename to ...
26786 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
26787 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
26788 at the beginning.
26789
57490c2b 267902008-04-18 Robert Millan <rmh@aybabtu.com>
26791
26792 * util/update-grub.in: Fix syntax error when setting
26793 `GRUB_PRELOAD_MODULES'.
26794 Reported by Stephane Chazelas <stephane@artesyncp.com>
26795
1977517d 267962008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
26797
26798 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
26799 section into account, newer toolchains generate unique build ids
26800 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 26801 we want build ids to be preserved
1977517d 26802 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
26803 far from other sections don't cause the raw binary images grow
26804 size
26805
bfb1f1a2 268062008-04-15 Robert Millan <rmh@aybabtu.com>
26807
26808 * disk/lvm.c: Update copyright year.
26809 * kern/misc.c: Likewise.
26810
01979850 268112008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
26812
26813 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 26814 there is no memory left for physical volume name.
01979850 26815
0a1150e2 268162008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
26817
26818 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
26819 volume name mapping to support bigger than 9 character names properly.
26820
82ead3fe 268212008-04-13 Robert Millan <rmh@aybabtu.com>
26822
26823 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
26824 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
26825
e54a72f5 268262008-04-13 Christian Franke <franke@computer.org>
26827
26828 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
26829 to create a floppy emulation boot CD when non emulation mode
26830 does not work.
26831 Enable Joliet CD filesystem extension.
26832
9fe86034 268332008-04-13 Robert Millan <rmh@aybabtu.com>
26834
26835 * kern/misc.c (grub_strncat): Fix off-by-one error.
26836 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
26837
26838 * kern/env.c (grub_env_context_close): Clear current context, not
26839 previous one.
26840 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
26841
26842 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
26843
7ceeee39 268442008-04-13 Robert Millan <rmh@aybabtu.com>
26845
26846 Improve robustness when handling LVM.
26847
26848 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 26849 (and leave `*p' unmodified).
7ceeee39 26850 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
26851 through it.
26852 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
26853 iterating through it.
26854 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
26855 through it.
fe6b695a 26856 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 26857 when due) on each grub_lvm_getvalue() or grub_strstr() call.
26858 Don't assume `vg->pvs != NULL' when iterating through it.
26859
58cd3d85 268602008-04-13 Robert Millan <rmh@aybabtu.com>
26861
26862 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
26863 * genmk.rb (partmap): New variable.
26864 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
26865 (#{partmap}): New target rule.
26866 * genpartmaplist.sh: New file.
26867 * Makefile.in (pkglib_DATA): Add partmap.lst.
26868 (partmap.lst): New target rule.
26869 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
26870 modules (including all partition maps), instead of preloading them.
26871
78b51059 268722007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
26873
26874 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
26875 `linux-boot-prober' (if installed) to detect other operating
26876 systems which are installed on the computer and add them to
26877 the boot menu.
26878 * conf/common.rmk: Build and install 30_os-prober.
26879
a91627b4 268802008-04-12 Robert Millan <rmh@aybabtu.com>
26881
26882 * kern/powerpc/ieee1275/init.c: Move from here ...
26883 * kern/ieee1275/init.c: ... to here. Update all users.
26884
26885 * kern/powerpc/ieee1275/cmain.c: Move from here ...
26886 * kern/ieee1275/cmain.c: ... to here. Update all users.
26887
26888 * kern/powerpc/ieee1275/openfw.c: Move from here ...
26889 * kern/ieee1275/openfw.c: ... to here. Update all users.
26890
26891 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
26892 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
26893
322562ea 268942008-04-10 Pavel Roskin <proski@gnu.org>
26895
26896 * configure.ac: Always use "_cv_" in cache variables for
26897 compatibility with Autoconf 2.62.
26898
a02a73c5 268992008-04-07 Robert Millan <rmh@aybabtu.com>
26900
26901 Revert grub/machine/init.h addition by Pavel (since it breaks on
26902 i386-ieee1275 and others):
26903 * util/i386/pc/misc.c: Remove grub/machine/init.h.
26904 * util/powerpc/ieee1275/misc.c: Likewise.
26905
25c024b1 269062008-04-07 Robert Millan <rmh@aybabtu.com>
26907
26908 * util/grub-probe.c (probe): Improve error message.
26909
3cbd2f98 269102008-04-07 Robert Millan <rmh@aybabtu.com>
26911
26912 * util/biosdisk.c (read_device_map): Skip devices that don't exist
26913 (this prevents the presence of a bogus entry from ruining the whole
26914 thing).
26915
87a297bf 269162008-04-06 Pavel Roskin <proski@gnu.org>
26917
36747a62 26918 * util/biosdisk.c: Include grub/util/biosdisk.h.
26919 * util/grub-fstest.c (execute_command): Make static.
26920 * util/grub-mkdevicemap.c (check_device): Likewise.
26921 * util/i386/pc/misc.c: Include grub/machine/init.h.
26922 * util/powerpc/ieee1275/misc.c: Likewise.
26923 * util/lvm.c: Include grub/util/lvm.h.
26924 * util/misc.c: Include grub/kernel.h, grub/misc.h and
26925 grub/cache.h.
26926 * util/raid.c: Include grub/util/raid.h.
26927 (grub_util_getdiskname): Make static.
26928
87a297bf 26929 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
26930 grub_hostfs_fini(), as they are called from grub_init_all() and
26931 grub_fini_all() respectively. This fixes an infinite loop in
26932 grub-fstest due to double registration of hostfs.
26933 Reported by Christian Franke <Christian.Franke@t-online.de>
26934
f6ce7629 269352008-04-05 Pavel Roskin <proski@gnu.org>
26936
26937 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
26938 all 8 functions. Otherwise, probe function 0 only.
26939
070e49e4 269402008-04-04 Pavel Roskin <proski@gnu.org>
26941
8b088a4c 26942 * commands/lspci.c (grub_lspci_iter): Print the bus number
26943 correctly.
26944
4f657021 26945 * commands/lspci.c (grub_pci_classes): Fix typos.
26946 (grub_lspci_iter): Don't print func twice. Print vendor ID
26947 before device ID, as it's normally done.
26948
070e49e4 26949 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
26950 Fix signedness warnings.
26951 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
26952 Likewise.
26953 * util/ieee1275/get_disk_name.c: Include config.h so that
26954 _GNU_SOURCE is defined and getline() is declared. Mark an
26955 unused argument as such. Fix a signedness warning.
26956
ba7328dc 269572008-04-02 Pavel Roskin <proski@gnu.org>
26958
26887f22 26959 * genkernsyms.sh.in: Use more robust assignments for CC and
26960 srcdir. Quote srcdir.
26961 * gensymlist.sh.in: Likewise. Assert at the compile time that
26962 the symbol table is not empty.
26963
ba7328dc 26964 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
26965 * fs/cpio.c (grub_cpio_read): Likewise.
26966
0f582c6b 269672008-04-01 Pavel Roskin <proski@gnu.org>
26968
4b6e1995 26969 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
26970 * disk/host.c (grub_host_open): Likewise.
26971 * disk/loopback.c (grub_loopback_open): Likewise.
26972 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
26973 disk->id as in disk/host.c, not a multi-character constant.
26974
828a2768 26975 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
26976 later is obsolete, potentially dangerous and sets a bad example.
26977 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
26978 * util/misc.c (grub_util_get_image_size): Likewise.
26979
2bb4fb47 26980 * disk/loopback.c (options): Improve help for "--partitions".
26981
0f582c6b 26982 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
26983 options to align them with the short options, e.g. "echo -e".
26984
a33224e0 269852008-03-31 Bean <bean123ch@gmail.com>
26986
26987 * video/reader/png.c (grub_png_data): New member is_16bit and
26988 image_data.
26989 (grub_png_decode_image_header): Detect 16 bit png image.
26990 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
26991 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
26992 (grub_video_reader_png): Release memory occupied by image_data.
26993
26994 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
26995 4096 bytes.
26996 (grub_nfs_mount): Skip the test for sector per cluster.
26997
26998 * include/grub/ntfs.h (MAX_SPC): Removed.
26999
86cb4f54 270002008-03-31 Bean <bean123ch@gmail.com>
27001
27002 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
27003 (grub_probe_SOURCES): Add fs/afs.c.
27004 (grub_fstest_SOURCES): Likewise.
27005 (afs_mod_SOURCES): New variable.
27006 (afs_mod_CFLAGS): Likewise.
27007 (afs_mod_LDFLAGS): Likewise.
27008
27009 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
27010 (grub_emu_SOURCES): Likewise.
27011
27012 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27013
27014 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27015
27016 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27017
27018 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27019
27020 * fs/afs.c: New file.
27021
17c74c21 270222008-03-30 Pavel Roskin <proski@gnu.org>
27023
4cb68e89 27024 * disk/host.c: Include grub/misc.h to fix a warning.
27025 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
27026 warnings about implicit declarations.
27027
8790bb04 27028 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
27029 variable.
27030 * include/grub/i386/loader.h: Change declaration of
27031 grub_linux_boot() to match what grub_loader_set() expects.
27032 * util/getroot.c (grub_guess_root_device): Return const char* to
27033 fix a warning.
27034 * util/grub-probe.c (probe): Fix a warning about uninitialized
27035 abstraction_name variable.
27036 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
27037 second argument as unused to fix a warning.
27038
9a3f3296 27039 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
27040 missing grub_error() call.
27041
0ecef90d 27042 * util/update-grub_lib.in: Define datarootdir, since Autoconf
27043 2.60 and newer uses it to define datadir.
27044
0bf6d401 27045 * commands/sleep.c: Fix warning about implicit declaration.
27046 * disk/memdisk.c: Likewise.
27047 * loader/aout.c: Likewise.
27048 * loader/i386/bsd_normal.c: Likewise.
27049 * util/grub-probe.c: Likewise.
27050
7cdacf97 27051 * commands/i386/cpuid.c (has_longmode): Make static.
27052 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
27053 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
27054
17c74c21 27055 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
27056 GDT. This is more robust, as %ds can change.
27057 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
27058 calling real_to_prot().
27059 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
27060
80a3e68b 270612008-03-28 Pavel Roskin <proski@gnu.org>
27062
27063 * kern/i386/pc/startup.S: Assert that uncompressed functions
27064 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
27065 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
27066 code, as they push parts of the code (error handlers) beyond
27067 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
27068 code as correctness and size.
27069
77bcd272 270702008-03-28 Pavel Roskin <proski@gnu.org>
27071
27072 * kern/i386/pc/startup.S
27073 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
27074 data block address to the real mode, keep offset minimal. This
27075 works around a bug in AWARD BIOS on old Athlon systems, which
27076 makes CD detection hang.
27077
c5dfd43b 270782008-03-26 Pavel Roskin <proski@gnu.org>
27079
27080 * normal/color.c (grub_parse_color_name_pair): Make `name' a
27081 const.
27082 * include/grub/normal.h: Add grub_parse_color_name_pair()
27083 declaration.
27084
bf962df2 270852008-03-24 Bean <bean123ch@gmail.com>
27086
27087 * disk/i386/pc/biosdisk.c (cd_start): Removed.
27088 (cd_count): Removed.
27089 (cd_drive): New variable.
27090 (grub_biosdisk_get_drive): Don't check for (cdN) device.
27091 (grub_biosdisk_call_hook): Likewise.
27092 (grub_biosdisk_iterate): Change cdrom detection method.
27093 (grub_biosdisk_open): Replace cd_start with cd_drive.
27094 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
27095 detect cdrom device.
27096
27097 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
27098 Removed.
27099 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
27100 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
27101 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
27102 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
27103 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
27104 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
27105 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
27106 (grub_biosdisk_cdrp): New structure.
27107 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
27108
27109 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
27110
27111 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
27112 device.
27113
27114 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
27115 New function.
27116
68e7fc7a 271172008-03-20 Robert Millan <rmh@aybabtu.com>
27118
27119 Remove 2 TiB limit in ata.mod.
27120 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
27121 (grub_ata_dumpinfo): Print sector count with 0x%llx.
27122 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
27123 grub_uint64_t instead of grub_uint32_t.
27124
38ad2cf5 271252008-03-05 Bean <bean123ch@gmail.com>
27126
27127 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
27128 (grub_multiboot): Set boot device.
27129
27130 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
27131
2b89344e 271322008-03-02 Bean <bean123ch@gmail.com>
27133
27134 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
27135 symlink_buffer.
27136
87a95d1f 271372008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
27138
27139 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
27140 texinfo.tex.
27141
27142 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
27143 modified.
27144
27145 * docs/fdl.texi: New file.
f19dbdb7 27146
87a95d1f 27147 * docs/mdate-sh: New file. Copied from gnulib.
27148 * docs/texinfo.tex: Likewise.
27149
27150 * config.guess: Updated from gnulib.
27151 * install-sh: Likewise.
27152
7dc15d8e 271532008-02-28 Robert Millan <rmh@aybabtu.com>
27154
27155 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
27156 (aout_mod_SOURCES): New variable.
27157 (aout_mod_CFLAGS): Likewise.
27158 (aout_mod_LDFLAGS): Likewise.
27159
27160 * conf/i386-ieee1275.rmk: Likewise.
27161
b00ab696 271622008-02-28 Robert Millan <rmh@aybabtu.com>
27163
27164 * util/update-grub.in: Reorganise terminal validity check. Accept
27165 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
27166 Based on suggestion by Franklin PIAT.
27167
79ca2d78 271682008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
27169
27170 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
27171 function.
27172 * util/getroot.c (grub_util_check_block_device): New function that
27173 returns the given argument if it is a block device and returns NULL else.
27174 * util/grub-probe.c (argument_is_device): New variable.
27175 (probe): Promote device_name from a variable to an argument. Receive
27176 device_name from grub_util_check_block_device() if path is NULL and from
27177 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 27178 (options): Introduce new parameter '-d, --device'.
79ca2d78 27179 (main): Add description of the new parameter to the help screen.
27180 Rename path variable to argument. Set argument_is_device if the '-d'
27181 option is given. Pass argument to probe() depending on
27182 argument_is_device.
27183
0d16e571 271842008-02-24 Bean <bean123ch@gmail.com>
27185
27186 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
27187 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
27188 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
27189 (GRUB_ISO9660_VOLDESC_PART): Likewise.
27190 (GRUB_ISO9660_VOLDESC_END): Likewise.
27191 (grub_iso9660_primary_voldesc): New member escape.
27192 (grub_iso9660_data): New member joliet.
27193 (grub_iso9660_convert_string): New function.
27194 (grub_iso9660_mount): Detect joliet extension.
27195 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
27196 (grub_iso9660_iso9660_label): Likewise.
27197
27198 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
27199 (grub_setup_SOURCES): Add fs/udf.c.
27200 (grub_fstest_SOURCES): Likewise.
27201 (udf_mod_SOURCES): New variable.
27202 (udf_mod_CFLAGS): Likewise.
27203 (udf_mod_LDFLAGS): Likewise.
27204
27205 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
27206 (grub_emu_SOURCES): Likewise.
27207
27208 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27209
27210 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27211
27212 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27213
27214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27215
27216 * fs/udf.c: New file.
27217
8a594a17 272182008-02-24 Robert Millan <rmh@aybabtu.com>
27219
27220 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
27221 (normal/lexer.c_DEPENDENCIES): New variables.
27222 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27223 (normal/lexer.c_DEPENDENCIES): Likewise.
27224 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
27225 (normal/lexer.c_DEPENDENCIES): Likewise.
27226 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
27227 (normal/lexer.c_DEPENDENCIES): Likewise.
27228 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27229 (normal/lexer.c_DEPENDENCIES): Likewise.
27230 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27231 (normal/lexer.c_DEPENDENCIES): Likewise.
27232
2dc33c03 272332008-02-23 Robert Millan <rmh@aybabtu.com>
27234
27235 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
27236 since they were intended to be in hex. This didn't break previously
27237 because of a bug in gpt_partition_map_iterate() (see below).
27238
27239 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
27240 when checking the validity of GPT header.
27241 Remove `partno', since it always provides the same information as `i'.
27242
f6f4cfb0 272432008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
27244
27245 * include/grub/efi/time.h: Fix a wrong comment.
27246
79ff665f 272472008-02-19 Pavel Roskin <proski@gnu.org>
27248
27249 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
27250 message.
27251
d38e24c2 272522008-02-19 Bean <bean123ch@gmail.com>
27253
27254 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
27255 (aout_mod_SOURCES): New variable.
27256 (aout_mod_CFLAGS): Likewise.
27257 (aout_mod_LDFLAGS): Likewise.
27258 (_bsd_mod_SOURCES): New variable.
27259 (_bsd_mod_CFLAGS): Likewise.
27260 (_bsd_mod_LDFLAGS): Likewise.
27261 (bsd_mod_SOURCES): New variable.
27262 (bsd_mod_CFLAGS): Likewise.
27263 (bsd_mod_LDFLAGS): Likewise.
27264
27265 * include/grub/aout.h: New file.
27266
27267 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
27268
27269 * include/grub/i386/bsd.h: New file.
27270
27271 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
27272 to make it public.
27273
27274 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
27275 function is called, so that it's possible to change it inside the hook.
27276 (grub_elf64_load): Likewise.
27277 (grub_elf_file): Don't close the file if elf header is not found.
27278 (grub_elf_close): Close the file if grub_elf_file fails (The new
27279 grub_elf_file won't close it).
27280 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
27281 (grub_elf64_size): Likewise.
27282
27283 * kern/i386/loader.S (grub_unix_real_boot): New function.
27284
27285 * loader/aout.c: New file.
27286
27287 * loader/i386/bsd.c: New file.
27288
27289 * loader/i386/bsd_normal.c: New file.
27290
27291 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
27292
27293 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 27294 can test other formats.
d38e24c2 27295
b93bdb0f 272962008-02-19 Robert Millan <rmh@aybabtu.com>
27297
27298 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
27299 (grub_gpt_partition_type_empty): Redefine with macro from
27300 `<grub/gpt_partition.h>'.
27301 (gpt_partition_map_iterate): Adjust partition type comparison.
27302
27303 Export `entry' as partmap-specific `part.data' struct.
27304 (grub_gpt_header, grub_gpt_partentry): Move from here ...
27305
27306 * include/grub/gpt_partition.h (grub_gpt_header)
27307 (grub_gpt_partentry): ... to here (new file).
27308
27309 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
27310
27311 (grub_gpt_partition_type_bios_boot): New const variable, defined
27312 with macro from `<grub/gpt_partition.h>'.
27313
27314 (setup): Replace `first_start' with `embed_region', which keeps
27315 track of the embed region (and is partmap-agnostic).
27316
27317 Replace find_first_partition_start() with find_usable_region(),
27318 which finds a usable region for embedding using partmap-specific
27319 knowledge (supports PC/MSDOS and GPT).
27320
27321 Fix all assumptions that the embed region start at sector 1, using
27322 `embed_region.start' from now on. Similarly, use `embed_region.end'
27323 rather than `first_start' to calculate available size.
27324
27325 In grub_util_info() message, replace "into after the MBR" with an
27326 indication of the specific sector our embed region starts at.
27327
66cb40f6 273282008-02-19 Robert Millan <rmh@aybabtu.com>
27329
27330 * DISTLIST: Replace `commands/ieee1275/halt.c' and
27331 `commands/ieee1275/reboot.c' with `commands/halt.c' and
27332 `commands/reboot.c'.
27333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
27334 (halt_mod_SOURCES): Likewise.
27335 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
27336 (halt_mod_SOURCES): Likewise.
27337
b7202015 273382008-02-17 Christian Franke <franke@computer.org>
27339
27340 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
27341
32b0fc49 273422008-02-17 Robert Millan <rmh@aybabtu.com>
27343
27344 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
27345 set `first_start' to 0 for non-PC/MSDOS partition maps.
27346
aca63502 273472008-02-16 Robert Millan <rmh@aybabtu.com>
27348
27349 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
27350 do not assume partition map is PC/MSDOS before performing checks that
27351 are specific to that layout.
27352
0de8be86 273532008-02-13 Robert Millan <rmh@aybabtu.com>
27354
27355 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
27356 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
27357 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
27358
c3db8364 273592008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
27360
27361 * configure.ac: Only a cosmetic change on the handling of
27362 -fno-stack-protector.
27363
f714229e 273642008-02-12 Alexandre Boeglin <alex@boeglin.org>
27365
c3db8364 27366 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
27367 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
27368 reboot.c.
f714229e 27369 (grub_install_SOURCES): Add halt.mod and reboot.mod.
27370 (halt_mod_SOURCES): New variable.
27371 (halt_mod_CFLAGS): Likewise.
27372 (halt_mod_LDFLAGS): Likewise.
27373 (reboot_mod_SOURCES): Likewise.
27374 (reboot_mod_CFLAGS): Likewise.
27375 (reboot_mod_LDFLAGS): Likewise.
27376
c3db8364 27377 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
27378 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
27379 reboot.c.
f714229e 27380 (halt_mod_SOURCES): Likewise.
27381 (reboot_mod_SOURCES): Likewise.
27382
c3db8364 27383 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
27384 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 27385 (reboot_mod_SOURCES): Likewise.
27386
27387 * commands/i386/pc/reboot.c: merge this file ...
27388
27389 * commands/ieee1275/reboot.c: ... and this file ...
27390
27391 * commands/reboot.c: ... to this file.
c3db8364 27392 Add some precompiler directive to include the correct header for
27393 each machine.
f714229e 27394
27395 * commands/ieee1275/halt.c: move this file ...
27396
27397 * commands/halt.c: ... to here.
c3db8364 27398 Add some precompiler directive to include the correct header for
27399 each machine.
f714229e 27400
27401 * include/grub/efi/efi.h (grub_reboot): New function declaration.
27402 (grub_halt): Likewise.
27403
27404 * kern/efi/efi.c (grub_reboot): New function.
27405 (grub_halt): Likewise.
27406
c74493e0 274072008-02-12 Robert Millan <rmh@aybabtu.com>
27408
27409 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
27410 /dev (like it is done for /dev/mapper). This doesn't provide support
27411 for EVMS, but at least it is now easy to identify the problem when it
27412 arises.
27413
d0db4b04 274142008-02-11 Robert Millan <rmh@aybabtu.com>
27415
27416 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
27417 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
27418 comparing it with -1, not 0.
27419
bf748642 274202008-02-10 Robert Millan <rmh@aybabtu.com>
27421
27422 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
27423 `disk/lvm.c'.
27424 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27425 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27426
27427 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
27428 `disk/lvm.c' to the end of the list.
27429 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27430 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27431
b5db202a 274322008-02-10 Robert Millan <rmh@aybabtu.com>
27433
27434 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
27435 grub_print_error() instead. This will let user know why we're entering
27436 rescue mode.
27437 Based on suggestions from Sam Morris.
27438
83abee31 274392008-02-10 Alexandre Boeglin <alex@boeglin.org>
27440
27441 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
27442 on remaining N args, instead of "--" arg N times.
27443
78d5a08b 274442008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
27445
27446 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
27447 (fill_with_default_glyph): Changed to use unknown_glyph for fill
27448 pattern for unknown glyphs.
27449
68807e5f 274502008-02-09 Robert Millan <rmh@aybabtu.com>
27451
27452 * configure.ac: Probe for `help2man'.
27453 * Makefile.in (builddir): New variable.
27454 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
27455 or otherwise add a few flags/options to it.
27456 (install-local): For every executable utility or script that is
27457 installed, invoke $(HELP2MAN) to install a manpage based on --help
27458 output.
27459
27460 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
27461 that it doesn't prevent --help from working in build tree.
27462
27463 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
27464 with `bug-grub@gnu.org'.
27465 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
27466 * util/update-grub.in (usage): New function.
27467 Implement proper argument check, with support for --help and --version
27468 (as well as existing -y).
27469
274702008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 27471
27472 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
27473 avoid overwriting previous output.
27474 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
27475
c1962162 274762008-02-09 Robert Millan <rmh@aybabtu.com>
27477
27478 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
27479 drawing the menu.
27480
3dac2e3f 274812008-02-09 Robert Millan <rmh@aybabtu.com>
27482
27483 * commands/sleep.c: New file.
27484 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
27485 (sleep_mod_SOURCES): New variable.
27486 (sleep_mod_CFLAGS): Likewise.
27487 (sleep_mod_LDFLAGS): Likewise.
27488
7a634e08 274892008-02-09 Robert Millan <rmh@aybabtu.com>
27490
27491 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
27492 situations in which we can deduce the RAID size and the superblock
27493 doesn't match it.
27494
b92f0c18 274952008-02-09 Robert Millan <rmh@aybabtu.com>
27496
27497 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
27498 and return a grub_diskmemberlist_t composed of LVM physical volumes.
27499 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
27500
27501 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
27502 and return a grub_diskmemberlist_t composed of physical array members.
27503 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
27504
27505 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
27506 prototype.
27507 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
27508 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
27509 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
27510
27511 * util/grub-probe.c (probe): Move partmap probing code from here ...
27512 (probe_partmap): ... to here.
27513 (probe): Use probe_partmap() once for the disk we're probing, and
27514 additionally, when such disk contains a memberlist() struct member,
27515 once for each disk that is contained in the structure returned by
27516 memberlist().
27517
91a4bf68 275182008-02-09 Robert Millan <rmh@aybabtu.com>
27519
27520 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
27521 environment variable to 'all' in order to obtain debug output from
27522 non-util/ code.
27523 * util/i386/pc/grub-setup.c (main): Likewise.
27524
a96f9caa 275252008-02-08 Robert Millan <rmh@aybabtu.com>
27526
27527 * disk/raid.c (grub_raid_scan_device): Check for
27528 `array->device[sb.this_disk.number]' rather than for
27529 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 27530 guaranteed to be accessible.
a96f9caa 27531
b37a9222 275322008-02-08 Robert Millan <rmh@aybabtu.com>
27533
27534 * disk/raid.c: Update copyright.
27535 * fs/cpio.c: Likewise.
27536 * include/grub/raid.h: Likewise.
27537 * loader/i386/pc/multiboot.c: Likewise.
27538 * util/hostfs.c: Likewise.
27539
5626aee1 275402008-02-08 Robert Millan <rmh@aybabtu.com>
27541
27542 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
27543 to a grub_disk_t array.
27544 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
27545 `device[x]'.
27546 (grub_raid_scan_device): Replace `device[x].name' accesses with
27547 `device[x]->name'. Simplify initialization of `array->device[x]'.
27548
554f0187 275492008-02-08 Robert Millan <rmh@aybabtu.com>
27550
27551 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
27552 grub_dprintf() calls.
27553 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
27554 error message.
27555
1ec8425d 275562008-02-07 Christian Franke <franke@computer.org>
27557
27558 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
27559 instead of fseek and ftell to support large files.
27560 (grub_hostfs_read): Likewise.
27561
f2156fda 275622008-02-07 Robert Millan <rmh@aybabtu.com>
27563
27564 Patch from Jeroen Dekkers.
27565 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 27566 failure, since successfully reading all array members might not be
f2156fda 27567 required.
27568
9216e0e7 275692008-02-06 Robert Millan <rmh@aybabtu.com>
27570
27571 * util/grub-probe.c (probe): Simplify partmap probing (with the
27572 assumption that the first word up to the underscore equals to
27573 the module name).
27574
b0dfd29a 275752008-02-06 Christian Franke <franke@computer.org>
27576
27577 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
27578 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
27579 last block of a cpio or tar stream.
27580 Check for "TRAILER!!!" instead of any empty data
27581 block to detect last block of a cpio stream.
27582 (grub_cpio_dir): Fix constness of variable np.
27583 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
27584 cpio or tar trailer is detected. This fixes a crash
27585 on open of a non existing file.
27586
c32865bf 275872008-02-05 Bean <bean123ch@gmail.com>
27588
27589 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
27590 address of entry.
27591 (grub_multiboot_load_elf64): Likewise.
27592 (grub_multiboot): Initialize mbi structure.
27593
27594 * util/grub-fstest.c: Don't include unused header file script.h.
27595
fe6b695a 27596 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 27597 of file.
27598 (grub_fstest_SOURCES): Likewise.
27599
409480b7 276002008-02-05 Robert Millan <rmh@aybabtu.com>
27601
27602 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
27603 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
27604 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
27605 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
27606
27607 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
27608 (translation_table): Replace hardcoded values with macros
27609 provided by `<grub/term.h>'.
27610
27611 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
27612 (keyboard_map): Correct/add a few values, with macros provided
27613 by `<grub/term.h>'.
27614 (keyboard_map_shift): Zero values that don't differ from their
27615 `keyboard_map' equivalents.
27616 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
27617 Discard the second scan code that is always sent by Caps lock.
27618 Only use `keyboard_map_shift' when it provides a non-zero value,
27619 otherwise fallback to `keyboard_map'.
27620
99fadbaa 276212008-02-04 Bean <bean123ch@gmail.com>
27622
27623 * Makefile.in (enable_grub_fstest): New variable.
27624
27625 * conf/common.rmk (grub_fstest_init.lst): New rule.
27626 (grub_fstest_init.h): Likewise.
27627 (grub_fstest_init.c): Likewise.
27628 (util/grub-fstest.c_DEPENDENCIES): New variable.
27629 (grub_fstest_SOURCES): Likewise.
27630
27631 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
27632
27633 * util/grub-fstest.c: New file.
27634
bf567c50 276352008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
27636
27637 Make grub-setup handle a separate root device.
f19dbdb7 27638
bf567c50 27639 * util/i386/pc/grub-setup.c (setup): Always open the root device,
27640 so that the root device can be compared with the destination
27641 device.
27642 When embedding the core image, if the root and destination devices
27643 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
27644 0xFF.
27645 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 27646
9be6b98b 276472008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
27648
27649 Add support for having a grub directory in a different drive. This
27650 is still only the data handling part.
f19dbdb7 27651
9be6b98b 27652 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
27653 (codestart): Save %dh in GRUB_ROOT_DRIVE.
27654 (grub_root_drive): New variable.
27655
27656 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
27657 instead of GRUB_BOOT_DRIVE to construct a device name. Set
27658 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
27659 as it was.
27660
27661 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
27662
27663 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
27664 macro.
27665 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
27666
27667 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
27668 is bogus, because PXE booting does not specify any drive
27669 correctly.
27670
27671 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
27672 am not sure if this is really correct.
27673
27674 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
27675 is always identical to the boot drive when booting from a CD.
27676
27677 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
27678 longer.
27679 (root_drive): New variable.
27680 (real_start): Unconditionally set %dh to ROOT_DRIVE.
27681 (setup_sectors): Push %dx right after popping it, because %dh will
27682 be modified later.
27683 (copy_buffer): Restore %dx.
27684
e0ca0677 276852008-02-03 Robert Millan <rmh@aybabtu.com>
27686
27687 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
27688 use `cdboot.img' for cdrom images.
27689
3b3f6629 276902008-02-03 Robert Millan <rmh@aybabtu.com>
27691
27692 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
27693 only setup gfxterm when `font' command has succeeded.
27694
d42b3672 276952008-02-03 Robert Millan <rmh@aybabtu.com>
27696
27697 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
27698 (grub_rescue_cmd_multiboot_loader)
27699 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
27700
fa370ea6 277012008-02-03 Pavel Roskin <proski@gnu.org>
27702
e0c5dacb 27703 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 27704 %edx and %esi from stack only after grub_gate_a20() is called.
27705 grub_gate_a20() clobbers %edx.
27706
f2a76e1d 277072008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
27708
27709 * configure.ac (AC_INIT): Bumped to 1.96.
27710
27711 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
27712 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
27713 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
27714 video/readers/png.c.
27715
90fd32d1 277162008-02-03 Bean <bean123ch@gmail.com>
9be665dd 27717
27718 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
27719 (cdboot_img_SOURCES): New variable.
27720 (cdboot_img_ASFLAGS): New variable.
27721 (cdboot_img_LDFLAGS): New variable.
27722
27723 * boot/i386/pc/cdboot.S: New file.
27724
27725 * disk/i386/pc/biosdisk.c (cd_start): New variable.
27726 (cd_count): Likewise.
27727 (grub_biosdisk_get_drive): Add support for cd device.
27728 (grub_biosdisk_call_hook): Likewise.
27729 (grub_biosdisk_iterate): Likewise.
27730 (grub_biosdisk_open): Likewise.
27731 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
27732 (grub_biosdisk_rw): Support reading from cd device.
27733 (GRUB_MOD_INIT): Iterate cd devices.
27734
27735 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
27736 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
27737 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
27738
27739 * kern/i386/pc/init.c (make_install_device): Check for cd device.
27740
4020aa53 277412008-02-02 Robert Millan <rmh@aybabtu.com>
27742
27743 * commands/read.c: New file.
27744 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
27745 (read_mod_SOURCES): New variable.
27746 (read_mod_CFLAGS): Likewise.
27747 (read_mod_LDFLAGS): Likewise.
27748
e03a1132 277492008-02-02 Robert Millan <rmh@aybabtu.com>
27750
27751 * normal/main.c (grub_normal_execute): Check for `menu->size' when
27752 determining whether menu has to be displayed.
27753
58c69220 277542008-02-02 Marco Gerards <marco@gnu.org>
27755
27756 * bus/pci.c: New file.
27757
27758 * include/grub/pci.h: Likewise.
27759
27760 * include/grub/i386/pc/pci.h: Likewise.
27761
27762 * commands/lspci.c: Likewise.
27763
27764 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
27765 `lspci.mod'.
27766 (pci_mod_SOURCES): New variable.
27767 (pci_mod_CFLAGS): Likewise.
27768 (pci_mod_LDFLAGS): Likewise.
27769 (lspci_mod_SOURCES): Likewise.
27770 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 27771 (lspci_mod_LDFLAGS): Likewise.
58c69220 27772
c004e1b4 277732008-02-02 Bean <bean123ch@gmail.com>
27774
27775 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
27776 (grub_ufs_get_file_block): Fix indirect block calculation problem.
27777
27778 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
27779 (grub_xfs_btree_node): New structure.
27780 (grub_xfs_btree_root): New structure.
27781 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
27782 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
27783 (GRUB_XFS_EXTENT_BLOCK): Likewise.
27784 (GRUB_XFS_EXTENT_SIZE): Likewise.
27785 (grub_xfs_read_block): Support btree format type.
27786 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
27787 Use directory block as basic unit.
27788
27789 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
27790
27791 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
27792 __attribute__ ((__regparm__ (1))).
27793
f95562bf 277942008-02-01 Robert Millan <rmh@aybabtu.com>
27795
27796 Correct a mistake in previous commit.
27797
27798 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
27799 top.
27800 (normal/command.c_DEPENDENCIES): New variable.
27801
7d31f41f 278022008-02-01 Robert Millan <rmh@aybabtu.com>
27803
27804 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
27805 top.
27806 (normal/command.c_DEPENDENCIES): New variable.
27807 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
27808 * conf/i386-ieee1275.rmk: Likewise.
27809 * conf/i386-linuxbios.rmk: Likewise.
27810 * conf/i386-pc.rmk: Likewise.
27811 * conf/sparc64-ieee1275.rmk: Likewise.
27812 * conf/powerpc-ieee1275.rmk: Likewise.
27813 (grub_emu_SOURCES): Add `fs/fshelp.c'.
27814
27815 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
27816
60b6be74 278172008-02-01 Robert Millan <rmh@aybabtu.com>
27818
27819 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
27820 call at beginning of function.
27821
078522ab 278222008-01-31 Pavel Roskin <proski@gnu.org>
27823
27824 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 27825 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
27826 (grub_mkrescue_SOURCES): Likewise.
078522ab 27827 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
27828
ccaa8a5f 278292008-01-30 Robert Millan <rmh@aybabtu.com>
27830
27831 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
27832 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
27833 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
27834 (grub_probe_SOURCES): ... to here.
27835
27836 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
27837 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
27838 * conf/i386-ieee1275.rmk: Likewise.
27839 * conf/i386-linuxbios.rmk: Likewise.
27840 * conf/powerpc-ieee1275.rmk: Likewise.
27841
ae5a9cd7 278422008-01-30 Tristan Gingold <gingold@free.fr>
27843
27844 * kern/rescue.c: Silently accept empty lines.
27845
70bc2ef2 278462008-01-29 Bean <bean123ch@gmail.com>
27847
27848 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
27849 (real_code_2): Code cleanup and change comment style.
27850 (move_memory): Avoid using 32-bit address mode.
27851
6a4d50ea 278522008-01-29 Bean <bean123ch@gmail.com>
27853
27854 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
27855 (png_mod_SOURCES): New variable.
27856 (png_mod_CFLAGS): Likewise.
27857 (png_mod_LDFLAGS): Likewise.
27858
27859 * video/readers/png.c: New file.
27860
11cc30ac 278612008-01-28 Robert Millan <rmh@aybabtu.com>
27862
27863 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
27864 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
27865 `ifndef GRUB_MOD_GAP' hack.
27866 * util/elf/grub-mkimage.c (add_segments): Likewise.
27867
3abc589f 278682008-01-27 Robert Millan <rmh@aybabtu.com>
27869
27870 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
27871 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 27872 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 27873
e1907778 278742008-01-27 Robert Millan <rmh@aybabtu.com>
27875
27876 Get grub-emu to build again (including parallel builds).
27877
27878 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
27879 Split into ...
27880 (util/grub-emu.c_DEPENDENCIES): ... this, ...
27881 (normal/execute.c_DEPENDENCIES): ... this, ...
27882 (grub-emu_DEPENDENCIES): ... and this.
27883
27884 * conf/i386-efi.rmk: Likewise.
27885 * conf/i386-linuxbios.rmk: Likewise.
27886 * conf/i386-ieee1275.rmk: Likewise.
27887 * conf/powerpc-ieee1275.rmk: Likewise.
27888 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
27889
2216b101 278902008-01-27 Robert Millan <rmh@aybabtu.com>
27891
27892 * NEWS: Add a few items.
27893
f75172d9 278942008-01-27 Robert Millan <rmh@aybabtu.com>
27895
27896 Fix parallel builds with grub-emu. Based on earlier commit for
27897 grub-probe and grub-setup.
27898
27899 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
27900 (util/grub-emu.c_DEPENDENCIES): ... this.
27901 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
27902 (util/grub-emu.c_DEPENDENCIES): ... this.
27903 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
27904 (util/grub-emu.c_DEPENDENCIES): ... this.
27905 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
27906 (util/grub-emu.c_DEPENDENCIES): ... this.
27907 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
27908 (util/grub-emu.c_DEPENDENCIES): ... this.
27909
3f51de77 279102008-01-27 Pavel Roskin <proski@gnu.org>
27911
27912 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
27913 to create a gap between _end and the modules added to the image
27914 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
27915 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
27916 * util/elf/grub-mkimage.c (add_segments): Likewise.
27917
2033f53e 279182008-01-26 Pavel Roskin <proski@gnu.org>
27919
27920 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
27921 just return an error.
27922
22da1f6f 279232008-01-26 Bean <bean123ch@gmail.com>
27924
27925 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
27926 (grub_reiserfs_get_item): Save offset of the next item.
27927 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
27928
2a9525e6 279292008-01-25 Robert Millan <rmh@aybabtu.com>
27930
27931 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
27932 make all filesystem sources appear together (possibly fixing omissions
27933 while at it).
27934 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27935 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27936 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27937 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27938
27939 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
27940 add `kern/file.c'.
27941 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
27942 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
27943 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
27944 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
27945
27946 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
27947 (probe): Add a sanity check to make sure of our ability to read
27948 requested files when probing for filesystem type.
27949
27950 * genmk.rb: Update copyright year (2007).
27951
27952 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
27953 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
27954 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
27955 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
27956 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
27957 : Remove function prototypes.
27958
b95f71b5 279592008-01-25 Robert Millan <rmh@aybabtu.com>
27960
27961 Revert my previous commits (based on wrong assumption of how grub_errno
27962 works).
27963
fe6b695a 27964 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 27965 * kern/file.c (grub_file_open): Likewise.
27966
d08bbb49 279672008-01-24 Pavel Roskin <proski@gnu.org>
27968
27969 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
27970 that hang if GRUB tries to setup colors.
27971 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
27972 colors for firmwares that don't support it.
27973 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
27974 Recognize Open Hack'Ware, set flags to work around its
27975 limitations.
27976
605e36ed 279772008-01-24 Robert Millan <rmh@aybabtu.com>
27978
27979 * kern/file.c (grub_file_open): Do not account previous failures of
27980 unrelated functions when grub_errno is checked for.
27981 Reported by Oleg Strikov.
27982
bac332a1 279832008-01-24 Bean <bean123ch@gmail.com>
27984
27985 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
27986 (grub_ufs_sblock): New member volume name.
27987 (grub_ufs_find_file): Fix string copy bug.
27988 (grub_ufs_label): Implement this function properly.
27989
27990 * fs/hfs.c (grub_hfs_cnid_type): New enum.
27991 (grub_hfs_iterate_records): Use the correct file number for extents
27992 and catalog file. Fix problem in next index calculation.
27993 (grub_hfs_find_node): Replace recursive function call with loop.
27994 (grub_hfs_iterate_dir): Replace recursive function call with loop.
27995
15c80c09 279962008-01-23 Robert Millan <rmh@aybabtu.com>
27997
27998 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
27999 `<grub/symbol.h>' and `<grub/multiboot.h>'.
28000 (grub_multiboot2_real_boot): New function prototype.
28001
28002 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
28003 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
28004
28005 * kern/i386/ieee1275/init.c (grub_os_area_addr)
28006 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
28007
305338fd 280082008-01-23 Robert Millan <rmh@aybabtu.com>
28009
28010 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
28011 #ifdef'ed out grub_printf().
28012
3ea52685 280132008-01-23 Robert Millan <rmh@aybabtu.com>
28014
28015 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
28016 grub_dprintf calls, since they make "debug=all" mode unusable.
28017 (grub_console_checkkey): Likewise.
28018
5882ae4b 280192008-01-23 Robert Millan <rmh@aybabtu.com>
28020
28021 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
28022 `term/i386/pc/at_keyboard.c'.
28023 (pkglib_MODULES): Add `serial.mod'.
28024 (serial_mod_SOURCES): New variable.
28025 (serial_mod_CFLAGS): Likewise.
28026 (serial_mod_LDFLAGS): Likewise.
28027
28028 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
28029 `<grub/powerpc/ieee1275/console.h>'.
28030 (grub_keyboard_controller_init): New function prototype.
28031 (grub_console_checkkey): Likewise.
28032 (grub_console_getkey): Likewise.
28033
28034 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
28035 keyboard on i386.
28036
28037 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
28038 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
28039
06ab5303 280402008-01-23 Robert Millan <rmh@aybabtu.com>
28041
28042 * kern/i386/pc/init.c (make_install_device): When memdisk image is
28043 present, "(memdisk)/boot/grub" becomes the default prefix.
28044
28045 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
28046 a memdisk tarball with all the modules. Add --overlay=DIR option that
28047 allows users to overlay additional files into the image.
28048
dbb475a4 280492008-01-23 Robert Millan <rmh@aybabtu.com>
28050
28051 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
28052 and `machine/memory.h'.
28053 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
28054 (_multiboot_mod_SOURCES): New variable.
28055 (_multiboot_mod_CFLAGS): Likewise.
28056 (_multiboot_mod_LDFLAGS): Likewise.
28057 (multiboot_mod_SOURCES): Likewise.
28058 (multiboot_mod_CFLAGS): Likewise.
28059 (multiboot_mod_LDFLAGS): Likewise.
28060
28061 * include/grub/i386/ieee1275/loader.h: New file.
28062
28063 * include/grub/i386/ieee1275/machine.h: Likewise.
28064
28065 * include/grub/i386/ieee1275/memory.h: Likewise.
28066
28067 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
28068 variable declaration.
28069 (grub_os_area_size): Likewise.
28070
28071 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
28072 (grub_lower_mem, grub_upper_mem): New variables.
28073 (grub_stop_floppy): New function (just to make
28074 grub_multiboot2_real_boot() happy).
28075
28076 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
28077 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
28078 (grub_stop): New function.
28079 Include `"../realmode.S"' and `"../loader.S"'.
28080
28081 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
28082 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
28083
28084 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
28085 rely on grub_multiboot2_real_boot() for final boot.
28086
25638629 280872008-01-22 Robert Millan <rmh@aybabtu.com>
28088
28089 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
28090 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
28091 device that doesn't look like an SD card.
28092 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
28093 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
28094 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
28095 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
28096 found.
28097
9dad816d 280982008-01-22 Robert Millan <rmh@aybabtu.com>
28099
28100 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
28101 avoid claiming over our own code.
28102
34842f2d 281032008-01-22 Bean <bean123ch@gmail.com>
28104
28105 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
28106 (jpeg_mod_SOURCES): New variable.
28107 (jpeg_mod_CFLAGS): Likewise.
28108 (jpeg_mod_LDFLAGS): Likewise.
28109
28110 * video/readers/jpeg.c : New file.
28111
44023a28 281122008-01-22 Bean <bean123ch@gmail.com>
28113
28114 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
28115 there are no more items.
28116
bc2d8ac6 281172008-01-21 Robert Millan <rmh@aybabtu.com>
28118
28119 * kern/mm.c (grub_mm_init_region): Improve debug message.
28120
261bd4bc 281212008-01-21 Robert Millan <rmh@aybabtu.com>
28122
28123 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
28124 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
28125 address.
28126 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
28127 a C macro.
28128 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
28129 Indicates start of upper memory.
28130 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
28131 (generate_image): Abort when image size is big enough to corrupt
28132 upper memory.
28133
28134 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
28135 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
28136 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28137 instead of hardcoding 0xA0000.
28138 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
28139 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28140 instead of hardcoding 0xA0000.
28141
f970b55e 281422008-01-21 Robert Millan <rmh@aybabtu.com>
28143
28144 * disk/memdisk.c (memdisk_size): New variable.
28145 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
28146 `memdisk_size'.
28147 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
28148 image to dynamic memory.
28149 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
28150 `memdisk_size'. Free memdisk block.
28151
1a8b0526 281522008-01-21 Robert Millan <rmh@aybabtu.com>
28153
28154 Fix detection of very small filesystems (like tar).
28155
28156 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
28157 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
28158 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
28159 a problem with this disk).
28160
6e9b4aab 281612008-01-21 Robert Millan <rmh@aybabtu.com>
28162
28163 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
28164 on grub_biosdisk_rw_standard() error.
28165
0d8837b2 281662008-01-21 Robert Millan <rmh@aybabtu.com>
28167
28168 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
28169 recent changes.
28170 * kern/elf.c: Likewise.
28171 * kern/ieee1275/ieee1275.c: Likewise.
28172 * kern/powerpc/ieee1275/openfw.c: Likewise.
28173 * term/ieee1275/ofconsole.c: Likewise.
28174
ffd36e34 281752008-01-21 Robert Millan <rmh@aybabtu.com>
28176
28177 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
28178
3f0093d0 28179 * include/grub/kernel.h (grub_arch_memdisk_addr)
28180 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 28181
3f0093d0 28182 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
28183 (grub_arch_memdisk_size): ... to here.
ffd36e34 28184
6c391b21 281852008-01-21 Robert Millan <rmh@aybabtu.com>
28186
28187 Mostly based on bugfix from Bean.
28188
28189 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
28190 attribute with hook() parameter.
28191 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
28192 declaration.
28193 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
28194 attribute with hook() parameter.
28195 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
28196 declaration.
28197
55a581dc 281982008-01-21 Robert Millan <rmh@aybabtu.com>
28199
28200 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
28201 (pkglib_MODULES): Add `memdisk.mod'.
28202 (memdisk_mod_SOURCES): New variable.
28203 (memdisk_mod_CFLAGS): Likewise.
28204 (memdisk_mod_LDFLAGS): Likewise.
28205
28206 * disk/memdisk.c: New file.
28207
28208 * include/grub/disk.h (grub_disk_dev_id): Add
28209 `GRUB_DISK_DEVICE_MEMDISK_ID'.
28210
28211 * include/grub/i386/pc/kernel.h
28212 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
28213 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
28214 (grub_kernel_image_size): New variable declaration.
28215 (grub_total_module_size): Likewise.
28216 (grub_memdisk_image_size): Likewise.
28217
28218 * include/grub/i386/pc/memory.h
28219 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
28220
28221 * include/grub/kernel.h: Include `<grub/symbol.h>'.
28222 (grub_arch_memdisk_addr): New variable declaration.
28223 (grub_arch_memdisk_size): Likewise.
28224
28225 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
28226 (grub_arch_memdisk_size): Likewise.
28227
28228 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
28229 (codestart): Replace hardcoded `0x100000' with
28230 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
28231
28232 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
28233 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
28234 not NULL, append the contents of the file it refers to, at the end of
28235 the compressed kernel image. Initialize `grub_memdisk_image_size'
28236 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
28237 (options): Add "memdisk"|'m' option.
28238 (main): Parse --memdisk|-m option, and pass user-provided path as
28239 parameter to generate_image().
28240
3d7f54c9 282412008-01-20 Robert Millan <rmh@aybabtu.com>
28242
28243 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
28244 grub_dprintf() calls from here ...
28245 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
28246
0bf74728 282472008-01-20 Robert Millan <rmh@aybabtu.com>
28248
28249 Fix detection of "real mode" when /options/real-mode? doesn't exist.
28250
28251 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
28252 declaration.
28253 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
28254 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
28255 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 28256 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 28257 property).
28258 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
28259 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
28260
33bf70a7 282612008-01-19 Robert Millan <rmh@aybabtu.com>
28262
fe6b695a 28263 Get rid of confusing function (superseded by
33bf70a7 28264 `grub_ieee1275_get_integer_property')
28265 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
28266 prototype.
28267 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
28268 function.
28269 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
28270 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 28271 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 28272
e2da7d26 282732008-01-19 Robert Millan <rmh@aybabtu.com>
28274
28275 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
28276 command after "shut-down", since implementations differ on which
28277 the command for halt is.
28278
59f1fd8d 282792008-01-19 Robert Millan <rmh@aybabtu.com>
28280
28281 * include/grub/i386/linuxbios/console.h: Add header protection.
28282 (grub_keyboard_controller_init): New function prototype.
28283 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
28284 (KEYBOARD_COMMAND_READ): Likewise.
28285 (KEYBOARD_COMMAND_WRITE): Likewise.
28286 (KEYBOARD_SCANCODE_SET1): Likewise.
28287 (grub_keyboard_controller_write): New function.
28288 (grub_keyboard_controller_read): Likewise.
28289 (grub_keyboard_controller_init): Likewise.
28290
28291 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
28292 (grub_console_init): On coreboot/LinuxBIOS, call
28293 grub_keyboard_controller_init().
28294
5f5a7c15 282952008-01-19 Robert Millan <rmh@aybabtu.com>
28296
28297 PowerPC changes provided by Pavel Roskin.
28298
28299 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
28300 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
28301 don't rely on cmain() doing it.
28302 * kern/i386/ieee1275/startup.S (_start): Store %eax in
28303 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
28304
1210e168 283052008-01-16 Robert Millan <rmh@aybabtu.com>
28306
28307 * include/grub/i386/linuxbios/memory.h
28308 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
28309 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
28310 receive `table_header' as argument. Instead, probe for it in the
28311 known memory ranges where it can be present.
28312 (grub_available_iterate): Do not pass a fixed `table_header' address
28313 to grub_linuxbios_table_iterate().
28314
3d04eab8 283152008-01-15 Robert Millan <rmh@aybabtu.com>
28316
28317 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
28318 * conf/i386-ieee1275.rmk: New file.
28319 * include/grub/i386/ieee1275/console.h: Likewise.
28320 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
28321 * include/grub/i386/ieee1275/kernel.h: Likewise.
28322 * include/grub/i386/ieee1275/time.h: Likewise.
28323 * kern/i386/ieee1275/init.c: Likewise.
28324 * kern/i386/ieee1275/startup.S: Likewise.
28325
d1bc1b73 283262008-01-15 Robert Millan <rmh@aybabtu.com>
28327
28328 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
28329 when pointers are 32-bit (but still do set it to one when they are
28330 64-bit).
28331
66a65807 283322008-01-15 Robert Millan <rmh@aybabtu.com>
28333
28334 * include/grub/ieee1275/ieee1275.h
28335 (grub_ieee1275_get_integer_property): New function prototype.
28336
28337 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
28338 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 28339 grub_ieee1275_get_property() to handle endianness.
66a65807 28340
28341 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
28342 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 28343 where appropriate.
66a65807 28344 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
28345 (grub_map): Likewise.
28346 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
28347
a83ccafd 283482008-01-15 Bean <bean123ch@gmail.com>
28349
28350 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
28351 (grub_script_execute_cmdline): Reset grub_errno.
28352
28353 * normal/main.c (read_config_file): Reset grub_errno.
28354
28355 * normal/parse.y (script_init): New.
28356 (script): Move function and menuentry here.
28357 (delimiter): New.
28358 (command): Add delimiter at the end of command.
28359 (commands): Adjust to match the new command.
28360 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 28361 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 28362 (if): Use the new commands.
28363
28364 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
28365
df6ecfc6 283662008-01-15 Robert Millan <rmh@aybabtu.com>
28367
28368 * normal/menu.c (run_menu): Move timeout message from here ...
28369 (print_timeout): ... to here.
28370 (run_menu): Use print_timeout() once during initial draw to print
28371 the whole message, and again in every clock tick to update only
28372 the number of seconds.
28373
87ae25eb 283742008-01-15 Robert Millan <rmh@aybabtu.com>
28375
28376 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
28377 actual size of `available' from grub_ieee1275_get_property(), and
28378 restrict parsing to that bound.
28379
47bf09a4 283802008-01-15 Christian Franke <franke@computer.org>
28381
28382 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
28383 (argp_program_version): Remove variable.
28384 (argp_program_bug_address): Likewise.
28385 (options): Convert from struct argp_option to struct option.
28386 (struct arguments): Remove.
28387 (parse_opt): Remove.
28388 (usage): New function.
28389 (main): Replace struct args members by simple variables.
28390 Replace argp_parse() by getopt_long().
28391 Add switch to evaluate options.
28392 Add missing "(...)" around root_dev in prefix string.
28393
c86f1469 283942008-01-14 Robert Millan <rmh@aybabtu.com>
28395
28396 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
28397 for grub_ieee1275_exit(), in order to improve portability.
28398
e622c559 283992008-01-14 Robert Millan <rmh@aybabtu.com>
28400
28401 * util/grub.d/10_linux.in (prefix): Define.
28402 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
28403
44cb1ec8 284042008-01-13 Pavel Roskin <proski@gnu.org>
28405
28406 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
28407 grub_errno if no errors have been detected.
28408
1eb8c802 284092008-01-12 Robert Millan <rmh@aybabtu.com>
28410
28411 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
28412 (grub_util_get_dev_abstraction): New function prototype.
28413
28414 * util/getroot.c: Include `<grub/util/getroot.h>'
28415 (grub_util_get_grub_dev): Move detection of abstraction type to ...
28416 (grub_util_get_dev_abstraction): ... here (new function).
28417
28418 * util/grub-probe.c: Convert PRINT_* to an enum. Add
28419 `PRINT_ABSTRACTION'.
28420 (probe): Probe for abstraction type when requested.
28421 (main): Understand `--target=abstraction'.
28422
28423 * util/i386/efi/grub-install.in: Add abstraction module to core
28424 image when it is found to be necessary.
28425 * util/i386/pc/grub-install.in: Likewise.
28426 * util/powerpc/ieee1275/grub-install.in: Likewise.
28427
28428 * util/update-grub_lib.in (font_path): Return system path without
28429 converting to GRUB path.
28430 * util/update-grub.in: Convert system path returned by font_path()
28431 to a GRUB path. Use `grub-probe -t abstraction' to determine what
28432 abstraction module is needed for loading fonts (if any). Export
28433 that as `GRUB_PRELOAD_MODULES'.
28434 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
28435 insmod commands).
28436
52bd3de9 284372008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
28438
28439 Remove some unused code from reiserfs.
f19dbdb7 28440
52bd3de9 28441 * fs/reiserfs.c (struct grub_reiserfs_key)
28442 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
28443 (struct grub_reiserfs_node_body): Removed.
28444 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
28445 Likewise.
28446 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28447 Likewise.
28448 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28449 Likewise.
28450 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28451 Likewise.
28452 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
28453 Likewise.
28454 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
28455 Likewise.
28456 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28457 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28458 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28459
2f80039d 284602008-01-10 Robert Millan <rmh@aybabtu.com>
28461
28462 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
28463 Determines if a file is garbage left by packaging systems, etc.
28464 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
28465 for processing /etc/grub.d scripts.
28466 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
28467 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
28468 as a condition for processing Linux images.
28469
87888032 284702008-01-10 Pavel Roskin <proski@gnu.org>
28471
28472 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
28473 to compile reiserfs.c on PowerPC.
28474
7e54fced 284752008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 28476
28477 * kern/device.c (grub_device_iterate): Do not abort device iteration
28478 when one of the devices cannot be opened.
28479 * kern/disk.c (grub_disk_open): Do not account previous failures of
28480 unrelated functions when grub_errno is checked for.
28481
5aa541e6 284822008-01-08 Robert Millan <rmh@aybabtu.com>
28483
28484 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
28485 `! grub_linux_is_bzimage', change order of address comparison to make
28486 it more intuitive, and improve "too big zImage" error message.
28487
7076340d 284882008-01-08 Robert Millan <rmh@aybabtu.com>
28489
28490 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
28491 `$(update-grub_DATA)'.
28492 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
28493 targets.
28494
9ca70333 284952008-01-07 Robert Millan <rmh@aybabtu.com>
28496
28497 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
28498 which instruction is modified by grub-setup during installation
28499 (since it wasn't obvious by only looking at this file).
28500
38ccf575 285012008-01-07 Robert Millan <rmh@aybabtu.com>
28502
28503 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
28504 listing actual TODO items.
28505
f5db4291 285062008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28507
868967cf 28508 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
28509 correctly.
28510 (grub_reiserfs_get_key_offset): Likewise.
28511 (grub_reiserfs_set_key_offset): Likewise.
28512 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 28513 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 28514
28515 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
28516 better to remove the bitfield version completely.
f19dbdb7 28517
868967cf 285182008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 28519
f5db4291 28520 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
28521 allocated from the heap, due to the fshelp implementation.
28522 (grub_reiserfs_dir): Free NODE, due to the same reason.
28523
492e6d9d 285242008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28525
28526 Mostly from Vincent Pelletier:
f19dbdb7 28527
492e6d9d 28528 * fs/reiserfs.c: New file.
f19dbdb7 28529
492e6d9d 28530 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
28531 (reiserfs_mod_SOURCES): New variable.
28532 (reiserfs_mod_CFLAGS): Likewise.
28533 (reiserfs_mod_LDFLAGS): Likewise.
28534
28535 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
28536 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
28537 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
28538 normal/color.c.
28539
9ce3e7c1 285402008-01-06 Robert Millan <rmh@aybabtu.com>
28541
28542 * normal/color.c: Remove `<grub/env.h>'.
28543
f3b58148 285442008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
28545
28546 * include/grub/normal.h: Include <grub/env.h>.
28547
7ac3bcfa 285482008-01-05 Robert Millan <rmh@aybabtu.com>
28549
28550 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
28551 usage example with `(hd0,1)'.
fb358190 28552 Reported by Samuel Thibault.
7ac3bcfa 28553
c8ee99d7 285542008-01-05 Robert Millan <rmh@aybabtu.com>
28555
28556 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
28557 (grub_linux_boot_zimage): Rename to ...
28558 (grub_linux_boot): ... this.
28559 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
28560 (grub_linux_boot_zimage): Conditionalize zImage copy.
28561
28562 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
28563 (grub_linux_boot_bzimage): Remove prototype.
28564 (grub_linux_boot_zimage): Rename to ...
28565 (grub_linux_boot): ... this.
28566
28567 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
28568 (grub_linux_boot): Remove function.
28569
0ece25b1 285702008-01-05 Robert Millan <rmh@aybabtu.com>
28571
28572 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
28573 (grub_env_write_color_highlight): Likewise.
28574 (grub_wait_after_message): Likewise.
28575
28576 * normal/color.c: New file.
28577
28578 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28579 (normal_mod_DEPENDENCIES): Likewise.
28580
28581 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28582 (normal_mod_DEPENDENCIES): Likewise.
28583
28584 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28585 (normal_mod_DEPENDENCIES): Likewise.
28586
28587 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28588 (normal_mod_DEPENDENCIES): Likewise.
28589
28590 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
28591 for waiting after a message is printed.
28592 * normal/main.c (read_config_file): Likewise.
28593 (grub_normal_init): Register grub_env_write_color_normal() and
28594 grub_env_write_color_highlight() hooks. Mark `color_normal' and
28595 `color_highlight' variables as global.
28596
28597 * normal/menu.c (grub_wait_after_message): New function.
28598 (grub_color_menu_normal): New variable. Replaces ...
28599 (GRUB_COLOR_MENU_NORMAL): ... this macro.
28600 (grub_color_menu_highlight): New variable. Replaces ...
28601 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
28602 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
28603 `GRUB_TERM_COLOR_STANDARD'.
28604 (print_message): Use `grub_setcolorstate' to reload colors. Rename
28605 `normal_code' and `highlight_code' to `old_color_normal' and
28606 `old_color_highlight', respectively.
28607 (grub_menu_init_page): Update colors when drawing the menu, based on
28608 `menu_color_normal' and `menu_color_highlight' variables.
28609 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
28610 a message is printed.
28611
182dd4e5 286122008-01-05 Robert Millan <rmh@aybabtu.com>
28613
28614 * kern/env.c (grub_env_context_open): Propagate hooks for global
28615 variables to new context.
28616
28617 * kern/main.c (grub_set_root_dev): Export `root' variable.
28618
ddf8f6ad 286192008-01-05 Robert Millan <rmh@aybabtu.com>
28620
28621 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 28622 discs unconditionally, since udev and others have options to provide
ddf8f6ad 28623 them.
28624
d8b43d9b 286252008-01-05 Robert Millan <rmh@aybabtu.com>
28626
28627 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
28628
2bff2de3 286292008-01-04 Christian Franke <franke@computer.org>
28630
28631 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
28632 of eisa_mmap.
28633
97eab917 286342008-01-03 Pavel Roskin <proski@gnu.org>
28635
28636 * kern/i386/linuxbios/init.c: Put "void" to all function
28637 declarations with no arguments.
28638 * kern/powerpc/ieee1275/init.c: Likewise.
28639 * term/i386/pc/at_keyboard.c: Likewise.
28640 * term/i386/pc/vga_text.c: Likewise.
28641 * util/grub-mkdevicemap.c: Likewise.
28642
b9416d00 286432008-01-02 Robert Millan <rmh@aybabtu.com>
28644
28645 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
28646 message when loaded image is out of bounds.
28647 (grub_multiboot_load_elf64): Likewise.
28648
92695df9 286492008-01-02 Pavel Roskin <proski@gnu.org>
28650
28651 * util/grub.d/10_linux.in: Try version without ".old" when
28652 looking for initrd. It's better to use initrd from the newer
28653 kernel of the same version than no initrd at all.
28654
d98d9cad 286552008-01-01 Robert Millan <rmh@aybabtu.com>
28656
28657 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
28658
dbfdce36 286592008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
28660
f19dbdb7 28661 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 28662 grub_video_get_active_render_target.
28663 (grub_video_adapter): Added unmap_color and get_active_render_target.
28664
f19dbdb7 28665 * video/video.c: Added grub_video_unmap_color and
dbfdce36 28666 grub_video_get_active_render_target.
28667 (grub_video_get_info): Changed method to accept NULL pointer as an
28668 argument to allow detection of active video adapter.
28669
28670 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
28671 grub_video_vbe_unmap_color_int.
28672 Added grub_video_vbe_unmap_color and
28673 grub_video_vbe_get_active_render_target.
28674 (grub_video_vbe_adapter): Added unmap_color and
28675 get_active_render_target.
28676
f19dbdb7 28677 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 28678 with grub_video_vbe_unmap_color_int.
28679
28680 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
28681 (DEFAULT_NORMAL_COLOR): Likewise.
28682 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
28683 (DEFAULT_FG_COLOR): Removed.
28684 (DEFAULT_BG_COLOR): Likewise.
28685 (DEFAULT_CURSOR_COLOR): Changed value.
28686 (grub_virtual_screen): Added standard_color_setting,
28687 normal_color_setting, highlight_color_setting and term_color.
28688 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
28689 (bitmap_width): Added.
28690 (bitmap_height): Likewise.
28691 (bitmap): Likewise.
28692 (set_term_color): Likewise.
28693 (grub_virtual_screen_setup): Changed to use new terminal coloring
28694 settings.
28695 (grub_gfxterm_init): Added init for bitmap.
28696 (grub_gfxterm_fini): Added destroy for bitmap.
28697 (redraw_screen_rect): Updated to use background bitmap and new
28698 terminal coloring.
28699 (scroll_up): Added optimization for case when there is no bitmap.
28700 (grub_gfxterm_cls): Fixed to use correct background color.
28701 (grub_virtual_screen_setcolorstate): Changed to use new terminal
28702 coloring.
28703 (grub_virtual_screen_setcolor): Likewise.
28704 (grub_virtual_screen_getcolor): Added.
28705 (grub_gfxterm_background_image_cmd): Likewise.
28706 (grub_video_term): Added setcolor and getcolor.
28707 (MOD_INIT): Added registration of background_image command.
28708 (MOD_TERM): Added unregistration for background_image command.
28709
c3c20931 287102007-12-30 Pavel Roskin <proski@gnu.org>
28711
28712 * loader/multiboot_loader.c: Fix multiboot command
28713 unregistration. Fix all typos in the word "multiboot".
28714
df266716 287152007-12-29 Pavel Roskin <proski@gnu.org>
94239199 28716
28717 * util/grub.d/10_linux.in: Refactor search for initrd. Add
28718 support for initrd names used in Fedora.
28719
fc6e896c 287202007-12-26 Bean <bean123ch@gmail.com>
28721
28722 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
28723 (cpio_mod_SOURCES): New variable.
28724 (cpio_mod_CFLAGS): Likewise.
28725 (cpio_mod_LDFLAGS): Likewise.
28726
28727 * fs/cpio.c: New file.
28728
28729 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
28730
28731 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28732
28733 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28734
28735 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28736
533110ad 287372007-12-25 Robert Millan <rmh@aybabtu.com>
28738
28739 * include/grub/term.h (struct grub_term): Add `getcolor' function.
28740 (grub_getcolor): New function.
28741
28742 * kern/term.c (grub_getcolor): New function.
28743 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
28744 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
28745 (print_entry): Set normal and highlight colors to
28746 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
28747 respectively, before printing and restore them to old
28748 values afterwards.
28749 (grub_menu_init_page): Likewise. Fill an additional colored space
28750 that would otherwise be left blank.
28751
28752 * term/efi/console.c (grub_console_getcolor): New function.
28753 (struct grub_console_term.getcolor): New variable.
28754 * term/i386/pc/console.c (grub_console_getcolor): New function.
28755 (struct grub_console_term.getcolor): New variable.
28756 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
28757 (struct grub_console_term.getcolor): New variable.
28758
28759 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
28760 (struct grub_console_term.setcolor): Remove variable.
28761 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
28762 (struct grub_console_term.setcolor): Remove variable.
28763 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
28764 (struct grub_console_term.setcolor): Remove variable.
28765 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
28766 (struct grub_console_term.setcolor): Remove variable.
28767
4931827f 287682007-12-25 Robert Millan <rmh@aybabtu.com>
28769
28770 * configure.ac: Search for possible unifont.hex locations, and
28771 define UNIFONT_HEX if found.
28772
28773 * Makefile.in (UNIFONT_HEX): Define variable.
28774 (DATA): Rename to ...
28775 (PKGLIB): ... this. Update all users.
28776 (PKGDATA): New variable.
28777 (pkgdata_IMAGES): Rename to ...
28778 (pkglib_IMAGES): ... this. Update all users.
28779 (pkgdata_MODULES): Rename to ...
28780 (pkglib_MODULES): ... this. Update all users.
28781 (pkgdata_PROGRAMS): Rename to ...
28782 (pkglib_PROGRAMS): ... this. Update all users.
28783 (pkgdata_DATA): Rename to ...
28784 (pkglib_DATA): ... this. Update all users.
28785 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
28786 (unicode.pff, ascii.pff): New rules.
28787 (all-local): Add `$(PKGDATA)' dependency.
28788 (install-local): Process `$(PKGDATA)'.
28789
28790 * util/update-grub_lib.in (font_path): Search for *.pff files in
28791 a few more locations, including `${pkgdata}'.
28792
57e57e31 287932007-12-23 Robert Millan <rmh@aybabtu.com>
28794
28795 Patch from Bean <bean123ch@gmail.com>:
28796 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
28797 `size'.
28798
4bc72aa9 287992007-12-21 Bean <bean123ch@gmail.com>
28800
28801 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
28802 (ntfscomp_mod_SOURCES): New variable.
28803 (ntfscomp_mod_CFLAGS): Likewise.
28804 (ntfscomp_mod_LDFLAGS): Likewise.
28805
28806 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
28807 (grub_probe_SOURCES): Likewise.
28808 (grub_emu_SOURCES): Likewise.
28809
28810 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
28811 (grub_emu_SOURCES): Likewise.
28812
28813 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
28814 (grub_emu_SOURCES): Likewise.
28815
28816 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
28817 (grub_emu_SOURCES): Likewise.
28818
28819 * fs/ntfs.c (grub_ntfscomp_func): New variable.
28820 (read_run_list): Renamed to grub_ntfs_read_run_list.
28821 (decomp_nextvcn): Moved to ntfscomp.c.
28822 (decomp_getch): Likewise.
28823 (decomp_get16): Likewise.
28824 (decomp_block): Likewise.
28825 (read_block): Likewise.
28826 (read_data): Partially moved to ntfscomp.c.
28827 (fixup): Change unsigned to grub_uint16_t.
28828 (read_mft): Change unsigned long to grub_uint32_t.
28829 (read_attr): Likewise.
28830 (read_data): Likewise.
28831 (read_run_data): Likewise.
28832 (read_run_list): Likewise.
28833 (read_mft): Likewise.
28834
28835 * fs/ntfscomp.c: New file.
28836
28837 * include/grub/ntfs.h: New file.
28838
af680a87 288392007-12-16 Robert Millan <rmh@aybabtu.com>
28840
28841 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
28842 IDE disk check, since Linux is known to support 20 IDE disks.
28843 Reported by Colin Watson.
28844
84be7599 288452007-12-15 Bean <bean123ch@gmail.com>
28846
28847 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
28848 (lnxboot_img_SOURCES): New variable.
28849 (lnxboot_img_ASFLAGS): Likewise.
28850 (lnxboot_img_LDFLAGS): Likewise.
28851
28852 * boot/i386/pc/lnxboot.S: New file.
28853
6af9db01 288542007-11-24 Pavel Roskin <proski@gnu.org>
28855
28856 * configure.ac: Test if '--build-id=none' is supported by the
28857 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
28858 objcopy to generate incorrect binary files (binutils
28859 2.17.50.0.18-1 as shipped by Fedora 8).
28860 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
28861 linking, so that build ID doesn't break the test.
28862
7361cfe6 288632007-11-24 Pavel Roskin <proski@gnu.org>
28864
28865 * include/grub/i386/time.h: use "void" in the argument list
28866 of grub_cpu_idle().
28867 * include/grub/powerpc/time.h: Likewise.
28868 * include/grub/sparc64/time.h: Likewise.
28869
1593e10c 288702007-11-18 Christian Franke <franke@computer.org>
28871
28872 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
28873 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
28874 This fixes the problem that function keys did not work in grub-emu.
28875
3b8db1a8 288762007-11-18 Christian Franke <franke@computer.org>
28877
28878 * disk/host.c (grub_host_open): Remove attribute unused from
28879 name parameter. Add check for "host". This fixes the problem
28880 that grub-emu does not find partitions.
28881
2e29408d 288822007-11-18 Christian Franke <franke@computer.org>
28883
28884 * util/hostfs.c (is_dir): New function.
28885 (grub_hostfs_dir): Handle missing dirent.d_type case.
28886 (grub_hostfs_read): Add missing fseek().
28887 (grub_hostfs_label): Clear label pointer. This fixes a crash
28888 of grub-emu on "ls (host)".
28889
398cd047 288902007-11-18 Christian Franke <franke@computer.org>
28891
28892 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
28893 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
28894 to 64 bit boundary by default.
28895
c405c391 288962007-11-18 Bean <bean123ch@gmail.com>
28897
28898 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
28899 (hexdump_mod_SOURCES): New variable.
28900 (hexdump_mod_CFLAGS): Likewise.
28901 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 28902
c405c391 28903 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
28904
28905 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
28906
28907 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
28908
28909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
28910
28911 * include/grub/hexdump.h: New file.
28912
28913 * commands/hexdump.c: New file.
28914
5cced7fd 289152007-11-10 Robert Millan <rmh@aybabtu.com>
28916
28917 * commands/i386/pc/play.c (beep_off): Switch order of arguments
28918 in grub_outb() calls.
28919 (beep_on): Likewise.
28920
8b714eb0 289212007-11-10 Christian Franke <franke@computer.org>
28922
28923 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
28924 (grub_menu_run): Likewise.
28925
ce0f1839 289262007-11-10 Robert Millan <rmh@aybabtu.com>
28927
28928 * include/grub/i386/efi/machine.h: New file.
28929 * include/grub/i386/linuxbios/machine.h: Likewise.
28930 * include/grub/i386/pc/machine.h: Likewise.
28931 * include/grub/powerpc/ieee1275/machine.h: Likewise.
28932 * include/grub/sparc64/ieee1275/machine.h: Likewise.
28933
28934 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
28935 (serial_hw_io_addr): New variable.
28936 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
28937 instead of `(unsigned short *) 0x400'.
28938
270c237d 289392007-11-10 Bean <bean123ch@gmail.com>
28940
28941 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
28942
a87783bf 289432007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
28944
28945 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
28946 (vga_mod_SOURCES): Added.
28947 (vga_mod_CFLAGS): Likewise.
28948 (vga_mod_LDFLAGS): Likewise.
28949
28950 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
28951 grub_outb() calls.
28952 (set_map_mask): Likewise.
28953 (set_read_map): Likewise.
28954 (set_read_address): Likewise.
28955 (vga_font): Removed variable.
28956 (get_vga_glyph): Removed function.
28957 (invalidate_char): Likewise.
28958 (write_char): Changed to use grub_font_get_glyph() for font
28959 information.
28960 (grub_vga_putchar): Likewise.
28961 (grub_vga_getcharwidth): Likewise.
28962
6433b448 289632007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
28964
28965 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
28966 flags.
28967 (pxeboot_img_LDFLAGS): Likewise.
28968 (diskboot_img_LDFLAGS): Likewise.
28969 (kernel_img_LDFLAGS): Likewise.
28970
49178511 289712007-11-06 Robert Millan <rmh@aybabtu.com>
28972
28973 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
28974 in grub_outb() calls.
28975 (serial_hw_init): Likewise.
28976
53b052de 289772007-11-05 Robert Millan <rmh@aybabtu.com>
28978
28979 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
28980 spaces. Skip non-regular files.
28981
5ab33bba 289822007-11-05 Robert Millan <rmh@aybabtu.com>
28983
28984 * kern/disk.c (grub_disk_firmware_fini)
28985 (grub_disk_firmware_is_tainted): New variables.
28986
28987 * include/grub/disk.h (grub_disk_firmware_fini)
28988 (grub_disk_firmware_is_tainted): Likewise.
28989
28990 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
28991 (grub_disk_biosdisk_fini): ... to here.
28992 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
28993 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
28994 is set. Register grub_disk_biosdisk_fini() in
28995 `grub_disk_firmware_fini'.
28996
28997 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
28998 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
28999 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
29000 to finish existing firmware disk interface.
29001
29002 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
29003 (ata_mod_SOURCES): New variable.
29004 (ata_mod_CFLAGS): Likewise.
29005 (ata_mod_LDFLAGS): Likewise.
29006
0149ab7c 290072007-11-05 Robert Millan <rmh@aybabtu.com>
29008
29009 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
29010 (grub_ata_wait): Reimplement using grub_millisleep().
29011
29012 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
29013 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
29014
be7ac41e 290152007-11-03 Marco Gerards <marco@gnu.org>
29016
29017 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
29018 (CRTC_ADDR_PORT): New macro.
29019 (CRTC_DATA_PORT): Likewise.
29020 (CRTC_CURSOR): Likewise.
29021 (CRTC_CURSOR_ADDR_HIGH): Likewise.
29022 (CRTC_CURSOR_ADDR_LOW): Likewise.
29023 (update_cursor): New function.
29024 (grub_console_real_putchar): Call `update_cursor'.
29025 (grub_console_gotoxy): Likewise.
29026 (grub_console_cls): Set the default color when clearing the
29027 screen.
29028 (grub_console_setcursor): Implemented.
29029
bb06ab2e 290302007-11-03 Marco Gerards <marco@gnu.org>
29031
29032 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
29033 become activate.
29034 (grub_ata_pio_write): Likewise.
29035
29036 (grub_atapi_identify): Wait after issuing an ATA command.
29037 (grub_atapi_packet): Likewise.
29038 (grub_ata_identify): Likewise.
29039 (grub_ata_readwrite): Likewise.
29040
cf8f780b 290412007-11-03 Marco Gerards <marco@gnu.org>
29042
29043 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
29044 (grub_ata_pio_write): Likewise.
29045 (grub_ata_readwrite): Use `grub_error', instead of
29046 returning `grub_errno'.
29047
ed649e54 290482007-11-03 Marco Gerards <marco@gnu.org>
29049
29050 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
29051 grub_ata_pio_write once for every single sector, instead of for
29052 multiple sectors.
29053
ca25d8f0 290542007-10-31 Robert Millan <rmh@aybabtu.com>
29055
29056 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
29057
29058 * conf/i386-linuxbios.rmk: New file.
29059
29060 * kern/i386/pc/hardware.c: Likewise.
29061 * term/i386/pc/at_keyboard.c: Likewise.
29062 * term/i386/pc/vga_text.c: Likewise.
29063
29064 * include/grub/i386/linuxbios/boot.h: Likewise.
29065 * include/grub/i386/linuxbios/console.h: Likewise.
29066 * include/grub/i386/linuxbios/init.h: Likewise.
29067 * include/grub/i386/linuxbios/kernel.h: Likewise.
29068 * include/grub/i386/linuxbios/loader.h: Likewise.
29069 * include/grub/i386/linuxbios/memory.h: Likewise.
29070 * include/grub/i386/linuxbios/serial.h: Likewise.
29071 * include/grub/i386/linuxbios/time.h: Likewise.
29072
29073 * kern/i386/linuxbios/init.c: Likewise.
29074 * kern/i386/linuxbios/startup.S: Likewise.
29075 * kern/i386/linuxbios/table.c: Likewise.
29076
e911ecc1 290772007-10-31 Marco Gerards <marco@gnu.org>
29078
29079 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
29080 (ata_mod_SOURCES): New variable.
29081 (ata_mod_CFLAGS): Likewise.
29082 (ata_mod_LDFLAGS): Likewise.
29083
29084 * disk/ata.c: New file.
29085
29086 * include/grub/disk.h (grub_disk_dev_id): Add
29087 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 29088
7f66d0e0 290892007-10-31 Robert Millan <rmh@aybabtu.com>
29090
29091 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
29092 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
29093
29094 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
29095 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
29096
29097 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
29098 `<grub/types.h>'.
29099
29100 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
29101
5cd7dd46 291022007-10-27 Robert Millan <rmh@aybabtu.com>
29103
3236ca65 29104 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 29105
2ebfc90f 291062007-10-22 Robert Millan <rmh@aybabtu.com>
29107
29108 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
29109 `"../realmode.S"'.
29110 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
29111
73fcb0f3 291122007-10-22 Robert Millan <rmh@aybabtu.com>
29113
29114 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
29115 (pkgdata_MODULES): Add `biosdisk.mod'.
29116 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
29117 variables.
29118
29119 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
29120 (grub_biosdisk_init): Replace with ...
29121 (GRUB_MOD_INIT(biosdisk)): ... this.
29122 (grub_biosdisk_fini): Replace with ...
29123 (GRUB_MOD_FINI(biosdisk)): ... this.
29124
29125 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
29126 (grub_machine_init): Remove call to grub_biosdisk_init().
29127 (grub_machine_fini): Remove call to grub_machine_fini().
29128
29129 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
29130
3381d274 291312007-10-22 Robert Millan <rmh@aybabtu.com>
29132
29133 * include/grub/time.h: New file.
29134 * include/grub/i386/time.h: Likewise.
29135 * include/grub/powerpc/time.h: Likewise.
29136 * include/grub/sparc64/time.h: Likewise.
29137
29138 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
29139 instances to ...
29140 (KERNEL_MACHINE_TIME_HEADER): ... this.
29141 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29142 instances to ...
29143 (KERNEL_MACHINE_TIME_HEADER): ... this.
29144 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29145 instances to ...
29146 (KERNEL_MACHINE_TIME_HEADER): ... this.
29147
29148 * kern/i386/efi/init.c: Include `<grub/time.h>'.
29149 (grub_millisleep): New function.
29150 * kern/i386/pc/init.c: Include `<grub/time.h>'.
29151 (grub_millisleep): New function.
29152 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
29153 Remove `grub/machine/time.h' include.
29154 (grub_millisleep): New function.
29155 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
29156 Remove `grub/machine/time.h' include.
29157 (grub_millisleep): New function.
29158
29159 * include/grub/misc.h (grub_div_roundup): New function.
29160
29161 * kern/misc.c: Include `<grub/time.h>'.
29162 (grub_millisleep_generic): New function.
29163
29164 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
29165 Add `time.h'.
29166 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
29167 Add `time.h'.
29168 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
29169 `machine/time.h'. Add `time.h'.
29170 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
29171
a39a0312 291722007-10-21 Robert Millan <rmh@aybabtu.com>
29173
29174 * include/grub/misc.h (grub_max): New function.
29175
2aad70e2 291762007-10-21 Robert Millan <rmh@aybabtu.com>
29177
29178 * util/misc.c (grub_util_info): Call fflush() before returning.
29179
54b71c4b 291802007-10-20 Robert Millan <rmh@aybabtu.com>
29181
29182 * genmk.rb (Image): Copy `extra_flags' from here ...
29183 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
29184
29185 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
29186 to `argc' and `args' arguments.
29187
a979f513 291882007-10-17 Robert Millan <rmh@aybabtu.com>
29189
29190 * kern/i386/loader.S: New file.
29191
29192 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
29193 * kern/i386/loader.S (grub_linux_prot_size)... to here.
29194 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
29195 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
29196 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
29197 * kern/i386/loader.S (grub_linux_real_addr)... to here.
29198 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
29199 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
29200 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
29201 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
29202 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
29203 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
29204 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
29205 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
29206
29207 * kern/i386/realmode.S: New file.
29208
29209 * kern/i386/pc/startup.S (protstack): Moved from here ...
29210 * kern/i386/realmode.S (protstack)... to here.
29211 * kern/i386/pc/startup.S (gdt): Moved from here ...
29212 * kern/i386/realmode.S (gdt)... to here.
29213 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
29214 * kern/i386/realmode.S (prot_to_real)... to here.
29215
29216 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
29217 `kern/i386/realmode.S'.
29218
825fc8fd 292192007-10-17 Robert Millan <rmh@aybabtu.com>
29220
29221 * include/grub/i386/loader.h: New file.
29222
29223 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
29224 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29225 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29226 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29227 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
29228 * include/grub/i386/loader.h (grub_linux_prot_size)
29229 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29230 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29231 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29232 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
29233
29234 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
29235
e179b2f4 292362007-10-15 Robert Millan <rmh@aybabtu.com>
29237
29238 * normal/misc.c (grub_normal_print_device_info): Do not probe for
29239 filesystem when dev->disk is unset.
29240 Do probe for filesystem even when dev->disk->has_partitions is set.
29241 In case a filesystem is found, always report it.
29242 In case it isn't, if dev->disk->has_partitions is set, report that
29243 a partition table was found instead of reporting that no filesystem
29244 could be identified.
29245
5db82af6 292462007-10-12 Robert Millan <rmh@aybabtu.com>
29247
29248 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
29249 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
29250
68f6ac74 29251 * include/grub/types.h (grub_host_to_target16): New macro.
29252 (grub_host_to_target32): Likewise.
29253 (grub_host_to_target64): Likewise.
29254 (grub_target_to_host16): Likewise.
29255 (grub_target_to_host32): Likewise.
29256 (grub_target_to_host64): Likewise.
5db82af6 29257
29258 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
29259 Renamed from to ...
29260 (GRUB_MOD_ALIGN): ...this. Update all users.
29261
68f6ac74 29262 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
29263 grub_host_to_target32.
29264 Replace grub_be_to_cpu32 with grub_target_to_host32.
29265 (load_modules): Likewise.
29266 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
29267 Replace grub_be_to_cpu32 with grub_target_to_host32.
29268 Replace grub_cpu_to_be16 with grub_host_to_target16.
29269 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 29270
3cf497cc 292712007-10-12 Robert Millan <rmh@aybabtu.com>
29272
29273 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
29274 * util/elf/grub-mkimage.c: ... here.
29275
29276 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
29277 `util/powerpc/ieee1275/grub-mkimage.c'.
29278
c8cc3692 292792007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 29280
c8cc3692 29281 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
29282 and make it easier to figure out.
29283 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
29284 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
29285 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
29286 leave us with less than HEAP_MIN_SIZE total heap.
29287 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 29288
5c58b791 292892007-10-03 Robert Millan <rmh@aybabtu.com>
29290
29291 * include/grub/i386/io.h: New file.
29292 * commands/i386/pc/play.c (inb): Removed.
29293 (outb): Removed.
29294 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29295 with grub_outb().
afcd2ef8 29296 * term/i386/pc/serial.c (inb): Removed.
29297 (outb): Removed.
29298 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29299 with grub_outb().
29300 * term/i386/pc/vga.c (inb): Removed.
29301 (outb): Removed.
29302 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29303 with grub_outb().
5c58b791 29304
1a477ed6 293052007-10-02 Robert Millan <rmh@aybabtu.com>
29306
29307 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
29308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29309 Reported by Marcin Kurek.
29310
6b5d80fa 293112007-09-07 Robert Millan <rmh@aybabtu.com>
29312
29313 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
29314 SmartFirmware version updates (as released by Sven Luther), and avoid
29315 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
29316 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
29317 known broken.
29318
5618afbf 293192007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29320
29321 From Hitoshi Ozeki:
29322 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
29323 when merging two regions.
29324
6139dcd9 293252007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29326
508e39ee 29327 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
29328 * normal/completion.c (grub_normal_do_completion): Likewise.
29329 Reported by Hitoshi Ozeki.
29330
293312007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 29332
6139dcd9 29333 Do not use devices at boot in chainloading.
f19dbdb7 29334
6139dcd9 29335 * loader/i386/pc/chainloader.c (boot_drive): New variable.
29336 (boot_part_addr): Likewise.
29337 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
29338 with BOOT_DRIVE and BOOT_PART_ADDR.
29339 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
29340 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
29341
38da6516 293422007-08-29 Robert Millan <rmh@aybabtu.com>
29343
29344 Patch from Simon Peter <dn.tlp@gmx.net>:
29345 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
29346 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
29347 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
29348 util/i386/pc/grub-setup.c_DEPENDENCIES.
29349 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
29350 util/grub-probe.c_DEPENDENCIES.
29351 * conf/powerpc-ieee1275.rmk: Likewise.
29352
29d0928c 293532007-08-28 Robert Millan <rmh@aybabtu.com>
29354
29355 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
29356 to tell grub-mkdevicemap how to name devices.
29357 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
29358 feature).
29359
29360 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
29361 util/i386/get_disk_name.c.
29362 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
29363 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
29364 util/ieee1275/get_disk_name.c.
29365
29366 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
29367
29368 * DISTLIST: Add util/i386/get_disk_name.c and
29369 util/ieee1275/get_disk_name.c.
29370
29371 * util/grub-mkdevicemap.c: Replace device naming logic with
29372 grub_util_get_disk_name() calls.
29373
5a0d3cca 293742007-08-20 Robert Millan <rmh@aybabtu.com>
29375
29376 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
29377 (so that it works for both plural and singular quantities).
29378
8b72db2f 293792007-08-05 Robert Millan <rmh@aybabtu.com>
29380
29381 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
29382 so that [xz] isn't taken into account when determining order.
29383
352466bf 293842007-08-02 Marco Gerards <marco@gnu.org>
29385
29386 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
29387 `include/multiboot2.h', `include/grub/elfload.h',
29388 `include/multiboot.h', `include/grub/multiboot.h',
29389 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
29390 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
29391 `kern/elf.c', `loader/multiboot_loader.c',
29392 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
29393 `loader/i386/pc/multiboot2.c',
29394 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
29395 `util/i386/pc/grub-mkrescue.in'. Remove
29396 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
29397 `include/grub/i386/pc/util/biosdisk.h' and
29398 `include/grub/powerpc/ieee1275/multiboot.h'.
29399
8f096014 294002007-08-02 Bean <bean123ch@gmail.com>
29401
29402 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
29403 (ntfs_mod_SOURCES): New variable.
29404 (ntfs_mod_CFLAGS): Likewise.
29405 (ntfs_mod_LDFLAGS): Likewise.
29406
29407 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
29408 (grub_probe_SOURCES): Likewise.
29409 (grub_emu_SOURCES): Likewise.
29410
29411 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
29412 (grub_emu_SOURCES): Likewise.
29413
29414 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
29415 (grub_emu_SOURCES): Likewise.
f19dbdb7 29416
8f096014 29417 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
29418
29419 * fs/ntfs.c: New file.
29420
9959f7db 294212007-08-02 Bean <bean123ch@gmail.com>
29422
29423 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
29424
29425 * file.h (grub_file): Likewise.
29426
29427 * fshelp.h (grub_fshelp_read_file): Likewise.
29428
29429 * util/i386/pc/grub-setup.c (setup): Likewise.
29430 (save_first_sector): Likewise.
29431 (save_blocklists): Likewise.
f19dbdb7 29432
9959f7db 29433 * fs/affs.c (grub_affs_read_file): Likewise.
29434
29435 * fs/ext2.c (grub_ext2_read_file): Likewise.
29436
29437 * fs/fat.c (grub_fat_read_data): Likewise.
29438
29439 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
29440
29441 * fs/hfs.c (grub_hfs_read_file): Likewise.
29442
29443 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
29444
29445 * fs/jfs.c (grub_jfs_read_file): Likewise.
29446
29447 * fs/minix.c (grub_minix_read_file): Likewise.
29448
29449 * fs/sfs.c (grub_sfs_read_file): Likewise.
29450
29451 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 29452
9959f7db 29453 * fs/xfs.c (grub_xfs_read_file): Likewise.
29454
29455 * command/blocklist.c (read_blocklist): Likewise.
29456 (print_blocklist): Likewise.
29457
0a203f83 294582007-08-02 Marco Gerards <marco@gnu.org>
29459
29460 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
29461 `util/hostfs.c'.
29462
29463 * disk/host.c: New file.
29464
29465 * util/hostfs.c: Likewise.
29466
29467 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
29468 return `GRUB_ERR_BAD_FS'.
29469 * fs/sfs.c (grub_sfs_mount): Likewise.
29470 * fs/xfs.c (grub_xfs_mount): Likewise.
29471
29472 * include/grub/disk.h (enum grub_disk_dev_id): Add
29473 `GRUB_DISK_DEVICE_HOST_ID'.
29474
29475 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
29476
e5dfe777 294772007-07-24 Jerone Young <jerone@gmail.com>
29478
f19dbdb7 29479 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 29480 modules for compilation.
29481 * conf/powerpc-ieee1275.rmk: Likewise.
29482
29483 * include/multiboot.h: Move multiboot definitions to one file. Rename
29484 many definitions to not get grub specific.
29485 * include/multiboot2.h: Create header with multiboot 2 definitions.
29486 * include/grub/multiboot.h: Header for grub specific function
29487 prototypes and definitions.
29488 * include/grub/multiboot2.h: Likewise.
29489 * include/grub/multiboot_loader.h: Likewise.
29490 * include/grub/i386/pc/multiboot.h: Removed.
29491 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
29492
29493 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
29494 and 2 to allow for one multiboot and module commands.
29495 * loader/multiboot2.c: Add multiboot2 functionality.
29496 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
29497 and definition names.
29498 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
29499 2 functions.
29500 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
29501 ieee1275 specific multiboot2 code.
29502
29503 * kern/i386/pc/startup.S: Change headers and definition names for
29504 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
29505
daf0f0ba 295062007-07-22 Robert Millan <rmh@aybabtu.com>
29507
29508 * geninitheader.sh: Process file specified in first parameter rather
29509 than hardcoding grub_modules_init.lst.
fe6b695a 29510 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 29511 than hardcoding grub_modules_init.h.
29512
29513 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
29514 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
29515 grub_probe_init.[ch] and grub_setup_init.[ch].
29516
29517 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
29518 grub_modules_init.h with grub_emu_init.h.
29519 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
29520 grub_probe_init.[ch] files.
29521 * conf/i386-efi.rmk: Likewise.
29522 * conf/i386-pc.rmk: Likewise.
29523 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
29524 grub_setup_init.[ch] files.
29525
29526 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
29527 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
29528 to initialize modules rather than a list of hardcoded functions.
29529 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
29530 grub_init_all() to initialize modules rather than a list of hardcoded
29531 functions.
29532
54cdc1cc 295332007-07-22 Robert Millan <rmh@aybabtu.com>
29534
29535 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
29536 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
29537
ad0686cc 295382007-07-22 Robert Millan <rmh@aybabtu.com>
29539
29540 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
29541 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
29542 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
29543 flag when running on SmartFirmware.
29544 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
29545 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
29546 was set.
29547
29548 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
29549 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
29550 rather than decreasing it.
29551
29552 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
29553 there's not enough space to do it, fail in the same way as when it
29554 can't be done because there are no partitions.
29555
29556 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
29557 when nvsetenv failed.
29558
969c02ec 295592007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
29560
29561 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
29562 because this rule is automatically generated.
29563 (grub-mkrescue): Removed for the same reason as above.
29564
5a79f472 295652007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
29566
29567 Migrate to GNU General Public License Version 3.
f19dbdb7 29568
5a79f472 29569 * COPYING: Replaced with the plain text version of GPLv3.
29570
29571 * config.guess: Updated from gnulib.
29572 * config.sub: Likewise.
29573
29574 * geninit.sh: Output a GPLv3 copyright notice.
29575 * geninitheader.sh: Likewise.
29576 * genmodsrc.sh: Likewise.
29577 * gensymlist.sh.in: Likewise.
29578
29579 * boot/i386/pc/boot.S: Upgraded to GPLv3.
29580 * boot/i386/pc/diskboot.S: Likewise.
29581 * boot/i386/pc/pxeboot.S: Likewise.
29582 * commands/blocklist.c: Likewise.
29583 * commands/boot.c: Likewise.
29584 * commands/cat.c: Likewise.
29585 * commands/cmp.c: Likewise.
29586 * commands/configfile.c: Likewise.
29587 * commands/echo.c: Likewise.
29588 * commands/help.c: Likewise.
29589 * commands/ls.c: Likewise.
29590 * commands/search.c: Likewise.
29591 * commands/terminal.c: Likewise.
29592 * commands/test.c: Likewise.
29593 * commands/videotest.c: Likewise.
29594 * commands/i386/cpuid.c: Likewise.
29595 * commands/i386/pc/halt.c: Likewise.
29596 * commands/i386/pc/play.c: Likewise.
29597 * commands/i386/pc/reboot.c: Likewise.
29598 * commands/i386/pc/vbeinfo.c: Likewise.
29599 * commands/i386/pc/vbetest.c: Likewise.
29600 * commands/ieee1275/halt.c: Likewise.
29601 * commands/ieee1275/reboot.c: Likewise.
29602 * commands/ieee1275/suspend.c: Likewise.
29603 * disk/loopback.c: Likewise.
29604 * disk/lvm.c: Likewise.
29605 * disk/raid.c: Likewise.
29606 * disk/efi/efidisk.c: Likewise.
29607 * disk/i386/pc/biosdisk.c: Likewise.
29608 * disk/ieee1275/ofdisk.c: Likewise.
29609 * font/manager.c: Likewise.
29610 * fs/affs.c: Likewise.
29611 * fs/ext2.c: Likewise.
29612 * fs/fat.c: Likewise.
29613 * fs/fshelp.c: Likewise.
29614 * fs/hfs.c: Likewise.
29615 * fs/hfsplus.c: Likewise.
29616 * fs/iso9660.c: Likewise.
29617 * fs/jfs.c: Likewise.
29618 * fs/minix.c: Likewise.
29619 * fs/sfs.c: Likewise.
29620 * fs/ufs.c: Likewise.
29621 * fs/xfs.c: Likewise.
29622 * hello/hello.c: Likewise.
29623 * include/grub/acorn_filecore.h: Likewise.
29624 * include/grub/arg.h: Likewise.
29625 * include/grub/bitmap.h: Likewise.
29626 * include/grub/boot.h: Likewise.
29627 * include/grub/cache.h: Likewise.
29628 * include/grub/device.h: Likewise.
29629 * include/grub/disk.h: Likewise.
29630 * include/grub/dl.h: Likewise.
29631 * include/grub/elfload.h: Likewise.
29632 * include/grub/env.h: Likewise.
29633 * include/grub/err.h: Likewise.
29634 * include/grub/file.h: Likewise.
29635 * include/grub/font.h: Likewise.
29636 * include/grub/fs.h: Likewise.
29637 * include/grub/fshelp.h: Likewise.
29638 * include/grub/gzio.h: Likewise.
29639 * include/grub/hfs.h: Likewise.
29640 * include/grub/kernel.h: Likewise.
29641 * include/grub/loader.h: Likewise.
29642 * include/grub/lvm.h: Likewise.
29643 * include/grub/misc.h: Likewise.
29644 * include/grub/mm.h: Likewise.
29645 * include/grub/net.h: Likewise.
29646 * include/grub/normal.h: Likewise.
29647 * include/grub/parser.h: Likewise.
29648 * include/grub/partition.h: Likewise.
29649 * include/grub/pc_partition.h: Likewise.
29650 * include/grub/raid.h: Likewise.
29651 * include/grub/rescue.h: Likewise.
29652 * include/grub/script.h: Likewise.
29653 * include/grub/setjmp.h: Likewise.
29654 * include/grub/symbol.h: Likewise.
29655 * include/grub/term.h: Likewise.
29656 * include/grub/terminfo.h: Likewise.
29657 * include/grub/tparm.h: Likewise.
29658 * include/grub/types.h: Likewise.
29659 * include/grub/video.h: Likewise.
29660 * include/grub/efi/api.h: Likewise.
29661 * include/grub/efi/chainloader.h: Likewise.
29662 * include/grub/efi/console.h: Likewise.
29663 * include/grub/efi/console_control.h: Likewise.
29664 * include/grub/efi/disk.h: Likewise.
29665 * include/grub/efi/efi.h: Likewise.
29666 * include/grub/efi/pe32.h: Likewise.
29667 * include/grub/efi/time.h: Likewise.
29668 * include/grub/i386/linux.h: Likewise.
29669 * include/grub/i386/setjmp.h: Likewise.
29670 * include/grub/i386/types.h: Likewise.
29671 * include/grub/i386/efi/kernel.h: Likewise.
29672 * include/grub/i386/efi/loader.h: Likewise.
29673 * include/grub/i386/efi/time.h: Likewise.
29674 * include/grub/i386/pc/biosdisk.h: Likewise.
29675 * include/grub/i386/pc/boot.h: Likewise.
29676 * include/grub/i386/pc/chainloader.h: Likewise.
29677 * include/grub/i386/pc/console.h: Likewise.
29678 * include/grub/i386/pc/init.h: Likewise.
29679 * include/grub/i386/pc/kernel.h: Likewise.
29680 * include/grub/i386/pc/loader.h: Likewise.
29681 * include/grub/i386/pc/memory.h: Likewise.
29682 * include/grub/i386/pc/multiboot.h: Likewise.
29683 * include/grub/i386/pc/serial.h: Likewise.
29684 * include/grub/i386/pc/time.h: Likewise.
29685 * include/grub/i386/pc/vbe.h: Likewise.
29686 * include/grub/i386/pc/vbeblit.h: Likewise.
29687 * include/grub/i386/pc/vbefill.h: Likewise.
29688 * include/grub/i386/pc/vbeutil.h: Likewise.
29689 * include/grub/i386/pc/vga.h: Likewise.
29690 * include/grub/ieee1275/ieee1275.h: Likewise.
29691 * include/grub/ieee1275/ofdisk.h: Likewise.
29692 * include/grub/powerpc/libgcc.h: Likewise.
29693 * include/grub/powerpc/setjmp.h: Likewise.
29694 * include/grub/powerpc/types.h: Likewise.
29695 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
29696 * include/grub/powerpc/ieee1275/console.h: Likewise.
29697 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
29698 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
29699 * include/grub/powerpc/ieee1275/loader.h: Likewise.
29700 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
29701 * include/grub/powerpc/ieee1275/time.h: Likewise.
29702 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
29703 * include/grub/sparc64/libgcc.h: Likewise.
29704 * include/grub/sparc64/setjmp.h: Likewise.
29705 * include/grub/sparc64/types.h: Likewise.
29706 * include/grub/sparc64/ieee1275/console.h: Likewise.
29707 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29708 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29709 * include/grub/sparc64/ieee1275/time.h: Likewise.
29710 * include/grub/util/biosdisk.h: Likewise.
29711 * include/grub/util/getroot.h: Likewise.
29712 * include/grub/util/lvm.h: Likewise.
29713 * include/grub/util/misc.h: Likewise.
29714 * include/grub/util/raid.h: Likewise.
29715 * include/grub/util/resolve.h: Likewise.
29716 * io/gzio.c: Likewise.
29717 * kern/device.c: Likewise.
29718 * kern/disk.c: Likewise.
29719 * kern/dl.c: Likewise.
29720 * kern/elf.c: Likewise.
29721 * kern/env.c: Likewise.
29722 * kern/err.c: Likewise.
29723 * kern/file.c: Likewise.
29724 * kern/fs.c: Likewise.
29725 * kern/loader.c: Likewise.
29726 * kern/main.c: Likewise.
29727 * kern/misc.c: Likewise.
29728 * kern/mm.c: Likewise.
29729 * kern/parser.c: Likewise.
29730 * kern/partition.c: Likewise.
29731 * kern/rescue.c: Likewise.
29732 * kern/term.c: Likewise.
29733 * kern/efi/efi.c: Likewise.
29734 * kern/efi/init.c: Likewise.
29735 * kern/efi/mm.c: Likewise.
29736 * kern/i386/dl.c: Likewise.
29737 * kern/i386/efi/init.c: Likewise.
29738 * kern/i386/efi/startup.S: Likewise.
29739 * kern/i386/pc/init.c: Likewise.
29740 * kern/i386/pc/lzo1x.S: Likewise.
29741 * kern/i386/pc/startup.S: Likewise.
29742 * kern/ieee1275/ieee1275.c: Likewise.
29743 * kern/powerpc/cache.S: Likewise.
29744 * kern/powerpc/dl.c: Likewise.
29745 * kern/powerpc/ieee1275/cmain.c: Likewise.
29746 * kern/powerpc/ieee1275/crt0.S: Likewise.
29747 * kern/powerpc/ieee1275/init.c: Likewise.
29748 * kern/powerpc/ieee1275/openfw.c: Likewise.
29749 * kern/sparc64/cache.S: Likewise.
29750 * kern/sparc64/dl.c: Likewise.
29751 * kern/sparc64/ieee1275/init.c: Likewise.
29752 * kern/sparc64/ieee1275/openfw.c: Likewise.
29753 * loader/efi/chainloader.c: Likewise.
29754 * loader/efi/chainloader_normal.c: Likewise.
29755 * loader/i386/efi/linux.c: Likewise.
29756 * loader/i386/efi/linux_normal.c: Likewise.
29757 * loader/i386/pc/chainloader.c: Likewise.
29758 * loader/i386/pc/chainloader_normal.c: Likewise.
29759 * loader/i386/pc/linux.c: Likewise.
29760 * loader/i386/pc/linux_normal.c: Likewise.
29761 * loader/i386/pc/multiboot.c: Likewise.
29762 * loader/i386/pc/multiboot_normal.c: Likewise.
29763 * loader/powerpc/ieee1275/linux.c: Likewise.
29764 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29765 * normal/arg.c: Likewise.
29766 * normal/cmdline.c: Likewise.
29767 * normal/command.c: Likewise.
29768 * normal/completion.c: Likewise.
29769 * normal/execute.c: Likewise.
29770 * normal/function.c: Likewise.
29771 * normal/lexer.c: Likewise.
29772 * normal/main.c: Likewise.
29773 * normal/menu.c: Likewise.
29774 * normal/menu_entry.c: Likewise.
29775 * normal/misc.c: Likewise.
29776 * normal/parser.y: Likewise.
29777 * normal/script.c: Likewise.
29778 * normal/i386/setjmp.S: Likewise.
29779 * normal/powerpc/setjmp.S: Likewise.
29780 * normal/sparc64/setjmp.S: Likewise.
29781 * partmap/acorn.c: Likewise.
29782 * partmap/amiga.c: Likewise.
29783 * partmap/apple.c: Likewise.
29784 * partmap/gpt.c: Likewise.
29785 * partmap/pc.c: Likewise.
29786 * partmap/sun.c: Likewise.
29787 * term/gfxterm.c: Likewise.
29788 * term/terminfo.c: Likewise.
29789 * term/efi/console.c: Likewise.
29790 * term/i386/pc/console.c: Likewise.
29791 * term/i386/pc/serial.c: Likewise.
29792 * term/i386/pc/vesafb.c: Likewise.
29793 * term/i386/pc/vga.c: Likewise.
29794 * term/ieee1275/ofconsole.c: Likewise.
29795 * util/biosdisk.c: Likewise.
29796 * util/console.c: Likewise.
29797 * util/genmoddep.c: Likewise.
29798 * util/getroot.c: Likewise.
29799 * util/grub-emu.c: Likewise.
29800 * util/grub-mkdevicemap.c: Likewise.
29801 * util/grub-probe.c: Likewise.
29802 * util/lvm.c: Likewise.
29803 * util/misc.c: Likewise.
29804 * util/raid.c: Likewise.
29805 * util/resolve.c: Likewise.
29806 * util/update-grub.in: Likewise.
29807 * util/update-grub_lib.in: Likewise.
29808 * util/grub.d/00_header.in: Likewise.
29809 * util/grub.d/10_hurd.in: Likewise.
29810 * util/grub.d/10_linux.in: Likewise.
29811 * util/i386/efi/grub-install.in: Likewise.
29812 * util/i386/efi/grub-mkimage.c: Likewise.
29813 * util/i386/pc/grub-install.in: Likewise.
29814 * util/i386/pc/grub-mkimage.c: Likewise.
29815 * util/i386/pc/grub-mkrescue.in: Likewise.
29816 * util/i386/pc/grub-setup.c: Likewise.
29817 * util/i386/pc/misc.c: Likewise.
29818 * util/powerpc/ieee1275/grub-install.in: Likewise.
29819 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
29820 * util/powerpc/ieee1275/misc.c: Likewise.
29821 * video/bitmap.c: Likewise.
29822 * video/video.c: Likewise.
29823 * video/i386/pc/vbe.c: Likewise.
29824 * video/i386/pc/vbeblit.c: Likewise.
29825 * video/i386/pc/vbefill.c: Likewise.
29826 * video/i386/pc/vbeutil.c: Likewise.
29827 * video/readers/tga.c: Likewise.
29828
3572d015 298292007-07-02 Robert Millan <rmh@aybabtu.com>
29830
29831 * conf/i386-efi.rmk: Replace obsolete reference to
29832 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
29833 with util/getroot.c.
29834 * conf/powerpc-ieee1275.rmk: Likewise.
29835 * conf/sparc64-ieee1275.rmk: Likewise.
29836
29837 * util/grub-emu.c (main): Fix unchecked pointer handling.
29838
2c2a681b 298392007-07-02 Robert Millan <rmh@aybabtu.com>
29840
29841 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
29842 invocation to fail, in order to support partition-less media.
29843
29844 * util/i386/pc/grub-install.in: Likewise.
29845
29846 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
29847 which fs or partmap modules are needed (akin to its sister scripts).
29848
29849 Also use grub-probe to get rid of unportable /proc/mounts check.
29850
29851 Print the same informational message that the other scripts do, before
fe6b695a 29852 exiting.
2c2a681b 29853
6193defe 298542007-06-23 Robert Millan <rmh@aybabtu.com>
29855
fe6b695a 29856 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 29857 a font file can be found and, if so, echo the GRUB path to it.
29858
29859 * util/update-grub.in: Handle multiple terminals depending on user
29860 input, platform availability and font file presence. Propagate
29861 variables of our findings to /etc/grub.d/ children.
29862
29863 * util/grub.d/00_header.in: Handle multiple terminals, based on
29864 environment setup by update-grub.
29865
eface1dc 298662007-06-23 Robert Millan <rmh@aybabtu.com>
29867
ba50d28f 29868 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 29869
bf697e28 298702007-06-21 Robert Millan <rmh@aybabtu.com>
29871
29872 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
29873 indicate end of data section in kernel image.
29874 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
29875 GRUB_KERNEL_MACHINE_DATA_END.
29876
29877 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
29878 space for it.
29879 * kern/i386/efi/startup.S: Likewise.
29880
29881 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
29882 during image generation. Implement --prefix option to override this
29883 patch.
29884 * util/i386/efi/grub-mkimage.c: Likewise.
29885
29886 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
29887 code to make path relative to its root into a separate function.
29888
29889 * util/i386/pc/grub-install.in: Use newly provided
29890 make_system_path_relative_to_its_root() to convert ${grubdir}, then
29891 pass the result to grub-install --prefix.
29892
baa574b4 298932007-06-13 Robert Millan <rmh@aybabtu.com>
29894
29895 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
29896 DEFAULT_DEVICE_MAP.
29897 * util/grub-emu.c: Use above definitions from misc.h instead of
29898 defining them.
29899 * util/grub-mkdevicemap.c: Likewise.
29900 * util/i386/pc/grub-setup.c: Likewise.
29901 * util/grub-probe.c: Likewise.
29902 (probe): Abort with grub_util_error() when either
29903 grub_guess_root_device or grub_util_get_grub_dev fails.
29904
0215dcbf 299052007-06-12 Robert Millan <rmh@aybabtu.com>
29906
29907 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
29908 "pager" assignment.
29909 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
29910 "pcdata".
29911 * util/grub-probe.c (probe): Likewise for "drive_name".
29912
8af2ab7b 299132007-06-11 Robert Millan <rmh@aybabtu.com>
29914
29915 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
29916 not just the cdrom one.
29917
59d31694 299182007-06-11 Robert Millan <rmh@aybabtu.com>
29919
29920 * util/i386/pc/grub-mkrescue.in: Add "set -e".
29921 Add --pkglibdir=DIR option to override pkglibdir.
29922 Mention --image-type=TYPE in help output.
29923 Fix --grub-mkimage (it was a no-op).
fe6b695a 29924 Abort gracefully when no parameter is given.
59d31694 29925
7ee367e4 299262007-06-11 Robert Millan <rmh@aybabtu.com>
29927
29928 * util/i386/pc/grub-mkrescue.in: New file.
29929 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
29930 * Makefile.in: Handle bin_SCRIPTS.
29931
29b0ed46 299322007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
29933
29934 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
29935 list of video modes.
29936
c0f90770 299372007-06-06 Robert Millan <rmh@aybabtu.com>
29938
29939 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
29940 file doesn't exist, or if it is in a filesystem grub can't read.
29941
29942 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
29943 not abort if GRUB_DRIVE could not be defined. Rearrange generated
29944 header comment to fit in 80 columns when the variables are resolved.
29945
29946 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
29947 could be identified by update-grub. Remove redundant check for
fe6b695a 29948 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 29949 handles that).
29950
fb36dc26 299512007-06-04 Robert Millan <rmh@aybabtu.com>
29952
29953 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
29954
29955 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
29956
29957 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
29958
0c68c93e 299592007-06-04 Robert Millan <rmh@aybabtu.com>
29960
29961 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
29962
29963 * include/grub/partition.h: Declare grub_apple_partition_map_init and
29964 grub_apple_partition_map_fini.
29965
29966 * util/biosdisk.c
29967 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
29968 to access >2 TiB disks).
29969
29970 Print disk->total_sectors with %llu instead of %lu, since this
29971 variable is always 64-bit (prevents wrong disk size from being displayed
29972 on either >2 TiB disk or big-endian CPU).
29973
29974 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
29975 into a generic case that supports all (sane) partition maps.
29976
29977 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
29978 breaks big-endian.
29979
29980 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
29981 and grub_apple_partition_map_fini() after that.
29982
0f23eb74 299832007-06-01 Robert Millan <rmh@aybabtu.com>
29984
29985 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
29986
29987 * util/grub.d/00_header.in: Only enable gfxterm when
29988 convert_system_path_to_grub_path() succeeds.
29989
42c71976 299902007-05-20 Robert Millan <rmh@aybabtu.com>
29991
29992 * util/update-grub_lib.in: New file.
29993 * DISTLIST: Add update-grub_lib.in.
29994 * conf/common.rmk: Generate update-grub_lib and install it in
29995 $(lib_DATA).
29996 * Makefile.in: Add install routine for $(lib_DATA).
29997
29998 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
29999 function provided by update-grub_lib to support arbitrary paths of
30000 unifont.pff.
30001 * util/update-grub.in: Use convert_system_path_to_grub_path() to
30002 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
30003
5beb2291 300042007-05-19 Robert Millan <rmh@aybabtu.com>
30005
30006 * commands/i386/cpuid.c: New module.
30007 * DISTLIST: Add it.
30008 * conf/i386-efi.rmk: Enable cpuid.mod.
30009 * conf/i386-pc.rmk: Likewise.
30010
7262eca1 300112007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30012
30013 * kern/disk.c (grub_disk_read): Check return value of
30014 grub_realloc().
30015
260ba823 300162007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30017
30018 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
30019 arrays.
30020 * disk/raid.c (grub_raid_open): Likewise.
30021
1ecb6cf2 300222007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30023
30024 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
30025 stack instead of on the heap.
30026
30027 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
30028 before doing a read on it.
30029
30030 * configure.ac: Only use -fno-stack-protector for the target
30031 environment.
f19dbdb7 30032
21c8cbb1 300332007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30034
30035 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
30036 __attribute_ ((unused)) to mode_type argument.
30037
30038 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 30039
21c8cbb1 30040 * kern/misc.c (memcmp): Fix prototype.
30041
30042 * include/grub/partition.h [GRUB_UTIL]
30043 (grub_gpt_partition_map_init): Add prototype.
30044 (grub_gpt_partition_map_fini): Likewise.
30045
30046 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
30047 at the right place.
30048
30049 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
30050 (grub_fat_read_data): Likewise.
30051 (grub_fat_find_dir): Likewise.
30052
30053 * font/manager.c (find_glyph): Make table a const.
30054 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 30055
849d55d3 300562007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
30057
30058 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
30059 code, first search for device in /dev/mapper, then in /dev.
30060 (grub_util_get_grub_dev): New function.
30061 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
30062 prototype.
30063 * util/grub-probe.c (probe): Remove check for RAID, call
30064 grub_util_get_grub_dev() instead of
30065 grub_util_biosdisk_get_grub_dev().
30066 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
30067 grub_util_biosdisk_get_grub_dev().
30068 * util/i386/pc/grub-setup.c (main): Likewise.
30069
8fff7c2f 300702007-05-16 Robert Millan <rmh@aybabtu.com>
30071
30072 * DISTLIST: Update for the latest changes.
30073 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
30074 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
30075 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
30076 grub/util/biosdisk.h.
30077 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
30078 grub/util/biosdisk.h.
30079
48e12b52 300802007-05-16 Robert Millan <rmh@aybabtu.com>
30081
30082 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
30083
46b9d128 300842007-05-16 Robert Millan <rmh@aybabtu.com>
30085
30086 * util/i386/efi/grub-install.in: New.
30087 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
30088 newly added grub-install.
30089 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
30090 include.
30091 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
30092 grub/util/biosdisk.h.
30093 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
30094 grub/util/biosdisk.h.
30095
2d1a40a9 300962007-05-16 Robert Millan <rmh@aybabtu.com>
30097
30098 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
30099 * include/grub/util/biosdisk.h: ... here.
30100 * util/i386/pc/biosdisk.c: Moved to ...
30101 * util/biosdisk.c: ... here.
30102 * util/i386/pc/getroot.c: Moved to ...
30103 * util/getroot.c: ... here.
30104 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
30105 * util/grub-mkdevicemap.c: ... here.
30106 * util/i386/pc/grub-probe.c: Moved to ...
30107 * util/grub-probe.c: ... here.
30108
9e26e3bc 301092007-05-15 Robert Millan <rmh@aybabtu.com>
30110
30111 * util/update-grub.in: Remove duplicated line in grub.cfg header
30112 message.
30113
57f96397 301142007-05-13 Robert Millan <rmh@aybabtu.com>
30115
30116 * util/update-grub.in: Fix a few assumptions about the devices holding
30117 /, /boot and /boot/grub being the same.
30118 * util/grub.d/00_header.in: Likewise.
30119 * util/grub.d/10_hurd.in: Likewise.
30120 * util/grub.d/10_linux.in: Likewise.
30121
30122 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
30123 patterns. Use that to define the `.old' suffix as older than `'.
30124
30125 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
30126
30127 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
30128 the grub.cfg header message.
30129
2e610d62 301302007-05-11 Robert Millan <rmh@aybabtu.com>
30131
30132 * util/update-grub.in: Create device.map if it doesn't already exist,
30133 before attempting to run grub-probe.
30134 Check for grub-probe and grub-mkdevicemap with the same code
30135 grub-install is using.
30136 Remove test mode.
30137
3f6a10ef 301382007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
30139
30140 * Makefile.in: Add the datarootdir autoconf variable.
30141
02e7b75e 301422007-05-09 Robert Millan <rmh@aybabtu.com>
30143
30144 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 30145 fail gracefully if dev->disk->partition == NULL.
02e7b75e 30146
75f396cc 301472007-05-07 Robert Millan <rmh@aybabtu.com>
30148
30149 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
30150 determine partition map module.
30151 * util/i386/pc/grub-install.in: Use this feature to decide which
30152 partition module to load, instead of hardcoding pc and gpt.
30153
da65cb36 301542007-05-07 Robert Millan <rmh@aybabtu.com>
30155
30156 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
30157 source directory differs from build directory.
30158
b57d6a91 301592007-05-05 Robert Millan <rmh@aybabtu.com>
30160
30161 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
30162 initialisation.
30163
509d00f1 301642007-05-05 Robert Millan <rmh@aybabtu.com>
30165
30166 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
30167
c48f23ef 301682007-05-05 Robert Millan <rmh@aybabtu.com>
30169
30170 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
30171 command-line arguments via ${GRUB_CMDLINE_LINUX}.
30172
20b97658 301732007-05-05 Robert Millan <rmh@aybabtu.com>
30174
30175 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
30176 (grub_probe_SOURCES): Likewise.
30177 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
30178 GPT and initialize dos_part and bsd_part accordingly.
30179 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
30180 install_bsd_part.
30181 (main): Activate gpt module for use during partition identification,
30182 and deactivate it afterwards.
30183 * util/i386/pc/grub-install.in: Add gpt module to core.img.
30184 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
30185 partition identification, and deactivate it afterwards.
30186
99123174 301872007-05-05 Robert Millan <rmh@aybabtu.com>
30188
30189 * term/i386/pc/console.c (grub_console_fini): Call
30190 grub_term_set_current() before grub_term_unregister().
30191
ebd97f6e 301922007-05-04 Robert Millan <rmh@aybabtu.com>
30193
30194 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
30195 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
30196 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
30197 and update-grub_DATA.
30198 * conf/common.rmk: Build and install update-grub components.
30199 * conf/common.mk: Regenerate.
30200 * util/update-grub.in: New. Core of update-grub.
30201 * util/grub.d/00_header.in: New. Generates grub.cfg header.
30202 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
30203 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
30204 * util/grub.d/README: New. Document grub.d directory layout.
30205
b06a264d 302062007-05-01 Robert Millan <rmh@aybabtu.com>
30207
30208 * util/grub-emu.c: Move initialization functions
30209 grub_util_biosdisk_init() and grub_init_all() before
30210 grub_util_biosdisk_get_grub_dev(), which relies on them.
30211
41f0050e 302122007-04-19 Robert Millan <rmh@aybabtu.com>
30213
30214 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
30215 it is used later.
30216
04582bb3 302172007-04-18 Jerone Young <jerone@gmail.com>
30218
f19dbdb7 30219 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 30220 stanza.
30221
08db4632 302222007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 30223
08db4632 30224 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
30225 continue on and look for device node with real device name.
30226
801b76be 302272007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 30228
fe6b695a 30229 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 30230 ability.
30231 * Makefile.in: Add autoconf package transformation code.
30232 * util/i386/pc/grub-install.in: Likewise.
30233 * util/powerpc/ieee1275/grub-install.in: Likewise.
30234
6795c4e1 302352007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
30236
30237 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
30238 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
30239 (EXT2_REVISION): Likewise.
30240 (EXT2_INODE_SIZE): Likewise.
30241 (struct grub_ext2_block_group): Added a missing member
30242 "used_dirs".
30243 (grub_ext2_read_inode): Divide by the inode size in a superblock
30244 instead of 128 to obtain INODES_PER_BLOCK.
30245 Use the macro EXT2_INODE_SIZE instead of directly using
30246 SBLOCK->INODE_SIZE.
30247
d70af616 302482007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
30249
30250 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
30251 superblock instead of the structure size to compute an
30252 offset. This fixes the problem that GRUB could not read a
30253 filesystem when inode size is different from 128-byte.
30254
3b801603 302552007-03-05 Marco Gerards <marco@gnu.org>
30256
30257 * normal/main.c (read_config_file): When "menu" is not set, create
30258 an initial context.
30259
4785bfe4 302602007-02-21 Hollis Blanchard <hollis@penguinppc.org>
30261
30262 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
30263 (HEAP_LIMIT): New macro.
30264 (grub_claim_heap): Claim memory up to `heaplimit'.
30265
a0cbb023 302662007-02-21 Hollis Blanchard <hollis@penguinppc.org>
30267
30268 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
30269 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
30270 (_start): Likewise.
30271 (grub_arch_modules_addr): Return address after `_end'.
30272 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
30273 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
30274 (add_segments): Calculate `_end' from phdr size and location.
30275 (ALIGN_UP): Moved to ...
30276 * include/grub/misc.h: here.
30277 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
30278 New macro.
30279 (GRUB_IEEE1275_MODULE_BASE): Removed.
30280
fd7d8eba 302812007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30282
30283 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
30284 loop boundary.
30285
9b09e6fc 302862007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30287
30288 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
30289 All users updated.
30290 (grub_elf64_load_hook_t): Likewise.
30291 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
30292 debug output.
30293
3ce27299 302942007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30295
30296 * kern/mm.c: Update copyright.
30297 (grub_mm_debug): Correct syntax error.
30298 (grub_mm_dump_free): New function.
30299 (grub_debug_free): Call `grub_free'.
30300 * include/grub/mm.h: Update copyright.
30301 (grub_mm_dump_free): Add declaration.
30302
077d5fee 303032007-02-12 Hollis Blanchard <hollis@penguinppc.org>
30304
30305 * include/grub/ieee1275/ieee1275.h: Update copyright.
30306 * kern/powerpc/ieee1275/init.c: Likewise.
30307 * kern/powerpc/ieee1275/openfw.c: Likewise.
30308
30309 * loader/powerpc/ieee1275/linux.c: Likewise.
30310 * include/grub/elfload.h: Likewise.
30311 * kern/elf.c: Likewise.
30312 (grub_elf32_load): Pass `base' and `size' parameters. Update all
30313 callers.
30314 (grub_elf64_load): Likewise.
30315 (grub_elf32_load_segment): Move to a nested function.
30316 (grub_elf64_load_segment): Likewise.
30317
dc946850 303182007-02-12 Hollis Blanchard <hollis@penguinppc.org>
30319
30320 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
30321 prototype.
30322 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
30323 (grub_heap_len): Likewise.
30324 (HEAP_SIZE): New macro.
30325 (grub_claim_heap): New function.
30326 (grub_machine_init): Don't claim heap directly. Call
30327 `grub_claim_heap'.
30328 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
30329 (grub_available_iterate): New function.
30330
baa2a121 303312007-02-03 Thomas Schwinge <tschwinge@gnu.org>
30332
30333 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
30334 * configure.ac: Use it for testing the HOST and TARGET compilers.
30335
4fe9862e 303362006-12-13 Thomas Schwinge <tschwinge@gnu.org>
30337
30338 * Makefile.in (enable_grub_emu): New variable.
30339 * configure.ac (--enable-grub-emu): New option.
30340 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
30341 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
30342 * conf/i386-pc.rmk: Likewise.
30343 * conf/powerpc-ieee1275.rmk: Likewise.
30344 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
30345
a8aa5762 303462006-12-12 Marco Gerards <marco@gnu.org>
30347
30348 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
30349
30350 * kern/env.c (grub_env_unset): Don't free the member `value' when
30351 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
30352 pointer.
30353
30354 * normal/main.c (current_menu): Removed.
30355 (free_menu): Unset the `menu' environment variable.
30356 (grub_normal_menu_addentry): Make use of the environment variable
30357 `menu', instead of using the global `current_menu'. Allocate
30358 memory for the sourcecode of this entry.
30359 (read_config_file): New argument `nested', changed all callers.
30360 Only in the case of a new context, initialize a new menu. Set the
30361 `menu' environment variable.
30362 (grub_normal_execute): Don't set and unset the environment
30363 variable `menu' here anymore. Only free the menu when leaving the
30364 context.
30365
30366 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
30367 leak.
30368
957b3a3e 303692006-12-11 Marco Gerards <marco@gnu.org>
30370
30371 * normal/menu_entry.c (run): Fix off by one bug so the last line
30372 is executed. Move the loader check to outside the loop.
30373
ef875714 303742006-12-08 Hollis Blanchard <hollis@penguinppc.org>
30375
30376 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
30377
4e739985 303782006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
30379
30380 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
30381 the number of sectors. Reported by Andrey Shuvikov
30382 <mr_hyro@yahoo.com>.
f19dbdb7 30383
790707f2 303842006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
30385
30386 * kern/disk.c (grub_disk_read): When there is a read error, always
30387 try to read only the necessary data.
f19dbdb7 30388
790707f2 30389 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
30390 disk/raid.c.
30391 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
30392 prototype.
30393 [GRUB_UTIL] (grub_raid_fini): Likewise.
30394 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 30395 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 30396 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
30397 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
30398 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
30399 and grub_raid_fini().
f19dbdb7 30400
03e58196 304012006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
30402
30403 * include/grub/types.h (__unused): Rename to UNUSED.
30404 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
30405 (grub_elf64_size): Likewise.
f19dbdb7 30406
ae4f23bf 304072006-11-03 Hollis Blanchard <hollis@penguinppc.org>
30408
30409 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
30410 grub_error_push and grub_error_pop in the error-handling path.
30411 (grub_elf32_load_segment): Only call grub_file_read with non-zero
30412 length.
30413
2166cc83 304142006-11-03 Hollis Blanchard <hollis@penguinppc.org>
30415
30416 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
30417 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30418 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30419 (kernel_elf_SOURCES): Likewise.
30420 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
30421 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
30422 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30423 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30424 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
30425 (elf_mod_SOURCES): New variable.
30426 (elf_mod_CFLAGS): Likewise.
30427 (elf_mod_LDFLAGS): Likewise.
30428 * include/grub/types.h (__unused): New macro.
30429 * include/grub/elfload.h: New file.
30430 * kern/elf.c: Likewise.
30431 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
30432 (ELF32_LOADMASK): New macro.
30433 (ELF64_LOADMASK): Likewise.
30434 (vmlinux): Removed.
30435 (grub_linux_load32): New function.
30436 (grub_linux_load64): Likewise.
30437 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
30438 Use grub_elf_t instead of grub_file_t.
30439
a09d5aa5 304402006-11-02 Hollis Blanchard <hollis@penguinppc.org>
30441
30442 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
30443 `catch_result' to struct set_color_args.
30444
d976fc51 304452006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
30446
30447 * normal/menu.c: Include grub/script.h.
30448 * normal/menu_entry.c: Likewise.
30449 * include/grub/normal.h: Do not include grub/script.h.
30450
67507549 304512006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30452
30453 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
30454
69203a99 304552006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30456
30457 * kern/disk.c (grub_disk_open): Print debug messages when opening a
30458 disk.
30459 (grub_disk_close): Print debug messages when closing a disk.
30460 (grub_disk_read): Print debug messages when disk read fails.
30461 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
30462 filesystem type.
30463 * kern/partition.c: Include misc.h.
30464 (grub_partition_iterate): Print debug messages when detecting
30465 partition type.
30466
e2b8278c 304672006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30468
30469 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
30470 is negative.
30471 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
30472
97b2f2ff 304732006-10-26 Hollis Blanchard <hollis@penguinppc.org>
30474
30475 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
30476 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
30477
6555d655 304782006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
30479
30480 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
30481 instead of sizeof(lv). Patch by Michael Guntsche.
30482
4d42b77f 304832006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
30484
30485 * disk/lvm.c: Rename VGS to VG_LIST.
30486 (grub_lvm_iterate): Change VGS->LV to VG-LV.
30487 (grub_lvm_open): Likewise.
30488 Thanks to Michael Guntsche for finding this bug.
30489
5d74d927 304902006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30491
30492 * configure.ac (AC_INIT): Bumped to 1.95.
30493
a1bb27e4 304942006-10-14 Robert Millan <rmh@aybabtu.com>
30495
30496 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
30497 with "/dev/.static/dev/md".
30498
e0994b8b 304992006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
30500
30501 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
30502 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
30503 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
30504 DRIVE_NAME are always freed.
30505
30506 * util/i386/pc/biosdisk.c (make_device_name): Add one into
30507 DOS_PART, as a DOS partition is counted from one instead of zero
30508 now. Reported by Robert Millan.
30509
ddd5cee9 305102006-10-14 Robert Millan <rmh@aybabtu.com>
30511
30512 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
30513 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
30514 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
30515 string returned by grub_guess_root_device.
30516 * util/i386/pc/grub-setup.c: Likewise.
30517 * util/i386/pc/grub-probefs.c: Likewise.
30518
30519 * util/i386/pc/grub-probefs.c: Rename to ...
30520 * util/i386/pc/grub-probe.c: ... this.
30521 * DISTLIST: Remove grub-probefs, add grub-probe.
30522 * conf/i386-efi.rmk: Likewise.
30523 * conf/i386-pc.rmk: Likewise.
30524 * util/i386/pc/grub-install.in: Likewise.
30525
30526 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
30527 choose which information we want to print.
30528
2b002173 305292006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
30530
30531 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
30532 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
30533 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
30534 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
30535 video/readers/tga.c and video/i386/pc/vbeutil.c.
30536
305372006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
30538
30539 Added support for RAID and LVM.
f19dbdb7 30540
2b002173 30541 * disk/lvm.c: New file.
30542 * disk/raid.c: Likewise.
30543 * include/grub/lvm.h: Likewise.
f19dbdb7 30544 * include/grub/raid.h: Likewise.
2b002173 30545 * include/grub/util/lvm.h: Likewise.
30546 * include/grub/util/raid.h: Likewise.
30547 * util/lvm.c: Likewise.
30548 * util/raid.c: Likewise.
30549
30550 * include/grub/disk.h (grub_disk_dev_id): Add
30551 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
30552 (grub_disk_get_size): New prototype.
30553 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
30554 returns a partition.
30555 (grub_disk_get_size): New function.
f19dbdb7 30556
2b002173 30557 * kern/i386/pc/init.c (make_install_device): Copy the prefix
30558 verbatim if grub_install_dos_part is -2.
30559
30560 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
30561 and LVM devices.
30562
30563 * util/i386/pc/grub-setup.c (setup): New argument
30564 MUST_EMBED. Force embedding of GRUB when the argument is
30565 true. Close FILE before returning.
30566 (main): Add support for RAID and LVM.
f19dbdb7 30567
2b002173 30568 * conf/common.rmk: Add RAID and LVM modules.
30569 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
30570 util/lvm.c.
30571 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
30572
30573 * kern/misc.c (grub_strstr): New function.
30574 * include/grub/misc.h (grub_strstr): New prototype.
30575
050548d0 305762006-10-10 Tristan Gingold <tristan.gingold@bull.net>
30577
30578 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
30579
da849d2d 305802006-10-05 Tristan Gingold <tristan.gingold@bull.net>
30581
30582 * kern/misc.c (grub_strtoull): Guess the base only if not
30583 specified.
30584
97b2f2ff 305852006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 30586
30587 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
30588 PowerMac support.
30589
97b2f2ff 305902006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 30591
30592 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
30593
30594 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
30595 Remove `flags' argument. All callers changed.
30596 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
30597 (IEEE1275_IHANDLE_INVALID): New variable.
30598 (IEEE1275_CELL_INVALID): New variable.
30599 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
30600 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
30601 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
30602 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
30603 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
30604 codes from Open Firmware. All callers updated.
30605 (grub_ieee1275_next_property): Directly return Open Firmware return
30606 code.
30607 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30608 Standardize error checking from `grub_ieee1275_get_property'.
30609 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
30610 `devalias' to `aliases'. Correct comments. Consolidate error paths.
30611
97b2f2ff 306122006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 30613
30614 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
30615 `instance_to_package_args' to `instance_to_path_args'.
30616
30617 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
30618 `grub_ieee1275_chosen'.
30619
30620 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
30621 `grub_ieee1275_interpret'.
30622
97b2f2ff 306232006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 30624
30625 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
30626
97b2f2ff 306272006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 30628
30629 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
30630 (__cmpdi): Likewise.
30631
30632 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
30633 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
30634 `grub_ssize_t'.
30635
02bb8acc 30636 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 30637
30638 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
30639 to type `grub_ssize_t'.
30640 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
30641
7f9a8531 306422006-09-22 Marco Gerards <marco@gnu.org>
30643
30644 * normal/script.c (grub_script_create_cmdmenu): Skip leading
30645 newlines.
30646
b5ef1102 306472006-09-22 Marco Gerards <marco@gnu.org>
30648
30649 * commands/echo.c: New file.
30650
30651 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
30652
30653 * conf/common.rmk (echo_mod_SOURCES): New variable.
30654 (echo_mod_CFLAGS): Likewise.
30655 (echo_mod_LDFLAGS): Likewise.
30656
2cff3677 306572006-09-22 Marco Gerards <marco@gnu.org>
30658
30659 * normal/main.c (get_line): Malloc memory instead of using
30660 preallocated memory. Removed the arguments `cmdline' and
30661 `max_len'. Updated all callers.
30662
6ba4688b 306632006-09-22 Marco Gerards <marco@gnu.org>
30664
30665 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
30666 (normal_mod_DEPENDENCIES): Likewise.
30667
30668 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
30669 (normal_mod_DEPENDENCIES): Likewise.
30670
30671 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
30672
e02ac02c 306732006-09-22 Johan Rydberg <jrydberg@gnu.org>
30674
30675 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
30676 programs.
30677 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
30678 (normal_mod_DEPENDENCIES): Likewise.
30679 * conf/i386-pc.mk: Regenerate.
30680 * conf/i386-efi.mk: Likewise
30681 * conf/common.mk: Likewise.
30682 * conf/powerpc-ieee1275.mk: Likewise.
30683 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 30684
8d252e44 306852006-09-22 Robert Millan <rmh@aybabtu.com>
30686
30687 Sync with i386 version.
30688 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
30689 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
30690
209bf7ac 306912006-09-21 Robert Millan <rmh@aybabtu.com>
30692
30693 Import from GRUB Legacy (lib/device.c):
30694 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
30695 (init_device_map) [__linux__]: Add support for I2O devices.
30696
6b146090 306972006-09-14 Marco Gerards <marco@gnu.org>
30698
30699 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
30700 `-melf_i386'.
30701
e38600a8 307022006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 30703
30704 * util/i386/pc/grub-install.in: Skip menu.lst when removing
30705 /boot/grub/*.lst.
78fa1790 30706
2952da5d 30707 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 30708
2952da5d 30709 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
30710 before adding it to device.map.
30711
01b82a64 307122006-08-15 Johan Rydberg <jrydberg@gnu.org>
30713
fe6b695a 30714 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 30715 compiles a file; using the -MD option.
30716 * conf/common.mk: Regenerate.
30717 * conf/i386-pc.mk: Likewise.
30718 * conf/i386-efi.mk: Likewise.
30719 * conf/powerpc-ieee1275.mk: Likewise.
30720 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 30721
1064790d 307222006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
30723
30724 Move the prototypes of grub_setjmp and grub_longjmp to
30725 cpu/setjmp.h, so that each architecture may specify different
30726 attributes.
f19dbdb7 30727
1064790d 30728 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
30729 (grub_longjmp): Likewise.
30730 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
30731 (grub_longjmp): Likewise.
30732 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
30733 (grub_longjmp): Likewise.
30734
30735 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
30736 [!GRUB_UTIL] (grub_longjmp): Removed.
30737
29dda3ed 307382006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
30739
30740 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
30741 "color!" method does not return any value.
30742
ad2a06ed 307432006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
30744
30745 * include/grub/bitmap.h: New file.
30746
30747 * include/grub/i386/pc/vbeutil.h: Likewise.
30748
30749 * video/bitmap.c: Likewise.
30750
30751 * video/readers/tga.c: Likewise.
30752
30753 * video/i386/pc/vbeutil.c: Likewise.
30754
30755 * commands/videotest.c: Code cleanup and updated to reflect to new
30756 video API.
30757
30758 * term/gfxterm.c: Likewise.
30759
30760 * video/video.c: Likewise.
30761
30762 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
30763 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
30764 (bitmap_mod_SOURCES): New entry.
30765 (bitmap_mod_CFLAGS): Likewise.
30766 (bitmap_mod_LDFLAGS): Likewise.
30767 (tga_mod_SOURCES): Likewise.
30768 (tga_mod_CFLAGS): Likewise.
30769 (tga_mod_LDFLAGS): Likewise.
30770
30771 * include/grub/video.h (grub_video_blit_operators): New enum type.
30772 (grub_video_render_target): Changed as forward declaration and moved
30773 actual definition to be video driver specific.
30774 (grub_video_adapter.blit_bitmap): Added blitting operator.
30775 (grub_video_adapter.blit_render_target): Likewise.
30776 (grub_video_blit_bitmap): Likewise.
30777 (grub_video_blit_render_target): Likewise.
30778
30779 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
30780 driver specific render target definition.
30781 (grub_video_vbe_map_rgba): Added driver internal helper.
30782 (grub_video_vbe_unmap_color): Updated to use
30783 grub_video_i386_vbeblit_info.
30784 (grub_video_vbe_get_video_ptr): Likewise.
30785
30786 * include/grub/i386/pc/vbeblit.h
30787 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
30788 grub_video_i386_vbeblit_info.
30789 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
30790 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
30791 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
30792 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
30793 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
30794 (grub_video_i386_vbeblit_index_index): Likewise.
30795 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
30796 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
30797 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
30798 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
30799 operator.
30800 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
30801 operator.
30802
30803 * video/i386/pc/vbeblit.c: Updated to reflect changes on
30804 include/grub/i386/pc/vbeblit.h.
30805
30806 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
30807 Updated to use grub_video_i386_vbeblit_info.
30808 (grub_video_i386_vbefill_R8G8B8): Likewise.
30809 (grub_video_i386_vbefill_index): Likewise.
30810 (grub_video_i386_vbefill): Added generic filler.
30811
30812 * video/i386/pc/vbefill.c: Updated to reflect changes on
30813 include/grub/i386/pc/vbefill.h.
30814
30815 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
30816 grub_video_i386_vbeblit_info.
30817 (grub_video_vbe_unmap_color): Likewise.
30818 (grub_video_vbe_blit_glyph): Likewise.
30819 (grub_video_vbe_scroll): Likewise.
30820 (grub_video_vbe_draw_pixel): Removed function.
30821 (grub_video_vbe_get_pixel): Likewise.
30822 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
30823 updated code to use it.
30824 (common_blitter): Added common blitter for render target and bitmap.
30825 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
30826 (grub_video_vbe_blit_render_target): Likewise.
30827
bc8c036d 308282006-07-30 Johan Rydberg <jrydberg@gnu.org>
30829
30830 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
30831 is in text mode if there is no console control protocol instance
30832 available.
30833
684a8eff 308342006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
30835
30836 * include/grub/video.h: Code cleanup.
30837
30838 * include/grub/i386/pc/vbe.h: Likewise.
30839
30840 * video/i386/pc/vbe.c: Likewise.
30841
30842 * video/i386/pc/vbeblit.c: Likewise.
30843
30844 * video/i386/pc/vbefill.c: Likewise.
30845
30846 * video/video.c: Likewise. Also added more comments.
30847
5915059b 308482006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
30849
30850 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
30851 (struct grub_biosdisk_dap): Likewise.
30852
30853 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
30854 linkage settings for all functions.
30855
90ce5d56 308562006-07-12 Marco Gerards <marco@gnu.org>
30857
30858 * configure.ac (--enable-mm-debug): Fix typo.
30859
30860 * genkernsyms.sh.in: Use proper quoting for `CC'.
30861
43e7f879 308622006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
30863
30864 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
30865 (normal_mod_ASFLAGS): Remove "-m32".
30866
4889bdec 308672006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
30868
30869 * util/misc.c: Include config.h.
30870 [!HAVE_MEMALIGN]: Do not include malloc.h.
30871 (grub_memalign): Use posix_memalign, if present. Then, use
30872 memalign, if present. Otherwise, emit an error.
30873
30874 * util/grub-emu.c: Do not include malloc.h.
30875
30876 * include/grub/util/misc.h: Include unistd.h. This is required for
30877 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
30878 D. Eades III <hde@foobar-qux.org>.
30879
30880 * configure.ac (AC_GNU_SOURCE): Added.
30881 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
30882 type.
30883
fd39d4da 308842006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
30885
30886 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
30887 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
30888
b786f3b5 308892006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
30890
30891 * include/grub/types.h (grub_host_addr_t): Rename to
30892 grub_target_addr_t.
30893 (grub_host_off_t): Rename to grub_target_off_t.
30894 (grub_host_size_t): Rename to grub_target_size_t.
30895 (grub_host_ssize_t): Rename to grub_target_ssize_t.
30896 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
30897
30898 * include/grub/kernel.h (struct grub_module_header): Change type
30899 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
30900 (grub_module_info): Likewise.
f19dbdb7 30901
051988bb 309022006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
30903
30904 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
30905 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
30906 Velazquez <jesus.velazquez@gmail.com>.
30907
deae281b 309082006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
30909
30910 Count partitions from 1 instead of 0 in the string representation
30911 of partitions. Still use 0-based internally.
f19dbdb7 30912
deae281b 30913 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
30914 (sun_partition_map_iterate): Use grub_partition_t instead of
30915 struct grub_partition *. Cast DESC->START_CYLINDER to
30916 grub_uint64_t after converting the endian.
30917 (sun_partition_map_probe): Subtract 1 for PARTNUM.
30918 (sun_partition_map_get_name): Add 1 to P->INDEX.
30919
30920 * partmap/pc.c (grub_partition_parse): Subtract 1 for
30921 PCDATA->DOS_PART.
30922 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
30923
30924 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
30925 zero instead of one.
30926 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
30927 (gpt_partition_map_get_name): Add 1 into P->INDEX.
30928
30929 * partmap/apple.c (apple_partition_map_iterate): Change the type
30930 of POS to unsigned.
30931 (apple_partition_map_probe): Subtract 1 for PARTNUM.
30932 (apple_partition_map_get_name): Add 1 into P->INDEX.
30933
30934 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
30935 of POS to unsigned.
30936 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
30937 calculate the offset of a partition.
30938 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
30939 (amiga_partition_map_get_name): Add 1 into P->INDEX.
30940
30941 * partmap/acorn.c (acorn_partition_map_find): Change the type of
30942 SECTOR to grub_disk_addr_t.
30943 (acorn_partition_map_iterate): Likewise.
30944 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
30945 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
30946 top.
30947 (acorn_partition_map_get_name): Add 1 into P->INDEX.
30948
30949 * kern/i386/pc/init.c (make_install_device): Add 1 into
30950 GRUB_INSTALL_DOS_PART.
30951
30952 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
30953 conditional.
30954
524a1e6a 309552006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
30956
30957 Clean up the code to support 64-bit addressing in disks and
30958 files. This change is not enough for filesystems yet.
f19dbdb7 30959
524a1e6a 30960 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
30961 type of "start" to grub_uint64_t.
30962 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
30963 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
30964 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
30965 convert addresses.
30966
30967 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
30968 to grub_disk_addr_t.
30969
30970 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
30971 string.
30972
30973 * partmap/pc.c (pc_partition_map_iterate): Likewise.
30974
30975 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
30976 to char *.
30977
30978 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
30979
30980 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
30981
30982 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
30983
30984 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
30985 to grub_off_t, to detect an error from grub_file_seek.
30986 (grub_multiboot_load_elf32): Likewise.
30987
30988 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
30989 maximum unsigned long value when an overflow is detected.
30990 (grub_strtoull): New function.
30991 (grub_divmod64): Likewise.
30992 (grub_lltoa): use grub_divmod64.
30993
30994 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
30995 grub_disk_addr_t.
30996 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
30997 the pointer to next character. Use grub_strtoull instead of
30998 grub_strtoul.
30999 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
31000 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
31001 respectively.
31002
fe6b695a 31003 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 31004 return value is signed.
31005 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
31006 test if OFFSET is less than zero, as OFFSET is unsigned now.
31007
31008 * kern/disk.c (struct grub_disk_cache): Change the type of
31009 "sector" to grub_disk_addr_t.
31010 (grub_disk_cache_get_index): Change the type of SECTOR to
31011 grub_disk_addr_t. Calculate the hash with SECTOR casted to
31012 unsigned after shifting.
31013 (grub_disk_cache_invalidate): Change the type of SECTOR to
31014 grub_disk_addr_t.
31015 (grub_disk_cache_unlock): Likewise.
31016 (grub_disk_cache_store): Likewise.
31017 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
31018 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
31019 grub_disk_addr_t and grub_uint64_t, respectively.
31020 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
31021 body, as the value of OFFSET is tweaked by
31022 grub_disk_check_range. Change the types of START_SECTOR, LEN and
31023 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
31024 respectively.
31025 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
31026 body, as the value of OFFSET is tweaked by
31027 grub_disk_check_range. Change the types of LEN and N to
31028 grub_size_t.
31029
31030 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
31031 and "saved_offset" to grub_off_t.
31032 (test_header): Cast BUF to char *.
31033 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
31034 to char *.
31035 (grub_gzio_read): Change the types of OFFSET and SIZE to
31036 grub_off_t and grub_size_t, respectively.
31037
31038 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
31039 Removed.
31040 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
31041 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
31042 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
31043 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
31044 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
31045
31046 * include/grub/types.h (grub_off_t): Unconditionally set to
31047 grub_uint64_t.
31048 (grub_disk_addr_t): Changed to grub_uint64_t.
31049
31050 * include/grub/partition.h (struct grub_partition): Change the
31051 types of "start", "len" and "offset" to grub_disk_addr_t,
31052 grub_uint64_t and grub_disk_addr_t, respectively.
31053 (grub_partition_get_start): Return grub_disk_addr_t.
31054 (grub_partition_get_len): Return grub_uint64_t.
31055
31056 * include/grub/misc.h (grub_strtoull): New prototype.
31057 (grub_divmod64): Likewise.
31058
31059 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
31060 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
31061 grub_off_t, respectively.
31062 All callers and references changed.
31063
31064 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
31065 grub_size_t in "read".
31066 All callers and references changed.
31067
31068 * include/grub/file.h (struct grub_file): Change the types of
31069 "offset" and "size" to grub_off_t and grub_off_t,
31070 respectively. Change the type of SECTOR to grub_disk_addr_t in
31071 "read_hook".
31072 (grub_file_read): Change the type of LEN to grub_size_t.
31073 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
31074 grub_off_t.
31075 (grub_file_size): Return grub_off_t.
31076 (grub_file_tell): Likewise.
31077 All callers and references changed.
31078
31079 * include/grub/disk.h (struct grub_disk_dev): Change the types of
31080 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
31081 "write".
31082 (struct grub_disk): Change the type of "total_sectors" to
31083 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 31084 "read_hook".
524a1e6a 31085 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
31086 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
31087 (grub_disk_write): Likewise.
31088 All callers and references changed.
31089
31090 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
31091 char * for grub_strncmp to silence gcc.
31092 (grub_iso9660_mount): Likewise.
31093 (grub_iso9660_mount): Likewise.
31094 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
31095 return statement.
31096 (grub_iso9660_iterate_dir): Likewise.
31097 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
31098
31099 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
31100 LEN to grub_disk_addr_t and grub_size_t, respectively.
31101
31102 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31103
31104 * fs/jfs.c (grub_jfs_read_file): Likewise.
31105
31106 * fs/minix.c (grub_jfs_read_file): Likewise.
31107
31108 * fs/sfs.c (grub_jfs_read_file): Likewise.
31109
31110 * fs/ufs.c (grub_jfs_read_file): Likewise.
31111
31112 * fs/xfs.c (grub_jfs_read_file): Likewise.
31113
31114 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
31115 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
31116 respectively.
31117
31118 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
31119 BLKNR to -1 instead of returning GRUB_ERRNO.
31120 (grub_ext2_read_file): Change the types of SECTOR and
31121 LEN to grub_disk_addr_t and grub_size_t, respectively.
31122
31123 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
31124 LEN to grub_disk_addr_t and grub_size_t, respectively.
31125
31126 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
31127 grub_file_read.
31128
31129 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
31130 string. Do not cast SECTOR explicitly.
31131
31132 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
31133 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
31134 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
31135 grub_disk_addr_t and grub_size_t, respectively. If the sector is
31136 over 2TB and LBA mode is not supported, raise an error.
31137 (get_safe_sectors): New function.
31138 (grub_biosdisk_read): Use get_safe_sectors.
31139 (grub_biosdisk_write): Likewise.
31140
31141 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
31142 (grub_efidisk_write): Likewise.
31143
31144 * disk/loopback.c (delete_loopback): Cosmetic changes.
31145 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
31146 correctly.
31147 (grub_loopback_open): Likewise.
31148 (grub_loopback_read): Likewise. Also, change the type of POS to
31149 grub_off_t, and fix the usage of grub_memset.
31150
31151 * commands/i386/pc/play.c: Include grub/machine/time.h.
31152
31153 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
31154 print FILE->SIZE.
31155
31156 * commands/configfile.c: Include grub/env.h.
31157
31158 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
31159 GRUB_ERRNO directly instead. Change the type of POS to
31160 grub_off_t. Follow the coding standard.
31161
31162 * commands/blocklist.c: Include grub/partition.h.
31163 (grub_cmd_blocklist): Return an error if the underlying device is
31164 not a disk. Take the starting sector of a partition into account,
31165 if a partition is used.
31166
31167 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
31168 a length field.
31169 (lba_mode): Support 64-bit addresses.
31170 (chs_mode): Likewise.
31171 (copy_buffer): Adapted to the new offsets of a length field and a
31172 segment field.
31173 (blocklist_default_start): Allocate 64-bit space.
31174
31175 * boot/i386/pc/boot.S (force_lba): Removed.
31176 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 31177 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 31178 space.
31179 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
31180 is useless.
31181 (lba_mode): Refactored to support a 64-bit address. More size
31182 optimization.
31183 (setup_sectors): Likewise.
31184
53af98ad 311852006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
31186
31187 * DISTLIST: Added include/grub/i386/linux.h. Removed
31188 include/grub/i386/pc/linux.h
31189
31190 * configure.ac (AC_INIT): Bumped to 1.94.
31191
31192 * config.guess: Updated from gnulib.
31193 * config.sub: Likewise.
31194 * install-sh: Likewise.
31195 * mkinstalldirs: Likewise.
31196
b4c1940a 311972006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31198
31199 * conf/common.rmk (grub_modules_init.lst): Depended on
31200 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
31201 MODSRCFILES.
31202
31203 * genmk.rb (PModule::rule): Reverted the previous change.
31204
cfca1cfd 312052006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31206
31207 * conf/common.rmk (grub_modules_init.lst): Depends on
31208 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
31209 that the target does not exist before producing.
31210 (grub_modules_init.h): Remove the target before generating.
31211 (grub_emu_init.c): Likewise.
31212
31213 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
31214
aa6d7826 312152006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
31216
31217 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
31218 for the target-specific tests. Make sure that we also have the
31219 up-to-date target variables for those tests.
31220
26c607b9 312212006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31222
31223 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
31224 (PModule::rule): Likewise.
31225
0162321a 312262006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31227
31228 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
31229 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
31230 target-specific flags should be prefixed.
31231 (PModule::rule): Likewise.
31232
6c826348 312332006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
31234
31235 * configure.ac (CMP): Check if cmp is available explicitly.
31236
b977bf01 312372006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
31238
31239 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
31240 (target_cpu): New variable.
31241 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 31242
b977bf01 31243 * util/i386/pc/grub-install.in (host_cpu): Removed.
31244 (target_cpu): New variable.
31245 (pkglibdir): Use target_cpu instead of host_cpu.
31246
31247 * util/genmoddep.c: Removed.
f19dbdb7 31248
b977bf01 31249 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
31250 instead of GRUB_HOST_SIZEOF_VOID_P.
31251 * kern/dl.c: Likewise.
31252
31253 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
31254 ...
31255 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31256 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31257 (GRUB_TARGET_SIZEOF_LONG): ... this.
31258 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31259 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31260 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
31261 to ...
31262 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31263 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31264 (GRUB_TARGET_SIZEOF_LONG): ... this.
31265 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31266 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31267 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
31268 to ...
31269 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31270 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31271 (GRUB_TARGET_SIZEOF_LONG): ... this.
31272 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31273 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31274
31275 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
31276 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
31277 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
31278 instead of GRUB_HOST_SIZEOF_LONG.
31279 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
31280 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
31281 GRUB_CPU_WORDS_BIGENDIAN.
31282 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
31283 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
31284 grub_host_ssize_t.
31285
31286 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
31287 (genmoddep_SOURCES): Likewise.
31288 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
31289 (genmoddep_SOURCES): Likewise.
31290 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
31291 (genmoddep_SOURCES): Likewise.
31292 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
31293 Likewise.
31294 (genmoddep_SOURCES): Likewise.
31295
31296 * genmoddep.awk: New file.
31297
31298 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
31299 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
31300 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
31301 (PModule::rule): Likewise.
31302 (Program::rule): Likewise.
31303 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
31304 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
31305 respectively.
31306
31307 * configure.ac: Rewritten intensively to use host and target
31308 instead of build and host, respectively.
31309
31310 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
31311 (host_cpu): Removed.
31312 (target_cpu): New variable.
31313 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
31314 (BUILD_CC): Removed.
31315 (BUILD_CFLAGS): Likewise.
31316 (BUILD_CPPFLAGS): Likewise.
31317 (TARGET_CC): New variable.
31318 (TARGET_CFLAGS): Likewise.
31319 (TARGET_CPPFLAGS): Likewise.
31320 (TARGET_LDFLAGS): Likewise.
31321 (AWK): Likewise.
31322 (include): Use target_cpu instead of host_cpu.
31323 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 31324
b977bf01 31325 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
31326
f09771a1 313272006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
31328
31329 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
31330 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
31331 field 'false' to 'exec_on_false'.
31332 (grub_script_create_cmdif): Renamed argument names to reflect above
31333 changes.
31334
31335 * normal/execute.c (grub_script_execute_cmdif): Likewise.
31336
31337 * normal/script.c (grub_script_create_cmdif): Likewise.
31338
118f4fb3 313392006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
31340
31341 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
31342 top.
31343 (grub_hfsplus_btree_recptr): Likewise.
31344 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
31345 FILEBLOCK both to pass a block number and store next block
31346 number.
31347 (grub_hfsplus_read_block): Rewritten heavily to support an extent
31348 overflow file correctly. Specify errors appropriately, because
31349 fshelp expects that GRUB_ERRNO is set when fails. Reuse
31350 grub_hfsplus_btree_recptr to get the pointer to a found key.
31351 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
31352 is found.
31353
31354 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
31355 linux.mod.
31356 (_linux_mod_SOURCES): New variable.
31357 (_linux_mod_CFLAGS): Likewise.
31358 (_linux_mod_LDFLAGS): Likewise.
31359 (linux_mod_SOURCES): Likewise.
31360 (linux_mod_CFLAGS): Likewise.
31361 (linux_mod_LDFLAGS): Likewise.
31362
31363 * DISTLIST: Added loader/i386/efi/linux.c,
31364 loader/i386/efi/linux_normal.c and
31365 include/grub/i386/efi/loader.h.
31366
31367 * loader/i386/efi/linux.c: New file.
31368 * loader/i386/efi/linux_normal.c: Likewise.
31369 * include/grub/i386/efi/loader.h: Likewise.
31370
89a7d726 313712006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
31372
31373 * commands/blocklist.c: New file.
31374
31375 * DISTLIST: Added commands/blocklist.c.
31376
31377 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 31378 color for the background, and a darker color for the foreground.
89a7d726 31379 (grub_console_checkkey): Return READ_KEY.
31380 (grub_console_cls): Set the background to
31381 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
31382
31383 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
31384
31385 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
31386 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
31387
31388 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
31389 prototype.
31390
31391 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
31392 BG. The spec is wrong again.
31393
31394 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
31395 prototype.
31396 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
31397
31398 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31399 commands/blocklist.c.
31400 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 31401
89a7d726 31402 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
31403 (blocklist_mod_SOURCES): New variable.
31404 (blocklist_mod_CFLAGS): Likewise.
31405 (blocklist_mod_LDFLAGS): Likewise.
31406
75c8f258 314072006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
31408
31409 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
31410 duplication.
31411 (lba_mode): Use %eax more intensively to reduce the code size.
31412
da2eb181 314132006-05-20 Marco Gerards <marco@gnu.org>
31414
31415 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
31416
31417 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
31418 for `menuentry'.
31419 (script): Accept leading newlines.
31420 (newlines): New rule to describe 0 or more newlines.
31421 (commands): Accept `command' with trailing newline. Fixed the
31422 order in which arguments were passed to `grub_script_add_cmd'.
31423 Accept commands separated by newlines.
31424 (function): Changed to accept newlines.
31425 (menuentry) Rewritten.
31426
31427 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
31428 front of the list, instead of to the end.
31429
577b4050 314302006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
31431
31432 * util/i386/pc/grub-install.in (bindir): New variable.
31433 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
31434 Shaver <lbgwjl@gmail.com>.
31435
0d6e1189 314362006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
31437
31438 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
31439 grub/machine/linux.h
31440 * loader/i386/pc/linux.c: Likewise.
31441
31442 * include/grub/i386/pc/linux.h: Moved to ...
31443 * include/grub/i386/linux.h: ... here.
31444
31445 * include/grub/i386/linux.h (struct linux_kernel_params): New
31446 struct.
f19dbdb7 31447
31b86e9f 314482006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
31449
31450 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
31451 checking.
31452 (grub_video_vbe_blit_glyph): Likewise.
31453 (grub_video_vbe_blit_bitmap): Likewise.
31454 (grub_video_vbe_blit_render_target): Likewise.
31455
83b984de 314562006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
31457
31458 * configure.ac (--with-platform): Properly quote the square
31459 brackets.
31460
5f0413bd 314612006-05-08 Marco Gerards <marco@gnu.org>
31462
31463 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
31464 this...
31465 (kernel_elf_HEADERS): ...to this. Updated all users.
31466 (grubof_symlist.c): Renamed from this...
31467 (kernel_elf_symlist.c): ...to this. Updated all users.
31468 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
31469 (grubof_SOURCES): Renamed from this...
31470 (kernel_elf_SOURCES): ...to this.
31471 (grubof_HEADERS): Renamed from this...
31472 (kernel_elf_HEADERS): ...to this.
31473 (grubof_CFLAGS): Renamed from this...
31474 (kernel_elf_CFLAGS): ...to this.
31475 (grubof_ASFLAGS): Renamed from this...
31476 (kernel_elf_ASFLAGS): ...to this.
31477 (grubof_LDFLAGS): Renamed from this...
31478 (kernel_elf_LDFLAGS): ...to this.
31479
31480 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
31481 this...
31482 (kernel_elf_HEADERS): ...to this. Updated all users.
31483 (grubof_symlist.c): Renamed from this...
31484 (kernel_elf_symlist.c): ...to this. Updated all users.
31485 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
31486 (grubof_SOURCES): Renamed from this...
31487 (kernel_elf_SOURCES): ...to this.
31488 (grubof_HEADERS): Renamed from this...
31489 (kernel_elf_HEADERS): ...to this.
31490 (grubof_CFLAGS): Renamed from this...
31491 (kernel_elf_CFLAGS): ...to this.
31492 (grubof_ASFLAGS): Renamed from this...
31493 (kernel_elf_ASFLAGS): ...to this.
31494 (grubof_LDFLAGS): Renamed from this...
31495 (kernel_elf_LDFLAGS): ...to this.
31496
31497 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
31498 `kernel.elf' instead of `grubof'.
31499
05568c2e 315002006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
31501
31502 Add --with-platform to configure. Use pkglibdir instead of
31503 pkgdatadir. This is reported by Roger Leigh.
31504
31505 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
31506 (host_vendor): Likewise.
31507 (host_os): Likewise.
31508 (pkgdatadir): Likewise.
31509 (platform): New variable.
31510 (pkglibdir): Likewise.
31511 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 31512
05568c2e 31513 * util/i386/pc/grub-install.in (datadir): Removed.
31514 (host_vendor): Likewise.
31515 (host_os): Likewise.
31516 (pkgdatadir): Likewise.
31517 (platform): New variable.
31518 (pkglibdir): Likewise.
31519 Use PKGLIBDIR instead of PKGDATADIR.
31520
31521 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
31522 instead of GRUB_DATADIR.
31523 (main): Likewise.
31524 * util/i386/pc/grub-mkimage.c (usage): Likewise.
31525 (main): Likewise.
31526 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31527 (main): Likewise.
31528
31529 * configure.ac (--with-platform): New option.
31530 Use PLATFORM instead of HOST_VENDOR to specify a platform.
31531
31532 * Makefile.in: Include a makefile based on PLATFORM instead of
31533 HOST_VENDOR.
31534 (pkgdatadir): Not appended by the machine type.
31535 (pkglibdir): Appended by the machine type.
31536 (host_vendor): Removed.
31537 (platform): New variable.
31538 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
31539 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
31540 (uninstall): Likewise.
31541
4e93851c 315422006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
31543
31544 Use the environment context in the menu. Remove the commands
31545 "default" and "timeout", and use variables instead.
f19dbdb7 31546
4e93851c 31547 * normal/menu.c: Include grub/env.h.
31548 (print_entry): Cast TITLE to silence gcc.
31549 (get_timeout): New function.
31550 (set_timeout): Likewise.
31551 (get_entry_number): Likewise.
31552 (run_menu): Use a default entry, a fallback entry and a timeout
31553 in the environment variables "default", "fallback" and
31554 "timeout". Also, tweak the default entry if it is not within the
31555 current menu entries.
31556 (grub_menu_run): Use a fallback entry in the environment variable
31557 "fallback".
31558
31559 * normal/main.c (read_config_file): Do not initialize
31560 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
31561 NEWMENU->TIMEOUT.
31562 (grub_normal_execute): Use a data slot to store the menu.
31563
31564 * include/grub/normal.h (struct grub_menu): Removed default_entry,
31565 fallback_entry and timeout.
31566 (struct grub_menu_list): Removed.
31567 (grub_menu_list_t): Likewise.
31568 (struct grub_context): Likewise.
31569 (grub_context_t): Likewise.
31570 (grub_context_get): Likewise.
31571 (grub_context_get_current_menu): Likewise.
31572 (grub_context_push_menu): Likewise.
31573 (grub_context_pop_menu): Likewise.
31574 (grub_default_init): Likewise.
31575 (grub_default_fini): Likewise.
31576 (grub_timeout_init): Likewise.
31577 (grub_timeout_fini): Likewise.
31578
31579 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
31580 and timeout.mod.
31581 (normal_mod_SOURCES): Removed normal/context.c.
31582
31583 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
31584 commands/default.c, commands/timeout.c and normal/context.c.
31585 (normal_mod_SOURCES): Removed normal/context.c.
31586
31587 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
31588 commands/timeout.c and normal/context.c.
31589 (normal_mod_SOURCES): Removed normal/context.c.
31590
31591 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
31592 commands/default.c, commands/timeout.c and normal/context.c.
31593 (normal_mod_SOURCES): Removed normal/context.c.
31594
31595 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
31596 timeout.mod.
31597 (default_mod_SOURCES): Removed.
31598 (default_mod_CFLAGS): Likewise.
31599 (default_mod_LDFLAGS): Likewise.
31600 (timeout_mod_SOURCES): Removed.
31601 (timeout_mod_CFLAGS): Likewise.
31602 (timeout_mod_LDFLAGS): Likewise.
31603
31604 * DISTLIST: Removed commands/default.c, commands/timeout.c and
31605 normal/context.c.
31606
31607 * commands/default.c: Removed.
31608 * commands/timeout.c: Likewise.
31609 * normal/context.c: Likewise.
31610
1eb9cc1d 316112006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
31612
31613 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
31614
385bd9c1 316152006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
31616
31617 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
31618 "next" to "prev" for readability.
31619 (struct grub_env_sorted_var): New struct.
31620 (grub_env_context): Renamed to ...
31621 (initial_context): ... this.
31622 (grub_env_var_context): Renamed to ...
31623 (current_context): ... this.
31624 (grub_env_find): Look only at CURRENT_CONTEXT.
31625 (grub_env_context_open): Rewritten to copy exported variables from
31626 previous context.
31627 (grub_env_context_close): Rewritten according to the new
31628 scheme. Also, add an assertion to prevent the initial context from
31629 removed.
31630 (grub_env_insert): Removed the code for the sorted list.
31631 (grub_env_remove): Likewise.
31632 (grub_env_export): Simply mark the variable with
31633 GRUB_ENV_VAR_GLOBAL.
31634 (grub_env_set): A cosmetic change for naming consistency.
31635 (grub_env_get): Likewise.
31636 (grub_env_unset): Likewise.
31637 (grub_env_iterate): Rewritten to sort variables within this
31638 function.
31639 (grub_register_variable_hook): Fixed for naming consistency. Call
31640 grub_env_find again, only if NAME is not found at the first time.
31641 (mangle_data_slot_name): New function.
31642 (grub_env_set_data_slot): Likewise.
31643 (grub_env_get_data_slot): Likewise.
31644 (grub_env_unset_data_slot): Likewise.
31645
31646 * include/grub/env.h (grub_env_var_type): New enum.
31647 (GRUB_ENV_VAR_LOCAL): New constant.
31648 (GRUB_ENV_VAR_GLOBAL): Likewise.
31649 (GRUB_ENV_VAR_DATA): Likewise.
31650 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
31651 "type".
31652 (grub_env_set): Replace VAR with NAME for consistency.
31653 (grub_register_variable_hook): Likewise.
31654 (grub_env_export): Specify the name of the argument.
31655 (grub_env_set_data_slot): New prototype.
31656 (grub_env_get_data_slot): Likewise.
31657 (grub_env_unset_data_slot): Likewise.
31658
7f362539 316592006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
31660
31661 Extend the loader so that GRUB can accept a loader which comes
31662 back to GRUB when a loaded image exits. Also, this change adds
31663 support for a chainloader on EFI.
f19dbdb7 31664
7f362539 31665 * term/efi/console.c: Include grub/misc.h.
31666 (grub_console_checkkey): Display a scan code on the top for
31667 debugging. This will be removed once the EFI port gets stable.
31668 Correct the scan code mapping.
31669
31670 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
31671 allocate memory from larger regions, in order to reduce the number
31672 of allocated regions. Otherwise, the MacOSX loader panics.
31673 (filter_memory_map): Avoid less than 1MB for compatibility with
31674 other loaders.
31675 (add_memory_regions): Allocate from the tail of a region, if
31676 possible, to avoid allocating a region near to 1MB, for the MacOSX
31677 loader.
31678
31679 * kern/efi/init.c (grub_efi_set_prefix): Specify
31680 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
31681
31682 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
31683 argument IMAGE_HANDLE and specify it to get a loaded image.
31684 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
31685 grub_efi_get_loaded_image.
fe6b695a 31686 (grub_efi_get_filename): Divide the length by the size of
7f362539 31687 grub_efi_char16_t.
31688 (grub_efi_get_device_path): New function.
31689 (grub_efi_print_device_path): Print End Device Path nodes. Divide
31690 the length by the size of grub_efi_char16_t for a file path device
31691 path node.
31692
31693 * kern/loader.c (grub_loader_noreturn): New variable.
31694 (grub_loader_set): Accept a new argument NORETURN. Set
31695 GRUB_LOADER_NORETURN to NORETURN.
31696 All callers changed.
31697 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
31698 grub_machine_fini.
31699
31700 * include/grub/efi/efi.h (grub_efi_get_device_path): New
31701 prototype.
31702 (grub_efi_get_loaded_image): Take an argument to specify an image
31703 handle.
31704
31705 * include/grub/loader.h (grub_loader_set): Added one more argument
31706 NORETURN.
31707
31708 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
31709 instead of grub_efi_open_protocol.
31710 (grub_efidisk_get_device_name): Likewise.
31711 (grub_efidisk_close): Print a newline.
31712 (grub_efidisk_get_device_handle): Fixed to use
31713 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
31714 GRUB_EFI_DEVICE_PATH_TYPE.
31715
31716 * disk/efi/efidisk.c (device_path_guid): Moved to ...
31717 * kern/efi/efi.c (device_path_guid): ... here.
31718
31719 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
31720 chain.mod.
31721 (kernel_mod_HEADERS): Added efi/disk.h.
31722 (_chain_mod_SOURCES): New variable.
31723 (_chain_mod_CFLAGS): Likewise.
31724 (_chain_mod_LDFLAGS): Likewise.
31725 (chain_mod_SOURCES): Likewise.
31726 (chain_mod_CFLAGS): Likewise.
31727 (chain_mod_LDFLAGS): Likewise.
31728
31729 * DISTLIST: Added include/grub/efi/chainloader.h,
31730 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
31731
31732 * include/grub/efi/chainloader.h: New file.
31733 * loader/efi/chainloader.c: Likewise.
31734 * loader/efi/chainloader_normal.c: Likewise.
31735
c0111d6e 317362006-04-30 Marco Gerards <marco@gnu.org>
31737
31738 * commands/configfile.c (grub_cmd_source): New function.
31739 (GRUB_MOD_INIT): Register the commands `source' and `.'.
31740 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
31741
df5341da 317422006-04-30 Marco Gerards <marco@gnu.org>
31743
31744 * normal/execute.c (grub_script_execute_cmd): Change the return
31745 type to `grub_err_t'. Correctly return the error.
31746 (grub_script_execute_cmdline): In case a command line is not a
31747 command or a function, try to interpret it as an assignment.
31748
f85934bd 317492006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
31750
31751 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
31752 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
31753 skip a node whose name is obviously invalid as UTF-16,
31754 i.e. contains a NUL character. Stop the iteration when the last
31755 directory entry is found. Instead of using the return value of
31756 grub_hfsplus_btree_iterate_node, store the value in RET and use
31757 it, because the iterator can be stopped by the last directory
31758 entry.
31759
8f8a2cf8 317602006-04-30 Marco Gerards <marco@gnu.org>
31761
31762 * include/grub/env.h (grub_env_export): New prototype. Reported
31763 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
31764
a27e84ce 317652006-04-30 Marco Gerards <marco@gnu.org>
31766
31767 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
31768 size of the extents in a catalog file record.
31769
eaef0553 317702006-04-29 Marco Gerards <marco@gnu.org>
31771
31772 * commands/configfile.c (grub_cmd_configfile): Execute the
31773 configfile within its own context.
31774
31775 * include/grub/env.h (grub_env_context_open): New prototype.
31776 (grub_env_context_close): Likewise.
31777
31778 * kern/env.c (grub_env): Removed.
31779 (grub_env_sorted): Likewise.
31780 (grub_env_context): New variable.
31781 (grub_env_var_context): Likewise.
31782 (grub_env_find): Search both the active context and the global
31783 context.
31784 (grub_env_context_open): New function.
31785 (grub_env_context_close): Likewise.
31786 (grub_env_insert): Likewise.
31787 (grub_env_remove): Likewise.
31788 (grub_env_export): Likewise.
31789 (grub_env_set): Changed to use helper functions to avoid code
31790 duplication.
31791 (grub_env_iterate): Rewritten so both the current context and the
31792 global context are being used.
31793
31794 * normal/command.c (export_command): New function.
31795 (grub_command_init): Register the `export' function.
31796
7b455f4d 317972006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
31798
31799 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
31800 explicitly to suppress gcc's warnings.
31801 * fs/fat.c (grub_fat_find_dir): Likewise.
31802 (grub_fat_label): Likewise.
31803 * fs/xfs.c (grub_xfs_read_inode): Likewise.
31804 (grub_xfs_mount): Likewise.
31805 (grub_xfs_label): Likewise.
31806 * fs/affs.c (grub_affs_mount): Likewise.
31807 (grub_affs_label): Likewise.
31808 (grub_affs_iterate_dir): Likewise.
31809 * fs/sfs.c (grub_sfs_mount): Likewise.
31810 (grub_sfs_iterate_dir): Likewise.
31811 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
31812 * fs/hfs.c (grub_hfs_mount): Likewise.
31813 (grub_hfs_cmp_catkeys): Likewise.
31814 (grub_hfs_find_dir): Likewise.
31815 (grub_hfs_dir): Likewise.
31816 (grub_hfs_label): Likewise.
31817 * fs/jfs.c (grub_jfs_mount): Likewise.
31818 (grub_jfs_opendir): Likewise.
31819 (grub_jfs_getent): Likewise.
31820 (grub_jfs_lookup_symlink): Likewise.
31821 (grub_jfs_label): Likewise.
31822 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
31823 (grub_hfsplus_iterate_dir): Likewise.
31824 (grub_hfsplus_btree_iterate_node): Made static.
31825
31826 * util/grub-emu.c (prefix): New variable.
31827 (grub_machine_set_prefix): New function.
31828 (main): Do not set the environment variable "prefix" here. Only
31829 set PREFIX, which is used later by grub_machine_set_prefix.
31830
31831 * include/grub/video.h: Do not include grub/symbol.h.
31832 (grub_video_register): Not exported. This symbol is not defined in
31833 the kernel.
31834 (grub_video_unregister): Likewise.
31835 (grub_video_iterate): Likewise.
31836 (grub_video_setup): Likewise.
31837 (grub_video_restore): Likewise.
31838 (grub_video_get_info): Likewise.
31839 (grub_video_get_blit_format): Likewise.
31840 (grub_video_set_palette): Likewise.
31841 (grub_video_get_palette): Likewise.
31842 (grub_video_set_viewport): Likewise.
31843 (grub_video_get_viewport): Likewise.
31844 (grub_video_map_color): Likewise.
31845 (grub_video_map_rgb): Likewise.
31846 (grub_video_map_rgba): Likewise.
31847 (grub_video_fill_rect): Likewise.
31848 (grub_video_blit_glyph): Likewise.
31849 (grub_video_blit_bitmap): Likewise.
31850 (grub_video_blit_render_target): Likewise.
31851 (grub_video_scroll): Likewise.
31852 (grub_video_swap_buffers): Likewise.
31853 (grub_video_create_render_target): Likewise.
31854 (grub_video_delete_render_target): Likewise.
31855 (grub_video_set_active_render_target): Likewise.
31856
31857 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
31858 Undefined.
31859 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
31860
31861 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
31862 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
31863 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
31864 instead of $(srcdir)/genkernsyms.sh.
31865
31866 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
31867 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
31868 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
31869 instead of $(srcdir)/genkernsyms.sh.
31870
31871 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
31872 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
31873 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
31874 instead of $(srcdir)/genkernsyms.sh.
31875
31876 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
31877 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
31878 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
31879 instead of $(srcdir)/genkernsyms.sh.
31880
31881 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
31882 genkernsyms.sh.
31883
31884 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
31885 genkernsyms.sh.
31886 (gensymlist.sh): New target.
31887 (genkernsyms.sh): Likewise.
31888
31889 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
31890 genkernsyms.sh.in and gensymlist.sh.in.
31891
31892 * genkernsyms.sh: Removed.
31893 * gensymlist.sh: Likewise.
f19dbdb7 31894
7b455f4d 31895 * genkernsyms.sh.in: New file.
31896 * gensymlist.sh.in: Likewise.
31897
1885bb27 318982006-04-25 Hollis Blanchard <hollis@penguinppc.org>
31899
31900 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
31901 clobber "prefix", since we may have already set it manually.
31902
71538dff 319032006-04-25 Hollis Blanchard <hollis@penguinppc.org>
31904
31905 * kern/misc.c (abort): New alias for grub_abort.
31906
2965c7cc 319072006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
31908
31909 A new machine-specific function "grub_machine_set_prefix" is
31910 defined. This is called after loading modules, so that a prefix
31911 initialization can use modules. Also, this change adds an
31912 intensive debugging feature for the memory manager via the
31913 configure option "--enable-mm-debug".
f19dbdb7 31914
2965c7cc 31915 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
31916 PART.LEN.
31917
31918 * kern/sparc64/ieee1275/init.c (abort): Removed.
31919 (grub_stop): Likewise.
31920 (grub_exit): New function.
31921 (grub_set_prefix): Renamed to ...
31922 (grub_machine_set_prefix): ... this.
31923 (grub_machine_init): Do not call grub_set_prefix.
31924
31925 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
31926 (grub_machine_set_prefix): ... this.
31927 (grub_machine_init): Do not call grub_set_prefix.
31928
31929 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
31930 (grub_machine_init): Do not set the prefix here.
31931
31932 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
31933
31934 * kern/efi/init.c: Include grub/mm.h.
31935 (grub_efi_set_prefix): New function.
31936
31937 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
31938 (grub_efi_get_filename): New function.
31939 (grub_print_device_path): Renamed to ...
31940 (grub_efi_print_device_path): ... this.
31941
31942 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
31943 [MM_DEBUG] (grub_realloc): Likewise.
31944 [MM_DEBUG] (grub_free): Likewise.
31945 [MM_DEBUG] (grub_memalign): Likewise.
31946 [MM_DEBUG] (grub_mm_debug): New variable.
31947 [MM_DEBUG] (grub_debug_malloc): New function.
31948 [MM_DEBUG] (grub_debug_free): New function.
31949 [MM_DEBUG] (grub_debug_realloc): New function.
31950 [MM_DEBUG] (grub_debug_memalign): New function.
31951
31952 * kern/misc.c (grub_abort): Print a newline to distinguish
31953 the message.
31954
31955 * kern/main.c (grub_main): Call grub_machine_set_prefix and
31956 grub_set_root_dev after loading modules. This is necessary when
31957 setting a prefix depends on modules.
31958
31959 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
31960 (grub_efi_print_device_path): ... this.
31961 (grub_efi_get_filename): New prototype.
31962 (grub_efi_set_prefix): Likewise.
31963
31964 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
31965 and grub/disk.h.
31966 (grub_efidisk_get_device_handle): New prototype.
31967 (grub_efidisk_get_device_name): Likewise.
31968
31969 * include/grub/mm.h: Include config.h.
31970 (MM_DEBUG): Removed.
31971 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
31972 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
31973 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
31974 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
31975 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
31976 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
31977 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
31978 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
31979 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
31980
31981 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
31982
31983 * disk/efi/efidisk.c: Include grub/partition.h.
31984 (iterate_child_devices): New function.
31985 (add_device): First, compare only last device path nodes, so that
31986 devices are sorted by the types.
31987 (grub_efidisk_get_device_handle): New function.
31988 (grub_efidisk_get_device_name): Likewise.
31989
31990 * configure.ac (--enable-mm-debug): New option to enable the
31991 memory manager debugging feature. This makes the binary much
31992 bigger, so is disabled by default.
31993
9cacaa17 319942006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
31995
31996 Use grub_abort instead of grub_stop, and grub_exit must be
31997 define in each architecture now. Also, this change adds support
31998 for EFI disks.
f19dbdb7 31999
9cacaa17 32000 * util/i386/pc/grub-probefs.c: Include grub/term.h.
32001 (grub_getkey): New function.
32002 (grub_term_get_current): Likewise.
32003
32004 * util/i386/pc/grub-setup.c: Include grub/term.h.
32005 (grub_getkey): New function.
32006 (grub_term_get_current): Likewise.
32007
32008 * util/misc.c (grub_stop): Renamed to ...
32009 (grub_exit): ... this.
32010
32011 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
32012 (grub_exit): ... this.
32013 (grub_machine_init): Use grub_abort instead of abort.
32014 (grub_stop): Removed.
32015
32016 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
32017 abort.
32018
32019 * kern/i386/pc/startup.S (grub_exit): New function.
32020 (cold_reboot): New label.
32021
32022 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
32023 (grub_efi_init): Call grub_efidisk_init.
32024 (grub_efi_fini): Call grub_efidisk_fini.
32025
32026 * kern/efi/efi.c: Include grub/mm.h.
32027 (grub_efi_console_control_guid): Renamed to ...
32028 (console_control_guid): ... this.
32029 (grub_efi_loaded_image_guid): Renamed to ...
32030 (loaded_image_guid): ... this.
32031 (grub_efi_locate_handle): New function.
32032 (grub_efi_open_protocol): Likewise.
32033 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
32034 GRUB_EFI_CONSOLE_CONTROL_GUID.
32035 (grub_efi_exit): Removed.
32036 (grub_stop): Likewise.
32037 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
32038 (grub_exit): New function.
32039 (grub_print_device_path): Likewise.
32040
32041 * kern/rescue.c (grub_rescue_cmd_exit): New function.
32042 (grub_enter_rescue_mode): Register "exit".
32043
32044 * kern/misc.c (grub_real_dprintf): A cosmetic change.
32045 (grub_abort): New function.
32046
32047 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
32048
32049 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
32050
32051 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
32052
32053 * include/grub/efi/efi.h (grub_efi_exit): Removed.
32054 (grub_print_device_path): New prototype.
32055 (grub_efi_locate_handle): Likewise.
32056 (grub_efi_open_protocol): Likewise.
32057
32058 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
32059 * disk/efi/efidisk.c: Likewise.
32060
32061 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
32062
32063 * include/grub/efi/console_control.h
32064 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
32065
32066 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
32067 last 8 bytes as an array.
32068 (GRUB_EFI_DISK_IO_GUID): New macro.
32069 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
32070 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
32071 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
32072 grub_uint8_t.
32073 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
32074 (struct grub_efi_device_path): Rename the member "sub_type" to
32075 "subtype".
32076 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
32077 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
32078 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
32079 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
32080 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
32081 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
32082 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
32083 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
32084 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
32085 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
32086 (struct grub_efi_pci_device_path): New structure.
32087 (grub_efi_pci_device_path_t): New type.
32088 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
32089 (struct grub_efi_pccard_device_path): New structure.
32090 (grub_efi_pccard_device_path_t): New type.
32091 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
32092 (struct grub_efi_memory_mapped_device_path): New structure.
32093 (grub_efi_memory_mapped_device_path_t): New type.
32094 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
32095 (struct grub_efi_vendor_device_path): New structure.
32096 (grub_efi_vendor_device_path_t): New type.
32097 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
32098 (struct grub_efi_controller_device_path): New structure.
32099 (grub_efi_controller_device_path_t): New type.
32100 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
32101 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
32102 (struct grub_efi_acpi_device_path): New structure.
32103 (grub_efi_acpi_device_path_t): New type.
32104 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
32105 (struct grub_efi_expanded_acpi_device_path): New structure.
32106 (grub_efi_expanded_acpi_device_path_t): New type.
32107 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
32108 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
32109 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
32110 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
32111 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
32112 (struct grub_efi_atapi_device_path): New structure.
32113 (grub_efi_atapi_device_path_t): New type.
32114 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
32115 (struct grub_efi_fibre_channel_device_path): New structure.
32116 (grub_efi_fibre_channel_device_path_t): New type.
32117 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
32118 (struct grub_efi_1394_device_path): New structure.
32119 (grub_efi_1394_device_path_t): New type.
32120 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
32121 (struct grub_efi_usb_device_path): New structure.
32122 (grub_efi_usb_device_path_t): New type.
32123 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
32124 (struct grub_efi_usb_class_device_path): New structure.
32125 (grub_efi_usb_class_device_path_t): New type.
32126 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
32127 (struct grub_efi_i2o_device_path): New structure.
32128 (grub_efi_i2o_device_path_t): New type.
32129 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
32130 (struct grub_efi_mac_address_device_path): New structure.
32131 (grub_efi_mac_address_device_path_t): New type.
32132 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
32133 (struct grub_efi_ipv4_device_path): New structure.
32134 (grub_efi_ipv4_device_path_t): New type.
32135 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
32136 (struct grub_efi_ipv6_device_path): New structure.
32137 (grub_efi_ipv6_device_path_t): New type.
32138 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
32139 (struct grub_efi_infiniband_device_path): New structure.
32140 (grub_efi_infiniband_device_path_t): New type.
32141 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
32142 (struct grub_efi_uart_device_path): New structure.
32143 (grub_efi_uart_device_path_t): New type.
32144 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
32145 (struct grub_efi_vendor_messaging_device_path): New structure.
32146 (grub_efi_vendor_messaging_device_path_t): New type.
32147 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
32148 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
32149 (struct grub_efi_hard_drive_device_path): New structure.
32150 (grub_efi_hard_drive_device_path_t): New type.
32151 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
32152 (struct grub_efi_cdrom_device_path): New structure.
32153 (grub_efi_cdrom_device_path_t): New type.
32154 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
32155 (struct grub_efi_vendor_media_device_path): New structure.
32156 (grub_efi_vendor_media_device_path_t): New type.
32157 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
32158 (struct grub_efi_file_path_device_path): New structure.
32159 (grub_efi_file_path_device_path_t): New type.
32160 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
32161 (struct grub_efi_protocol_device_path): New structure.
32162 (grub_efi_protocol_device_path_t): New type.
32163 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
32164 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
32165 (struct grub_efi_bios_device_path): New structure.
32166 (grub_efi_bios_device_path_t): New type.
32167 (struct grub_efi_disk_io): New structure.
32168 (grub_efi_disk_io_t): New type.
32169 (struct grub_efi_block_io_media): New structure.
32170 (grub_efi_block_io_media_t): New type.
32171 (struct grub_efi_block_io): New structure.
32172 (grub_efi_block_io_t): New type.
32173
32174 * include/grub/misc.h (grub_stop): Removed.
32175 (grub_exit): New prototype.
32176 (grub_abort): Likewise.
32177
32178 * include/grub/disk.h (enum grub_disk_dev_id): Added
32179 GRUB_DISK_DEVICE_EFIDISK_ID.
32180
32181 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
32182 disk/efi/efidisk.c.
32183 (kernel_syms.lst): Remove the target if an error occurs.
32184
49986a9f 321852006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
32186
32187 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
32188 as it was simply too buggy.
32189
970d3b8a 321902006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
32191
32192 * kern/misc.c (grub_lltoa): New function.
32193 (grub_vsprintf): Added support for the long long suffix,
32194 i.e. "ll".
32195
ff04ec24 321962006-04-20 Hollis Blanchard <hollis@penguinppc.org>
32197
32198 * Makefile.in (LDFLAGS): Add variable.
32199 (LD): Remove variable.
32200 * configure.ac: Add -m32 to LDFLAGS.
32201 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
32202 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
32203 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
32204 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
32205 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
32206 variables.
32207 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
32208 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
32209 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
32210
37e5e1a4 322112006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
32212
32213 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
32214 length for unknown glyph.
32215
c352d8dd 322162006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
32217
2eab1c0d 32218 Add support for pre-loaded modules into the EFI port.
f19dbdb7 32219
2eab1c0d 32220 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
32221 completely. Accept one more argument DIR. The caller has changed.
32222
32223 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
32224
32225 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
32226 (grub_efi_loaded_image_guid): New variable.
32227 (grub_efi_get_loaded_image): New function.
32228 (grub_arch_modules_addr): Likewise.
32229
32230 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
32231 prototype.
32232
32233 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
32234 (struct grub_efi_loaded_image): New structure.
32235 (grub_efi_loaded_image_t): New type.
32236
322372006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 32238
c352d8dd 32239 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
32240 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
32241 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
32242
6d01d6b4 322432006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
32244
32245 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
32246
976a4ea0 322472006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
32248
32249 * DISTLIST: Added include/grub/efi/console.h,
32250 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
32251 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
32252
32253 * include/grub/efi/console.h: New file.
32254 * include/grub/efi/time.h: Likewise.
32255 * include/grub/i386/efi/kernel.h: Likewise.
32256 * kern/efi/init.c: Likewise.
32257 * kern/efi/mm.c: Likewise.
32258 * term/efi/console.c: Likewise.
f19dbdb7 32259
976a4ea0 32260 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
32261 (grub_stop): Removed.
32262 (grub_get_rtc): Likewise.
32263 (grub_machine_init): Simply call grub_efi_init.
32264 (grub_machine_fini): Call grub_efi_fini.
32265
32266 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
32267 (grub_efi_output_string): Removed.
32268 (grub_efi_stall): New function.
32269 (grub_stop): Likewise.
32270 (grub_get_rtc): Likewise.
32271
32272 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
32273 (grub_efi_stall): New prototype.
32274 (grub_efi_allocate_pages): Likewise.
32275 (grub_efi_free_pages): Likewise.
32276 (grub_efi_get_memory_map): Likewise.
32277 (grub_efi_mm_init): Likewise.
32278 (grub_efi_mm_fini): Likewise.
32279 (grub_efi_init): Likewise.
32280 (grub_efi_fini): Likewise.
32281
32282 * include/grub/i386/efi/time.h: Do not include
32283 grub/symbol.h. Include grub/efi/time.h.
32284 (GRUB_TICKS_PER_SECOND): Removed.
32285 (grub_get_rtc): Likewise.
32286
32287 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
32288 Added padding. The EFI spec is buggy.
32289 (GRUB_EFI_BLACK): New macro.
32290 (GRUB_EFI_BLUE): Likewise.
32291 (GRUB_EFI_GREEN): Likewise.
32292 (GRUB_EFI_CYAN): Likewise.
32293 (GRUB_EFI_RED): Likewise.
32294 (GRUB_EFI_MAGENTA): Likewise.
32295 (GRUB_EFI_BROWN): Likewise.
32296 (GRUB_EFI_LIGHTGRAY): Likewise.
32297 (GRUB_EFI_BRIGHT): Likewise.
32298 (GRUB_EFI_DARKGRAY): Likewise.
32299 (GRUB_EFI_LIGHTBLUE): Likewise.
32300 (GRUB_EFI_LIGHTGREEN): Likewise.
32301 (GRUB_EFI_LIGHTCYAN): Likewise.
32302 (GRUB_EFI_LIGHTRED): Likewise.
32303 (GRUB_EFI_LIGHTMAGENTA): Likewise.
32304 (GRUB_EFI_YELLOW): Likewise.
32305 (GRUB_EFI_WHITE): Likewise.
32306 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
32307 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
32308 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
32309 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
32310 (GRUB_EFI_BACKGROUND_RED): Likewise.
32311 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
32312 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
32313 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
32314 (GRUB_EFI_TEXT_ATTR): Likewise.
32315
32316 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
32317 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
32318 (kernel_mod_HEADERS): Added efi/time.h.
32319
83709125 323202006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
32321
32322 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
32323 include/grub/efi/api.h, include/grub/efi/console_control.h,
32324 include/grub/efi/efi.h, include/grub/efi/pe32.h,
32325 include/grub/i386/efi/time.h, kern/efi/efi.c,
32326 kern/i386/efi/init.c, kern/i386/efi/startup.S,
32327 and util/i386/efi/grub-mkimage.c.
32328
32329 * Makefile.in (RMKFILES): Added i386-efi.rmk.
32330
32331 * genmk.rb (PModule#rule): Do not export symbols if
32332 #{prefix}_EXPORTS is set to "no".
32333
32334 * conf/i386-efi.mk: New file.
32335 * conf/i386-efi.rmk: Likewise.
32336 * include/grub/efi/api.h: Likewise.
32337 * include/grub/efi/console_control.h: Likewise.
32338 * include/grub/efi/efi.h: Likewise.
32339 * include/grub/efi/pe32.h: Likewise.
32340 * include/grub/i386/efi/time.h: Likewise.
32341 * kern/efi/efi.c: Likewise.
32342 * kern/i386/efi/init.c: Likewise.
32343 * kern/i386/efi/startup.S: Likewise.
32344 * util/i386/efi/grub-mkimage.c: Likewise.
32345
323462006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 32347
32348 * include/grub/script.h: Include <grub/parser.h> and
32349 "grub_script.tab.h".
32350 (struct grub_lexer_param): New struct.
32351 (struct grub_parser_param): Likewise.
32352 (grub_script_create_arglist): Pass the state in an argument.
32353 (grub_script_add_arglist): Likewise.
32354 (grub_script_create_cmdline): Likewise.
32355 (grub_script_create_cmdblock): Likewise.
32356 (grub_script_create_cmdif): Likewise.
32357 (grub_script_create_cmdmenu): Likewise.
32358 (grub_script_add_cmd): Likewise.
32359 (grub_script_arg_add): Likewise.
32360 (grub_script_lexer_ref): Likewise.
32361 (grub_script_lexer_deref): Likewise.
32362 (grub_script_lexer_record_start): Likewise.
32363 (grub_script_lexer_record_stop): Likewise.
32364 (grub_script_mem_record): Likewise.
32365 (grub_script_mem_record_stop): Likewise.
32366 (grub_script_malloc): Likewise.
32367 (grub_script_yylex): Likewise.
32368 (grub_script_yyparse): Likewise.
32369 (grub_script_yyerror): Likewise.
32370 (grub_script_yylex): Likewise.
32371 (grub_script_lexer_init): Return the state.
32372
32373 * normal/lexer.c (grub_script_lexer_state): Removed variable.
32374 (grub_script_lexer_done): Likewise.
32375 (grub_script_lexer_getline): Likewise.
32376 (grub_script_lexer_refs): Likewise.
32377 (script): Likewise.
32378 (newscript): Likewise.
32379 (record): Likewise.
32380 (recording): Likewise.
32381 (recordpos): Likewise.
32382 (recordlen): Likewise.
32383 (grub_script_lexer_init): Return the state instead of setting
32384 global variables.
32385 (grub_script_lexer_ref): Use the newly added argument for state
32386 instead of globals.
32387 (grub_script_lexer_deref): Likewise.
32388 (grub_script_lexer_record_start): Likewise.
32389 (grub_script_lexer_record_stop): Likewise.
32390 (recordchar): Likewise.
32391 (nextchar): Likewise.
32392 (grub_script_yylex2): Likewise.
32393 (grub_script_yylex): Likewise.
32394 (grub_script_yyerror): Likewise.
32395
32396 * normal/parser.y (func_mem): Removed variable.
32397 (menu_entry): Likewise.
32398 (err): Likewise.
32399 (%lex-param): New parser option.
32400 (%parse-param): Likewise.
32401 (script): Always return the AST.
32402 (argument): Pass the state around.
32403 (arguments): Likewise.
32404 (grubcmd): Likewise.
32405 (commands): Likewise.
32406 (function): Likewise.
32407 (menuentry): Likewise.
32408 (if_statement): Likewise.
32409 (if): Likewise.
32410
32411 * normal/script.c (grub_script_memused): Removed variable.
32412 (grub_script_parsed): Likewise.
32413 (grub_script_malloc): Added a state argument. Use that instead of
32414 global variables.
32415 (grub_script_mem_record): Likewise.
32416 (grub_script_mem_record_stop): Likewise.
32417 (grub_script_arg_add): Likewise.
32418 (grub_script_add_arglist): Likewise.
32419 (grub_script_create_cmdline): Likewise.
32420 (grub_script_create_cmdif): Likewise.
32421 (grub_script_create_cmdmenu): Likewise.
32422 (grub_script_add_cmd): Likewise.
32423 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 32424
e2a8c904 324252006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 32426
32427 * normal/command.c (grub_command_init): Remove the title command.
32428
32429 * normal/lexer.c (grub_script_yylex): Renamed from this...
32430 (grub_script_yylex2): ... to this.
32431 (grub_script_yylex): New function. Temporary
32432 introduced to filter some tokens.
32433 (grub_script_yyerror): Print a newline.
32434
32435 * normal/main.c (read_config_file): Output information about the
32436 lines that contain errors. Wait for a key after all lines have
32437 been processed. Don't return an empty menu.
32438
32439 * normal/parser.y (func_mem): Don't initialize.
32440 (menu_entry): Likewise.
32441 (err): New variable.
32442 (script): Don't return anything when an error was encountered.
32443 (ws, returns): Removed rules.
32444 (argument): Disabled concatenated variable support.
32445 (arguments): Remove explicit separators.
32446 (grubcmd): Likewise.
32447 (function): Likewise.
32448 (menuentry): Likewise.
32449 (if): Likewise.
32450 (commands): Likewise. Add error handling.
32451
32452 * normal/script.c (grub_script_create_cmdline): If
32453 `grub_script_parsed' is 0, assume the parser encountered an error.
32454
c9a86192 324552006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
32456
32457 * configure.ac: Add support for EFI. Fix the typo
32458 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
32459
70f3b243 324602006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
32461
32462 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
32463 foreign multibyte characters should be shown correctly.
32464
65f201ad 324652006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
32466
32467 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
32468 calculation.
32469 (read_config_file): Made it to close file before returning.
32470
b4b93674 324712006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
32472
32473 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
32474 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
32475 video/i386/pc/vbefill.c.
32476
32477 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
32478 video/i386/pc/vbefill.c.
32479
32480 * include/grub/video.h (grub_video_blit_format): New enum.
32481 (grub_video_mode_info): Added new member blit_format.
32482 (grub_video_get_blit_format): New function prototype.
32483
32484 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
32485 function prototype.
32486 (grub_video_vbe_map_rgb): Likewise.
32487 (grub_video_vbe_unmap_color): Likewise.
32488
32489 * include/grub/i386/pc/vbeblit.h: New file.
32490
32491 * include/grub/i386/pc/vbefill.h: New file.
32492
32493 * video/video.c (grub_video_get_blit_format): New function.
32494 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
32495 (grub_video_vbe_map_rgb): Likewise.
32496 (grub_video_vbe_unmap_color): Likewise.
32497
32498 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
32499 optimized fills.
32500 (grub_video_vbe_blit_render_target): Changed to use more optimized
32501 blits.
32502 (grub_video_vbe_setup): Added detection for optimized settings.
32503 (grub_video_vbe_create_render_target): Likewise.
32504
32505 * video/i386/pc/vbeblit.c: New file.
32506
32507 * video/i386/pc/vbefill.c: New file.
32508
c2379b9c 325092006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
32510
32511 * font/manager.c (grub_font_get_glyph): Removed font fixup from
32512 here...
32513
32514 * util/unifont2pff.rb: ... and moved it to here. Improved argument
32515 parsing to support both hex and dec ranges. If filename was missing
32516 show usage information.
32517
bd0d7896 325182006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
32519
32520 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
32521 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
32522
32523 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
32524 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
32525 (video_mod_SOURCES): Added.
32526 (video_mod_CFLAGS): Likewise.
32527 (video_mod_LDFLAGS): Likewise.
32528 (gfxterm_mod_SOURCES): Likewise.
32529 (gfxterm_mod_CFLAGS): Likewise.
32530 (gfxterm_mod_LDFLAGS): Likewise.
32531 (videotest_mod_SOURCES): Likewise.
32532 (videotest_mod_CFLAGS): Likewise.
32533 (videotest_mod_LDFLAGS): Likewise.
32534 (vesafb_mod_SOURCES): Removed.
32535 (vesafb_mod_CFLAGS): Likewise.
32536 (vesafb_mod_LDFLAGS): Likewise.
32537 (vga_mod_SOURCES): Likewise.
32538 (vga_mod_CFLAGS): Likewise.
32539 (vga_mod_LDFLAGS): Likewise.
32540
32541 * commands/videotest.c: New file.
32542
32543 * font/manager.c (fill_with_default_glyph): Modified to use
32544 grub_font_glyph.
32545 (grub_font_get_glyph): Likewise.
32546 (fontmanager): Renamed from this...
32547 (font_manager): ... to this.
32548
32549 * include/grub/font.h (grub_font_glyph): Added new structure.
32550 (grub_font_get_glyph): Modified to use grub_font_glyph.
32551
32552 * include/grub/misc.h (grub_abs): Added as inline function.
32553
32554 * include/grub/video.h: New file.
32555
32556 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
32557 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
32558 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
32559 (grub_vbe_get_controller_info): Renamed from this...
32560 (grub_vbe_bios_get_controller_info): ... to this.
32561 (grub_vbe_get_mode_info): Renamed from this...
32562 (grub_vbe_bios_get_mode_info): ... to this.
32563 (grub_vbe_set_mode): Renamed from this...
32564 (grub_vbe_bios_set_mode): ... to this.
32565 (grub_vbe_get_mode): Renamed from this...
32566 (grub_vbe_bios_get_mode): ... to this.
32567 (grub_vbe_set_memory_window): Renamed from this...
32568 (grub_vbe_bios_set_memory_window): ... to this.
32569 (grub_vbe_get_memory_window): Renamed from this...
32570 (grub_vbe_bios_get_memory_window): ... to this.
32571 (grub_vbe_set_scanline_length): Renamed from this...
32572 (grub_vbe_set_scanline_length): ... to this.
32573 (grub_vbe_get_scanline_length): Renamed from this...
32574 (grub_vbe_bios_get_scanline_length): ... to this.
32575 (grub_vbe_set_display_start): Renamed from this...
32576 (grub_vbe_bios_set_display_start): ... to this.
32577 (grub_vbe_get_display_start): Renamed from this...
32578 (grub_vbe_bios_get_display_start): ... to this.
32579 (grub_vbe_set_palette_data): Renamed from this...
32580 (grub_vbe_bios_set_palette_data): ... to this.
32581 (grub_vbe_set_pixel_rgb): Removed.
32582 (grub_vbe_set_pixel_index): Likewise.
32583
32584 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
32585 from this...
32586 (grub_vbe_bios_get_controller_info): ... to this.
32587 (grub_vbe_get_mode_info): Renamed from this...
32588 (grub_vbe_bios_get_mode_info): ... to this.
32589 (grub_vbe_set_mode): Renamed from this...
32590 (grub_vbe_bios_set_mode): ... to this.
32591 (grub_vbe_get_mode): Renamed from this...
32592 (grub_vbe_bios_get_mode): ... to this.
32593 (grub_vbe_set_memory_window): Renamed from this...
32594 (grub_vbe_bios_set_memory_window): ... to this.
32595 (grub_vbe_get_memory_window): Renamed from this...
32596 (grub_vbe_bios_get_memory_window): ... to this.
32597 (grub_vbe_set_scanline_length): Renamed from this...
32598 (grub_vbe_set_scanline_length): ... to this.
32599 (grub_vbe_get_scanline_length): Renamed from this...
32600 (grub_vbe_bios_get_scanline_length): ... to this.
32601 (grub_vbe_set_display_start): Renamed from this...
32602 (grub_vbe_bios_set_display_start): ... to this.
32603 (grub_vbe_get_display_start): Renamed from this...
32604 (grub_vbe_bios_get_display_start): ... to this.
32605 (grub_vbe_set_palette_data): Renamed from this...
32606 (grub_vbe_bios_set_palette_data): ... to this.
32607 (grub_vbe_bios_get_controller_info): Fixed problem with registers
32608 getting corrupted after calling it. Added more pushes and pops.
32609 (grub_vbe_bios_set_mode): Likewise.
32610 (grub_vbe_bios_get_mode): Likewise.
32611 (grub_vbe_bios_get_memory_window): Likewise.
32612 (grub_vbe_bios_set_scanline_length): Likewise.
32613 (grub_vbe_bios_get_scanline_length): Likewise.
32614 (grub_vbe_bios_get_display_start): Likewise.
32615 (grub_vbe_bios_set_palette_data): Likewise.
32616
32617 * normal/cmdline.c (cl_set_pos): Refresh the screen.
32618 (cl_insert): Likewise.
32619 (cl_delete): Likewise.
32620
32621 * term/gfxterm.c: New file.
32622
32623 * term/i386/pc/vesafb.c: Removed file.
32624
32625 * video/video.c: New file.
32626
32627 * video/i386/pc/vbe.c (real2pm): Added new function.
32628 (grub_video_vbe_draw_pixel): Likewise.
32629 (grub_video_vbe_get_video_ptr): Likewise.
32630 (grub_video_vbe_get_pixel): Likewise
32631 (grub_video_vbe_init): Likewise.
32632 (grub_video_vbe_fini): Likewise.
32633 (grub_video_vbe_setup): Likewise.
32634 (grub_video_vbe_get_info): Likewise.
32635 (grub_video_vbe_set_palette): Likewise.
32636 (grub_video_vbe_get_palette): Likewise.
32637 (grub_video_vbe_set_viewport): Likewise.
32638 (grub_video_vbe_get_viewport): Likewise.
32639 (grub_video_vbe_map_color): Likewise.
32640 (grub_video_vbe_map_rgb): Likewise.
32641 (grub_video_vbe_map_rgba): Likewise.
32642 (grub_video_vbe_unmap_color): Likewise.
32643 (grub_video_vbe_fill_rect): Likewise.
32644 (grub_video_vbe_blit_glyph): Likewise.
32645 (grub_video_vbe_blit_bitmap): Likewise.
32646 (grub_video_vbe_blit_render_target): Likewise.
32647 (grub_video_vbe_scroll): Likewise.
32648 (grub_video_vbe_swap_buffers): Likewise.
32649 (grub_video_vbe_create_render_target): Likewise.
32650 (grub_video_vbe_delete_render_target): Likewise.
32651 (grub_video_vbe_set_active_render_target): Likewise.
32652 (grub_vbe_set_pixel_rgb): Remove function.
32653 (grub_vbe_set_pixel_index): Likewise.
32654 (index_color_mode): Remove static variable.
32655 (active_mode): Likewise.
32656 (framebuffer): Likewise.
32657 (bytes_per_scan_line): Likewise.
32658 (grub_video_vbe_adapter): Added new static variable.
32659 (framebuffer): Likewise.
32660 (render_target): Likewise.
32661 (initial_mode): Likewise.
32662 (mode_in_use): Likewise.
32663 (mode_list): Likewise.
32664
5f97350b 326652006-03-10 Marco Gerards <marco@gnu.org>
32666
32667 * configure.ac (AC_INIT): Bumped to 1.93.
32668
32669 * DISTLIST: Added `include/grub/hfs.h'.
32670
a3c5c6f8 326712006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
32672
32673 * boot/i386/pc/boot.S (general_error): Before looping, try INT
32674 18H, which might help the BIOS falling back to next boot media.
32675
6de53d26 326762006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
32677
32678 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
32679 Poe Chen <poe.poechen@gmail.com>.
32680
77c4a393 326812006-01-17 Marco Gerards <marco@gnu.org>
32682
32683 * include/grub/normal.h: Include <grub/script.h>.
32684 (grub_command_list): Removed struct.
32685 (grub_command_list_t): Removed type.
32686 (grub_menu_entry): Remove members `num' and `command_list'. Add
32687 members `commands' and `sourcecode'.
32688 * include/grub/script.h: Add inclusion guards.
32689 (grub_script_cmd_menuentry): New struct.
32690 (grub_script_execute_menuentry): New prototype.
32691 (grub_script_lexer_record_start): Likewise.
32692 (grub_script_lexer_record_stop): Likewise.
32693 * normal/execute.c (grub_script_execute_menuentry): New function.
32694 * normal/lexer.c (record, recording, recordpos, recordlen): New
32695 variables.
32696 (grub_script_lexer_record_start): New function.
32697 (grub_script_lexer_record_stop): Likewise.
32698 (recordchar): Likewise.
32699 (nextchar): Likewise.
32700 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
32701 2048 as the buffer size. Add the tokens `menuentry' and `@'.
32702 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
32703 (current_menu): New variable.
32704 (free_menu): Mainly rewritten.
32705 (grub_normal_menu_addentry): New function.
32706 (read_config_file): Rewritten.
32707 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 32708 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 32709 the menu entry.
32710 (run): Mainly rewritten.
32711 * normal/parser.y (menu_entry): New variable.
32712 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
32713 (menuentry): New rule.
32714 (command): Add `menuentry'.
32715 (if_statement): Allow additional returns before `fi'.
32716 * normal/script.c (grub_script_create_cmdmenu): New function.
32717
144f1f98 327182006-01-03 Marco Gerards <marco@gnu.org>
32719
32720 * INSTALL: GNU Bison is required.
32721 * configure.ac: Rewritten the test to detect Bison.
32722 * Makefile.in (YACC): New variable. Reported by Xun Sun
32723 <xun.sun.cn@gmail.com>.
32724
af4b2d89 327252006-01-03 Marco Gerards <marco@gnu.org>
32726
32727 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
32728 the HFS+ filesystem to filesystem blocks.
32729 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
32730 GCC warning is silenced.
32731
15643b71 327322006-01-03 Marco Gerards <marco@gnu.org>
32733
32734 * partmap/apple.c (apple_partition_map_iterate): Convert the data
32735 read from disk from big endian to host byte order.
32736
00905879 327372006-01-03 Hollis Blanchard <hollis@penguinppc.org>
32738
32739 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
32740 documentation.
32741 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
32742 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
32743 embedded HFS+ filesystem.
32744 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
32745 (grub_hfs_sblock): Move from here...
32746 * include/grub/hfs.h: To here... New file.
32747 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
32748 documentation.
32749 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
32750 New macros.
32751 (grub_hfsplus_volheader): Change type of member `magic' to
32752 `grub_uint16_t'.
32753 (grub_hfsplus_data): Add new member `embedded_offset'.
32754 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
32755 returned block.
32756 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
32757 Calculate the offset.
32758
8899bc3e 327592005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
32760
32761 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
32762 Removed.
32763 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
32764
ae8c0277 327652005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
32766
32767 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
32768 ENV->NAME is NULL after allocating ENV->VALUE.
32769
07084456 327702005-12-25 Marco Gerards <marco@gnu.org>
32771
32772 * kern/env.c (grub_env_set): Rewritten the error handling code.
32773
4750f5f1 327742005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
32775
32776 * geninit.sh: Made more robust, and more portable.
32777
50214199 327782005-12-25 Marco Gerards <marco@gnu.org>
32779
32780 Add support for Apple HFS+ filesystems.
f19dbdb7 32781
50214199 32782 * fs/hfsplus.c: New file.
32783
32784 * DISTLIST: Added `fs/hfsplus.c'.
32785
32786 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
32787 (hfsplus_mod_SOURCES): New variable.
32788 (hfsplus_mod_CFLAGS): Likewise.
32789 (hfsplus_mod_LDFLAGS): Likewise.
32790 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
32791 (grub_setup_SOURCES): Likewise.
32792 (grub_mkdevicemap_SOURCES): Likewise.
32793 (grub_emu_SOURCES): Likewise.
32794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32795
32796 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
32797
32798 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
32799
befaed6c 328002005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
32801
32802 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
32803 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
32804 include/grub/parser.h, include/grub/script.h, kern/parser.c,
32805 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
32806 normal/lexer.c, normal/parser.y, normal/script.c, and
32807 partmap/gpt.c.
32808 Removed kern/sparc64/cache.c.
32809
32810 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
32811 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
32812 grub_emu_init.c.
32813
32814 * configure.ac (AC_INIT): Bumped to 1.92.
32815
6a124103 328162005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
32817
32818 * kern/err.c (grub_error_push): Added new function to support error
32819 stacks.
32820 (grub_error_pop): Likewise.
32821 (grub_error_stack_items): New local variable to support error stacks.
32822 (grub_error_stack_pos): Likewise.
32823 (grub_error_stack_assert): Likewise.
32824 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
32825 stack depth.
32826 (grub_print_error): Added support to print errors from error stack.
32827
32828 * include/grub/err.h (grub_error_push): Added function prototype.
32829 (grub_error_pop): Likewise.
32830
be973c1b 328312005-12-09 Hollis Blanchard <hollis@penguinppc.org>
32832
32833 * configure.ac: Accept `powerpc64' as host_cpu.
32834 (amd64): Rename to `biarch32'.
32835
32836 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
32837 non-cacheline-aligned addresses.
32838
32839 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
32840 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
32841 if `size' is non-zero.
32842
b04216ab 328432005-12-03 Marco Gerards <mgerards@xs4all.nl>
32844
32845 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
32846 and `cd' to make sure the filename is not prefixed with a
32847 directory name.
32848 (pkgdata_MODULES): Add `gpt.mod'.
32849 (gpt_mod_SOURCES): New variable.
32850 (gpt_mod_CFLAGS): Likewise.
32851 (gpt_mod_LDFLAGS): Likewise.
32852
32853 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
32854
32855 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
32856 New macro.
32857
32858 * partmap/gpt.c: New file.
32859
32860 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
32861 GPT partition map is detected.
32862
41730ed9 328632005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
32864
32865 * commands/i386/pc/play.c: New file.
32866 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
32867 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
32868 macros.
f19dbdb7 32869
95dc3643 328702005-11-27 Marco Gerards <mgerards@xs4all.nl>
32871
32872 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
32873 ((unused))' to silence gcc warning.
32874
1569ec51 328752005-11-26 Hollis Blanchard <hollis@penguinppc.org>
32876
32877 * configure.ac: Correct `AC_PROG_YACC' test.
32878
9abde152 328792005-11-22 Hollis Blanchard <hollis@penguinppc.org>
32880
32881 * util/powerpc/ieee1275/grub-install.in: Run the mount point
32882 check before installing files.
32883
44b83271 328842005-11-22 Mike Small <smallm@panix.com>
32885
32886 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
32887 number regex so multidigit numbers are recognized correctly.
32888
328892005-11-22 Mike Small <smallm@panix.com>
32890
32891 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
32892 debugging message before attempting to claim memory.
32893 (grub_rescue_cmd_initrd): Add a claim debugging message and try
32894 multiple addresses in case of failure.
32895
9c12956b 328962005-11-22 Hollis Blanchard <hollis@penguinppc.org>
32897
32898 * term/tparm.c (get_space): Remove empty `if' statement.
32899
32900 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
32901
32902 * kern/parser.c (check_varstate): Rename `state' to 's'.
32903
aeaf81d9 329042005-11-22 Hollis Blanchard <hollis@penguinppc.org>
32905
32906 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
32907 variable definitions to the beginning of each function. Sort stack
32908 variables by size.
32909 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
32910 `buf' argument to `char *'.
32911
79bbb63f 329122005-11-22 Hollis Blanchard <hollis@penguinppc.org>
32913
32914 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
32915 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 32916 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 32917 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
32918 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
32919 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
32920 configfile.mod, search.mod, gzio.mod and test.mod.
32921 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
32922 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
32923 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
32924 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
32925 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
32926 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
32927 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
32928 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
32929 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
32930 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
32931 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
32932 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
32933 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
32934 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
32935 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
32936 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
32937 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
32938 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
32939 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
32940 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
32941 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
32942 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
32943 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
32944
32945 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
32946 `grep --include'.
32947 (pkgdata_MODULES): Add test.mod.
32948
233b1628 329492005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
32950
32951 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
32952 appending to variables with "+=".
32953 (PModule): Use full pathname to generate *.lst filenames.
32954
32955 * Makefile.in: Fixed list rules moved from genmk.rb.
32956 (.DELETE_ON_ERROR): New special target.
32957 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
32958
32959 * conf/i386-pc.rmk: Include conf/common.mk.
32960 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 32961 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 32962 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
32963 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
32964 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
32965 configfile.mod, search.mod, gzio.mod and test.mod.
32966 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
32967 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
32968 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
32969 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
32970 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
32971 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
32972 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
32973 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
32974 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
32975 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
32976 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
32977 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
32978 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
32979 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
32980 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
32981 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
32982 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
32983 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
32984 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
32985 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
32986 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
32987 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
32988 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
32989 here...
32990 * conf/common.rmk: ... to here. New file.
32991
32992 * conf/common.mk: New file.
32993
16f820c8 329942005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
32995
32996 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
32997 (grub_script.tab.c): ... here.
32998
32999 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
33000 (grub_script.tab.c): ... here.
33001
33002 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
33003 (grub_script.tab.c): ... here.
33004
33005 * normal/command.c (grub_command_find): Fixed a memory leak of
33006 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
33007
63ba1554 330082005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33009
33010 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
33011 "@" which marks the start of a comment on ARM.
33012 (VARIABLE): Likewise.
33013
7f67dc13 330142005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33015
79bbb63f 33016 Add support for Linux/ADFS partition tables.
7f67dc13 33017
33018 * partmap/acorn.c: New file.
33019
33020 * include/grub/acorn_filecore.h: Likewise.
33021
33022 * DISTLIST: Added `partmap/acorn.c' and
33023 `include/grub/acorn_filecore.h'.
f19dbdb7 33024
7f67dc13 33025 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33026 `partmap/acorn.c'.
33027 (pkgdata_MODULES): Add `acorn.mod'.
33028 (acorn_mod_SOURCES): New variable.
33029 (acorn_mod_CFLAGS): Likewise.
33030
33031 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33032 `partmap/acorn.c'.
33033 (pkgdata_MODULES): Add `acorn.mod'.
33034 (acorn_mod_SOURCES): New variable.
33035 (acorn_mod_CFLAGS): Likewise.
33036
33037 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
33038 (pkgdata_MODULES): Add `acorn.mod'.
33039 (acorn_mod_SOURCES): New variable.
33040 (acorn_mod_CFLAGS): Likewise.
33041 (acorn_mod_LDFLAGS): Likewise.
33042
33043 * include/types.h (grub_disk_addr_t): New typedef.
33044
6d099807 330452005-11-13 Marco Gerards <mgerards@xs4all.nl>
33046
33047 * geninit.sh: New file.
33048
33049 * geninitheader.sh: Likewise.
33050
33051 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
33052 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
33053 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
33054 * commands/configfile.c (grub_configfile_init)
33055 (grub_configfile_fini): Likewise.
33056 * commands/default.c (grub_default_init, grub_default_fini):
33057 Likewise.
33058 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
33059 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
33060 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
33061 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
33062 Likewise.
33063 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
33064 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
33065 Likewise.
33066 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 33067 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 33068 Likewise.
33069 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
33070 Likewise.
fe6b695a 33071 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 33072 Likewise.
33073 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
33074 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
33075 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
33076 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
33077 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
33078 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
33079 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
33080 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
33081 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
33082 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
33083 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
33084 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
33085 * partmap/amiga.c (grub_amiga_partition_map_init)
33086 (grub_amiga_partition_map_fini): Likewise.
33087 * partmap/apple.c (grub_apple_partition_map_init)
33088 (grub_apple_partition_map_fini): Likewise.
33089 * partmap/pc.c (grub_pc_partition_map_init)
33090 (grub_pc_partition_map_fini): Likewise.
33091 * partmap/sun.c (grub_sun_partition_map_init,
33092 grub_sun_partition_map_fini): Likewise.
33093 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
33094 Likewise.
33095
33096 * util/grub-emu.c: Include <grub_modules_init.h>.
33097 (main): Don't initialize and de-initialize any modules directly,
33098 use `grub_init_all' and `grub_fini_all' instead.
33099
33100 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
33101 `grub_vesafb_mod_init'.
33102 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
33103 all users.
33104 * term/i386/pc/vga.c (grub_vga_init): Renamed to
33105 `grub_vga_mod_init'. Updated all users.
33106 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 33107
6d099807 33108 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
33109 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
33110 rules.
33111
33112 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
33113 Generate a function to initialize the module in utilities.
33114 Updated all callers.
33115 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
33116 initialize the module in utilities. Updated all callers.
33117
9046bcf0 331182005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33119
33120 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
33121 escape sequence and a literal ^L to clear the screen.
33122
33123 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
33124 when returning from Open Firmware.
33125
d13ea639 331262005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33127
33128 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
33129 (grub_ofconsole_height): Likewise.
33130 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
33131 manually insert a '\n'.
33132 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
33133 `grub_ofconsole_height'. Return early if these are already set.
33134
a8fcf206 331352005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
33136
33137 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33138 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
33139 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
33140 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
33141 and `normal/script.c'.
33142 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33143 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33144 (test_mod_SOURCES): New variable.
33145 (test_mod_CFLAGS): Likewise.
33146 (test_mod_LDFLAGS): Likewise.
33147 (pkgdata_MODULES): Add `test.mod'.
33148 (grub_script.tab.c): New rule.
33149 (grub_script.tab.h): Likewise.
33150
b6b32745 331512005-11-07 Marco Gerards <mgerards@xs4all.nl>
33152
33153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33154 `commands/test.c', `normal/execute.c', `normal/lexer.c',
33155 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33156 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33157 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33158 (test_mod_SOURCES): New variable.
33159 (test_mod_CFLAGS): Likewise.
33160 (pkgdata_MODULES): Add `test.mod'.
33161 (grub_script.tab.c): New rule.
33162 (grub_script.tab.h): Likewise.
33163
daac212a 331642005-11-06 Marco Gerards <mgerards@xs4all.nl>
33165
33166 Add initial scripting support.
33167
33168 * commands/test.c: New file.
33169 * include/grub/script.h: Likewise.
33170 * normal/execute.c: Likewise.
33171 * normal/function.c: Likewise.
33172 * normal/lexer.c: Likewise.
33173 * normal/parser.y: Likewise.
33174 * normal/script.c: Likewise.
33175
33176 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 33177
daac212a 33178 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
33179 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
33180 `normal/function.c' and `normal/script.c'.
33181 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33182 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 33183 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
33184 variables.
daac212a 33185 (pkgdata_MODULES): Add `test.mod'.
33186 (grub_script.tab.c): New rule.
33187 (grub_script.tab.h): Likewise.
33188
33189 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
33190
33191 * include/grub/normal.h (grub_test_init): New prototype.
33192 (grub_test_fini): Likewise.
f19dbdb7 33193
daac212a 33194 * normal/command.c: Include <grub/script.h>.
33195 (grub_command_execute): Rewritten.
f19dbdb7 33196
daac212a 33197 * util/grub-emu.c (main): Call `grub_test_init' and
33198 `grub_test_fini'.
33199
77500b2b 332002005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33201
33202 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
33203 to 0.
33204 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
33205 there are no pending characters.
33206
e45deb9e 332072005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33208
33209 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
33210 `grub_strndup' to drop device arguments. Replace unnecessary
33211 `grub_strndup' with `grub_strdup'.
33212
4ce32619 332132005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33214
33215 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
33216 `debug' environment variable has been set.
33217
332182005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 33219
4ce32619 33220 * Makefile.in (install-local): Use $(DATA).
33221 (uninstall): Likewise.
33222 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
33223 (sbin_UTILITIES): ... to here.
33224 (sbin_SCRIPTS): New variable.
33225 (grub_install_SOURCES): New variable.
33226 * util/powerpc/ieee1275/grub-install.in: New file.
33227 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
33228 variable.
33229 (add_segments): Call `grub_util_get_path'.
33230
25fe6f03 332312005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33232
33233 From Timothy Baldwin:
33234 * commands/ls.c (grub_ls_list_files): Close FILE with
33235 grub_file_close.
33236 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
33237
04ccf3ec 332382005-10-24 Marco Gerards <mgerards@xs4all.nl>
33239
33240 * include/grub/parser.h: New file.
33241
33242 * kern/parser.c: Likewise.
33243
33244 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
33245 (grub_setup_SOURCES): Likewise.
33246 (grub_probefs_SOURCES): Likewise.
33247 (grub_emu_SOURCES): Likewise.
33248 (kernel_img_HEADERS): Add `parser.h'.
33249
33250 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33251 (grub_emu_SOURCES): Add `kern/parser.c'.
33252 (grubof_SOURCES): Likewise.
33253
33254 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33255 (grubof_SOURCES): Add `kern/parser.c'.
33256
33257 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
33258
33259 * kern/misc.c (grub_split_cmdline): Removed function.
33260
33261 * kern/rescue.c: Include <grub/parser.h>.
33262 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
33263 of `grub_split_cmdline'.
33264
33265 * normal/command.c: Include <grub/parser.h>.
33266 (grub_command_execute): Use `grub_parser_split_cmdline' instead
33267 of `grub_split_cmdline'.
33268
33269 * normal/completion.c: Include <grub/parser.h>.
33270 (cmdline_state): New variable.
33271 (iterate_dir): End the filename with a quote depending on the
33272 command line state.
33273 (get_state): new function.
33274 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
33275 split the arguments and determine the current argument. When the
33276 argument string is not quoted, escape all spaces.
33277
6d8f4b0e 332782005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33279
33280 * normal/sparc64/setjmp.S: New file.
33281
15cf03ed 332822005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33283
33284 * include/grub/sparc64/libgcc.h: New file.
33285 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
33286 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
33287 normal/sparc64/setjmp.c.
33288
03e8661a 332892005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33290
33291 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
33292 * kern/sparc64/cache.S: New file.
33293 * kern/sparc64/cache.c: Removed.
33294 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
33295 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
33296 -mtune=ultrasparc.
33297 (COMMON_LDFLAGS): Add -melf64_sparc.
33298 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
33299 (grubof_SOURCES): Use cache.S instead of cache.c.
33300 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
33301 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
33302 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
33303 commented though.
33304 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
33305 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
33306 (linux_mod_CFLAGS): Commented out.
33307 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
33308 out because module isn't built.
33309 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
33310 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
33311 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
33312 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
33313 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
33314 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
33315 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
33316 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
33317 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
33318 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
33319 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33320 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33321 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
33322 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
33323
34eeec8a 333242005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
33325
33326 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
33327 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
33328 longer, because HFS should not be used on PC.
33329
708367a3 333302005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33331
33332 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
33333 consistently within the loop.
33334
6fa1251a 333352005-10-15 Marco Gerards <mgerards@xs4all.nl>
33336
33337 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
33338 directory can not be read.
33339
4801580b 333402005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33341
33342 * configure.ac (AC_INIT): Increase the version number to 1.91.
33343
33344 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
33345 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
33346 term/i386/pc/serial.c.
33347
219ad426 333482005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33349
33350 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
33351 file size must be permitted.
33352
33353 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
33354 between %ah and %al.
33355
688e5699 333562005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33357
33358 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
33359 grub_uint64_t.
33360 Call the hook with a NUL-terminated filename.
33361 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
33362 grub_cpu_to_be32.
33363
33364 * kern/term.c (cursor_state): New variable.
33365 (grub_term_set_current): Reset the cursor state on a new
33366 terminal.
33367 (grub_setcursor): Rewritten to use CURSOR_STATE.
33368 (grub_getcursor): New function.
33369
33370 * include/grub/term.h (grub_getcursor): New prototype.
33371
33372 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
33373 integers on ARM. Reported by Timothy Baldwin
33374 <T.E.Baldwin99@members.leeds.ac.uk>.
33375
bb34586c 333762005-10-11 Marco Gerards <mgerards@xs4all.nl>
33377
33378 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
33379 allocated.
33380 (grub_sfs_dir): Likewise.
33381
9a909877 333822005-10-09 Marco Gerards <mgerards@xs4all.nl>
33383
33384 Add support for the SFS filesystem.
33385
33386 * fs/sfs.c: New file.
33387
33388 * DISTLIST: Added `fs/sfs.c'.
33389
33390 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
33391 (grub_probefs_SOURCES): Likewise.
33392 (grub_emu_SOURCES): Likewise.
33393 (pkgdata_MODULES): Add `sfs.mod'.
33394 (sfs_mod_SOURCES): New variable.
33395 (sfs_mod_CFLAGS): Likewise.
33396 (sfs_mod_LDFLAGS): Likewise.
33397
33398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
33399 (pkgdata_MODULES): Add `sfs.mod'.
33400 (sfs_mod_SOURCES): New variable.
33401 (sfs_mod_CFLAGS): Likewise.
33402
33403 * util/grub-emu.c (main): Call `grub_sfs_init' and
33404 `grub_sfs_fini'.
33405
33406 * include/grub/fs.h (grub_sfs_init): New prototype.
33407 (grub_sfs_fini): Likewise.
33408
57bdbde3 334092005-10-07 Marco Gerards <mgerards@xs4all.nl>
33410
33411 Add support for the AFFS filesystem.
33412
33413 * fs/affs.c: New file.
33414
33415 * DISTLIST: Added `fs/affs.c'.
33416
33417 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
33418 (grub_probefs_SOURCES): Likewise.
33419 (grub_emu_SOURCES): Likewise.
33420 (pkgdata_MODULES): Add `affs.mod'.
33421 (affs_mod_SOURCES): New variable.
33422 (affs_mod_CFLAGS): Likewise.
33423 (affs_mod_LDFLAGS): Likewise.
33424
33425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
33426 (pkgdata_MODULES): Add `affs.mod'.
33427 (affs_mod_SOURCES): New variable.
33428 (affs_mod_CFLAGS): Likewise.
33429
33430 * util/grub-emu.c (main): Call `grub_affs_init' and
33431 `grub_affs_fini'.
33432
33433 * include/grub/fs.h (grub_affs_init): New prototype.
33434 (grub_affs_fini): Likewise.
33435
047b67e0 334362005-10-01 Marco Gerards <mgerards@xs4all.nl>
33437
33438 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
33439
59b8208a 334402005-10-01 Marco Gerards <mgerards@xs4all.nl>
33441
33442 * configure.ac: Accept `x86_64' as host_cpu. In that case add
33443 `-m32' to CFLAGS.
33444
33445 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
33446 linking.
f19dbdb7 33447
59b8208a 33448 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
33449 (COMMON_LDFLAGS): New variable.
33450 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
33451 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
33452 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
33453 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
33454 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
33455 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
33456 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
33457 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
33458 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
33459 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
33460 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
33461 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
33462 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
33463 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
33464 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
33465 variables.
33466 (normal_mod_ASFLAGS): Add `-m32'.
33467
33468 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
33469 (grub_host_size_t, grub_host_ssize_t): New types.
33470 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 33471 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 33472 `GRUB_HOST_SIZEOF_VOID_P'.
33473
33474 * include/grub/kernel.h (struct grub_module_header): Type of
33475 member offset changed to `grub_host_off_t'. Type of member size
33476 changed to `grub_host_size_t'.
33477 (struct grub_module_info): Type of member offset changed to
33478 `grub_host_off_t'. Type of member size changed to
33479 `grub_host_size_t'.
33480
b4093103 334812005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
33482
33483 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 33484
b4093103 33485 * kern/i386/pc/startup.S (multiboot_header): New label.
33486 (multiboot_entry): Likewise.
33487 (multiboot_trampoline): Likewise.
33488
33489 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33490 Increased to 0x4A0.
33491
33492 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
33493 put parentheses after a question mark.
33494 [!GRUB_UTIL] (my_mod): New variable.
33495
33496 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
33497
b2499b29 334982005-09-28 Marco Gerards <mgerards@xs4all.nl>
33499
33500 Adds support for the XFS filesystem. Btrees are not supported
33501 yet.
33502
33503 * fs/xfs.c: New file.
33504
33505 * DISTLIST: Added `fs/xfs.c'.
33506
33507 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
33508 (grub_probefs_SOURCES): Likewise.
33509 (grub_emu_SOURCES): Likewise.
33510 (pkgdata_MODULES): Add `xfs.mod'.
33511 (xfs_mod_SOURCES): New variable.
33512 (xfs_mod_CFLAGS): Likewise.
33513
33514 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
33515 (pkgdata_MODULES): Add `xfs.mod'.
33516 (xfs_mod_SOURCES): New variable.
33517 (xfs_mod_CFLAGS): Likewise.
33518
33519 * util/grub-emu.c (main): Call `grub_xfs_init' and
33520 `grub_xfs_fini'.
33521
33522 * include/grub/fs.h (grub_xfs_init): New prototype.
33523 (grub_xfs_fini): Likewise.
33524
f19dbdb7 33525
83d37a62 335262005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
33527
33528 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
33529 color modes, allow greater than 16 colors to be configured as
33530 a default palette.
33531
47d2d65e 335322005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33533
33534 * normal/completion.c (complete_arguments): Add the qualifier
33535 const into OPTIONS.
33536
33537 From Omniflux <omniflux+lists@omniflux.com>:
33538 * include/grub/terminfo.h: New file.
33539 * include/grub/tparm.h: Likewise.
33540 * include/grub/i386/pc/serial.h: Likewise.
33541 * term/terminfo.c: Likewise.
33542 * term/tparm.c: Likewise.
33543 * term/i386/pc/serial.c: Likewise.
33544 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
33545 serial.mod.
33546 (terminfo_mod_SOURCES): New variable.
33547 (terminfo_mod_CFLAGS): Likewise.
33548 (serial_mod_SOURCES): Likewise.
33549 (serial_mod_CFLAGS): Likewise.
33550
48b671ff 335512005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
33552
33553 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
33554 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
33555 and kern/powerpc/ieee1275/cmain.c, respectively.
33556
33557 * boot/powerpc/ieee1275/crt0.S: Moved to ...
33558 * kern/powerpc/ieee1275/crt0.S: ... here.
33559
33560 * boot/powerpc/ieee1275/cmain.c: Moved to ...
33561 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 33562
48b671ff 33563 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
33564 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
33565 instead of boot/powerpc/ieee1275/crt0.S and
33566 boot/powerpc/ieee1275/cmain.c, respectively.
33567
33568 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
33569 sectors. It was not used anyway.
33570
09fc77a7 335712005-08-30 Hollis Blanchard <hollis@penguinppc.org>
33572
33573 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
33574 `unused parameter' warning.
33575
003789c7 335762005-08-30 Hollis Blanchard <hollis@penguinppc.org>
33577
33578 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
33579 function.
33580 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
33581 getcharwidth.
33582
67f44c86 335832005-08-28 Marco Gerards <metgerards@student.han.nl>
33584
33585 * include/grub/normal.h (enum grub_completion_type): Added
33586 `GRUB_COMPLETION_TYPE_ARGUMENT'.
33587
33588 * normal/cmdline.c (print_completion): Handle
33589 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
33590 * normal/menu_entry.c (store_completion): Likewise.
33591
33592 * normal/completion.c (complete_arguments): New function.
33593 (grub_normal_do_completion): Call `complete_arguments' when the
33594 current words start with a dash.
33595
0b5abe02 335962005-08-27 Marco Gerards <metgerards@student.han.nl>
33597
33598 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
33599 `gzio.mod' instead of `io.mod').
33600
d9864ee1 336012005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
33602
33603 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
33604 (DISTDIRS): Added io and video.
33605 Rewrite the search routine to make an output consistently.
33606
33607 * DISTLIST: Added conf/sparc64-ieee1275.mk,
33608 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
33609 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
33610 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
33611 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
33612 util/powerpc/ieee1275/misc.c.
f19dbdb7 33613
d9864ee1 33614 * include/grub/gzio.h: New file.
33615 * io/gzio.c: Likewise.
f19dbdb7 33616
d9864ee1 33617 * kern/file.c (grub_file_close): Call grub_device_close only if
33618 FILE->DEVICE is not NULL.
33619
33620 * include/grub/mm.h [!NULL] (NULL): New macro.
33621
33622 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
33623
33624 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
33625 (pkgdata_MODULES): Added gzio.mod.
33626 (gzio_mod_SOURCES): New variable.
33627 (gzio_mod_CFLAGS): Likewise.
33628
33629 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
33630 (pkgdata_MODULES): Added gzio.mod.
33631 (gzio_mod_SOURCES): New variable.
33632 (gzio_mod_CFLAGS): Likewise.
33633
33634 * commands/cat.c: Include grub/gzio.h.
33635 (grub_cmd_cat): Use grub_gzfile_open instead of
33636 grub_file_open.
f19dbdb7 33637
d9864ee1 33638 * commands/cmp.c: Include grub/gzio.h.
33639 (grub_cmd_cmp): Use grub_gzfile_open instead of
33640 grub_file_open.
33641
33642 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
33643 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
33644 grub_file_open.
33645 (grub_rescue_cmd_module): Likewise.
33646
fa46f4b5 336472005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
33648
33649 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
33650 kern/sparc64/ieee1275/init.c because it contains _start.
33651 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
33652
e9211b5d 336532005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
33654
33655 * configure.ac: Add support for sparc64 host with ieee1275
33656 firmware.
33657 * configure: Generated from configure.ac.
33658 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
33659 instead of int.
33660 (grub_ofdisk_read): Likewise.
33661 (grub_ofdisk_open): Use %p to print pointer values, and cast the
33662 pointers as (void *) to remove a warning.
33663 (grub_ofdisk_close): Likewise.
33664 (grub_ofdisk_read): Likewise.
33665 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
33666 returns, so make it return void to remove a warning.
33667 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
33668 Corresponding prototype change.
33669 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
33670 values, and cast the pointers as (void *) to remove a warning.
33671 (grub_mm_dump): Likewise.
33672 * conf/sparc64-ieee1275.mk: New file.
33673 * conf/sparc64-ieee1275.rmk: Likewise.
33674 * include/grub/sparc64/setjmp.h: Likewise.
33675 * include/grub/sparc64/types.h: Likewise.
33676 * include/grub/sparc64/ieee1275/console.h: Likewise.
33677 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
33678 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33679 * include/grub/sparc64/ieee1275/time.h: Likewise.
33680 * kern/sparc64/cache.c: Likewise.
33681 * kern/sparc64/dl.c: Likewise.
33682 * kern/sparc64/ieee1275/init.c: Likewise.
33683 * kern/sparc64/ieee1275/openfw.c: Likewise.
33684
385c6a92 336852005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
33686
33687 * util/console.c (grub_ncurses_putchar): If C is greater than
33688 0x7f, set C to a question mark.
33689 (grub_ncurses_getcharwidth): New function.
33690 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
33691 getcharwidth.
33692
33693 * normal/menu.c (print_entry): Made aware of Unicode. First,
33694 convert TITLE to UCS-4, and predict the cursor position by
33695 grub_getcharwidth.
33696
33697 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
33698 const to SRC.
33699 * kern/misc.c (grub_utf16_to_utf8): Likewise.
33700
16ccb8b1 337012005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
33702
33703 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
33704 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
33705 grub_strcat.
33706
33707 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
33708 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
33709 grub_strcpy and grub_strlen. Take it into account that a space
33710 character is inserted as a delimiter.
33711
6a85ce79 337122005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
33713
33714 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 33715 invalid magic in the error.
6a85ce79 33716
33717 * commands/search.c: New file.
f19dbdb7 33718
6a85ce79 33719 * util/grub-emu.c (main): Call grub_search_init and
33720 grub_search_fini.
33721
33722 * kern/rescue.c (grub_rescue_print_disks): Removed.
33723 (grub_rescue_print_devices): New function.
33724 (grub_rescue_cmd_ls): Use grub_device_iterate with
33725 grub_rescue_print_devices instead of grub_disk_dev_iterate with
33726 grub_rescue_print_disks.
33727
33728 * kern/partition.c (grub_partition_iterate): Return the result of
33729 PARTMAP->ITERATE instead of GRUB_ERRNO.
33730
33731 * kern/device.c: Include grub/partition.h.
33732 (grub_device_iterate): New function.
33733
33734 * include/grub/partition.h (grub_partition_iterate): Return int
33735 instead of grub_err_t.
33736
33737 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
33738 prototype.
33739 [GRUB_UTIL] (grub_search_fini): Likewise.
33740
33741 * include/grub/device.h (grub_device_iterate): New prototype.
33742
33743 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
33744 commands/search.c.
33745 (pkgdata_MODULES): Added search.mod.
33746 (search_mod_SOURCES): New variable.
33747 (search_mod_CFLAGS): Likewise.
33748
33749 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
33750 (pkgdata_MODULES): Added search.mod.
33751 (search_mod_SOURCES): New variable.
33752 (search_mod_CFLAGS): Likewise.
33753
33754 * commands/ls.c (grub_ls_list_disks): Renamed to ...
33755 (grub_ls_list_devices): ... this, and use grub_device_iterate.
33756 All callers changed.
33757
33758 * DISTLIST: Added commands/search.c.
33759
ef095434 337602005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
33761
33762 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
33763 conversion.
33764 (grub_getcharwidth): New function.
33765
33766 * kern/misc.c (grub_utf8_to_ucs4): New function.
33767
33768 * include/grub/term.h (struct grub_term): Added a new member
33769 "getcharwidth".
33770 (grub_getcharwidth): New prototype.
33771
33772 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
33773
33774 * term/i386/pc/console.c (map_char): New function. Segregated from
33775 grub_console_putchar.
33776 (grub_console_putchar): Use map_char.
33777 (grub_console_getcharwidth): New function.
33778 (grub_console_term): Specified grub_console_getcharwidth as
33779 getcharwidth.
33780
33781 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
33782 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
33783
33784 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
33785 GRUB_ERRNO.
33786 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
33787 on grub_strtoul completely.
33788 (write_char): Declare local variables in the beginning of the
33789 function.
33790 (grub_vesafb_getcharwidth): New function.
33791 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
33792 getcharwidth.
33793
1f0a95e4 337942005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
33795
33796 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
33797 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
33798 commands/i386/pc/vbetest.c.
33799
33800 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
33801 call grub_vbe_get_controller_info again, because the returned
33802 information is volatile.
33803 (grub_vbe_set_video_mode): Mostly rewritten.
33804 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
33805 grub_vbe_status_t correctly.
33806 (grub_vbe_get_video_mode_info): Likewise.
33807 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
33808 several if statements.
33809
33810 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
33811 * commands/i386/pc/vbeinfo.c: ... this.
33812
33813 * commands/i386/pc/vbe_test.c: Renamed to ...
33814 * commands/i386/pc/vbetest.c: ... this.
33815
33816 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
33817 ...
33818 (grub_cmd_vbeinfo): ... this. Save video modes before
33819 iterating. Skip a video mode, if it is not available, not enough
33820 information is given or it is monochrome. Show the memory
33821 model. Leave the interpretation of MODEVAR to grub_strtoul
33822 completely.
33823 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
33824 (GRUB_MOD_FINI): Likewise.
33825
33826 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
33827 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
33828 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
33829 duplicated grub_env_get. Leave the interpretation of MODEVAR to
33830 grub_strtoul completely.
33831 (real2pm): Removed.
33832 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
33833 (GRUB_MOD_FINI): Likewise.
33834
33835 * normal/misc.c: Include grub/mm.h.
33836
33837 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
33838 vbe_list_modes with vbetest.mod and vbeinfo.mod.
33839 (vbe_list_modes_mod_SOURCES): Removed.
33840 (vbe_list_modes_mod_CFLAGS): Likewise.
33841 (vbe_test_mod_SOURCES): Likewise.
33842 (vbe_test_mod_CFLAGS): Likewise.
33843 (vbeinfo_mod_SOURCES): New variable.
33844 (vbeinfo_mod_CFLAGS): Likewise.
33845 (vbetest_mod_SOURCES): Likewise.
33846 (vbetest_mod_CFLAGS): Likewise.
33847
992ffbbe 338482005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
33849
33850 * normal/misc.c: New file.
33851
33852 * DISTLIST: Added normal/misc.c.
f19dbdb7 33853
992ffbbe 33854 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
33855 DISK to HOOK. Call HOOK with DISK.
33856 * partmap/apple.c (apple_partition_map_iterate): Likewise.
33857 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33858 * partmap/sun.c (sun_partition_map_iterate): Likewise.
33859
33860 * normal/menu_entry.c (struct screen): Added a new member
33861 "completion_shown".
33862 (completion_buffer): New global variable.
33863 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
33864 (store_completion): New function.
33865 (complete): Likewise.
33866 (clear_completions): Likewise.
33867 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
33868 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
33869 a tab, call complete.
33870
33871 * normal/completion.c (disk_dev): Removed.
33872 (print_simple_completion): Likewise.
33873 (print_partition_completion): Likewise.
33874 (print_func): New global variable.
33875 (add_completion): Do not take the arguments WHAT or PRINT any
33876 longer. Added a new argument TYPE. Instead of printing directly,
33877 call PRINT_FUNC if not NULL.
33878 All callers changed.
33879 (complete_device): Use a local variable DEV instead of
33880 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
33881 (grub_normal_do_completion): Take a new argument HOOK. Do not
33882 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
33883 empty string, return NULL instead.
33884 All callers changed.
33885
33886 * normal/cmdline.c (print_completion): New function.
33887
33888 * kern/partition.c (grub_partition_iterate): Add an argument DISK
33889 to HOOK.
33890 All callers changed.
33891
33892 * kern/disk.c (grub_print_partinfo): Removed.
33893
33894 * include/grub/partition.h (struct grub_partition_map): Add a new
33895 argument DISK into HOOK of ITERATE.
33896 (grub_partition_iterate): Add a new argument DISK to HOOK.
33897
33898 * include/grub/normal.h (enum grub_completion_type): New enum.
33899 (grub_completion_type_t): New type.
33900 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
33901 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
33902 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
33903 (GRUB_COMPLETION_TYPE_FILE): Likewise.
33904 (grub_normal_do_completion): Added a new argument HOOK.
33905 (grub_normal_print_device_info): New prototype.
33906
33907 * include/grub/disk.h (grub_print_partinfo): Removed.
33908
33909 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
33910 (normal_mod_SOURCES): Likewise.
33911 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33912 (normal_mod_SOURCES): Likewise.
33913
33914 * commands/ls.c (grub_ls_list_disks): Use
33915 grub_normal_print_device_info instead of grub_print_partinfo. Free
33916 PNAME.
33917 (grub_ls_list_files): Use grub_normal_print_device_info instead of
33918 duplicating the code.
33919
0bd41162 339202005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
33921
33922 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 33923 follow GCS more precisely.
33924 * commands/i386/pc/vbe_test.c: Likewise.
33925 * include/grub/i386/pc/vbe.h: Likewise.
33926 * term/i386/pc/vesafb.c: Likewise.
33927 * video/i386/pc/vbe.c: Likewise.
0bd41162 33928
6323696a 339292005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
33930
33931 * DISTLIST: Added term/i386/pc/vesafb.c
33932 DISTLIST: Added video/i386/pc/vbe.c
33933 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
33934 DISTLIST: Added commands/i386/pc/vbe_test.c.
33935 * commands/i386/pc/vbe_list_modes.c: New file.
33936 * commands/i386/pc/vbe_test.c: Likewise.
33937 * term/i386/pc/vesafb.c: Likewise.
33938 * video/i386/pc/vbe.c: Likewise.
33939 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
33940 (grub_vbe_probe) Added prototype.
33941 (grub_vbe_set_video_mode) Likewise.
33942 (grub_vbe_get_video_mode) Likewise.
33943 (grub_vbe_get_video_mode_info) Likewise.
33944 (grub_vbe_set_pixel_rgb) Likewise.
33945 (grub_vbe_set_pixel_index) Likewise.
33946 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
33947 (pkgdata_MODULES): Added vesafb.mod.
33948 (pkgdata_MODULES): Added vbe_list_modes.mod.
33949 (pkgdata_MODULES): Added vbe_test.mod.
33950 (vbe_mod_SOURCES): Added.
33951 (vbe_mod_CFLAGS): Likewise.
33952 (vesafb_mod_SOURCES): Likewise.
33953 (vesafb_mod_CFLAGS): Likewise.
33954 (vbe_list_modes_mod_SOURCES): Likewise.
33955 (vbe_list_modes_mod_CFLAGS): Likewise.
33956 (vbe_test_mod_SOURCES): Likewise.
33957 (vbe_test_mod_CFLAGS): Likewise.
33958
0a74e62f 339592005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
33960
0a74e62f 33961 * normal/command.c (grub_command_execute): If INTERACTIVE is
33962 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
33963 CMDLINE. Disable the pager if INTERACTIVE is true.
33964 All callers are changed.
33965
33966 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
33967 before reading a config file.
33968 * normal/main.c (read_config_file): Even if a command is not
33969 found, register it if it is within an entry.
33970
33971 * util/grub-emu.c: Include sys/types.h and unistd.h.
33972 (options): Added --hold.
33973 (struct arguments): Added a new member "hold".
33974 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
33975 missing.
33976 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
33977 cleared by a debugger, if it is not zero.
33978
33979 * include/grub/normal.h (grub_command_execute): Add an argument
33980 INTERACTIVE.
33981
e51f85ae 339822005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
33983
33984 * DISTLIST: Added include/grub/i386/pc/vbe.h.
33985
e9c6f39b 339862005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
33987
33988 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
33989 program with another one, because the old one didn't detect a bug
33990 in gcc-3.4. Always use regparm 2, because the new test is still
33991 not enough for gcc-4.0. Someone must investigate a simple test
33992 case which detects a bug in gcc-4.0.
33993
8de3495c 339942005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
33995
33996 * DISTLIST: Added normal/completion.c.
33997
33998 * normal/completion.c: New file.
f19dbdb7 33999
8de3495c 34000 * term/i386/pc/console.c (grub_console_getwh): New function.
34001 (grub_console_term): Assign grub_console_getwh to getwh.
34002
34003 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
34004 function is defined in normal/completion.c as
34005 grub_normal_do_completion.
34006 (grub_cmdline_get): Use grub_normal_do_completion instead of
34007 grub_tab_complete.
34008
34009 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
34010 returns non-zero, otherwise return 0.
34011 (grub_partition_iterate): First, probe the partition map. Then,
34012 call ITERATE only for this partition map.
34013
34014 * kern/misc.c (grub_strncmp): Rewritten.
34015
34016 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
34017 returns non-zero. Otherwise return 0.
34018
34019 * include/grub/partition.h (grub_partition_map_iterate): Return
34020 int instead of void.
34021
34022 * include/grub/normal.h (grub_normal_do_completion): New prototype.
34023
34024 * include/grub/misc.h (grub_strncmp): Change the type of N to
34025 grub_size_t.
34026
34027 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
34028 of void.
34029
34030 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 34031 unsigned explicitly before comparing it with I.
8de3495c 34032
34033 * kern/main.c (grub_env_write_root): Add the attribute unused into
34034 VAR.
34035
34036 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34037 normal/completion.c.
34038 (normal_mod_SOURCES): Likewise.
34039 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34040 (normal_mod_SOURCES): Likewise.
34041
34042 * normal/command.c (grub_iterate_commands): If ITERATE returns
34043 non-zero, return one immediately.
34044
e85e144b 340452005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
34046
34047 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
34048 * kern/i386/pc/startup.S: Updated Global Descriptor table's
34049 descriptions.
34050 (grub_vbe_get_controller_info): New function.
34051 (grub_vbe_get_mode_info): Likewise.
34052 (grub_vbe_set_mode): Likewise.
34053 (grub_vbe_get_mode): Likewise.
34054 (grub_vbe_set_memory_window): Likewise.
34055 (grub_vbe_get_memory_window): Likewise.
34056 (grub_vbe_set_scanline_length): Likewise.
34057 (grub_vbe_get_scanline_length): Likewise.
34058 (grub_vbe_set_display_start): Likewise.
34059 (grub_vbe_get_display_start): Likewise.
34060 (grub_vbe_set_palette_data): Likewise.
34061 * include/grub/i386/pc/vbe.h: New file.
34062
c46153d2 340632005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34064
34065 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34066 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
34067 * DISTLIST: Likewise.
34068 * kern/ieee1275/of.c: Moved to ...
34069 * kern/ieee1275/ieee1275.c: ... here.
34070
0cb90c45 340712005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34072
34073 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
34074 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
34075 Pass 0 as `end' parameter to grub_strtoul().
34076
a19fb360 340772005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34078
34079 * include/grub/powerpc/ieee1275/console.h: Do not include
34080 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
34081 ifdef.
34082 (grub_console_cur_color): Remove i386-specific prototype.
34083 (grub_console_real_putchar): Likewise.
34084 (grub_console_checkkey): Likewise.
34085 (grub_console_getkey): Likewise.
34086 (grub_console_getxy): Likewise.
34087 (grub_console_gotoxy): Likewise.
34088 (grub_console_cls): Likewise.
34089 (grub_console_setcursor): Likewise.
34090 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
34091 Include <grub/machine/console.h>.
34092 * term/ieee1275/ofconsole.c: Likewise.
34093
4ac9bd04 340942005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
34095
34096 * Makefile.in (LIBLZO): New variable.
34097
34098 * configure.ac: Check for LZO version 2.
34099
34100 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
34101 lzo/lzo1x.h instead of lzo1x.h.
34102
34103 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
34104 of -llzo.
34105
34106 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
34107 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
34108
34109 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
34110 copying the data from PARTITION to P.
34111
f4917dfd 341122005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34113
34114 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
34115 negative, unload the module.
34116
34117 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
34118 map is "pc_partition_map" but not "pc".
34119 (usage): Fix the description. The options are --boot-image and
34120 --core-image but not --boot-file or --core-file.
34121 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
34122 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
34123 DEFAULT_DIRECTORY.
34124
34125 * util/i386/pc/grub-install.in: Do not specify --boot-file or
34126 --core-file. Specify INSTALL_DEVICE as an argument.
34127
34128 * util/console.c: Include config.h.
34129 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
34130 [HAVE_NCURSES_H]: Include ncurses.h.
34131 [HAVE_CURSES_H]: Include curses.h.
34132 [!A_NORMAL] (A_NORMAL): Defined as zero.
34133 [!A_STANDOUT] (A_STANDOUT): Likewise.
34134
34135 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
34136 -lncurses.
34137 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
34138
34139 * configure.ac: Check for curses libraries and headers.
34140
34141 * Makefile.in (LIBCURSES): New variable.
34142
34143 * genmk.rb (Script::rule): Set the executable bits.
34144
34145 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
34146 name of the PC partition map is "pc_partition_map" but not "pc".
34147
0e143073 341482005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34149
34150 * util/i386/pc/grub-install.in (grub_probefs): New variable.
34151 (modules): Likewise.
34152 (usage): Added descriptions for --modules and --grub-probefs.
34153 Handle --modules and --grub-probefs. Save the arguments in MODULES
34154 and GRUB_PROBEFS, respectively.
34155 Auto-detect a filesystem module against GRUBDIR. If the result is
34156 empty and modules are not specified explicitly, abort the
34157 installation. Add the result to MODULES.
34158
34159 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
34160 disk/powerpc/ieee1275/ofdisk.c,
34161 include/grub/powerpc/ieee1275/init.h and
34162 term/powerpc/ieee1275/ofconsole.c.
34163 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
34164 term/ieee1275/ofconsole.c.
34165
34166 * include/grub/powerpc/ieee1275/console.h: Resurrected.
34167
34168 * COPYING: Upgraded to the latest version. Only the address of the
34169 FSF office has changed.
f19dbdb7 34170
efd6e6d5 341712005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34172
34173 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34174 kern/ieee1275.c with kern/ieee1275/of.c.
34175
34176 * kern/ieee1275.c: Moved to ...
34177 * kern/ieee1275/of.c: ... here.
34178
8ceafda2 341792005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
34180
34181 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 34182 readability.
8ceafda2 34183
34184 * config.guess: Updated to the latest version from gnulib.
34185 * config.sub: Likewise.
34186 * install.sh: Likewise.
34187 * mkinstalldirs: Likewise.
34188
34189 * include/grub/console.h: Removed. This file is arch-specific. Do
34190 not put this in include/grub.
34191
34192 * include/grub/i386/pc/console.h: Resurrected.
34193
34194 * util/console.c: Include grub/machine/console.h instead of
34195 grub/console.h.
34196 * util/grub-emu.c: Likewise.
34197
267f6cd9 341982005-08-04 Marco Gerards <metgerards@student.han.nl>
34199
34200 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
34201 hardcoded value.
f19dbdb7 34202
267f6cd9 34203 From Vincent Pelletier <subdino2004@yahoo.fr>
34204 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
34205 Redefined to use grub_getwh.
34206 (grub_term): New member named getwh.
34207 (grub_getwh): New prototype.
34208 * kern/term.c (grub_getwh): New function.
34209 * term/i386/pc/console.c (grub_console_getwh): New function.
34210 (grub_console_term): New member `getwh'.
34211 * term/i386/pc/vga.c (grub_vga_getwh): New function.
34212 (grub_vga_term): New member `getwh'.
0b5abe02 34213 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 34214 grub_ssize_t.
34215 (grub_ofconsole_getw): New function.
34216 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
34217 (grub_ofconsole_term): New field named getwh and new initial
34218 value.
34219
3be7266d 342202005-08-03 Hollis Blanchard <hollis@penguinppc.org>
34221
34222 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
34223 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
34224 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
34225 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
34226 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
34227 of <grub/machine/ieee1275.h>.
34228 * commands/ieee1275/reboot.c: Likewise.
34229 * boot/powerpc/ieee1275/ieee1275.c: Move ...
34230 * kern/ieee1275.c: ... to here. All users updated. Change all
34231 parameter structs to use new type `grub_ieee1275_cell_t'.
34232 * term/powerpc/ieee1275/ofconsole.c: Move ...
34233 * term/ieee1275/ofconsole.c: ... to here. All users updated.
34234 * disk/powerpc/ieee1275/ofdisk.c: Move ...
34235 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
34236 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
34237 to return int.
34238 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
34239 Remove unused prototypes. All users updated.
34240 * include/grub/powerpc/ieee1275/console.h: Removed.
34241 * include/grub/powerpc/ieee1275/ieee1275.h: Define
34242 `grub_ieee1275_cell_t'.
34243 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
34244 Cast comparisons with -1 to the correct type.
34245 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
34246 type to match `grub_ieee1275_entry_fn'.
34247
8b5f3938 342482005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
34249
34250 * DISTLIST: Added util/i386/pc/grub-probefs.c.
34251
34252 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
34253 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
34254 partmap/sun.c.
34255 (grub_probefs_SOURCES): New variable.
34256
34257 * util/i386/pc/grub-probefs.c: New file.
34258
34259 * util/i386/pc/grub-setup.c (main): Call
34260 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
34261 grub_hfs_init and grub_jfs_init to initialize the system. Call
34262 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
34263 grub_pc_partition_map_fini to finish the system.
34264
ea409713 342652005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
34266
34267 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
34268 function.
34269 (grub_multiboot_load_elf32): Likewise.
34270 (grub_multiboot_is_elf64): Likewise.
34271 (grub_multiboot_load_elf64): Likewise.
34272 (grub_multiboot_load_elf): Likewise.
34273 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
34274 an ELF32 or ELF64 file.
34275 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
34276
34277 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
34278 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
34279 NULL before calling FS->LABEL.
34280 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
34281 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
34282 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
34283 before calling FS->LABEL.
34284
141a288b 342852005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
34286
34287 * util/i386/pc/grub-install.in (datadir): New variable.
34288 (libdir): Removed.
34289 (pkgdatadir): New variable.
34290 (pkglibdir): Removed.
34291
0d5f8a54 342922005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
34293
34294 * DISTLIST: Added util/i386/pc/grub-install.in.
34295
34296 * util/i386/pc/grub-install.in: New file.
34297
34298 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
34299 (grub_install_SOURCES): Likewise.
34300
34301 * genmk.rb: Added support for scripts.
34302 (Script): New class.
34303 (scripts): New variable.
34304
34305 * Makefile.in (install-local): Install sbin_SCRIPTS by
34306 INSTALL_SCRIPT.
34307 (uninstall): Remove sbin_SCRIPTS.
34308
34309 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
34310 device, try to get a GRUB device by
34311 grub_util_biosdisk_get_grub_dev.
34312 Free DEST_DEV.
34313
34314 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
34315 description for --device-map.
34316
5f968e1e 343172005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
34318
34319 Change the semantics of variable hooks. They now return strings
34320 instead of error values.
f19dbdb7 34321
5f968e1e 34322 * util/i386/pc/grub-setup.c: Include grub/env.h.
34323 (setup): Use grub_device_set_root instead of grub_env_set.
34324
34325 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
34326 grub_env_get instead of grub_device_set_root and
34327 grub_device_get_root, respectively.
34328
34329 * kern/main.c (grub_env_write_root): New function.
34330 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
34331 grub_env_set instead of grub_device_set_root.
34332
34333 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
34334 many variables.
34335 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
34336 rather than calling ENV->WRITE_HOOK afterwards.
34337 (grub_env_get): Return the result of ENV->READ_HOOK rather than
34338 passing a pointer of a pointer.
34339 (grub_register_variable_hook): Change the types of "read_hook" and
34340 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
34341 respectively.
34342 Allocate the default empty string on the heap, because this string
34343 may be freed later.
34344
34345 * kern/device.c: Include grub/env.h.
34346 (grub_device_set_root): Removed.
34347 (grub_device_get_root): Likewise.
34348 (grub_device_open): Use grub_env_get instead of
34349 grub_device_get_root.
34350
34351 * include/grub/env.h (grub_env_read_hook_t): New type.
34352 (grub_env_write_hook_t): Likewise.
34353 (grub_env_var): Change the types of "read_hook" and "write_hook"
34354 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
34355 (grub_register_variable_hook): Likewise.
34356
34357 * include/grub/device.h (grub_device_set_root): Removed.
34358 (grub_device_set_root): Likewise.
34359
34360 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
34361 make sure that DIRNAME terminates with '/', so that
34362 grub_fat_find_dir will fail if PATH is not a directory.
34363
34364 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
34365 from DIRNAME.
34366 Use the qualifier auto for print_files and print_files_long.
34367 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
34368 as a regular file.
34369 Put a newline only if there is no error.
34370 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
34371 used.
34372
896f0afd 343732005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
34374
34375 * kern/partition.c (grub_partition_probe): Initialize PART to
34376 NULL. Otherwise, when no partition map is registered, this returns
34377 a garbage.
34378
b28b81b2 343792005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
34380
34381 * partmap/apple.c (apple_partition_map_iterate): Check if POS
34382 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
34383 valid.
34384
5f3607e0 343852005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
34386
34387 * commands/ls.c (grub_ls_list_disks): Print the filesystem
34388 information on each device, if it does not have partitions. Print
34389 "Device" instead of "Disk", because this function is not specific
34390 to disk devices.
34391
34392 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
34393 static to ensure that it is put on the memory rather than a
34394 register.
34395
502c87e8 343962005-07-17 Yoshinori Okuji <okuji@enbug.org>
34397
34398 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
34399 (grub_cat_init): Likewise.
34400 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
34401 (options): Likewise.
34402 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
34403 (grub_configfile_init): Likewise.
34404 * font/manager.c (GRUB_MOD_INIT): Likewise.
34405 * commands/help.c (GRUB_MOD_INIT): Likewise.
34406 (grub_help_init): Likewise.
34407 * normal/command.c (grub_command_init): Likewise.
34408 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
34409 * disk/loopback.c (grub_loop_init): Likewise.
34410 (GRUB_MOD_INIT): Likewise.
34411 * commands/ls.c (grub_ls_init): Likewise.
34412 (GRUB_MOD_INIT): Likewise.
34413 (options): Likewise.
34414 * commands/boot.c (grub_boot_init): Likewise.
34415 (GRUB_MOD_INIT): Likewise.
34416 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
34417 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
34418 (GRUB_MOD_INIT): Likewise.
34419 * commands/cmp.c (grub_cmp_init): Likewise.
34420 (GRUB_MOD_INIT): Likewise.
34421
34422 * normal/arg.c: Use <> instead of "" to include header files.
34423 (SHORT_ARG_HELP): New macro.
34424 (SHORT_ARG_USAGE): Likewise.
34425 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
34426 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
34427 descriptions.
34428 (find_short): Check if C is 'h' or 'u' explicitly.
34429 (grub_arg_show_help): Use space characters instead of tabs. Treat
34430 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
34431 are shown with --help and --usage only if they are not used for
34432 the command itself.
34433 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
34434 'h' and 'u'.
34435
34436 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
34437 const into "longarg". Change the type of "shortarg" to int.
34438
f806d18e 344392005-07-17 Yoshinori Okuji <okuji@enbug.org>
34440
34441 * boot/i386/pc/boot.S (boot_drive_check): New label.
34442
34443 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
34444 macro.
34445
34446 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
34447 which do not pass a boot drive correctly. Copied from GRUB Legacy.
34448
e293232b 344492005-07-17 Yoshinori Okuji <okuji@enbug.org>
34450
34451 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
34452 When turning off Gate A20, skip the check and return immediately,
34453 because this is not fatal usually.
34454
ebedfd00 344552005-07-17 Yoshinori Okuji <okuji@enbug.org>
34456
34457 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
34458 be 0x7C00 instead of 0x8000.
34459
34460 * boot/i386/pc/pxeboot.S: Rewritten.
34461
34462 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
34463 EXT_C.
34464 (gate_a20_check_state): Read a byte from 0x108000. Invert the
34465 result.
34466
654fc59f 344672005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
34468
34469 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
34470 robustness. This routine now supports a BIOS call and System
34471 Control Port A to modify the gate A20.
34472
34473 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34474 Increased to 0x440.
34475
09f9923f 344762005-07-12 Hollis Blanchard <hollis@penguinppc.org>
34477
34478 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
34479 device path and resulting ihandle.
34480 (grub_ofdisk_close): dprintf the ihandle being closed.
34481 (grub_ofdisk_read): dprintf function parameters.
34482 * kern/mm.c (grub_mm_init_region): Likewise.
34483 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
34484 (grub_linux_boot): dprintf the Linux entry point, initrd address and
34485 size, and boot arguments.
34486 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
34487 before loading into memory.
34488 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
34489 before loading into memory.
34490
7ef504d8 344912005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
34492
34493 * kern/mm.c: Added much documentation.
34494 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
34495 8, set to 5 instead of 8.
34496
e0f050c2 344972005-07-10 Yoshinori Okuji <okuji@enbug.org>
34498
34499 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
34500
34501 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
34502 (grub_mkdevicemap_SOURCES): New variable.
34503
34504 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
34505 lib/device.c of GRUB Legacy.
34506
7224189a 345072005-07-10 Yoshinori Okuji <okuji@enbug.org>
34508
34509 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
34510 instead of PATH is NULL.
34511
68c864eb 345122005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
34513
34514 * commands/cmp.c (BUFFER_SIZE): New macro.
34515 (grub_cmd_cmp): Close the right file at the right time. Compare
34516 only data just read. Don't report files of different size as
34517 identical. Dynamically allocate buffers. Move variable
34518 declarations at the beginning of function.
34519
e6f3e614 345202005-07-09 Yoshinori Okuji <okuji@enbug.org>
34521
34522 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
34523 reverse.
34524
f8f1559a 345252004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
34526
34527 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
34528 when backspace is pressed at beginning of line.
34529
39c9d41d 345302005-07-03 Yoshinori Okuji <okuji@enbug.org>
34531
34532 * DISTLIST: Added genfslist.sh.
34533
34534 * normal/main.c (fs_module_list): New variable.
34535 (autoload_fs_module): New function.
34536 (read_fs_list): Likewise.
34537 (grub_normal_execute): Call read_fs_list.
34538
34539 * kern/fs.c (grub_fs_autoload_hook): New variable.
34540 (grub_fs_probe): Added support for auto-loading.
34541
34542 * include/grub/normal.h (struct grub_fs_module_list): New struct.
34543 (grub_fs_module_list_t): New type.
34544
34545 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
34546 (grub_fs_autoload_hook): New prototype.
34547
34548 * genfslist.sh: New file.
f19dbdb7 34549
39c9d41d 34550 * genmk.rb: Added a rule to generate a filesystem list.
34551
121c1d83 345522005-06-30 Marco Gerards <metgerards@student.han.nl>
34553
34554 * configure.ac: Fix the test for cross-compiling.
34555
34556 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
34557 define GRUB_UTIL anymore.
34558
34559 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
34560 so this function works on other systems than just big endian.
34561 (load_modules): Likewise.
34562 (add_segments): Likewise.
34563
e75d76e1 345642005-06-23 Hollis Blanchard <hollis@penguinppc.org>
34565
34566 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
34567 contains `l' modifier, get a long from va_arg().
34568
50b5a0a7 345692005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
34570
34571 * kern/mm.c (grub_free): If the next free block which is being
34572 merged is the first free block, set the first block to the block
34573 being freed.
34574 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
34575
89371b20 345762005-05-08 Hollis Blanchard <hollis@penguinppc.org>
34577
34578 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
34579 `grub_ieee1275_chosen'.
34580
168d6e58 345812005-05-08 Hollis Blanchard <hollis@penguinppc.org>
34582
34583 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
34584 (grub_ieee1275_chosen): New variable.
34585 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
34586 `chosen'.
34587 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
34588 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
34589 Rename first argument to `phandle' for consistency.
34590 (grub_ieee1275_get_property_length): Likewise.
34591 (grub_ieee1275_next_property): Likewise. Change type of first argument
34592 to grub_ieee1275_phandle_t.
34593 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
34594 Move export next to declaration.
34595 (grub_ieee1275_chosen): New variable.
34596 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
34597 Correct cosmetic typo.
34598 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
34599 `grub_ieee1275_chosen'.
34600 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
34601 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
34602 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
34603 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
34604 `grub_ieee1275_chosen'.
34605
ca5baa3f 346062005-05-10 Hollis Blanchard <hollis@penguinppc.org>
34607
34608 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
34609 /chosen/bootargs.
34610 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
34611 /chosen/bootargs as "variable=value" pairs.
34612
708b345f 346132005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
34614
34615 * include/grub/misc.h (grub_dprintf): New macro.
34616 (grub_real_dprintf): New prototype.
34617 (grub_strword): Likewise.
34618 (grub_iswordseparator): Likewise.
34619 * kern/misc.c (grub_real_dprintf): New function.
34620 (grub_strword): Likewise.
34621 (grub_iswordseparator): Likewise.
34622
f4c5e67c 346232005-04-30 Hollis Blanchard <hollis@penguinppc.org>
34624
34625 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
34626 (roundup): Remove macro.
34627 (grub_ieee1275_flags): Make static.
34628 (grub_ieee1275_realmode): Remove.
34629 (grub_ieee1275_test_flag): New function.
34630 (grub_ieee1275_set_flag): Likewise.
34631 (find_options): Rename to `grub_ieee1275_find_options'; update
34632 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
34633 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
34634 (cmain): New prototype.
34635 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
34636 `grub_ieee1275_flags' directly.
34637 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
34638 machine/biosdisk.h.
34639 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
34640 Don't include grub/machine/init.h.
34641 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
34642 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
34643 Remove prototype.
34644 (grub_ieee1275_realmode): Likewise.
34645 (grub_ieee1275_flag): New enum.
34646 (grub_ieee1275_test_flag): New prototype.
34647 (grub_ieee1275_set_flag): New prototype.
34648 * include/grub/powerpc/ieee1275/init.h: Remove file.
34649 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
34650 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
34651 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
34652 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
34653 comment.
34654 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
34655 `grub_ieee1275_test_flag'.
34656 (grub_ieee1275_encode_devname): Likewise.
34657
ed16607e 346582005-04-21 Hollis Blanchard <hollis@penguinppc.org>
34659
34660 * include/grub/powerpc/ieee1275/ieee1275.h
34661 (grub_ieee1275_encode_devname): New prototype.
34662 (grub_ieee1275_get_filename): Likewise.
34663 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
34664 function.
34665 (grub_set_prefix): Likewise.
34666 (grub_machine_init): Call grub_set_prefix.
34667 * kern/powerpc/ieee1275/openfw.c: Fix typos.
34668 (grub_parse_type): New enum.
34669 (grub_ieee1275_get_devargs): New function.
34670 (grub_ieee1275_get_devname): Likewise.
34671 (grub_ieee1275_parse_args): Likewise.
34672 (grub_ieee1275_get_filename): Likewise.
34673 (grub_ieee1275_encode_devname): Likewise.
34674
be369920 346752005-03-30 Marco Gerards <metgerards@student.han.nl>
34676
34677 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
34678 `grub_loader_unset'.
34679
a5ce3a4a 346802005-03-26 Hollis Blanchard <hollis@penguinppc.org>
34681
34682 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
34683 instead of grub_ieee1275_interpret.
34684 (grub_halt_init): New function.
34685 (grub_halt_fini): Likewise.
34686 (GRUB_MOD_INIT): Correct message grammar.
34687 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
34688 instead of grub_ieee1275_interpret.
34689 (grub_reboot_init): New function.
34690 (grub_reboot_fini): Likewise.
34691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
34692 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
34693 util/i386/pc/misc.c with commands/ieee1275/halt.c,
34694 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
34695 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
34696 function.
34697 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
34698 Add prototype.
34699 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
34700 prototype.
34701 (grub_halt): Likewise.
34702 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
34703 (cmain): Remove __attribute__((unused)).
34704 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
34705 (grub_heap_len): Likewise.
34706 (grub_machine_fini): New function.
34707 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
34708 (grub_halt): Likewise.
34709 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
34710 function.
34711 * util/powerpc/ieee1275/misc.c: New file.
34712
0058f771 347132005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
34714
34715 * DISTLIST: New file.
34716 * gendistlist.sh: Likewise.
f19dbdb7 34717
0058f771 34718 * Makefile.in (COMMON_DISTFILES): Removed.
34719 (BOOT_DISTFILES): Likewise.
34720 (CONF_DISTFILES): Likewise.
34721 (DISK_DISTFILES): Likewise.
34722 (FS_DISTFILES): Likewise.
34723 (INCLUDE_DISTFILES): Likewise.
34724 (KERN_DISTFILES): Likewise.
34725 (LOADER_DISTFILES): Likewise.
34726 (TERM_DISTFILES): Likewise.
34727 (UTIL_DISTFILES): Likewise.
34728 (DISTFILES): Likewise.
34729 (uninstall): Uninstall files in $(pkgdata_DATA).
34730 (DISTLIST): New target.
34731 (distdir): Use the contents of the file DISTLIST to get a list of
34732 distributed files.
34733
46b3b8a5 347342005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
34735
34736 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
34737 descriptor. This is ported from GRUB Legacy.
34738
34739 * gencmdlist.sh: Added an extra semicolon to make it work with
34740 old sed versions. Reported by Robert Bihlmeyer
34741 <robbe@orcus.priv.at>.
34742
5822ff87 347432005-03-08 Yoshinori Okuji <okuji@enbug.org>
34744
34745 Automatic loading of commands is supported.
f19dbdb7 34746
5822ff87 34747 * normal/main.c (read_command_list): New function.
34748 (grub_normal_execute): Call read_command_list.
34749
34750 * normal/command.c (grub_register_command): Return zero or CMD.
34751 Allocate CMD->NAME from the heap.
34752 Initialize CMD->MODULE_NAME to zero.
34753 Find the same name as well. If the same command is found and it is
34754 a dummy command, overwrite members. If it is not a dummy command,
34755 return zero.
34756 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
34757 (grub_command_find): If a dummy command is found, load a module
34758 and retry to find a command only once.
34759
34760 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
34761 make sure that each command is loaded.
34762
34763 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
34764 macro.
34765 (struct grub_command): Remove const from the member `name'.
34766 Add a new member `module_name'.
34767 (grub_register_command): Return grub_command_t.
34768
34769 * commands/help.c (grub_cmd_help): Call grub_command_find to make
34770 sure that each command is loaded.
34771
34772 * genmk.rb (PModule::rule): Specify a module name without the
34773 suffix ".mod" to gencmdlist.sh.
34774
7b1f4b57 347752005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
34776
34777 * gencmdlist.sh: New file.
f19dbdb7 34778
7b1f4b57 34779 * genmk.rb (PModule::rule): Generate a rule for a command list.
34780 Clean command.lst.
34781 Generate command.lst from $(COMMANDFILES).
34782
34783 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
34784 (DATA): Added $(pkgdata_DATA).
34785 (install-local): Install files in $(pkgdata_DATA).
34786
062aaf39 347872005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
34788
34789 * term/i386/pc/vga.c (debug_command): Removed.
34790 (GRUB_MOD_INIT): Do not register the command "debug".
34791
34792 From Hollis Blanchard:
34793 * commands/configfile.c: New file.
34794 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
34795 commands/configfile.c.
34796 (pkgdata_MODULES): Added configfile.mod.
34797 (configfile_mod_SOURCES): New variable.
34798 (configfile_mod_CFLAGS): Likewise.
34799 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34800 commands/configfile.c.
34801 (pkgdata_MODULES): Added configfile.mod.
34802 (configfile_mod_SOURCES): New variable.
34803 (configfile_mod_CFLAGS): Likewise.
34804 * util/grub-emu.c (main): Call grub_configfile_init and
34805 grub_configfile_fini.
34806 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
34807 prototype.
34808 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 34809
cee01aa6 348102005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
34811
34812 * normal/arg.c (grub_arg_show_help): Do not show the bug report
34813 address.
34814
34815 * commands/help.c (grub_cmd_help): Do not print newlines after
34816 the last command in print_command_help.
34817
93f3a1d8 348182005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
34819
34820 * commands/default.h: New file.
34821 * commands/timeout.h: Likewise.
34822 * normal/context.c: Likewise.
f19dbdb7 34823
93f3a1d8 34824 * util/misc.c: Do not include sys/times.h.
34825 Include sys/time.h and grub/machine/time.h.
34826 (grub_get_rtc): Rewritten with gettimeofday.
34827
34828 * util/grub-emu.c (main): Call grub_default_init and
34829 grub_timeout_init before grub_normal_init, and call
34830 grub_timeout_fini and grub_default_fini after grub_main.
34831
34832 * util/console.c (grub_ncurses_checkkey): Return the read
34833 character or -1.
34834
34835 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
34836 timeouts.
34837
34838 * normal/main.c (read_config_file): Push MENU. If this fails,
34839 print an error and wait for a user input.
34840 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
34841 If a menu is empty or an error occurs, pop MENU.
34842 (grub_normal_execute): Pop and free MENU after grub_menu_run
34843 returns.
34844
34845 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
34846
34847 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
34848 include time.h.
34849 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
34850 without GRUB_UTIL.
34851 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
34852 time.h.
34853 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
34854 without GRUB_UTIL.
34855
34856 * include/grub/normal.h (struct grub_menu_list): New struct.
34857 (grub_menu_list_t): New type.
34858 (struct grub_context): New struct.
34859 (grub_context_t): New type.
34860 (grub_register_command): Got rid of EXPORT_FUNC.
34861 (grub_unregister_command): Likewise.
34862 (grub_context_get): New prototype.
34863 (grub_context_get_current_menu): Likewise.
34864 (grub_context_push_menu): Likewise.
34865 (grub_context_pop_menu): Likewise.
34866 [GRUB_UTIL] (grub_default_init): Likewise.
34867 [GRUB_UTIL] (grub_default_fini): Likewise.
34868 [GRUB_UTIL] (grub_timeout_init): Likewise.
34869 [GRUB_UTIL] (grub_timeout_fini): Likewise.
34870
34871 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
34872 commands/timeout.c and normal/context.c.
34873 (pkgdata_MODULES): Added default.mod and timeout.mod.
34874 (normal_mod_SOURCES): Added normal/context.c.
34875 (default_mod_SOURCES): New variable.
34876 (default_mod_CFLAGS): Likewise.
34877 (timeout_mod_SOURCES): Likewise.
34878 (timeout_mod_CFLAGS): Likewise.
34879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
34880 conf/i386-pc.rmk.
34881 (pkgdata_MODULES): Added default.mod and timeout.mod.
34882 (normal_mod_SOURCES): Added normal/context.c.
34883 (default_mod_SOURCES): New variable.
34884 (default_mod_CFLAGS): Likewise.
34885 (timeout_mod_SOURCES): Likewise.
34886 (timeout_mod_CFLAGS): Likewise.
34887
34888 * Makefile.in (all-local): Added $(MKFILES).
34889
4ed2e1dd 348902005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
34891
34892 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
34893 (grub_emu_SOURCES): Likewise.
34894 (pkgdata_MODULES): Add `sun.mod'.
34895 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
34896 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34897 `partmap/sun.c'.
34898 (pkgdata_MODULES): Add `sun.mod'.
34899 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
34900 * include/grub/partition.h (grub_sun_partition_map_init): New
34901 prototype.
34902 (grub_sun_partition_map_fini): Likewise.
34903 * partmap/sun.c: New file.
34904 * util/grub-emu.c (main): Initialize and de-initialize the sun
34905 partitionmap support.
34906
4d4e372e 349072005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
34908
34909 This implements an Emacs-like menu entry editor.
f19dbdb7 34910
4d4e372e 34911 * normal/menu_entry.c: New file.
f19dbdb7 34912
4d4e372e 34913 * util/console.c (grub_ncurses_putchar): Translate some Unicode
34914 characters to ASCII.
34915 (saved_char): New variable.
34916 (grub_ncurses_checkkey): Rewritten completely.
34917 (grub_ncurses_getkey): Likewise.
34918 (grub_ncurses_init): Call raw instead of cbreak.
34919
34920 * normal/menu.c (print_entry): Do not put a space.
34921 (init_page): Renamed to ...
34922 (grub_menu_init_page): ... this. All callers changed.
34923 (edit_menu_entry): Removed.
34924 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
34925
34926 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
34927
34928 * kern/misc.c (grub_vprintf): Call grub_refresh.
34929
34930 * normal/menu.c (DISP_LEFT): Renamed to ...
34931 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
34932 * normal/menu.c (DISP_UP): Renamed to ...
34933 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
34934 * normal/menu.c (DISP_RIGHT): Renamed to ...
34935 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
34936 * normal/menu.c (DISP_DOWN): Renamed to ...
34937 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
34938 * normal/menu.c (DISP_HLINE): Renamed to ...
34939 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
34940 * normal/menu.c (DISP_VLINE): Renamed to ...
34941 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
34942 * normal/menu.c (DISP_UL): Renamed to ...
34943 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
34944 * normal/menu.c (DISP_UR): Renamed to ...
34945 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
34946 * normal/menu.c (DISP_LL): Renamed to ...
34947 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
34948 * normal/menu.c (DISP_LR): Renamed to ...
34949 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
34950 * normal/menu.c (TERM_WIDTH): Renamed to ...
34951 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
34952 * normal/menu.c (TERM_HEIGHT): Renamed to ...
34953 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
34954 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
34955 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
34956 * normal/menu.c (TERM_MARGIN): Renamed to ...
34957 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
34958 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
34959 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
34960 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
34961 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
34962 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
34963 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
34964 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
34965 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
34966 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
34967 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
34968 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
34969 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
34970 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
34971 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
34972 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
34973 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
34974 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
34975 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
34976 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
34977 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
34978 All callers changed.
34979
34980 * include/grub/normal.h: New prototype.
34981
34982 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
34983 normal/menu_entry.c.
34984 (normal_mod_SOURCES): Likewise.
34985 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34986 (normal_mod_SOURCES): Likewise.
34987
e6b92c8a 349882005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
34989
34990 * include/grub/normal.h (grub_halt_init): New prototype.
34991 (grub_halt_fini): Likewise.
34992 (grub_reboot_init): Likewise.
34993 (grub_reboot_fini): Likewise.
34994
34995 * util/grub-emu.c: Include signal.h.
34996 (main_env): New global variable.
34997 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
34998 catch C-c.
34999 (grub_machine_fini): New function.
35000 (main): Call grub_halt_init and grub_reboot_init before
35001 grub_main, and grub_reboot_fini and grub_halt_fini after it.
35002 Call setjmp with MAIN_ENV to go back afterwards.
35003 Call grub_machine_fini right before return.
35004
35005 * include/grub/util/misc.h: Include setjmp.h.
35006 (main_env): New prototype.
35007
35008 * include/grub/kernel.h (grub_machine_fini): New prototype.
35009 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
35010 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
35011
35012 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
35013 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
35014 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 35015
e6b92c8a 35016 * util/i386/pc/misc.c: New file.
f19dbdb7 35017
e6b92c8a 35018 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35019 util/i386/pc/misc.c, commands/i386/pc/halt.c and
35020 commands/i386/pc/reboot.c.
35021
c642636f 350222005-02-14 Guillem Jover <guillem@hadrons.org>
35023
35024 * include/grub/dl.h (grub_dl_check_header): New prototype.
35025 (grub_arch_dl_check_header): Change return type to grub_err_t,
35026 remove size parameter and export function. Update all callers.
35027 * kern/dl.c (grub_dl_check_header): New function.
35028 (grub_dl_load_core): Use `grub_dl_check_header' instead of
35029 `grub_arch_dl_check_header'. Check ELF type. Check if sections
35030 are inside the core.
35031 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
35032 independent ELF header checks.
35033 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35034 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
35035 `grub_dl_check_header' instead of explicit checks. Check for the
35036 ELF type.
35037 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
35038 `grub_dl_check_header' instead of explicit checks. Remove arch
35039 specific ELF header checks.
35040
e6b92c8a 35041 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
35042 argument SIZE.
35043
5eabe94b 350442005-02-13 Hollis Blanchard <hollis@penguinppc.org>
35045
35046 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
35047 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
35048
1b14a681 350492005-02-12 Hollis Blanchard <hollis@penguinppc.org>
35050
35051 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 35052 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 35053 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 35054 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 35055 * partmap/amiga.c (amiga_partition_map_iterate): Return
35056 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
35057 * partmap/apple.c (apple_partition_map_iterate): Likewise.
35058
aca108aa 350592005-02-01 Guillem Jover <guillem@hadrons.org>
35060
35061 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
35062 help info.
35063
c9f9c556 350642005-01-31 Marco Gerards <metgerards@student.han.nl>
35065
35066 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
35067 Removed prototype.
35068 (grub_rescue_cmd_linux): New prototype.
35069 (grub_rescue_cmd_initrd): Likewise.
35070 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
35071 `bi_rec'.
35072 (grub_linux_release_mem): Release the memory for the initrd.
35073 (grub_load_linux): Renamed from this...
35074 (grub_rescue_cmd_linux): ...To this. Changed all callers.
35075 Changed `entry' not to be static. Loop over memory regions to
35076 find another one when the default fails.
35077 (grub_rescue_cmd_initrd): New function.
35078 (grub_linux_init): Remove function.
35079 (grub_linux_fini): Likewise.
35080 (GRUB_MOD_INIT): Register `initrd'.
35081 (GRUB_MOD_FINI): Unregister `initrd'.
35082 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
35083 Function removed.
35084 (grub_linux_normal_fini): Likewise.
35085 (GRUB_MOD_INIT): Register `initrd'.
35086 (GRUB_MOD_FINI): Unregister `initrd'.
35087
990cf3aa 350882005-01-31 Marco Gerards <metgerards@student.han.nl>
35089
35090 * commands/help.c: New file.
35091 * normal/arg.c (show_help): Renamed to...
35092 (grub_arg_show_help): ... this.
35093 * commands/i386/pc/halt.c: New file.
35094 * commands/i386/pc/reboot.c: Likewise.
35095 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
35096 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
35097 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
35098 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
35099 variables.
35100 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35101 `commands/help.c'.
35102 (pkgdata_MODULES): Add `help.mod'.
35103 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
35104 * grub/i386/pc/init.h (grub_reboot): New prototype.
35105 (grub_halt): Likewise.
35106 * include/grub/normal.h (grub_arg_show_help): New prototype.
35107 (grub_help_init): Likewise.
35108 (grub_help_fini): Likewise.
35109 * util/grub-emu.c (main): Initialize and deinitialize the help
35110 command.
35111
35112 * normal/cmdline.c (grub_cmdline_get): Doc fix.
35113
35114 * normal/command.c (grub_command_init): Fixed the description of
35115 the `set' and `unset' commands.
35116
351172005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 35118
35119 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
35120 function.
35121 * commands/ieee1275/halt.c: New file.
35122 * commands/ieee1275/reboot.c: Likewise.
35123 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
35124 `__attribute__ ((unused))'. Some GCS related fixed.
35125 (grub_suspend_init) [GRUB_UTIL]: Function removed.
35126 (grub_suspend_fini): Likewise.
35127 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
35128 and `halt.mod'.
35129 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
35130 (halt_mod_CFLAGS): New variables.
35131 * include/grub/powerpc/ieee1275/ieee1275.h
35132 (grub_ieee1275_interpret): New prototype.
35133
1ab09cc7 351342005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
35135
35136 * include/grub/misc.h (memmove): New prototype.
35137 (memcpy): Likewise.
35138
8b8cbdb2 351392005-01-22 Hollis Blanchard <hollis@penguinppc.org>
35140
35141 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
35142 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
35143
e3741a27 351442005-01-22 Marco Gerards <metgerards@student.han.nl>
35145
35146 * kern/misc.c (grub_strndup): Function rewritten.
35147
776bd780 351482005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
35149
35150 * normal/menu.c (TERM_WIDTH): Macro redefined.
35151 (TERM_TOP_BORDER_Y): Likewise.
35152 (draw_border): Replaced while-loop by a for-loop. Make the number
35153 of lines consistent with the number of lines displayed in
35154 print_entries. Added a margin below the rectangle.
35155 (print_entry): Make the entry fit in the rectangle.
35156 (print_entries): Display the scroll arrows next to the right
35157 border.
35158
78026bce 351592005-01-21 Marco Gerards <metgerards@student.han.nl>
35160
35161 * fs/minix.c (grub_minix_find_file): Reserve more space for
35162 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
35163 `grub_strncpy' to copy `path' into it.
35164
67bbaf0f 351652005-01-21 Marco Gerards <metgerards@student.han.nl>
35166
35167 Add the loopback device, a device via which files can be accessed
35168 as devices.
f19dbdb7 35169
67bbaf0f 35170 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
35171 (pkgdata_MODULES): Add loopback.mod.
35172 (loopback_mod_SOURCES): New variable.
35173 (loopback_mod_CFLAGS): Likewise.
35174 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35175 `disk/loopback.c'.
35176 (pkgdata_MODULES): Add loopback.mod.
35177 (loopback_mod_SOURCES): New variable.
35178 (loopback_mod_CFLAGS): Likewise.
35179 * disk/loopback.c: new file.
35180 * include/grub/normal.h (grub_loop_init): New prototype.
35181 (grub_loop_fini): New prototype.
35182 * util/grub-emu.c (main): Initialize and de-initialize loopback
35183 support.
35184 * include/grub/disk.h (grub_disk_dev_id): Add
35185 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
35186
6f1c18bd 351872005-01-20 Hollis Blanchard <hollis@penguinppc.org>
35188
35189 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
35190 function.
35191 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
35192 (suspend_mod_SOURCES): New variable.
35193 (suspend_mod_CFLAGS): Likewise.
35194 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
35195 New prototype.
35196 * commands/ieee1275/suspend.c: New file.
35197
b38551da 351982005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35199
35200 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 35201 ((unused))' to `__attribute__ ((used))'.
b38551da 35202 (GRUB_MOD_FINI): Likewise.
35203 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
35204 * genmk.rb (PModule): Assign space to common symbols when linking
35205 modules.
35206
777aff39 352072005-01-20 Marco Gerards <metgerards@student.han.nl>
35208
35209 * include/grub/mm.h (grub_mm_init_region): Change the type of the
35210 `unsigned' arguments to `grub_size_t'.
35211 (grub_malloc): Likewise.
35212 (grub_realloc): Likewise.
35213 (grub_memalign): Likewise.
35214 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
35215 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35216 * util/misc.c (grub_malloc): Likewise.
35217 (grub_realloc): Likewise.
35218 * kern/mm.c (get_header_from_pointer): Change the casts to
35219 `unsigned' into a cast to `grub_size_t'.
35220
35221 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
35222 point to `currnode' when `currnode' is changed.
35223
35224 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
35225 Schottelius <nico-linux@schottelius.org>.
35226
d0ff18e1 352272005-01-09 Hollis Blanchard <hollis@penguinppc.org>
35228
35229 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
35230 (note_path): Remove variable.
35231 (GRUB_IEEE1275_NOTE_NAME): New macro.
35232 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
35233 (grub_ieee1275_note_hdr): New structure.
35234 (grub_ieee1275_note_desc): Likewise.
35235 (grub_ieee1275_note): Likewise.
35236 (load_note): Remove `dir' argument. All callers updated. Remove
35237 `note_img' and `path'. Do not load a file from `note_path'.
35238 Initialize a struct grub_ieee1275_note and write that to `out'.
35239 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
35240
4ca7004c 352412005-01-05 Marco Gerards <metgerards@student.han.nl>
35242
35243 * util/misc.c (grub_util_read_image): Revert last change. It
35244 called `grub_util_read_at', which seeks from the beginning of the
35245 file.
35246
0b412211 352472005-01-04 Hollis Blanchard <hollis@penguinppc.org>
35248
35249 * TODO: Add note about endianness in grub-mkimage.
35250 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
35251 section.
35252 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
35253 (grub_mkimage_SOURCES): New target.
35254 * include/grub/kernel.h (grub_start_addr): Remove variable.
35255 (grub_end_addr): Likewise.
35256 (grub_total_module_size): Likewise.
35257 (grub_kernel_image_size): Likewise.
35258 (GRUB_MODULE_MAGIC): New constant.
35259 (grub_module_info): New structure.
35260 (grub_arch_modules_addr): New prototype.
35261 (grub_get_end_addr): Remove prototype.
35262 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
35263 * include/grub/powerpc/ieee1275/kernel.h: New file.
35264 * include/grub/util/misc.h (grub_util_get_fp_size): New
35265 prototype.
35266 (grub_util_read_at): Likewise.
35267 (grub_util_write_image_at): Likewise.
35268 * kern/main.c (grub_get_end_addr): Remove function.
35269 (grub_load_modules): Call grub_arch_modules_addr instead of using
35270 grub_end_addr. Look for a grub_module_info struct in memory. Use
35271 the grub_module_info fields instead of calling grub_get_end_addr
35272 as loop conditions. Move grub_add_unused_region code here.
35273 (grub_add_unused_region): Remove function.
35274 * kern/i386/pc/init.c: Include grub/cache.h.
35275 (grub_machine_init): Remove call to grub_get_end_addr. Remove
35276 one call to add_mem_region.
35277 (grub_arch_modules_addr): New function.
35278 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
35279 (grub_total_module_size): Likewise.
35280 Include grub/machine/kernel.h.
35281 (grub_arch_modules_addr): New function.
35282 * util/grub-emu.c (grub_end_addr): Remove variable.
35283 (grub_total_module_size): Likewise.
35284 (grub_arch_modules_addr): New function.
35285 * util/misc.c: Include unistd.h.
35286 (grub_util_get_fp_size): New function.
35287 (grub_util_read_at): Likewise.
35288 (grub_util_write_image_at): Likewise.
35289 (grub_util_read_image): Call grub_util_read_at.
35290 (grub_util_write_image): Call grub_util_write_image_at.
35291 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
35292 additional memory in kernel_img for a struct grub_module_info.
35293 Fill in that grub_module_info.
35294 * util/powerpc/ieee1275/grub-mkimage.c: New file.
35295
458786f8 352962005-01-03 Hollis Blanchard <hollis@penguinppc.org>
35297
35298 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
35299 New function.
35300 * include/grub/powerpc/ieee1275/ieee1275.h
35301 (grub_ieee1275_milliseconds): New prototype.
35302 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
35303 Change to 1000.
35304 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
35305 grub_ieee1275_milliseconds.
35306
ac507d1b 353072005-01-03 Hollis Blanchard <hollis@penguinppc.org>
35308
35309 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
35310 variable.
35311 (find_options): New function.
35312 (cmain): Call find_options.
35313 * include/grub/powerpc/ieee1275/ieee1275.h
35314 (grub_ieee1275_realmode): New extern variable.
35315 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
35316 grub_map if grub_ieee1275_realmode is false.
35317
6b8fd1c4 353182004-12-29 Marco Gerards <metgerards@student.han.nl>
35319
35320 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
35321 lines are inserted and make it work like readline. Reported by
35322 Vincent Pelletier <subdino2004@yahoo.fr>.
35323
8514a1e0 353242004-12-28 Marco Gerards <metgerards@student.han.nl>
35325
35326 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
35327
35328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
35329 `kern/powerpc/cache.S'.
35330
924b6140 353312004-12-27 Marco Gerards <metgerards@student.han.nl>
35332
35333 * genmk.rb: Handle the `Program' class in the main loop. Written
35334 by Johan Rydberg <jrydberg@gnu.org>.
35335 (Program): New class.
35336 (programs): New variable.
35337 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
35338 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
35339 instead of "grub/kernel.h". Include <grub/machine/init.h>.
35340 (help_arch): Function removed.
35341 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
35342 `powerpc/libgcc.h' and `loader.h'.
35343 (pkgdata_PROGRAMS): New variable.
35344 (sbin_UTILITIES): Variable removed.
35345 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
35346 (grubof_SOURCES): Variable re-defined so it only includes the
35347 core functionality.
35348 (grubof_CFLAGS): Remove `-DGRUBOF'.
35349 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
35350 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
35351 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
35352 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
35353 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
35354 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
35355 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
35356 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
35357 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
35358 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
35359 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
35360 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
35361 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
35362 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
35363 (pc_mod_CFLAGS): New variables.
35364 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
35365 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
35366 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
35367 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
35368 Moved from here...
35369 * include/grub/i386/pc/init.h (grub_os_area_addr)
35370 (rub_os_area_size): ... to here.
35371 * include/grub/powerpc/ieee1275/ieee1275.h
35372 (grub_ieee1275_entry_fn): Export symbol.
35373 * include/grub/powerpc/ieee1275/init.h: New file.
35374 * include/grub/powerpc/libgcc.h: Likewise.
35375 * include/grub/cache.h: Likewise.
35376 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
35377 <hollis@penguinppc.org>.
35378 * kern/dl.c: Include <grub/cache.h>.
35379 (grub_dl_flush_cache): New function.
35380 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
35381 for this module.
35382 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
35383 (grub_console_init): Removed prototypes.
35384 (grub_machine_init): Don't initialize the modules anymore.
35385 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
35386 static.
35387 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
35388 Macro undef removed.
35389 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
35390 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
35391 relocation `R_PPC_REL32'. Return an error when the relocation is
35392 unknown.
35393 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
35394 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
35395 * util/misc.c (grub_arch_sync_caches): Likewise.
35396
e4b47e0c 353972004-12-19 Marco Gerards <metgerards@student.han.nl>
35398
35399 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
35400 `symlist.c', add `grubof_symlist.c'.
35401 (symlist.c): Variable removed.
35402 (grubof_HEADERS): Variable added.
35403 (grubof_symlist.c): New target.
35404 (kernel_syms.lst): Use `grubof_HEADERS' instead of
35405 `kernel_img_HEADERS'.
35406 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
35407 * kern/powerpc/dl.c: New file.
35408 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
35409 Function removed.
35410 (grub_arch_dl_relocate_symbols): Likewise.
35411 (grub_register_exported_symbols): Likewise.
35412
4ceb3636 354132004-12-13 Marco Gerards <metgerards@student.han.nl>
35414
35415 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
35416 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
35417 to fail instead. Reported by Vincent Pelletier
35418 <subdino2004@yahoo.fr>.
35419
35420 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
35421 it is not allocated. Reported by Vincent Pelletier
35422 <subdino2004@yahoo.fr>.
35423
35424 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
35425 output so the output looks better.
f19dbdb7 35426
3f1578fe 354272004-12-04 Marco Gerards <metgerards@student.han.nl>
35428
35429 Modulize the partition map support and add support for the amiga
35430 partition map.
f19dbdb7 35431
3f1578fe 35432 * commands/ls.c: Include <grub/partition.h> instead of
35433 <grub/machine/partition.h>.
35434 * kern/disk.c: Likewise.
35435 * kern/rescue.c: Likewise.
35436 * loader/i386/pc/chainloader.c: Likewise.
35437 * normal/cmdline.c: Likewise.
35438 * kern/powerpc/ieee1275/init.c: Likewise.
35439 (grub_machine_init): Call `grub_pc_partition_map_init',
35440 `grub_amiga_partition_map_init' and
35441 `grub_apple_partition_map_init'.
35442 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
35443 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
35444 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
35445 `partition.h' and `pc_partition.h'.
35446 (grub_setup_SOURCES): Remove
35447 `disk/i386/pc/partition.c'. Add `kern/partition.c',
35448 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
35449 (grub_emu_SOURCES): Likewise.
35450 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
35451 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
35452 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
35453 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
35454 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
35455 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
35456 (grubof_SOURCES): Likewise.
35457 * disk/i386/pc/partition.c: File removed.
35458 * disk/powerpc/ieee1275/partition.c: Likewise.
35459 * include/grub/powerpc/ieee1275/partition.h: Likewise.
35460 * include/grub/i386/pc/partition.h: Likewise.
35461 * kern/partition.c: New file.
35462 * partmap/amiga.c: Likewise.
35463 * partmap/apple.c: Likewise.
35464 * partmap/pc.c: Likewise.
35465 * include/grub/partition.h: Likewise..
35466 * include/grub/pc_partition.h: Likewise.
35467 * util/grub-emu.c: Include <grub/partition.h> instead of
35468 <grub/machine/partition.h>.
35469 (main): Call `grub_pc_partition_map_init',
35470 `grub_amiga_partition_map_init' and
35471 `grub_apple_partition_map_init' and deinitialize afterwards.
35472 * util/i386/pc/biosdisk.c: Include `#include
35473 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
35474 `<grub/machine/partition.h>'.
35475 * util/i386/pc/grub-setup.c: Likewise.
35476 * util/i386/pc/biosdisk.c: Likewise.
35477 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
35478 partition information in case of a PC partition.
35479 * util/i386/pc/grub-setup.c: Include `#include
35480 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
35481 `<grub/machine/partition.h>'.
35482 (setup): Only access the PC specific partition information in case
35483 of a PC partition.
35484
0ef4ced9 354852004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 35486
0ef4ced9 35487 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
35488 (grub_longjmp): Likewise.
35489 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
35490 20.
35491 * normal/powerpc/setjmp.S: New file.
35492 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
35493 `normal/powerpc/setjmp.S'.
35494 (grubof_CFLAGS): Add `-DGRUBOF'.
35495 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
35496 [GRUB_UTIL && !GRUBOF].
f19dbdb7 35497
19950e29 354982004-11-16 Marco Gerards <metgerards@student.han.nl>
35499
35500 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
35501 property named `name'. Correctly handle the error returned by
35502 `grub_ieee1275_finddevice' if a device can not be opened.
35503
a2fea427 355042004-11-02 Hollis Blanchard <hollis@penguinppc.org>
35505
35506 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
35507 `actual' for negativity.
35508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
35509 kern/fshelp.c.
35510
41ea0ea3 355112004-11-01 Marco Gerards <metgerards@student.han.nl>
35512
35513 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
35514 (PAGE_OFFSET): New macro.
35515 (CRTC_ADDR_PORT): Likewise.
35516 (CRTC_DATA_PORT): Likewise.
35517 (START_ADDR_HIGH_REGISTER): Likewise.
35518 (START_ADDR_LOW_REGISTER): Likewise.
35519 (GRAPHICS_ADDR_PORT): Likewise.
35520 (GRAPHICS_DATA_PORT): Likewise.
35521 (READ_MAP_REGISTER): Likewise.
35522 (INPUT_STATUS1_REGISTER): Likewise.
35523 (INPUT_STATUS1_VERTR_BIT): Likewise.
35524 (page): New variable.
35525 (wait_vretrace): New function.
35526 (set_read_map): Likewise.
35527 (set_start_address): Likewise.
35528 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
35529 the right page.
35530 (check_vga_mem): Take the page into account.
35531 (write_char): Likewise.
35532 (write_cursor): Likewise.
35533 (scroll_up): Likewise. Copy the page to the page that is not
35534 shown and switch between both pages.
35535 (grub_vga_putchar): Fix off by one error.
35536 (grub_vga_cls): Wait for the vertical retrace. Take the page into
35537 account.
35538
ad0bd20b 355392004-11-01 Marco Gerards <metgerards@student.han.nl>
35540
35541 Add support for iso9660 (including rockridge).
f19dbdb7 35542
ad0bd20b 35543 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
35544 (iso9660_mod_SOURCES): New variable.
35545 (iso9660_mod_CFLAGS): Likewise.
35546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
35547 * include/grub/fs.h (grub_iso9660_init): New prototype.
35548 * util/grub-emu.c (main): Call `grub_iso9660_init'.
35549 * fs/iso9660.c: New file.
35550
35551 * include/grub/misc.h (grub_strncat): New prototype.
35552 * kern/misc.c (grub_strncat): New function.
f19dbdb7 35553
ad0bd20b 35554 * fs/hfs.c (grub_hfs_mount): Translate the error
35555 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
35556 * fs/jfs.c (grub_jfs_mount): Likewise.
35557 * fs/ufs.c (grub_ufs_mount): Likewise.
35558
a5477a59 355592004-10-28 Hollis Blanchard <hollis@penguinppc.org>
35560
35561 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
35562 which initialized BAT registers.
35563 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
35564 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
35565 Move from here...
35566 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
35567 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
35568 ... to here.
35569 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
35570 (grub_mapclaim): Likewise.
35571 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
35572 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
35573 hand.
35574
9304c1f8 355752004-10-19 Hollis Blanchard <hollis@penguinppc.org>
35576
35577 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
35578 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
35579 -ffreestanding and -msoft-float.
35580
86f4ae25 355812004-10-15 Hollis Blanchard <hollis@penguinppc.org>
35582
35583 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
35584 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
35585 set in grub_ieee1275_flags.
35586
38912228 355872004-10-14 Hollis Blanchard <hollis@penguinppc.org>
35588
35589 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
35590 prototype.
35591 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
35592 grub_console_init first.
35593 Change the memory range used for grub_ieee1275_claim and
35594 grub_mm_init_region.
35595 Print an error message if the claim fails.
35596 Include <grub/misc.h>.
35597
d1923dc8 355982004-10-13 Hollis Blanchard <hollis@penguinppc.org>
35599
35600 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
35601 Call grub_children_iterate for device nodes of type `scsi',
35602 `ide', or `ata'.
35603 (grub_ofdisk_open): Remove manual device alias resolution.
35604 Fix memory leak when device cannot be opened.
f19dbdb7 35605 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 35606 (grub_children_iterate): New prototype.
35607 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
35608 New function.
35609 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
35610 Return -1 if args.size was -1.
35611
4512e4f3 356122004-10-11 Hollis Blanchard <hollis@penguinppc.org>
35613
35614 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
35615 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
35616 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
35617 Open Firmware's memory for it; claim memory from _start to _end.
35618 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
35619 (_end): New extern.
35620 (_start): Zero BSS from __bss_start to _end.
35621 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
35622 New extern.
35623 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
35624
4d61feb0 356252004-10-11 Hollis Blanchard <hollis@penguinppc.org>
35626
ad0bd20b 35627 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
35628 -1 if args.base was -1.
4d61feb0 35629
026fa2f9 356302004-10-08 Hollis Blanchard <hollis@penguinppc.org>
35631
35632 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
35633 escape sequence instead of a literal ^L. Also call
35634 grub_ofconsole_gotoxy.
35635
9f2220ef 356362004-10-03 Hollis Blanchard <hollis@penguinppc.org>
35637
35638 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
35639 void * arguments to grub_addr_t. All callers updated. Also make
35640 the `result' argument optional.
35641 (grub_ieee1275_release): change void * arguments to grub_addr_t.
35642 All callers updated.
35643
8a572cd7 356442004-09-22 Hollis Blanchard <hollis@penguinppc.org>
35645
35646 * commands/ls.c (grub_ls_list_files): Use the string following the
35647 initial ')', if present, as the filesystem path.
35648 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
35649
35650 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
35651
18aa81f2 356522004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
35653
35654 Make the source code of the menu interface more readable.
f19dbdb7 35655
18aa81f2 35656 * normal/menu.c: Include grub/mm.h.
35657 (TERM_WIDTH): New macro.
35658 (TERM_HEIGHT): Likewise.
35659 (TERM_INFO_HEIGHT): Likewise.
35660 (TERM_MARGIN): Likewise.
35661 (TERM_SCROLL_WIDTH): Likewise.
35662 (TERM_TOP_BORDER_Y): Likewise.
35663 (TERM_LEFT_BORDER_X): Likewise.
35664 (TERM_BORDER_WIDTH): Likewise.
35665 (TERM_MESSAGE_HEIGHT): Likewise.
35666 (TERM_BORDER_HEIGHT): Likewise.
35667 (TERM_NUM_ENTRIES): Likewise.
35668 (TERM_FIRST_ENTRY_Y): Likewise.
35669 (TERM_ENTRY_WIDTH): Likewise.
35670 (TERM_CURSOR_X): Likewise.
35671 (draw_border): Use macros instead of magic numbers.
35672 (print_entry): Likewise.
35673 (print_entries): Likewise.
35674 (run_menu): Likewise. Also, handle the key 'e'.
35675 (run_menu_entry): Ignore empty command lines.
35676 (print_message): Added a new argument EDIT. If EDIT is true,
35677 print a different message.
35678 (init_page): Likewise.
35679 (edit_menu_entry): New function. Not implemented yet.
35680
b47efe30 356812004-09-17 Marco Gerards <metgerards@student.han.nl>
35682
35683 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
35684 can be loaded from normal mode.
f19dbdb7 35685
b47efe30 35686 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
35687 `multiboot.mod'.
35688 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
35689 (multiboot_mod_CFLAGS): New variables.
35690 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 35691 * loader/i386/pc/multiboot_normal.c: Likewise.
35692
b47efe30 35693 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
35694 attribute `unused'.
f19dbdb7 35695
b47efe30 35696 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
35697 `fdiro' to read the mode information from instead of `diro'.
35698
35699 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
35700 looking up a symlink.
35701
35702 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
35703 macro.
35704 * normal/command.c (grub_command_execute): Don't parse the
35705 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
35706 flags of the command.
35707
35708 * normal/menu.c (grub_menu_run): Fix typo.
35709
da75ac71 357102004-09-14 Hollis Blanchard <hollis@penguinppc.org>
35711
35712 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
35713
35714 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
35715 `y + 1' instead of `y - 1'.
35716
35717 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 35718
062b24c2 357192004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
35720
35721 From Hollis Blanchard <hollis@penguinppc.org>:
35722 * kern/misc.c (memmove): New alias for grub_memmove.
35723 (memcmp): New alias for grub_memcmp.
35724 (memset): New alias for grub_memset.
f19dbdb7 35725 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 35726 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 35727 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 35728 (grub_ieee1275_get_property): Likewise.
f19dbdb7 35729
8ddad845 357302004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
35731
35732 Added normal mode command `chainloader' as module chain.mod, which
35733 depends on normal.mod and _chain.mod.
f19dbdb7 35734
8ddad845 35735 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
35736 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
35737 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
35738 Deleted prototype.
35739 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
35740 but arguments parsing moved to ...
35741 (grub_chainloader_cmd): ... here. New function.
35742 * include/grub/i386/pc/chainloader.h: New file.
35743 * loader/i386/pc/chainloader_normal.c: Likewise.
35744
2c1f4ce3 357452004-09-11 Marco Gerards <metgerards@student.han.nl>
35746
35747 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
35748 (grub_mkimage_LDFLAGS): Likewise.
35749 (grub_emu_SOURCES): Likewise.
35750 (kernel_img_HEADERS): Added fshelp.h.
35751 * fs/ext2.c: Include <grub/fshelp.h>.
35752 (FILETYPE_REG): New macro.
35753 (FILETYPE_INO_REG): Likewise.
35754 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
35755 Changed all users.
35756 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
35757 all users.
35758 (grub_fshelp_node): New struct.
35759 (grub_ext2_data): Added member `diropen'. Changed member `inode'
35760 to a pointer.
35761 (grub_ext2_get_file_block): Removed function.
35762 (grub_ext2_read_block): New function.
35763 (grub_ext2_read_file): Replaced parameter `data' by `node'.
35764 This function was written.
35765 (grub_ext2_mount): Read the root inode. Create a diropen struct.
35766 (grub_ext2_find_file): Removed function.
35767 (grub_ext2_read_symlink): New function.
35768 (grub_ext2_iterate_dir): Likewise.
35769 (grub_ext2_open): Rewritten.
35770 (grub_ext2_dir): Rewritten.
35771 * include/grub/fshelp.h: New file.
35772 * fs/fshelp.c: Likewise.
35773
3c52136a 357742004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
35775
35776 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
35777 (print_message): Add a missing newline.
35778 (run_menu): Added timeout support.
35779 (run_menu_entry): New local function.
35780 (grub_menu_run): Added support for booting.
35781
35782 * kern/loader.c (grub_loader_is_loaded): New function.
35783
35784 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
35785 (grub_get_rtc): Exported.
35786
35787 * include/grub/i386/pc/time.h: Include grub/symbol.h.
35788 (grub_get_rtc): Exported.
35789
35790 * include/grub/normal.h (struct grub_command_list): Remove
35791 constant from the member `command'.
35792
35793 * include/grub/loader.h (grub_loader_is_loaded): Declared.
35794
35795 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
35796
35797 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
35798
aa033560 357992004-08-28 Marco Gerards <metgerards@student.han.nl>
35800
35801 Add support for the JFS filesystem.
35802
35803 * fs/jfs.c: New file.
35804 * include/grub/fs.h (grub_jfs_init): New prototype.
35805 (grub_jfs_fini): New prototype.
35806 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
35807 (grub_emu_SOURCES): Likewise.
35808 (pkgdata_MODULES): Add jfs.mod.
35809 (jfs_mod_SOURCES): New variable.
35810 (jfs_mod_CFLAGS): Likewise.
35811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
35812 (grubof_SOURCES): Likewise.
35813 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
35814
35815 * fs/fat.c (grub_fat_find_dir): Convert the filename little
35816 endian to the host endian.
35817 (grub_fat_utf16_to_utf8): Move function from there...
35818 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 35819 the endianness of the source string anymore.
aa033560 35820 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
35821
94bc45af 358222004-08-24 Marco Gerards <metgerards@student.han.nl>
35823
35824 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
35825 (grub_boot_fini) [GRUB_UTIL]: Likewise.
35826 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
35827 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 35828
94bc45af 35829 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
35830 (grub_hfs_iterate_dir): Make the function static. Add prototypes
35831 for `node_found' and `it_dir'.
35832 (grub_hfs_dir): Add prototype for `dir_hook'.
35833
35834 * fs/minix.c (grub_minix_get_file_block): Add prototype for
35835 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
35836 and `indir32' to silence a gcc warning.
35837
35838 * include/grub/fs.h (grub_hfs_init): New prototype.
35839 (grub_hfs_fini): Likewise.
f19dbdb7 35840
35841
97543f08 358422004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
35843
35844 Each disk device has its own id now. This is useful to make use
35845 of multiple disk devices.
f19dbdb7 35846
97543f08 35847 * include/grub/disk.h (grub_disk_dev_id): New enum.
35848 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
35849 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
35850
35851 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
35852 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
35853
35854 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
35855 GRUB_DISK_DEVICE_OFDISK_ID as an id.
35856
35857 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
35858 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
35859
35860 * include/grub/disk.h (struct grub_disk_dev): Added a new member
35861 "id" which is used by the cache manager.
35862
35863 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
35864 of just "GRUB".
35865
64372eb4 358662004-08-18 Marco Gerards <metgerards@student.han.nl>
35867
35868 * fs/hfs.c: New file.
35869 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
35870 (grub_emu_SOURCES): Likewise.
35871 (pkgdata_MODULES): Add hfs.mod.
35872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
35873 (grubof_SOURCES): Likewise.
35874 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
35875
35876 * include/grub/misc.h (grub_strncasecmp): Add prototype.
35877 * kern/misc.c (grub_strncasecmp): Add function.
35878
cc61b58f 358792004-08-14 Marco Gerards <metgerards@student.han.nl>
35880
35881 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
35882 with parentheses.
35883
35884 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
35885 (grub_ext2_dir): In case the directory entry type is unknown, read
35886 it from the inode.
35887
0ef123f6 358882004-08-02 Peter Bruin <pjbruin@dds.nl>
35889
35890 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
35891 grub_load_linux instead of grub_rescue_cmd_linux as second
35892 argument of grub_rescue_register_command.
35893
35894 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
35895
a447c5df 358962004-07-27 Marco Gerards <metgerards@student.han.nl>
35897
35898 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
35899 function.
35900 * commands/boot.c: Remove the check for `GRUB_UTIL'.
35901 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
35902 `loader/powerpc/ieee1275/linux.c',
35903 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
35904 * include/grub/powerpc/ieee1275/ieee1275.h
35905 (grub_ieee1275_release): New prototype.
35906 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
35907 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
35908 normal, boot, linux and linux_normal.
35909 * loader/powerpc/ieee1275/linux.c: New file.
35910 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35911
5a9e3546 359122004-07-12 Marco Gerards <metgerards@student.han.nl>
35913
35914 * normal/arg.c (grub_arg_parse): Correct error handling after
35915 reallocating the argumentlist (check if `argl' is not null instead
35916 of checking if `args' is not null).
35917 * kern/mm.c (grub_realloc): Return the same pointer when using the
35918 same region, instead of returning the header address.
35919
e15199cb 359202004-07-11 Marco Gerards <metgerards@student.han.nl>
35921
35922 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
35923 one block instead of two when looking for the initial partition.
35924 (grub_partition_probe): Initialize the local variable `p' with 0.
35925 Use base 10 for the grub_strtoul call.
35926 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
35927 need for one local variable.
35928 (grub_strtoul): Don't add the new value to `num', instead of that
35929 just assign it.
35930
020616c2 359312004-07-11 Marco Gerards <metgerards@student.han.nl>
35932
35933 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
35934 (pxeboot_img_SOURCES): New variable.
35935 (pxeboot_img_ASFLAGS): Likewise.
35936 (pxeboot_img_LDFLAGS): Likewise.
35937 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
35938 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
35939 <lode_leroy@hotmail.com>.
35940
6c51eb64 359412004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
35942
35943 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
35944 there was no input.
35945
cfb12aff 359462004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
35947
35948 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
35949 the history buffer logic.
35950
6eabba74 359512004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
35952
35953 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
35954 (FILETYPE_INO_SYMLINK): New macros.
35955 (grub_ext2_find_file): Check if the node is a directory using the
35956 inode stat information instead of using the filetype in the
35957 dirent. Exclude the first character of an absolute symlink.
35958 (grub_ext2_dir): Mask out the filetype part of the mode member of
35959 the inode.
35960
66e19ef8 359612004-05-24 Marco Gerards <metgerards@student.han.nl>
35962
35963 Add support for UFS version 1 and 2. Add support for the minix
35964 filesystem version 1 and 2, both the variants with 14 and 30 long
35965 filenames.
f19dbdb7 35966
66e19ef8 35967 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
35968 fs/minix.c.
35969 (grub_emu_SOURCES): Likewise.
35970 (pkgdata_MODULES): Add ufs.mod and minix.mod.
35971 (ufs_mod_SOURCES): New variable.
35972 (ufs_mod_CFLAGS): Likewise.
35973 (minix_mod_SOURCES): Likewise.
35974 (minix_mod_CFLAGS): Likewise.
35975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
35976 fs/minix.c.
35977 (grubof_SOURCES): Likewise.
35978 * fs/ufs.c: New file.
35979 * fs/minix.c: New file.
35980 * include/grub/fs.h (grub_ufs_init): New prototype.
35981 (grub_ufs_fini): Likewise.
35982 (grub_minix_init): Likewise.
35983 (grub_minix_fini): Likewise.
35984 * util/grub-emu.c (main): Initialize and deinitialize UFS and
35985 minix fs.
35986
cc2e748a 359872004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
35988
35989 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
35990 commands/ls.c, commands/terminal.c, commands/boot.c,
35991 commands/cmp.c and commands/cat.c.
35992 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
35993
35994 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
35995 "env.h"
35996
4b13b216 359972004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
35998
35999 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
36000 and grub_, respectively. Because the conversion is trivial and
36001 mechanical, I omit the details here. Please refer to the CVS
36002 if you need more information.
36003
6a142551 360042004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36005
36006 * include/pupa: Renamed to ...
36007 * include/grub: ... this.
36008 * util/i386/pc/pupa-mkimage.c: Renamed to ...
36009 * util/i386/pc/grub-mkimage.c: ... this.
36010 * util/i386/pc/pupa-setup.c: Renamed to ...
36011 * util/i386/pc/grub-setup.c: ... this.
36012 * util/pupa-emu.c: Renamed to ...
36013 * util/grub-emu.c: ... this.
36014
e56cdf21 360152004-03-29 Marco Gerards <metgerards@student.han.nl>
36016
36017 Add support for the newworld apple macintosh (PPC). This has been
36018 tested on the powerbook 2000 only. It only adds support for
36019 generic ieee1275 functions, console and disk support. This should
36020 be easy to port to other architectures with support for Open
36021 Firmware.
f19dbdb7 36022
e56cdf21 36023 * configure.ac: Accept the powerpc as host_cpu. In the case of
36024 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
36025 specific tests are only executed while building for the i386.
36026 Inverse test for crosscompile.
36027 * genmk.rb (Utility): Allow assembler files.
36028 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
36029 * conf/powerpc-ieee1275.rmk: New file.
36030 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
36031 * disk/powerpc/ieee1275/partition.c: Likewise.
36032 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
36033 * include/pupa/powerpc/ieee1275/console.h: Likewise.
36034 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
36035 * include/pupa/powerpc/ieee1275/time.h: Likewise.
36036 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
36037 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
36038 * include/pupa/powerpc/ieee1275/loader.h
36039 * include/pupa/powerpc/setjmp.h: Likewise.
36040 * include/pupa/powerpc/types.h: Likewise.
36041 * kern/powerpc/ieee1275/init.c: Likewise.
36042 * kern/powerpc/ieee1275/openfw.c: Likewise.
36043 * term/powerpc/ieee1275/ofconsole.c: Likewise.
36044
36045 These files were written by Johan Rydberg
36046 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 36047
e56cdf21 36048 * boot/powerpc/ieee1275/cmain.c: New file.
36049 * boot/powerpc/ieee1275/crt0.S: Likewise.
36050 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
36051 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
36052
8c8cc205 360532004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
36054
36055 * Makefile.in: Update copyright.
36056 * genmodsrc.sh: Likewise.
36057 * gensymlist.sh: Likewise.
36058 * term/i386/pc/vga.c: Indent correctly.
36059
36060 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
36061 bugreporting address.
36062 * util/i386/pc/pupa-setup.c (usage): Likewise,
36063 (main): Call pupa_ext2_init and pupa_ext2_fini.
36064
f19dbdb7 36065 * fs/fat.c (log2): Renamed to ...
8c8cc205 36066 (fat_log2): ... this.
36067 All callers changed.
36068 * kern/misc.c (memcpy): Alias to pupa_memmove.
36069 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
36070 lvalue cast.
36071 * util/console.c (pupa_ncurses_fini): Return 0.
36072
36073 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
36074 Move fail label here.
36075 [__GNU__]: Don't warn when using stat.
36076 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
36077 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
36078 long int. Use strtol instead of strtoul.
f19dbdb7 36079
db1771cf 360802004-03-14 Marco Gerards <metgerards@student.han.nl>
36081
36082 * commands/boot.c: New file.
36083 * commands/cat.c: Likewise.
36084 * commands/cmp.c: Likewise.
36085 * commands/ls.c: Likewise.
36086 * commands/terminal.c: Likewise.
36087 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
36088 (pupa_register_command): Changed interface to match the new
36089 argument parser.
36090 (pupa_command_execute): Changed (almost rewritten) so it uses
36091 pupa_split_command. Added support for setting variables using the
36092 syntax `foo=bar'.
36093 (rescue_command): Changed to work with the new argument parser.
36094 (terminal_command): Moved from here to commands/terminal.c.
36095 (set_command): New function.
36096 (unset_command): New function.
36097 (insmod_command): New function.
36098 (rmmod_command): New function.
36099 (lsmod_command): New function.
36100 (pupa_command_init): Don't initialize the command terminal
36101 anymore. Initialize the commands set, unset, insmod, rmmod and
36102 lsmod.
36103 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
36104 (kernel_img_HEADERS): Add arg.h and env.h.
36105 (pupa_mkimage_LDFLAGS): Add kern/env.c.
36106 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
36107 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
36108 normal/arg.c.
36109 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
36110 terminal.mod.
36111 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
36112 (boot_mod_SOURCES): New variable.
36113 (terminal_mod_SOURCES): Likewise.
36114 (ls_mod_SOURCES): Likewise.
36115 (cmp_mod_SOURCES): Likewise.
36116 (cat_mod_SOURCES): Likewise.
36117
36118 * normal/arg.c: New file.
36119 * kern/env.c: Likewise.
36120 * include/pupa/arg.h: Likewise.
36121 * include/pupa/env.h: Likewise.
36122 * font/manager.c (font_command): Changed to match argument parsing
36123 interface changes.
36124 (PUPA_MOD_INIT): Likewise.
36125 * hello/hello.c (pupa_cmd_hello): Likewise.
36126 (PUPA_MOD_INIT): Likewise.
36127 * include/pupa/disk.h: Include <pupa/device.h>.
36128 (pupa_print_partinfo): New prototype.
36129 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
36130 (pupa_dl_get_prefix): Likewise.
36131 * include/pupa/misc.h: Include <pupa/err.h>.
36132 (pupa_isgraph): New prototype.
36133 (pupa_isdigit): Likewise.
36134 (pupa_split_cmdline): Likewise.
36135 * include/pupa/normal.h: Include <pupa/arg.h>.
36136 (pupa_command): Changed the prototype of the member `func' to
36137 match the argument parsing interface. Added member `options'.
36138 (pupa_register_command): Updated to match function.
36139 (pupa_arg_parse): New prototype.
36140 (pupa_hello_init) [PUPA_UTIL]: New prototype.
36141 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
36142 (pupa_ls_init) [PUPA_UTIL]: Likewise.
36143 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
36144 (pupa_cat_init) [PUPA_UTIL]: Likewise.
36145 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
36146 (pupa_boot_init) [PUPA_UTIL]: Likewise.
36147 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
36148 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
36149 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
36150 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
36151 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
36152 * kern/disk.c: Include <pupa/file.h>.
36153 (pupa_print_partinfo): New function.
36154 * kern/dl.c: Include <pupa/env.h>.
36155 (pupa_dl_dir): Variable removed.
36156 (pupa_dl_load): Use the environment variable `prefix' instead of
36157 the variable pupa_dl_dir.
36158 (pupa_dl_set_prefix): Function removed.
36159 (pupa_dl_get_prefix): Likewise.
36160 * kern/i386/pc/init.c: Include <pupa/env.h>.
36161 (pupa_machine_init): Use the environment variable `prefix' instead of
36162 using pupa_dl_set_prefix to set the prefix.
36163 * kern/main.c: Include <pupa/env.h>.
36164 (pupa_set_root_dev): Use the environment variable `prefix' instead of
36165 using pupa_dl_get_prefix to get the prefix.
36166 * kern/misc.c: Include <pupa/env.h>.
36167 (pupa_isdigit): New function.
36168 (pupa_isgraph): Likewise.
36169 (pupa_ftoa): Likewise.
36170 (pupa_vsprintf): Added support for printing values of the type
36171 `double'. Make it possible to format variable output when using
36172 formatting like `%1.2%f'.
36173 (pupa_split_cmdline): New function.
36174 * kern/rescue.c: Include <pupa/env.h>.
36175 (next_word): Removed function.
36176 (pupa_rescue_cmd_prefix): Likewise.
36177 (pupa_rescue_cmd_set): New function.
36178 (pupa_rescue_cmd_unset): New function.
36179 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
36180 split the command line instead of splitting it here. Added
36181 support for setting variables using the syntax `foo=bar'. Don't
36182 initialize the prefix command anymore. Initialized the set and
36183 unset commands.
36184 * normal/cmdline.c: Include <pupa/env.h>.
36185 (pupa_tab_complete): Added prototypes for print_simple_completion,
36186 print_partition_completion, add_completion, iterate_commands,
36187 iterate_dev, iterate_part and iterate_dir. Moved code to print
36188 partition information from here to kern/disk.c.
fe6b695a 36189 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 36190 * normal/main.c: Include <pupa/env.h>.
36191 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
36192 instead of using pupa_dl_get_prefix to get the prefix.
36193 * term/i386/pc/vga.c: Include <pupa/arg.h>.
36194 (check_vga_mem): Cast pointers to `void *' to silence a gcc
36195 warning.
36196 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
36197 (pupa_vga_setcolor): Declare unused variables with `__attribute__
36198 ((unused))' to silence a gcc warning.
36199 (pupa_vga_setcolor): Likewise.
36200 (debug_command): Changed to match argument parsing
36201 interface changes.
36202 * util/pupa-emu.c: Include <pupa/env.h>.
36203 (options): Added 0's for unused fields to silence a gcc warning.
36204 (argp): Likewise.
36205 (main): Use the environment variable `prefix' instead of using
36206 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
36207 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
36208 and terminal.
36209
36210 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
36211 * util/misc.c: Include <malloc.h>.
36212 (pupa_malloc): Rewritten so errors are correctly reported.
36213 (pupa_realloc): Likewise.
36214 (pupa_memalign): Likewise.
36215 (pupa_mm_init_region): Declare unused variables with
36216 `__attribute__ ((unused))' to silence a gcc warning.
36217 * normal/i386/setjmp.S: Remove tab at the end of the file to
36218 silence a gcc warning.
36219 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
36220 variables with `__attribute__ ((unused))' to silence a gcc
36221 warning.
36222 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
36223 local variable i unsigned to silence a gcc warning.
36224
36225 * kern/term.c: Include <pupa/misc.h>.
36226 (pupa_more_lines): New variable.
36227 (pupa_more): Likewise.
36228 (pupa_putcode): When the pager is active pause at the end of every
36229 screen.
36230 (pupa_set_more): New function.
36231 * include/pupa/term.h (pupa_set_more): New prototype.
36232
36233
3b1139cb 362342004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
36235
36236 Now this project is GRUB 2 rather than PUPA. The location of
36237 the CVS repository was moved to GRUB's.
f19dbdb7 36238
3b1139cb 36239 * configure.ac: Use bug-grub as the reporting address.
36240 Use GRUB instead of PUPA.
36241 Change the version number to 1.90.
36242
8367695c 362432004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
36244
36245 * genkernsyms.sh: Updated copyright information.
36246 * genmk.rb: Likewise.
36247 * genmodsrc.sh: Likewise.
36248 * gensymlist.sh: Likewise.
36249 * boot/i386/pc/boot.S: Likewise.
36250 * boot/i386/pc/diskboot.S: Likewise.
36251 * disk/i386/pc/biosdisk.c: Likewise.
36252 * disk/i386/pc/partition.c: Likewise.
36253 * font/manager.c: Likewise.
36254 * fs/ext2.c: Likewise.
36255 * fs/fat.c: Likewise.
36256 * include/pupa/boot.h: Likewise.
36257 * include/pupa/device.h: Likewise.
36258 * include/pupa/disk.h: Likewise.
36259 * include/pupa/dl.h: Likewise.
36260 * include/pupa/elf.h: Likewise.
36261 * include/pupa/err.h: Likewise.
36262 * include/pupa/file.h: Likewise.
36263 * include/pupa/font.h: Likewise.
36264 * include/pupa/fs.h: Likewise.
36265 * include/pupa/kernel.h: Likewise.
36266 * include/pupa/loader.h: Likewise.
36267 * include/pupa/misc.h: Likewise.
36268 * include/pupa/mm.h: Likewise.
36269 * include/pupa/net.h: Likewise.
36270 * include/pupa/normal.h: Likewise.
36271 * include/pupa/rescue.h: Likewise.
36272 * include/pupa/setjmp.h: Likewise.
36273 * include/pupa/symbol.h: Likewise.
36274 * include/pupa/term.h: Likewise.
36275 * include/pupa/types.h: Likewise.
36276 * include/pupa/i386/setjmp.h: Likewise.
36277 * include/pupa/i386/types.h: Likewise.
36278 * include/pupa/i386/pc/biosdisk.h: Likewise.
36279 * include/pupa/i386/pc/boot.h: Likewise.
36280 * include/pupa/i386/pc/console.h: Likewise.
36281 * include/pupa/i386/pc/init.h: Likewise.
36282 * include/pupa/i386/pc/kernel.h: Likewise.
36283 * include/pupa/i386/pc/linux.h: Likewise.
36284 * include/pupa/i386/pc/loader.h: Likewise.
36285 * include/pupa/i386/pc/memory.h: Likewise.
36286 * include/pupa/i386/pc/multiboot.h: Likewise.
36287 * include/pupa/i386/pc/partition.h: Likewise.
36288 * include/pupa/i386/pc/time.h: Likewise.
36289 * include/pupa/i386/pc/vga.h: Likewise.
36290 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
36291 * include/pupa/util/getroot.h: Likewise.
36292 * include/pupa/util/misc.h: Likewise.
36293 * include/pupa/util/resolve.h: Likewise.
36294 * kern/device.c: Likewise.
36295 * kern/disk.c: Likewise.
36296 * kern/dl.c: Likewise.
36297 * kern/err.c: Likewise.
36298 * kern/file.c: Likewise.
36299 * kern/fs.c: Likewise.
36300 * kern/loader.c: Likewise.
36301 * kern/main.c: Likewise.
36302 * kern/misc.c: Likewise.
36303 * kern/mm.c: Likewise.
36304 * kern/rescue.c: Likewise.
36305 * kern/term.c: Likewise.
36306 * kern/i386/dl.c: Likewise.
36307 * kern/i386/pc/init.c: Likewise.
36308 * kern/i386/pc/lzo1x.S: Likewise.
36309 * kern/i386/pc/startup.S: Likewise.
36310 * loader/i386/pc/chainloader.c: Likewise.
36311 * loader/i386/pc/linux.c: Likewise.
36312 * loader/i386/pc/multiboot.c: Likewise.
36313 * normal/cmdline.c: Likewise.
36314 * normal/command.c: Likewise.
36315 * normal/main.c: Likewise.
36316 * normal/menu.c: Likewise.
36317 * normal/i386/setjmp.S: Likewise.
36318 * term/i386/pc/console.c: Likewise.
36319 * term/i386/pc/vga.c: Likewise.
36320 * util/console.c: Likewise.
36321 * util/genmoddep.c: Likewise.
36322 * util/misc.c: Likewise.
36323 * util/pupa-emu.c: Likewise.
36324 * util/resolve.c: Likewise.
36325 * util/unifont2pff.rb: Likewise.
36326 * util/i386/pc/biosdisk.c: Likewise.
36327 * util/i386/pc/getroot.c: Likewise.
36328 * util/i386/pc/pupa-mkimage.c: Likewise.
36329 * util/i386/pc/pupa-setup.c: Likewise.
36330
e6eced71 363312004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
36332
36333 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
36334 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
36335 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
36336 reading and reset it after reading.
36337 (pupa_ext2_close): Return PUPA_ERR_NONE.
36338
36339 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
36340 Correct value.
36341 (struct linux_kernel_header): Add kernel_version and
36342 initrd_addr_max.
36343 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
36344 pupa_file_read succeeds.
36345 (pupa_rescue_cmd_initrd): Implement.
36346
5aded270 363472003-12-03 Marco Gerards <metgerards@student.han.nl>
36348
36349 * fs/ext2.c (pupa_ext2_label): New function.
36350 (pupa_ext2_fs): Added label.
36351 * fs/fat.c (pupa_fat_label): New function.
36352 (pupa_fat_fs): Added label.
36353 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
36354
36355 * kern/misc.c (pupa_strndup): New function.
36356 * include/pupa/misc.h (pupa_strndup): New prototype.
36357
36358 * include/pupa/normal.h: Include <pupa/err.h>.
36359 (pupa_set_history): New prototype.
36360 (pupa_iterate_commands): New prototype.
36361 * normal/cmdline.c: Include <pupa/machine/partition.h>,
36362 <pupa/disk.h>, <pupa/file.h>.
36363 (hist_size): New variable.
36364 (hist_lines): Likewise.
36365 (hist_end): Likewise.
36366 (hist_used): Likewise.
36367 (pupa_set_history): New function.
36368 (pupa_history_get): Likewise.
36369 (pupa_history_add): Likewise.
36370 (pupa_history_replace): Likewise.
36371 (pupa_tab_complete): Likewise.
36372 (pupa_cmdline_run): Added tab completion and history buffer. Tab
36373 completion shows partitionnames while completing partitions, this
36374 feature was suggested by Jeff Bailey.
36375 * normal/command.c (pupa_iterate_commands): New function.
36376 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
36377 (pupa_normal_init): Initialize history buffer.
36378 (PUPA_MOD_INIT): Likewise.
36379 (pupa_normal_fini): Free the history buffer.
36380 (PUPA_MOD_FINI): Likewise.
36381
36382 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
36383 key.
36384
36385 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
36386 * configure.ac [i386]: Check for regparam bug.
36387 (NESTED_FUNC_ATTR) [! i386]: Defined.
36388
1f7315a3 363892003-11-17 Marco Gerards <metgerards@student.han.nl>
36390
36391 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
36392 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
36393 (pupa_emu_SOURCES): New variable.
36394 (pupa_emu_LDFLAGS): Likewise.
36395 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
36396 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
36397 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
36398 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
36399 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
36400 (pupa_jmp_buf): New typedef.
36401 (pupa_setjmp) [PUPA_UTIL]: New macro.
36402 (pupa_longjmp) [PUPA_UTIL]: Likewise.
36403 * include/pupa/term.h (struct pupa_term): New member `refresh'.
36404 (pupa_refresh): New prototype.
36405 * include/pupa/util/getroot.h: New file.
36406 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
36407 it.
36408 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
36409 (pupa_rescue_cmd_cat): Likewise.
36410 (pupa_rescue_cmd_ls): Likewise.
36411 (pupa_rescue_cmd_testload): Likewise.
36412 (pupa_rescue_cmd_lsmod): Likewise.
36413 * normal/cmdline.c (pupa_cmdline_get): Likewise.
36414 * normal/menu.c (run_menu): Likewise.
36415 * kern/term.c (pupa_cls): Likewise.
36416 (pupa_refresh): New function.
36417 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
36418 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
36419 * util/console.c: New file.
f19dbdb7 36420
1f7315a3 36421 * util/i386/pc/getroot.c: New file.
36422 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
36423 (pupa_putchar): New function.
36424 (pupa_refresh): Likewise.
36425 (xgetcwd): Function moved to ...
36426 (strip_extra_slashes): Likewise.
36427 (get_prefix): Likewise.
f19dbdb7 36428 * util/i386/pc/getroot.c: ... here.
1f7315a3 36429 (find_root_device): Function moved and renamed to...
36430 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
36431 Changed all callers.
36432 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
36433 and renamed to...
36434 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
36435 Changed all callers.
36436 * util/misc.c (pupa_memalign): New function.
36437 (pupa_mm_init_region): Likewise.
36438 (pupa_register_exported_symbols): Likewise.
36439 (pupa_putchar): Function removed.
36440 * util/pupa-emu.c: New file.
36441
9a5c1ade 364422003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
36443
36444 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
36445 (_multiboot_mod_SOURCES): New variable.
36446 (_multiboot_mod_CFLAGS): Likewise.
36447 * loader/i386/pc/multiboot.c: New file.
36448 * include/pupa/i386/pc/multiboot.h: Likewise.
36449 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
36450 (pupa_multiboot_real_boot): New function.
36451 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
36452 (pupa_multiboot_real_boot): New prototype.
36453 (pupa_rescue_cmd_multiboot): Likewise
36454 (pupa_rescue_cmd_module): Likewise.
36455
36456 * kern/loader.c (pupa_loader_set): Continue when
36457 pupa_loader_unload_func() fails.
36458 (pupa_loader_unset): New function.
36459 * include/pupa/loader.h (pupa_loader_unset): New prototype.
36460
36461 * kern/misc.c (pupa_stpcpy): New function.
36462 * include/pupa/misc.h (pupa_stpcpy): New prototype.
36463
8e72a9c0 364642003-11-12 Marco Gerards <metgerards@student.han.nl>
36465
36466 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
36467 for available extensions.
36468
36469 * include/pupa/i386/pc/time.h: New file.
36470 * kern/disk.c: Include <pupa/machine/time.h>.
36471 (PUPA_CACHE_TIMEOUT): New macro.
36472 (pupa_last_time): New variable.
36473 (pupa_disk_open): Flush the cache when there was a timeout.
36474 (pupa_disk_close): Reset the timer.
36475 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
36476 pupa_currticks.
36477 * util/misc.c: Include <sys/times.h>
36478 (pupa_get_rtc): New function.
36479
c4adbd32 364802003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
36481
36482 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
36483 as blocks.
36484 (pupa_ext2_get_file_block): Use blocks member.
36485
36486 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
36487 first block. Return -1 instead of pupa_errno on error.
36488
bfd30f06 364892003-10-27 Marco Gerards <metgerards@student.han.nl>
36490
36491 * README: In the pupa-mkimage example use _chain instead of chain
36492 and ext2 instead of fat.
36493 * TODO: Replace ext2fs with jfs as an example. Add an item for
36494 adding journal playback for ext2fs.
36495 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
36496 (pkgdata_MODULES): Added ext2.mod.
36497 (ext2_mod_SOURCES): New variable.
36498 (ext2_mod_CFLAGS): Likewise.
36499 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
36500 * include/pupa/misc.h (pupa_strncpy): New prototype.
36501 (pupa_strcat): Likewise.
36502 (pupa_strncmp): Likewise.
36503 * kern/misc.c (pupa_strcat): Enable function.
36504 (pupa_strncpy): New function.
36505 (pupa_strncmp): Likewise.
36506 * fs/ext2.c: New file.
f19dbdb7 36507
bfd30f06 36508 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
36509 when the read failed before retrying.
36510 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
36511 (_FILE_OFFSET_BITS): Likewise.
36512 * configure.ac: Added AC_SYS_LARGEFILE.
36513
98d15063 365142003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
36515
36516 * genmk.rb (PModule#rule): Make sure to get only symbol names
36517 from the output of nm.
59cad637 36518 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 36519
18d9c7cd 365202003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
36521
36522 I forgot to check in these changes for a long time. This adds
36523 incomplete support for VGA console, and this is still very
36524 buggy. Also, a lot of consideration is required for I18N,
36525 UNICODE, and VGA font issues. Therefore, assume that this is
36526 such that "better than nothing".
f19dbdb7 36527
18d9c7cd 36528 * font/manager.c: New file.
36529 * include/pupa/font.h: Likewise.
36530 * include/pupa/i386/pc/vga.h: Likewise.
36531 * term/i386/pc/vga.c: Likewise.
36532 * util/unifont2pff.rb: Likewise.
36533
36534 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
36535 (pkgdata_MODULES): Added vga.mod and font.mod.
36536 (vga_mod_SOURCES): New variables.
36537 (vga_mod_CFLAGS): Likewise.
36538 (font_mod_SOURCES): Likewise.
36539 (font_mod_CFLAGS): Likewise.
36540
36541 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
36542
36543 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 36544 (struct pupa_term): Added init and fini.
18d9c7cd 36545 Changed the argument of putchar to pupa_uint32_t.
36546
36547 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
36548 (pupa_console_real_putchar): New prototype.
36549 (pupa_console_putchar): Removed.
36550 (pupa_console_checkkey): Exported.
36551 (pupa_console_getkey): Likewise.
36552
36553 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
36554 characters.
36555
36556 * kern/term.c (pupa_term_set_current): Rewritten.
36557 (pupa_putchar): Likewise.
36558 (pupa_putcode): New function.
36559
36560 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
36561 (pupa_console_real_putchar): ... this.
36562 (pupa_vga_set_mode): New function.
36563 (pupa_vga_get_font): Likewise.
36564
36565 * normal/command.c: Include pupa/term.h.
36566 (terminal_command): New function.
36567 (pupa_command_init): Register the command "terminal".
36568
36569 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
36570 (DISP_UP): Likewise.
36571 (DISP_RIGHT): Likewise.
36572 (DISP_DOWN): Likewise.
36573 (DISP_HLINE): Likewise.
36574 (DISP_VLINE): Likewise.
36575 (DISP_UL): Likewise.
36576 (DISP_UR): Likewise.
36577 (DISP_LL): Likewise.
36578 (DISP_LR): Likewise.
36579
36580 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 36581
977329f5 365822003-02-08 NIIBE Yutaka <gniibe@m17n.org>
36583
36584 * util/resolve.c (pupa_util_resolve_dependencies): BUG
36585 FIX. Reverse the path_list.
36586
36587 * include/pupa/normal.h: Export pupa_register_command and
36588 pupa_unregister_command.
36589
36590 * hello/hello.c (pupa_cmd_hello): New module.
36591 * conf/i386-pc.rmk: Added hello.mod.
36592
1f5ab428 365932003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
36594
36595 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 36596
1f5ab428 36597 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
36598 (compress_kernel): New variable.
36599 (generate_image): Heavily modified to support compressing a
36600 large part of the core image.
36601
36602 * util/misc.c (pupa_util_read_image): Fix a file descriptor
36603 leak.
36604 (pupa_util_load_image): New function.
36605
36606 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
36607 (pupa_compressed_size): New variable.
36608 (codestart): Enable Gate A20 here.
36609 Decompress the compressed part of the core image.
36610 Rearrange the code to put functions and variables which are
36611 required for initialization in the non-compressed part.
36612 Include lzo1x.S.
36613
36614 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
36615 here.
36616
36617 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
36618
f19dbdb7 36619 * include/pupa/i386/pc/kernel.h
1f5ab428 36620 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
36621 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
36622 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
36623 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
36624 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
36625
36626 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
36627
36628 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
36629 (Utility#rule): Likewise.
36630
36631 * configure.ac: Check if LZO is available.
36632
ce5bf700 366332003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
36634
36635 * include/pupa/normal.h: New file.
36636 * include/pupa/setjmp.h: Likewise.
36637 * include/pupa/i386/setjmp.h: Likewise.
36638 * normal/cmdline.c: Likewise.
36639 * normal/command.c: Likewise.
36640 * normal/main.c: Likewise.
36641 * normal/menu.c: Likewise.
36642 * normal/i386/setjmp.S: Likewise.
f19dbdb7 36643
ce5bf700 36644 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
36645 (pupa_rescue_cmd_initrd): Likewise.
36646
36647 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
36648 Likewise.
36649
36650 * kern/i386/pc/startup.S (translation_table): New variable.
36651 (translate_keycode): New function.
36652 (pupa_console_getkey): Call translate_keycode.
36653
36654 * kern/rescue.c (attempt_normal_mode): New function.
36655 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
36656 it failed, print a message.
36657
36658 * kern/mm.c (pupa_real_malloc): Print more information when a
36659 free magic is broken.
36660 (pupa_free): If the first free header is not free actually, set
36661 it to P.
36662
36663 * kern/main.c (pupa_load_normal_mode): Just load the module
36664 "normal".
36665 (pupa_main): Don't print the message
36666 "Entering into rescue mode..." here.
36667
36668 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
36669 Declared.
36670 (pupa_rescue_cmd_initrd): Likewise.
36671 (pupa_rescue_cmd_initrd): Likewise.
36672
36673 * include/pupa/symbol.h (FUNCTION): Specify the type.
36674 (VARIABLE): Likewise.
36675
36676 * include/pupa/err.h (pupa_err_t): Added
36677 PUPA_ERR_UNKNOWN_COMMAND.
36678
36679 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
36680 (pupa_dl_get_prefix): Likewise.
36681
36682 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
36683 Added _chain.mod and _linux.mod instead of chain.mod and
36684 linux.mod.
36685 (chain_mod_SOURCES): Renamed to ...
36686 (_chain_mod_SOURCES): ... this.
36687 (chain_mod_CFLAGS): Renamed to ...
36688 (_chain_mod_CFLAGS): ... this.
36689 (linux_mod_SOURCES): Renamed to ...
36690 (_linux_mod_SOURCES): ... this.
36691 (linux_mod_CFLAGS): Renamed to ...
36692 (_linux_mod_CFLAGS): ... this.
36693 (normal_mod_SOURCES): New variable.
36694 (normal_mod_CFLAGS): Likewise.
36695 (normal_mod_ASFLAGS): Likewise.
36696
366972003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
36698
36699 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
36700 possible.
36701
fe6b695a 36702 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 36703 recursively.
36704 (pupa_dl_unref): Unrefer depending modules recursively.
36705 Don't call pupa_dl_unload implicitly, because PUPA can crash if
36706 a module is unloaded before one depending on that module is
36707 unloaded.
36708 (pupa_dl_unload): Unload depending modules explicitly,
36709 if possible.
36710
c04da074 367112003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
36712
36713 * include/pupa/i386/pc/linux.h: New file.
36714 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 36715
c04da074 36716 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
36717 Removed.
36718 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
36719 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
36720 of PUPA_CHAINLOADER_BOOT_SECTOR.
36721
36722 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
36723 (pupa_linux_prot_size): New variable.
36724 (pupa_linux_tmp_addr): Likewise.
36725 (pupa_linux_real_addr): Likewise.
36726 (pupa_linux_boot_zimage): New function.
36727 (pupa_linux_boot_bzimage): Likewise.
36728
36729 * kern/i386/pc/init.c (struct mem_region): New structure.
36730 (MAX_REGIONS): New macro.
36731 (mem_regions): New variable.
36732 (num_regions): Likewise.
36733 (pupa_os_area_addr): Likewise.
36734 (pupa_os_area_size): Likewise.
36735 (pupa_lower_mem): Likewise.
36736 (pupa_upper_mem): Likewise.
36737 (add_mem_region): New function.
36738 (compact_mem_regions): Likewise.
36739 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
36740 the size of the conventional memory and that of so-called upper
36741 memory (before the first memory hole).
36742 Instead of adding each found region to free memory, use
36743 add_mem_region and add them after removing overlaps.
36744 Also, add only 1/4 of the upper memory to free memory. The rest
36745 is used for loading OS images. Maybe this is ad hoc, but this
36746 makes it much easier to relocate OS images when booting.
36747
36748 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
36749 (pupa_enter_rescue_mode): Don't register initrd and module.
36750
36751 * kern/mm.c: Include pupa/dl.h.
36752
36753 * kern/main.c: Include pupa/file.h and pupa/device.h.
36754
36755 * kern/loader.c (pupa_loader_load_module_func): Removed.
36756 (pupa_loader_load_module): Likewise.
36757
36758 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
36759 ``.o''.
36760
36761 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
36762 (pupa_linux_tmp_addr): Likewise.
36763 (pupa_linux_real_addr): Likewise.
36764 (pupa_linux_boot_zimage): Likewise.
36765 (pupa_linux_boot_bzimage): Likewise.
36766
36767 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
36768 (pupa_upper_mem): Likewise.
36769 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
36770 module is too dangerous.
36771
36772 * include/pupa/loader.h (pupa_os_area_addr): Declared.
36773 (pupa_os_area_size): Likewise.
36774 (pupa_loader_set): Remove the first argument. Loader doesn't
36775 manage modules or initrd any longer.
36776 (pupa_loader_load_module): Removed.
36777
36778 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
36779 (linux_mod_SOURCES): New variable.
36780 (linux_mod_CFLAGS): Likewise.
36781
a13f9237 367822003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
36783
36784 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
36785 the length of a blocklist correctly.
36786
36787 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
36788 Use ioctl only if the OS file is a block device.
36789 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
36790 not very useful for normal files.
36791
36792 * kern/main.c (pupa_set_root_dev): New function.
36793 (pupa_load_normal_mode): Likewise.
36794 (pupa_main): Call those above.
36795
36796 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
36797 pupa_uint16_t.
36798
36799 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
36800
a5ffe966 368012003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36802
36803 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
36804 (setup): Configure the installed partition information and the
36805 dl prefix.
36806
36807 * loader/i386/pc/chainloader.c (my_mod): New variable.
36808 (pupa_chainloader_unload): New function.
36809 (pupa_rescue_cmd_chainloader): Refer itself.
36810 (PUPA_MOD_INIT): Save its own module in MY_MOD.
36811
36812 * kern/i386/pc/startup.S (install_partition): Removed.
36813 (version_string): Likewise.
36814 (config_file): Likewise.
36815 (pupa_install_dos_part): New variable.
36816 (pupa_install_bsd_part): Likewise.
36817 (pupa_prefix): Likewise.
36818 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
36819
36820 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
36821 and pupa/misc.h.
36822 (make_install_device): New function.
36823 (pupa_machine_init): Set the dl prefix.
36824
36825 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
36826 (buf): Renamed to ...
36827 (linebuf): ... this.
36828 (pupa_rescue_cmd_prefix): New function.
36829 (pupa_rescue_cmd_insmod): Likewise.
36830 (pupa_rescue_cmd_rmmod): Likewise.
36831 (pupa_rescue_cmd_lsmod): Likewise.
36832 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
36833 rmmod and lsmod.
36834
36835 * kern/mm.c (pupa_memalign): If failed even after invalidating
36836 disk caches, unload unneeded modules and retry.
36837
36838 * kern/misc.c (pupa_memmove): New function.
36839 (pupa_memcpy): Removed.
36840 (pupa_strcpy): New function.
36841 (pupa_itoa): Made static.
36842
36843 * kern/dl.c (pupa_dl_iterate): New function.
36844 (pupa_dl_ref): Likewise.
36845 (pupa_dl_unref): Likewise.
36846 (pupa_dl_unload): Return if succeeded or not.
36847 (pupa_dl_unload_unneeded): New function.
36848 (pupa_dl_unload_all): Likewise.
36849 (pupa_dl_init): Renamed to ...
36850 (pupa_dl_set_prefix): ... this.
36851 (pupa_dl_get_prefix): New function.
36852
36853 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
36854 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
36855 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
36856 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
36857 (pupa_install_dos_part): Declared.
36858 (pupa_install_bsd_part): Likewise.
36859 (pupa_prefix): Likewise.
36860 (pupa_boot_drive): Likewise.
36861
36862 * include/pupa/types.h: Fix a typo.
36863
36864 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
36865 pupa_memmove.
36866 (pupa_memmove): Declared.
36867 (pupa_strcpy): Likewise.
36868
36869 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
36870 pupa_mod_init takes one argument, its own module.
36871 (pupa_dl_unload_unneeded): Declared.
36872 (pupa_dl_unload_all): Likewise.
36873 (pupa_dl_ref): Likewise.
36874 (pupa_dl_unref): Likewise.
36875 (pupa_dl_iterate): Likewise.
36876 (pupa_dl_init): Renamed to ...
36877 (pupa_dl_set_prefix): ... this.
36878 (pupa_dl_get_prefix): Declared.
36879
36880 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 36881 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 36882 unloaded.
36883 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
36884 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
36885
36886 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
36887 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
36888
012d7999 368892003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
36890
36891 * util/i386/pc/pupa-setup.c (setup): Define the internal
36892 function find_first_partition_start at the top level, because GCC
36893 3.0.x cannot compile internal functions in deeper scopes
36894 correctly.
36895 (find_root_device): Use lstat instead of stat.
36896 Don't follow symbolic links.
36897 Fix the path-constructing code.
36898
36899 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
36900 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
36901 by a BLKGETSIZE ioctl first, because block devices don't fill
36902 the member st_mode of the structure stat on Linux.
36903 [__linux__] (linux_find_partition): Use a temporary buffer
36904 REAL_DEV for the working space. Copy it to DEV before returning.
36905 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
36906 buffer cache consistent.
36907 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
36908 strncmp. The previous value was merely wrong.
36909 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
36910
36911 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
36912 FAT size is 12. The previous value was merely wrong.
36913
36914 * kern/main.c (pupa_main): Don't split the starting message from
36915 newlines.
36916
36917 * kern/term.c (pupa_putchar): Put CR after LF instead of before
36918 LF, because BIOS goes crazy about character attributes in this
36919 case.
36920
1cc73a62 369212003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
36922
36923 * include/i386/pc/util/biosdisk.h: New file.
36924 * util/i386/pc/biosdisk.c: Likewise.
36925 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 36926
1cc73a62 36927 * Makefile.in (INCLUDE_DISTFILES): Added
36928 include/pupa/i386/pc/util/biosdisk.h.
36929 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
36930 directory util/i386/pc.
36931 (install-local): Added a rule for sbin_UTILITIES.
36932 (uninstall): Likewise.
36933
36934 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
36935
36936 * util/misc.c (xrealloc): New function.
36937 (pupa_malloc): Likewise.
36938 (pupa_free): Likewise.
36939 (pupa_realloc): Likewise.
36940 (pupa_stop): Likewise.
36941 (pupa_putchar): Likewise.
36942
36943 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
36944
36945 * include/pupa/util/misc.h (xrealloc): Declared.
36946
36947 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
36948 macro.
36949 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
36950 (PUPA_BOOT_MACHINE_BPB_END): ... this.
36951
36952 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
36953 [PUPA_UTIL] (pupa_fat_fini): Likewise.
36954
36955 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
36956 way should be implemented.
36957 [PUPA_UTIL] (pupa_fat_fini): Likewise.
36958
36959 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
36960 the size of NAME for safety.
36961 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
36962 0x88.
36963
36964 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
36965 (pupa_setup_SOURCES): Likewise.
36966
36967 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
36968
08b70fe8 369692002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
36970
36971 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
36972 bunch of pushl's from pusha, because this destroys the return
36973 value.
36974
62ddcc8f 369752002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
36976
36977 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
36978 This means that any missing prototypes could be fatal. Also, you
36979 must take care when writing assembly code. See the comments at
36980 the beginning of startup.S, for more details.
f19dbdb7 36981
62ddcc8f 36982 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
36983 compilation mechanism.
36984 (pupa_chainloader_real_boot): Likewise.
36985 (pupa_biosdisk_rw_int13_extensions): Likewise.
36986 (pupa_biosdisk_rw_standard): Likewise.
36987 (pupa_biosdisk_check_int13_extensions): Likewise.
36988 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
36989 (pupa_biosdisk_get_diskinfo_standard): Likewise.
36990 (pupa_get_memsize): Likewise.
36991 (pupa_get_mmap_entry): Likewise.
36992 (pupa_console_putchar): Likewise.
36993 (pupa_console_setcursor): Likewise.
36994 (pupa_getrtsecs): Use pushl instead of push.
36995
36996 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
36997 memory instead of the stack for a mmap entry, because some
36998 BIOSes may ignore the maximum size and overflow.
36999
37000 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
37001
37002 * genmk.rb (PModule#rule): Compile automatically generated
37003 sources with module-specific CFLAGS as well as other sources.
37004
9962ed99 370052002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37006
37007 * configure.ac: Check ld.
37008 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
37009 respectively, before checking endianness and sizes.
37010
37011 * Makefile.in (LD): New variable.
f19dbdb7 37012
abdfc3c5 370132002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37014
37015 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
37016
6a161fa9 370172002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37018
37019 * Changelog: New file.
37020